From 4d18835d7f714e33959683b26b9c4c4e2c61be49 Mon Sep 17 00:00:00 2001 From: Igor Grubic Date: Thu, 20 Jun 2024 16:13:37 +0200 Subject: [PATCH 01/62] lint-on-commit: adds lint hook to commits --- .husky/pre-commit | 1 + 1 file changed, 1 insertion(+) diff --git a/.husky/pre-commit b/.husky/pre-commit index 72c4429..1c0ebca 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1,2 @@ +npx lint-staged npm test From 99183fa06f70f56724c189e7660bfad747e2bf1f Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 17:37:06 +0200 Subject: [PATCH 02/62] test(index): click somewhere --- test/it/index.test.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/it/index.test.html b/test/it/index.test.html index 05caf30..3a6accb 100644 --- a/test/it/index.test.html +++ b/test/it/index.test.html @@ -7,18 +7,18 @@ + + + + + + \ No newline at end of file diff --git a/web-test-runner.config.js b/web-test-runner.config.js index 2ce4998..fd5415f 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -9,6 +9,8 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ +import { fromRollup, rollupAdapter, rollupBundlePlugin } from '@web/dev-server-rollup'; + export default { coverageConfig: { report: true, @@ -22,4 +24,39 @@ export default { 'test/**/*.test.{html,js}', 'test/*.test.{html,js}', ], + plugins: [ + rollupBundlePlugin( + { + rollupConfig: { + input: ['modules/index.js'], + output: { + sourcemap: 'inline', + }, + }, + }, + ), + ], + middleware: [ + async function emulateRUM(context, next) { + if (context.url.startsWith('/.rum')) { + if (context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@%5E2/src/')) { + console.log('rum enhancer has been replaced'); + context.url = context.url.replace('/.rum/@adobe/helix-rum-enhancer@%5E2/src/', '/modules/'); + return next(); + } else if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/')) { + context.url = '/node_modules/@adobe/helix-rum-js/dist/rum-standalone.js'; + await next(); + context.body = context.body + .replace(/const weight.*/, 'const weight = 1;') + .replace(/navigator\.sendBeacon/g, 'fakeSendBeacon'); + return true; + } else if (context.url === '/.rum/1') { + // return a 201 response and do nothing + context.status = 201; + return true; + } + } + return next(); + }, + ], }; From 2f1490e860f83b583cf94c37105c02e6e887ee9d Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 21:18:54 +0200 Subject: [PATCH 04/62] test(webkit): make integration test pass in webkit --- package-lock.json | 654 ++++++++++++++++++++++++++++++++++++++ package.json | 2 + web-test-runner.config.js | 21 +- 3 files changed, 671 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 698b45f..baece31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@adobe/eslint-config-helix": "2.0.6", "@adobe/helix-rum-js": "2.1.4", "@esm-bundle/chai": "4.3.4-fix.0", + "@rollup/plugin-babel": "6.0.4", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", @@ -20,6 +21,7 @@ "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", + "babel-plugin-istanbul": "6.1.1", "c8": "10.1.2", "codecov": "3.8.3", "eslint": "8.57.0", @@ -83,6 +85,19 @@ "integrity": "sha512-arBoQFsHa5O4DTpNxkYCxLQSkN/SGf/o4G+BA6AXFeD5SMS7SeNeNq5ZKgtTSsuxsgVPGwFai624xFBXE/tK8g==", "dev": true }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", @@ -96,6 +111,233 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", @@ -105,6 +347,28 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/highlight": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", @@ -132,6 +396,64 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -368,6 +690,101 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -377,6 +794,20 @@ "node": ">=8" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -386,6 +817,15 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -710,6 +1150,32 @@ "node": ">=10" } }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -2426,6 +2892,36 @@ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", "dev": true }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2565,6 +3061,38 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -2729,6 +3257,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, "node_modules/catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", @@ -4109,6 +4657,12 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, + "node_modules/electron-to-chromium": { + "version": "1.4.816", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", + "dev": true + }, "node_modules/emoji-regex": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", @@ -5397,6 +5951,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5437,6 +6000,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -6501,6 +7073,31 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -6746,6 +7343,18 @@ "node": ">=8" } }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -8418,6 +9027,12 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, "node_modules/normalize-package-data": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", @@ -13955,6 +14570,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -14287,6 +14911,36 @@ "node": ">= 0.8" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 66db33f..f7aa859 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "@adobe/eslint-config-helix": "2.0.6", "@adobe/helix-rum-js": "2.1.4", "@esm-bundle/chai": "4.3.4-fix.0", + "@rollup/plugin-babel": "6.0.4", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", @@ -44,6 +45,7 @@ "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", + "babel-plugin-istanbul": "6.1.1", "c8": "10.1.2", "codecov": "3.8.3", "eslint": "8.57.0", diff --git a/web-test-runner.config.js b/web-test-runner.config.js index fd5415f..6d09f4e 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -10,10 +10,13 @@ * governing permissions and limitations under the License. */ import { fromRollup, rollupAdapter, rollupBundlePlugin } from '@web/dev-server-rollup'; +import rollupBabel from '@rollup/plugin-babel'; +const babel = fromRollup(rollupBabel); export default { coverageConfig: { report: true, + reporters: ['lcov', 'text-summary', 'cobertura'], reportDir: 'coverage', exclude: [ 'test/fixtures/**', @@ -29,21 +32,27 @@ export default { { rollupConfig: { input: ['modules/index.js'], - output: { - sourcemap: 'inline', - }, }, }, ), + babel({ + plugins: ['babel-plugin-istanbul'], + }), ], middleware: [ async function emulateRUM(context, next) { if (context.url.startsWith('/.rum')) { - if (context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@%5E2/src/')) { + if (context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@%5E2/src/') + || context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@^2/src/')) { console.log('rum enhancer has been replaced'); - context.url = context.url.replace('/.rum/@adobe/helix-rum-enhancer@%5E2/src/', '/modules/'); + context.url = context.url + .replace('/.rum/@adobe/helix-rum-enhancer@%5E2/src/', '/modules/') + .replace('/.rum/@adobe/helix-rum-enhancer@^2/src/', '/modules/'); + return next(); - } else if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/')) { + } else if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/') + || context.url.startsWith('/.rum/@adobe/helix-rum-js@^2/dist/') + ) { context.url = '/node_modules/@adobe/helix-rum-js/dist/rum-standalone.js'; await next(); context.body = context.body From 7fc32e5322614f027102fdd9158477799110f0ad Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 22:10:27 +0200 Subject: [PATCH 05/62] test(integration): make sure correct code coverage for integration test gets generated --- .gitignore | 1 + .npmignore | 1 + package-lock.json | 222 +++++--------------------------------- package.json | 9 +- rollup.config.js | 7 ++ web-test-runner.config.js | 30 +++--- 6 files changed, 51 insertions(+), 219 deletions(-) diff --git a/.gitignore b/.gitignore index 9aeb184..582005b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ logs test-results.xml .env .idea +src \ No newline at end of file diff --git a/.npmignore b/.npmignore index 01d3885..3fb8396 100644 --- a/.npmignore +++ b/.npmignore @@ -18,3 +18,4 @@ node_modules/ snykmocha.js test test-results.xml +src/index.map.js \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index baece31..abdce99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "@adobe/eslint-config-helix": "2.0.6", "@adobe/helix-rum-js": "2.1.4", "@esm-bundle/chai": "4.3.4-fix.0", - "@rollup/plugin-babel": "6.0.4", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", @@ -21,7 +20,6 @@ "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", - "babel-plugin-istanbul": "6.1.1", "c8": "10.1.2", "codecov": "3.8.3", "eslint": "8.57.0", @@ -36,7 +34,8 @@ "rollup": "4.18.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", - "semantic-release": "24.0.0" + "semantic-release": "24.0.0", + "web-vitals": "4.2.1" } }, "node_modules/@75lb/deep-merge": { @@ -396,6 +395,22 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/template": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", @@ -1223,32 +1238,6 @@ } } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.18.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", @@ -1262,175 +1251,6 @@ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", @@ -15031,6 +14851,12 @@ "node": ">=12.17" } }, + "node_modules/web-vitals": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.1.tgz", + "integrity": "sha512-U6bAxeudnhDqcXNl50JC4hLlqox9DZnngxfISZm3DMZnonW35xtJOVUc091L+DOY+6hVZVpKXoiCP0RiT6339Q==", + "dev": true + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", diff --git a/package.json b/package.json index f7aa859..fd0b774 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "type": "module", "scripts": { "setup-playwright": "npx playwright install --with-deps chromium firefox webkit", - "test": "npm run setup-playwright && web-test-runner --node-resolve --coverage --playwright --browsers chromium firefox webkit", - "test:ci": "npm run setup-playwright && web-test-runner --node-resolve --coverage --playwright --browsers chromium firefox webkit", + "test": "npm run build-bundle && npm run setup-playwright && web-test-runner --node-resolve --coverage --playwright --browsers chromium firefox webkit", + "test:ci": "npm run build-bundle && npm run setup-playwright && web-test-runner --node-resolve --coverage --playwright --browsers chromium firefox webkit", "test:watch": "web-test-runner --node-resolve --playwright --coverage --watch", "lint": "eslint .", "docs": "npx jsdoc2md -c .jsdoc.json --files 'src/*.js' > docs/API.md", @@ -36,7 +36,6 @@ "@adobe/eslint-config-helix": "2.0.6", "@adobe/helix-rum-js": "2.1.4", "@esm-bundle/chai": "4.3.4-fix.0", - "@rollup/plugin-babel": "6.0.4", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", @@ -45,7 +44,6 @@ "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", - "babel-plugin-istanbul": "6.1.1", "c8": "10.1.2", "codecov": "3.8.3", "eslint": "8.57.0", @@ -60,7 +58,8 @@ "rollup": "4.18.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", - "semantic-release": "24.0.0" + "semantic-release": "24.0.0", + "web-vitals": "4.2.1" }, "lint-staged": { "*.js": "eslint", diff --git a/rollup.config.js b/rollup.config.js index 15b122e..720b2c0 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -45,6 +45,13 @@ export default [...bundles.map(({ outputFile, source }) => ({ exports: 'auto', banner, }, + { + file: `${outputFile}.map.js`, + format: 'iife', + sourcemap: 'inline', + exports: 'auto', + banner, + }, ], plugins: [ cleanup({ diff --git a/web-test-runner.config.js b/web-test-runner.config.js index 6d09f4e..754c8c1 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -9,10 +9,8 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import { fromRollup, rollupAdapter, rollupBundlePlugin } from '@web/dev-server-rollup'; -import rollupBabel from '@rollup/plugin-babel'; +import { rollupBundlePlugin } from '@web/dev-server-rollup'; -const babel = fromRollup(rollupBabel); export default { coverageConfig: { report: true, @@ -21,6 +19,7 @@ export default { exclude: [ 'test/fixtures/**', 'node_modules/**', + '.rum/**', ], }, files: [ @@ -32,32 +31,31 @@ export default { { rollupConfig: { input: ['modules/index.js'], + output: { + file: '.rum/@adobe/helix-rum-enhancer@^2/src/index.js', + format: 'iife', + sourcemap: 'inline', + }, }, }, ), - babel({ - plugins: ['babel-plugin-istanbul'], - }), ], middleware: [ async function emulateRUM(context, next) { if (context.url.startsWith('/.rum')) { - if (context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@%5E2/src/') - || context.url.startsWith('/.rum/@adobe/helix-rum-enhancer@^2/src/')) { - console.log('rum enhancer has been replaced'); - context.url = context.url - .replace('/.rum/@adobe/helix-rum-enhancer@%5E2/src/', '/modules/') - .replace('/.rum/@adobe/helix-rum-enhancer@^2/src/', '/modules/'); - - return next(); - } else if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/') + if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/') || context.url.startsWith('/.rum/@adobe/helix-rum-js@^2/dist/') ) { context.url = '/node_modules/@adobe/helix-rum-js/dist/rum-standalone.js'; await next(); context.body = context.body .replace(/const weight.*/, 'const weight = 1;') - .replace(/navigator\.sendBeacon/g, 'fakeSendBeacon'); + .replace('navigator.sendBeacon', 'fakeSendBeacon') + .replace('.rum/@adobe/helix-rum-enhancer@^2/src/index.js', 'src/index.map.js'); + return true; + } else if (context.url.startsWith('/.rum/web-vitals')) { + context.url = '/node_modules/web-vitals/dist/web-vitals.iife.js'; + await next(); return true; } else if (context.url === '/.rum/1') { // return a 201 response and do nothing From 5847069e8a62c2f5837d14edb703dca7506710e7 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 22:18:05 +0200 Subject: [PATCH 06/62] test(integration): remove unused plugins --- package-lock.json | 669 -------------------------------------- package.json | 1 - web-test-runner.config.js | 16 - 3 files changed, 686 deletions(-) diff --git a/package-lock.json b/package-lock.json index abdce99..afb26ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,6 @@ "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", - "@web/dev-server-rollup": "^0.6.4", "@web/test-runner": "0.18.2", "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", @@ -84,19 +83,6 @@ "integrity": "sha512-arBoQFsHa5O4DTpNxkYCxLQSkN/SGf/o4G+BA6AXFeD5SMS7SeNeNq5ZKgtTSsuxsgVPGwFai624xFBXE/tK8g==", "dev": true }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", @@ -110,233 +96,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-validator-identifier": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", @@ -346,28 +105,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/highlight": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", @@ -395,80 +132,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", - "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -705,101 +368,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -809,20 +377,6 @@ "node": ">=8" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -832,15 +386,6 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -1165,32 +710,6 @@ "node": ">=10" } }, - "node_modules/@rollup/plugin-babel": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", - "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - }, - "rollup": { - "optional": true - } - } - }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -2712,36 +2231,6 @@ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", "dev": true }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2881,38 +2370,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -3077,26 +2534,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001640", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", - "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, "node_modules/catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", @@ -4477,12 +3914,6 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.816", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", - "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", - "dev": true - }, "node_modules/emoji-regex": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", @@ -5771,15 +5202,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5820,15 +5242,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -6893,31 +6306,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", @@ -7163,18 +6551,6 @@ "node": ">=8" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -8847,12 +8223,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, "node_modules/normalize-package-data": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", @@ -14390,15 +13760,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -14731,36 +14092,6 @@ "node": ">= 0.8" } }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index fd0b774..e2515aa 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,6 @@ "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", - "@web/dev-server-rollup": "^0.6.4", "@web/test-runner": "0.18.2", "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", diff --git a/web-test-runner.config.js b/web-test-runner.config.js index 754c8c1..f54f74d 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -9,8 +9,6 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import { rollupBundlePlugin } from '@web/dev-server-rollup'; - export default { coverageConfig: { report: true, @@ -26,20 +24,6 @@ export default { 'test/**/*.test.{html,js}', 'test/*.test.{html,js}', ], - plugins: [ - rollupBundlePlugin( - { - rollupConfig: { - input: ['modules/index.js'], - output: { - file: '.rum/@adobe/helix-rum-enhancer@^2/src/index.js', - format: 'iife', - sourcemap: 'inline', - }, - }, - }, - ), - ], middleware: [ async function emulateRUM(context, next) { if (context.url.startsWith('/.rum')) { From 82d9f2c9d3a76daa5dd0e40c3e4c3cc6fee36b9c Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 22:23:03 +0200 Subject: [PATCH 07/62] test(integration): fake more sendBeacons --- web-test-runner.config.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web-test-runner.config.js b/web-test-runner.config.js index f54f74d..486bc61 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -26,7 +26,12 @@ export default { ], middleware: [ async function emulateRUM(context, next) { - if (context.url.startsWith('/.rum')) { + if (context.url.startsWith('/src/index.map.js')) { + await next(); + context.body = context.body + .replace(/navigator\.sendBeacon/g, 'fakeSendBeacon'); + return true; + } else if (context.url.startsWith('/.rum')) { if (context.url.startsWith('/.rum/@adobe/helix-rum-js@%5E2/dist/') || context.url.startsWith('/.rum/@adobe/helix-rum-js@^2/dist/') ) { @@ -34,7 +39,7 @@ export default { await next(); context.body = context.body .replace(/const weight.*/, 'const weight = 1;') - .replace('navigator.sendBeacon', 'fakeSendBeacon') + .replace(/navigator\.sendBeacon/g, 'fakeSendBeacon') .replace('.rum/@adobe/helix-rum-enhancer@^2/src/index.js', 'src/index.map.js'); return true; } else if (context.url.startsWith('/.rum/web-vitals')) { From d7a1deb7cb014bc86f2a23de10824424f675bf9f Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 3 Jul 2024 22:41:41 +0200 Subject: [PATCH 08/62] test(integration): test more checkpoints --- test/it/fromrum.test.html | 21 ++++++++++++++++----- web-test-runner.config.js | 6 ++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/test/it/fromrum.test.html b/test/it/fromrum.test.html index 37e4428..ef595d1 100644 --- a/test/it/fromrum.test.html +++ b/test/it/fromrum.test.html @@ -12,14 +12,22 @@ // and navigator.sendBeacon has been replaced with // a call to fakeSendBeacon window.fakeSendBeacon = function (url, payload) { - console.log('sendBeacon', url, payload); - window.called.push(JSON.parse(payload)); + // if payload is a string, we assume it's a JSON string + if (typeof payload === 'string') { + window.called.push(JSON.parse(payload)); + } else { + // it's a blob + payload.text().then((text) => { + window.called.push(JSON.parse(text)); + }); + } }; + + + + + + + \ No newline at end of file diff --git a/test/it/onetrust.test.html b/test/it/onetrust.test.html new file mode 100644 index 0000000..8de7f32 --- /dev/null +++ b/test/it/onetrust.test.html @@ -0,0 +1,305 @@ + + + + Test Runner + + + + + + + + + + \ No newline at end of file From 52f553cb51806b399553cab448948f6eccf59ef2 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 15:20:22 +0200 Subject: [PATCH 15/62] test(onetrust): better distinguish the two test files --- test/it/onetrust-accepted.test.html | 2 +- test/it/onetrust.test.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/it/onetrust-accepted.test.html b/test/it/onetrust-accepted.test.html index 4ee5953..ee5d186 100644 --- a/test/it/onetrust-accepted.test.html +++ b/test/it/onetrust-accepted.test.html @@ -42,7 +42,7 @@ window.history.replaceState({}, '', `${window.location.pathname}?${usp.toString()}`); }); - describe('HTML Integration Tests (With OneTrust)', () => { + describe('HTML Integration Tests (With OneTrust hidden)', () => { it('Can load rum enhancer through a (prepared) helix-rum-js', async () => { diff --git a/test/it/onetrust.test.html b/test/it/onetrust.test.html index 8de7f32..9d9b860 100644 --- a/test/it/onetrust.test.html +++ b/test/it/onetrust.test.html @@ -281,7 +281,7 @@

Cookie List

window.history.replaceState({}, '', `${window.location.pathname}?${usp.toString()}`); }); - describe('HTML Integration Tests (With OneTrust)', () => { + describe('HTML Integration Tests (With OneTrust shown)', () => { it('Can load rum enhancer through a (prepared) helix-rum-js', async () => { From 370e0c556adfabb3bb21e9aad70f87b428aa8025 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 15:28:43 +0200 Subject: [PATCH 16/62] test(coverage): ignore error cases in test coverage these are too hard to economically reproduce --- modules/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/index.js b/modules/index.js index 82bdad5..19e061a 100644 --- a/modules/index.js +++ b/modules/index.js @@ -44,6 +44,7 @@ function trackCheckpoint(checkpoint, data, t) { if (window.location.origin === origin) { const headers = { type: 'application/json' }; navigator.sendBeacon(url, new Blob([body], headers)); + /* c8 ignore next 3 */ } else { navigator.sendBeacon(url, body); } @@ -97,6 +98,7 @@ function addCWVTracking() { }); }; document.head.appendChild(script); + /* c8 ignore next 3 */ } catch (error) { // something went wrong } @@ -153,6 +155,7 @@ function addLoadResourceTracking() { .forEach((entry) => { sampleRUM('missingresource', { source: entry.name, target: entry.hostname }); }); + /* c8 ignore next 3 */ } catch (error) { // something went wrong } @@ -187,6 +190,7 @@ function getIntersectionObsever(checkpoint) { const source = sourceSelector(entry.target); sampleRUM(checkpoint, { target, source }); }); + /* c8 ignore next 3 */ } catch (error) { // something went wrong } From c7f0de9c5f3ef6de578a4da0333e45b75aa437ef Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 15:44:31 +0200 Subject: [PATCH 17/62] test(feature-flags): always enable all feature flags on localhost --- modules/fflags.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/fflags.js b/modules/fflags.js index 8d61bc7..101f3b0 100644 --- a/modules/fflags.js +++ b/modules/fflags.js @@ -10,10 +10,11 @@ * governing permissions and limitations under the License. */ export const fflags = { - has: (flag) => fflags[flag].indexOf(Array.from(window.origin) - .map((a) => a.charCodeAt(0)) - .reduce((a, b) => a + b, 1) % 1371) !== -1, + has: (flag) => !!window.origin.match(/localhost/) + || fflags[flag].indexOf(Array.from(window.origin) + .map((a) => a.charCodeAt(0)) + .reduce((a, b) => a + b, 1) % 1371) !== -1, enabled: (flag, callback) => fflags.has(flag) && callback(), disabled: (flag, callback) => !fflags.has(flag) && callback(), - onetrust: [543, 770, 1136, 458, 457], + onetrust: [543, 770, 1136], }; From bb5f8684d5f0d4fafd479b5c086a8a0d32b8926c Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 15:52:46 +0200 Subject: [PATCH 18/62] test(onetrust): skip one test on webkit --- test/it/onetrust-accepted.test.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/it/onetrust-accepted.test.html b/test/it/onetrust-accepted.test.html index ee5d186..1262b9d 100644 --- a/test/it/onetrust-accepted.test.html +++ b/test/it/onetrust-accepted.test.html @@ -44,7 +44,11 @@ describe('HTML Integration Tests (With OneTrust hidden)', () => { - it('Can load rum enhancer through a (prepared) helix-rum-js', async () => { + it('Can load rum enhancer through a (prepared) helix-rum-js', async function test() { + // if user agent is webkit, we skip this test + if (navigator.userAgent.includes('WebKit') && !navigator.userAgent.includes('Chrome')) { + this.skip(); + } await sendMouse({ type: 'click', position: [100, 100] }); From 66aa38fc2ed6826cd4716cddbf39421dfb76abb8 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 18:53:48 +0200 Subject: [PATCH 19/62] test(index): test block visibility, resource loading --- test/it/block.plain.html | 4 ++ test/it/fire.jpg | Bin 0 -> 350467 bytes test/it/loadblock.test.html | 98 ++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 test/it/block.plain.html create mode 100644 test/it/fire.jpg create mode 100644 test/it/loadblock.test.html diff --git a/test/it/block.plain.html b/test/it/block.plain.html new file mode 100644 index 0000000..ef13563 --- /dev/null +++ b/test/it/block.plain.html @@ -0,0 +1,4 @@ +
+ + I'm a fragment +
\ No newline at end of file diff --git a/test/it/fire.jpg b/test/it/fire.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a369e9666a785003c4f390ccf5275961700cb9eb GIT binary patch literal 350467 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⋘oRbjlAD!2QrI2;NG1HOLHO-b zmXJyOykNaT-du@9>H0jESbHv0%$+lz^m(A?`3k|d*o5_afb=K~Q@?e5*!vzt$NIX$ zu);=jOEHGQJ19H}%czYK>8>iDJG5wgPNil@r03D}SB;?LGac$(nIJZ(h-N@H>&c(N zL%O5WOZjVwGPV=;>B^m>%l4N|eQFDvH3Mv3S9%v;f+_W(x&M+GbCS^;ChSqG?*fG% zw?4oCXWTk}GJj#%Xn*-3@{O<%J$KmaidMgpS}v-M;sV&Suv0i6>IpWuZq%39ypZK(0FcWDu?!SUES9IWc6lk*c<rnPTz1mE2jEFMf&>L56AUT`O;oziIv4zq z8at8wtX^;~jwJ)7Og9A7qAQ~ZSZLQ*Z{IIdWY#a5F5m*N9f@m*Kk3U!HZTL>-Q&=s z%&FqMS7@NlI|#KT$3UN7+2I^o;_GyJHGL>)L~il zr0hXIP#+vWMPdS%7Erv@@h}-JgIyK=c=7&o+L$_Qx;+ln5(c8%=As~n{Lnu(Rr63M zQxz4hUMsRM&R18OeApNDWc}DQ<_^(p7ty*!G6RjHaF{-55BdpeZZuyk0!RHi9R1la zv;65>HFZFX-e^sUo>2ZV2txx>atHnLyE@J9pe|xNywdWbr`cf^Bt+wJXQyW;`SUkX z{JWUnFXRLLwJey$avT7nTgrV8m>@yk1*~v&=97-F|07gLE``S(j(_12xPKy2 zO?oiGNeI-O+>zNqQv3n6e8=dQ@8UoJu$ zPu<4lVVA=3vsoI%ChP0KJL)wtZIOo}SAkw4Oc7L}oomq+Cxv@weVihXvmpy_Kv9B! zw0$hF4Y2ns9+#SKRd?!vvV?hsF4V{_EGxCi8*vFv7?5Qm4QO$fM9Okk%1g_#4Ax3a zoQ%f!Utxjc9r(yuMa8)^bD~&vC6Q1};st(@1HnY)9EVt62{I1LMA=@;3s3=&8PXCS zP`o6WL>%Fz$S?kJc^frtR;05f9z<1kshj z?7EUQZrNzwS3~O-<0Y^CMxah0ZeDvfA8(?x-{qwyik104~z+6F-}f z;ccx{6sa4o>PEpQml~hc_L1Vmsw%1E`P3)=;bqpMt^K2PPvlX&=d2)Mce|(fKUz;b zrJKGm5BY}4`Y}T6fNOwK3e*Q7u3k*W+sx@Ms2?-e)mRMJ$8f)U0DPE7^oU_UFc~;m z8(Sx)5uB>Gtvp|$<_4Rw{#4A9oWcg`Tx;Cnukt6+ zkX2)lcGs2OSY$1hy3fWu>A2TpYUI`6XyZ`2$sf#$V*WFJW-+Uun$a#4NXIP^?w7)~ zL6#9jXXV%P9(VpBfE+VpF=9+9GGl*Pm zzS40bfkCz6kB+DFT{iLaG82iw$&9@dLIrU)EUlIl8K;PH@nK+1Yqo=6icBvD6;FQsbWeELd0$C2<0f3U~T` zP!$khN@qW*nCTJgobWufcEFB7L*!kJE)nC&ux(1rS*dbLR=mhJ@Wq<8d83PI%|L~EkKOrG3K?^muibJPP@`HuVTZZwEOn4cjnYbR zs3y^16Q1a+z|`R@I0~~$jBkmy%dIFVANAgge}YaP=p1?TN$!j_I#5R-s6#~iO5@>I zn^T$}0-wex#K~Y7IsWUeF%;~!i(a(y)j@&fjjBt25Rl{J9 zcdwu(b?{Ivvokb)e!6T}!HiF`?s0;j(OwEJHiy0pac;;D%g(BdC$F|HCOG;T#=ewO zN*3MYE_S%DhOvCMM3;WHv0~A^rQ%1sBU_)*!aIExg*9GS&P!*rgFrC{Tm>mJFU}uC zn(U$5Ab@NQh~N=3RC8%TI=%qPCphfgM=BNLIi+yF?T2h%RLvI-{cHV%Y>fr)v*J1s+gG09k-9`l70yxhj*@a! zJxBYKkh!Go@{6~L(bpQe4gj{f1d30iVzo5 zwZeR(Pg=OW^rWgC;jG5*moiu)9>k(F*K#qGYtU1*RWA^iPoT$_`>=t)q{DyZR*`Kq z)!R^PuhE@6fGehMuc*lMHqqq!kQ^QU#xdO_VU8tlCEa0qe&#LYgYC?sh`E&dQB@;|+r^y_sc7#V8_ADxavXclHgg23k}= z8?W_7>rpQs6qr~zTZys2G@QlxC88rMQWOpI<;a$omkK(vb>U1}zik}@Uuj}c7V2dZ zt#{Iz)qYwMT(?wgD|noSZL)ES?o_&ySd5dKL3GvK)=7nh%Gvo-<$L#l zcXxQniC^zc<$U*5?Cf`v$+r}w*Wsug?_W|U8NNsIuOj5A=YA{BX32+v)v2MVcsy&+ zMAMdHkYw!vxjJQ{j- zk%t^a=n3l#~Ib)Js#Jb!d zHLWeyKG$X*!VnSdzK7p)_@XG=sr8l$p3EM=`)9$d(Zo~j6bIXE1SFL5DpR!~ zj2x0fB=4Sgp*>9Q%6tbIMIUByF5Dj$Vd$OsV@$X?=>E_D;WqlK#+8L=a_QbQXx+zcbEsXxr+?$@4l44q!AnWbqZBf`rZi*W z&P8v|wA0qXUtN;J{Hy~k3|&x}#Zm$CELq}FJs+bF@itndl)pr^MhMI1hs?mF^*7yd zzNfjQ(fq)*%u907G3xp)sv4o;c>or&ub{Bx4ufh3$UBop10Oco3m9bcfrJ&9v2uwk$-|V@ht1&+JUuzoCa}`*B`5%B{kh?IZqXsNq z6Z8w51g=@fB5$HLcrgJ)h}Xa6yYnTX05qEt`%I}XSk(&io0^hW`HC^Td{{9a~SWu zI3ORuHIsNzWAaw8FLrXGjj{Kcx!q4Ia&qp@x|aHsBRL+-%o~Wu^v2ecUlj(TZL`FS z^9lxuIWQz{1?Y8NIx#$3pi)DCnJIZF_RuSQ!7!jUA^ouZ|Qcp!$08wmaQ>O?-ToTZU9dBLv-fgwqYrr_z9meG-l`ygYlUj$xw6F)apV z4bQDHgTK&PeRXJ_jHD6C96A?24FRIHVyQxG=^{z>xG**N3Gv;rXK6{0O zq5XJt>5)T!;~d}p@~OD$d)bUU(|P$HhYI!Bj?plh#xazBG;Nt?9vDB3KdLY%miQrY ze_7ZI@X!Deb-%ufZnM^+?l{YuFnFNc#8_YcBZIm&*V=0@I5AOec+2ubUkK87(&dT! zh+(r{oXe^7Jjt_Q)7y>PhHy{oOuu2gHU68dcg#|_!{6UI)5{ysd(uO|l3pL7Yq;t^tp ziZe)ncpYh_`Dn()WCR;t1bPfT$vqITznZ|i&sCr!Z<(4kvrp1awxl1$N<;i79$#yY z!aSrOy5WO&Kevvx0W9yCCIV^1L6b+#|fT5Rk@50fKgFnd6WL71xAc8+wgI}DS6l`1BSk0ccjB`g`k3c1pmIg$)WV4krzAD@ISd;yO$dL{>Pbw@?WeK z`}^;7+B#4GAVp=RgSbbO)I*6DZNSb%BD|IWP0fOQF3`H2VN;VZ7f4i##uy(AEI%wVa!^TH}VR<5;5oXsw^@&nfG(fWh1?=A7^_$%e%uf0tGy0&^ zvhzwSg8r`7gOt-r0XlPt6u{#94}li=0Y-DdOuK{pG*M+{=z6HiWYN6mC7tyG#@;^rZTD9W&cE}A)DM*t$avy7O@QZ)P~TWFz3 z)p>ikqh?$WWSEI(&9nySdG!XXX(O#UyoI&Yp?WsZKMdXkMALqH+Wkf4qisjr;>lJ% z{l$uChd4DW4i?3$0&|d*8E(7GjwoMHS-XZq=*`>U9oV?2dbAtPYPegDr6*O)<4GI&5o4 z^+Bz@sl#``rSWUjpJg75=qN)I#7564QES$e?h}!xM46fukV>5L1uNZ_+7kZ&woOa% z16LE+s{}ksk(bv$mQ>eh{o8xw_1)5`b|3{lpncs#InDdgU)jYLR&r>sTSNVbv-k@l z@~Oprm#NgUtsO7QWD=kkbpa+`*uz$mSMRBTU|P7-fZw)7hx2e!@-tO)rWnhuG) z(wOn{Ige!TfNd954@nGqU|rmN%Ta1_$|I60M?Yh6M(%hO3nW_p_DR2G2z_L~B0*Wg zcp}pn^mm2qAH=jw{2TL$lGz@ux$S}Q#eyUjrT&Ay0zIsHQhfRoX8#%4lC>EF!*C_# zQD~oIM9J?@YU^_J)(bE`rX4B8fODhlJg%4&`yo13aRrpBkx0nytej?~8?@`J)JV1Y z5|*9L-)%zbA~mQB*5fg)ivQ9SW2J^Hw;fY{;{FVNrHI`_e&9|GguH?!SI(bJDSlQBbI1q zJCO#X+O_xYO8tRG6{?<839k+-zgizmb*8Y{g_t43y%E^xEbp%x62#tm*~0O)$|&w0 zmMxn+N)=J5Zxuw1^tjN8l9nGD=Wz*&_?Fs~$6Hatyn&bDtf2!mk3f&*#Lh}M>e=3k z4Q)C>&)GCX3fr{1o5v5$!(2~F=*ZOOBnIyOF#QJ@L-}4M&@pq{bsH7T*?lW7YOree zzi(r%(O0O16`%EVt@AaS!#zxVs@y_>@;FqhPkm(=qzkg}pZVeN+je&Mw^M9saix^; z^Q+7nwZ_PGcQHicwvA({@$y_hf$%n~R)8|02FQYU*b@r3!mh7HVT#hnY;Sch7&-xlQIuo1u}6eU0#C zxlyKNVs1PPvFlXFEg{EumU{mt;FljYCZ3mv7Vu~kA}<6CKIQ@7keV;C)1gZCUAaWP z0I#*IQ0YQK@6A-|JqSe|K!h$YRRX46+@DKA+;vuDl^W&3pZS|G2-z#d%rWNhfhlJ& zL{?-=4su`1V}`oVxqa!R+?)53-dg5H1!}TavUV$|_R89|Rs{rrO*BrtTWsL{;AHmC zF>?y63n{vcH>9XFwJyf7Xq%+etSK)lvHQ=CpxOgJnmr1n`F>WyM_l_#v*SDP*1is1 zonK-;;(O;=UN{*lQ4o_;R;*4t(l@zojYg92U3~Qc4CEZ`>QOwiE2^z&x)QeRpJ*vD4OY{Vv0fImbHq>0{cxzTz=2 zvSh@3X9;n0G~OUSBjHodWz(7`{r4G)eBj=~-=ZY0WceW+0`28E9~PP0xt_RGYV7z; z!2Mypf5n3WOtN`lNqdch^*-L4 zU|#o&IrN*w`+ozr&FG~yQ_vHwE#2+>EeEH#8`e8EJ>MVB)oOu9x9Uik10NsTAt+@@ zP0L1RQMgKtv7v_T~8{`-GMgVT)x^!imf;r6#49QkR zWJS-tdcA#Un**?Gj-M89R}GIZtVZ>3dk5rBwxR&IC~I!CQG+XoMlUQlNZwj+;~={r z>etdH-U*|55@R&FP@Xb;A^Ms>0V3=v+&IKRyjfoC_uyFA57a!Q^vhI*X~0f8%E>8`=La9;N&aJgQTFLHwE)Rv+l~6Z zZ+{+^1V_)93g<z_OGXz(eA2#Z%rRp1gLy>Po6u$}VZ$il;3!o=FU zx?Pq>hBn594{AeWQGO!u-Ra5RGathq_vHW0S_`g9OwYFz)BiNEp+MrZsDw6i5E9Ws z^W6iC*^)V*;-4QbwZ6Q1e=IfK*1h&}x5`@!M6}lW+KHZ`5(%{|@jniK3Kj*KFv5?bV0|RSU#FB}>Z9VVFcjX|pMbxfA1H-G4CZ0!6^Cyr! zQz|t~BfU+G;j2b`4*scR{Sq=2zNV)0pKJOQ&S}6t_4{3yMpemlHNMmKi}wF`Cml;e z9Ad`8v0lqArw@NtF#=ioP_iCx3|{;swi^I_elw*;brBx{%{T4JNpw3ah-loaSYZ!FeeA-jrGV+nt z;AuYHkJ@a>Y|{LbKfw4?-2VKj^p2@;SY#AtQ2q_KluEV0Pk0n}ZgXQpO^~|Vd*j|t zriE+0I>c9}=q*V*_uEjTzushi?(gaaN@0kVQL-0>m{V)7oR(n_Gf*Ylh zu6g~)V}FEb*r3Uh6oWY*9x4AViLjgESF8|u1pctqe)@hdW9Qh*62Dv@E-4hg{xMyi#EVTL@H+Jo_9%04DRm`$G1UmPyO#vIVkoplf1dDLzI6}{>o;BQ zlgeU5<2R2b^bx4HIq0MOw9m*z?EG=Q59q8^@(W3<&@CwpfAMCEUF({SV*G0ws!fG$ z#W7-ZJzo+d~?apUp zjw9a1iEYNDvuQ&A2q=O#gP_4JHM064LWk^@!m4?CTu5zvQ40DpT=t+Ls8@_gO)z^C`N0}#U zi9_H+r4^wB;@8+6^#_xHb+3Y>Bf%@H??HGFI$k!wrIq#ZAebC(CqaQg{0J0CMw^Z#{hYK@Z% z0b2z3x+7X2c@{9=UuW2HGpXl~Zre!;!+4bNH>~Qezc_My(UUTfRZzl$QfIpJ4dl+T z_NVm`$mWvGBnSs$%&d|J5fBZSSE-i0>LW1cb8JcJ)A#tSiQbfa+ZEh#UQ5XDLhXrU zA8tZ8=SWw-(8W6Xu>jczuJypfObFiY0_PL+sI z@}Y@%T!Rm158UJ9Di-%Y)(U?ERlHCne2M(b{~{(!Y;xdzNXd*M}E#GHy^QMY}>NY8!yeZhcLJvGok?FOm;%_1iAyc<=cU~up zzQQyd5MH1DU6`aVLN54K5rcnDO?T~@oTWq87lPzIKuziCSF91^0u0YB8!fEzETcEe zK{ute_%D}(6~3@XD?tdExb*18SX6w9$5t;i@G@vxVbvaqgIs^{pJ;3F1ijJ9p-zTq znYOz^ua0%1*5G>vC5{pfyhkhU|EqcbfA1Os5Y9o-T>IH^p6Jv^*;L>LB+M+sJK-bG zE_~jG-g_$kn380wtcHK z(`@LT#un{$-g2WqD}69g3=K|1bd%g}j%?qsGrD)Q>N9Z;6Ry^1n{XwGlRLB;%ugat z=zG$heBcK@)uS*ec|NZwD}4q0y$sW3MX5iqW}%W#oZ@Bm=MQxLv}C{G+>kzPChoVovF~yz z<3MEzzmrZyz{0Sf7v6*WP`i4IujEtP&jxPGR`-P|Msvj|cg=WK9KZetP@P~AwJ;1Q zo4%n6IQvfT%(iB5x1GJ#Xok}mu=BsA1^tQX_sGW5C}Lmlq4k3s081vhFd#lT9dUlg zHdh-p`()_&CA_bEUdYmr?+524KX$K9lQhvcy!&7KYYfeW;leQ9Y&}FY^U9(|9nHp1_u5_5Rcsu()X*bjzm9gL zf+^>k#EYU{9i;-u8@KJ1%Sg2732oge9KwFinrQ4PGlUhzDC#Bqz-)sUF4eebt>hGX zB^J%|Lw7ZUMwc>A3iwQ{^KSh0WmixyO|5(4lyXsR`43F{v8tuv+1 znVXIYAkEWCQ(D?~=E+3a@s;CEsU1T9mJVlXKq?&z4(Hb)WeM=3ZFx3lun>Xpp13LgzT0#!kv zO#Z$J@Qc`N!y$Ph&-v`0vkF;Ga^zn}XXmxXq34F$*F)-aKF?U?-&&U|I&;8HhVEm% zMQJbw!wH+l5MAtEM4Q#pmRf>TKaFwW++agpW0mF`syLa;eBsh`p4SdLX7ml1tUV{p zya_xCL^MMQP8IXQB^Uo1mkcxnbP6xdUPO27RqPJpdq7W*9N(|~8Z)Z@l&-b*R`Wci zVk@x}#28@vUa7xyoIGN>zTC?m>*eSeQ6E^8iPFT}kO?;>m@>O-JpLEA&alaraITi| zEaj*Z9Wt*rskL^M{Or$}I0f@IZLpq~apaW?ct+b2>-_SBfYY9(T}(e{-eJOphYEW; zdCPURy^^WO0Adb>6jX@VHJvy;)0^RJUfSa%y_|c*gqIpVm!uUpZTBCe!${>=f&J7anXPb0_|vx`ni-5nppD zRL$q?MScEjQoeV7Ap61^o;=WdNTHZWyt`=*)q93EqT+>mN=8Zb!EI>m6cZqf!lNQF zCw$PmH2I$thsB=`_hRW^SY<_&X%2^=RXZ|0i)ha)-kC@0b$-d8Baz&8$jqU9n-))& zvT#szFM{pioBbfRPdW%at$dH4KhEDk%`82zWH2|GIB5zkiVHoS>1v^_nBGg+0xfVjO%i*i>M0^X@o0=dRALze6(x{_KtXk_Vm*py%wy zP2AG>C;dA9@TT|?6K#HlxoL~=>CSU0Z$5WNw*H}bmoR}Z)1V=Skv2^29~*PFx}gRx zYR?js^Jm$LhEzw=Ke>0;6=YgRwDXAz3y`x&vW+2nXja-nUrOJM*&)Hv$^4hCX4D~t(1^I;U;`zS(SPII z_R;n>$ysLGoS$3&0|53-yZcyF6c0WxcJLmCng}t(tPR~8coI!Q6x2FXJZma)?>PSP%&o{?dE7Tz2aAWbE)Aj;mExAZ^2Bd1hW3t$+K4%eg$H*E@O)d z)Z5h@u}TpA4-on6-m$5C%1E9@2BX`?0SqHae^`;Xn##|4ZI+}y_Q<1Q%QX2Pq+~v< zNj5cF&>B?nR_`FQ*`sbFec37COS0EwrVR=+uqdH!G2s;>Zd&_{!TDEXpV8C6Pi2?H zP`IowNs5a_^KtF$+}xJh`_S$g&fsHB#n+oJ1O)p6AP2o0&rLHhr$PoFcb!QJ=L-ha20yyL z)ve@75dPjPGF{W;_}3%>caci7z5UT&DR`q;6dP~Gk6J>`^l19H#y4wx#W$ll|Hiy% zLcYlub%Uzh)d|nh?XhW3LT|Vpr?5(t6*AH*Zi87;X&4FB2j-^}!SK_M_4xZJCF*AP z-rxnW)(#?Ec7Qc7b~c+>Zy4aJz@DyP0=a`0FSz#j1lQaDUE4P9KUk#s$wrmoBW1#J z*XGxFVago-5Y~7u-}?Ez`3WbUNR;A7v*NO3=k&y{(rbEO+u(q#y-=){&b4@DCen#u z8H__(zDH;!?um{Z6?}X^$1;k1YBwVk4t^YE{zs?j~24H+N|Lf68H0q2;cG%4nz)9u&DX4JjkdjBR>T2q*H5 zcOnA~t)-H^x?6KU%*tY z>#frsf17@G(+^eNUpsNR0o;j-m~2KG2k~@`O;HM*0az%%-0*ibUrK^p`5j%@0Kby{ zMDf7tP@@cgm8BNC%tS8GI*$82lZUr}C~_n+BHbhnatXXidFFO>z<*A|JWWbo-rhv> zr?7}RGk)N#WzxNvXl?+bA|Lk$E?3v{vp4-;IMT;G_b1vO`a9_UfiYs;V3a zXwt^SIm*UF=-3`zWzmn6Vmd8s4vmYttErNb8w*^?YA8~)69OQ&?x}89F*;T;y;Y<% z$WN{b1UIs#5#79WZ`0JLYgZ2LCQ}mWPRbpua;FkSkYPz)arHw?&3<9wQ-38?Y562J zCY7h~(N`gryx##Pga5pb;ZydCuFj5ZQ9nR0f$>Ytd?g&mnHNoFCdI}h?vw9BiNd|< z0A9k~+eRCsMSOn7>nvWRGKMqfWPZh}ZU%A2>!eksmuQI{o#e}G93GctVTvPd_@wtEsID8#Hbf1uEerf-g3K4~@5LA1lXcoeQ7YJ`Uf{pa z$T2B+tsf3lYMAd$B4Lkv#_2PLpH~GRo(L;L390kubMrGrmD|4rEF(!g7N*`@-+6wj zxhckx>zIl#!6t6=GwqH_#nT99@JY`W95~Ct@A&-+j-Eb$tcwY%BN9J{Pf+l{>##rm z1LTBe-zE9ooqm8am52bL_=5-%Y=?v7_?@iA5-fCtc+}%^5=XA}A7GA;<66G)N-uED zZ&&UZABdJIs+oTV58x1?KPkT*mar$6@0f_S@9nq0#JdpL=Lq(7L~=fBw!$$U5nMvV zqp-W$fc$0V)121O%ut!Quv4i~xZ8%1a*Du7Ne70DkVLL>qP>T;XzDpQ4aU8~;)8{UkoVCf^-o|mv z7ntNPy)N|m&QHh>&mOO7?K|yd&yWW-k?}+KKn2(G!iY~o^awcg2ti2ym!gfHzQ`Ge zBvzBB8MPOA{^hE~ox+S?IqDtxi3!nKRy5#2F6YUXax`u__(4v0hfrGosF>C+kYzL` z*ZOtZgJ0)&wQbPTQ{;SX?!L6Ti+v*r!PZP0JN;Vhn-yFo%v(ZEqFT1omV^XEIGuE| zT63WlwmY5b3iQn7eLbFodIjd_C05^>4x-cFIxU!w3y^S7ZIV)Ymvh8%@5OI?zBP-A zEs}FfMuno1nz%obzK??yNU7xnLMy$C3uuGj;lFtL%>6#V{;rlYF7)E}6I>i5_{sZ` z&eugTDgx!XH?vz?M&9qFJC8&xJ1eY=v986m*CbFFQe+$Z)`9`TTG=2H$`W2YbcHhoy#UjprR)r0*Us&^zFxp zqNmw?~5c#^TJZ&`^ypb6I-d^PHYGlJNrah`PbmVI;EGk13>r%(yiLyG>@E7 zSg=#}rS$p{IR`=5qk8GraeXUp4^X$_YD@5cAen4Ou{~EVJpvi}0--&PZo54M-(7g& zv$Q*g58n5scscHY`FG_e#3pLzTePM9C?48Bp;Bd=YOI}4Z~tdQp>3ph$J|fGeRnU- zlrFM-w@&7DgU~L2C~5MShnSGQIdVz@)^<)_mxTNMM7D4(lW*NWZkjr2xGM3XW}B^V z);DX*-*&xVY*YC`0`H!o&U5%=CRy8Vh?Z~w1hKOinHDiYFLbU2=W`rPTTg@tOgKsL zaPmB4VWmZv8@o()mP0_=mU?8Z7Wa!T8f6)iW5bn%C0n>GS0|PP8MR*S%=ozzE@&2C zdf`3O<93$r>V?00T{6dwh>dpLgi{6pY3Y$^>3Y&(LK*eJuEJu-;MhDu!3TSx_eSskV10| z^>Kw|6(1GrJ0QXJjL2dW8Q*z5%zsnbqQvJn28K%azv}8QEiCUChSqMT{T9VRHuI7q zIk_weskW3}m@bQ3XmNx@CH=T3?Q}=|m0%3TO~6EbI7W^1>-zDFwU_#cPfQCBO)?-E zSL-a;{Qg*p6Y@X13nxH3>|JIkn+8c=Jj;G){Jtr#kxb&Ho?fg=FSyTyW6PKbrY|0| z;Q`U9_0y!+P?ZEVm`F=}BE)}rTR8<)YH^r!7Dm272jl-V^>N>r& z6OV@I?`Tg^W5f>c?*>iZZFC~uB52P}3LTq`RS6e5->GF*-JNl=|EAmV?|IY;_`4u> z6*Yd4q&KH}a&~YNXVMg}f1%sPom7=MmOk;$#O*M9s&G@2BK^Uz=@?SnT*k={7n_Ta zdgkEz2+$5WCyO@=VDq>PV}7kK5#x{CUDw((RaSl4J8l~z0NwBPm|0@@y~lE{wMk3A z&=X zdYbcd%>jZvsveY+6}3m@p%7?HGXL*AUOR^5Va^BN-tEhGLAM=waf$&?#ZfMs0n=QC z^0MHyZ*{!EGz*(x?ef3S%WTzF0hQRgDt?_e;P-DTP@hv`^3qn&*~w!&4CfKT0n#Hx zRP%*=J_O;Ct$H703vN*i^aVP=Lp+CfOrs6+RKjE6&3mUo>{99CB4jt-jX{(#pP;M! z8OF&gn99iH{{BnTBA-Lu3-;`1-*{0|-z3wiISsxu2yT6H&iDLe$^K!k=JQS#mv(Eb zN)dourVN%JkS+YA|F91&PWqgohNs}z@BAV@-hv3hftaM*t zm}fl(pI{gw9wblJC%!Aa(X@>N>#c0oA*ikDPy5igxrzp8YmE z0-qW3^5ood%^6fLRLJssfj+D#bwu{UOujBu?mOqFD_oDS)l{^;Ei_FC9NDP;>n1i{ zEG2X(H&bwbn7O^1&iR>0*t*-9S0;2pPg zT5ch`u|un7#xF$nzeTQ8fAO2$Co_T?+NZS2IQ?|~I}f?eE9s%D8`@n`Enfq#SXi+1 z)z$73E-Z~PI>-+N%b5_4;YeS=tiE3U z(+V_ETjDIwx1%|D;>9BTH&dMVTibu@TBt)6ZVgGLg3(}{{Ym*J zO@w=aUa%fLcvP8VW4@`p2`BJo2plX!3O%85HJ)On8nAO@Tv)(4xxH_b80BWw9cNUS zq|%tFn0}VJXH+soWmx2`iCR&p;`F|Yq-Hyto1$c{ez@>(jbgi@>HK1;E>}zfA&a&)hXak2}KrOg<(1;0{WcEj*j9U2;T!wvux6yU|@Sz)%tXd;X66k-LP6^Guxa z^}qv*jJ6jSW?avMC;DP%)`-ygC2Z*O;h?OHZw*hiE3ue<&>S3XkKF@c(!PbHH_qGDD&E$txL@vFP0EUSAZ$Wip@*CvxI zeX^`S_&Lt$jg{7p`j5lzgqIA1M1k}bP7>uK)ek35U&)dd!7^-N4=ecLFuOXV= zET)SeT(fnlMGeU2>NM-iYG9qKd6W!pmm{4{%EKFZi6w{$$W`w(nGZ=o(GKQsqSuOM z|4Kd7$j+z!wGj~7VWiE>k|zn`oB!iF>?_f}SJI<84PPy0gm2L)KO9`PvM-M&8I z=t;?$uwgCjdlh$_M2w5GB^;DnBwE@yX(u*kx^A7cAW_OnR2*pkCy-_`Yj#JW^WZ*7 z%tKu^52fK&AZE*b=;kByRJ~O!DgVP5lr!T#I#g?`E2V6NI=>~!Vh>aX-6n5MAw59S z(k{xNu}aO(O|GXMsE<{@ZO8jYX!9`i9T9{(dc>Fidi-@iPUaB>-UNC%^Y8?3dfn_u zm2_pi`DJsstb8NNcBsFWZAC(&sugY6Gb{L*0>(b$oU6t2!!EGrq!iAOZ5&SwPvaWAd2xVe#qUx$nh3LlE;20BG^|!Ge6EP80qGgh1f;rP6 znVvteT>r3DLfK~iwkSWme!{O{J;t0l?#AtBvu+*rP8XFf!P!Epclu*Re>U?_Zm?zp zo2g;F0vm_^KP-J^R9j8kb?}xVrI6xIaVSurxD=;oaM$AQuBD|A9Euczgy6wliWP#p zySuyJZ=P>`Kk_GQ&UMb2H8W>lwl@&$bDX5GeLeyA4V2U8H;)e085G?Y`Ma88$o&8| z&#)LKCe<0-j8bK{D5NWQKv*Eh%5;=&KL+s<_2^&hasLNMQe4xTb5S7r!^JwA8jlZW z0s9AO8e&JdPLV06BMOaE><9YxGthk)k+!WRg0nb>sATjmo{KJ?+ZDZ08-Dx8GIQ@z z!}Kri_vPv68F0urF^n=@xKAbGm@whVqNzj?01<1kDMRdnPh-|_rqrZNEhq{4xx)4u zh5Ilufr*teZCq4MLw4{)gc2mVoTvS_Pp|9OnuRhV5lFsA52lz+BQVOn*S8?;!fvIz z7IF`D8qWkjm}hkqXXo|>T2N}zV@3MSLlxu%s9wOh&mk$6aq}9K zW$SZdfU>hN1o!WzE7-(`#Jh*4j zso2hON)rWnv|z{+fsQ}8N14;j0XiscSVsKu?a~SZ+~sv*)2Xg>Uxm3Rvhd#^_*h8P zZ02XUGQ7AtPfUGJoXL_51?@S9q}7O#2#_%e|qg9Tle6EUsU zMa5qpK%13o^sYR4rsZc5*QTrdq6 z#fn>-;vrDyy7#E`aThG+~ng(%|JGY^-15YYJ`VPPGail zH0OeILyGQ-v3BcvJ<%94jvSe`KD-0 zpSLOZqzf&6ay2@bLpc7B(#(WPy`hMTR|@q-jV3dM0{_11+g+)3%;0@N$@o5$HvHwX z!p=r^!3YD(769UhzQd{6niad`CdC30I9wlUx$4d~&b%f8&v>MM_F6wOBoVHm4)6Le<+O@Df%c@Lu3d!YEAWl{a`!_ycB(C2QI#EMo zwW>Oj>L~17w2?{`o?%W#9Gk`Bx_VJ)QAa`Q`Y=0s^4r~6mf z!2p+~p?{sib3$?D4l>~_?mnVG~cU{i>4{(FAN%(g?7)|1Ak-FW5`x?HM zt&crE)Z>mD@ELQ>7!;Je-ztnZ)V1rgpRvel%YP2JYDzO)cgk&SNG>aq6{2vlYZ3XG zTmIs&TW)c&Ezv#GG%VG9@dc-nvVVUiYXHQBce#?LGi6oiGf!@jt9@Gl?CAZZR4oD! z#l<2S7N`(cbi!mt;hq7XU&BN!9>!$-UP$uMR7IJ^Rcuuay@?1AQW*fL{+oRIi7W(+ z7fCohxi8D2s;G$hfe0ypQp;P)*xX1F04*;0eRJy0(;J>>UsGB0RUQ@P(wmQC?xXn- zcZn>4EYMEL9~2q~!&THX8feb%G8|r_{jIBXw=znEGd0Ts>ef>1WR09A@?A7?&X7m0<~q^y`dNS z^s?O?@bcA&58sGVn7vm>CYNwZ8fM8OEmn6oNvaw5=)5~X16`m z-c-(hR2;O41Xo-9D833bW9(V4AFlbvAR)GY4Q~kJ$9EJl{c%kxdKlUK`#(Tu^X9<# z{es~W&n7rHMyaBi!gD;!ak_ap~+JAs3p~4M(yy)+aUsbdiVul-__$F{$6+3+%26&aCGvSgo7lXV(0dY=Q=`!fT z+w+BemSW%eWm)9oV#N zT)N&9yC@Yw6PcTo1lgL+l5}u{L!)tuEbmk6*(O0J-3pU%%PA+iFdkId2?|tK!@8BC z6-cjDjTtYC=+fs8oOxgR2?J+u%GvFO_Rh9fYCinR*y^vMeWi(U;%XdG+HGH|&oH*c zaFL5-^cDnm+|3%ydX#>!M~$|D-sboG#(H9rWGrLhhZJyBfS&@3=UyFMb=^R>1)>w~ zCj&G-M`w4cKIaco2nfgH=EF_(pFrn~5QXR?r^3ha;LsAthr3kxU8;hR|2W#uVd4TmA6^hQDJCiWD(F<%;OhCd#a{;8Ju zGk}#?nh>RWC&!sb9+i|D=1t1#H|<$<38OO3p{T%6Ma>q_g;J#i zM5nfczHsDGErY%;?{Re`GNZQu1vyWgZT-A1I6 z2PGq=s=hjNT=5WyPUp_~zVf!d$WwM%4EaP(xR_fq7VSSschkW!fP*}Sf#&knqdql; zIL+r70Y`%BtpQSk4zE(_8yGWQ7}_`@HzkC#>QWhwd3#^^cphQ#iS7Tx{6wOc> z3hNttS!hlVd#$JYfR|$H@bOe0)e76M%3-7CNfdQ;lyzxcUCf#(mUa52F>z!}w;|~p z^?)U%GM@Rixw50Jl>xgo+tkglbaN(5(O|(0t7JND;}ZJMjRxKGx_HAsEkpqdg5D*A z+|A6R?ED(ek*l}D_ZL+FZ0Lhc772lu$r7Hvmf`qT1*Vt zN}88=-L;WUx8+=aE zvB+TP_W=90_+h#`Qoab^uDhKqDJST;;UD};hA|5&+aNT# zd+Z(8r?JNtiqxRFw*S%iw<&QWs3-2t6;UA*`@a*5RHkCleV|*nGin|9-J9eAE`I`MimLwp@Zzia?;9lr^^*dP=SuDkc z)(ee)RtE~+>_+62s<2O5wjZD7O&i!H`^}IVAU_Zyw}Rc|e!~4Xa zaO?Nnu;8kNK3@N8)bhmXv4Og3=y;OP!RZ!bqL4h`)PB{a!ZtCqR8YP@cb+6OBPZyM zkufFT1IG{8ATK@B0m2^_S_S=Sc9C@oesyJQ-obT)VW)j2isP|7r?WhsjMdTGyiVH{ zcuyKN86HT%m>ON<@Hnn=VzKKbJF=5(vpnVE&LSzH>TEVMEXG#(93GYD$WwH1V z<5ScYhPd#pX5)gHI9Gc8-y8fQ*n2TwPo#d$+I@C2SyFIOng3v}T4z+h_zl+fZwN?a zS!dNHvadywzdw8PPIML>k1{ROmD{q-_IEe13?D4RvfKcmbu zaoBKnXIe&@&?cIKBX2g0ga)qMB(PQgvIz~GeVg=3z)NLFIIR5LO&+fU(V|&DWtzc{!3ef|yrwQ-8-}u}Ah(p%_&?dRcIT-+ z5I2Y(DA*%W*l<-Wgs1G8$(V^pVG6M``aAsxC&G}h5AKsJA3B?$wpsM2iu(6IP~@ey zv^CLn^h{!?NRKLWyo7iPEqErf0jmykb)j_rSKsiQ4I4snjDHSD-i=TcB*QcR-StTl ztzuW>NN^v~#+!SpVYU?Q#3d_(uF*$wJd>Cbw&^;Ij@P)6H5c{i4&RTRm=xK5pHO=Qnmqwq&j1Qany+E=0p1sGpVM%_)1fa#|tq{yk*363&K}9IispGFyumqQkZH0 z`=VUKR+ZNRi&vLZ zrWR!)CfrMCYSCu?K5iz2cFx~|h-lQw&hhUQa8z9;Nhai{=}V@110^e{{a60t!^E3}~iMJ$o zH`mZXlH!4w_DzMF;^WyUQ^`tXvhCu`ca)ERJeK<&lzf;l5g+yFyA?##B5LOteki-N zTgOGivf7}+%(e(q(urs8L=P5{qT$}8FKna#NP)Lp0uohb6xikcA+2fA2z55m_g(WS z$V9f?zitrqy@f6I3p{{gh1J0XS2>u+!hx5PhJKSxqLI8uIGI#71XM`njE5q&Q9ee| zU^46r{Ow_YtVSm22%!|D#kk_<{T69xCMv6GJLmr%bhm*Q1#@+B zA|~t1%`Pwy$4#Sl-qZibO+cho<;Cn5&faGX*#_5n8GJOHI*GT&#e&1UcFu#s>VVjJL$U*LN zi;Dtk?9O@O3+R0L#%&9geWgX{FyjiB4{+b)EUE+Rp(-23*UE+>et_6koiATM^%7Z5 zicN;eNeEQPBE!ZiR4sDb@&QaJFDUowM^D|xh|CnKOfpnF|MQHiPwUK|2Ey+&RKIV$ zoKh=_W~Y@uQUz#QknFF-{9K)z&7pqPE4Td2QrNja1-c2cxNV_$Yb;3V4{|^&cRw~7 zKl9lIPXu>SLDHe~_fe-+|Lz0)%`-GIJ%KC1T@3se-0IY?Xj z+GD(|yO=1@X8s_Zj3B>oxthy2e-We&6t_@EFKFjxC0)|X+f4`xbUtF$B8qw$q0fJN zU|)xP6+whb%Ac}3H)Wn>Yl{#AfQIJvl8S28s0taIjv089Z)ksZE<>6LzvU8stnXHT z$3$9AW#z*Ojz$Q=?Km~dH2H*ylZ6ufW;`YW5Q00U3kOsl7FCqC6Z|jAAGj}4%HjVa zU2x5Z-_Uz(G<;8AFCkr1kRu^dV8In8DcV*x)YEfq$=%7xn9CIy1(Nmk`EF@*?oGN& z`B*%&G8sa|SuL%DhYHV%(VW)6Waez*xdl=6XWx8^zT>tK;WQM6F@nRxA$cu5{l65h z$_=C^VU3NF6yK_5QCmU_41oaYC4Y6RzCWM(dPoIGo=PS5Qz-)q7}Go+IWE!`C6$3QaECRP4H&rf8~0>ZnuVZS_zrq2ED$o^*+Dtr|gWGTlZniJ4>01@`{XW^%a|jmq_GUe-jvmGxx|z8|JU}u1d+JER5-2{+V61KU{lUwm*?o#YUpMS`Q8i0IL668)u``*x z2b*r%*_@qIiD40=@}>4>+@DJh1S2{eonu0Ma0cR{sRnh1q)f`MpK~5 zin9Kb8k{)VKtq>q4FYOKhXh%SI?Nh+3BsBP&+r5mwMLn|1h0zIaI8h9l(U-9D5l>@ z39*m!_<=pj#V+Wb1xePBVvh5_7w{c2dS;G>67CPgz8&^h3oH|3S(!_E^Jn=}Ravfz zNWa#2>}uKPr2ShJtyL*()_9*yeKCAEqAf}Io_R8HcB5k8Ze_7}ro{5%*7rhTZ9EaNoiQ3`$=3lX{A8H+8le^=|zfHL`;L!u6t)>v+oYc;4bV&;4ut6q(!cSDF|ZOq z&m=SuDoE$gd~bz<4AAHa&wk!aFZXQmH>uWdO_EB?$N6odNY>J%kVYn35uEcR6=mR^ zxUp2JK@`ld2DYH8JJg?QXdPMjx(w@E;6O#~@J7lk)1Fmy#Sa#LE$97LlB=Ufh+*7x zO78R9-h|k&J~h|_nwjE;DJw^$e=7U_?{{N?GnH(6E6>0W5LDU2=+~~z;vmt|VNxlU zPWZ5@cJs9CBeJ?ArscAq>N<8jMOdN4G%7z}j*pyE@K~EvRbZ3yfB;!cst!W85I_o3 z$NEjRNE*H*FQ*^hA(4g8!%pp$04FD33$tT#x@G)Fs`RoA%-4dOGi??f#uScdDq;*% zri>S!^VSY>Ly|A7zd^!nDx;4&x^_LDtg7oJVE6x&TstoiS?SK5{dP|t1=A*BO z(~|XX;!wx~zGDzrj=m=1ak;@vH#e(&OF+A6QSNRy-5z%>uPJ@-gS%JDx0J_cg*@|5 z>HCDL&`k4GHnf6h?U*@LK&*_hgiI%*&7gf!WLfaKh2SyImBG@jaHf%it>>qFOX3E( zrBC*$YRKB`xUB(0c#{7koKit z8h^iq<&JxkV*Rd%@8Vr6zX4JAX5hO4SxJTlW+4aCC&3DC=FsW^y*LnpVX~VuNVkKs ziLSlyd$SMP$=vgb^$XBjt$850=4D|N(TiBL5GWsjeV zxjM-)?`H(Xnsa&Bz=Q&40^&4p^x@wT8$zjdtB9{<{gmiHAGookC;vg~aZI6)E_d=s z%wn&_-oPKuwLfWP;G0Tut#N4R!KJ$XY$->VdO=dOB=$hI|3tpgM&C2@!vJM#^`VDdvff=Dl(2!W*r*zig%MhDe1P2wT$i$%@y(-8Ax~RM&^Seyiwi5 zAuJHJgOxTr2cFvqkJ_mxWgJ2r1X(&ZMeT<%8xN>9#Zd(2jz2LfhOd?1`z;-ll@j7f&jV1Lf*4 zW9P~l)x<7Uu+3QZHn}zI0-uI`Zpp>~`PL zI~|35+aVK&!TMEd7Z-aKT+Bt)U%Lq@1!y0#Pbwy=$^%p)bqmIRb&9V%XbJ9Heu-`P zX7bLEBdScLgCLuc_eAtCDR%1MGsJVu0^Pm^E$>mg4U*)$VWd!A$N~KGE@0+`;8^>_ z@%;=FLBXK>$n^3pOsp=IV?JPJEXSN+t$|Yo$h}a_x9nkavonLG;m&*?>!uBzZI#XN zdG8f9dGHPg(3(>5si~=vxVmnldBk8x4~s6FnbG5o?_d);bK)IdZ_h+1rF zy{f*^wk{7tR;C_pARF@V$sg`gUQq`Q;htN0WllKI>Crgk`axT!P;Ztts^ zHP-(hAYcOBW{yi1cgj_ss^}m9`a*R6o>i1{-1Q_1vcqidK=P0C^S!$SB7jC6oh1d^amLBMPnR0V{!E^m0+Qz#A^uSg(5E7jQL$uQ zZPv8P!2KA~t0z|LWSsC`*7wP%f&03cj`TVCojdUZ`PUB<#8?6_vtMKGa-_S3b{1Ts z`)`oEXjO3!po}<|>n+gfsGo#DJRXl&ZMt|2S3?`E`0h*y!|0~6Q|)j!$+Hc+kX2|b zg3^Xn$YK@#nJw0T@)vaqV~8y&<#RFiHM(Y|DR?(Z32&O8vafHy@$zewFTi^v>96n& z%&dS5Y@TYfuY#ataXpS=7Y5T4nIZ*I?@0Q#)Bs2XZfGUi$eZhT4sygowx`MKU_p>s zW?3u|uzCZ@mS(Pdtk6WtNN`s)3f_v~;h`jnD2AerXfeNaf=t+!u+Oltlb^;7mCuu{ z*Oo_KhfK{PjB`A8Z7TPZLag$8RE{5EIcpio6=KOPs;119ZzHxcu%{OB1bdM3L6roK zyHWgGS2x98x3^GdL6}*5@-7pMJjh8%6Q){~&+3O0IuVURB@{Q1YJ=c?{#mGgmBYMc zfegaPH57`BH=K{!#TO$~Y`tzb_az9{u6q~P{grtu#0m-!aNaoQi4Z#a zl_Y9I&9YCEBo82-HShe+w~mYZ%JgVcQ$3P`1q7j!eDrji=$mlf%V$6K4yA%0nq%R&Aq&x9A$P|3zs6$ke69(t_LR#ca=42T7ak6XovJn00*#;%V z-=om+`fwqW7!aE|S${bxP=E$tYS@;Yj7oB*ezsE+Z7iVu?h46Kuf++&kjFw+rz1lc zUouN zW9!lVItLSYb$lp0a|`(2V%*9;qXS-T>CQ7 z0W(UAtRRttiR9NPp)oWi`#Gf37s&F=Vv8Iy20EgQ5I&T3@!gl`R~ zu%F{cF6uXZi`%XTKS5_#Y6GlG>!Ge3Wlqurc& zzBtlykb^?9sEkMIyAv$Io3b~JO3tm8yKv3rF65yhWr{mvZZ7T~IV%^DY>+3>Eb8tHIyCFnDT3g}-s_7*pk{yzhb^h_dEt7X1 zzkh;=%~TMlT9i&o%~XOy)lKM{!V1R*slQG5Use^NTgQSumg9LA4p%!ZE=_2B69ztZ zGc;sUjgK=FAYKL{k*G?~uUU;e)Lp3@y&mIw28$H~ku3TfuR1ws5IN-w zwh+A}=t~FJO_^+a=h{^K>iYzD2<~TOlkWr1pi*6Pb=WsB;IOYpSBUa2*V`a1lg>$z z7s>`(Ogw=H?H5*!Z?$0OBLVS7aaQLWB0)jPd+lYSlO9X6{{W_okRowbWPa}WGAsN7 zzN8+-+11yL3`O}ZzWBxsB)t$kI^S=#r#PE~)x9`1-G|o)wRZ=oQ>f2k7V-G;2bw8B zo_Xs7vEDBPr562?_Zs9~H-&h7gE&5jF0q^;56K3yc0qcj6NrK+?wUwS+_MN4y3< zW2hUbyx}{((%hd5sAv&!q7KJUu}q`xt&lp)bsQb6$=1JiP>(`O9lHE}=LP(7VjRde z(&|%Xle(#b#3SG)%(l^g&ByIOJ@ig@&EoTA+xja~`Ha38sj5S60#Z|=J@++Czk)Kq z*CZmCX3`b?H0<<>)DY9#5aRPfqRp`KF!bIaAV$0UZ zirWY;_mI)lHKC2H??c){tgsRP>GoQ*y!^kq+InXIO1u0=9W*Z&KXW+G$yoYgZ8q~& z0cKF%;^{v^=kx=3h$$%S^X;L zDG!q&@4@jF!atR6%I)H7glO5I-d!(rGI2<>XV##v=!$bZ!+1Oj^T>7L9hNXy=2pNO zcJ|1k2(%wQaWwxuIrL>meHN(d>C5c-b}UV^sM-Ue;jn>)(WvFwZnSv| z>Z}@#p@$w|ZC1gRKKR15VOX4C<%cfA8 zV&z9&6?pWC|A`UTPmv$0CZuh6FD|Z{5hrJ3cAKXwpV=_WOqPz*JABNf-`!ju6(jRd%}^_ zcH9ZEcJg1+H_e1Q-NGF#>w!PbPPNOOJswMw>!z~%T6(2&S*Z$mT>X+~dB$>c>`{C4 zCr;3aCfWyUO$kPsW-0?r&Z>>fHV(;~4-dwgw=N(`f!6cXD8VjDw z9qBy%ZRJNbnc{MRu!n!y8vppHvG1Z)*g0!|F<`s45d&s$|2YyYihMH2R(K26nVfm~ zT-TU%bgM2~nEURd$poyWa;%Oy+R&DupB%rfO3%(ny4I$YnuTb@>utv^kWen+)@8mz z{w{Sri@N*PWoe(_`w#ca9Oo3(%5pjZh^@3&eed>S4z{vQ-CP!U3!H?&8jDhYooI$* z%TUwQ5z9BC?4@mtG0k}+`Ur=WQdDm_q3s)ar54%-QA<82m@>6s{YjTo6f~GKoLNGg zWryZYZpP`I3$6d;zp-wje1pGlRFM8*q`d;ZwFa+cRkFi+C6M(?u1t152v*m*d0v>2_UeUJGF3+XY3jy;Wl+NNNIVEk#2U&cVDb1~F1^>c$x z?69Y=tDtx{eUjGTc`XjU$`zNWd(vT)?Wo4Ejr=fzBD)YsZi%c76}%AKW5FD6Vajxs zctsN0Bact@%*xGVwGpOD<0}99vjz1EeD$?YlnKtE`ckg=x3nXO$Qg>LeYRA>=&tI; zpux~Q2}tNRf78^I;nPB)sl1&H2|VCP-d< z@kp%BM7gOkX}vtza+%_ggu9_aO$JsJHg^b^uav@KO7rtbR@o?)u2l^=^ z@FL|vpT&ZdUsO?|7#d6NaWi4A;jwv1ICG--aEFxd;$BA(pM0j65_wT~c`1}m1TR6O zXATy7gaIV^uag4WMbVJ7_ptnUc3X!)0j)?cI*MwnIjMpG;F_qbX*X0-z4iw>8DP&N z#{5=d+H{6JpL>)L_fAB{T=wA zIVtkC_`ZQ_bNkrHRTc+Ux=$wC82j<~-O3vBn`4uT5jUkn?syF5&R_Ze>q2Qc@f>~?uK|E>8EGo2!7xvKZeF3`yzy*kqHkT|qF^P4F}=B)Uq z1bCA-m*=x@MWGL;(MH1okvCNK>~NK5+4x87ux~8mTEk2|oOjXJ31fK*B}6cmpA_&g z-KGi(R}C%a+|eDw``Kn|&qmL`XucxCUq6STPUI3EYHYpn5ol;KaHH=s1f}T{qPZ!s zU!iTBwdCrcA~!tiaI<40XF%$VM)5Ry(kCelrr>e6Ou?bH3O4@%Y|~o@f8S@w9$%IG z6`X`Sdz=@Y=sLw)WZ&C}vKfG;;JkmNTs<1&Ui5nL+3g3f1I-V0vqu`;=t0u1u_4-A zpyZ~Qti&oA11#75edC0+Xaf!=`Nmm3fq_D4?X}9A3b9I~)YqPLm_L|sr0~coOLj`( zO9z*swDV4dw=NYDY%sR;YQcg>r$To(Lc2lQZzd}C#b-O2MKVj#*(Wn%(S>zGIlwiq zE8yanUqp5ZyEY^}9uq$rtbiZJvMEl)^|RzfV(Sd4giST0B(BSo-VM}a+Nwxw!oCz1 zQ>VxyTsrc*Hr~09@|pLAx}b;%Ah{H3P<2T6SF*{EP3O1eMX&*zwF9kW z{_w4+ko!)4YaH}R{6^HhYr*rO7v2nf_f~i_qlW2c?Y;PRym*A~=dNs^$$}JT1o7{^ z{JxgQK(NKrk?F%I?1a*IllnN+Xk~)%<|7s@FXhF%o6;Z!nk*~M=0~G zyH!N@`J9?&U)R#wBMwUMC_WK3S}!zPY;b&T;d+R&_lZ{CZ{3LX#bQt~y(5*}j`;XQ z%Y9XzY2R#Nahs2Jz8~LOATXnoa3+atpcf%8>x~FMKe_ZK2#LD zj*23L&ara)M&n4u!B9Cae}PPTAF3rta`sucgbEBCnS`tJ^yedQ?ZwR^5(}Rh!At{`0uJW73#L^^us| z(uH2DV8E+|kcV^i_MgsDmW;vJ*WLD{F9ZrV%yDN?+Hs~^fuppJc(*UUS2snAa&6QX zeJ@%^xMl<|1oxm|YpLf>nLLULq(YENqIl9Cne z3GJeQk`DiVN1RoV?tQ{$?}%$h=;c+;oFUhL0JSwg5bA$M+1|X?i0qxZ*Ol$$sZ{S#aqm-hys60$a6Q$0*|b_Z`v>WgIT54 z50O4#>!bRS#nQ)5h`%HEg5VcTUp##7h6do_Zujrjm;GQ?+q310rwfyTI18$EUn+&I zc2e+|1^pcf-jhz*|0v!aJA$!A6HnL%tG2^1nIagd?QqxyS>>84v`ugp zKguJhrsi8eIc-MviY5DhSo%mmP(NOI1KiWN`@%26DULnbbQX;vEC4$SJFV(H8b(o! zO=NcijDNAwAC@FyA-`CPWdV zLDF(6l(c7`=x=p5)LpJ47u8z4Q{bC}_t~4bvBl1q(wVP$lxBA+iP6jKyklG+o7TH0q38S3 zdztU#L&=IH0ddzeoQ8^S0^%{`ct|=B^c2(m#G-bD9fHU51Q6ZQZ+@ERhSq2Tyu0$S zJubVNu01zQxuRm*RF6SeIG!D;kfv*&`;St^(C0k@ZP+hwYP&y2utva4K@xP(*PDU> z%55>i0(0f}v+i6JH2X|gA5bq9b?w4N+)XC5w;=7}h|+goYTu@Y!9i&&nDb>^9+%Sw zh3%u!_{NOKKF1cCD>cg%U#Vn4RvoY+_p-h{Z)LBh^)mr?oCp_iSOJ_#F*~Kx{H*{+ z5On}_k>!z7JP)R@(Rcb)?CaIX)y?1svU|wU(f>3`v3AQxD0l^btz5qe*3t{e!{b(W z8|aC%6X{|B54`T-ZA6WZ_@(r7Cc{$jP%ZVU;KG()_#HApJT>wDb6ezaHk-?^m6X$k zyZ(*qtEv|G`!{p9ZREW|lx3dM}3mvMyl$`W90Wx7TX{>Art}niYzuH zX;3227;?Sf5&_g@kiV}A68{t5d!x3rBxCQ)@o%_ZV5){JRV-zz{r!{fm~@6{ej3M6 zgsO?%>!hl#CyDd#D=gFU;Iw1fdu@?3Rk*8@iZ9Xa;VSUGT!D(60Viu0L6W>I%M+ge zBtBz)K22dVVkX{iqBbH@vlvMQwcXQWE%$H^n1`+l$8$KnE$bBaZ$O) z5?MZSdEnKztcgK#Rr;3_yzH~+x;bbb%sL#APgbvrO9p|qIo)B>bGG@rbqjovs~R@+ zBlw)Vv{ZFTP1+kQ1fxZx&!}M$x$Q5h4%`eK^DM7*2d)b47S?@1koG7pg-1mu9p7uc ziW7LUEt9|kJZ>aM*&ZS=(?T){z*ieJbzkvoX(60OK^G6xXL3@CB*jbI*{b^KvIjj( zR<56X6L`L(Gr68>ojCkV-TC*`@_BrrIZI9jzj+70dDWMDrDs|+68Wb(c06*P5b(?O}=@GWSEzZaZFSxd-~3iW!Hg!4T_Se zxhQl}7s`m64NPp%RnaavN~v`A)nw=y`)luw1?3+47Juj~teWee_)FK<-^vq7zY^^z z%Tkp#XvA%a`3II^c^s!g@I|bTlJ)R*y}pPbB+pzUG-_Vz^u$haIoK35o;nT0u&45L zEVT;)&eGRTWd=ZRb+Eb0L=S7K8Y|D0++H88|6UKW0ysJs@nP2G=pXWPIMcqPeayes zIKXw0Qki*TD{}gMpxHqG#w9a?I^`RyTl7w7Nk&F(gD~8>Yrm*Ne<@B>mN?j?z#bAV zGsD}D9oTFxcSaB*-kTfU<5z|PA(fd@^l`9!b`7yFnhY>;EL!NkDgDMM-YS%Ib*j$_ zXHy_Ndi;cUf?xYjN4+L?&5K8_v+SD9j$dE5+X>4F9|S&o&l7mmpb?PV|-`;0eLldNVDZN*yTo$g$GQfp0>ld^dTT zn~#>}^olQ`yca=?S6bJ(t6xim`T%*qd*}nmT3^F;diBJAvvp76XJJ0t9d;Rsz8TYV z_q5^{!>Z2Cekj#Qk;R?@cx>t$LR>Jp2~)dWxbkFfv;Q&G`lW5LY(Ojcdyu`sKmMvR zHXdgy`rD=>dqP#n`=tI@iGKl06e)a$%>;p}^wS>pS#NY2$4`6v*PIhtgl=eN{5vbp zRNNuV%uG)T0hHeb!&%s z(x?h2G6zKQ7JOJ3QJWjq!xfQYoMCdX_n6WyJ`@iczd8Z2+=n1v21vG~T)c}L7WK-p z#CP`ZRP*~iC<23kRefi)VhR`5p4v~wgWLKB{jRk8RqpcU5sN5hSs`m=w@3;H+=4s# zWpOdvO8`QDTZHedg$_AaS`HA3W0pPTOkMT0zW7jLHLK3)*)eq{cz|Z~Um?}cqy?H*7 z@G#zN4M^=-aGKO|4F-MAy*;$Px_06?TI!t~Hcl(N#~ngJ5XCTKQL!4}{#8+S*JjR0DR5t|%Hu&D;WowzgCEG-IErjcn0RLzJ8)? z%gK0<94rZe9@viAGFR7aZw8jEUFf}R1hS44mhNY;ODoePYTTNFx3b~BH|-n#r4zKa zIKrd-IEHIlCRI$5@Vl;2B?bD1Z;&+?)GN%^7uyOENgv}KbvDA}ND7Q%n(A-K>5c=% z+gtHlGqtYw*$0llnNim$OtalV+h(x2Qryak%ihOgVq3|91Wi7;_UxDNA&5-kDK!Jz zvt4#%fR25BaeXD-t{Ncxvs%iohAPL@gsMB6!Y9iUk*T64;p*AuuSEymWNnj1MuV%{ zDg&YzLK8znVv}y9?3dtMam7Gb20Pu(ojHwL@zNBrx0@07%d4NuksiQmX@33<87me% zZDbZk^uV8ug(*eexQ&&W=F{68r`_}NcE!n_YAmxvKYYcNw=JJC%VKbamN_`OHu1U> z{idfKK8p%Zq5K+=?=L(N=-h4d`e5nS;MRrAF>6Nol$5w5c0riP86@UliYbJ+gTdw|2$5-HGn8S;w_jR7i_Pgc5#^xi~Toce+{Y^_u-iUOU6=K7#rB z*yyIoreTGmCAwI`$bR^0KX_b`s)=Tn(&uqjXiwa$_w?sA3$HW5{0dfA4SIZR8s7=L z=qH^`{yhUq$PwFa-FHKS>RtOyn#WnV50k!7>JR95fRm$aSKA01uPr_NWy}i9WsVTV z5IArM!6c>1_b7=sRA~L2OtgtkmR73x3aP!#tK3VeFZgY)^2BUUphV|f*+nTDfCPZs zwKdE!05Bf75VN}Ch|h#Z&e>;WJB~4ppf55rrQ2JqPG6D~OSE`FJ2i;Y;J94R6(Kl` zlq2n<}$i{}Q9)%m7;WIXd zJPDH%g%$jhNLB{lZd#7l;ygMzddA(s4mBO~8dH9nwLHTgh(IV3`B2_k!1pm`XdQqy zM_mGm*VO+fQx8^;0+BLo|lNDW1n z8;RXqWtn-A(Es=UgLe9g0A^k!vQz&m1Ngu}l(mOqllMPs%sZiP6l6$p(1<+p!X>)E z>R%;rdpL+R-ljq8I6eSKphUIF0AwOg20*RPEs-;Zq7Y&O%fU>+s^je~3}aQ~mH=i< z@QZr{X_4zmtFnr-w#eI{##cup|Is|H`k%w9Wg5nu^9mPiGzAL$LH|Tow#$0}C~}~C z*?TH3RQ-Ng8KmV+q=rFQ`2W4zs$iEOtsw9irthTr%i2?M`+NfaI@%eWOyvqQya+** z3_@|0{6CJaJDRP>?Z@6!MeV(*9ko~0-Z5*mRuO7%N{yn@h}y)clGvk&O-t>n6?;_G zti7ugzxRIMf0C1&oaE%@CV8IE1P%b6evGzZGr`jY-m|uzDzgz_?7rMH1h8z*BqWXH1)85;!lX``TGWv$opP!2+$yKE{O2a26(wv!u71*0T z1QS+_TDQL3D6jq#&_S}NpZC$OROuKibziu@X+gk~xkc&mi=9!I5xOTUnfaMb5Tk2p z+t8@LTNL)igDSspE{Xj$~NB%%9vmRMwj-(dG7i27>^beJZ&~J+9$VhlJ zQr}HqC`ASPy(c&$ilR&+h?RUyQvc)WUkGF*{Z6MTYaOzUe?djSat z-E{#+&umXvG(r!FZX9x!j+~q96p95V3#I)i;e&A&1hv=X?U_EB9_rUQw9pB#ENQm5N+K>1BhgF72*90|C+N7TL4;=PXM}6z-U3}>?yc4h zVr(De*SZ9LdCLB&V9_B&dX91u_>P9B^g2Qoi{Cn{SaUWy!@(%$`h(U1cQk*x%o8Mf zRKP|MPg7JDY(kI>&K(uSCzsTMx#I~IO{#$yF~w;y?=<Kq6A~ZZ<|U%#pC8N{RO!sLEm!6Hs;unUo2kdH$(0Ih+aEM9s{RB>X-IO4 zFcA4G3)j?V=+d=EJ+ z;|NxVBn#xWqvhOY zLLr#i@nO$i`7WJp0w(I)@IR1$TkigMGg|B+o0j4nYtiHs6ThO-bPyH(xv`sK_j-P? zPkHU7!3lrnn&NA*4NO8UHSHjosIQ89_GJiXCIRS@-qO<*@gnL48|lGQxeHP0+3n;> zrDVMy&g&bk>b+4i{Mj`g3UrXvF}D`e$j;#Q zrX5;r^H@hRGqoo=POsi42HrUS-5WG0L${g-0=?hpHL{vK&n4y|=A zm|3Co2}Z}ZE~;~kHJ=|n*j-eNPnW$HD8CVNURLoy+p03uXv})WUhz@7!+}YZ-5f^< z=5LB|<^x-fCWX_6ex{uZ{0>9e0p>@g^SVk&9VL_m_M|SS1A|_PAJX5uPadkcA|uph zkBE|*X3rOjo1^IA+m1IPo(Bx=EFzfSZBrZnN;L{T&y<1T#1`~}W#KP2F$Md?LPb>U z0dYMfOZ4gJx{n@p{$Ku}&jf$I1bitgiM}@-mPRG)?*ezz2e<{~NH&KnTTny?n6KmL zpAX*2yJG?d*H`MBA_J_NGLp5r4H*eVxDhl1m68<t+nO`$ubSWaw(d1iMRJKJ z1ergc7)k3&l&|!MG52cO_gNDZOs-YslJ8#)=qqjxE7;>=etuK^WeSlM;GJKtRlIWj z9OoXCdoNEvLN_*_t-+~0FVbhrwm|f2VV=b6Oi0})`4A;8=eE?h`Yee&Em@x0ddCB8 z)%Fyjq9`IBzD-8Px@QV1#iKdKr>Th-sD7 zw$RpDApTidd9zbpqOj4=^yGSm2qwrAmU>Yb?8nh}?YG1pp8q^&gbnjgrI0ZS7J|DP zsfks)QU*^qUJ9r+eJHc_QE@S;c59`G9jIOz3}WqW{@|Cs$0S##?h}Pe5gynJ+sTl@ zq&=~3bdvFn&hBA*+e7bn(YEq^>6tCxMaAj{zFO5IROH^%LAE}DQC38qz&y&?y*<56 zVhOCQ;OnUxQc+sI7Gz8k>V3{&eK)$5j}RkO>9bOm?bXfkYHSOLHQMF@EQJ?7e>H=w z79Yrcy_Ou5Q3zFq$}K6m|FkjeQ(hlf|La-#*=qc)n=3)t6#ldedg6chYTkJQ%c& zuO2JtHnf*8#6v#wb|%f!tU2BSc>Wiy=>0|@e)*=s=9>jnB=u8#lYYX}Le~4L2rqnW zXQ^bIB*95-SHe}lQw9LKTGHxwWpi@-C~4Hf+CQf?l3G)INOwr{D3JHT?62kumq1aX+3=jH@3#p z8Ua0q31u|mceSh4)tPkR2(G%|(Np-)nb$8; z7<5&*8dVG;zisBvJf#aBYmU^=o^;}D=s>>hO!Lf{xq0C`w8O&JE-^&z-)ANL4zO2$ z;L_RBl@Bic+Wbk3UTN^~H2hZB)}BJYjriZlmY5_td!z33Es-uEt<7*=pp@P+q*lt% zU~hIUWa&O4+c{b!Z{{Yz&Hagj!E5)9e;p^M@OLfs!G}ISWt#KII%dRX<@_!c>w$!{ zy3nyBORbivOIsUiia=gVw%eJR<(i<%Q}V0q^0^fIPrb4RU0yNWhvDhAyc$l% zO4;IDiZ4>UzoMJ5QlD7QaF~_`H{VL2Kx+zi9UAj$&`uXgW|WZbP3v~C}>`F zuUfW$=$*~`Fy17{n=i566*M5kQ_zvZrf?Tnd9{8uC8Zc}1h=~wuH?;l6nGN0$Ko>*j@TqbDhq0{rB_+!7~)W#w!qGPF5nM37y*n}vX ze46^+w_d$?+_dRRQ|~F;j0u!TVB2ivYfcllD@0lc*%KAcv;=$`tzTxjb*YQxDydrId#APDa#gX#ktHN zlMqj{X`^!9zb6c-EWwHr^kN0UxbG*+t%jWyB<0n0RJ#;wRLr8$WFOUP$u?4F%hGyD z{OKPGv)L+2t?SAJ`p_qT-j8Y2|Kp_fswXADT4GRGXe4#qSTF3X!8pec`3CnVDPwA|dGdXGF`mrt+A=Cs`ZeFy_c;EYIgmEZ z)@ffZlcYNn_Xz6xeA4uZbkF4H;6}v~Q!u#TiHu=kJS>F%pkb5_zpSpw_?cJn9)peH z*w$mw<(qGwlU$hs@%)Hbq!g9hFyu+m+66BLjjrSj;u8b%j7u=!hzYz=a8L;t6rjl_ zScD&^$u9)LW&m@oD_l|?K(Td48H1&1b;${2)Kmafip5dSW`_2a%q%g zx|SfGJ6Zs^e-c=p0PbWlnp{#>%N-B)UtO^c@U-b*tO=fakqH2ozlToXX@wTym_gE- zkb>g8Ey}f+`;$7#NbG!cFyH zl4|6F=v81N!$G&wqRACZwf)q{P|}*pU|-uc9CqO z)`Z*wp87oA2vqcCi8>(Jp~WYyFsT8eu7=bF3RPKn3fSOAWvEWI;g` z6^&(Bchm5xg|&JJFUonH^O6M2=UU|rfOv2yZ{+8|0O4yC6F0y7IjfDINp zi2@mz0-p*s&Hl&kF>0Mjp{&Wwq ztnO|o_MIj=5 z&1pa5E_1bQ&LUi_>-(QQy?1SaZhyaUj?ApF*?aKS({1QbaW*+LF(#;G>cZk}+bMe8 zE5f7I#d2Q@_K5=})K&rk?V7=15OR=jF`)N$2TpcMQ@Heh=dY0bktRsY9X%@U0U}$= zoj5Zt9~$llDK_yN3a&cA)gbS?+zDw7U4G~RNnO(!1v?|XF6XRM1br%!E7-+l%WwYW zt(*~7xouZ%;~#5V*4TzyPhJl4zB#XzANDDS==;MC{Juh#TGLzPF3Vj8jxy4O^ktpl zo*;#QK^fv$iRDl{7~_UBW54|SBEr<6ac}{Nvl`Wy0-dfp7|Liu0%bVKFd1^CujY}a1{?)Jhd<$7_Pa{9Q>Gpo0#N+Unw)(RwOz)r9H1pca zrR#s^vPfSYXw9;^bWjt8-xO(m>PLk6#l+ZyzkAU0@y3ms`^%5p)QcH!Tk!ttyN+sV zm*nyeC?x565_VbEHg0r5E6-{{%6KmV{&roC=?2z!GRSx#!=x(vrAdPFSL25sd;McYjG`|I z7`@>oOnO=2XMo=K4@Z7bx}SM^789$jRq1}JrW%r9HpAQ@`&P+OokL@#-sgO}^;MCi z+=1OxnOAa&;-Mp!cKl3hgyo_~$u*boQXz6EO^COtAY5XVxk(h8ByeP=SIOyUTdCedfWMf1XihT+xwomVEhK-TT zb`0cbN%|3#DoEJm>k=L-QSYAU00j|y@{h#>?L1@}m6|!&Lu1D_qE1|lqR(v01{X0n z(kvedb1mZT$AcM!z2^B|RG0P8?T( zM$9puN`4*g*GJ5Luj;LsylMo}2T$(Q{-~SSEf2r!^;*|6K7LPRYp=4x$4cx|rw2bA zdld7=M0?BmNTSjtZ&xG3a%i~Yg!R!ICKpOuq+GuRpcSea?ep`oKa5hd4!E+Ce*No* z$*wV141ZF}@;JS-F0P49_^&Q;P8z|qj&#d!LyzCO-a{5nW33+7EqU01B*xvt9C{be zGtgF;v-R9ZQ^d5p+vldhwqydD)gOx(W}U)i?m-YDkm_lK>~tBVooTL63?-Lk9jjAm zOcG~zJBJ9`n|J_}5~r)a=7G=8DA9>t-bC1|QyUqXpIOr!Z$q11{Q`VMXruF^g=a+G zErv)oQT)7TXUKWCq|O2T?W>Ym=Un~u%4`=k?mWw;oOX7?o}O z*Dn&}FjrqGD|&hc{r%ett1TPk<&b`N7nWOpT8Y?d!Wxr$Sf!)0f{)zDHZhs4+#NO2 zU$6P|tGE#MV~VXq#LWdiUG-i7IVAWs8v6HkpZ=itT5p)F;ekHe4V@$E9^W)isNmZ; z9Dez&5Fua1z%cuXa#Tr@=CZ9?|A-M5TvYu66SYB&T`OUGo1T%|Nxe#;l}e{8sblr( zQn*st^G(-D@@;oNrdE0x;nZNGzqbt&7qd>e+M=?b=M7=_EIPG6{Vqs)NHMj$HtMMF zy08dA+xc-`u=??ztaYmFm*@1ZA{Bgg>OS%N9zb*^&yzE@De1N&1L-AOKjzxADOMEn z^>TgI^$8au$ZoBz%XVNfP_=D}^X!FLZ)(5WXe2G>gIQUcNYXpSS8q#rzu>nW822j} z3wjO4ljtvWSi9vmQf%pR7tU6hS1KY|1)J6q2F543*h z3}!2NMl2$y@PyoUuq{PnCBJ!&!T59V0td!EL7I_vvA?aOe$PfQX{gStEaCQcef4!n zmvx#`)uvhp_pPD32F76hdv@CLt?)c<-Gpq+Gj#Ih@U#~BS6=6w2A$QJDlcJ6?;Mg^ zPk%-Csp162is(fN(4e2K7JS!bH<-Jr5&k3G<@(wpxsP=_1ta@W33sUI2VdZA282ef z-2`6!@ zH&rYH!Nfp%lz#b~lr6j8j!pL}b?6bikr8R0#sm`LKHx6a+wFbV*fv6@{kBtvWsv!{ z^qz|89H+yaGTF;c!`_PD5f*RV(!Z|oq%9iU7A(~jT~sZuW6_`-aALa%^ef=YK+Z)Zfi?>{|N7R?VZ? zvd-Y5GYw}yVgG6=A>r>tn0`(S;3?J=6$mF}!W`)Sh5j=Gp#h%84u^6t;e|3{q0G|# z_z%({ZjglN2XKQ)6tO6AI)s@}%)J!175xB-&D{bpebeqDD1dy!^=v?bJDT9`$I^O& zzy23$ZX#VUbenC8G{ZxY>;P7MT8z=_kJ)48^U2Dq?l3z;&&hA!;gNDf&sW2bx4M5G&tWB z=MB8te-9y(OOKuN|EZ~+&&3|f~x+zs<^w#DdJq<@et){UDC49OKC51w4Er^&n zb9I-O>@y0(9rOgW3G&>@3nQp68=qxl!j^Gd1(!>wv*?N6nfBSF3$q3z9p(opbZOF5Q zs_bh1X|aMOrhuE>Mv#?jC@U`O7fn3n>C@@=QY9a1v_{5Am@caDUCp^jl`9+Ton)a8 zwI0{Rs$WBk)6_^%nf8P(zPkG!tOuOPHZ*<%ZNZO7q3Q^yjDpeD%Q82)RX+n_FV1aN zvmE>=vqB*<<@OM8Wqck%1zPfPauWuI&!f#7z3+^G*AP;=fa=)BJ(jV}nvYL21r=RU zv=}dU2m9auGLP|7hl#N_eqW3yYP=rsvgA={e;^i* zUh@-LIEgq>`9i)g@ZDD4XCq&EfMtl{ZZ;c!w+AvbL;(Q@Z-m`pSn0+*Fr~y|qZARE6cWpWSKcWCQBO(}%y(lxI(4 zBPzBkW0Xq{&3KJelZ=F1Vr~7Y$@7mrG~0u@_*v!v4tKKHO#>5pXEPg!j$v#M5!_im!x}S;gR{Nq>R_FM~RvZ0hf8qSW0gpJ3&O8b0YQ(H#vVd_a z_0jhxV{ymAe)jj?)y|Ou=J4ZtMqkxABRy3PS>Bne!f?KE$vdNAF48MI=|?T72pCBa zpJCu)NS~MY^uv&c*`_H+AQlcA59l+OR?WP_Ke(d#XZSRB79)nn=Ji`sCVYw(wy#**cik;@y z;6NeU`x+2|wgJtT+H23LJ)WPQ#vyKc>DQ=4z_+(;cE0|tqn5!f;@!f^>LuBq>@Hz} zJ`}t0Erw)nyBZ*myMkXeJVuExN{~ijzPfcF+e8Z$i;Zu_FK2R&WWc@rR|0! z{ZgG;{f@NAYct{k2{~ywk~*2ql0lohsn1pp3Ir<|p+AACS#Ait-~VFyLehD&1rX*| zna2|MKnICCKfdx@BO~7AWj&QdnXMh&8_9264P@+B4Yf?#!NE+h#oAh83aqJ?CAsU2 z=3LtTp2IY6Z!`r*^tn@9OKU5tjI?}g3o(WQ!H_g%C;jNxo9%#aA-pK!H#gL9!!G=@ z=Qk8f+X5o{JIkjr;g1cOn3r~kj?=^y)97?%!yCggHH7PDs5016b2}w4$B14aGex6N zB-Y)FAWkGp^~b1^as$nBxABboTD3pXrG+ zv3cfF!0zXBrJnVaF|=lOKcOwVtT)d3RWCDQZ!bL@88|-nRNunq5je7W@i0l4P|cslmU=Dl0hsq~=batH9dWB|Rin z>GRw~gTNX`qb>ge#GWTvEyqK-BU_1u9uSH5`h4MxLNr=9n#560aRU)4QVO0n;FIMP zK&p2i!8P*#nNZ)`F6)9cFFU6$Ht|a5!)Yj`)%Q|tG{()k(VSx}`RQ;Hs1OZdKC{Jb zq!8kn+BuMOkCBzz{#2qI256dLg-V1_T{%X2ruc&1ZxV{|f>70XaRb-PXcPa?RrBaV z((-{2R%mVb6s@@W95)&&L2_Om#+|PWdy7p}qKuM}Qk9c2VRcU3Gvi_ZF!p}LU5!l= zTIH~P1FxBbw!~ymJBd%@qvxtMq-M8Dx{Jr=D>mR~fTcD)$x{BHHJY9gn z;C9~`Wq7dHePEDoQJYuc+;L^D67I8{JVtGF*!0A>lbwdWG>1Tv$pM&HCUvtG@9aJ) zzGX|+@?nax?<26-`r16vlY{UxP1_}RlshCMquv~Fs?>2}nVQYdraQKd)>+@ItXGlX z-Bv!cbSZc*_=3eUr`BMMH6dMuKlHpx!eFw&sB9~_XVg-X;+-?ZYpRmH72W(YHhSB) z5}Dv{rIIyS8-Ez@7?7WZAh@6pZlg(P894e{L%~rt}1Jbb{-g*-{1s&At5Rm z%k0<^3`mqew4{p!MF@tP<^$?0*R%{1$pth&${Om!js@*cq7dJTrVMt4@MQQNi-D&Q zyCgQmy6U59-U*>wXzibBiMXwFuu~2>DLB3nhcIo91~cnPY5_ptDAQUV+=fuhPrpzo z2eS>KjASf*0D*5z(eg|Fr`9Ke{5Q8h6NLByqYccx8(<>@i*R^CU(?bd-9dazz-Gz?-oSJGzt~H@I1ZN<{R!Ju0nFxE={5M#1X_N8 zzCRui|2u%+gkS(&mn#AR_X96GOb`Gfq2g$^^I{aWP{7K23Y~CM^&%(eA9Qg}{CEx1 zS~?^M5^Zc;Nue(iuf9A*EIRsi$yQ%FP#tw5s%`G2Z(j&Y5@w09FZ{CB z-w}UM6J!3{`mzr4*(&CH#qw4Y!p2Ix=#XR3*Im*_ae^kJ-~ zfNH#oXHiqZw|6S5A-;YwPut^*UKfP_vuG<>>`&D5&?EV_{HJ2__qQ`G2m=+t>TIQ5 zRh^TeMp#)AUTFKZrH5koU+zX&%_x0tg&<+zR;3P*D07}qzlU;Zbu2X0cd&Y$C%lQ1~E4 zqD=itc1aK8wjUGdVJCi(>r+RE7e=lbUR+KNrUXd{(b9v35rV&oRNlp^1BV$c8IHp_ z!9jv0;MO8S%r0ir#eMIKg(@JE5s>t zp4=KmVuPO+Za(=~Kd?02!EP!?TT0rcT)r;&I1z!(YD(x6&*YaZ%%6K}tCcjo)>OlX z1iH{!C}{{S=95$gao>8TrSjue3i7QKeSRy=)_D=a{V#Pk9^$`6a)Rm8b1!a+7dZAJMwyZ|j-^q!^!CCbKN?LCT^ zaF*lUwnV7SNg@+H*3kbat-$Fk4%I3bns2D(q??CVOZb+-FZdRc=m}C*9FkiPjG2Bv zXFY|@2`068dOJzK4=@?g)KWU>ElEK4^E@+Kf4X;T)mc7E)Vd_}OM^UvQm^s?;B z^SpdtD*0zzOhjbP(_+2RXZ zZ>?}{CXIq>*Lr;SsLG^B@R`k_pwym<4XeTPX_qQ{oAfKiqqM`pVLYE&?V^-SOh)8` z5OJTtF@CxBW3f4{DNILfFw*Vah z{}#@L+A_+M#264gR8@ey7O|OY+*)EMt+U=SIgcb}7tpC<{SA^Hesmrekn1ix68q@>IkB8g1^1G|-b1pG zbntojr$DCWwVxJm-^&g4hdn%gTg&DcECf_edALWUrkp3KaU2v1UbahMjctsncM+I8 zQ|zL`#^i&<%E8vW4k=@!2&+s$5hT~Y+*ybjHJZylv3uxr3jHpb%GF(bN^M*JOC~8D?I=UeCZf9+{xo$p?3X}VPl>L0{HoKb zC%-lc_RUr$;14zZ<@r?AKl{FH0J5n!&yi_tLK(&~va7cm4sG21I#R!&zn&~C>)JBq z;(E|ZUK4OaVA872R`bU1`o2h(ZH_rdHg7mNtYhQ_56?-NgN)k=!&@;tyP8YYj5?n0#j(%loxl;B&<6Wbt)wd!j0J-oyNyg`^`}N%zTi z5k;>c(65Nu*n#`XMe&zqR9)lKvy-K%>3Pl%B;q_M@pg>lx(`({4!XCe=7Z22Z)@)J z8lR#3czE(7g`x?%k7m>T%X^f zJCs@cw)|GC8qeugPW*L@?o4B0Li%SC`SYT5wf=Dj!Eqnl`=Fj{9CADVdIB$f>a^r% z4bwKz!|tnyxPXvS1P`)}3OWuQ6i(+mvqfR);*h``rklQZHPv%f`7jli{XTR9O<#J79>i;$VufbpeLrK!@WG)lOw^mpw@DR_{$#w#mD1Qk zEa^0kQ+BClY+f4oSWaa||C^`n_FD-qYXmZ(ZYTV^WzWafccaaz4Stu|J7&*~VZj~F zhSg=le#7kN>C?4|k;hp#VkH4igNgqI=@&~Q*h}EYAMjUh6Z?Z}E?@P=imdRmh_MFm z+3J_bH^0;XL^cuT2tcs{z;0W}>71=-hAwed93W{4Dox!nf|wA&pj!X1{R!%q$#&f7 z;ON9*k{TY{1bP)g?r4#BzCxux1s1Du6NLKs$m!!EcA*7y5ed|Elnc^rzl^&;gIqIC z)Z)=atdnqJFs(jff(W0IMo+MxvB)vnom{XuhEz+i=f9!#K8%7n9f%_^AU?#<=r^Z( zaWVu6zMKl4Y(Y7w%I|1use_9q2!0QOm;b}av+_`O0Hke*DI!1#X%d>?0|T-kUihT0 zJ{+VtxtKBl%+REmL5K-{aB&uL8U%HKP9oj$gmf_dz~e~3Sf{LLaswCBm8@u%Q6T`F z7c72n!UZD*V+(d-s9~_r8Q5qWX%it>V{=si@-y!!a8=tnacX+lQxAe|MWOR1fr&fHcVDrd`NdNBj>e2DU)PB?)Bs7E- zUu42VklWhHdfL(4mq_0bA&4%1Poa-8n4FDfP?|&;nD&FjU;%KWX%qadSeTGD803nW z?B@dsZKVO0mS^X5x}$^>_}jofrpB~*kTe~b>+rlQ4u0$f9bL`R;eT9>KGwFm7Ln=y zyZ231R`_N|smo4zstTKRy^xBJY~=lxNz;a6}rK zrQgqpr>4y)otY}wU3gc|Ody{V-e2&tm~Vs6B!CEg=*CnS#&5paTbW8lq=iy))C@Ge zOX~}ZS^Dc{mZq4~GBk3}Cy%&m&!`=~JIpSy4BA6orHz>V6XY_N09x8PdJO?~)y-H6;LI2RKpxTk51oIT`l;vjb7u0An#RKvygQBtn_W+V6wsL`?nvU z9s-EkaE{k{s33l|az%5Hq$L3_wGKTIf(j9hw_PKGukNHp;;8_wbt^52UhJlV3xTH#K0wqJLp5v@wKLa9rd(fX@@MxP?LRE+9C()*<|Zp>?4T;;1;%mJj zx3OOqT>3PD&9mOO9QaQya==?`LKtjvld-y_d1TbYYV+XAa_jTqWjq9D?3oQxoUb-c zOmyc62*amq`&@u}h3W-Y4qSC=SyuT{!eDrA?8g-y`QO51WcT9-q<=O^&_8aZcaFKK zNPELXZp>y#(JfFhCPW#QBHFF=4-RrWj#h{i*0Fv#e^fX z5xS$F&l+VuHYk7*bVRU!`SzY%uf>GM1F6I9cgCr7Vyql|Lm*V7Hj8D6B3p(e{ff0qw5!Ndj}3S&{`a9{IOd$ARTZKdrdo}p@AOGm-d_ggW0!^Fn5qzmUU(C#N~zk9r0p6 zur1RL9$q1m33Mgd=IfF)UXc9v#EEf^QHpX(?`x|_`d+H-|3LF`%BpnG(l=jT^Kj^S zyyKhJRvD!ex-y;uPw~&JDY+ptr}&eob%zH}E9Uf@Q=+5)p)l(27E7{CMFc_jN~^WY zmUV{--7tZ%vtS-l>GO(I3x5geC1j>vlFG#P+T@SBKe|;X?tXm)_4H*i*z=)}R=$LR z7c#|VVEsH7(*<=#zEI`XiWxOR!9hq{_aaCR{g9ZHzSxr2&LIMK4kWAPf;gUIAooJI zS7NB;S6$Ypzz)uFI24UQY*faZLlWh3#Jt7{xJ2@lVX z4$B8S-1Zd5x*A3P9otUZpz@Boq9MN#wL6|QfH~13Ul%YkjR{fX^{nNPjX%rSk6yk+ z%O9yR6=|fDhT}M%!K7nD(c7PnR-!qkVun>R+L(CiOAmNAVyVcf_wPlP<1LK%O*M&7 zHZwY;&Ze{2mjCHjD&i5Skzh&5JO6`u)_H4Ak$Umc^Pi|&?~P>axmj&HNs*6(k0u6Z`;Ar>IF|h$=i}Bhtj`GYDgWCd;CRc zgc=Zu-K?Eu zqP`9$-@H|Tc?F3mCMxO;Nkxk6gqAWqm~G)nedsVZQv3aQ)0lIEM(>*EE5mEAW3M-F zHcRjfVSfxZ+uBe9L<%OxfJ(qA+MPd|c>sYhou2T6 ztBJXfN|Qit%+ zppEFZGu0%1PX-s{M`F7LOS(isT$oWlCNQXVlndMjXdafKYguqL#a1RySA!IBz4e!gs~zPF=B-_L|b_mpz=O$bTu>4g@NP!q{EaUQ`* zYCwW2({B)yI_@B}6G(p5GODIZy=0MT`&y7qw@zWY(<-uJ?1?|4)BXcg@^D6V(48pi z2bO92dtM?}z-*_d2|@`}Uh^*-R?M%1v4bjspd4VqJ2Fz(0uMdv#< zm8}?^KEF4n@dWq)LVe=xor*5qM-CN09`Z0H4P4;3e!#r3PWw#^4!&SJ?m^)Q%RQSv~7LgKs!bR zGg?eF`?z5x@oW5>pZN;AKMniE7X|K?(ZO1exT{b(?#49XhePf|%7P14OjhZwP9L4h zmd)oo-e>l+DVn_%z~BpbPg`5Dv}gJcmU?JL$DNVq($gU(9a{I?mz0i`_a>Cs*3iet z!b7z*X3JKT=~`VLUyV6h!Ta$6Ke2VJFokqNsW5-`=sBZmHUgnS6B2Va_Ma0WeO zWTy(bX6S?Mi@uSjkt8vg+T0hpR1SY{1vEtS!!oW&A5@B`$cQcssZ3unwoUFafphDW zr|x*QzTZCpDUSyIVctX*NB2r?{NYbGq|%i(gAkmT5@>QKx@G{ta$6CJsUiP+6etuu z3SoYRjSk}Dg5W~;3`ks&LWx&U?;?`){xF&W`Ljqj&>q(BS<`4}O26l)yNA~8`zFGv zQontr<)2cp`mhpJmT$87Dyy&M{|}^;hg2VjfGwg_UWOc)m@>V*U=4>hTd#f^tWj$9 z)gq3JB+{CPs_JQo=B~k)In`Y5jw|CAkO4aKgY>*SqTeth0jc1u!vGc^`M9UPIpTi*idZg(ll8_#GA3{KZbeJrC-%kW~Zk3M~ZYF|BPpIqyzfWUMHxY z;o7NqdTpW-J~m&?S#OT}V4i0VE6omD_YXJl3&Uwa76c&j8j+wQsP3>_IR{~YWh!Nj zfJUK5$@w;_QJjaZV}@U&u$BFG?}L+7B?%o@aV3es8Eu1==Q?j{8^4a5!CU*bt-{)wO>$=?N81cZf|1~Hj^`;a zBL0y&#U`xw(Si3=dH|LLz$Stq)AZjYrcj-ZAAWPiYp8dz`i0Y$=W878!5l9Cdtbm1 z_^awrDIT&*@S=NtPkqQ+9&>BnaH!ZbS_p?9_Al*{q@ z+g5akFjPO;BFvBX^~2J;RU0Ta~Ho+7^?{(=4!8B z@MYX$F<}f`dg-jl1zir3#4v)^Gx>|zm)D}Tq*tQZNjbMMf(|r{iyquzLrPOgKb8ou zO}P5oSlyIx_`2h)X6lUVXC=W36Ov2F(4C)Pg0#>zR5;zZKoh_E@9>Z!GVtnlYmuD% zI3aUN3keG9FSiFL6yZ?+U}N9st6-+Bgf|Hy-@*N-DPw-AXUj7NK~*nL)$fijEopz>EDVI zT&i!VKiH5Cts@soN&?pkVu^K&)IdvciASl|xC5S2zXLr6o*N;A8nt{8B9N(!i1Q2; zywZB4MmeZ*Td^$~qmNBBA`PD)kWeXW7S^=$w?bJwo3FrkAp(=SPUfeN>%FIzR~Gsf zVWKoaLOytzp)~*h|ers9h zp&NE7Y~8V+HK%lR<#2}b*Jk}P5SSlyuuUqs{?QI-eFm8rnWGHYCoWV*CR{E zFCMKER_lD_uTDSZD{FF-^}A&F(t{)Y*ptO%DHD(3|KjNGT9aIHRCE55OONV=<0d3t z_n({^k6AkP@95rvbzeoX)H##o^PT(U7vZz<(+?s78=v+4fb0e{2^E)1(m=*8L z{?7QjDSYW|qqZADB)^W!B)fDVYBAEG?4js;pP2J=H=9{yFVJnDVV#U@M|rj)>356Q z0QqW0@u!76hMAuNOd5j#5druDxW|JFL^f>cqg8kwH^c^IAe%X##|2_Db-l+6f8{-a`ep;xy89~}L^Y~8XIqJ)g5^X9zDzikc* zA`^fv70l~p>^VFPaHi?g@J`A|7MRzdlm$p0#trCXfJ{bPg1E-=zy+PH|Mw7(-;)tV z@8G?~W6zbtzb4R%fLv)0%nQh-qG=qoLo#DGfN_Yukdr*R4V2-WP>mq~nr|JzliZ`> znFPoT?ZE8D9LuAH)ujM3AbsWsczXpvCyJFzPx0E^wpfLet;7POyx@;O5u<->K+-8P zPI|hK1db*m3Erb#1VszvM@0%#S!<`giG6-cYB+t>A&D&>x{t z*8=_&Mh5(>KBxJy{IYI;QGcbGdLYUtc%}K?V`L25KwINu^G1CzEpL?ArS?@_y2c^r zoQWfk&f_A<3teBVyk9QYaeXK>dwXrvXX7$MtZ++|SXNJ><<(|oiPtw9K z8@z+AnjFZm4&#jS-xk1`OsJ+w>M8|qW&3itX+;;U6Kt^+T7(Zw#TMeCjLh0ty>V4- zqwnuC%hu1q8<3Qdz4Xa;R~ff>l@tievk^MyvRHT=#S7o{a7(V1*8(HvZ6O^Y1JvLC ze^mNQI|O7TP-{uaAU`m)+8ANxC(~SW@gU`H87&(V2m=8W;w43}kP0I+NuD=( zo3=kFZPQBzuiycqyD@owe;xOVGL!{aEtee+X3UZgTKrU#mG;q^$8x8 zv=%gVevznaZTQXfy06vmn{eU!@H^Cd5rToBmM&;LMYi(wa?ah{`HHVdpdR4%L)*aN za#KsKXF-TPKd*=S;j1~INw3tvq-D37=p>FjnYfHqb8W1E4m4tI&w4r=#%-(3eI2xH z)B9Z|THplO`D(Uzy#Ic=n94Be@_OGm#QW zq+Gq9@cd=a@e;xbq#M-zfaEV`nuTswi}@0VZ1YS>b0%kRSwQ`Z!wiQD9JtBS z#tHfA`xkVT%R6o?*@qVXUdPnuX?k*3y->AeRc}$sLg)s!i;k;WU8A;bz5h8l4 zx4gkfoebV88IEuf&n+i|J@Bb;pm-*ZljV*$o~1g7cmFb z>pJXJ*kYXm%MWMI5xlX4ZqRFsvvOgpK;xI6VB!p<60X?L+M*l3lba`LcYkF*S2jt0 z;2AA=_ddAB_HCOQ?%EglADVg(sxae{qU6^?JqQeK(-A`rv zn3wQR2TjA^Jyt01ILDJ6yKgl&Gb&%x6Q!8Z`^%S% z7<$n|A8w{0PGN}(kuFCScSXM&zzuZ=G6xkogT>+)Sl29=3~?i&6=ngt>odg?Brke| z!gdQ!M@RVtUKI&VS)@ozF9CB^CNXHkJ9Y>g_l;mE8ni;PC2^a2uXT`_alO>&ed3`& z1^xM15Sn*=jes;X(n7ll{np8r8a<0d`(5HPYErlqmkiw}d*ZQo&c0S~k1WPxdi!voeBqyQuVvR%!SP(e@A%0>f6T5`-@r7a{+;{kfUu& z_K~GMGRy1etg=#IAcrjRQ>Kxt_z>P6V2Kp+KaiJgyiT}Cwz^SfkAkMnE9cY)WlKnB zE~Dt;cJoR@l%namxMV9nv7U(7NSpWzU|t!Nax89ywt3uUC71T3Pg(+Rl{A)V%Se35rQ`Nj zefXGrZ%fmPo~cK1lE|0PgIFO#4xo`^Z;EsY`mZLSONg>^#=j@%4aBf%mMB`oBbFaR z9PcLvmC44$ zpUk28jn&Edfe)_!$vaW0reO;~Jriwk@S9QmMS8 zVVCRjF%&&IK@!e`2ue+Z%r}TL#15;UaJi(39Z`b3I^ZapqX|9~m zh!u06zs>bAfG>`DB{QK?yx=bK3;a zMgFH}K|ts+oG$P_^6IQyL5uLJBLF$;-qu;bG9%#dUdo1zg=(gD!`j5IK;DI(X9@d-Oqqc-4>gw+#;iy$*+YcM;5pQk|O4JO39NN%8%4N7vDX#+Y*Vy zwd@fZ-{$u_O&4vV&A$kEXj?ephYSVMmUJ4YXXJus$e!(z%}Wd`!?cPEx6Q)D89p=U z?5{)`fHko<9Rv&fdVJ(>^|%#ISFUi`l!Y_|IDqg2?e+1uyVbkht}emA;oUcH8~la& zj<-5Ld?VvLqjfdwdbY!@B%7p_#?rs$11&eO`_*6WWi_8P5T45Sq(@Or#1;Avv<+;7 z7)d<@vtodLceSlqrEs7gLo;xow`?OETxb1*mg{-EE|!^)jJv5lHpjv7Ox1 zk0oQ;_kh0TS_8wy=)=g#;C_hPh-=N*NTO!LH04iWnGRu?ezQd)*5}dqJCn*^LqkU# zPaKv!5PF2UFyJGHLAbQ&kibBh&M z)sJ(Ug4W~Umo1$J?h%u1u1YH2W*Rgd&6yabgv4Hm$#yWDe-z3a7|JOeRr!eHMwe#- zO7H3Y%X^}oe+Rk^X~%f$4{X)1^R@~j1@)!A#8q$Ie)gszJ@0O_X}Y}XK;yoOp2zO8 z34n>-y`R7qI$|$X_?b_W%Hl1bem^NJTxnnJTc_9IB(M7bq^;F24 zA!3BFtdvRWl+5Ph8w{s~4}#21O6hf}82>Y6iwih&eM;KZ?6K9Yu8BR~(Y>Z;E6_{{ zkvf(A_A%~_L1Z%be&}_|!ym=(uo%AA{c*jCc>j$rrETn=GX_i>a*f-@>uSyQl-%%= z5;z^rRMRR?|2^3UQBPA%$LdGrRU8EkpA>GU_bB;PHT;h3Nf@3nda>zb$eHoOE&c2> zkAh;?I{(7*a{WQgUlEo*d99X|$zOxFpO@x8@FHjL-3*|Evb~pdB?nng+m%b|XL_jQ zCSIw@3g6(;q$5s_do#UeYJO_PMYQ2$+-KOSY^gRzp-lQp<4E50d!+G$juSM0NRKy; zYE59Fj?>O@J0S(OQ($F`32P_@ZJ7?L_Ml>#ancweagkA2W8$MW*0{gTf{!=3=Ly~L zs&&?qdiPx~!?Ct@y&ZS#OofsY%=q2EFIu)t*jaqDxbUa-ZS&dACHk5R{eA)nMDKnn zf1gcie=S6GzoUFQFbeYsJ^LT%S7~;K8N48K-nNRXSfoF#6j247c(r9@ls9ML9X0j1v7#Ea2Ucga%;@EnyVH^=P2o7*`J}LL!3T1raGdvEsAM zYsN@zPKzJQQQF?BSSoX@_>6*u)CjoUvH?6zz zPW^#AmyH;TILm^j(@M`1g*B{ruC5)BZ`|yF3P)A2HCwLPfV^fRQz;ChiX>(W8UA5} zh-uafuyit-Q9ClU8)Vd=E(FHVy9BLJWCArt_>!%};t)`@Zx0U5G+VTe)Q>e}5h|xw zP>K)?8BO8Tl8<0W{ehYtqzgP(bd3QdX!Q;nBbz6>N@_1>!JWaGdf$vD?^^Pz4!d>3 zP{+Wu-qTl~>t&_AR)E|@KN<$1Hx3zu8|f~NHF^{_21BDTNX2oFEcxj6a`v?2hsz=# z3xDkNL{;7Oe{ao6#NBu*>}sIk?5t&j3_3M^1UH#Sjd6;+PY;AVi>ZZJXHfS zgv6u+iXE`Rq~(ZATmmgMfz({KlhK=0C+GTgYLgVp10adrkQ#BD92kDWrrLbxv|?6C z`FMl@JFHJDYJ_^$Xx^iu8r!hx-D1h0^QI6k11)(3!%tX`B5}3+Cllxf-}utHWhaz- zh$KN3!XSy~37}Me?tRGbl0atIui~+tGCHb234>kOP>gJtGjtVCpITOdaq#}SovjzHB5gN?@ABYVZzEoCo&3YI-nFex2s+Tc?o8iM$kwkfx zBQiLL(K@Yxxdfy*{4bmKUbK^V!CL^$<3FmZzu<@zNu`+St6$@9e>r^U zb+tGZTF)MD5qLPd{h=wDKD1eP?Y4A^s?be82GKyHh?<20-SAqoko7#V+vS!u_pZA8 zH$L5ZWBRgZ0>swGRw0t8p)Z4YzT;@&7nWua@H}016|^g>Ed26YSBHJY?K?{&V;a?O zmRXaQ9LVGL_p-%Xhd0`u<_S2bJK4X{`-&w9bC~d7hkby@*~x>FUsY{Uq}AG_%{T+(sF`9l82)r%~yr) z!;{boiFZ$vIADQ~U#4MAhA`IRYI-ss2_&l(fewhxA>RA0sdIIxo*U$s|ClKtv4+0P z$Vp=*IFACrr2i%Etc1Ohlx;J>>I8Oh#yvAJf)hu?EToiVx}k?;=FM(-nRURN0D^VM zLBOQdw1Qzx@FDDp0`Po>_G^$>HS3nqZV^+ERTz0C6HLqEu%b(i2*scpfkuRcIDrRp zB15N6ri}vRD+m`8e=&0`&|yil@}dJ+#>_ymSsn&<0%%U{YlsqQ`s8JxC{6)7GFL&; zlXz#eAPB~y)7aR^qHDmM^Z)G^fU9Nd1dB6IJ}i-qsz*sC6t+@^yy(c*!_H_@RtVtj ziWX7e&*u_Qo84k--JpP?^Di=P@yc-V)yfUJx19S3QdjvkuhE+F&BW!Oax&XaTk?TQ z-515?cYV?0#*)D*PLaT^Hj(mi(r;q4&)Tu|=ID)_$f0+{3ELdUZy0)$a<}JOmsyG> zr|y^h{Qc$D(^7`;RpwH)Oj!#9-u)u(#%UiClb?3Y^Nh6fCXl{h5c7m6H>Rh(O&-O) zdaJx7*?-x~B$5TqYs)s++M2uya-Z~VNY88|lwF>*bb4w`Q@nzDDvwgYRNkgGV=VXWix$Oz4ov!X;BaPTqZP;DK z?Ny$1g(`e-XYh3tCDqOH!rBFOgEotAPGj+l>~VP%qZ7g7)2>JqE9dC~M)MjEM$lk} z-TO=2^&kTJ8IpqgnHzND%Cc4RK0sl(;aNhpG=zx-^Ik6J(R%dTBTiq ztGk0Rw{HZd4{IIcMs7){6!Q%=HH`eBKe7zWD!2L{ABJreI0w}R)UdOCQ7(%)z`7M>)6(8 zVB%WBmN|Kpimbd%RayF1--IPl;##=k<+1HhP-V5VjKZ1&AQGaEe-{$Hi% zy{~Ni4EsuIg4v}3f$+Ae%My*gm$bQg$G!KS`o%3#%+aWBGoP#nnQTC`tNzg-q@(Cg z_J^2wcDiE+wLlhE;CkR#Fu^&QSKjgx*Ttr{Hm2JAsmm$eFj7QLM2gY*- zK9R-R`I$@0)NU)zSxT(l%OqH!%HgCI@W_@=Ypy zOP+1&SkYPEu*~CBG_)0b=pIfaTw;7ui;~9~FK2L@`gML@g;YoVGL-^gimBK&>#Ceo zNHh3cdHKse8-tE^-{r3L@x{twzdWE3iJY|_lC8{eFJa7elTQb?i zJr0cHflA#xilsSX6?J zPUp7xn$G*9_cq8xPDbk{b-n? zGF^3UV5~;$ldz)G%}3V*y5*xZ#|*V$wyP)TdIym-I(`I2EK*RHXpKi+FN2o}eQmY+XL-jYjBcSIqCu8SdrX3u>L8>rj)!)kNW~VUnl2j~Yp}b>l-C8N0m3P@wMQ}5I}tZx z#mKA`bWlDc6@XGOGHqx&!X*d4Xn(HA8`1(@+9fBX_rw(5lvUtVsN_lWqCaONy#Kxv zM~MDt$*^u5&d(S*!T?&5F7q8TC6Z9GHq^Q@ae}S8XZpX2C;sz_BQ~Z1T;V$7r=RLf z^&g)Ig1oK1Uf1xEn*1In1Y3o=?Q}yENb~!k;cK5_oNZVA5@;JZAz)+B24M=($3r^Z3?gEA-3 zGtW|Be#LDT4N=$>NsTW1fNtm4xs+PN@&08=2Nf{Ivucg5CxQ$bv^;gjeHlfZ_bW_y zs80T$W1iFVL%4e4TQ|Fn`6Tebnot=5VVb43CfbiN2uNOV=L#3fP*;(hY{(^b%9kFX zSp^EvM5h+K_$NbGO-!+Dmsbj~P=DAeuow$0iv&q&q~6K$8`5sGPB*=!(@JK5kg}K_kW*it6^tLuHoWiE#`huk$(pQBElmjZNdc z!MaAIZE4F0$Xvf>J~}J);%iFLP}V?PvbBp8f}1^bvS z+}aUk!VCG*^{2s(Z>D;{zbyI`502P)s946SW`<`ttM6GolxpSXTzk2=^w)6VLU|x* zbN%)i$xP90eDeIn-2APZ`|3lRsos6#%=z(LN||y~pFB6xe}otWR95daYjm z8f$wz8Wm6n4jAdK?@N3%C$Qv|H-6=tZG=G#B9H1{ zd^*Rew)u1>)r0TKVkWrBW4J2ZA~rEmU;dqh`Q}R17lrZZnUA@`r7d6nSzsmSo%JP2 z@l7?`D;NJ#z}U(lC#2u+;tW}}mPDOBwv{avX>Wz(P~rF@-s~Tp+;aD#n@lsD>MvQA zcf=A`D*I~n5}K^uHeDQOxe$fPyIIC>#i_y)ud+17INW4QJgU-LG(4>KQMYIA74mVs zE1qe>^fa(*nUH0SQBWUL_oF)H)Up)bRD+*XwZQrb*_Sz|YVONSH}>HSy=8bo>gbgM zJSPZN4A0+0t|QsFEaYJtBY{AF26$i|=qI>G!`r>v!;2AQrnPQJmM1_ZMKxw^jRP^u zga47C$ks-H>s3Gmk|kRqatfi z;ylgxR`S@U@ABI;CTIlBai)E|6LLXw$}qkAzDTZ!bo&jr!76A;@k@3;4ce%t@=`^O zpX{8aG@+N#`(%>+vwN1|r5yFzQt_)-&hvqqrJ9oMJ}-ZLmg!s>U#a8N^RE4GM^Krw zb8xr&?GFQ;HMcXAonAL}e_wlB^iucoWZ9*S%e-&XZ%!!*{S(ff2yi@7b7Fyj31EP2m7)@6CW zgrTczyTo|Ga1qtq1OrJ(x4rCA|Odb=ziHMboFU|t}iXnZxRWQTAP}X;;_J=g@^v`Ie zTtim3sQl{bf3Jm29oS!Hly?+Gj9(F8Qw6q^!D*F zC&1^k%eX)M7Lf{56ea@@sF^=m&M&t`QzojVNApduVp5*_+p1pLs}jas9Q?=gFGbIZllzwWE*OpKuny*Ls#EvIKu_uPjvWdeTPy&Cj=MHOg!6=Wp%|k1t z_B{ot?P4uLmXJXFkHJp_|DA+P+kXcVH8(sC{IfPVa|-_^P$@Tdmpw~0*lNe(!Q#c9 z)B4G1D0fg`JG1d`f{S zaW}VLiv1N40`IzH7&Z(^RtJM;(({oEH0HZ^w11wfCPpr1dJDZp=h}?b)rh%pgX!yf2&$n^qULu%4Vs#fW`3fcewVN zRyP;{-%>P<4d13^-dp=u@o?x}=(foUS0oRT{m1td4K(knG)3%T9nN?N2r+Hu9a5$P z)XU%PjA?6lIsFd&(l-f;SZ?O9I{AuO!-u*Eb3bVz#hI6T%!=cJ9C`nN)@kfKOwNf6 zJCq)WQcj0?Y%dl5qL!1|t}Rn{KEoA$y`=W;_WA z+rZiTFg6CCH57-sB=X$T^E8vHZ)~z9(<11)>=Nts_a@Y{2s6;Pfi+U^)EdPKe!zek zUEC&9-$-FIw;er0)F}d>_)i1}{d&qFMH<*YpAg6`xzx;?$HmQ|n1VIFrRCrE^5+%I zX_a(s)T!5BV+qYymY4xfQq2h3-)3khRo6&KD8C9Q^QhtGv+i&u0Z6tSE5kKrOI?Dl zcsavofs@hCiT#7P5YXR`xto;{JM;CQD-!;8^Blbq?*5m zptYRvDwt@Gn5c;zP+POsX{U#l-ufwXSg*hAv7M)@Ws`etny^yPHGTcc!zh@<4t%RS zppskPdUH{@-^g(nNm)sE6D}FExjVMFF0Yr;)P>>O{i^8bA$j77|NQj>8#!~PAv@#{ z{#nFJV8!vRi01RDS?NRQ-bZ^3N#gwfuFy1o7@LxL&??Dt3 zv!NBrg=y0dVnvs&-{yjGY2ta4J`Y8UH0jD{1}d-JdWDj-rfPRz$DFXymm@$7`mX+q z?=XwSyBuzc!co7hVq|TAr*WyCKY+DTExrHwioWnR<}FG?&PI;OXK17fMqN^Ox4xTa+!a$`(BOVp{ajpLsNDiHh#BLo4J(QNavD}MS zuX{PKLXdub%%Oc5Eb+YiD-CAo`5um1GakEI=;peEP`KnuL+y0My1tung(T7Sh4G9d zeYqsT5P_&Ey!dS!_34L@vQ^W4ZQg;&H+^mxh3jEPDyUzpnS+ikS#3~H-pqh6+CC01 zl})#PY>HoR{3YQ3Z1BO{Trw%_ryRGT_$3pMGl^~;vy8#X$_uZhFdH9M=#@!wa#k%M zRgIvEcT0_v78^-e2+-q}sIW*`Ihpc&(IYyh6u>Ur)MKb-3~mqJLAf?O*T6cC&97vu z)?*w7u(a1r=Dt;W0bQ%(TyzPB8rl>pHT|3EPqU~(%N2hLa#WL zuD!F6OwvLp%XE||+26y*JIrBcvcDyVmXEuS^gMNS<{(7A;hQgLWA9emh7v$GsrD-J zo6p|naiKJAQL`;%hRd^3W&eR3gfZ%w(o$t+;r=D(KV4FkCPV1#Y}@wNZ=HnXE0fQ6 znKkRIkcjq{dv-C-*g?6)vD*rfokNLGI@ub&s0 zuS86|@oWD(;U~&nUw?oh*{w=fY+Cqo2UhcpVMz)naaV5tmdX9j<`k<1<{g!QM5W^SFnX>=&o>UP4zzqlpXS1Liz&&k*Dq=<+(W!;sF`jT~~^6^<}u0RK`xO1AWJwmA4t1@k^koNVx z4x06ZcKTYk4?1`-BgY$Y+r7w(xC7_DVgvp)<|JtY2xbRzsU1t&2ML z7}g_Ch=3Ae-7#jyDt-4c`Byqa$HOxS?nPkl_+Hpg?7FchaKw`Rd`3%xUdi8IOv7M3 zHE&5Y>A34S3PwLDjxvOC43gS?;J>UhKQ`Z4$@*oTQaSxkW>vR$P(&ef2xsa}jiEJg z6$>lryCzh8N?x?2Xr!f|O^E!v zlGY0xqt_gZZBxB8ouj<3H;Jz|;YWwh{qV>OG`K`{UTI*iVP%ZPZW{+bi36p6g5bzM zJj(J|deq?p+CB>F=T^4}`cyFZnNaaSi znbb{+#1@-&iBa#M6)NiV=hu`E0~GfdUk*2ymDJ6+(+NqS$dJzMG3cAd-7fYIQ0X0})ElpTZ)lLncu=zieXOJQ0`yh=E<&1*$DtE_=Gr zh?7aN$*0Rq;5BnU5B+%hgbkU)^60^WZ;xdp*6|%0T_wxu1pVs17_2=*_I`IXkP3r4nl+CnA)u1ww=h7fIFz@I8Kt7)hAAUNf#rT-&3cKO9 zjo#>Pi3+9ON-l4q_Jjdum znn=UbaUqOWz=uM^nP~}r;fbN*-VA0rBJ_I_Gr`_4CmH8$jMc)wNj)(+Rg0H9h~8f zQ+O?THc^!RE;Yh%d`0vjRf3{0D|S#Cm5rTG@esTKKvhk-zm@oz`u<+YyK1#BmEfg# z)C$KbjBpjJn#_Bhjb2xc ze$uFAajpy8CN*@_^$U6g1m z4X=9hW>NKup{1KuMOXF(M`rVq4vemPX-F#9hCp87-Lkp_X`%ZJ@4%xN4&>r|9H#T zRBoRdF~j%jSu_@^M94E{IkvbVPtJbR3|V=z6bQwK(j$Aaptb@*>u8AtGZIYKZ4_krq8K35D+6?^POtqK+AYR=EJ z2~Fd#Jo3w{lQlsV{2L=oQr@}%H1*n@@wtW3ma8Cb+fZ^H6df|C6+~vVW3-94PUeCk zbsAadY5NqgP(>I#)(gIXgd`%?4aW#BV*ZUEEh$>D7GfPGn#rC^r0i!E#t8Z*PnSv) zmEk*s8CVCV@==qLV84E2@wZoHw>Qt-d;h!k_7CSkpGdv93G<{aQv4f&^V^Is&5eT3 zUw|p5+>q=i{mIoyr3MBvT#EP+S#GEJTdsi)ak?gXd?93*sNF3DVbYo^P*dTOrS`d% zw;)_3w~v3HxAFeSWsem6yfyq@QbdtTDy6>@>CfbY?>GJY=qf*D(^S@w?FW}~w0#qt<%O;;$L+vxhPF(%-#da=4#p9Cwz)`iF*!?pu0U4&T+36t4S1=4^#F}7)f#(!X7oY z&Mu2DAYGk8F|sd0$k53IsHckFM#4-1#;A_ z#2wr&NmeiFxN=N~88)ZqlseDjVA8SPjea8*E?#}HcTMlo`Dqv6ezIcP*yW~T%h4_c zcY3zW--AOTdIDj1EES$nZ&xY~yM=S57|xKUE0=NxO%V(9mgEv8i!aV6cHaCAt~KF2 zyd8jknMcss`Tx_ge){xvV{FGTqBz)* zG-S+miBPR8I=vfe5 zq}lKNz2yEjtCOjy5^wtuMNoQ$3&Pg{;Zva@3UVP$*Jwr=>XDZOHql%CCPMD!g}vQ3 zFLX71riLsmXWAQl*V&isY(J^;HM8YU8@iRx=d1WUKq$s%VX^TPQ~mhW=X5 z=_14vuH}U?pgtSM;xcgQ7RvNxLOxokO;IX6kpU)+7}R9@kyqwwx)5i!TK~{Zym*L@ zpX~3i3u5zTTN=2SnHjf+<|Jd&WG|>K9F;9(_e9u9%4I^8_NnbMVkR7Ow)$Hm(XPsX zds|rU=ks$++lsJvjZgo_x@3q9OC746VbkaAM|fTGl;BLpS2vMFm@j+adpy?n``e3E z8KGy<*|&`8{II`zYThd*TfMn7SN(~;vbSZp-T5J1$|*|r-Lr2^46p${+;9!@o>ggW z^Waz!#n6_H7=$jl_>8k590UMfX7uc{93x}hfg2(RbvRKHBHIWI9wiA8kH$4&)r;hFXm{$OzaW#ubzn4~p>X~%P?Zw*D%;8AaM$M8iPqoarS*YWby7xdqH zi-KH8rD@+xP40Cb^195D)kULiqY4$%WZKxpKg`xD6Gt9+>J%kf9tLY02;Xq|I~pP< z-r8QkznF#Lp^F9ou-8i5=NE1yncwV%o@L!m)#Kh|9lm#L^`OkxlNhvEwrkTu)?-zN zvdRB_oEY=Q04`oO>(c~3i>SPJI}I4vGST{yk1>Z<7|wW zn8$_F_?L^iy#kcKHh%Q#PZlci;I_5R( z_*qcFGId@BVNKEqRbMlukN2W~e~deN&h+D_N!6t&X0L8hxr>>9dy@N3m+VzZ;e92t zmJp_1o#<9L??d;@&7j>{?7hDjmlh6squj08E8L{|`S72&>M8;{BChf@QqcMwI1bI& zW4T}EdqieQHpRvznEXiQV9TrcCBxo`0}`Aht6^=OtZ*-rrJoo*)}Jg=@ku)G7i0M) z=CH9~oV|QvgO-ms6ki#uiTF{_T7H-om8hPgpg~|Z>b;l3LZNF&7`ORIQVK6y@RW)> zw?KMHq|*wiP~9_&BW2xWd6PMxB@v<`MYq6q*FUSnV}2pZ8#@f&pxZP9kPmr_h0Q5M zbo%&yNuL%QNOiRg{yf%bGB-_q-Ean^N9N+ZM7KKIbRFv1uCS{SL}rpBY0_NWL7bZL z8jHzp>+49?SqeXYpODv(lH#8cLt85lhscJyY9~GdI!ScCR_def_Ib6` z$5h^ClE5SVBuyzIsA_~he5G7e_#lE|=0n6+Eqv+h@ng0Gb{+W#-O)}*&mrQJwTqfo^l>7ZwNfL?)VRD&d z2(@PJrL|_Vxl}|hQ7MvZxipuABy&k_xpk5H{yx8d`NP95pL5Rpyk5^|KpuK;g8$w7 z_dbx=^FI?cY-6Sb{f0Sb(){l{p-o|MUwNmmN<9@PH$<`o4|JaEJ)!F_`&86Q#g{m3 zP*h+-6s^Mh{6qHFK8zAM%LQ!w&?^l@F*ka8VZc4%_0I-NA;+8Un2mI9wj0qde1y9? zdzhu!&y~N^qm9%&B6_v#z4v+=zGD6)%_AYl+AqvGc&m+2;*p^4>2;7+A%cvfk;>GiE# zWIbCG^UGFbwRm|j3O>Cb7u8l9tIJgFEUry_fK?<{2Q?E>*Hmi03Z6{0c=_CKaCZOX z(?`*Ar!C}fC(!5WU-+qxzn9*&%F!Da35VFUPAP1Sv`gQxz_cJs06#JC{G-R@%!r(f zHLYvg-xIk_#UDo+7Pd&)PW!m`b_zW0>p4bl4~uiZW^-4xTp|G1&CoK z26OjwYP+WkY8y9PyYmR5Dqk;NTkFgI3180EjKH_YScBroqR{KEA0mw1o!&G%OB6i0 zrr7LQ`{7b_9OtzE{v^3(jVEjSuXSHwy{(wxMw}Q+9MW_8KqWk3q?6~v6V#bCq)&Kt%>MGH|8(xyiqUXjOZSdMW-vv=a&*jNF5-g z%weEau0%j@+g+rCSo1DZx)u2$j|OhP8bhrv%BP>D4mMq>c;IRknD6J&Rel>cs;|4( zQ1t!RNYBI4A~Iyp6h3aC@bQ92_}$r-ikYj9?v3HQwfCGR;q@w>!@SOv|6MTAAUvH` zcXc>*da`_irQTMp=R|V65$+s3>RS+6{b1h?#C-*KIQ`H&g7NTy4ck2Tccbo}1=Sxp zt+Jx69`0wJAmHAaU^>OuLQqSYxk0^RhM8llkphPnQY^|3W)ZNvm+Vf@K6uh_T590b zuZylPpAy})*a&?@{mp}EV|HC(Gb$()wm1b%TZV3Xd{mLml}Ec2wAd3NrX^rx`Jccm z)`5d<%kXOU34`C#;4}J?Sf0&3Tu{KM=*o#NlEJlf?Kyth^y_bxY9{$W*-XC`vVHH)BeH0)GOUN)AbHM>GmYx$acZ}1$v z`Qpd8B!?$1?Up%<$DXlv_{N^Lmv)KerQKgTbaR7SY;dv#T~_aQD>%F8u*F|>=Iv9` zKEsJiBn!eR#!PKgT)9f)@0ir~V?FOc*TbF~+!9RkO>QcyzDV36V?(AM@FUf+>i^R-ady)?)6?L;M+dJHlVWF?sGa(`N!|Z|Y!I9N+}-S2`HDH0zw{=6Io#Pv@~A8R zlVw@d_ZZ*RS%0wRcua?I`N;_NAQf8J_Rul08Bv18+dh(Owe-INEHuX1+X{N=3Qy*A zaOo2|Q=H7CSfkfV1B58((7kE;L5kWYy31A`_|-9%75vxxr{nZZN-)6u@skT7&$ulu zkKG0zO?H0L0QoP5Z#wjx?4OS?bb;EyBCrW-;7)-OYz+2G%!@*NNU233a0jS8O}q?z zCbg($Z_WR9zuxZ_41nFHg>KGPzjur-iwK5p0SUUU4SBOH2>u^XX+xF;94`N4D;cK< z9zkB)pt%7UY-3m1ybvu#{Bb>0CdB|(Y&AH*K#&#*bCf+0dOoDn(&-SPBaWSy+=0DL zoC=@{cXK-x?kx~t^WQnz1dB9V{5N>>@u$f-y*4dH5m>`O)P-cRc1<`rauYWZNfkQa ziv^G?WKm)KzdB(H>`_{l)8-P%9IPq5IbiP>U0MKDy~hmP{J}9$Lkfov+ExoV8b@w& zx@KY*2_4HYvKw+@Ja8+Tm#Q}AB(ay%$pSeGa?7|6D$Ok(33sj%L3q?=q`JvFf z-!4$?c8q*{*>papT}kfpVH2&K?CAkC6cMu}a=PXRJa_%UGJT_4FERQ>jA?U!Ygtv~KVN7aXVr1{myMMV2sK z0u-^e_5+7Rq@_!;oO|+_41k~|M4Z@zHz=J^fXv`vut>d^9QcgQ?tdnJJw|^C(wHwX+j)8?MdgtD- z{#+@Ia7jMJo;Ihxzt*5dEY^7wm?A`Cyw8wN?u(zR<#(<2*9V{Wlxw(WZa=kiR`qJ#xp@E9(wSXvlgP~%LVw_9hF3dxVfhsg4rE_p&-@J` zcvQTlOlCBPogdwe*;<@Y`u-o_dg9!gW!6^p<1ap655@VK*3AeCPw2Yw_rZNw2kOpk z2$VJ3|E&p7nu{>WjHDxTWo%Y3o@rJ|H=B=KNSXH^Yq*p8XRB+o-04+-^lz!czZ!)n zzbGEJs?7N|vnBq>2l=I4Xu zeYd`OWd7S6PIcq3R2y8#Bj@{Xa4vjAYLb>u-@H_synec32m8yyorvIlk>~EjR&P}bPf-tC=X-98 z-ma9ch`JO}O_3a73d)z`IoeTJkjOA)CJH!g*oou9Kr{;y*cRzjE?fPH>JIO#=gQ}`nL$)_Q47!?diHF3anZpZS=!`loSeoC&mnMFw?Zs%NbQbUmJZQ}60s1UDrc!(DdKj| z+?DTZlhUP21wqb7a<9iN)sD!nW$#Kkv22~@2k`4TgUmsRn~^g8K<>p|E`vPF2Afv3 zvF9RTau4Y0j~Xs2=S(sVvMwfm+0r>LdCs&T^Kxnb#YUZ5&fZ)2IzH`5YU)UBcyx{O zOsRDw6(uRCnx)1JqL!&z_fJ+*@cL+2dL0<6ycn)^2UAbfcCr z@#6cHuj6d9n#h>Yzc@&j{-+!c^td#&!DM?K+D_sw~ekc5lS z$go5GKRrD5j5}-p_TVp^wug0>)u}gI8@rewLL}=Lg>O5ITz>4A&{jCbwa0#>j0V^4 zy04aJx+US~Y@$K_Y!O7c<>vd~RmMtsgb=0{_MVyP{OLJ+!CULA`)V6?;9uJ%4AUDQ^_r>VmkX4!?4-dbm8~qtX(5CXniqQKF4R4;^ z*SS|}eE=&Dls&z^`8&$-0d$c%XO%k@P(@6tm5Z4??p&)_XKkdY# zqa^#z?K;yo#yRbC*_}G!XpCKGcQ|BaErX2ORoHskl9uCEc|Cmi$ z!O+8prL|h7%l0vYr0&;D@uifq2Hc^BMpsDVJkCkv-pJmw63_wn7nG}Ylv1Vc1-C;d zL;WkS*YKEVB;=$uBknpy$V|4nTx5aa3C$a$Xgo60H@j!nBXzVzyj~OB2ebng0Y9d1 zUl6o$M^_-Hju9&GU2t4-LmBu}(R?o+pDl<5l&r+}?t6xlsO zG}{WY?0lY2uba4~q=10{ul>Z_-}upr`f>>oN%!=B7AgDXED~h&lh*f~qYuyf;?Djm z#6Grq`FgTuu|0mCCaG^1a{haPe2=$x4Tbe_y6R;-U!Y=vQu$K2tKY8fWZnQDb)k4) z*WEcd^*TLasFKwvR7gr)CG4r5hyQjL21tx})X!e+bX(uLbX^&F!uFs|2XVd;tc|gS znDm7A)Ciegj0`N6Efm1y@uj;KouE`L?GG~GTFx(WuEe(PU~Lw1e(@kX+uH*I5(F6S zU;dOf2v1gp^npAZF)`*@>HjmxVY)65ysog(g_@&a-wFaEAc_z_}TYNAeePY(ImYIq074xjgx9E_!ah zQd()P_kb_}z6(Y)GH*{}92X#Ol?w2GJrR_iM{kt86f#pM!-%@7%P)t3yLQ>mzI8Nx z1ZzvTGmoKm012aZNnUt?@$+CBTsh@dS zN0=U8B3Zf%=3>sp92f*n7EOqB7c?y@!1!#H!UQ3B4f|U9K5olgW{C_3W<*%dGY1jw z0i{W<=1!!XUy%;yNz(FU-t|rwK_^$+#r_cE8didf^4?VADf0Wet#8ic!g6Tp7W+P* z3Xj@dIE82?#-tgba~9kJ;EU#CiEu7p)rR7${L2qWZpD{{|CHu<0emzP5X7rdyn%U5sh2}VK{aK-47qA1bvxha}ZGd%b*V{{4I_xGzCPM83Hoh z>~(GWW(h5sAPgA0m@f_`@aTpviH)H6c+zMtpLroKr%!})Fe`kh#o5QTvv@i+XRwTy zpG=!y<3MfEg9|pg{mn<7dOJkLv!T+fy%>XDg-;btfD81wTcRVb2F+p(m8c}C1G+(jcYnKW^Vm{^bMzGJ7%d2|UCLQIog@0;E*&c{b^n`}Wq{ z-O+6qSXc`xk@&a`L1K^s{bbL5(=qg*WiuN)RqOm(oXE+%THOs=q_@l87U4xl=%J2; zpPLWgru*4!PS*}Z8B$;Eitd`L+zb9c;loX(Nsku$G=wB`fyz(Dl-4ZsZYi5v(OxzO zhjKmnP@>+A`0#;{{g{DT=z#+@V|B)6(dUO4rXRbi8f_tkZN|ZJ4PQnYXiX<`=Bw*M zPC1-+t|*gg*mdizet>Vr!F#kE=2)?rT{-TIj;DG}TENKTv0{{kU7k>%4RgKsocO@2yurVtGpe*b^en3y747xm5=KKd z=d)g1aO|~92af)ct*Kb3?fG|}c1>$ZU6|jr{)RMJr<)YLsdwU%hqC2;3F+8-u0+r+ zar6qlMJ@$qd)5JeM99v9g)h0Wv!JT zuObU+p{r?c!0I& zu>K_dfU-ZTJQlU#)>V7X!IJ))EwZ+UFPFH``PTJ=-u}XGuUYhdvb`I!dvwv`^x5PO7mvL&EjajGL}f3?8gu`E`|bS+a(_Ku>z2BW z6yvfIuH!9}Xss8S7V?jbf4u{wf> z0Z_tV90U4ibBXaB=m=N}EG$_oF?JoJh?-M~;4QLPpo?HA`6@2b)=EemUwWYN_cPZ? zrY&x-b_xcPjOQ4ja_sxG>YfYXaS%nPk_DT#tV)~sWk;o4@eqL4VIw``arK0n@}oVZ zPO_OSP%#^n$}7Hj{_~)6opzps_D1jiT{5eo(oBRpXT->IkI;b5#h{>iT<6A~wprzS z?LDOb06#!rzfp#i_ZcNq&{tW-9H;q3sOyRw*>pXa+mG#TptbBdQRMw#TO+*1m9gwS z8aoqH{<4Q6KSbJaW*+ls`Y)*?9je-bq$oz(527DB4wz9SeVfQB1r1*&nV1 zCho`}qolVM!L7os6f(CF42!z zfZk9djsB3{Hpv({ga;Ba`^xnGW&?fiogHxjD<3Ql-}v*k_sGW^FoZadf`89FKx&F~ zOS)h^7@j2h>5qou3o}{ME>JP2b=uy1NBRE0cVnNU0~XFGk8jf$uA%1Lz8L5|L;q~6 z$-2)=bxPC)$5(h{{}ZfA&hgFw<{AAUSR&@4fRzQ^DU1fhFePVR~^^t#+JwkcT(%g5d3h#djFgZ6C zx8N+1H&*rg`2^S51%@LdR<#BkvNvsfTe$=JLG&;Y9HqO!II?^R z=?2+SN>b_O9CTAf%$ACOPDZIPTeuoOZl3~oBDQLEHp2}-3>UhqWowQ}INxp%(?4r7 z>ecz!4rbLdMe3CXBqxiM#*-(rF`Uz1l*f;fUzf{-Sv==6S;)Myhkq7{yxQ zWdT;jLsn;>Jh*qcK3`_+QRS4_T#>mUU=l2_4{r9COoRyl+Z#?-{74L^PSk*Q<6ojM zA5HZ^ZF0~If_%benP7hn8wBK|P%Z+AnDLzPb*_uHJq6?~2ruV4O1CUC+=Q&KHqz|? zj=5$}Lli3ChOfy7cU~QOqvl#B63YL|uDFST4y1hRY~(F%ymT zk+o!BF1qqY-brUu? z_j@oN_8kMUDfyh$ksU}&Zr9|~{H}TcQRF;(`rkAyns_C~z;_aqVnpDPtD%8I@qBp` z;^^yn8Bk06h2ETqZIf2C^E2L-je4wxY;n=irV4#t6)(k}Ug%YoN>b!ekTe?YJv~1H z5w}BZ%VS|6N15}LxIEU-T!%BRTX^*20@Y8uj1bAXnmXLnzR@0y#Shk3K;t4R6IY%_`DEhOI~KTlpoCRWEJd%;T6>BXY`dYtP1}Q48WdxpCg$82=!*s2e~&^W8#s0{hjm_GXT+Dm6b!ufVQ)6sw?(zF*DvIi&TXvBh&| z;rZ;3ZP~oH*$un?<(KNC;D0fVOBPo)K4f)JYG-I!!5j#Kj*3N4!srbQ0m^24N5b@9|Vmw?mKeG%OjiWeO+gXm|mXd$*B6AiT zU6Y`*7b9%47|m!#KI8y zz&n&^WXm@qf;5hMej0Cr0hVo3KQMGtdHLte*#ROmYdJP$MInfoT+Cq*khh2XT+}5Z zo+FoTfZP#_%vpBuv+aUiUNGP6;wpjcy%Z5pmuitrCvf|~Cq&l{=C?DCB3`!WJhQg# z7RgK=$-m5oO*72@17zb-%t2?R0oWlEBIV29_*Lh;m8q+jWkRc^D*{yfj-?t0G2W+M zTc!4P_BAbOSfST7Ap#7^Lz<-36aL}wN>}$3;XbezFRd^Y>2|4=K9_Kw@ z=heRu->dOl=|C?rf{{{E2P9iV^M!Ri?Y89!v+(}fv3qW69*ns+x-l3FT!V$Ns3tfM!A$3J0o>?FMNKi(0f7sq^g;+Zhlp!|N?0r#fXqd&&JaQbXM*9aRZ$D z^|7)s>fe0j8S?sxl@mq5P-8}C{rk&zxhGh&84VXJbtXO=_`mc)Z|H@p0T7CYn*NZ~ zyIm%N?1+9N-NcJgNbM?-UOS{~9io0eM##DTh$WREZkkVGio!69_8mk+QS)BFNJg4X zvJ&QWz`X%)!!2YG%{7M#AjqPw?KlPEC>z#^+qZ;0j`LF_1MXJATsCYTL~ekX8t^w< zDAngeo&g)S%J7|XA-~_TTqH;dIorh;F${pI0oy4^y8yJcSMO#1%5J53kO(cwx`$B$ zZv)2ruyX40GwzU4r3(}h`Qxfnq)vs+D3KZekc^m@Usm~@Mqe7xyuD` zDW{e1buCgYY^OkfvG&jMJv?D!1Xjz4npdgHLkLeN)4;)pjFqALFC^sG01O7s{~p)d z^cW2~TnVZNtY;y44(ojg0$R^h7(_a;#e$5fFw5HeRi>qReuvCELc%zK{8Y!#@ZWKv zByeg7Jy1h+K7vMC}ui&@C{1j{|xLqFbZ_wOD+i7gOM~|Sid)rMO@Lge>zUhlTmU5)kJd?bo3T{hjI zl-*};mUbYA5_|6j%}pToTn3Lho|A=2#EyO?E0X<{CHx)Rv#QJXG~#7U%KhwTWFujS zdsqkn&)lizct%D(mv->r#vc7Ufe{Qu4+eyE@a(_hmSn_8;ogmEXyo-d$wxcA8V5S6#v%X<2h0C zwtLZ>zxb>dCkvJxQkRN|9P&8%WH&oVZP7)d=yj=|>36uEBnB!o^P?TmN`6Xr#BEdK zrAq@E+5Smcb`}OLQ>;7OdHljJx9zDl8>r%6k~y-3RTs9iaNS9`Gek?9{<4q@_}@l> zO@vmH8XN0Z$R#iesMOVG=1O?;?{MQ>K27n;_JBE3j8)h!uwQy+s>seETK@0X@&4kn z*smB!85r!AbvlvL->l&mWo~9CM-$sZLL_T;6`=lNorK}iWqbD1dVz9+#LMLxi z5Fo<^j-E^wT4mBC+x3R3m1wlf$oVf%z@h=Z&qlgb2g7gagt_x+Hh+#z{V2skm4fgO zy@Y)iJQN~(EoJwN=XV)=qHUHgDV=Mae;iUDlf+}{8%zzmf}k;%6#kDe*owi@Zk!eS zAFk)tMo!xxdA19SBgr?{wZCA$c&G~D7gq#^c_Bv2&z%L}oq(gJZaY+?gD7W|4g#O#Jdz1h7xMDj(fgoy#sBkm!-G}8iL}hm zJ}myL4O`GSkytk81IBbRTpTqK2`*4_%yddz3zU`5C7^hIL1iEb!~+Tz0Syq$RB+ia zXfbvXBBg@12d6lb3TsP7$UhIx57T^M;b|rt;y6D@jer6_z#%mtykI{`F)8mrV59>f zyh0K^f8C^lLtASXP|g<<&3H%__hz`jWoCv)%izH6;;L191~xiaH8b5XQ6ueQ`ONoq3&gaz3SPWiTPhlW;c1qFPt6nKfbt>Q`g19#Ru89~pkpM<|I4SQkztElU z9-?>})m`?>#I9#q!5Qz*Cr!&J+R-l}pPk_pAP3C@3Px0#8{&2tZJgZbzjF5H zlkDCBh2b%A@pzp}wl@{6%2#&uFU8)d+%y)`dJ~@W_T;&!$*a?<>8=u#PMuJ&B5Nx+;CI3oXx6>?rW!w z(~b0Cn_W_&zf1zJO!(9&+^Li^6DQuHoHKrH#IQBLRQ>~xIaF`r8xc4GS-M!wdw~xN zd_LP|qhX6acBY2yy6k$kYhYnRC$QR`=1#hFoK0Ik`zCVq!Y1C&MZZI{V9>aP&x>i|bI>DD|z=tD%YOKVkAGe^%Xk`&#Q* zan*$jq#@C-=(Ka@vPzyPK+tZ#v0$%d`SzaGiDHG!bFyhJZSsrg)B4^{AH&oRiu+$I zZes1SxjA9TmVcPBCRD9=be%8f?>_XCE7wiO)>^&oc(hb=w&f^Yzf!fN^vtBqv$SUZ z#CXL-4L#C_iNCXRH=1~=aq2|kmuBTK^>@E>Yl7x4o%6O675#cpPJ27(`lFSul&QO? zuSx%%hdc}uvO1RBy7?&4-J*8bKRR1@Har(IBfIhT*A?ff#r9meJd@I;<--N&wMSv2 z>EyXB)b7s(Mk@aSa*)l(_?y#}+nvwm9nw6+zm&DF#lX#84EAKX+D(!7eEtsrX+yF4 z6;*;%?Rqart zJiWK5m|~UfTf+q(hw6u)CA}qFEf8bmOKiG1UT8zY=2eQw1wFS!kE6;@3|a)eWSng* zKCb7G`7Rel_Hf9E_&E47%R_QLf*$Q+CgFpr;?shg><;b9(NynX7GYMU#6=&~Tyo8h^ z+#1inJ5)Sj5kHvR|r{LTB6X6F_#uqX@kz;Y#)unu13?BxmT%Akd@t@`=5NB3F| z@)`u7=}_g2Xj!SiXK4h)w}*?a+}Y=EXE{B+Uw5BueDbu3)~UQUF8>f2ob>T0STLnK zbUGdNk3EVY68H>4l+JM!OP2t@;*wZF=)?uFu#{^gJHrbpCgm*x6vUgKY}$bEYC9af zo|H#m3^=Gc8i@f28Zn&mL0l3qH_v#(4lo`N;G?FgyVcN>l>HSPwR$Wb$&5w<3QXRn zx6`i@)BwbO!CJloKFJnMi#-BYv~x`Xt!Z`7oxfOtVl2uYeogl#2cEh<#iQ$XII5wU zfnfLH`IA33_^q-a)MZ>$o7#Gbe@@;=G6hf|X6{>wSF|HnK_;S%Tp(tb8|5pm@0W(s z22Ulckbb*UplEpPdWi~3R0x)3cQG&kHAsiUjd=k`Afud*lnVXh$_!+g)^VTcGGJOc zO#jsN)CFfW8aE;SxDqNG0p7y?exFhzU-2e@J$+kgZIXh9Ds8&~qi87dM;A&KIMnnN z6p+k@S?79p5f;Z27EZmgPZX>zd>~_Ga<(4!ElKqTD zP6^=+lvBiEn{3#M?Sf+{f2@eMN8HZmk_?!F5XAbhuzw;DSoS#+J0a&iJi#T#xBs|FuVeQ}oJD(_S(k>UJ9txP&@d~^9?flW>$+p$>;Ui*#(jCx9 zLKih}z%6XE;#o8Y0K1qz#}0~z=ZBembL}^`niK{{w1?}`Y^J%}SsnT1XjO`ma6De< z_9cVW$)bAePq^hfiw=h@0=hUKv&eU0h`IoD4)12#b%zjVJ4bdjYUoYilqk`hwJDr+ zi8PWItY~-jbqN=3CGMU~*xfSogYz1caC+aXz6@8+rZEGk0HN7-2NMm8iZ6>2E?qiU z3l2T02JLd@@S3u}gA~kpa8urOLnX7VY|#qYFoj=mRto!lT{T<40Q#5=)BB(jI7QFz z{PS7g!Q)y`y73=3)Upz702ZEc;mb(YGgecXUn-sbFP{=r2JTDLb9eVsot z&RmD~`-^v)HF6KU%qLdQAMMQWa& z%I0W4ig>|v7lCCkC_rsxtxI>}Djo$F;%^44UhPqiQy$4#P+wzX)Vx=`fc zN+(|~6$mhaBiXUNGVQQ6&{!cH-_PbQ_bYnq=niJt8Q=iOXB2PKKxvwuu*F?u{;LB8 zR+z0`O?ai+G$>~UDYS+2YLsAnKNRe9r%)ur@$IT6P0LOlLI5rm{un)$-J#Wi(6xy} zt_&6V-UAZ_e1QYB433Te;}QWov&M z@JNDU=%b){tLFVCt0NRicq*Ov+1mu1`y&I!aTMTpZT~!&etop_k z2rOlXL?!w)b(Me{#%7P^yKl4niwXx?NS`R<9^s}bg@KLzyJ$Zu4*N+Qlm5%^b+YNO z21_L#^dQ}^$iezk7iPkh+@5LhYqmI;SnxY3^jLEgK327$lvtSAOA))bPH0GX2a9bDu@>s?rw;G!T;o{8H+{Q*6~@Oloa2GIlKsd z<#hYt^Mqa5@iLrnQm+i2O}A7?r|i$;<*7)50Uj|L|5b=t0U!h0>CAF9S4tR|SR2c1 zl7=o25c5=NRN!TWd`guTs3nG@=!xYJ&Zg433Dzp+-zz)Fe6kH&)l;GT2A#w8)*AwGd^~bNcYTAf zH>wHFpk?%#Pv6^6*t|xf#FrlUu__k3>qq9K>lD8}ID{PgBaV73-~JM&N58D*Q3owR zg-%X&t-0ggqoaKt1?oq5v5lK*eV}n!*P3AVI>*4B6#;ZejyO2R=4wMx1@}iaY;>b0zIJK3$PVa2NMMg-uN)Xq!RxGY->%p;H_1|%q z4V0gqF^z7_JdNUS=)FsBBz4w@5d)89vP4h`p2tTWCevOG1g>{jJXL<|T=q@Kpsc|v z_>-1Lj9yNugV&@-yr%{^=FV(9`T;3WZ2ta@m9ThCW`nz?%|uGoEs9O z;@+EHCqG82gg95J*FB3C;|TAEk3E^Sn&>!%4 zCSvKQB6qLDFC-7$b)0EE(db+Mp|bt1SZDmMq?R;er16asv+wG|{ziLOTx)rub(g0?_QM#tj41WWx9U~0GnTC16>~3VMxVTq7}V?gRc0O*BF+Be_WI6DO{MUg z_1uQR-w*$Odl>uW!YlQk`ssS8t&%&M?BTvdV<^}1TGMcAr(cNc7c<0b?H|*VEtf0L z{<7YDm~`tjZ~j%iPkJXfy`iGDeE$+j@&5!|&(KarFKakOgmUt`$Af#rPECA^q8U3$ z)?jHvbDOU{LpR$RH;qCD47oi!-LqMc{N0gpU6d&Op~#QHUM=xI1un?z%ldvi9Wk?R@F)3jWt&~O{OD{9l{fhK2+PYh z`r|H%@#4xG_5FykeS!gD8Kt_O7k*`N2;=AKFPs~kEnU=qvNt2f=cJ~O<|r+o@tjwl z(+ia=Q&**WC$2c&yS{JiD*T~n*Ne5R>nmrq@4qSITAQ30s5%*IBKb$hNmr?#Y?U&y z@9!*6?Xli$?Kj4|#+-V61o^>_2kSC(QR_Z$^($1S-oN!+Y5TN9PU~y>^2a#->AC(t z#=PUxy{fS%m+!}_C9i+DJ4$?;fED_b4(}0PlU+Uh$hcPr^RMUdN6lq8dZ#C`u zbaDL2tEL9%_wu%HI;iLBAe8%KZ^XIwj!%5rV{%Ql#?jobCZ{rEpvr zo8M0fjk>BR-PEzF*>nOh_ptJNome=BD%?qMH2SK0#PfUQaMve9Nlm}M2J`*7|9~5V zW8Z}3-Wn+V2S`-iN|ITi{yTF`$9G~=4h~&=^!%*YH{Hd|%Fpi}>dJSEBKD7t9hL}a2VRrQ#~X0BQ!2wyy=W@#$)k=XcnPsLc=rB+}L`0H_oDA zVEnY%q}QJ}UePb*6GdCqbYwgdXXPKBF0Drg6@Ol%rDl`e12fOlimPHRN8T5ooVoJY zob~XGbQ>l*l-gUGDcR(u^O=UB{P5RH^jJb~AjO;`CX=}5OWj#%Q9+71=p=+tB z_DltX3Y9Z2rY@AgM+zzPywv_?nRzOf!WQ$-qrI=Y8vPvP1_DAPE6A!njpioNVJHfm z?a3>{`Gt32N5LKv)hBY zXnDsn;&T~rC+a)psn{rEBk4_4tfB3;gJ3`7zEtBnaf zNH>0(qT8?JMvK;P5Xvko!-*{$PYrlz8ki)wG51MNxxnH=gC6seb2%FfkSV3TYM%_6 z1whM$hr7*h;cn1N>DFUAU0~n?rhqB(jcQLr2*tu^=2qF!$=BHpBchOQ&};BjIxy0; z*a#BfPRb%*cr7HPO`vF+Xq&qaM3+f4f}TipFdPTmjRIefkgb0C=89hi%8WgN=m@Yx z?qm+$1Q@6C3an#Fl9wC-tB;ogoO}sFOlyTrP6R?L7}B__h#V}JQEwECS7khJReH>$ z$R{(1NOE0v$SBs)SWf}b%>MM2^Kt^H^S*aLWh2o zKKOr3ww1OyUyt?OT&IYW1&Ur%&{K)QuJq=G+4wmcv{yiyfcw-0$9+#VMuEk*Qm6ne zx*L@A=Kb=ZJ&%Xw5PWs1Lb~)iP7qg2S!4hg2Fi#iH)N=vK5kBK5S9($BMUX2 zUIfh&VlEM+pB1R2J!&Q+`5pGPlG}s&DWY`e00P2bS0nXenCGX)Fpg+zOm~WNnVpr7 z>OgVPQ#KnGR_b)}0e^wvxW>l!e;A?YKj5_558lDg7q}AksC-*jh+MYE5_PL753Yus zW8hUKte)GL>H2d?vqt!{6RgHXg7g@Fr7>$(2{yI;K`&urpYpTJgxxB~fN(&e$XnR=&GhYZ z`~t(tD4L_qLCuK0r(Irj`kF9cWwb#MCjaQg(bgvK<*^8*Oi(j$Z-E;>$Bd-WLFwr~ zFmk9c6c|u%FrD%OMF%GXC~zbK9(?oHCQ}gNo8YusJOm;y9^yd$KhcN{EuJp_Wc}=m zZkJx{|2v>|HMqz1R+0U7(gRX}pxRR$Y@GH_>QKW9C09q?c*V6{U{5+ngH?u`mS#e& zA_#pL0Z2hMpX_hBu;CUBt z82aFBMv`~aL#clQhuVU=gbY1(>32VDl*uQrV89C=*3cb?fOlt0iKWNX!oO^(mRoM4 zP`qgT7V_@x*h%+a12Vd;a9*}3RE*DX08tZi1CqCp`+V78djnvDkM|~}nIQ|$eoaH( z?d$Wbq0-6@T--F~)%Z3cPP_H$WH;oy)L`gXPq%2ScJrtB(BG$9jh2Pt~IG zvb-}Zt57>PQ+K`!{Ewn@@n`z+{`h9@mmyQb+!d3%VZ)d%?$^1MOS$D1!rX-+Dlzv< zONh-SQOPwFm7!cm%Jt)Zza+O@>ic{D{sE6Xn)lx4oY(XDx~u&BigH%TQMs?A|Kdx> zaBT$srjdMODK*0jzFZu^G1b#oCbe9)#r?ue$=s0~ee4J7m9CLg06+{w_r*Ae65-4y zp@*=S(>_Ixe$tFqOK${N1P-=v?14IN2K2HFhzkE=5T4Obc#1@OG;9^Db%X-Vn*R^< zI?5WjtsItwU{?i}3lcv%(E%YZ3Ab=S?G`>RVeFx)>KgzH@7zl)OD1XcAfn5NIk3@M zGw+i0A}Qn8My)Mw*J!bbpR!`zO(9NJ?P0wTXcrv>r6p{h|xm zft6X0`75(ZFlFi}2|X$kK&0H73h4sDdj}oVN$r&bm@R{<4Kfa~mk?y?x41X+JT>L6 zBKDWL4EVwQT&q6;nzo-a3=!#6n+y@AODGeT*A0&L5-;_`QaxY2EQCh9fXGWO>HB^{ zC`786DQSH#IAMQrqws){*IwdcsX&ipjhE@91O`E_&)%w&iyVYG*{P#`So!uB7wASE zIJ4U}56y>aGs|9&lz-1!pDVf3GG!Je8ehv>A6epdE&gcs#5x+P^&GCiHfS6>uNkt9 zWIF>QkGqC%4eb^KM|mvFk!{7kdJ1S1(fS7&|6m_YRgvjNG2?-CMXp~W@PvMm%%1+W z9DbSTQ?NK3c=;LHJX{6?yaW2E*JYKf3GAe_*>>xZL1Oo5PvV~_CizhVRAgTjaW)10 zwn(q6eLMnXb>FXo04QpS!oc-5*cF7CkjRu3snC_eIIN!ZD8zYIMKHhG*l?{$^fD zS(R2j*ZoOED(SPyE6vv-oRPH&qTD*WYJD|9By|mjcjdc(WN9-!d4P*HEoi|kVBvw` z+*BYdzmLU>XIbmvnLb&y_w#Pp!{KVS`_V2*_d@j{n7L|VzV+D39>+{wUHXoTC>7uL zd*0}^z_TjG@4;pV7f@EKuQih8Mq7JEh=E3!#9&2}!(P?>vVs@(!7I76 z$Qqe?XS*9YC^iP(Bg(q>q5K&h5S)92j6|F)n|-2>>ud5{#+=#K&Q!a(RK}oR4n=q# zm-5umE2X7soF8`VeVi$%#h!eRmNhh|jAxuAQ_W=->8ni2hJzB znEsoNm*M}m9^5>#x>_yLxjDY{`fj9xfOsIci)`GcNsFY=Y+}vrxOc&mD%sr*d}vRrsh`%tf7~0A zzxIK*?ITicD)YsiUZ+C(_w{{|2_eZZWX&bXr$0#@*0;aB_kH>C?0*0a|E~B4D=IiKw!Xd5Vh-T@KL@9F7 z#Q#9nWbvRwYavL(LQvsp%J>B3f1qlolX(h6im#umVu(|{*!i*?VbVZOfjiIA<@MN$ z5!WC75_hAY*L8{a__x)B5S3POfN%hkg4(*)`9VDBfNuJ`noB(Qhg-F;CJ*}l zBwf#hAQ?pps(ibo2`UqRYpCbLpAKHn*jIZY0YYPaFHbVIKccNL2E#-7i~TEgie>8B zIPK9!76)ZRo+R}JRH(KWzf|T@FmyJ`=Kg*~5DS_*;G=1&V})ba#E1677cK!3az#|g zh7lPO2DBC#{SS0tc>!@$mW5OT_JT|Zx9o|0Do6~2VAn*r5mi)tj7mV6^z;g2^9o_4 zBM>WoDnOObQr<9%*H;4iP1zSlCbGpuqwr8Pj2Pdu0-#Wx0C%iBiQ+tG2&V$OUoLI2 zZEqIIHS<+8rRNs0*c!(bptB`|NG#m#=llc2+{IjW<8jQh!JtK;f0z_?GGwkCUmRpo z5B!*Lm+uMo@~kb7FR}aUd4xQGUs- zMLZc2k5L|(AhI%wJZqErxHW_CR8Gu&xm z!;FRC#pqVZY+-$s^Y1V)TqHLNWmwGVb*#i2+x!AEB$PD^lqXqvJO~nE`fDqpt+Bs6nKJ!LyM*{2>mA=ua7~m8Nzw9fhBb(qsK0ebK{__sAbK(ldA~4 zrH_^xg5UT6C-OBKNRB=I zcFx4rTO8ai6`Mma%z7{IZnSQEnAqgLR@nDjneXq64AqLRlh! z94dabh>J?gSP9y|F??bBJ2zjJ?ac&QJgU&lw+t8ba|GRyRNOJWdJaouh^+7zkP3kf z4ek+JbZX3U;h#9v$FR5^9P3X%f1wXK<9z5%3n!ZdRnaLi&!@uguPr@!_bwb;36iZ6 zS&n(xZX)Q8vMT)m;*7PPu8fe#v%DjOXrAvinA4e!G`TSVd;3nhRJdEtDzk-~M2W*Jr5FT!wW#6O1cg{aA7WEeU@9u2QGz{5UmtbLaGNjPI_|Y+32rG zigNQpInuBjRrZ<+2Rcr0EY|@bbi_~?dpcUMK*Fv8w$?B(g)o*%__1N$Iq2YuC;~c< zQj4%iZY+rapbm(rA*km6K(aWE*H|uLgLV+#NL5K{p$Hd<1q4j|g(r0P8bym55d2^{ zTV#qpd%C-3Xf(hkPy#v${g-o&NnDBtklXX^h0Mo4>4g!)HuNI}5YhP4)D+MaZe!DU z;0jbxZ0%bjOZS zDkrcNKZM;M1p%5YCoifrPC3O1h=XF=D{p#SeITh*&l8k=Y;A~v09`xpjP02o?~Em9 z@Iyp3qLkNqU(|7naYupJGY8{p#4(Z*IlxObTxUD=f{3}0UIIIM2BV*%O31AT=-T_DQV?*>71(_YaO39^l!hRzx-oHjLvt# z64163WQ2h%jvJqu0yrGyw+|Gq7LqTHlyc+{fb+Ij{^(^sGOmt^1{{I|-|TGuIZS_6 zykaadG2eDfp3rn_D^2#idQ3~JFJm9~_iIGiyp^WtJV>_`5 zy5W@-_G>x{K?l04mSI~@h5(Pwha1?c)bm@Ti-o6xIk!zcW-8KM>CYPUx#Oq`ghEbH zV>>X{xB906hFCMhBSm$9oqr_L-KR=sNSpe_g4z^cTzaFtV{D}Dj_S~g@4~7C-yjqr zA34*Z7+RFz-8;>LIytXcrSMxT@Y2tM{3)|VOftft0i?mI#Z{98U1-jiOH+cF>Fl#g z1cDsoSA^Et2lXB5I+*VLpepDs0CNyfV0usgOx2|5U;WeN{4g{G1rotf#9WGUyxwdW z?Qh{&RY^~&o!$HUWtnS+%IU@+<*C9HtrK>qlMqTbaD5;`c1SQqKW4lFfhKtwqeLZilB5b4%aVQHxI%(z`Y&+Y~nOkn0>IU156;6LQ>8Hk5l|n z2{6o@1mSLRqc~UI90C?T;PNCuBXk^8aQj+TfKsjA)pDai9ZKj8!{DeyJQKDG8XhyX zXXtT{rY~FA!WC~%VSF>VWJAGwbRN7&;19l%702ExBKuTSi55}Ki@*!`*gy&RN@)Nb zQ10EZ{#|(kikp9xc}Z*PlKFc5?%T(b!tWOvY#Nw~qg}F3>>gyXmbtVWc8@(^?zAiV zuHEKp@VoYPC&Ah1@|#qlJLx{z!h7`Q4K}7P89u)PR0poOaJP^TofY*HuZ?7VoeH?u zepz(h*MFQ%9;fkQ!-7+}-_-5usQ(FGD5$8-#%btD69UhVUh78^7iafZy)VnGvdnuo z^X3EqLKLdaz8{~pQqbt^DZ%(nTcXHK$!YIqezu4kn{J=0D&&_pk!ep(+1vjz%hE;ROiK>omvA{!912 z_RMedzXcOY#v+I#+#=^aX%@9IFzC+RIl;g1#PEXriqNP{u`Bh6!&rxT% zh)P8DSS;-OQmAA8-|nMuyY~?i!^KBw5B6EeRQL;xOTkHYH+qZQ3|FJoRE%7TxZe?N za~4%dcRx1$qUAGe%F@9j;lAz6ndO~@4z!P3N)`Pug`23z`Kv*}nMv_S-~^kP_4faP zSPv@*^%twGNagL2^Ftalk73XjkhLSe=^`G(zldchT+Y{ZS=>Wcp7B;iN_}we^tJg>0ETAxkFw4_8PM=*D zg-yj>aDwcf>>$?JnZ$by~9L^!$7Ka;bE3f2~-4?T;RT!vuo;rfu3|7&H5E}r;~1=abmvshxhL$`=ZUgsMo%nt zLRS69ANE-uz&4y^2QOjgJse%Z=k{#o>s zvU|d90|wJBE!9em`MhMqv&!uY65gGl;>uU!2dkT*GFkL-1$ipM=z{INt7cMPrk`k# z|25r{3hH*}HCUaC6m>}1-urUPLr%Zvj#hAD#aM;rs90Z8nZ{SP8>+ppn$P@$81dBQ zT=7g2FAMx^J?GvKrlzLbh!y^PbWz}MgF5`sd7ewx=g#+2>LE>QLJ5Z$B; z6JyUP{*EIO7y(fQ!VQNzuMc1OD$1W#|9qd-Zn$ImeN#crh*u%Z{BcKSEWW-)?VW4? z&$W=hZX?!%<7_$cS)fH5d_0g@emWqbs#9Sv?M@yjn>~W`3l*j4 zY~A(X9~dE<-S8>gyl^BaJUFhXdhs1X?s<^oc1dN3Rw9(Oyq}TqWp$Uir(;Uf4i;Xw z%J)c`JIHS(zk90UL+9IimOjE5pu0YoMUzTO)c-7=qy#G2K0|U|Q8mh7!B%1)zK+6! z=L?b$2e5N2PWbR{-zyiwlmWr$?#4cqIa^c%!S1vN3@D6*6Ff=Z0&tY-2ZB(ns+mM( zL#(PvV(KAfU4;pRMubuZQK`Xb_yKk0R|(UGp$vwKuw-%_yyX*&#ZaVne=mkpB_VVo zPX@D(l3`C-DUgO91vnbu%S~Vf;ACP$5F|hz;r&Sx`1y}`=4i}=C}EjJ=gWI1DhKnB!FGZO}0ISGXUsDj>QA`_5kc+zb>@|G%v zlnh*fPg6iFuZ_Wzqk9Gdl5Z)DS$d*rAb}OC@Go5l<<@rO?K!LrPg2CnKIIlS zBR)wic%0fT0PMxXL1y9=bGSu1 zrkCnwh`>Xdk{1tAFK>|IfTPvd4BTMNW&ZUkb|=>XD4VcMHyRDly-eLb|39^?WSdUD zS;8FjGgz7rVMm)-Okfs*aRl@G|MT@tcb`JOK$y3)26)hQ;^2irAnd)qIR zds_ggGQ(}!xPXgV%G2{DYt6I^Pv*1xZUJB~Xk;`9pp?+v!f6BhLMwxn}7m_DT>{sGrtmKFv#0WF#m#SyxCoGKR-BbI1 zzYQ8pu(+JN*1NM|$odU!`!(y!0;ECR^-||j5-pH0R_@$!|MTl0GcZv`>!{=!9(hyJ z7H6~`!^Fo>z#ggliNztfG)eA8*2gbqYDRa?Nf1A$Hc>&+`3?H|7S5$lrBd`*DVPOx z6^TccFCWXKpJ2r+rxFbw9a64oRH8nz9x2)%cfAQcl7fB%Wd4uErX^OI8AGTO=6Z19 zs(9$JAfoa(z8i&E_?GILeu+B8Hc86)q|zOL-dQu`jJbJHUF*4l@ZF5}n6;U9b`R3} zj3Gzxg22&h-497y0U|TFtH^~ZTZu4FCraVTcRNN8_6B*|`v*M~l~$yAO@jQG@W3dBMx&KLt) zIJP3<`V~jwOtvAnuzl04#!UixB2EkY2jespm04oLvwHimo z_~^Jq#p-8(I|KyE7s%n-BFg#}adaXit*my3PLAC{Jp>xnv;V6Bi4VxEl*??8Xc<|A zH5}X5^nZ=s13_yu`ELL=MOf>^Qt4~h%8!YRgDwREO@;=Tix>wi=sAH%sP12z#3H@f zPzuQ6wXqYo1yvY;zDRA$L_ze{So+-lem`;$zIGJ^Wsx8Xs({y#KeahU2?i`;mIRUv zxVclZ5Wo9#hy{pAzD#!oKs_OWzdkJGQS?*7j(+6IK?&FZt1AdqCgbD&hCJL(kO6^! zgXWCB7Cvk~egu*Nf*nVvRJwd-yEzRmQnV|?tBJx zay0Y*)yXBXInU}qgASJFbO3F){%HxDC9yOjTS;>RX5#mrNzKMY4Kc>Yu%OFxJ7?o} zQp}FE1vLoST_AL7h&G*HjO4>nM3_mKA^`NdM|i&sU^7z0Yw(x}0G^e^w~s6R$j3Y-Q9;=(@rx{TjB@p3#0Cq^**f zR=-tpzGvl!8YoPlr%S{=R%A5UWHeBx9%L~?!zNvCf0q$t(vmLnuO4(3CQ)cy%i;CY z=BAuQgN#{)9FQ6oA78*!gx&lb(HYe0YvL;8;t)l@>iM!3k#KK;*Z;$Q>F(A;Pi@38<1GUH0c?=Xh< zgA|}X`a#99Iep8ir@OdwUfS^~8a!xNUjhM#IVy4ghKN4J??_hgp9f%aucGFYA;!{M zEgR++h;6_yPHi0D`jk#-+0KIBxynQth>-~JKT zcW-fNG0XUr<~3`i7BniP{8a=?V6~lHzF_Kqo^=ntiT_jhRC(3Kh2ws+NJCR;#6A06 zt`5?t@l=nq5v5PuwEC@Bk#+nPv&Br>pIPz26=zt~_Pa8NOV52^cE7|pTCDSQ8jSct zLjH;T!hU=>H_dbN-i`Zv8o&Ntb`JSgKi~;JxYRbW(WN71V4F4fOJ9E?!GdpEyF+cO z$Lgqs`t1_C;eoR6d6mI%QQ^qSZ{svog$hRZzq4kMhCh~0BjQwUinA1sjh=KRjXHYP zp9?zrkx(D4u0v?@x7L4zSQmPQ^!(N`CsLTg<#*~}8}rWv%RIF`&RpDfl$5}#zq9ipQ*V)$%FK^k$bkhCwZkE$EV zh{hi?_;I$a-E6t$4QJgQ)qJs$C+cW4tmUCw)>V{&huyD=3bk1Hf1uv9zq|BjaNH8{ zV!N5)2(9EPLXlrSr_|VHcP|z;|CJcj`|7FMhDpr0onN?Gv0~bJvCo^UU-m_E8iYwD z%99DI#l8ksC^N+HSz2c;`vy%g-f}&qq!7fVu6u4n)jdR3^4~6OvnwPtJc=vnd$z;z zi2R3O8;ygPVH37RIq~A7I<80e=T$8yH?p)Nv%g9Hw61t!`2APFc-fs*oB1kr6T>2Z zEkkldZEagc%RddfE&H+&)B}=9wVn{JOyNoY9mhYO|7~$#b50YA=lzx&9j_)B-CxX{ z%SOB`M4rh$+v9J0G&fq`j#rczl|;pTvKLLVYx=QOe&M{8Bg#H-qFJ(nix~T$~$2KM!a!2!y>b4*MA=%tw ztx>MJJ^A_2i1)QiEi!YaUFYV-WZHV(jK794!A<_6 zfqC6=r1cKDBf+uXjqWHknt3PnEW2{K!LNS$zC%o&{^MCmft&-6CNk{JUHV9CZp z{1Qc&4J!o@mFvxKBJyd%Sa}$_G}{~D8T$OsJ^?lIdYYU zb*fRzwm`w{xk{=|u5u^S&ESekwR}Rwvv9tNESn;Gdez~mK$J%|*$6A-7F%O1r;2Dpu{cJ@O?P@Inx z+Yy;tCaH*dvbjB`ivil^mJ_mu>wxhBVH*{~QJjO5AQBqQImB?#!TjvgFIKALDA)jv zzD*cTNdapfTrij2JCTVkQ&gX3*}7WaBEWiW>B{S z8U==1Mqcihf%gdXE*E0pQqgXyh@ey;ULm%%oD9E}GnYXi`Je~2m*ZKlBpsE#JS+nR zURM~>SH^wm{sz#<+deg2E~!ha21t?ScCAf;;kh{b67<8Y|n?HbNbJ+u_* z6Iry+qB%HPsf1CrHV`3t%cm%Ub22j_v9tS9QnJ*st-b|n>lMVGvB}LFoIIPIlbXHi z6K?da?+U5I>fATMtPa8`$>;t%NuI^6EmKIpomc<_)dD|Ghkd~FCX|UZS12*4a7$z) z=cg(}hoOd!U5uAvg6Ku+ezYmlr(7Fwd;&6_Elb6GJCO>`xwMEgGkd_1R$BJ8@)!r1 zAo7~lDMZ->)P4@wq!U-c5sO((3I-J zguSi-Le6H6zz*?&dL2}Bw=@G$0!%0ZiiC=lZX24k`=ywUe+~s!;Edm_+G-+>9S`z z|LVbeco&4ZrlcM%R8p)2XxmImM3zA0;z@Y<{(v{QFl5K1z!L=^9|uFw=oDrxz`FFphCMxgXmKc_cb9hEP!qB|}umVoaSeTda zo^ixc3FBfQK);`eAaR^37CHr#wIac3IF4eg6t?3QK;MMeHNa|x z&u6frk4g$jdS&R7p`VbVeGuJnEm3bOau)BB`5($X1GG$Ju#jR0_4Ep_nPV1y^)m(? zY|4N!XDq(%!RWy`i|yE)=XEhME(V>q+Shda0^=OQhEqw;yA&4;na{h9Gzdty>jG5} zX^Hd#u-70jaW8tTr2;fwp9XsfGDF$)0<@?=j<;2z2D>>gW(`-=!J!DSaw3xE)EQb zJu=GR-LF7|qn_Ge)^OZ+@aAmY?MfaAEEc}-!a&X8e>)B!G?0)MV>flNe!q`mwH5mn zXB_vHMKZ;Oo#j4$dkRUM{oJHyl0Dh3s;eRSyA0C{Bqk3WuKpVyY^L@sLhD78fO;Rk z_)a*s3yFcVOk{iS7$xpg81h!=sk@UR^)!KioC;FVA4`U%7KWsr71Y#%PW=Pm$;CaT zA~VGT??-V$&3#zDr8|IPaf8Nekk^=Ub%s5I-uOb1;}Vv0T468VL|F${Y&SpxEc#S| z#Dlgw?40V3`GjVGNIehnH;x+kW@=VM*$g3azUYcO7|2b^R-&hr&F9<{+kc(_<61&F zZ-uUAIxYX3?V3bvNUavn7Iv+Je}!M1-9n+|g#PGQx?v4OCMS7+1KsH=P(@U z{)b!Sdznu_w(xK*XkDn?LJ9F_q=H2&;-77R5bI$Td0p*FG=jV-??0|{<~_WS`%>^n z5=-7m9=X);$5XLx$*E{-^SKhAUlDjvdNgWJNmogjE6gGMahtSTku9|_BXRgk=<=99 zualf4Acyqbw4-lxy@5$@A5lH+9#-qU_O^F_lJQEbiQl`sbmsSw<;OGjwgK29*CK@C zeLL!#2V7lB?T@iOOGuTXr5D)@1CGULORxzU!pTeJLs=r!x^IMDk4K=GxUcGoi2 z1f6`ft7QrR_OGYD!7BajC#;U1ZPJw35|sPCP3egeMqf8c{z^~XTUvF}wc9TBXCIGt z|JbUJT1B#2lyqs&Y&#E^Ztwdt-#9+WLzjyLn+Idpt6Fnbd=+B2eXHeZFX-6BBAjp~ z!$ww0uUvui@A*V<+=ir<*|hWE@lEpTjXOfY15Y}-h?LR$%_3wBh*cC|S~QzDPOu&mUtYLaj5?7*2#$W^^6 z+eslpMzqL*1M3$hxf`ct0tZzsYk12w|E*dHZ)(y_xJ#;?>n~c)7~S!*@tdCDuZ|eC zayFI>g2}-$+28L{Hqy~sFsAJ?FLOkGsmUIDD}O^xn?Hi*mG`s_6lue`YYr)P5c0D# zBpHb{T>A=K@8WUq)Ap9$+@l&>Iqrz*I=noTxqaWjJ&N6No52h<<#+o0@7;o3=H`B- zca27_p}Ja$sVQrH)EiRGb_bhxi*_$P)@qupNnU~+JAIro64HR11?p7`)42AT^h*4};AkQ>1BXwokekr1_9V?;7nR7Au3tlW zzD>H(@6b2me}3D?LwQ>EE9Q5)q^N^m6K&EzZPkrsT1IEf;KD@Ur+FihU?q>M>9mRl zgU5y+WPU3eU8u$GnT%3Sp?ep}|9O0E;_+INy8rdE%KF#n5EcEI5SB{GWecjq`|qzp zHg1XtxMz+o(uBxV|M|N@-8Y}zm;FzMQ)?(&$TKf{{-!*rsriygK>V|pKU_JwQ6_R0 z?c5c<^8xoY!YiFV6QGihcUvs3VDDDa>+g&>e>vCl)u6wXdM#_3-Y;a3IxC+Fd-f%wPG2S9tb3@`#P5_+6JJtqa~BbC5E;!^@q1!W(BQKBQ2KB8(; zIK+^m>tHMcwm?0}Ekhqrbd9efr^a8Ux5rv&xK<$TIj@%mIdO|eboDpPB!%3Q)4LlSyc=z= z=UzGK+gN(TTI>7`ez7)-6exArSeXauO{w^BoJX~Z3h%cYN00)-J=~wUB|A1*#dr|+WgV; z@jrIlHw^U-S3cH&kf$HVvJoo{GR_~9AVoQ#P)x}-mgWsKb29>*vo~1pU_NzkWVZ|! z+JgcG71gI=S(eNZsUhVnJ_mrt0X|`|WHf+Y*)U1v{FhV06BAPjn)o>oK^a7MDauWy z)i)!6fvr>5*sL@s1KodVcsvaRhi{nqG11sq8ni$M9h8MP0QbfCi-F`LlwGuc#@kaK zztg*c#eB4nYC|znJVxNYMvi{G0sPL+y}n1z;-A`Dl=? zgNkxTKf2MeD5tptFnR5RerdU-7XXsl1>J#c7Bmn}5tqa)Fl0V$rZK^L!~&U+11eE5 zGT-_i_gq30DjxVeny726i~1D z+dr0H**JqiM-e6{!g2e*ZGvH4s*ZD52P)TsvxDMSqDeU`jwK2P!ff+IK}>HCP&AS+<}QhF%gXZV$q{xgT7+S5guLfhe*ekAJ9`4{LEQ}(ct79r&TmXL|16;x`f8rSnfb@9^>awCq<-P- zKeZkwMtNnd319Zab6V=w%4vB{5i;vJCDRi1MTAIi-n`kR0Q-FCoDng>FoY;_ws1GzM|h#J$St8%yGf7a>% z4OgJuA7sisJ?+FlL-&*mU(=tIyp7;7!1RdW@ZVO)x#0o|v*J3O7Nx!IH zw~%-9jpiGfy_9LvwAOdsMuccSX*6NCwX$^nZFsEFrnj8oAiq)V&jYIi%H4AGtUC}j zd>io*-i`XSG8AiTvSn(aXRJ`H%?k+FFR*oVZp!tqn#&7Mc&|-!(NI zrHOlD`w^Y)xc=@L$V{Trf*j`6I+DPYCay`E<*rejaGQucu2xCGB=iiQx`9dcF^$^6 zmo-xq&R_o@s7djKt^?QqK-y5*Bp87yGkj}Bda3008)0VOT$q#G6VKy82dj`jYvf90 z{6pdQKqk{=V4=CZo_;c_)jgK+v7~g)!)V2j`%=LV6_HdQ_UvAilwWn_go4f9Os+*%5p~8Jd#ztB$F@EiOM>*fh@c_$) zo&9Dd_l)FdO7!otqicy%VdZalE2d_!Sea(F4;RIbO+V%PWu0@6$LTciIq6%2*_X4o z@G+yHSQt}xn&wOdbC_2odLbtdamzts}ujUN&e(r?c>P(@`LQ+=|=qQ}98 zHRrwmmhRxXAt?hURUBDo@qZ_Zx9BoUN@aASy5BFHjbu^D*i!S2j;ZF3`4&fcJ>J9& z^Qg=<=R42)%ZLw-yWU*8+goBf6rU)(pz%GWpiZu^$YgFLOo z`2MI*83TQAE}xHk-0i?Cjd>M;$C|2_l`3WiGT*ucw>z;{l5X~i9oS{{GKU&i->T2D z_+Ex<&#{X0BsV?_x-0+6C}g+zl1mw8tKTP@v?byrx;-ymH+W|2JFc2{|AF>P@(YCZ zc(0uGoLBst)xSp7yi-$CD(_1Z&m_mH#Qdh7ST((SSnx#m7vQ*waf{^h^AOYirFwHr zoDz05VWlb{x3ux_ysBJ2-u0n4lWmrCu*_oXo`xaau%cYcuI|}Yo||lgcv{)*^AnQK z9JRz+|4fs7KTb3{88%&Gn5vz-GRlSKdg)QtsQcXeV&6?jo>P>aGi9h}gAb-_{GWOz zObEmxTQRp86Q&+&O9D%0+V2=9&vlKxmpN}5$@N;4R_3)b?nME#J={}SD63BDE^nJv=OHZdvJbPJ1zqFC7 zumiO}Jhg-@Gn#~ca;8*23Qf+-J6ykXjU;#fGrHd(h){mB_q1iguec?3VV9z5{^Bwu zJha7Vk^K!>I90LjdfQ31K_xuD>0Y?Z_#MSOt@M8l`f}3Gcn5f`BAuXdg6lWrf|3kB zL7(!QFW=abfVyVg_7Fg^F6?~xPW>t}?dUU`fo87tiM^QTbG?22Wlx0lc#`vnQ3pqj zG`~ACGu8CwXRVQXUJ(;&(m>x4mlk;3H(~_d&uGx=nkVw_`$G|`c(clc7V*Cry)HBA zpE}WZ-4(a1^8Z|G-m+E5oo(|>hAbw3eFHP-6L@|8Bad^|Pr2r83yD^L4(lhD^~{%! z?Gq>=FLgve{yHolo{Y(rXuSr0@c47FyR%K$uZ|?KG)bow_U3+R*XkFEm=2okbvtaA z%+)E7PgpiB2yZ#`5M9M+s!F>q6s)=YJP(o>kK;tH%dp!w`d+#D&}q1JEQ5DB=Qnzu z!p?fB0Jbe%gp5bL>6Ufv9y;RJ_nEW^RDk~B1`~m24lv=x=8S<7s2Yi*yky3{yE|Ny zz8O#bo{M{~L_r&pg66cAh*eoi)%5Ed&OE~pG-9Ki`Z*&9^J<7O)mNe?Bg$@G%#ct# ztHV0HepBiDTY)+FS4KmL#H zxWD{NXv8;KC7}gDv}o6>zMJRZ7ugn*_WcUU?DB`iH!F0&I+R;w!3W6#&)4S)!!Ez| z3&)zdkKa|#&k&-_ykrSV@SV7Q9i`*KT{LC6jk>+KU%`KGyD;YR(_-sU@n$bJRWXD_ zg@eVG*0GqX^u!ND9So>t`~B8gSi>#QV9tUw zQuVfv{{9e-6U5xu4iQEwo7s7S-vNzJj77O1Sn~5;ZHSrJ!glf30@m0y_{+?9Qe7rc zE!#Hb1@~B6+nVQ8#U^jz-tq#KA73}Rmu$%x|EXRcd@-%O`aj<>a)gEYn($*F3yLe( zc!bKot{7-3(pu%jk>cLmbF2MI(RZtmse!3%p#!cF)bOi`zg6xd{cZ6NFQzkOtZP#2 zJ)CYjs?`$SpFbwPw0QH%W8DEeo%Ua`3zTp9_^!3l*urRjPs}-RJZw)Xy1sk|T zbg#D6Xp}V}6+Eat^37!y@JB!%v$0#i+IS+DbAlt_WkkRmaxPHAJ>6J^Z6gu48qp7h zRZhp_z(4>-2>3^_gO1Ia6oB&@=$vu}lGSbn5O4+U7+NBVfMeU@zSxlAHf8wVoX8nI zd#M(XBYJnD5#Wg&kw0sCQgd(n6%j5)K!%aKhGi&xzl<^HY)!|#s01)3rh1XJcxMt? zi7PAxD9`vsT{^T~Mnvvg~~U1uN`WJJ=W&m!oEL-ZNYSelq^ zMl+zINr6!B)kqjJhK1L{h(!8EDgHe(%4qKNMWEin0kf# zwl7Wt+Gd@S5NvM70z~rIK|bQlfffyFk(-eKP4BWGwZE3)dJ_XAQNf?Lj>A?)>30m6 z;$26rKM~cHdn@BpR62OG;silKjKrV)YL9F$((H%W^_C3@S(RGuHR$sBwoCvcx$-qp z4hLzf0q-SGCSjpIH~G{1z$e4spu|cbnwOQ*on_QxWj4{xIWF)|&=%^HyReQl{QV6h zmA!#u`~9*oaUYUxhyecHs4|T6`qI)3jOX3rs33JeeioLWK)K;fX7dZpJI0^g&i71D zhRWd0HxE}eEg6GB#@p_KB)vfgsVpgu_79%AGTYuZK9{_n>VH2i8%wYcTM+sG8ag7V zCavpD*;{_m?HP&9tCefy%=j6O?E1qB01)%~_LChHZ(<_i97c>lDMbop0Zm-!e#1U% z0sMdFqnGd01&x%Huu@cv#B9texuuS%p94g0f30D^STlW^@_dsGXbQT{3ixO6D$I=8 zgJT6eZ;Q3uZF!3x9K6Vpjc-+)TBa^mAzXs2Sbt>A1_!dO;dnD%o@UzcbzU~pY7}ns zsywJdAV93_SSAA^^sLydo=B_`z3dJt1l!)R_3A-)-^R&~zCHFc(rwdDE&6`znv;Kb z&wtS=plZ$gFDw(Yzu9v9ng4x8!)>#nm1>2yT~I* zb~nq3;8a83Dl%v0;ByZB;%2tB7wH>_Tfdt*YW1Qe@UsxfHl~U}RRJXYe$S>LD6`9{ z<&G(GTl2&g5#Dd)9e~~-`*h3~ej5M^Z+-%65@z(q{(Pw$P!5grNF46#ORO~P#m2i64EW*iV`Cvq#L9gk&^QNp7+B(tqx;xp67Sp*R`PO z4*??M4@4%g0AArI!1r)MoN9vkX4x>R;yNmzM@&UKVpn$;+?9}k87e&TP!|Xp+Kdyd^8g>l zVc5D%FPzM4K7$dc(Mm?nN5~o0j)2y%0PI?9j0A`Y-gTB~-T+0qg)T`O$B*&djJxV; zRRBgJ45PFM4GdY#A>jS-2;mIwSZBN~)4nH2`PaX$F;8xZ+sDr}AJh42`vAo#= z#8j`$EwdUTSsvATXks9M`NIiJ;Kc&e@FRlD_T7c3%!!^Gn&vg@<;gmH?QrRe^_DTF zWY3qMY$D*#qmJwpS8LQ^Qm&BKsm+n0b45``Ja@lA?EZqu_6oYcJ}bhcX5+XWnL=#m z3uL{9Pu~)u7N={+tF&TBx`L!Ei z4T!k%4k9h?&2$oxBs~_aHr&?fibp?_Q!LL(^R2NG+e-DP)yMc1AApNB z^qyJtXAkY^C~Qi_V9xc%a%`%vHl0ZoKnhvb7K+i@Onf&{2%q$;pk^}o{qQ~WA$yN( ztZlPWbUZS+ed-qrTr8e}X|%Nb@a4~;%9{YSs)&ZW9of@v zYN~iXYcOr9C;qD;YgyZy5tQBhrT;LCk@`vhn2bW>1vfNwzT$Lv8L_0)=!t(d0{N zl>?!-4DFQrR+75>?Q_B*S~cV>WYo`!obs%D{@HwWUO==Kp76c?HB;41Uc2(?wyv}* zWp=9fjOTQYNAclo!D8qaDAQ$$Qc1vX-2m@@uinU5tqPQ{y{I6*|2fIzLDgIFua9Um z0^=`Jb}WBaP=^c|Iy4wwzq{L1AXB~kmG)7XWc7%m## z7$z3JGyARWGwoqH#C#NE>!!7iKlY6kq!#*~Md$#%{M?fwB+Z1!-`GST zDffIK>Ir%>OrephuOy!^%K`saM&zNkSw5_yEoGE9i~((x?IG}}f--gWW?~R~TN0~m ztfO8GQG1W29~Pj1;xprSo`ma5&C{5Y=VFjFiJ(Ps${ESw|3HsM6Y|OrD=bQ13IW|H z7)kjntzsXC6a;udC6nGU%l@YJh^?jarhVuvu|c$YOg3<`yC>c7QTm6Ogf-f^hYyz0 zlGW$bjE|qH7*AFgz5zbttc+52&vC9E|Gb;g*}>ntBL5m6Y8gFkd#x9@QdSwNs2LY2 ze18CzL8q>&nDj6Cq?^{w>(9qdp^Bep5A625W7oJIn0fK<2uU5CtuqJ?L=JJy6g#gt z%c^vg@wlS7D21s{?LMH1g%Wpj7{nW@KpG+FVzlahLQJ*r$A6>#_HnK5@MIM^q7HZ0 z+o|XPK)bh78F(io96SN85skr;L83`jL+|b1-C4y=8u$3qi|cE!)|)q11ql}u zQPWZ<9EO1;I$y`x3qOARWt!bcb8G6ayp=sU8{*nh5Peqz*+ZDe4 zsuGayiLiq&kZc%TwEgYG4wdYB$_w=!wrsWF*KsYEcv;%h#PB#p`UK?C~ZW8-MA7Xc->FIHip(K%UhQ?JSD=AQJ*$jO4ulKm^p zzfQbPM#n$Aw3U9y5{w>Ld$((El<_$232J*VH+P}P;@!bx=Sg?kJ-wO%cbC0&enS6? zVIy7EmE?g3jU8?!j2v5~T9xfT##y->-d?LUYyy3h0)L!dPv5k&g#uV?-Q%*jY{i>T zx=G4S-n>#*)}mJZNernlw8$OZRIl>K%B9(}KKsvx{R}zJ+9Ywv5VywNxTqq@ZsjX& z`-_ua*})8wR+;DRPj=^=sneE=i}Q>2s<#KGw*M?NXDU5EDNoN~>3qnwn^Y`poDKx&J!ZeAyu{{MdLNA7$_RX+6lO>n#){W3-vAoMq z4XsQI%o;e!h~{>tsG^vq^7vVL_d+(5eX$G=*PUVT2*vpy2yEV*@lRyNN=^E`Fje!? zQ<$NC+L2c3)A17x=KD3-b@#C0@h*o&NBNGpf!5Tgov4(=DI4eOUH`NPPm~q%9$I9r zch4{VC^dibgd)$Us`7o>if6aW>5`>D7VSOAVC|kl>QK=nvs8;oEMPCZ*ZfN-lxSs9 z{k0Gt)S^={rt!r)TQ?w=`weGhV4|zER8Qdh`p38i&&J(Ubp>*|IL5VTPyKUF@>gWA zpqx8EodmHxeeux5(dEk*mSlBhE34u$uRoKcY3G8lq5M`J&J0g)1ZCCZ7{dr+S|w0@ z*pn2AsDGC(X&QVvIp@iaJx|=^eM`VOl;f%5?t(H3lT#ZhyGH6Qq~GLydxgL=S!nrJ zizNE#aG;N`%Qgw~2+|MJ=;Z~}w@hves%Q#YJoO?uHAFC)sX$N56M+HFe6eiOtAXQg zq!YW!WE=4xOILrZfH?TV{BH$T9)_d>RZ$(BFZX=dy%`AfGk_@*2A9A<>Tc-r5I6rk z0?5Y3xQ)PoJliB(2CU1vYwlS9NCir;)Q4Js&iJ6yiTsS)fAZF$+(0JVPYIEt6Z zro@5uEAZfx$s_1Hz>X;`0C{4qF2YPvT>}88jd#+JOfJV4A!~q#iC>G48)e!G1CJ$( zdM#s9CfLs6z6}BG9<#%%Pz#VA=J;3*051!W4T=UDYSzl|CDOIMcb0*U`nn`4zCh6e^fcMS`5W8z zba=8vQZKL_0G9;8wquzSCA|9pM>DVzbw0<-I1ZtGKUyUsF{%l26BiYi8>8_5ms&`G zpA(${!iF?}mZA6|M)tvge87J@OAJu0JqF-3XN7{K6nz;l?BjY!Kw`VoiDW0Ll=`YV zav`)J@pynA$H<8LQvhKNxGd`PAJqjO+7rl;+MfZLXs?99EK9^2U~vyx$j&}h-^QLJ zq7*sElJuJht-~0PoWZZ9k3SG3*p3-?H1c^sxXXIs;z{Ar?iTl;GJH&hATT#ZG47G= zgOoAfd>vIaWq=lc(<-b6VE8kMzpZ~YRAS`D3)|D^ck94tdc}271Tlj^^67U1l-fU9 zaa?Jh6vWSq#ng$OT`9cJBiz&?TTfDAbblsGk{F(>BcW|&pDckSEYWdb)!xT1?hCem5y~sbQvMz zQ2^sG*A_`e++y#0UL2-tII5HS8y4XYnHWzb``BH&8Vic6i-F)JMQrD`pO>lkEAn4w z*?qRr1p~u(NR-O0wkUSf%pP!6ujA*YM?3!V-3ACU{CNU>D%`K~$iE7#hwBQxr6r@0 z;lkn%Z2*y?Nl+gn$R>QeAj#5?TTm7xo0TfyfMChhNu3_~4*GTu*x){JHlrfD=vaQ$ zZzdvw%RQq|{ktoQBkwm8gy|F?T1`;v<$i3IRu#i~>B+ltzIqi)$y+V?k~UG7PYS=> z0amLX!^fSTr-}hzI^73%5msoHpdm1d?+uK^AltNOUGa@(-%jhrx^T4MIANJ28tH}f z0i3*vV^PWd1J8RsKkuf`tE25fVsn3v_V$>CPnay2|o+56nle|+xU|iUUpUK7-`c@(f znea1m^FPj}Kbr*$10(f*nyLmMt|uL$T~5&qC~ndtucxxcBdUjaY-g1Q&Y#TAhDCEV zzusl=>X>0P+dR{FYWwfd6k9(0hB;}UgbR#^wlWU(+d(!4q^bB1a&qJ3IUsomAecAz z+f$ddRMZ3BD-^EYhuMG336b*dT9UpkX)XK{AitrHNxfjZbsE#7{t&fQP4spfeqNk8 zvMAyqH%4HPiK~LE^-)^n4#CLmuO~Y4XV{~_o;4ZiT_a-CNqV=7-WAWDv&!U^JcY!s zg$W+w_!Kqen??eSQ`j_clF{-MKvxh9;mg}qCEov5fhR%;qWxl`J|Y3ECu^07@Dd(! zm+YH7eF8*hm*d(^odJD;(7^!#+cS8t?q+!3N?*pHdwYb;x+M6yqb%8&;TIJ%v1}AH z{wx4)#ooD#j9u_LM>q>AuddU*#NoIy2G)V(FNtj+M(0nT44uPG5-wG2r_y$Kf&&{3;TZ*3a7gB>l+;S~IRh!qoXGPQ}$7dC6 z<^w#iAibZzB@&(SzKmoWFpk>B))|h$er{%yPlC;G;YVm?ip)ckSJgUDNLe9&K%Z=& z9zk#coHk0scGfuIVSH+_IPo!(uF0Wx?0P)FA6^mi%rabK(=|lRE!B$TkbMY%Dx&~N zvqj_PBgKc$UC{5g0G5^UT$+4HYJd$HwaIPu-~7B$cz+&A$a7XPZ80~)UMn+I9Rit8 z9H@yJS}P!`Diq%kA*w^+a?*4JAC@@S=3&d3lS4J|DRbqFI?6g|Uf0{sVb4=?g#9@ zdY{y?E?5)(mZhG~#2&?ztm_!&Ou1>9Ksgo3jNalqiu$g`H-N3U)>2hl&nmcR%rN05 zA$=W~+(4w$Yq@A5$y+K9)02v=c{mP|rJV<(>*t#&;!Hy&AY_el485XootEkh*^yyE zMhkR=q)rGzSv^9PyH$c`xx}%~~OAjHTtkOx0!l$4GW?R}_ zuNMkz4w+zQWgsKv;fT&CbF)VT+aj{mIxoCaHj_nJz63Jk8;f&sxDk!I@U#k@(vdT* zM(qjykVVH@51n$J|6}%?%X}ZEU)xr?p-148;jskX-;*#TrY=Z$<-iD&0Dr3xn-ykC z;=Wt(Kpq+frwthMKeazUE3uKdeXaaV%An+!fYs%RUa68|E2iJA{DqE|7)y9VS|6NM zpzbjZzxeu)o6M&!#{nmoZr4HblA}SWX1pc*0WQOf(LS`5ql&J{*p`LE-?9WDs9XD( zgfWxpK>`PxW|l96pz?nB7p3hda(=i*({{r96s6byFg?eWK6CLW{WH`;qdc#9$*TPBb9-*!PS!}RaRwG4} zkWi&wz!RTk3FCZT>*@&KV|0>{SBvq@yP+4()9?o!bI6;+g%v4BMe@O)8A%^VLL7F4 z?1nTa@^qI+DMDK;8=1k|$qQd|4r&{)+j3#U-fe6j9ndc3g}px_2_Nk#q|GQxX6kfr zh@ZpG%1tdq-Ub9*G_bA5#xoU=86HQzkNtI*UpG*my=0yixg-7bWvo;@1-qpQXiT`j&d;QWj4cW+O#R^UMm>8l?8 z&EQ(&&^oJ?j+tF?u9KJLEyKR+#_BxO%X352FgN{Pv*hvlyGPxgJZDQ&E=St$-;&2Z zn-^$(qe<&?MD9Fy>>%1;Hg~Cz`qRm)xLsB)O+K-cT#J0el+ii9PceY#8*Q}tpT3_s z$=|Xz0Cn#XF1www+QncH*$p|9B=cG?Ud(;2>1^E{ISdQO8oYL7NlzpKGvX{VhJ-29 zB)h{F%zk}ofbgz?S%OlY;?E*+B~_}w3#fdJYaaSi?rJqd(m=t^EwPS_KVDW*ecKbv zo+po*bl}039;mrY&Bi>~7Qne{*4&?JwW;!AX7?@esErKxMWji|>sl#G6FB`cho&PA zKXykKN{U8i#lK?5bERWQ?8?oX7meT?Zkczd-`r_ z^6Yw&dO?_KjmbbmF^=4uT59QR0OPVx#O=^S*%!RebwO&0&~SaK!FKwunI~M?t~PU@ znJ_LX;;S*;++VexblKqiiHBJRl?zE18~kS%l_ibogTbGP*kEoFKDXuB@gm78pRJ^c zlL|rhL3-!N2883%ul9r=jX5$CU%LBm1$7WY{S7xm9}({s78_m?ddS^4wp&y7)~&RE z3kAhHu!QRcu$_ORTM zI-9yD=mVJ`X=cZp%AUwY65ZT?0bdk5$4n48?LMVTAB-b}3=`hl->g-*gfPsMP`EZm z*0#=@C45hwWQ+Q!WvQha$^{yKxNN7OuTM#B{-9jj$GiGKVpCPtu=2<|SY+Vk@g{Z= z^|Jj6@Om~avxvy2H77sr2W?Dr0JyIm2aUBM2L-1&Cr`LB?)mrZwzJci7eTy&v6fzx z6Gh&c6P)bA9?@qYdwr=XEODeTKP3WLkcEgE;(kBwW3989Wqwvy`X8vPn>|jVXF}J# z1YCRAoegHJ(#mDnNk0v6^=8T_Rm$q_ILXfHZtRRs{iDLP&#|xE9?02AUm{-1vc_qe z>;&PVwwMk?S@ZyUDb#7fSucH?-`kei6=8qr~@R z8}#~AnaJJ)ICfL1(pTm)4?WZA*9gw5b^ZfcPW$jGzL+e6-Hr83yVJ~kk3+*UAV(1c%8L8P`PYu&>cOXTIit`h|FMYs_g{0Q%)|z~MXrg(FB-{? z2i2wVi^Nnm_v%uraXKG3@RjsOyyxrfye}3fzOjB6{>+FfOq5V9uVhQPqsj6!PV?Eg zHSS=2_H5$Bw;vYA`|3YXo50HN=Cex{ho8j@E8)*jwfzIAwgiEM(3(!RaqC%6wc6do z6U)b`l#iZdCXJ;U#wwlgb(8r?M{zjrJ$*48kcG?r9{t)0e^Z-n+IqG#RgNt&g!8Yt zy__WB^_%pVzcG341d`GhykgJ%>bV^~eG%jed}gY+p@}7EgExEZ z^ns`FHcx2%vscvpzuuG(O>T6&UT+czGFQky_%(aP^S9dXRXUlj>yZ9`pzq_8n=c>4 zf{(;vH$F9`+tDx*U*asrBUR$1XjYa`cTw_FWsh1~?b=vGZPC(Z@iOh(?_h(*G8ji>KJxP+|OHtpOigilorm!fiZXs@7fW3ZLTN1L7^K6 zp~A##t5!>-jOSD$SL2<*bKBYXw9bn?2|?S_k*%3PLzQzIyN(?vJAwtHNgcvQEuLlH zLsEY%sa9l0`oo#nCR^~mVnN@t^*|cWq;t?>-za+U)G?aWE#)kHi_D zqVNvA`1$;zI5%-Sdji~J<94{5CAwO7R&p=f#wRZsj!)?VlKz?PTLkmj!a4z~eOWdF z4lDbOq+^{f93wCGs9zBn{rOTZ$w+oYv-XPkcQF;@=Mg52=xW0M?-;HL~T6(I>4`W zrVXP82>tRY!<=$oNkFQ6JnIR8;+UMtxE7l*lFK52rBFc-DsD*)l0Bx*cXV_sYj}x* zunVkW^;hP@xcfnZ+c_G&1bUw61=RpMbiQSf7`MC2V>~7NFpWdau(*ZR(JHP#qypbY zxe_vmB18fG1c@4}%%L{H`&JO!EX<%*Zq5j@qb=GVkdFsLZMlFvbXr-RMGu*@D@OTP z%NFYXawj~ua9hbdwm|@16b6oL3TPF_e*XaNT44m%5E2iIDMzSV zcmAa<7FFVwKQDp&A-gsNNAe^CWp-Pej#gNXpqhR&A3!gbabN`Hbc{jFwY>VdvS>5D zkuWq%UOlSi#NfOh3%NnzdNLqAh-erpI*$zY8{OU7Wq=6gU&<+fe9j|64$S+b7WHUr zT7iX#rs39A<{wWGt3Wbe7D;mOZw!)p;9k1P<61TSSi@78V4_@#!MaQNA9dO#tW_-^ z2t^BqaM&0!J%_FId`%Hn+8zvb@5PQQ4 z8n$*I>yehu!L{a3V(p!B!VIZ%d6<;$#soXkyWK}bbHdK6)bu&QvJ{P^Pd3s*KGrUW z)h5Y5hYRMlzyx-U$?HWneHRbBl5m90%dA)hJsnI7h4$n7rHPyV2nl4R*9`rvbvebj z*twMc!TaB!@0VTG83%i+N9CQJd#zz#)KnBwdpv7wo>ZD8mWxsdb~Mq@B8U;<@aoTV zk%?;fXXXEaY#>|T=HbI~L>oL4MB3ZJ+od==gkqu@%}FT-c6yeDA8qqdL*~H~LbP$LY${dEV~$iV##B z>cDvzsaDS}(|Z^GZJsccggmlTap}C*H?CMPxBXgg-XKjbHEA~sk?EDKHp@tnYp8Y+ z#D7yl*zP+{B|swZbxzP*2wWWm2~troq~|U-z${C0l`ypj6je&lwT^M&0ueDpJXX+G5)zU{sqdq|kt zseE^o8mXzLVEZ=~k$E-3KPPjuQp9fS3*wTNn{l{{Z{^er)|Cu(a0N+&&&~_xK5xTU zYN<*R#r8FYVR5tYi|Wyv`x1j2zJ#f}@4AfF7xfQtBN)38Wsi4>fg6TVSnR(Rgi!sz zA6K3QB`%6}VJs1+T63h?>jc?R7v*A4O7iQnO=0Z;> zq9jYds9c0(gY7Ix^djco1!12iGxvAPBUPW1N8xL9`3}$w7}}Z>S*? z`^bs+@#;K*rZ2r6cwTk*0xv4@fOX47!5p*!{^!SZ5 zK6TWg)&;L^R9p*e#>KlA!Xm?0EufPr4hI7LK^zw`RKiv$p#)7#eQ=knTFd4@wk$ z3T_lhKbFufhT8KUq%ETN3(ITmI#A(ibrfC^H;_k2b+*a#i9*{h+;n?V5vB(P_-(_B z>|w=Y69l?NwVtt`}Ic7ihh~X(~Unq%TaahPsSHWD~Hr!-_(HnYF%qny8 z{a%90@knM12%IvXxa&gb8y*>-8pOjkb{fzy&CxV2STgsKF|m-{;+#p+A%saT(3t5~ zIxf2!-p{%#``B1V?dcbiwdGY0+@_ah-;^I2KhL#a>5;sMa(3iQ?9}*{QjHHqw<4P0=|e zg5THWrW2d^DVs=iUiCqJSwKF+>fUknVg1 zj~LPVj_y<6qCvUro`DRKc2kdg8Y@hmt=-#h z*3}%r@m=ZLw5Gwt*(jgu$xfxdQEhepjc_^aU>729;rOkh{$Mb&Juwih60u1Y zrAp;y5U`fp9Lg>pbygv!e4@H4CKn$-CmUXmhQhaF3!^-vEeSj{5GTg-{qn6gzNnJU z7llEloSr4s=oJT=$j_`xabT}pv6h$M7K(RcSYb|W8Ji<9~uWzZ>q?uXl&*LLMU8%)k0N9B&O8gr%EGPemD&gx4-DEe) zJ0&17d^3m4Q$*#trB>K%G?mvBCaU~%wP&Kgr+T50QfE-2MAjIyti?K&1oetDUh_0g z56d`bx1F!HYg&2c=*%ovHuZi)MN}s9;5oUVa(ia*grTw&o`U6*KkeD3N{FcH{M8T}=Tt=Cz@UsfwwEf@89TZ?gQ+ov#Z2mP$Z zVv7ZxT>EtXEE{4c5KW`+1Ce zN5RFyY;j*B4M{(ELXZEi!5ny}|5JohrL7@aV9Yit)#swr8)2&3(%KgB7^a!b8m&Y8 zT=N6j3hIS8T^e_qE+Yr?XvUKXd)Kk|4?g_Vr7OH>s)1&M%xaTY&)6D=)GGI%yCt&- zy$E`D|7AcO8^);mf|p?Fe!*H!U@04E)Mg@hU969(vbp z@X_K3NoqC}IhMmeMbw9tnpWv?ym#EIdNTKYjisXaoua3aJZ05O>C(X;A}=Xn*hEhO z#m0uRL?Ltc(cg5e=tW_Nks12RmiFi^$bX;*_agsJGBD8Bt~TDj{ntMtr1DDl*9~An zyb*say3h74OT?#B+<1jP1<`dxBLy$aLZJ(2SXF4O7Yft7zAdF#@(+9Fz1f8M(bl?% zX*K3eFw>nmU(pFYw<3@)b-yqu|9;LTeVM$;C6c+DBSJR$Ialq=g@Qb+Za=4)s_-bD7LDpB(o0A3y!jWBM|D^)r8P zuR+VCL&tpGAa}-33ZjxybDC$nTtxFrYq1()mv7c8cd~A!sjA|OieBry6Bg>Kj7c)C zAx?}{J?iL8Mq2QHJ>(-F1pZR z%-f(nLhKu=O_W6JIygr7>)j6SPq$N^Y0&aFgfq0P$LeTue3~0943z&tPcGk9y6tM! z5W8lrH6$CF;@Z5KxXw4;R4wxI zw|?~Nwjhc$zIh4y_07uQW+NejpJ6p=k+*wkeUSm)UB~lZm!zbHlz)8Tq<@#{JVHU) z=rs>aW|>ada>Wv$$(?%v9o!z{VmHbU%c+e&e0y{#+aR8AbvrmTU8amM%g%kAb`w0A zks#D@?4gK-rTm@IDA{l8kFrbge*D)$b(^jh8tEgAuX(Z0v?FU*1oTgNM{rp zcb>Sh&#Bm-P+4%L33TcNu4qjcb%_7CA2%~*FXi$uO61t=!yMMelQE~!V1G@rQhLrJ zDd#|lWV{mGvP^P4qu&=k;Bx-9$AK%1H#=WDlsOG#n%2`k>j*is?ywb4+1LR zdCB~^G*CDykYb-@_{6J@c)@4!vQd?P|Dl4g71h42{q|UnP}bLzgtt;s4nYYV>^d#Q z?|8X|gS>l59gUJpz4R6w3X|UP7>=m7wWPnyz8%(~uVBCa4E<&K&i+8bek(`VvTeK} z^C~IY78T(cT&qien9!cJ#2kc5Q%vKS7>rlqO>pA$Dj;^%@|?vr%3J(4i%@HHCl`wi z>(tec)jgPI*SVdzFkp}s?T7$@MFsjGe=mC7KFU34A*0mvn`Ml@SEHm>YkNo?@!+&i zY#5I0WGFqh?AFB-uOvKb9o1xb%A&LvjG4}@O}zUgs?y5HL8JT9@HU5XFkp|U>Ssx_ zk3x^ZM@9Ll+p-|~ht62a`jkE~WE1``6>q4noCgEXjb7W!>Z7GLKo z7rzeYET_rta)V<}7U(on_~yAenO})l>#==6@49I@rC&;Y&hjvf|1u>zo1iC9{?uw` z_=yLS?@z^Nn*7IP_pYX*8aNKS`p?Rymx9(6&Rsq{X)V^EHzLdWN?W*UvudpV>0)>6 ztU@s6D4L1A$R$PMWm5tU#@z7w5Dp*RH==&$1D%MiEAYf(jX!C*Y`g!RNUFn(xDas4 zHY=P9vfXY^XVS#*_>_rDd|V1H2NCgHO0H_~-L8f4a;z(kXT%dD1Vwv(qy22d02~kN z4no`#GM`af$k^whI~`6uhWhFPdKQe+8x6&nSOiK!u4ibaro==CZg0n`j+ zjM;i|J%<3q4Z0=o-tA?%Axo4S-&lu_ICJoix_~t3A3cS`E+pTDeF&t8q!q+E!7hg7 zn&s`nm|4*C+c|SZ9N{yOO6<}e#OG&u??EiSH(Oy`Y3T$|j(c5%x!oX(q$GQr=TKGx zsPB<-7=U>({@2e9@s;)i+igG;<96vfd&_Sh`OhTylOwrarH)A#U5 zDkuU0Du6~q5&~s?3!i6hb21gm%LbTd((1OtBAA024vKB_6)F+_oJPLtuPe%~J*t9{6{cDNg5tQqiEHEG5FbdtLV|Ww{ z@ZCeDfpff6kHD0yr#=ApKm>HCaj2Djq6!B%=R{u9kxBjX29Y_G&|OvE$SlxP@H94x zmA`*K@=*EnMvg)Q$W>wXSRGJda<>!&aKtynwft@m6-0`NiUE(uu@#{uA{VQjpOMZ1 z#NNT*U=+^Wn=(w2WRU}m*9M}(IugAQMk-#+sA5MKQ4M72=w~t;rXub zfbxJI4S@K0{N`F<;H-#gKO0pgdJkMD7iiEtbg2RdY+AIJd5>8l&a-*ANdc z+zi}xAOItfQ4DI-F-#oB0>%};c`qbgEY%eU82e9hf*s0=5L_N!lA(Rmx`Z1K<7e?8 z#(x!aHR%Wgi6yvn){~Du-&9Mbl;OE7!I%vP*+7vRyNCK6@Gjfjyeduxx0va~@8ZaP zoweH3i>~a`T&oH4wu@(SH`C3@Iy$n3^7&X0VyC6j{)3GwCPMDo$la0Yt!=KwwDX;Z zifEU@F0kF{M~AJcXPsq10#>i+1&{#jp2f1N5`5K<_8axQKX;ZNMA%}xe4V|D-A-Al zYrP2Fz{k#yYb_LQ5-<79^)9v#-GCGepC}Tw#J(C76*3&O^AKwpvt>~_o?tvy=^DJ@ zSSH?$hjz+T-Kzj8?dGHvY`SvuI5qMAQ6i`dW%eUw8g?nkV-G8Q;k|Oozl8O!_!WX` zKJAt3AKW-U`}7M1pN|0V1dAc-1CZ0g$lm>k+3+eeu)o0)!>M{L`Cwqh9fsPH#WCH!yh8>@J2zOP!_c_f` zr~|wrg`r!5plx`S1cQvyU%h@EE6hR>$Vuwc(f3kFH3nIK1<;2kmK%KU%{q0GQ}N&t z>Z0buYO|+Z%&0nLsmC)8Vgn#stdvF1sR;~cm{xp|xS=2ctHByBrp6#>Z zI`E~Z`ffM?TT5zSTngjA5r6n_yym4aF^={Zh&uwBUxazzH$};_YVg5qfX|(;=((te z9|brcwUjsrzCe_c(vnxcR50HD;(WuwN{jkRmv?U>WgkeZJcEW>;Pu{n!6<|H%Tz?) zOd2R;n)01f-DIC>Qt@+xmnEBlvXKNM*}jRGD#MEKT9UA)w3VBX%##_ zFGhnIur;fJB@RA)5k?7}Zmx2$Z1+i{Q2+I%F|Bg=p|?rf=lDHtSQyodtQ6fBS_N)8 z(s$E1ed{md1<)eXuM?;*G3b7uO-7S9(eWx(ztTL)2lp3!hRy4o+VEW$xPGfu$@gt} zktH3p=t#sf=UxcB{^b16lr6VcJD(Rm+jQJAdtNC0Is)H5DCfK$&9#`fDBZHxXtS_c zN1#4pKliFdsU=h}!dl9nk^e=xG$`5l>XJ5ku{R=*{rfx4#dXJ@+eDh4ve?+tre+VP zS7cqD80+IX;8#vesToYvg=>VBnmRp1p}jnzKy@iQcGjJ2c8Ee`O^v*7VnoQ~=Q`2| z1U1k`tHdO1FtNrt2o+m2RtLoO#Q?IOs^j#q#>(v&+~P%*bCY0nve_70)CaoxrP-v=+&{*PIdZFFUYS>zw%0R9E~=C_ZKBzN^LynF^|VYp!)T+0P2 z7tTD&+qvfg-uO4v+8Wi?Mv*p;&Y>Q2JnG(ED5jSQ z|J90`gP5sSN3wLoq?~sw9?xmZd(H>g#{c3CsM@difUMZIb|)SXnofN|&p;J$(O%7y z5Em;W`6`^NjKTL3dT_#%go=h_PrjLne{bn)?)9^UF#q59RB@Zw>@JP)^B|GVeeKG| zDxC*2`n~RFilRk(@;dz-yRXub{3i(6cHnm(l0GsG$RlSL3O4c!is%0mV0Hq=gi*kcolsy zm%5!sohP{0XRAu@o$PmvAhFxkA>zB~2O+o;`M7w-YMC-0Qx(rN0iUs*xalg4;*qPl z69nAxg#bCv7kh5D5qsp_EF5y3C=~tm@6XB~M2(F`qg7s)UuooZ{X<@aQvsoll6j3o znl!1Yocb5PFD%Us9H;MVWTg8qZcL86Y}4PeHT5^*W}6H(g8?On4pXFazK(l;Lwm=}I!oIr?~&)R zYt|Gy=Wva8eB2I zmB?awt|8_#A>zOL4Qa=Dy0BE-!=??^Q3E0|?5MS%w+@C|jynlikA8)wz5Fn6Oq9$K zen%T2VSb%c_3OieXPa9tk6~n5qT0-S1$x=1a$r;0#PlCMj#h>5vs{6iLHfnFF93z=`afRxtcEl<9^JDjWnA4wVZ(%Z&6BrGRz6*Q=m-%ldjrvDsDvUL zZFI@<$amfakC@iJ7j2gOO?X}@lSWQD6LZZ0n77cpeZ9;PBJ}0Y79u;9bKfcmO0KVX z-6&l5Qy9iN$ZVl4afb-;X01S5e1vz2HJjrmwnS1$A~SYyQ|3*>>VF`b8p7ff%_%2? zcg)3sVqLvH3KsDSJ7>m4qGfOgJ1AgDxd=z4#C-QFcyRxRAg+weWvco0ZH80OY08|o z_t3qhs5hwP%wJqv<|r(sp~e(yQ#?bd?mtj^0#BMFD}A3tt84gwpuqP&)##?Kx9-$$ zwn@$W6yOtvT&xG(Cv+)2_a_@QzQmZsCXtsW^#y}Un56G6jW7A=w!Qvt9qB#MOJiC+ z>~*r*Z)@zQZjRgDgU#-2%*8ak%C9&A99w; zLWV*;l#guV^UkCcmff8*4s4p8@}Iq!ZW8P*ytkfaqbBv^*)6g|Z@`@fIyzLJBP5Q% zGmqbuII9@@i(!B#oA|>x*@G%eC=6g<21Z`}?J%E(e^y*W5UI zBxc|hyT3Ld_f6T-K6Psx4fw1zspWoD*izO=M*}tTkCJG0=)mrtSJs(&13V1JSb;87 zE@1tV_USvWLc;&8#PIshBUvhdi)!}naW0fdHMrtuav!Z5U8rE_oF43eCor~AnJC7@ zDHoSF9B;^5SsW$yyfxu_drvcR4y=ArL`AU&Juf#}Z6h9WqLQTVQy(2O>PEi8qrKT` zSG=#j;ay~wk*rE!Trm5g$&)nScVSrLE*1!I{4<^kKw|n3=qFmUr-!;a-yA(xW-ANi z{DKVQ&7{-TlDe(oUwscz)#SogT{ahm%<53ktH!Yat@yRXJ`j*UrWgGW zRHq*!^mjbefomPR*8GGU!kwk6vI=tqPTcR0PbMpS-R`c;g@;`sZ-qQm5n_irv&gPq z22w`FxlmDj4*{J-l588)cr!hs@aP-gLJ^??W*WFFXHnTx!P7l8T5_RUT+{rbn1DMGNabgb>I6v&xGBLe@}h)Nu#|z%@=n6g z(#7K)U?j!56BKc(kvNoeJ;va?pR0s~Fu_PbFE&c=FiLO;E9El*Tn*@+R?65qAfhfv zN`uqJw{Fz-$&&c#bI+EnE&33Mpem0(1ED|pQfY_yk1zqcb5>9P4Q2B@*9=AT?B90X7 z2E}aAZa=#P2#J)_5g_%#(x5@3KWKxtt3)(Q<@^J^f?@{A|VhS)`@ zL*4!_d;lHkT1eMa5vYo5^K(2LBt(=_<@&@gG8^~9u)*YF-7pl$uOyM^$~3_%mXOJI zpld6#QT1Re?u}O#oe@PuI62GPRhwV|KUh*C2Ec_M5%RB6!1M4K`_vvU8hDTX&_Mv< z5?b#OXT}u?ILPN%Q}z$#y1ECPJ7E*K9^XJ@^~VbvG)5^;k(w#9i)-Zgr7^mV?3K?R zr{|l9wYjp~LK&1Yu2%Ob6-Sy&P>D*&34CuEZ|NbZrnN=K*B6m=sbETiIedd8c9N1rT?H zoB_ClO)hYpu4}$~b2rx_B>i7G6|Mz&9`CQ)T zoY#3i*E}6lkKKY%S83$-o&0_Me8GSTyS~HbVLk~(O&Z{e3g+a8odGDm+3Xx5*T$D& z3yWSU@_*Ei0C6(e$8Cta=&lg%Vp?a~=_Chg-W~fcM>$s+0CY&8fFafTb@x%`A8CDq zqMsl;)i5g;xF|B>h12QodD#Ze*ujkC(9|eYqDd}Ho3K6{uY0=zni=n8it(2h%>m)? zAhZYxK^H2i=!Vg39l2mfOt#I8wHD_Q1tK))u^4LGvOqm!dY-(Mn~{iPOR76eG3WA8 z$p>j5I2`F5hO_e&gKft2QYep9+Suir3Z|I=X>9`V?C%_g>y;)DF7K%Le&rSB#`QFf}d2<9)ZYN4EV))^!h-pL8)ftwA8 z(qfpY!IkU-S(BqbJzfxsG{K|+54#nv;HXBo+)C7enl0$HLPB$mBikGJa>>TL)?Bx1 zt~g#ue-3ZRJ#=@P%L15|_CEKXJh#?!=yKrV+|d{5E>QF0^w#=t>+NlLu%x}cstWp0 z%$D0$A22Q#GI`uo7wkDRW&ItxG7jVZG@*l8ec>cjyPTl%Bt99AtH7M=220sP&9p=+ zPqNGiZ_HG$@ilhdZZWIJ0_^ytrkGPzhaeqtb*eJ3=m!Zt%yi;6yTW(7(HUJO zAp1}e=EOQzg~0SUyI?TJ({>^*|=$N;O+#YHq5r>!Re@tx8Vwuf!k#%`Yt14o}_$- zx=gb_m<*OXnco>RKzi9LvduL3Dakx%dCpRezqNoiBx#k8cP{?2*YtP>0q8w5MFde!I3TTm3wun z)06!ffl-!ss8JtZ^GYw`i=mG&#z!DvhvY>=6B{AGvhGiKQl^h8!EN7FVFDO;Z*vz2 z;9E%1EWb^CJ(u3d5yRMqA#d}CoCz9?^60<_ymaatQsL%C6`a+7Esy@bhgZcsT{)E^ zAWEzRG9nR>ozT6cWc5R^u<$sF;JD{Z+T9UO>u06CaX(x3B&SXqF@{)CMN1!^w+&B^ z6z`5szIdWk@Y~v-#cREhocie~Np6khQCC+w*jQEsLA))RN@5OVe0G&jXM`CYe$#BT z`F=x~^nooVf!J0eyyPs1I6;$0(>5lfqY_ZD9k7Mjs}Io>G12a_(zWq=mKwLtSXP%c zw&3e{$C~}$#zk#_-I#MZPnnHfmd-)%B4&oRI_pn7@x0iY;Kub7tdw5fM&Dur0#g~S z`SzMRPm1I^wrKf_1r8IJ8>-)_lDlRse{RY)rH6PTio-OF>;%pTN>H&I?l{Mp`sK8xWE{P502SWY?`|kDLlrc+~s+YDh9t*Rm z^|*Z=dnId1wm`vrJl{fp-y)#RE3?l>nhycRQBFJSe>%> z)ZTX+79$UCJ%2b|nU;h7UTLIht)3bVyRmv={Y`#N72E1$SC$@YoLA|z?FKlZ*1<1s zKj_uA+;Xnzfj#cn?Cf}^t3jvjyWby~XW~q^$5Ws4U`~DM?e_wl<&(@gz1QA<-GWuE zJZox~4ylSRruTkD%D^BJ{$B56TcGPt;@ir07_$N?D#;F-Ep|KE!KSzZZq?BR1P7iQ{PmArUW2?V%9q`K-EWEN!g~jq zvYqvsbCxhWUmVKn7aT+{lex9v8C$b&e6zey82dAu=)v{4Qn~Css8~KBV}4mauPODj zGL!W?v-#QLs^^FQ0kRs+h3!378NFl0@186ZXV%YO->9m+^*4(0KBPq8TN$UKP2KCa zt0rqtVvC{u#(CG6Vp`4x;&mZ_@jADdQamLqutS6B6&X^YUXgcFP?X10G8k9^Sur%{P^|HrV2mS#&GssShjM z#O>_rX48AplXt0_dq+Yu_yoN`f>cJu$-Q>^1LFv{cEdC0(`y#`!AKe9dvmLJ+vX|B z82?6t3Bx_>d!`xX2`R+)%+Q18S@~CLJ%z#lyt*#3etQdcH1scNftQtW@n4reM!u6z zdcHP?*q<|;Dy4YXE-Ve;Dy+AtZghXusa3=8wA%B9RU2(v^7)miN@eG%%MOdAABP-1 zBz5=uT$V=4$XBZ*_F60?H)8U>SE;!N$Ne*u@L^xZlZ)Q4Sr6cGpNTWdpxS+ zJGIkQXX*XrV6tAPK5FCstJ{;ME`oO@M=HfXHRhO}Wl`H7cHvdkUY|v34AeI&J;416 z|88~AerXNj$KEz(x2W0pZJ!zv}kR z8ty~w@AfVfUI=ZIidgg7=OphsHk7nm{K@N|=ztUFw&m_Q;kbP^)w@4+An6c`b>Kd0 zwdD|Oa(w=${IK2M?I&J%_^PA?sdf7wWpCDqO?~>!0p1wOjd*bCQ--~2A47rvsI4I2 zAVofIt2?NEg|W{c45%blF1+H7|7N6FGCdUJruQ1WrF{d+uV46JzM$seBJ-dPs^*Xv zk+9gg|0LBhFrZv&s^%(#BL*EuFxUzYA zb54wpyU8VDOGwJz1lKEiRQ6dlnwpQZlQjF#ubmF2ozsTRJSQ77S%IqOi)E5*dBJ%* z>)1@+e;0esP+y@ISLJD+DzgzV}cu2#HuoyfpH>=8}*72Bn~( zSsT5Uc;5KRzc`(DFp3Ue&dIt3RciFSLUfCec>fZ0!%^>ZMLJ;a`FLOb;;lz9C@WD* zQpS_92km2N+YIMo?VW`+4|%&^CEwriozA@_QxmLjw{hNhY2C5MA|Aiai5%>R9h*7$ zj<7T9RZo}F#{J;^`vd_##-VH*LRsX*hn=%Kk4ANg_bIgfgtgS8kRey|w%|9it6pR; zw(rIH(hl!>6;L@~&h;#K8#SRJe4$JGc&ja;Gk5qN?90}R39~z5RGw8@iG@C5h2b|h zvU*YNTfKUJRJtY7qUIy7uCINb5~(r{YYgQr2;K;k@U@no-$RZjr!(V3<$w_e~8`I97NnJgt8nbPm5PZTYPljdQg`cZ$rpB4ZaT>Kqx4Aa0b&{TSnnau<2MYFX)F3YCDac*ao<>HV`s zzuQ0v#PKSM0=FT-1?K}~vq1OJw6Q-}b> z2%Y#rnj{{o z1>2~EHuHE=g20N#5R&jfxY~QnSRs-S6W_Y4!{&Tx2C62QUO<*1cZbL9W0YFL^qq$iy-99X0*N> zOc>Rk+0WC(RmUlB0cNr~O+0G1UD2~_)WlzC1SREo$S15$S&1S{o+ai5X}%7z{B93c z(?!PiMAB2cx2BSkEs*vGkXAqdc_45xuP)A`dQ%4iVuxy6VxxXa_z0xTKo}_q0ZWWk zEnq2Frg|iGpJgZ?+~Oh;=)JG|ODGCm?>?aifIc-VYyFQT(*l^W0PBJ0+uSdOmp%Pl7p?}K8588X}`UDjN( zpMXevOeeIt%B)3~7^8SZ;VB1z>^#{p>ROkS*Xzc;U`BZrZ2x9_yj$u5u}dmx=C^20 zC;jklDEH?wA7K5=N_DGRuef@Ko>1YxJV%ym>QVb@9Wj+hH~t^6BMj#>&oElXH-sTd zLQF*lU7*@2X96?_TJvI+BrUprzwvjO?ZO`X=EiVxS6@2PY`;djze31)OnNORdd69u zk{N{dS0$sEmMZYz2Kryl)%84ql=6EBR1>92mvgs7L&2zp2zP6Y$qHrGUNG}7cR_tI zx@axs5{lGCrxT!Gw3%|2Zncl;hH^iDrMlL4>5OFg`$wzRO9Oa+Olenl&odXTFk5HI z{d@rCpX<@{#5{$eeA0fPX!|!TlorUMlslOcNDAg0LorzRw+Q#fo^llJw~F)Vy;&5| z0^r&Z(CQYc?VE)zory9RYe>^?O{NF}z<&k2@~)1Gb(Tt3p3pL-)+5Vo-2vjN0ICGS zPa$gW?Z3s7rvJoDrayoW;nMn2^x#X4@$D^8Krv}^waU+tbPWmsnbmdCBPlq#Rbbzy zyosO&mdC`$E@E*jcZLXR>m)L9ZB)X%BJ zfX^Ql!k~jyb`wRln6ucbYdpSWBMp^?qCtYHD1ow+<)SXn4mQC=fDTO9o(3HOMx5)x z4RrmklyLFdV?01fv@2>gp=f7c1FQKm0|Vz+2_Ht1ow2VxG1W<(cm7@%=+Iw7YAM{jL_((mr@pPVx4+xeaXwF!ka?EnD*#8JYvc2R3I~d&cxKf^oR*CaSaS6wc zMz*hlD*B#cX>CK|^t7{Ik$6dJ^ z(U%d6K%i&l$;Ym?%D@)ClrKd9ce_Dk(AO%oNXMf_&_{rt7XAl@0^# zsdk;E>7!Cu*mxjvNCY%fn_PFOpD}&$Gu1`sUQ@Y++!K#PYQu7o95s^$mepG>xW}5N zO*?oD);n%jqI@Y=@Uc1tj0UcC@7a3$Q)U>+Co4$Ln57VscOKG8CQ->iR%Zg|#}0Mu zr$N@a*8;+Bx5gv>t#t*#2Nu_W53T=4s} zv|L&u1sk)&!z~655LJwhRD^?MFW{(MlJTFyPpd6h%UXgG>AQc)AZjk@BDDn)@UoS^ zm<7U5rJnn53@_L!5}X>CLIEVqpgulW`d`P(fCpECn!7zpnSw?`um%5mw?&yjac3BNdsbzp!Y*fPt0Ryw_LeUrlxY zw0RHmfE{%%m-Ar9n>k@vuwC2l7;}m5-ouq-ASpNaC{%sFA8pzryRGTZyr?kd?ZT;X zO*GiZ-?POG!ld*+o%cLjrFHHV&L=r$>WAlkC9P~ID4Y4Q2Q$&}+8yrXaWuDY?jry9 zNnAFxv^?dQ)sF#_H8$wSlD27^`M!s^Cub++e$TvS@4g*Di@ASRwggu+h6_%r} zr@0#)RpiKPQ5H~l$sVi+H``IE@tZB)Zd2n8sg)|8UoAnjfvT?PPlla0{(=usqV&Iq zE1-W*_Ntw%R8QWib*SVo)bac}AusS{@-vH*4@Z^5{f@WUrMbSK3?UTFnkH1Y+G=Q> zD(LyUFfL`DjlLkbR0I@(~X^X&K;q@T<+2kdQmK&qP&|jB_)N2GlIE zZQVejitN)XQ@MXVQ}A8GAa-RW`g*eVvB>L;<&rREl-m=J=W|CI3&zl%$llnH5GU5~ zmb^C{Ywd&|<`v~TG`E%;>dIpqGKp)RdFrDb%2|KA1?I^%294V8t#Re^_ z*6?!3#<{`=ly|&SR8PS#CaJFR!anHkZzn3xF1i%doL5*P?Vi2x$v?A3a$js&dHiyh ziMxVVm*SiK&GDAk=J$a!h8DBSwspi7K6)iTVEm=R_x|s6<$)8;g`w&hL+s#hh0$;M z@zSyHHY|H(As1}Tvy~P*pG?VK>JjDi1^#`f@IcTj5wV23f?G_t;J!P>p8xgW)a|^i zi*(Oz-{~7-?EpljOV!;0O;2yyN7hsI-;-oghgXhQPrlCkS81xPb!Cqt?b&B)IJahv z+!Yjt9il_C>pS%6j|08`IZ#X5b_o@fK7RM!|A3q4hGM3iZk}j6`Q9YVr$%dmBg&|e zW6pSwEfg`s-U2Hn?S7VYZ03~kC9Cd46C*~_66o~!eAd)Kt&0}EN5987?hl}OYb-oV zv>A!leTW~KCDrX{6Ce9B^mKo$w&`4PIahSB^B-DI*2xXOT{mOAlvHTmn%x=HZm+#M zQ99RW(@fHA{6}wuzxwqcxZthrR_cu3)t8>uRns2&JVtn-VnNg4i|>bHqX<}ueYj!a zg5rhC=0D)0cI87p1vm3;CtObW8;Q!?ieGM@JKK5SvT;!wE;>GB$PaVfM&3Fv1o4^ zeP@_WLJGGqjc$eBXh!57w>40Ma(xwt~OO6aM65qO{~(;XR2790r1fj1N*b zTyu5lhl(=#HPr)d1G~L>@mL_-p1++NDJenTGcRUrjfcmVfq?U=1r&w%<&=XTd356q zL)m5wGTI#j;<`(qS?q-3+#{g;4de-4w0Fh6xu7M6r%%{8+kprGqIk_!YCrJR_LnQI zpSv#SH~cI<*ub`frz;P#i#1Y4lahXm81yjH9s`$?b*{TD)l=Oep+Ba&-R=#s;;DAB z7*GPmOo;}o9L@_soJu}kt0s_#9(2bI+)nCc;Oy*Mon1utRpYTzCL^T(T@lQ6UTMum1zjHDX>I^sguwU_E7f;o|C@pHv;OaxWt3pkikM0B)7v8sZ56KpJ01+|EY!I-7*#t z@{>1f?O_2qRZ9F)P4GA=)a2FUEYW7PTsU!Mo~$MLa~QxVfc4=xhK=pgQjK4P>;puXLi>BzP6bqRl05w0?r|`@a?c14>YQ z%oZU`6-Sm$*>wYx=72!!Oq9Ud#(&x~YP5cW3`WPN2}VrkHkIlkAiFbW6(vuBxdNU$ z+SQT0bv$e%6p<&;M*nw-!x0Qir7nT?5J0r>>;0O+WyhCFzgUY8+7dM*N;jr;Io}ol zlt;UFBcKZ?pt`-&Zp~d0Y6h{Su>3{$2B{gT{@M!&9i4vE<@bo6Epj$tb!(%dD$-AO zLAq=TRK-Tua|?3v4_5fD3o6R>qVleoz_DnLTV1boWdcn8RxB7viZn6Z>Ig2?#$lm3 za*UbL?qgLK$aTe?_~$v>wjQ5IPd)XLG)-Fy+@1@I?h9hr_!d(FPW47cvR)#Hn~8DY-4#v2<^{DAv&0Hh(G zLuf;w6za%ec_M9;lv&sv&9`D3*6|2MyArG3%SuA1;`}06F0YsYNzAWCV8%F$?RX@i zt!VeD6mUI)wlvk31w#^7@Dz|C%8FtWl)!1|_1T~^yX?&V1Rp&8vik&rcNkF8s}@ci z8O%xx0UvX0WDr33?|e>H7qJ-hxBymGVz{jUx<$&nOwA|Ckcdwr3>`+Fs%L|_f56!$ zsFlt;j6j1hK@VPa3!uJCatSdWA75k#HNw+43$}RR;HFxP2+2)Kqf^nEYz~8MgA9Vm z3{jaa5VDd$h>74UhW=;gfNCW~NZAiqiUoS5!qU~kNy@cWgqbTqREaH42Z&=F_AH(5 z8r!&0xNqC!Z1vnTscHK7I)6BoJM(8Nj9V z3or5}d2a>IbntA>lbz|%r1--UW%;lH;5RjmVrRXg4@(VF*C))dz(&OsJ1%3|roodzTq#ouuZy0yGc>?~=E}0raWRHwXG3mi z_!}`=e+*e)s!mY?+g!EIc0yD>Ie_Mj5nDv#tD9)ue>sq?zO0qPknP?636;BNQrh@S zHHb--Z&Ldh>?HiGG=UW27#O%bZ|RnZ>i`aUSj@YRj)JL?Z6&-ok+gI;sH7l%>6)6c zqh(~U-v|Paf*?k-zbK&9k#$91qBsD)o5FsdfJM(c#7y;90ys;Ot-8Ckl9&|S7;djJ z-591|)(w?nWyU3V-b_c72nhOzv1kHV;Bo^2lb^Y#I7lL5fOj94H$jH>2ypUl3>r&Z zsV%Y@$rIS2ki$V6bXQoMJwbCrH!Peu9@S#OjWh zxyXL4r(qv+usj$5w!swy&|TT%#zxL6}im9SJ0UfCg3BJs{)3$BMQQ|jSdbSk^k@XvOr}Tiw0#>5zfKA*~ zt}FlM@So|%s6Rh8rc`u~AA~H8f_GPRI2;*Awet$I)tPbDlYzvk`A|=B0>iLUDn*OE zNY0zWC}c=O1CWs?uz8F5Dn!W?Y6NCa71L4+_hQ=`FbYzqBJ%*G0AgWsd(cKq*-Tq!1sjMLo z1W&ehFKb3Be4ZrmaJ~Nnwmiyck-b?U`17peygpJ(E{t@Zo!a;N13xBk;D11vxIS9{ zZrkZzDj60D1y?6-9U=^kYb>;^r3osY(^ zuHxjwo`UH~ll@yxs>iQJZ#QD8Oc6?NbyFZAmu6Q<+bxn0m%9fmb(lSCe|6#xW@T^q zVXV=$H-08r?f&N-gU>uMt5eRvx9%l7{zWZsDqz0u^|HF@Fr{LkhI)PBqoRZMgQ%^q zmgWhM2$EQPtrm~sn|o9#c%PGrGd1@vm7nixf1%;t6Dve*&}7D#jI1?doHSWJTv)$`fRS_7`^Gd#cj#&V9f>3PH&L#S?QD3 zxVI$ly;q#m=rrH(~xB2)B?M zD3GY#3Xb=xAGdgTI5Z7^rg!SX3rkOME zo{rmpJyHr3A}eZZ7$Xr_FX! zD-z*xEbpQ%ZYc<{jZEmMm!9iM*_G$<&TutY8y^8A%^l5ZynDhzS6Es;grvJaL6@|v zzM0CQanc(5Mwc4S4LlNlJ%31P{K@o*bz682`_4vL(XBS8=ex};f(oN^vOKi2LivBc zC3qE4KPejxA@#~NGN-#4)NNDK?)%E&#w@SrNrR8Hhg9Pv|0O|Mo*=SIVt3Qh_56V; z@YQVVHv&djlqM2wVhDnz-Yd(~8_+J|w9U@{8k)fSEhZSz94v0VhaDpqG|!F!524_J zLjhm-*umr=8MMymECz<_Mu95WR2=hf2m1FjS)EEig=`^!ZK2E4U3bDha03-O8Q|Ck zglo;%^z>zwPJ^?L{T9h+bqYRkk(u`hEhJ7dP)H+Nv%tTeQR9D6ed_W*nPeouLs7;}-@g>p#7YkkDP$RE1>am>?x>{5-}}cxa2yya1eyQ`NwEZj$r|9kx;h>wQk+un zhOodFO+zSMw6tqYw9Uo27nmztDAL>`N*DjCk)Wy@CK+4pfkeV`NgyDD7`fY^60_#c zy94~eLJTdnm`n%fA8}EIC70cJ;NLt{zo1J`j1LN^@0!%bwSryX{igKAfpo>wNdq}R z(oe9f+0bc&1ypdUmQ`rNnz9=sMhA6U3EVbSn4Sl_$pm~u2@ZaZ2Ov-k^Lr2`vQt4tH+q|aOxs*4a?FO7Mh6VZ{{xh9OOsh>;w&lH z1{ni>L`Vbh7v)dU+;#1;D3jK(fwOzdr->L_=xcGJ(JJ-4x10p)9@OiSe7;PZMGPg+ zuYfa=HNu4(y#{5^LoQ&{4nj5!r?%+4w{;T=uroq&hpy!(aE^vl_$6YH+jXWLAf1rT zAWe)b)N(YVlP)h3LyL9e&Iz<}?d@ybki_>$lQ{RqS_HUIg;^Wp_^U#|U?4XWQH8IK z%lhrcGfg#+!GpT)-?r8R*(nn<73=O&sEkzOpBcYFl6zI}+M0+0g$mRnRO#Kj%;YB- zTc&`396dX6uG<%#T*t&;;F#cU7y(L{cN(%qz}DmxlPHK%fu{LnCJ@S{BYVT`I&n6* zTl1nM9vtM&w|CWR$D4G2ZUxr5T?m@yyxs;xK4Hy$hn@}H!-_#0$!j$T3x@Ej`fYwS z{&V-=>tkMO`^DaC#s$F`|4yWBf4wOyS*S&GG_@b{-0m!A z5EeU6Zb2)F1)vj>I8}*fHvZAILyyPn${dC*i>F;i59kour|qZNLFnz*rd~S$O4>>7 zpw#7DA5*SGJ)LG(Lqz17Y-a^`HI+`#)Z zeI)t2F3>Q(T&M(72Hd_m2We7&U|SKGZX27;Qm8G2&ftf&Y;bdSP>8z51~+$ctDfT! zyHA?IZVomRM7;mjRJgX(Xe2Z>8a#bN1f4tC92qNTx~ow;fzMjPwkn_iz&h}$P#{ko zNQ6cb1cS^j(2*6X`Di!MjAAa~M@&7YJEbasYs5df0UYL#znqL}MP5_85+7jLDERn- zlTmD!N-*`8E2ILNL3TG;AeE7Y*1y~-VCc~h$Mu&pVOGJEsnExCM=E#+JXQhWMh5mX zjU~uyq#(@pT);HW-G5!QQkY0AmhvB`=ZSJMSdf=&a^vz?y8QMmJLyLKXsV=WJPP#M z0bCv@(kue}!O^T#Ur6KB2xlq2v=a+4{lG2~Wn?uLZn6tN-Xjz~6{1R#m`;rreTIqd#Tm^7WWcPhlk5EwXxgLwdc^VW!WZH3;CYt_wZU7GsgJ`*Z838BGIz1b@GSJfBwshKl>k)P#8a%dNlMa7%NjO|_y-20)vns&_2Pn*-GLh8{!OEo^%~O z=imv+TJvZ_Pl8h-$8M;B2@`Bnv|38#TzaHGs7DMr;Ie8RlD)G2+eKzU`rs@^u# zT~BHVGVd~gV+XYo0OkyMYlzwRzCkBQn@!cg&M^}Fly}MCizq_LBHOG~2o7D+iI{F& zt-boF+t4HrZX!|~pJZ+pR-!d|)g{vWas(cN-t|o3tHbuBZ@TXd2pgrs8FH(C1T@u{ z;SzG?1^CXin@Rj7Sm?zo4vv|8NYXTU zGkUL$jQLf!3L39sNp`Ai+P)&9O`D-iK&!-0?+SCo#EtRZB`PdN30mpP|Ba?8$UD>1 z)|i9+d`SsYsC~DBInx1Xi(EQb>#l&=_O^|(UmMeMT|a9PN~~(!>Qy{1!VZH%#f?y_n)H2`9;tkYl-zPDugVNrKUO*St)Fls9Hz`c@v zJCgnO&~od}-}6~4FTdTs+f4VHZdu{`j%sGo$&atEZ6&|Iyn3MQ5?}suWBh|--7jWy zyq`{8&u^n9cYOuhy|d5Ks!?(M`7MR5To{<-n!b;)%nNya4rXh1XUhI-R_)}*eK0`j zR~z$~e8c&s?fZh_9YMH;!dsj8elBHAwqJ`jHD3`NOKYNli#RWKykjS!CX#{m8q~b% zo992M(_f$Rwj_9+HX}#{79^c?;UFwi!)}6XAX@O(WzB3wJbfFaO=-=Wj6#}vB%T|{ zF*w%hq`LRqC9rFJN4eZM?QNwT(@C#poMvlqtoRma9VH7Z?Ou#Vpf~jT5CVN&-zfEC zEAo)MNBVDEbRIeE1lB~OTMswfIQJd`s$S4J7;tC-@+)HoV!?TxL8=W-#L*a?h%Gsr z&IJ?UDp!Rn(!0#voe6?2^WLj0@Y=WR1g27rSc~bpUs9x%&~1D;!v&O_MpIBy2)`== zUCo*n97OFNfKfJTHC^jAe|-};_?o2KOk-}8IU|Tg?O;R0*1BQ2CkPvWOFlB11!5Yo=E6ICv`>N)P zFk8AGwF479PVY7WAKTksnYyu9ZlAc4IR|?D6$iMw62{d;+0ZoVPjK8>rVIfS$zSY_ zfvUPb{uAp^c<3#K3aB2pBd9UX}0<`dOF+?TSS_4vBUH ze<-UWqD6O}9e+~^+=E#yL@e@Qz=iR#w3meT{1n{G^bxiZS+<9JZpOh*GfT)X#4H6h zc7eausL?Ffq-+@#5h}*lTjGKD2d&IGqr^s3#CWb77t<}J8Utilc9L6lUDojtt9;lL z$!0TJTz*BM9orfsXpL3D0`jp!AHXa#I6nAMn*;@Xm9%J6xgd7{!|ZgzHh|wmQkm9S zPP&Oi!jBwJz+aWR@(92JQ_x(il8d^uG=Yk}6hnC@i#y4|&U6Mfwkk~7XK{JG!0fro z-JR4{>~xop?>VpmrHbps5|sW%RI8ZMd%~_j$nee>VZGA8u=M_V+$XG7#xIf5|33d8 DNTNE_ literal 0 HcmV?d00001 diff --git a/test/it/loadblock.test.html b/test/it/loadblock.test.html new file mode 100644 index 0000000..a40be13 --- /dev/null +++ b/test/it/loadblock.test.html @@ -0,0 +1,98 @@ + + + + Test Runner + + + + + +

+ The first block + +
+ + \ No newline at end of file From 03c9e94d088fa9b8ef351cc7f869abaed04402a1 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 4 Jul 2024 19:44:41 +0200 Subject: [PATCH 20/62] test(index): add test for form submissions --- test/it/loadblock.test.html | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/it/loadblock.test.html b/test/it/loadblock.test.html index a40be13..60e164e 100644 --- a/test/it/loadblock.test.html +++ b/test/it/loadblock.test.html @@ -31,6 +31,19 @@ The first block +
+
+ + +
+ +
\ No newline at end of file From 14e0a3c7528c8de987a63fc17590b7c70dad52c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 13:02:59 +0000 Subject: [PATCH 21/62] chore(deps): update dependency mocha to v10.6.0 --- package-lock.json | 139 ++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 66 insertions(+), 75 deletions(-) diff --git a/package-lock.json b/package-lock.json index bb09f7b..114baa7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "jsdoc-to-markdown": "8.0.1", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", - "mocha": "10.5.2", + "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", "rollup": "4.18.0", "rollup-plugin-cleanup": "3.2.1", @@ -2116,10 +2116,11 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -8020,31 +8021,32 @@ "dev": true }, "node_modules/mocha": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.2.tgz", - "integrity": "sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -8075,6 +8077,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8089,13 +8092,15 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/mocha/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8105,6 +8110,7 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -8116,6 +8122,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8127,51 +8134,22 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } + "license": "MIT" }, "node_modules/mocha/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8185,6 +8163,7 @@ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8204,6 +8183,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -8213,6 +8193,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -8222,6 +8203,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -8230,10 +8212,11 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8245,13 +8228,15 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/mocha/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -8266,6 +8251,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8281,6 +8267,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8298,6 +8285,7 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -8312,10 +8300,11 @@ } }, "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -12969,10 +12958,11 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -14489,10 +14479,11 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "9.0.0", diff --git a/package.json b/package.json index e2515aa..37f3533 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "jsdoc-to-markdown": "8.0.1", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", - "mocha": "10.5.2", + "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", "rollup": "4.18.0", "rollup-plugin-cleanup": "3.2.1", From 4c5de594b48e415143c22438a839b173e3b7ed99 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Jul 2024 13:08:34 +0000 Subject: [PATCH 22/62] chore(deps): update dependency rollup to v4.18.1 --- package-lock.json | 153 +++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 86 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index 114baa7..8c4061b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "lint-staged": "15.2.7", "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.18.0", + "rollup": "4.18.1", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", @@ -758,208 +758,224 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", + "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", + "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", - "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", + "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", + "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", + "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", + "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", + "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", + "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", + "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", + "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", + "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", + "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", + "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", + "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", + "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", + "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -12465,10 +12481,11 @@ } }, "node_modules/rollup": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", - "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", + "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -12480,22 +12497,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.0", - "@rollup/rollup-android-arm64": "4.18.0", - "@rollup/rollup-darwin-arm64": "4.18.0", - "@rollup/rollup-darwin-x64": "4.18.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", - "@rollup/rollup-linux-arm-musleabihf": "4.18.0", - "@rollup/rollup-linux-arm64-gnu": "4.18.0", - "@rollup/rollup-linux-arm64-musl": "4.18.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", - "@rollup/rollup-linux-riscv64-gnu": "4.18.0", - "@rollup/rollup-linux-s390x-gnu": "4.18.0", - "@rollup/rollup-linux-x64-gnu": "4.18.0", - "@rollup/rollup-linux-x64-musl": "4.18.0", - "@rollup/rollup-win32-arm64-msvc": "4.18.0", - "@rollup/rollup-win32-ia32-msvc": "4.18.0", - "@rollup/rollup-win32-x64-msvc": "4.18.0", + "@rollup/rollup-android-arm-eabi": "4.18.1", + "@rollup/rollup-android-arm64": "4.18.1", + "@rollup/rollup-darwin-arm64": "4.18.1", + "@rollup/rollup-darwin-x64": "4.18.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", + "@rollup/rollup-linux-arm-musleabihf": "4.18.1", + "@rollup/rollup-linux-arm64-gnu": "4.18.1", + "@rollup/rollup-linux-arm64-musl": "4.18.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", + "@rollup/rollup-linux-riscv64-gnu": "4.18.1", + "@rollup/rollup-linux-s390x-gnu": "4.18.1", + "@rollup/rollup-linux-x64-gnu": "4.18.1", + "@rollup/rollup-linux-x64-musl": "4.18.1", + "@rollup/rollup-win32-arm64-msvc": "4.18.1", + "@rollup/rollup-win32-ia32-msvc": "4.18.1", + "@rollup/rollup-win32-x64-msvc": "4.18.1", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index 37f3533..971946b 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "lint-staged": "15.2.7", "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.18.0", + "rollup": "4.18.1", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", From 582e61f7054b684b01b53dc0608dd1ebe8dbe105 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Jul 2024 13:38:03 +0000 Subject: [PATCH 23/62] chore(deps): update external fixes --- package-lock.json | 217 +++++++++++++++++++++------------------------- package.json | 8 +- 2 files changed, 104 insertions(+), 121 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c4061b..8810106 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,17 +24,17 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.0.11", - "jsdoc-to-markdown": "8.0.1", + "husky": "9.1.1", + "jsdoc-to-markdown": "8.0.2", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.18.1", + "rollup": "4.19.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", - "web-vitals": "4.2.1" + "web-vitals": "4.2.2" } }, "node_modules/@75lb/deep-merge": { @@ -758,9 +758,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", - "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz", + "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==", "cpu": [ "arm" ], @@ -772,9 +772,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", - "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz", + "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==", "cpu": [ "arm64" ], @@ -786,9 +786,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", - "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz", + "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==", "cpu": [ "arm64" ], @@ -800,9 +800,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", - "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz", + "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==", "cpu": [ "x64" ], @@ -814,9 +814,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", - "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz", + "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==", "cpu": [ "arm" ], @@ -828,9 +828,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", - "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz", + "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==", "cpu": [ "arm" ], @@ -842,9 +842,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", - "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz", + "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==", "cpu": [ "arm64" ], @@ -856,9 +856,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", - "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz", + "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==", "cpu": [ "arm64" ], @@ -870,9 +870,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", - "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz", + "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==", "cpu": [ "ppc64" ], @@ -884,9 +884,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", - "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz", + "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==", "cpu": [ "riscv64" ], @@ -898,9 +898,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", - "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz", + "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==", "cpu": [ "s390x" ], @@ -912,9 +912,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", - "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", + "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", "cpu": [ "x64" ], @@ -926,9 +926,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", - "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz", + "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==", "cpu": [ "x64" ], @@ -940,9 +940,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", - "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz", + "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==", "cpu": [ "arm64" ], @@ -954,9 +954,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", - "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz", + "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==", "cpu": [ "ia32" ], @@ -968,9 +968,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", - "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz", + "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==", "cpu": [ "x64" ], @@ -4061,17 +4061,18 @@ } }, "node_modules/dmd": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.0.tgz", - "integrity": "sha512-uXWxLF1H7TkUAuoHK59/h/ts5cKavm2LnhrIgJWisip4BVzPoXavlwyoprFFn2CzcahKYgvkfaebS6oxzgflkg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.2.tgz", + "integrity": "sha512-orFlGEnP3ymcYdXmcRBjl6ujLO099aLHrqV8cHvu2u1NvyYs+IFhPG37KwfhUI2unFOfbc34CzF7poj8iR514w==", "dev": true, + "license": "MIT", "dependencies": { "array-back": "^6.2.2", "cache-point": "^2.0.0", "common-sequence": "^2.0.2", - "file-set": "^4.0.2", - "handlebars": "^4.7.7", - "marked": "^4.2.3", + "fast-glob": "^3.3.2", + "handlebars": "^4.7.8", + "marked": "^4.3.0", "object-get": "^2.1.1", "reduce-flatten": "^3.0.1", "reduce-unique": "^2.0.1", @@ -5171,28 +5172,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-set": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz", - "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==", - "dev": true, - "dependencies": { - "array-back": "^5.0.0", - "glob": "^7.1.6" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/file-set/node_modules/array-back": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz", - "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5885,12 +5864,13 @@ } }, "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.1.tgz", + "integrity": "sha512-fCqlqLXcBnXa/TJXmT93/A36tJsjdJkibQ1MuIiFyCCYUlpYpIaj2mv1w+3KR6Rzu1IC3slFTje5f6DUp2A2rg==", "dev": true, + "license": "MIT", "bin": { - "husky": "bin.mjs" + "husky": "bin.js" }, "engines": { "node": ">=18" @@ -6739,17 +6719,17 @@ } }, "node_modules/jsdoc-api": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.0.0.tgz", - "integrity": "sha512-Rnhor0suB1Ds1abjmFkFfKeD+kSMRN9oHMTMZoJVUrmtCGDwXty+sWMA9sa4xbe4UyxuPjhC7tavZ40mDKK6QQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.1.0.tgz", + "integrity": "sha512-CaiFo+GJKMdGjBHDmppub2QvTsVQyBSlY+pJNiiLjdPWtWMHqchfVO97kKle9EllFZ/ez/zqnD+WTP+dTTV4zg==", "dev": true, + "license": "MIT", "dependencies": { "array-back": "^6.2.2", "cache-point": "^2.0.0", "collect-all": "^1.0.4", - "file-set": "^4.0.2", "fs-then-native": "^2.0.0", - "jsdoc": "^4.0.0", + "jsdoc": "^4.0.3", "object-to-spawn-args": "^2.0.1", "temp-path": "^1.0.0", "walk-back": "^5.1.0" @@ -6793,16 +6773,17 @@ } }, "node_modules/jsdoc-to-markdown": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.1.tgz", - "integrity": "sha512-qJfNJhkq2C26UYoOdj8L1yheTJlk1veCsxwRejRmj07XZKCn7oSkuPErx6+JoNi8afCaUKdIM5oUu0uF2/T8iw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.2.tgz", + "integrity": "sha512-3k03lU8JV6ZAudAcUXdu01O/0mTqdfiMLXtIx6NMPsmo8tw06WitFn6qUq7n6mZx8mj/qTtDZDiBfH4IGul1dA==", "dev": true, + "license": "MIT", "dependencies": { "array-back": "^6.2.2", "command-line-tool": "^0.8.0", "config-master": "^3.1.0", - "dmd": "^6.2.0", - "jsdoc-api": "^8.0.0", + "dmd": "^6.2.1", + "jsdoc-api": "^8.1.0", "jsdoc-parse": "^6.2.1", "walk-back": "^5.1.0" }, @@ -6818,6 +6799,7 @@ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.17" } @@ -12481,9 +12463,9 @@ } }, "node_modules/rollup": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", - "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz", + "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==", "dev": true, "license": "MIT", "dependencies": { @@ -12497,22 +12479,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.1", - "@rollup/rollup-android-arm64": "4.18.1", - "@rollup/rollup-darwin-arm64": "4.18.1", - "@rollup/rollup-darwin-x64": "4.18.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", - "@rollup/rollup-linux-arm-musleabihf": "4.18.1", - "@rollup/rollup-linux-arm64-gnu": "4.18.1", - "@rollup/rollup-linux-arm64-musl": "4.18.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", - "@rollup/rollup-linux-riscv64-gnu": "4.18.1", - "@rollup/rollup-linux-s390x-gnu": "4.18.1", - "@rollup/rollup-linux-x64-gnu": "4.18.1", - "@rollup/rollup-linux-x64-musl": "4.18.1", - "@rollup/rollup-win32-arm64-msvc": "4.18.1", - "@rollup/rollup-win32-ia32-msvc": "4.18.1", - "@rollup/rollup-win32-x64-msvc": "4.18.1", + "@rollup/rollup-android-arm-eabi": "4.19.0", + "@rollup/rollup-android-arm64": "4.19.0", + "@rollup/rollup-darwin-arm64": "4.19.0", + "@rollup/rollup-darwin-x64": "4.19.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.0", + "@rollup/rollup-linux-arm-musleabihf": "4.19.0", + "@rollup/rollup-linux-arm64-gnu": "4.19.0", + "@rollup/rollup-linux-arm64-musl": "4.19.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0", + "@rollup/rollup-linux-riscv64-gnu": "4.19.0", + "@rollup/rollup-linux-s390x-gnu": "4.19.0", + "@rollup/rollup-linux-x64-gnu": "4.19.0", + "@rollup/rollup-linux-x64-musl": "4.19.0", + "@rollup/rollup-win32-arm64-msvc": "4.19.0", + "@rollup/rollup-win32-ia32-msvc": "4.19.0", + "@rollup/rollup-win32-x64-msvc": "4.19.0", "fsevents": "~2.3.2" } }, @@ -14394,10 +14376,11 @@ } }, "node_modules/web-vitals": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.1.tgz", - "integrity": "sha512-U6bAxeudnhDqcXNl50JC4hLlqox9DZnngxfISZm3DMZnonW35xtJOVUc091L+DOY+6hVZVpKXoiCP0RiT6339Q==", - "dev": true + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.2.tgz", + "integrity": "sha512-nYfoOqb4EmElljyXU2qdeE76KsvoHdftQKY4DzA9Aw8DervCg2bG634pHLrJ/d6+B4mE3nWTSJv8Mo7B2mbZkw==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/webidl-conversions": { "version": "7.0.0", diff --git a/package.json b/package.json index 971946b..b1cd6f4 100644 --- a/package.json +++ b/package.json @@ -48,17 +48,17 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.0.11", - "jsdoc-to-markdown": "8.0.1", + "husky": "9.1.1", + "jsdoc-to-markdown": "8.0.2", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", "mocha": "10.6.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.18.1", + "rollup": "4.19.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", - "web-vitals": "4.2.1" + "web-vitals": "4.2.2" }, "lint-staged": { "*.js": "eslint", From eb5a396ea88ce2532f82b747fb3f14941c8def03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Jul 2024 23:17:20 +0000 Subject: [PATCH 24/62] chore(deps): update dependency mocha to v10.7.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8810106..4add7ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "jsdoc-to-markdown": "8.0.2", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", - "mocha": "10.6.0", + "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", "rollup": "4.19.0", "rollup-plugin-cleanup": "3.2.1", @@ -8019,9 +8019,9 @@ "dev": true }, "node_modules/mocha": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", - "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index b1cd6f4..47a6830 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "jsdoc-to-markdown": "8.0.2", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", - "mocha": "10.6.0", + "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", "rollup": "4.19.0", "rollup-plugin-cleanup": "3.2.1", From 68f8040560a2b2cbaddb598e5e8d90cbdd636465 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jul 2024 13:45:02 +0000 Subject: [PATCH 25/62] chore(deps): update external fixes --- package-lock.json | 195 ++++++++++++++++++++++++++-------------------- package.json | 6 +- 2 files changed, 113 insertions(+), 88 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4add7ba..d1d7f70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,13 +24,13 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.1.1", - "jsdoc-to-markdown": "8.0.2", + "husky": "9.1.3", + "jsdoc-to-markdown": "8.0.3", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.19.0", + "rollup": "4.19.1", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", @@ -758,9 +758,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz", - "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", + "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", "cpu": [ "arm" ], @@ -772,9 +772,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz", - "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", + "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", "cpu": [ "arm64" ], @@ -786,9 +786,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz", - "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", + "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", "cpu": [ "arm64" ], @@ -800,9 +800,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz", - "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", + "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", "cpu": [ "x64" ], @@ -814,9 +814,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz", - "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", + "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", "cpu": [ "arm" ], @@ -828,9 +828,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz", - "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", + "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", "cpu": [ "arm" ], @@ -842,9 +842,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz", - "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", + "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", "cpu": [ "arm64" ], @@ -856,9 +856,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz", - "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", + "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", "cpu": [ "arm64" ], @@ -870,9 +870,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz", - "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", + "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", "cpu": [ "ppc64" ], @@ -884,9 +884,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz", - "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", + "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", "cpu": [ "riscv64" ], @@ -898,9 +898,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz", - "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", + "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", "cpu": [ "s390x" ], @@ -912,9 +912,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", - "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", + "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", "cpu": [ "x64" ], @@ -926,9 +926,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz", - "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", + "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", "cpu": [ "x64" ], @@ -940,9 +940,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz", - "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", + "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", "cpu": [ "arm64" ], @@ -954,9 +954,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz", - "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", + "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", "cpu": [ "ia32" ], @@ -968,9 +968,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz", - "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", + "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", "cpu": [ "x64" ], @@ -4061,16 +4061,16 @@ } }, "node_modules/dmd": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.2.tgz", - "integrity": "sha512-orFlGEnP3ymcYdXmcRBjl6ujLO099aLHrqV8cHvu2u1NvyYs+IFhPG37KwfhUI2unFOfbc34CzF7poj8iR514w==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.3.tgz", + "integrity": "sha512-SIEkjrG7cZ9GWZQYk/mH+mWtcRPly/3ibVuXO/tP/MFoWz6KiRK77tSMq6YQBPl7RljPtXPQ/JhxbNuCdi1bNw==", "dev": true, "license": "MIT", "dependencies": { "array-back": "^6.2.2", "cache-point": "^2.0.0", "common-sequence": "^2.0.2", - "fast-glob": "^3.3.2", + "file-set": "^4.0.2", "handlebars": "^4.7.8", "marked": "^4.3.0", "object-get": "^2.1.1", @@ -5172,6 +5172,30 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-set": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz", + "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "glob": "^7.1.6" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/file-set/node_modules/array-back": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz", + "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5864,9 +5888,9 @@ } }, "node_modules/husky": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.1.tgz", - "integrity": "sha512-fCqlqLXcBnXa/TJXmT93/A36tJsjdJkibQ1MuIiFyCCYUlpYpIaj2mv1w+3KR6Rzu1IC3slFTje5f6DUp2A2rg==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.3.tgz", + "integrity": "sha512-ET3TQmQgdIu0pt+jKkpo5oGyg/4MQZpG6xcam5J5JyNJV+CBT23OBpCF15bKHKycRyMH9k6ONy8g2HdGIsSkMQ==", "dev": true, "license": "MIT", "bin": { @@ -6719,15 +6743,16 @@ } }, "node_modules/jsdoc-api": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.1.0.tgz", - "integrity": "sha512-CaiFo+GJKMdGjBHDmppub2QvTsVQyBSlY+pJNiiLjdPWtWMHqchfVO97kKle9EllFZ/ez/zqnD+WTP+dTTV4zg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.1.1.tgz", + "integrity": "sha512-yas9E4h8NHp1CTEZiU/DPNAvLoUcip+Hl8Xi1RBYzHqSrgsF+mImAZNtwymrXvgbrgl4bNGBU9syulM0JzFeHQ==", "dev": true, "license": "MIT", "dependencies": { "array-back": "^6.2.2", "cache-point": "^2.0.0", "collect-all": "^1.0.4", + "file-set": "^4.0.2", "fs-then-native": "^2.0.0", "jsdoc": "^4.0.3", "object-to-spawn-args": "^2.0.1", @@ -6773,17 +6798,17 @@ } }, "node_modules/jsdoc-to-markdown": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.2.tgz", - "integrity": "sha512-3k03lU8JV6ZAudAcUXdu01O/0mTqdfiMLXtIx6NMPsmo8tw06WitFn6qUq7n6mZx8mj/qTtDZDiBfH4IGul1dA==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.3.tgz", + "integrity": "sha512-JGYYd5xygnQt1DIxH+HUI+X/ynL8qWihzIF0n15NSCNtM6MplzawURRcaLI2WkiS2hIjRIgsphCOfM7FkaWiNg==", "dev": true, "license": "MIT", "dependencies": { "array-back": "^6.2.2", "command-line-tool": "^0.8.0", "config-master": "^3.1.0", - "dmd": "^6.2.1", - "jsdoc-api": "^8.1.0", + "dmd": "^6.2.3", + "jsdoc-api": "^8.1.1", "jsdoc-parse": "^6.2.1", "walk-back": "^5.1.0" }, @@ -12463,9 +12488,9 @@ } }, "node_modules/rollup": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz", - "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", + "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", "dev": true, "license": "MIT", "dependencies": { @@ -12479,22 +12504,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.19.0", - "@rollup/rollup-android-arm64": "4.19.0", - "@rollup/rollup-darwin-arm64": "4.19.0", - "@rollup/rollup-darwin-x64": "4.19.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.19.0", - "@rollup/rollup-linux-arm-musleabihf": "4.19.0", - "@rollup/rollup-linux-arm64-gnu": "4.19.0", - "@rollup/rollup-linux-arm64-musl": "4.19.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0", - "@rollup/rollup-linux-riscv64-gnu": "4.19.0", - "@rollup/rollup-linux-s390x-gnu": "4.19.0", - "@rollup/rollup-linux-x64-gnu": "4.19.0", - "@rollup/rollup-linux-x64-musl": "4.19.0", - "@rollup/rollup-win32-arm64-msvc": "4.19.0", - "@rollup/rollup-win32-ia32-msvc": "4.19.0", - "@rollup/rollup-win32-x64-msvc": "4.19.0", + "@rollup/rollup-android-arm-eabi": "4.19.1", + "@rollup/rollup-android-arm64": "4.19.1", + "@rollup/rollup-darwin-arm64": "4.19.1", + "@rollup/rollup-darwin-x64": "4.19.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", + "@rollup/rollup-linux-arm-musleabihf": "4.19.1", + "@rollup/rollup-linux-arm64-gnu": "4.19.1", + "@rollup/rollup-linux-arm64-musl": "4.19.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", + "@rollup/rollup-linux-riscv64-gnu": "4.19.1", + "@rollup/rollup-linux-s390x-gnu": "4.19.1", + "@rollup/rollup-linux-x64-gnu": "4.19.1", + "@rollup/rollup-linux-x64-musl": "4.19.1", + "@rollup/rollup-win32-arm64-msvc": "4.19.1", + "@rollup/rollup-win32-ia32-msvc": "4.19.1", + "@rollup/rollup-win32-x64-msvc": "4.19.1", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index 47a6830..294553f 100644 --- a/package.json +++ b/package.json @@ -48,13 +48,13 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.1.1", - "jsdoc-to-markdown": "8.0.2", + "husky": "9.1.3", + "jsdoc-to-markdown": "8.0.3", "junit-report-builder": "3.2.1", "lint-staged": "15.2.7", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.19.0", + "rollup": "4.19.1", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", From 39456b699f25f6201c346b113e1d20bca53797da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:59:22 +0200 Subject: [PATCH 26/62] chore(deps): update dependency junit-report-builder to v4 (#242) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 23 ++++++++--------------- package.json | 2 +- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index d1d7f70..580c710 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "eslint-plugin-import": "2.29.1", "husky": "9.1.3", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "3.2.1", + "junit-report-builder": "4.0.0", "lint-staged": "15.2.7", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", @@ -3856,15 +3856,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-format": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", - "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", @@ -6893,18 +6884,18 @@ } }, "node_modules/junit-report-builder": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-3.2.1.tgz", - "integrity": "sha512-IMCp5XyDQ4YESDE4Za7im3buM0/7cMnRfe17k2X8B05FnUl9vqnaliX6cgOEmPIeWKfJrEe/gANRq/XgqttCqQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-4.0.0.tgz", + "integrity": "sha512-Wmr5TdZVne2L7D2ZIOvC0iGQNbvAxK+hSStmfjd+Qfdgr0pkd/ZwZlezIRMeWfaqJorP/+MYSqYcPbaWpo+fJQ==", "dev": true, + "license": "MIT", "dependencies": { - "date-format": "4.0.3", "lodash": "^4.17.21", "make-dir": "^3.1.0", "xmlbuilder": "^15.1.1" }, "engines": { - "node": ">=8" + "node": ">=16" } }, "node_modules/junit-report-builder/node_modules/make-dir": { @@ -6912,6 +6903,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -6927,6 +6919,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } diff --git a/package.json b/package.json index 294553f..9ee7319 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "eslint-plugin-import": "2.29.1", "husky": "9.1.3", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "3.2.1", + "junit-report-builder": "4.0.0", "lint-staged": "15.2.7", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", From 8ebaa97e844ff605ec2e6a458fc43adc3c5a37dd Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Tue, 30 Jul 2024 11:02:01 +0200 Subject: [PATCH 27/62] fix(loadresource): include all JSON resources, and GraphQL resources --- modules/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/index.js b/modules/index.js index 19e061a..1d2796a 100644 --- a/modules/index.js +++ b/modules/index.js @@ -146,7 +146,7 @@ function addLoadResourceTracking() { list.getEntries() .filter((entry) => !entry.responseStatus || entry.responseStatus < 400) .filter((entry) => window.location.hostname === new URL(entry.name).hostname) - .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html|\\.json)$')) + .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html$|\\.json|graphql')) .forEach((entry) => { sampleRUM('loadresource', { source: entry.name, target: Math.round(entry.duration) }); }); From 0978b7138f16421b5eb22c49b3c757116cb7053b Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Tue, 30 Jul 2024 15:26:25 +0200 Subject: [PATCH 28/62] fix(loadresource): fix closing bracket --- modules/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/index.js b/modules/index.js index 1d2796a..15ce92b 100644 --- a/modules/index.js +++ b/modules/index.js @@ -146,7 +146,7 @@ function addLoadResourceTracking() { list.getEntries() .filter((entry) => !entry.responseStatus || entry.responseStatus < 400) .filter((entry) => window.location.hostname === new URL(entry.name).hostname) - .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html$|\\.json|graphql')) + .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html$|\\.json|graphql)')) .forEach((entry) => { sampleRUM('loadresource', { source: entry.name, target: Math.round(entry.duration) }); }); From d85d976ec07652b9c024d5fe23bb223712f45194 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 2 Aug 2024 08:07:58 +0000 Subject: [PATCH 29/62] chore(release): 2.17.1 [skip ci] ## [2.17.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.0...v2.17.1) (2024-08-02) ### Bug Fixes * **loadresource:** fix closing bracket ([0978b71](https://github.com/adobe/helix-rum-enhancer/commit/0978b7138f16421b5eb22c49b3c757116cb7053b)) * **loadresource:** include all JSON resources, and GraphQL resources ([8ebaa97](https://github.com/adobe/helix-rum-enhancer/commit/8ebaa97e844ff605ec2e6a458fc43adc3c5a37dd)) --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 549e0b0..54e15d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [2.17.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.0...v2.17.1) (2024-08-02) + + +### Bug Fixes + +* **loadresource:** fix closing bracket ([0978b71](https://github.com/adobe/helix-rum-enhancer/commit/0978b7138f16421b5eb22c49b3c757116cb7053b)) +* **loadresource:** include all JSON resources, and GraphQL resources ([8ebaa97](https://github.com/adobe/helix-rum-enhancer/commit/8ebaa97e844ff605ec2e6a458fc43adc3c5a37dd)) + # [2.17.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.16.0...v2.17.0) (2024-07-03) diff --git a/package.json b/package.json index 9ee7319..1ee4f24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.0", + "version": "2.17.1", "description": "Helix RUM Enhancer", "main": "src/index.js", "type": "module", From 6afeb6150ba1e9b8f0c8047460f22888cf048d6e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Aug 2024 12:40:18 +0000 Subject: [PATCH 30/62] chore(deps): update external fixes --- package-lock.json | 308 ++++++++++++++++++++++++++++------------------ package.json | 8 +- 2 files changed, 195 insertions(+), 121 deletions(-) diff --git a/package-lock.json b/package-lock.json index 580c710..0bb957f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.0", + "version": "2.17.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.0", + "version": "2.17.1", "license": "Apache-2.0", "devDependencies": { "@adobe/eslint-config-helix": "2.0.6", @@ -24,13 +24,13 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.1.3", + "husky": "9.1.4", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "4.0.0", - "lint-staged": "15.2.7", + "junit-report-builder": "4.0.1", + "lint-staged": "15.2.8", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.19.1", + "rollup": "4.20.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", @@ -758,9 +758,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", - "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", "cpu": [ "arm" ], @@ -772,9 +772,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", - "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", "cpu": [ "arm64" ], @@ -786,9 +786,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", - "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", "cpu": [ "arm64" ], @@ -800,9 +800,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", - "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", "cpu": [ "x64" ], @@ -814,9 +814,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", - "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", "cpu": [ "arm" ], @@ -828,9 +828,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", - "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", "cpu": [ "arm" ], @@ -842,9 +842,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", - "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", "cpu": [ "arm64" ], @@ -856,9 +856,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", - "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", "cpu": [ "arm64" ], @@ -870,9 +870,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", - "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", "cpu": [ "ppc64" ], @@ -884,9 +884,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", - "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", "cpu": [ "riscv64" ], @@ -898,9 +898,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", - "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", "cpu": [ "s390x" ], @@ -912,9 +912,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", - "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", "cpu": [ "x64" ], @@ -926,9 +926,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", - "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", "cpu": [ "x64" ], @@ -940,9 +940,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", - "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", "cpu": [ "arm64" ], @@ -954,9 +954,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", - "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", "cpu": [ "ia32" ], @@ -968,9 +968,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", - "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", "cpu": [ "x64" ], @@ -3863,10 +3863,11 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -5879,9 +5880,9 @@ } }, "node_modules/husky": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.3.tgz", - "integrity": "sha512-ET3TQmQgdIu0pt+jKkpo5oGyg/4MQZpG6xcam5J5JyNJV+CBT23OBpCF15bKHKycRyMH9k6ONy8g2HdGIsSkMQ==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.4.tgz", + "integrity": "sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==", "dev": true, "license": "MIT", "bin": { @@ -6884,9 +6885,10 @@ } }, "node_modules/junit-report-builder": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-4.0.0.tgz", - "integrity": "sha512-Wmr5TdZVne2L7D2ZIOvC0iGQNbvAxK+hSStmfjd+Qfdgr0pkd/ZwZlezIRMeWfaqJorP/+MYSqYcPbaWpo+fJQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-4.0.1.tgz", + "integrity": "sha512-Fd6IXHjaN0nt3mQDw93Xj6zvU96qyWdfW4z9o3JHgspC1qbb2KKiOsG3yMebP7cMj8n7zkI5URNLbxpjbRBpfA==", + "deprecated": "The CommonJS API was accidentally changed in 4.0.1.", "dev": true, "license": "MIT", "dependencies": { @@ -7118,21 +7120,22 @@ } }, "node_modules/lint-staged": { - "version": "15.2.7", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.7.tgz", - "integrity": "sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.8.tgz", + "integrity": "sha512-PUWFf2zQzsd9EFU+kM1d7UP+AZDbKFKuj+9JNVTBkhUFhbg4MAt6WfyMMwBfM4lYqd4D2Jwac5iuTu9rVj4zCQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "~5.3.0", "commander": "~12.1.0", - "debug": "~4.3.4", + "debug": "~4.3.6", "execa": "~8.0.1", - "lilconfig": "~3.1.1", - "listr2": "~8.2.1", + "lilconfig": "~3.1.2", + "listr2": "~8.2.4", "micromatch": "~4.0.7", "pidtree": "~0.6.0", "string-argv": "~0.3.2", - "yaml": "~2.4.2" + "yaml": "~2.5.0" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -7149,6 +7152,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -7161,6 +7165,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -7184,6 +7189,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -7196,6 +7202,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=16.17.0" } @@ -7205,6 +7212,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -7217,6 +7225,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7229,6 +7238,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -7244,6 +7254,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -7259,6 +7270,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7271,6 +7283,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -7283,6 +7296,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7291,15 +7305,16 @@ } }, "node_modules/listr2": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.3.tgz", - "integrity": "sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", "dev": true, + "license": "MIT", "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", + "log-update": "^6.1.0", "rfdc": "^1.4.1", "wrap-ansi": "^9.0.0" }, @@ -7308,12 +7323,16 @@ } }, "node_modules/listr2/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7324,6 +7343,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7336,6 +7356,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7344,15 +7365,16 @@ } }, "node_modules/listr2/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, + "license": "MIT", "dependencies": { - "restore-cursor": "^4.0.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7363,6 +7385,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, + "license": "MIT", "dependencies": { "get-east-asian-width": "^1.0.0" }, @@ -7374,14 +7397,15 @@ } }, "node_modules/listr2/node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" }, @@ -7392,27 +7416,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/listr2/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/listr2/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, + "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/listr2/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/listr2/node_modules/slice-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" @@ -7429,6 +7484,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -7982,6 +8038,19 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -12481,9 +12550,9 @@ } }, "node_modules/rollup": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", - "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", "dev": true, "license": "MIT", "dependencies": { @@ -12497,22 +12566,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.19.1", - "@rollup/rollup-android-arm64": "4.19.1", - "@rollup/rollup-darwin-arm64": "4.19.1", - "@rollup/rollup-darwin-x64": "4.19.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", - "@rollup/rollup-linux-arm-musleabihf": "4.19.1", - "@rollup/rollup-linux-arm64-gnu": "4.19.1", - "@rollup/rollup-linux-arm64-musl": "4.19.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", - "@rollup/rollup-linux-riscv64-gnu": "4.19.1", - "@rollup/rollup-linux-s390x-gnu": "4.19.1", - "@rollup/rollup-linux-x64-gnu": "4.19.1", - "@rollup/rollup-linux-x64-musl": "4.19.1", - "@rollup/rollup-win32-arm64-msvc": "4.19.1", - "@rollup/rollup-win32-ia32-msvc": "4.19.1", - "@rollup/rollup-win32-x64-msvc": "4.19.1", + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", "fsevents": "~2.3.2" } }, @@ -14508,6 +14577,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", @@ -14605,6 +14675,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -14617,6 +14688,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -14629,6 +14701,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -14706,10 +14779,11 @@ "dev": true }, "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, + "license": "ISC", "bin": { "yaml": "bin.mjs" }, diff --git a/package.json b/package.json index 1ee4f24..264f4ac 100644 --- a/package.json +++ b/package.json @@ -48,13 +48,13 @@ "eslint": "8.57.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", - "husky": "9.1.3", + "husky": "9.1.4", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "4.0.0", - "lint-staged": "15.2.7", + "junit-report-builder": "4.0.1", + "lint-staged": "15.2.8", "mocha": "10.7.0", "mocha-multi-reporters": "1.5.1", - "rollup": "4.19.1", + "rollup": "4.20.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", From 45449c2e6a1602d80321f4ffa8698cbd116f1383 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 7 Aug 2024 16:01:49 +0200 Subject: [PATCH 31/62] feat(loadresource): include API calls in `loadresouce` requests for content request counting see https://helpx.adobe.com/legal/product-descriptions/aem-cloud-service.html --- modules/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/index.js b/modules/index.js index 15ce92b..0528b53 100644 --- a/modules/index.js +++ b/modules/index.js @@ -146,7 +146,7 @@ function addLoadResourceTracking() { list.getEntries() .filter((entry) => !entry.responseStatus || entry.responseStatus < 400) .filter((entry) => window.location.hostname === new URL(entry.name).hostname) - .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html$|\\.json|graphql)')) + .filter((entry) => new URL(entry.name).pathname.match('.*(\\.plain\\.html$|\\.json|graphql|api)')) .forEach((entry) => { sampleRUM('loadresource', { source: entry.name, target: Math.round(entry.duration) }); }); From e5dadfe5450fc610637ff909c17942ea82682385 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 8 Aug 2024 11:38:48 +0000 Subject: [PATCH 32/62] chore(release): 2.18.0 [skip ci] # [2.18.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.1...v2.18.0) (2024-08-08) ### Features * **loadresource:** include API calls in `loadresouce` requests for content request counting ([45449c2](https://github.com/adobe/helix-rum-enhancer/commit/45449c2e6a1602d80321f4ffa8698cbd116f1383)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54e15d9..07d1156 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [2.18.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.1...v2.18.0) (2024-08-08) + + +### Features + +* **loadresource:** include API calls in `loadresouce` requests for content request counting ([45449c2](https://github.com/adobe/helix-rum-enhancer/commit/45449c2e6a1602d80321f4ffa8698cbd116f1383)) + ## [2.17.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.0...v2.17.1) (2024-08-02) diff --git a/package.json b/package.json index 264f4ac..361a897 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.1", + "version": "2.18.0", "description": "Helix RUM Enhancer", "main": "src/index.js", "type": "module", From 97eb4eeb386ef8ab63c60ed05c737c2b8ce1bc00 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 10 Aug 2024 14:14:51 +0000 Subject: [PATCH 33/62] chore(deps): update external fixes --- package-lock.json | 29 +++++++++++++++-------------- package.json | 6 +++--- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0bb957f..dd98bf3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.1", + "version": "2.18.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/helix-rum-enhancer", - "version": "2.17.1", + "version": "2.18.0", "license": "Apache-2.0", "devDependencies": { "@adobe/eslint-config-helix": "2.0.6", @@ -15,7 +15,7 @@ "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", - "@web/test-runner": "0.18.2", + "@web/test-runner": "0.18.3", "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", @@ -28,13 +28,13 @@ "jsdoc-to-markdown": "8.0.3", "junit-report-builder": "4.0.1", "lint-staged": "15.2.8", - "mocha": "10.7.0", + "mocha": "10.7.3", "mocha-multi-reporters": "1.5.1", "rollup": "4.20.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", - "web-vitals": "4.2.2" + "web-vitals": "4.2.3" } }, "node_modules/@75lb/deep-merge": { @@ -1918,10 +1918,11 @@ } }, "node_modules/@web/test-runner": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.2.tgz", - "integrity": "sha512-jA+957ic31aG/f1mr1b+HYzf/uTu4QsvFhyVgTKi2s5YQYGBbtfzx9PnYi47MVC9K9OHRbW8cq2Urds9qwSU3w==", + "version": "0.18.3", + "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.3.tgz", + "integrity": "sha512-QkVK8Qguw3Zhyu8SYR7F4VdcjyXBeJNr8W8L++s4zO/Ok7DR/Wu7+rLswn3H7OH3xYoCHRmwteehcFejefz6ew==", "dev": true, + "license": "MIT", "dependencies": { "@web/browser-logs": "^0.4.0", "@web/config-loader": "^0.3.0", @@ -8106,9 +8107,9 @@ "dev": true }, "node_modules/mocha": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", - "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dev": true, "license": "MIT", "dependencies": { @@ -14463,9 +14464,9 @@ } }, "node_modules/web-vitals": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.2.tgz", - "integrity": "sha512-nYfoOqb4EmElljyXU2qdeE76KsvoHdftQKY4DzA9Aw8DervCg2bG634pHLrJ/d6+B4mE3nWTSJv8Mo7B2mbZkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.3.tgz", + "integrity": "sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==", "dev": true, "license": "Apache-2.0" }, diff --git a/package.json b/package.json index 361a897..a576c95 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", - "@web/test-runner": "0.18.2", + "@web/test-runner": "0.18.3", "@web/test-runner-commands": "0.9.0", "@web/test-runner-mocha": "0.9.0", "@web/test-runner-playwright": "0.11.0", @@ -52,13 +52,13 @@ "jsdoc-to-markdown": "8.0.3", "junit-report-builder": "4.0.1", "lint-staged": "15.2.8", - "mocha": "10.7.0", + "mocha": "10.7.3", "mocha-multi-reporters": "1.5.1", "rollup": "4.20.0", "rollup-plugin-cleanup": "3.2.1", "rollup-plugin-eslint-bundle": "9.0.0", "semantic-release": "24.0.0", - "web-vitals": "4.2.2" + "web-vitals": "4.2.3" }, "lint-staged": { "*.js": "eslint", From 6039f1198f6484d623a3e42ffdd24807b6ed7c54 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Mon, 12 Aug 2024 12:18:13 +0200 Subject: [PATCH 34/62] feat(onetrust): enable on all domains --- modules/defaults.js | 5 ++++- modules/fflags.js | 2 +- modules/index.js | 19 +++---------------- test/unit/fflags.test.js | 4 ++-- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/modules/defaults.js b/modules/defaults.js index 235ad12..8ba668e 100644 --- a/modules/defaults.js +++ b/modules/defaults.js @@ -9,5 +9,8 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ +import { fflags } from './fflags.js'; + export const KNOWN_PROPERTIES = ['weight', 'id', 'referer', 'checkpoint', 't', 'source', 'target', 'cwv', 'CLS', 'FID', 'LCP', 'INP', 'TTFB']; -export const DEFAULT_TRACKING_EVENTS = ['click', 'cwv', 'form', 'enterleave', 'viewblock', 'viewmedia', 'loadresource', 'utm', 'paid', 'email']; +export const DEFAULT_TRACKING_EVENTS = ['click', 'cwv', 'form', 'enterleave', 'viewblock', 'viewmedia', 'loadresource', 'utm', 'paid', 'email', 'consent']; +fflags.enabled('example', () => DEFAULT_TRACKING_EVENTS.push('example')); diff --git a/modules/fflags.js b/modules/fflags.js index 101f3b0..579bbb7 100644 --- a/modules/fflags.js +++ b/modules/fflags.js @@ -16,5 +16,5 @@ export const fflags = { .reduce((a, b) => a + b, 1) % 1371) !== -1, enabled: (flag, callback) => fflags.has(flag) && callback(), disabled: (flag, callback) => !fflags.has(flag) && callback(), - onetrust: [543, 770, 1136], + example: [543, 770, 1136], }; diff --git a/modules/index.js b/modules/index.js index 0528b53..7e6c94f 100644 --- a/modules/index.js +++ b/modules/index.js @@ -12,7 +12,6 @@ /* eslint-env browser */ import { KNOWN_PROPERTIES, DEFAULT_TRACKING_EVENTS } from './defaults.js'; -import { fflags } from './fflags.js'; import { urlSanitizers } from './utils.js'; import { targetSelector, sourceSelector } from './dom.js'; @@ -22,21 +21,9 @@ const formSubmitListener = (e) => sampleRUM('formsubmit', { target: targetSelect // eslint-disable-next-line no-use-before-define const mutationObserver = window.MutationObserver ? new MutationObserver(mutationsCallback) : null; -// eslint-disable-next-line no-unused-vars -function optedIn(checkpoint, data) { - // TODO: check config service to know if - return true; -} -// Gets configured collection from the config service for the current domain -function getCollectionConfig() { - // eslint-disable-next-line max-len - fflags.enabled('onetrust', () => DEFAULT_TRACKING_EVENTS.push('consent')); - return DEFAULT_TRACKING_EVENTS; -} - function trackCheckpoint(checkpoint, data, t) { const { weight, id } = window.hlx.rum; - if (optedIn(checkpoint, data) && isSelected) { + if (isSelected) { const sendPing = (pdata = data) => { // eslint-disable-next-line object-curly-newline, max-len const body = JSON.stringify({ weight, id, referer: urlSanitizers[window.hlx.RUM_MASK_URL || 'path'](), checkpoint, t, ...data }, KNOWN_PROPERTIES); @@ -298,7 +285,7 @@ function addCookieConsentTracking() { } } -const addObserver = (ck, fn, block) => getCollectionConfig().includes(ck) && fn(block); +const addObserver = (ck, fn, block) => DEFAULT_TRACKING_EVENTS.includes(ck) && fn(block); function mutationsCallback(mutations) { mutations.filter((m) => m.type === 'attributes' && m.attributeName === 'data-block-status') .filter((m) => m.target.dataset.blockStatus === 'loaded') @@ -328,7 +315,7 @@ function addTrackingFromConfig() { email: () => addEmailParameterTracking(), }; - getCollectionConfig().filter((ck) => trackingFunctions[ck]) + DEFAULT_TRACKING_EVENTS.filter((ck) => trackingFunctions[ck]) .forEach((ck) => trackingFunctions[ck]()); } diff --git a/test/unit/fflags.test.js b/test/unit/fflags.test.js index 4cc1007..5b40932 100644 --- a/test/unit/fflags.test.js +++ b/test/unit/fflags.test.js @@ -40,7 +40,7 @@ describe('test fflags', () => { expect(fflags.disabled('onetrust', () => true)).to.be.a('boolean'); }); - it('fflags.onetrust is an array', () => { - expect(fflags.onetrust).to.be.an('array'); + it('fflags.example is an array', () => { + expect(fflags.example).to.be.an('array'); }); }); From 1ed16d34342baa1be0bd93fe060142bb1c454f01 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Mon, 12 Aug 2024 12:25:11 +0200 Subject: [PATCH 35/62] refactor(martech): move consent detection into separate file --- modules/index.js | 38 ++------------------------------------ modules/martech.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 36 deletions(-) create mode 100644 modules/martech.js diff --git a/modules/index.js b/modules/index.js index 7e6c94f..c0a1ce7 100644 --- a/modules/index.js +++ b/modules/index.js @@ -14,6 +14,7 @@ import { KNOWN_PROPERTIES, DEFAULT_TRACKING_EVENTS } from './defaults.js'; import { urlSanitizers } from './utils.js'; import { targetSelector, sourceSelector } from './dom.js'; +import { addCookieConsentTracking } from './martech.js'; const { sampleRUM, queue, isSelected } = (window.hlx && window.hlx.rum) ? window.hlx.rum : {}; @@ -250,41 +251,6 @@ function addFormTracking(parent) { }); } -function addCookieConsentTracking() { - const cmpCookie = document.cookie.split(';') - .map((c) => c.trim()) - .find((cookie) => cookie.startsWith('OptanonAlertBoxClosed=')); - - if (cmpCookie) { - sampleRUM('consent', { source: 'onetrust', target: 'hidden' }); - return; - } - - let consentMutationObserver; - const trackShowConsent = () => { - if (document.querySelector('body > div#onetrust-consent-sdk')) { - sampleRUM('consent', { source: 'onetrust', target: 'show' }); - if (consentMutationObserver) { - consentMutationObserver.disconnect(); - } - return true; - } - return false; - }; - - if (!trackShowConsent()) { - // eslint-disable-next-line max-len - consentMutationObserver = window.MutationObserver ? new MutationObserver(trackShowConsent) : null; - if (consentMutationObserver) { - consentMutationObserver.observe( - document.body, - // eslint-disable-next-line object-curly-newline - { attributes: false, childList: true, subtree: false }, - ); - } - } -} - const addObserver = (ck, fn, block) => DEFAULT_TRACKING_EVENTS.includes(ck) && fn(block); function mutationsCallback(mutations) { mutations.filter((m) => m.type === 'attributes' && m.attributeName === 'data-block-status') @@ -310,7 +276,7 @@ function addTrackingFromConfig() { utm: () => addUTMParametersTracking(), viewblock: () => addViewBlockTracking(window.document.body), viewmedia: () => addViewMediaTracking(window.document.body), - consent: () => addCookieConsentTracking(), + consent: () => addCookieConsentTracking(sampleRUM), paid: () => addAdsParametersTracking(), email: () => addEmailParameterTracking(), }; diff --git a/modules/martech.js b/modules/martech.js new file mode 100644 index 0000000..4e94fa0 --- /dev/null +++ b/modules/martech.js @@ -0,0 +1,45 @@ +/* + * Copyright 2024 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +export function addCookieConsentTracking(sampleRUM) { + const cmpCookie = document.cookie.split(';') + .map((c) => c.trim()) + .find((cookie) => cookie.startsWith('OptanonAlertBoxClosed=')); + + if (cmpCookie) { + sampleRUM('consent', { source: 'onetrust', target: 'hidden' }); + return; + } + + let consentMutationObserver; + const trackShowConsent = () => { + if (document.querySelector('body > div#onetrust-consent-sdk')) { + sampleRUM('consent', { source: 'onetrust', target: 'show' }); + if (consentMutationObserver) { + consentMutationObserver.disconnect(); + } + return true; + } + return false; + }; + + if (!trackShowConsent()) { + // eslint-disable-next-line max-len + consentMutationObserver = window.MutationObserver ? new MutationObserver(trackShowConsent) : null; + if (consentMutationObserver) { + consentMutationObserver.observe( + document.body, + // eslint-disable-next-line object-curly-newline + { attributes: false, childList: true, subtree: false }, + ); + } + } +} From 6acd829c52925723d6345f2132ff1dcb6b9e81f3 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Mon, 12 Aug 2024 12:32:39 +0200 Subject: [PATCH 36/62] refactor(martech): move url parameter tracking functions to new file --- modules/index.js | 52 ++++++++-------------------------------------- modules/martech.js | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/modules/index.js b/modules/index.js index c0a1ce7..0a8709f 100644 --- a/modules/index.js +++ b/modules/index.js @@ -14,7 +14,12 @@ import { KNOWN_PROPERTIES, DEFAULT_TRACKING_EVENTS } from './defaults.js'; import { urlSanitizers } from './utils.js'; import { targetSelector, sourceSelector } from './dom.js'; -import { addCookieConsentTracking } from './martech.js'; +import { + addAdsParametersTracking, + addCookieConsentTracking, + addEmailParameterTracking, + addUTMParametersTracking, +} from './martech.js'; const { sampleRUM, queue, isSelected } = (window.hlx && window.hlx.rum) ? window.hlx.rum : {}; @@ -204,45 +209,6 @@ function addViewMediaTracking(parent) { } } -function addUTMParametersTracking() { - const usp = new URLSearchParams(window.location.search); - [...usp.entries()] - .filter(([key]) => key.startsWith('utm_')) - // exclude keys that may leak PII - .filter(([key]) => key !== 'utm_id') - .filter(([key]) => key !== 'utm_term') - .forEach(([source, target]) => sampleRUM('utm', { source, target })); -} - -function addAdsParametersTracking() { - const networks = { - google: /gclid|gclsrc|wbraid|gbraid/, - doubleclick: /dclid/, - microsoft: /msclkid/, - facebook: /fb(cl|ad_|pxl_)id/, - twitter: /tw(clid|src|term)/, - linkedin: /li_fat_id/, - pinterest: /epik/, - tiktok: /ttclid/, - }; - const params = Array.from(new URLSearchParams(window.location.search).keys()); - Object.entries(networks).forEach(([network, regex]) => { - params.filter((param) => regex.test(param)).forEach((param) => sampleRUM('paid', { source: network, target: param })); - }); -} - -function addEmailParameterTracking() { - const networks = { - mailchimp: /mc_(c|e)id/, - marketo: /mkt_tok/, - - }; - const params = Array.from(new URLSearchParams(window.location.search).keys()); - Object.entries(networks).forEach(([network, regex]) => { - params.filter((param) => regex.test(param)).forEach((param) => sampleRUM('email', { source: network, target: param })); - }); -} - function addFormTracking(parent) { activateBlocksMutationObserver(); parent.querySelectorAll('form').forEach((form) => { @@ -273,12 +239,12 @@ function addTrackingFromConfig() { form: () => addFormTracking(window.document.body), enterleave: () => addEnterLeaveTracking(), loadresource: () => addLoadResourceTracking(), - utm: () => addUTMParametersTracking(), + utm: () => addUTMParametersTracking(sampleRUM), viewblock: () => addViewBlockTracking(window.document.body), viewmedia: () => addViewMediaTracking(window.document.body), consent: () => addCookieConsentTracking(sampleRUM), - paid: () => addAdsParametersTracking(), - email: () => addEmailParameterTracking(), + paid: () => addAdsParametersTracking(sampleRUM), + email: () => addEmailParameterTracking(sampleRUM), }; DEFAULT_TRACKING_EVENTS.filter((ck) => trackingFunctions[ck]) diff --git a/modules/martech.js b/modules/martech.js index 4e94fa0..162989e 100644 --- a/modules/martech.js +++ b/modules/martech.js @@ -43,3 +43,39 @@ export function addCookieConsentTracking(sampleRUM) { } } } + +export function addUTMParametersTracking(sampleRUM) { + const usp = new URLSearchParams(window.location.search); + [...usp.entries()] + .filter(([key]) => key.startsWith('utm_')) + // exclude keys that may leak PII + .filter(([key]) => key !== 'utm_id') + .filter(([key]) => key !== 'utm_term') + .forEach(([source, target]) => sampleRUM('utm', { source, target })); +} +export function addAdsParametersTracking(sampleRUM) { + const networks = { + google: /gclid|gclsrc|wbraid|gbraid/, + doubleclick: /dclid/, + microsoft: /msclkid/, + facebook: /fb(cl|ad_|pxl_)id/, + twitter: /tw(clid|src|term)/, + linkedin: /li_fat_id/, + pinterest: /epik/, + tiktok: /ttclid/, + }; + const params = Array.from(new URLSearchParams(window.location.search).keys()); + Object.entries(networks).forEach(([network, regex]) => { + params.filter((param) => regex.test(param)).forEach((param) => sampleRUM('paid', { source: network, target: param })); + }); +} +export function addEmailParameterTracking(sampleRUM) { + const networks = { + mailchimp: /mc_(c|e)id/, + marketo: /mkt_tok/, + }; + const params = Array.from(new URLSearchParams(window.location.search).keys()); + Object.entries(networks).forEach(([network, regex]) => { + params.filter((param) => regex.test(param)).forEach((param) => sampleRUM('email', { source: network, target: param })); + }); +} From 771a29acb4eb8fe5f694a631e70fda79c4b729b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:57:04 +0200 Subject: [PATCH 37/62] chore(deps): update dependency junit-report-builder to v5 (#248) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index dd98bf3..c601b51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "eslint-plugin-import": "2.29.1", "husky": "9.1.4", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "4.0.1", + "junit-report-builder": "5.0.0", "lint-staged": "15.2.8", "mocha": "10.7.3", "mocha-multi-reporters": "1.5.1", @@ -6886,10 +6886,9 @@ } }, "node_modules/junit-report-builder": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-4.0.1.tgz", - "integrity": "sha512-Fd6IXHjaN0nt3mQDw93Xj6zvU96qyWdfW4z9o3JHgspC1qbb2KKiOsG3yMebP7cMj8n7zkI5URNLbxpjbRBpfA==", - "deprecated": "The CommonJS API was accidentally changed in 4.0.1.", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-5.0.0.tgz", + "integrity": "sha512-mWPsMQ84WXVQRgD8WuIPpxhyDKSGBAY5EBKqoJQBjdRltKHVzgbLhMGwzTria6SECiWjjqBjnlAN7qc0Cdiupw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index a576c95..663fcdc 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "eslint-plugin-import": "2.29.1", "husky": "9.1.4", "jsdoc-to-markdown": "8.0.3", - "junit-report-builder": "4.0.1", + "junit-report-builder": "5.0.0", "lint-staged": "15.2.8", "mocha": "10.7.3", "mocha-multi-reporters": "1.5.1", From 48ea4a43fd0cbec0e58511ddbab03c7e9800819c Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 13 Aug 2024 13:58:01 +0000 Subject: [PATCH 38/62] chore(release): 2.19.0 [skip ci] # [2.19.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.18.0...v2.19.0) (2024-08-13) ### Features * **onetrust:** enable on all domains ([6039f11](https://github.com/adobe/helix-rum-enhancer/commit/6039f1198f6484d623a3e42ffdd24807b6ed7c54)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07d1156..b5a5476 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [2.19.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.18.0...v2.19.0) (2024-08-13) + + +### Features + +* **onetrust:** enable on all domains ([6039f11](https://github.com/adobe/helix-rum-enhancer/commit/6039f1198f6484d623a3e42ffdd24807b6ed7c54)) + # [2.18.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.17.1...v2.18.0) (2024-08-08) diff --git a/package.json b/package.json index 663fcdc..9a8f9f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.18.0", + "version": "2.19.0", "description": "Helix RUM Enhancer", "main": "src/index.js", "type": "module", From 7787cceb52a91006dc7a4a58fb8b8a10fee3bc7a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:59:47 +0000 Subject: [PATCH 39/62] chore(deps): update dependency @adobe/helix-rum-js to v2.2.0 --- package-lock.json | 15 ++++++++------- package.json | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index c601b51..c80e082 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "@adobe/helix-rum-enhancer", - "version": "2.18.0", + "version": "2.19.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/helix-rum-enhancer", - "version": "2.18.0", + "version": "2.19.0", "license": "Apache-2.0", "devDependencies": { "@adobe/eslint-config-helix": "2.0.6", - "@adobe/helix-rum-js": "2.1.4", + "@adobe/helix-rum-js": "2.2.0", "@esm-bundle/chai": "4.3.4-fix.0", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", @@ -78,10 +78,11 @@ } }, "node_modules/@adobe/helix-rum-js": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@adobe/helix-rum-js/-/helix-rum-js-2.1.4.tgz", - "integrity": "sha512-arBoQFsHa5O4DTpNxkYCxLQSkN/SGf/o4G+BA6AXFeD5SMS7SeNeNq5ZKgtTSsuxsgVPGwFai624xFBXE/tK8g==", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@adobe/helix-rum-js/-/helix-rum-js-2.2.0.tgz", + "integrity": "sha512-X/+Ol62T56Vdl7JfZVo4SwSnLqAyg2ruuaCIXRvGDZUv+0G8oi60g4tWjG5XXQefsr7sEg3guOYNjG0byPVqiA==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/@babel/code-frame": { "version": "7.24.7", diff --git a/package.json b/package.json index 9a8f9f1..885084d 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ }, "devDependencies": { "@adobe/eslint-config-helix": "2.0.6", - "@adobe/helix-rum-js": "2.1.4", + "@adobe/helix-rum-js": "2.2.0", "@esm-bundle/chai": "4.3.4-fix.0", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", From adf8261dfef6a7c7b98d0bfe20bead5d6120d5ed Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 17:22:18 +0200 Subject: [PATCH 40/62] test(integration): split integration tests into multiple files --- test/{it => fixtures}/block.plain.html | 0 test/{it => fixtures}/fire.jpg | Bin test/it/click.test.html | 61 +++++++++++++++++ test/it/formsubmit.test.html | 72 ++++++++++++++++++++ test/it/loadblock.test.html | 55 +-------------- test/it/missingresource.test.html | 63 +++++++++++++++++ test/it/viewmedia.test.html | 89 +++++++++++++++++++++++++ 7 files changed, 287 insertions(+), 53 deletions(-) rename test/{it => fixtures}/block.plain.html (100%) rename test/{it => fixtures}/fire.jpg (100%) create mode 100644 test/it/click.test.html create mode 100644 test/it/formsubmit.test.html create mode 100644 test/it/missingresource.test.html create mode 100644 test/it/viewmedia.test.html diff --git a/test/it/block.plain.html b/test/fixtures/block.plain.html similarity index 100% rename from test/it/block.plain.html rename to test/fixtures/block.plain.html diff --git a/test/it/fire.jpg b/test/fixtures/fire.jpg similarity index 100% rename from test/it/fire.jpg rename to test/fixtures/fire.jpg diff --git a/test/it/click.test.html b/test/it/click.test.html new file mode 100644 index 0000000..ccd30e9 --- /dev/null +++ b/test/it/click.test.html @@ -0,0 +1,61 @@ + + + + Test Runner + + + + + +
+ The first block + +
+ + \ No newline at end of file diff --git a/test/it/formsubmit.test.html b/test/it/formsubmit.test.html new file mode 100644 index 0000000..c15cd0d --- /dev/null +++ b/test/it/formsubmit.test.html @@ -0,0 +1,72 @@ + + + + Test Runner + + + + + +
+ The first block + +
+
+
+ + +
+ +
+ + \ No newline at end of file diff --git a/test/it/loadblock.test.html b/test/it/loadblock.test.html index 60e164e..d35a0b6 100644 --- a/test/it/loadblock.test.html +++ b/test/it/loadblock.test.html @@ -29,20 +29,7 @@
The first block - -
-
-
- - -
- +
diff --git a/test/it/missingresource.test.html b/test/it/missingresource.test.html new file mode 100644 index 0000000..0719260 --- /dev/null +++ b/test/it/missingresource.test.html @@ -0,0 +1,63 @@ + + + + Test Runner + + + + + +
+ The first block + +
+ + \ No newline at end of file diff --git a/test/it/viewmedia.test.html b/test/it/viewmedia.test.html new file mode 100644 index 0000000..e58659a --- /dev/null +++ b/test/it/viewmedia.test.html @@ -0,0 +1,89 @@ + + + + Test Runner + + + + + +
+ The first block + +
+
+
+ + +
+ +
+ + \ No newline at end of file From 92be25776cff399374573489267a554ed6d63de0 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 17:29:48 +0200 Subject: [PATCH 41/62] refactor(fflags): avoid early termination of fflagging on localhost this depresses test coverage --- modules/fflags.js | 8 ++++---- test/unit/fflags.test.js | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/fflags.js b/modules/fflags.js index 579bbb7..2f71a72 100644 --- a/modules/fflags.js +++ b/modules/fflags.js @@ -10,10 +10,10 @@ * governing permissions and limitations under the License. */ export const fflags = { - has: (flag) => !!window.origin.match(/localhost/) - || fflags[flag].indexOf(Array.from(window.origin) - .map((a) => a.charCodeAt(0)) - .reduce((a, b) => a + b, 1) % 1371) !== -1, + has: (flag) => fflags[flag].indexOf(Array.from(window.origin) + .map((a) => a.charCodeAt(0)) + .reduce((a, b) => a + b, 1) % 1371) !== -1 + || !!window.origin.match(/localhost/), enabled: (flag, callback) => fflags.has(flag) && callback(), disabled: (flag, callback) => !fflags.has(flag) && callback(), example: [543, 770, 1136], diff --git a/test/unit/fflags.test.js b/test/unit/fflags.test.js index 5b40932..1c959a6 100644 --- a/test/unit/fflags.test.js +++ b/test/unit/fflags.test.js @@ -21,7 +21,7 @@ describe('test fflags', () => { }); it('fflags.has returns a boolean', () => { - expect(fflags.has('onetrust')).to.be.a('boolean'); + expect(fflags.has('example')).to.be.a('boolean'); }); it('fflags.enabled is a function', () => { @@ -29,7 +29,7 @@ describe('test fflags', () => { }); it('fflags.enabled returns a boolean', () => { - expect(fflags.enabled('onetrust', () => true)).to.be.a('boolean'); + expect(fflags.enabled('example', () => true)).to.be.a('boolean'); }); it('fflags.disabled is a function', () => { @@ -37,7 +37,7 @@ describe('test fflags', () => { }); it('fflags.disabled returns a boolean', () => { - expect(fflags.disabled('onetrust', () => true)).to.be.a('boolean'); + expect(fflags.disabled('example', () => true)).to.be.a('boolean'); }); it('fflags.example is an array', () => { From 49582e595c85867d3a6303b992ed9a4a2895f2c2 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 17:48:23 +0200 Subject: [PATCH 42/62] test(integration): test code for missing observers --- test/it/loadblock-noobservers.test.html | 79 +++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 test/it/loadblock-noobservers.test.html diff --git a/test/it/loadblock-noobservers.test.html b/test/it/loadblock-noobservers.test.html new file mode 100644 index 0000000..ae1ba9c --- /dev/null +++ b/test/it/loadblock-noobservers.test.html @@ -0,0 +1,79 @@ + + + + Test Runner + + + + + +
+ The first block + +
+ + \ No newline at end of file From 48f8f6462c229c599162ad65e405615e9dc1d05f Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 18:33:28 +0200 Subject: [PATCH 43/62] refactor(index): allow referrer to be overridden for better testability --- modules/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/index.js b/modules/index.js index 0a8709f..336e26f 100644 --- a/modules/index.js +++ b/modules/index.js @@ -115,7 +115,7 @@ function addEnterLeaveTracking() { }; new PerformanceObserver((list) => list - .getEntries().map((entry) => navigate(document.referrer, entry.type))) + .getEntries().map((entry) => navigate(window.hlx.referrer || document.referrer, entry.type))) .observe({ type: 'navigation', buffered: true }); const leave = ((event) => { From 9fafae85d937c305112eaa9e73a6c24e1327f5af Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 18:34:19 +0200 Subject: [PATCH 44/62] test(integration): test navigation checkpoints --- test/it/navigation.test.html | 92 ++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 test/it/navigation.test.html diff --git a/test/it/navigation.test.html b/test/it/navigation.test.html new file mode 100644 index 0000000..2844b60 --- /dev/null +++ b/test/it/navigation.test.html @@ -0,0 +1,92 @@ + + + + Test Runner + + + + + + + \ No newline at end of file From f2e65d46def92031ef9cbca03595e640a286797d Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 21:38:09 +0200 Subject: [PATCH 45/62] test(index): exclude unreachable error from coverage --- modules/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/index.js b/modules/index.js index 336e26f..277b891 100644 --- a/modules/index.js +++ b/modules/index.js @@ -125,6 +125,7 @@ function addEnterLeaveTracking() { } leave.left = true; sampleRUM('leave'); + /* c8 ignore next 3 */ } catch (error) { // something went wrong } From 0c527039d226f2df4229b7de980f0627d840c46b Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 21:40:49 +0200 Subject: [PATCH 46/62] refactor(index): remove unreachable code `sampleRUM` is the only function call that could throw, but the `sampleRUM` implementation has an agressive catch-all wrapping it, so that the error condition is fully unreachable --- modules/index.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/modules/index.js b/modules/index.js index 277b891..7b879e9 100644 --- a/modules/index.js +++ b/modules/index.js @@ -119,16 +119,11 @@ function addEnterLeaveTracking() { .observe({ type: 'navigation', buffered: true }); const leave = ((event) => { - try { - if (leave.left || (event.type === 'visibilitychange' && document.visibilityState !== 'hidden')) { - return; - } - leave.left = true; - sampleRUM('leave'); - /* c8 ignore next 3 */ - } catch (error) { - // something went wrong + if (leave.left || (event.type === 'visibilitychange' && document.visibilityState !== 'hidden')) { + return; } + leave.left = true; + sampleRUM('leave'); }); window.addEventListener('visibilitychange', ((event) => leave(event))); window.addEventListener('pagehide', ((event) => leave(event))); From f558e93bb02e724594cb7653ce4bf5483f4d3b1c Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 21:58:47 +0200 Subject: [PATCH 47/62] test(index): test narrow error case for cwv tracking --- test/it/doublevitals.test.html | 64 ++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 test/it/doublevitals.test.html diff --git a/test/it/doublevitals.test.html b/test/it/doublevitals.test.html new file mode 100644 index 0000000..48eefe2 --- /dev/null +++ b/test/it/doublevitals.test.html @@ -0,0 +1,64 @@ + + + + Test Runner + + + + + + + +
+ The first block + +
+ + \ No newline at end of file From 3b847bc812b537f656740f6e0ef0dbabd8b11519 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:08:17 +0200 Subject: [PATCH 48/62] refactor(index): move eager cwv reporting to fflags system --- modules/fflags.js | 1 + modules/index.js | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/fflags.js b/modules/fflags.js index 2f71a72..17e61ff 100644 --- a/modules/fflags.js +++ b/modules/fflags.js @@ -16,5 +16,6 @@ export const fflags = { || !!window.origin.match(/localhost/), enabled: (flag, callback) => fflags.has(flag) && callback(), disabled: (flag, callback) => !fflags.has(flag) && callback(), + eagercwv: [683], example: [543, 770, 1136], }; diff --git a/modules/index.js b/modules/index.js index 7b879e9..b3f0bd9 100644 --- a/modules/index.js +++ b/modules/index.js @@ -20,6 +20,7 @@ import { addEmailParameterTracking, addUTMParametersTracking, } from './martech.js'; +import { fflags } from './fflags.js'; const { sampleRUM, queue, isSelected } = (window.hlx && window.hlx.rum) ? window.hlx.rum : {}; @@ -77,7 +78,6 @@ function addCWVTracking() { sampleRUM('cwv', data); }; - const featureToggle = () => window.location.hostname === 'blog.adobe.com'; const isEager = (metric) => ['CLS', 'LCP'].includes(metric); // When loading `web-vitals` using a classic script, all the public @@ -85,7 +85,10 @@ function addCWVTracking() { ['FID', 'INP', 'TTFB', 'CLS', 'LCP'].forEach((metric) => { const metricFn = window.webVitals[`on${metric}`]; if (typeof metricFn === 'function') { - const opts = isEager(metric) ? { reportAllChanges: featureToggle() } : undefined; + let opts = {}; + fflags.enabled('eagercwv', () => { + opts = { reportAllChanges: isEager(metric) }; + }); metricFn(storeCWV, opts); } }); From 327ddba39f8ec43c2b0a308a3dc1d97cd94bf8cb Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:31:28 +0200 Subject: [PATCH 49/62] refactor(index): simplify setup --- modules/index.js | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/modules/index.js b/modules/index.js index b3f0bd9..5b5fc2c 100644 --- a/modules/index.js +++ b/modules/index.js @@ -228,26 +228,19 @@ function mutationsCallback(mutations) { } function addTrackingFromConfig() { - const trackingFunctions = { - click: () => { - document.addEventListener('click', (event) => { - sampleRUM('click', { target: targetSelector(event.target), source: sourceSelector(event.target) }); - }); - }, - cwv: () => addCWVTracking(), - form: () => addFormTracking(window.document.body), - enterleave: () => addEnterLeaveTracking(), - loadresource: () => addLoadResourceTracking(), - utm: () => addUTMParametersTracking(sampleRUM), - viewblock: () => addViewBlockTracking(window.document.body), - viewmedia: () => addViewMediaTracking(window.document.body), - consent: () => addCookieConsentTracking(sampleRUM), - paid: () => addAdsParametersTracking(sampleRUM), - email: () => addEmailParameterTracking(sampleRUM), - }; - - DEFAULT_TRACKING_EVENTS.filter((ck) => trackingFunctions[ck]) - .forEach((ck) => trackingFunctions[ck]()); + document.addEventListener('click', (event) => { + sampleRUM('click', { target: targetSelector(event.target), source: sourceSelector(event.target) }); + }); + addCWVTracking(); + addFormTracking(window.document.body); + addEnterLeaveTracking(); + addLoadResourceTracking(); + addUTMParametersTracking(sampleRUM); + addViewBlockTracking(window.document.body); + addViewMediaTracking(window.document.body); + addCookieConsentTracking(sampleRUM); + addAdsParametersTracking(sampleRUM); + addEmailParameterTracking(sampleRUM); } function initEnhancer() { From 0dd2f6a911808ba72d3ee9890b7bcf0c0251613b Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:33:47 +0200 Subject: [PATCH 50/62] test(loadblock): better emulation of block loading --- test/it/loadblock.test.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/it/loadblock.test.html b/test/it/loadblock.test.html index d35a0b6..56cea97 100644 --- a/test/it/loadblock.test.html +++ b/test/it/loadblock.test.html @@ -57,10 +57,11 @@ const contents = await fetch('/test/fixtures/block.plain.html'); block.innerHTML = await contents.text(); - block.dataset.blockStatus = 'loaded'; - document.body.appendChild(block); + // block.dataset.blockStatus = 'loaded'; + block.setAttribute('data-block-status', 'loaded'); + await new Promise((resolve) => { setTimeout(resolve, 100); From 182cadde0056d75ce03cd700b94e1984881542fd Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:39:39 +0200 Subject: [PATCH 51/62] test(fromrum): use full sanitizer --- test/it/fromrum.test.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/it/fromrum.test.html b/test/it/fromrum.test.html index 1ba4826..213d3ab 100644 --- a/test/it/fromrum.test.html +++ b/test/it/fromrum.test.html @@ -7,6 +7,9 @@ // change the scripts that are being served. Check the // web-test-runner.config.js file for details window.RUM_BASE = window.origin; + window.hlx = { + RUM_MASK_URL: 'full' + }; // we log what's being sent to the "server" window.called = []; // and navigator.sendBeacon has been replaced with From 949b24a99867bb42a7cce7f4b4779a7503e6f41c Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:43:06 +0200 Subject: [PATCH 52/62] test(click): use origin url sanitizer --- test/it/click.test.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/it/click.test.html b/test/it/click.test.html index ccd30e9..05c6a49 100644 --- a/test/it/click.test.html +++ b/test/it/click.test.html @@ -7,6 +7,9 @@ // change the scripts that are being served. Check the // web-test-runner.config.js file for details window.RUM_BASE = window.origin; + window.hlx = { + RUM_MASK_URL: 'origin' + }; // we log what's being sent to the "server" window.called = []; // and navigator.sendBeacon has been replaced with From cd09e66e81c64db6d747caee985dba7e4e45aa9e Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 22:52:50 +0200 Subject: [PATCH 53/62] test(fflags): ignore untestable function the function is covered by tests, but c8 reports it incorrectly. Try adding a throw there to check --- modules/fflags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/fflags.js b/modules/fflags.js index 17e61ff..2414090 100644 --- a/modules/fflags.js +++ b/modules/fflags.js @@ -15,6 +15,7 @@ export const fflags = { .reduce((a, b) => a + b, 1) % 1371) !== -1 || !!window.origin.match(/localhost/), enabled: (flag, callback) => fflags.has(flag) && callback(), + /* c8 ignore next */ disabled: (flag, callback) => !fflags.has(flag) && callback(), eagercwv: [683], example: [543, 770, 1136], From 38a8d88cb6b068be6a7b9067492cbabe3cdf38f3 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 23:10:50 +0200 Subject: [PATCH 54/62] test(martech): test onetrust with deferred injection into DOM --- test/it/onetrust-deferred.test.html | 316 ++++++++++++++++++++++++++++ 1 file changed, 316 insertions(+) create mode 100644 test/it/onetrust-deferred.test.html diff --git a/test/it/onetrust-deferred.test.html b/test/it/onetrust-deferred.test.html new file mode 100644 index 0000000..64e18c8 --- /dev/null +++ b/test/it/onetrust-deferred.test.html @@ -0,0 +1,316 @@ + + + + Test Runner + + + + + + + + + \ No newline at end of file From 685af73a8ff79b54cc75d7648315fc15f5669f95 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Wed, 14 Aug 2024 23:17:50 +0200 Subject: [PATCH 55/62] test(index): exclude unreachable cases from test coverage --- modules/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/index.js b/modules/index.js index 5b5fc2c..7b6190d 100644 --- a/modules/index.js +++ b/modules/index.js @@ -22,11 +22,13 @@ import { } from './martech.js'; import { fflags } from './fflags.js'; -const { sampleRUM, queue, isSelected } = (window.hlx && window.hlx.rum) ? window.hlx.rum : {}; +const { sampleRUM, queue, isSelected } = (window.hlx && window.hlx.rum) ? window.hlx.rum + /* c8 ignore next */ : {}; const formSubmitListener = (e) => sampleRUM('formsubmit', { target: targetSelector(e.target), source: sourceSelector(e.target) }); // eslint-disable-next-line no-use-before-define -const mutationObserver = window.MutationObserver ? new MutationObserver(mutationsCallback) : null; +const mutationObserver = window.MutationObserver ? new MutationObserver(mutationsCallback) +/* c8 ignore next */ : null; function trackCheckpoint(checkpoint, data, t) { const { weight, id } = window.hlx.rum; From bd2eae39df4784dfb85c0e4a8d166748837dffd5 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 15 Aug 2024 11:04:51 +0200 Subject: [PATCH 56/62] test(fromrum): defer loading of rum script, so that the url parameters can be manipulated in time --- test/it/fromrum.test.html | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/it/fromrum.test.html b/test/it/fromrum.test.html index 1ba4826..c9f9722 100644 --- a/test/it/fromrum.test.html +++ b/test/it/fromrum.test.html @@ -22,8 +22,7 @@ }); } }; - - + @@ -31,13 +30,18 @@ - - - - -
- The first block - -
- - \ No newline at end of file From 403c2346b22137ad519fd049a354fe39c473f970 Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 15 Aug 2024 11:21:24 +0200 Subject: [PATCH 58/62] test(viewblock): rename test file --- test/it/{loadblock.test.html => viewblock.test.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/it/{loadblock.test.html => viewblock.test.html} (100%) diff --git a/test/it/loadblock.test.html b/test/it/viewblock.test.html similarity index 100% rename from test/it/loadblock.test.html rename to test/it/viewblock.test.html From 52d3418b9c8a385a341f6a44eb43021f1af6f22e Mon Sep 17 00:00:00 2001 From: Lars Trieloff Date: Thu, 15 Aug 2024 11:23:40 +0200 Subject: [PATCH 59/62] test(integration): don't click so much, the sound annoys alex --- test/it/viewblock.test.html | 6 +----- test/it/viewmedia.test.html | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/test/it/viewblock.test.html b/test/it/viewblock.test.html index 56cea97..3f970fb 100644 --- a/test/it/viewblock.test.html +++ b/test/it/viewblock.test.html @@ -33,7 +33,7 @@