From ede974e55f3c461811978ddbe307ad9c3e4b640e Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 31 Aug 2023 16:09:49 -0500 Subject: [PATCH 01/20] initial --- .vscode/extensions.json | 5 + .vscode/settings.json | 3 + index.js | 3 - package-lock.json | 3312 +++++++++++++++++ package.json | 11 +- src/cli.js | 0 src/config.js | 76 + src/index.js | 65 + src/md-links.js | 0 src/sample/draft.md | 5 + src/sample/draft.txt | 16 + src/sample/empty.md | 1 + .../folderA.1/folderA.1.1/firstfile.md | 3 + src/sample/folderA/folderA.1/secondfile.md | 3 + src/sample/folderB/thirdfile.md | 2 + .../folderC.1/folderC.1.1/folderLast/file4.md | 18 + src/sample/folderC/fourthfile.txt | 1 + test/config.spec.js | 21 + test/md-links.spec.js | 10 - 19 files changed, 3541 insertions(+), 14 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json delete mode 100644 index.js create mode 100644 package-lock.json create mode 100644 src/cli.js create mode 100644 src/config.js create mode 100644 src/index.js create mode 100644 src/md-links.js create mode 100644 src/sample/draft.md create mode 100644 src/sample/draft.txt create mode 100644 src/sample/empty.md create mode 100644 src/sample/folderA/folderA.1/folderA.1.1/firstfile.md create mode 100644 src/sample/folderA/folderA.1/secondfile.md create mode 100644 src/sample/folderB/thirdfile.md create mode 100644 src/sample/folderC/folderC.1/folderC.1.1/folderLast/file4.md create mode 100644 src/sample/folderC/fourthfile.txt create mode 100644 test/config.spec.js delete mode 100644 test/md-links.spec.js diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..1801bd8 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "streetsidesoftware.code-spell-checker" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f0226bc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cSpell.language": "en,es", +} \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index a4e4a45..0000000 --- a/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = () => { - // ... -}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5c0b2e2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3312 @@ +{ + "name": "md-links", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "md-links", + "version": "0.1.0", + "license": "ISC", + "dependencies": { + "jest": "^29.6.4" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz", + "integrity": "sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.11", + "@babel/parser": "^7.22.11", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11", + "convert-source-map": "^1.7.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/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "dependencies": { + "@babel/types": "^7.22.10", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.11.tgz", + "integrity": "sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.11", + "@babel/types": "^7.22.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", + "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", + "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.11", + "@babel/types": "^7.22.11", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", + "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "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", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "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==", + "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/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.4.tgz", + "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.4.tgz", + "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", + "dependencies": { + "@jest/console": "^29.6.4", + "@jest/reporters": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.6.3", + "jest-config": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-resolve-dependencies": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "jest-watcher": "^29.6.4", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.4.tgz", + "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", + "dependencies": { + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", + "dependencies": { + "expect": "^29.6.4", + "jest-snapshot": "^29.6.4" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.4.tgz", + "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.4.tgz", + "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.4.tgz", + "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/types": "^29.6.3", + "jest-mock": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.4.tgz", + "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.4.tgz", + "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", + "dependencies": { + "@jest/console": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", + "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", + "dependencies": { + "@jest/test-result": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.4.tgz", + "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "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", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.5.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.6.tgz", + "integrity": "sha512-Gi5wRGPbbyOTX+4Y2iULQ27oUPrefaB0PxGQJnfyWN3kvEDGM3mIB5M/gQLmitZf7A9FmLeaqxD3L1CXpm3VKQ==" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/babel-jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", + "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", + "dependencies": { + "@jest/transform": "^29.6.4", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "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==", + "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/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==", + "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/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "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.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001524", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001524.tgz", + "integrity": "sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==", + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.503", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz", + "integrity": "sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", + "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", + "dependencies": { + "@jest/expect-utils": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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==", + "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", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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==", + "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", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", + "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.4.tgz", + "integrity": "sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==", + "dependencies": { + "@jest/core": "^29.6.4", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.6.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.6.3.tgz", + "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.4.tgz", + "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/expect": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-runtime": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.3", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.4.tgz", + "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", + "dependencies": { + "@jest/core": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.4.tgz", + "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-jest": "^29.6.4", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.4", + "jest-environment-node": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runner": "^29.6.4", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.4.tgz", + "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.6.3.tgz", + "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.3.tgz", + "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.4.tgz", + "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.6.3", + "jest-util": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.4.tgz", + "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.6.3", + "jest-worker": "^29.6.4", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", + "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", + "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.3.tgz", + "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.3.tgz", + "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.4.tgz", + "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.3", + "jest-validate": "^29.6.3", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", + "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.6.4" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.4.tgz", + "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", + "dependencies": { + "@jest/console": "^29.6.4", + "@jest/environment": "^29.6.4", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.6.3", + "jest-environment-node": "^29.6.4", + "jest-haste-map": "^29.6.4", + "jest-leak-detector": "^29.6.3", + "jest-message-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-runtime": "^29.6.4", + "jest-util": "^29.6.3", + "jest-watcher": "^29.6.4", + "jest-worker": "^29.6.4", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.4.tgz", + "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", + "dependencies": { + "@jest/environment": "^29.6.4", + "@jest/fake-timers": "^29.6.4", + "@jest/globals": "^29.6.4", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-mock": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.6.4", + "jest-snapshot": "^29.6.4", + "jest-util": "^29.6.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.4.tgz", + "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.4", + "@jest/transform": "^29.6.4", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.4", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.4", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.6.4", + "jest-message-util": "^29.6.3", + "jest-util": "^29.6.3", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.3", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/jest-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.3.tgz", + "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.3.tgz", + "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.4.tgz", + "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", + "dependencies": { + "@jest/test-result": "^29.6.4", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.6.4", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.4.tgz", + "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.3", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", + "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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==", + "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", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "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.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index faa2622..c381667 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,21 @@ { "name": "md-links", "version": "0.1.0", + "main": "index.js", "engines": { "node": ">=16.x" }, + "scripts": { + "test": "jest --coverage", + "start": "node ./src/md-links.js" + }, "bootcamp": { "createdAt": "2023-06-28T16:05:09.952Z", "version": "6.3.0", "commit": "a942adeb868f1fe54b86e34cc4fc4ddb0601700d" + }, + "license": "ISC", + "dependencies": { + "jest": "^29.6.4" } -} \ No newline at end of file +} diff --git a/src/cli.js b/src/cli.js new file mode 100644 index 0000000..e69de29 diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..d3a9b23 --- /dev/null +++ b/src/config.js @@ -0,0 +1,76 @@ +const fs = require('fs'); +const path = require('path'); + +const draft = (directoryPath) => { + const files = []; + const scanDirectories = (dirPath) => { + try { + const readAllFolders = fs.readdirSync(dirPath); + if(readAllFolders.length === 0) { + console.log('This folder is empty') + } else { + readAllFolders.forEach(basePath => { + //console.log('este es el folder:',basePath); + const absolutePath = path.resolve(dirPath, basePath); // Aquí se guarda la ruta absoluta de la carpeta o archivo + let dataFile = fs.statSync(absolutePath); + if(dataFile.isDirectory()) { + scanDirectories(absolutePath) + } else { + files.push(absolutePath); + } + }) + } + } catch(err) { + console.log('--->', err); + } + } + scanDirectories(directoryPath) + console.log(files) + return files +} + +draft('./src/sample/folderA/folderA.1') + +// const readFolder = (directoryPath) => { +// console.log(directoryPath) +// let readAllFolder = fs.readdirSync(directoryPath); +// let stats = fs.statSync(directoryPath); +// // console.log(readAllFolder); +// // console.log(stats.isDirectory()); +// if(readAllFolder === []) { +// console.log('This folder is empty') +// } +// } +// readFolder('src/sample/folderA/folderA.1'); + +//Identificar si la ruta existe +//SI EXISTE ver si es un ruta absoluta +//Convertir la ruta en absoluta en caso de no serlo +//devolver la ruta +//SI NO EXISTE rechaza la promesa +//Si rechaza la promesa mostrar mensaje de error: This path no exist +// const readFile = fs.readFile(filePath, 'utf-8', (err, data) => { +// if(err) { +// console.log('error: ', err); +// } else { +// // data is the contents of the file +// console.log(data); +// } +// }); + +const pathOrFileExist = (filepath) => { + return fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada +} + +const absolutePathConverter = (filepath) => { + if(path.isAbsolute(filepath)){ + return filepath + } else { + return path.resolve(filepath) + } +} +module.exports = { + pathOrFileExist, + absolutePathConverter, + draft, +} \ No newline at end of file diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..3a341c3 --- /dev/null +++ b/src/index.js @@ -0,0 +1,65 @@ +const fs = require('fs'); +const path = require('path'); +const config = require('./config.js'); + +console.log('<>'); +// Saber si mi ruta existe +// Convertir mi ruta a absoluta +//Ver si es un directorio o archivo +//En caso de carpeta: Obtener el contenido de la carpeta +//En caso de archivo: leer archivo +//si se cumplen todos las instancias entonces devuelve un arreglo con objetos +// + +const mdLinks = (path, options) => { + return new Promise((resolve, reject) => { + if(config.fileExist(path)) { + const finallyPath = config.absolutePathConverter(path); + resolve(finallyPath) + } else { + reject('La ruta no existe') + } + //resolve('Correcto'); + //reject('Incorrecto'); + // allConditions.push('todas las funciones'); + // Promise.all(allConditions).resolve() + // .then((result) => { + // Array().map((path) => { + // path = { + // href, + // text, + // file, + // } + // }) + //}) + }); +} + +mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample') +.then((result) => { + console.log('El procedimiento esta correcto'); + console.log(result) +}) +.catch((error) => { + console.log('El procedimiento falló'); + console.log(error); +}); +//console.log('Aqui termina la promesa') + +// const mdLinks = (filepath) => { +// //const isAbsolutePath = config.absolutePath(filepath); +// const isFileExist = config.fileExist(filepath) +// if(isFileExist){ +// console.log('esta ruta existe'); +// console.log(isFileExist); + +// } else { +// console.log('esta ruta no existe') +// } + +// } +// mdLinks('src/sample/folderC/folderC.2'); + +// module.exports = { +// mdLinks +// } \ No newline at end of file diff --git a/src/md-links.js b/src/md-links.js new file mode 100644 index 0000000..e69de29 diff --git a/src/sample/draft.md b/src/sample/draft.md new file mode 100644 index 0000000..cfa97a3 --- /dev/null +++ b/src/sample/draft.md @@ -0,0 +1,5 @@ +Here you will find two valid links and one broken link: + +- [Platzi](https://platzi.com/) +- [Universia](https://www.universia.net/es/home.html) +- [asinglepage](http://asinglepage.net/) diff --git a/src/sample/draft.txt b/src/sample/draft.txt new file mode 100644 index 0000000..f7a484c --- /dev/null +++ b/src/sample/draft.txt @@ -0,0 +1,16 @@ +This is a file with a different extension. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi mattis, erat id porttitor lacinia, nunc leo ultricies mauris, at consectetur +enim quam nec urna. Fusce id sem facilisis, rutrum sem ut, auctor lorem. In tincidunt eros et nunc finibus dapibus. +Vivamus eu laoreet purus. Aenean vel libero ac ex commodo sollicitudin et sit amet dui. +Quisque quis orci neque. Vestibulum sit amet tristique enim. + +Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam quis ligula quis nunc vehicula hendrerit. +Morbi quis consequat justo, vitae blandit orci. Maecenas vitae varius lectus, at rhoncus magna. Pellentesque at mauris vel risus semper +condimentum ac id neque. Praesent a tellus congue, eleifend risus faucibus, egestas orci. Sed feugiat condimentum erat at suscipit. +Curabitur mattis metus eu consectetur ultricies. Donec dapibus, neque sed faucibus mollis, ex augue maximus ex, eu vestibulum quam nibh et nisl. Vestibulum non viverra lacus. + +Integer sit amet viverra ex. Pellentesque eleifend, lorem eget iaculis posuere, nisi purus mollis lorem, et euismod elit tellus et felis. +Sed ac orci vel lorem mollis sollicitudin. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed luctus tellus non feugiat +imperdiet. Duis porta dui nibh, ut consectetur lectus scelerisque ac. Proin varius metus mi, ac convallis turpis scelerisque ac. Quisque faucibus, +augue vitae venenatis laoreet, mauris quam tincidunt augue, id volutpat nisl dolor sed massa. \ No newline at end of file diff --git a/src/sample/empty.md b/src/sample/empty.md new file mode 100644 index 0000000..6e337f6 --- /dev/null +++ b/src/sample/empty.md @@ -0,0 +1 @@ +This file is empty and does not contain any links. \ No newline at end of file diff --git a/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md b/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md new file mode 100644 index 0000000..2898335 --- /dev/null +++ b/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md @@ -0,0 +1,3 @@ +Here you will find one valid link and one broken link: +* [Medium](https://medium.com/) +* [Other page random](http://otherpagerandom.net/) diff --git a/src/sample/folderA/folderA.1/secondfile.md b/src/sample/folderA/folderA.1/secondfile.md new file mode 100644 index 0000000..fc620e2 --- /dev/null +++ b/src/sample/folderA/folderA.1/secondfile.md @@ -0,0 +1,3 @@ +**Here you will find two valid links: +* [Kinsta](https://kinsta.com/es/) +* [Docs NPM](https://docs.npmjs.com/) diff --git a/src/sample/folderB/thirdfile.md b/src/sample/folderB/thirdfile.md new file mode 100644 index 0000000..95e0d87 --- /dev/null +++ b/src/sample/folderB/thirdfile.md @@ -0,0 +1,2 @@ +This file contains a broken link, it is as follows: +[A page random](http://www.arandompage.com) \ No newline at end of file diff --git a/src/sample/folderC/folderC.1/folderC.1.1/folderLast/file4.md b/src/sample/folderC/folderC.1/folderC.1.1/folderLast/file4.md new file mode 100644 index 0000000..a80739f --- /dev/null +++ b/src/sample/folderC/folderC.1/folderC.1.1/folderLast/file4.md @@ -0,0 +1,18 @@ +## Objetivos + +El objetivo práctico de este proyecto es que aprendas cómo crear tu propia +**librería** (o biblioteca - _library_) en JavaScript. + +Diseñar tu propia librería es una experiencia fundamental para cualquier +desarrollador porque que te obliga a pensar en la interfaz (API) de tus +_módulos_ y cómo será usado por otros developers. Debes tener especial +consideración en peculiaridades del lenguaje, convenciones y buenas prácticas. + +Tópicos: [Node.js](https://nodejs.org/en/), +[módulos (CommonJS)](https://nodejs.org/docs/latest-v0.10.x/api/modules.html), +[file system](https://nodejs.org/api/fs.html), +[path](https://nodejs.org/api/path.html), +[http.get](https://nodejs.org/api/http.html#http_http_get_options_callback), +[markdown](https://daringfireball.net/projects/markdown/syntax), +[npm-scripts](https://docs.npmjs.com/misc/scripts), +[semver](https://semver.org/) \ No newline at end of file diff --git a/src/sample/folderC/fourthfile.txt b/src/sample/folderC/fourthfile.txt new file mode 100644 index 0000000..e61f0e1 --- /dev/null +++ b/src/sample/folderC/fourthfile.txt @@ -0,0 +1 @@ +This file has no md extension. \ No newline at end of file diff --git a/test/config.spec.js b/test/config.spec.js new file mode 100644 index 0000000..9673ccf --- /dev/null +++ b/test/config.spec.js @@ -0,0 +1,21 @@ +const config = require("../src/config"); + +describe("Config", () => { + it("should return a absolute path", () => { + const expectedResponse = 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample'; + const pathExample = 'src/sample'; + const response = config.absolutePathConverter(pathExample) + expect(response).toBe(expectedResponse); + + }); + it("should return array files", () => { + const expectedResponse = [ + 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +]; + const pathExample = 'src/sample/folderA'; + const response = config.scanDirectories(pathExample) + expect(response).toStrictEqual(expectedResponse); + + }); +}); diff --git a/test/md-links.spec.js b/test/md-links.spec.js deleted file mode 100644 index 31db9e9..0000000 --- a/test/md-links.spec.js +++ /dev/null @@ -1,10 +0,0 @@ -const mdLinks = require('../'); - - -describe('mdLinks', () => { - - it('should...', () => { - console.log('FIX ME!'); - }); - -}); From b9892f40b02a92913aa34193474b152128f691bc Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 31 Aug 2023 19:31:56 -0500 Subject: [PATCH 02/20] funcion para identificar archivos --- src/config.js | 87 +++++++++++++++++++++++++++++-------------------- src/index.js | 33 +++++-------------- src/md-links.js | 0 3 files changed, 60 insertions(+), 60 deletions(-) delete mode 100644 src/md-links.js diff --git a/src/config.js b/src/config.js index d3a9b23..0429458 100644 --- a/src/config.js +++ b/src/config.js @@ -1,20 +1,45 @@ const fs = require('fs'); const path = require('path'); -const draft = (directoryPath) => { +const pathExist = (filepath) => { + return fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada +} + +const absolutePathConverter = (filepath) => { + if(path.isAbsolute(filepath)){ + return filepath + } else { + return path.resolve(filepath) + } +} + +const identifyFile = (filepath) => { + const file = []; + let dataFile = fs.statSync(filepath); + if(dataFile.isFile()) { + file.push(filepath); + return file; + } else { + scanDirectories(filepath);// Por modificar + } +} + + + +const scanDirectories = (directoryPath) => { const files = []; - const scanDirectories = (dirPath) => { + const getFiles = (dirPath) => { try { const readAllFolders = fs.readdirSync(dirPath); if(readAllFolders.length === 0) { - console.log('This folder is empty') + console.log('This folder is empty'); } else { readAllFolders.forEach(basePath => { //console.log('este es el folder:',basePath); const absolutePath = path.resolve(dirPath, basePath); // Aquí se guarda la ruta absoluta de la carpeta o archivo let dataFile = fs.statSync(absolutePath); if(dataFile.isDirectory()) { - scanDirectories(absolutePath) + getFiles(absolutePath) } else { files.push(absolutePath); } @@ -24,31 +49,13 @@ const draft = (directoryPath) => { console.log('--->', err); } } - scanDirectories(directoryPath) - console.log(files) + getFiles(directoryPath) + console.log(files); return files } -draft('./src/sample/folderA/folderA.1') +//scanDirectories('./src/sample/folderA/folderA.1') -// const readFolder = (directoryPath) => { -// console.log(directoryPath) -// let readAllFolder = fs.readdirSync(directoryPath); -// let stats = fs.statSync(directoryPath); -// // console.log(readAllFolder); -// // console.log(stats.isDirectory()); -// if(readAllFolder === []) { -// console.log('This folder is empty') -// } -// } -// readFolder('src/sample/folderA/folderA.1'); - -//Identificar si la ruta existe -//SI EXISTE ver si es un ruta absoluta -//Convertir la ruta en absoluta en caso de no serlo -//devolver la ruta -//SI NO EXISTE rechaza la promesa -//Si rechaza la promesa mostrar mensaje de error: This path no exist // const readFile = fs.readFile(filePath, 'utf-8', (err, data) => { // if(err) { // console.log('error: ', err); @@ -58,19 +65,27 @@ draft('./src/sample/folderA/folderA.1') // } // }); -const pathOrFileExist = (filepath) => { - return fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada -} -const absolutePathConverter = (filepath) => { - if(path.isAbsolute(filepath)){ - return filepath - } else { - return path.resolve(filepath) - } +const readFolder = (directoryPath) => { + let readAllFolder = fs.readdirSync(directoryPath); + let pathAbsolute = absolutePathConverter(directoryPath); + let typeFile = identifyFile(directoryPath); + let stats = fs.statSync(directoryPath); + console.log(typeFile); + //console.log(readAllFolder); + console.log(pathAbsolute) +// console.log(stats.isDirectory()); +// if(readAllFolder === []) { +// console.log('This folder is empty') +// } } + +readFolder('src/sample/folderA'); +//readFolder('src/sample/folderA/folderA.1/secondfile.md'); + module.exports = { - pathOrFileExist, + pathExist, absolutePathConverter, - draft, + identifyFile, + scanDirectories, } \ No newline at end of file diff --git a/src/index.js b/src/index.js index 3a341c3..5e3b373 100644 --- a/src/index.js +++ b/src/index.js @@ -13,11 +13,12 @@ console.log('<>'); const mdLinks = (path, options) => { return new Promise((resolve, reject) => { - if(config.fileExist(path)) { - const finallyPath = config.absolutePathConverter(path); - resolve(finallyPath) + if(config.pathExist(path)) { + const isAbsolutePath = config.absolutePathConverter(path); + const isFilePath = config.identifyFile(isAbsolutePath); + resolve(isFilePath); } else { - reject('La ruta no existe') + reject('The path does not exist') } //resolve('Correcto'); //reject('Incorrecto'); @@ -35,31 +36,15 @@ const mdLinks = (path, options) => { }); } -mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample') +console.log(mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample')) .then((result) => { console.log('El procedimiento esta correcto'); console.log(result) }) .catch((error) => { - console.log('El procedimiento falló'); console.log(error); }); -//console.log('Aqui termina la promesa') -// const mdLinks = (filepath) => { -// //const isAbsolutePath = config.absolutePath(filepath); -// const isFileExist = config.fileExist(filepath) -// if(isFileExist){ -// console.log('esta ruta existe'); -// console.log(isFileExist); - -// } else { -// console.log('esta ruta no existe') -// } - -// } -// mdLinks('src/sample/folderC/folderC.2'); - -// module.exports = { -// mdLinks -// } \ No newline at end of file +module.exports = { + mdLinks +} \ No newline at end of file diff --git a/src/md-links.js b/src/md-links.js deleted file mode 100644 index e69de29..0000000 From f2083a0c8d1465738c2e080c30a148e105ca8be6 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Fri, 1 Sep 2023 03:14:12 -0500 Subject: [PATCH 03/20] =?UTF-8?q?test=20funci=C3=B3n=20pathExist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/config.js | 22 +++++++++++----------- src/index.js | 11 +++++++---- test/config.spec.js | 12 ++++++++++-- 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index c381667..959c20e 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ }, "scripts": { "test": "jest --coverage", - "start": "node ./src/md-links.js" + "start": "node ./src/index.js" }, "bootcamp": { "createdAt": "2023-06-28T16:05:09.952Z", diff --git a/src/config.js b/src/config.js index 0429458..5ed9faa 100644 --- a/src/config.js +++ b/src/config.js @@ -6,7 +6,7 @@ const pathExist = (filepath) => { } const absolutePathConverter = (filepath) => { - if(path.isAbsolute(filepath)){ + if(path.isAbsolute(filepath)) { return filepath } else { return path.resolve(filepath) @@ -15,16 +15,18 @@ const absolutePathConverter = (filepath) => { const identifyFile = (filepath) => { const file = []; - let dataFile = fs.statSync(filepath); + const dataFile = fs.statSync(filepath); if(dataFile.isFile()) { file.push(filepath); return file; } else { - scanDirectories(filepath);// Por modificar + return scanDirectories(filepath); } } - +// const filterFile = (fileArray) => { +// fileArray.filter(); +// } const scanDirectories = (directoryPath) => { const files = []; @@ -37,7 +39,7 @@ const scanDirectories = (directoryPath) => { readAllFolders.forEach(basePath => { //console.log('este es el folder:',basePath); const absolutePath = path.resolve(dirPath, basePath); // Aquí se guarda la ruta absoluta de la carpeta o archivo - let dataFile = fs.statSync(absolutePath); + const dataFile = fs.statSync(absolutePath); if(dataFile.isDirectory()) { getFiles(absolutePath) } else { @@ -50,7 +52,6 @@ const scanDirectories = (directoryPath) => { } } getFiles(directoryPath) - console.log(files); return files } @@ -67,13 +68,12 @@ const scanDirectories = (directoryPath) => { const readFolder = (directoryPath) => { - let readAllFolder = fs.readdirSync(directoryPath); - let pathAbsolute = absolutePathConverter(directoryPath); + //let pathAbsolute = absolutePathConverter(directoryPath); let typeFile = identifyFile(directoryPath); - let stats = fs.statSync(directoryPath); + //let stats = fs.statSync(directoryPath); console.log(typeFile); //console.log(readAllFolder); - console.log(pathAbsolute) + //console.log(pathAbsolute) // console.log(stats.isDirectory()); // if(readAllFolder === []) { // console.log('This folder is empty') @@ -81,7 +81,7 @@ const readFolder = (directoryPath) => { } readFolder('src/sample/folderA'); -//readFolder('src/sample/folderA/folderA.1/secondfile.md'); +readFolder('src/sample/folderA/folderA.1/secondfile.md'); module.exports = { pathExist, diff --git a/src/index.js b/src/index.js index 5e3b373..c81a775 100644 --- a/src/index.js +++ b/src/index.js @@ -9,14 +9,14 @@ console.log('<>'); //En caso de carpeta: Obtener el contenido de la carpeta //En caso de archivo: leer archivo //si se cumplen todos las instancias entonces devuelve un arreglo con objetos -// + const mdLinks = (path, options) => { return new Promise((resolve, reject) => { if(config.pathExist(path)) { const isAbsolutePath = config.absolutePathConverter(path); const isFilePath = config.identifyFile(isAbsolutePath); - resolve(isFilePath); + resolve(isAbsolutePath); } else { reject('The path does not exist') } @@ -36,7 +36,8 @@ const mdLinks = (path, options) => { }); } -console.log(mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample')) + +mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample') .then((result) => { console.log('El procedimiento esta correcto'); console.log(result) @@ -47,4 +48,6 @@ console.log(mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample')) module.exports = { mdLinks -} \ No newline at end of file +} + +x = 5 diff --git a/test/config.spec.js b/test/config.spec.js index 9673ccf..d4ea831 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -1,6 +1,13 @@ const config = require("../src/config"); -describe("Config", () => { +describe("configuration of auxiliary functions", () => { + + it("The path must exist ", () => { + const response = config.pathExist('src/sample/folderA/folderA.1/secondfile.md') + expect(response).toBe(true); + + }); + it("should return a absolute path", () => { const expectedResponse = 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample'; const pathExample = 'src/sample'; @@ -8,6 +15,7 @@ describe("Config", () => { expect(response).toBe(expectedResponse); }); + it("should return array files", () => { const expectedResponse = [ 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', @@ -17,5 +25,5 @@ describe("Config", () => { const response = config.scanDirectories(pathExample) expect(response).toStrictEqual(expectedResponse); - }); + }); }); From a85a0612c87b50570efeb2b48ea5b458821e01d3 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Fri, 1 Sep 2023 03:30:55 -0500 Subject: [PATCH 04/20] =?UTF-8?q?test=20funci=C3=B3n=20identifyFile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/config.spec.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/test/config.spec.js b/test/config.spec.js index d4ea831..6ad4579 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -2,13 +2,13 @@ const config = require("../src/config"); describe("configuration of auxiliary functions", () => { - it("The path must exist ", () => { + test("the path must exist ", () => { const response = config.pathExist('src/sample/folderA/folderA.1/secondfile.md') expect(response).toBe(true); }); - it("should return a absolute path", () => { + test("should return a absolute path", () => { const expectedResponse = 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample'; const pathExample = 'src/sample'; const response = config.absolutePathConverter(pathExample) @@ -16,11 +16,18 @@ describe("configuration of auxiliary functions", () => { }); - it("should return array files", () => { + test("should return an array with a file", () => { + const expectedResponse = ['src/sample/folderA/folderA.1/secondfile.md']; + const response = config.identifyFile('src/sample/folderA/folderA.1/secondfile.md'); + expect(response).toStrictEqual(expectedResponse); + + }); + + test("should return array files", () => { const expectedResponse = [ - 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', - 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -]; + 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + ]; const pathExample = 'src/sample/folderA'; const response = config.scanDirectories(pathExample) expect(response).toStrictEqual(expectedResponse); From 66169222f6b11714872eff779e31979032adb0fe Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Fri, 1 Sep 2023 15:58:54 -0500 Subject: [PATCH 05/20] =?UTF-8?q?instalacion=20y=20configuraci=C3=B3n=20de?= =?UTF-8?q?=20esLint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 9 + .eslintrc.json | 18 + package-lock.json | 1953 ++++++++++++++++++++++++++++++++++++++++- package.json | 9 +- src/config.js | 115 ++- src/index.js | 80 +- src/md-links.js | 0 test/config.spec.js | 25 +- test/md-links.spec.js | 13 + 9 files changed, 2071 insertions(+), 151 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 src/md-links.js create mode 100644 test/md-links.spec.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..7f5c623 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,9 @@ +# /node_modules/* and /bower_components/* in the project root are ignored by default +# Ignore built files except build/index.js + +build/* +!build/index.js +dist/* +bundle.js +.*/* +.* \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..2c13b8e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es2021": true + }, + "extends": [ + "airbnb-base", + "eslint:recommended" + ], + "parserOptions": { + "ecmaVersion": "latest" + }, + "ignorePatterns": ["config.spec.js", "md-links.spec.js"], + "rules": { + "max-len": ["error", {"code": 200}] + } +} diff --git a/package-lock.json b/package-lock.json index 5c0b2e2..3b11422 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,24 @@ "dependencies": { "jest": "^29.6.4" }, + "devDependencies": { + "eslint": "^8.48.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-plugin-import": "^2.28.1" + }, "engines": { "node": ">=16.x" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -603,6 +617,140 @@ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", + "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "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 + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", + "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "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", @@ -933,6 +1081,41 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1020,6 +1203,12 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "node_modules/@types/node": { "version": "20.5.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.6.tgz", @@ -1043,6 +1232,43 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1099,6 +1325,125 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/babel-jest": { "version": "29.6.4", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.4.tgz", @@ -1269,6 +1614,19 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1394,6 +1752,12 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1441,6 +1805,12 @@ } } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -1449,6 +1819,22 @@ "node": ">=0.10.0" } }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -1465,6 +1851,18 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.503", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz", @@ -1494,6 +1892,99 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -1510,50 +2001,411 @@ "node": ">=8" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/eslint": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", + "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.48.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" }, "engines": { - "node": ">=10" + "node": "^10.12.0 || >=12.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/expect": { - "version": "29.6.4", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/argparse": { + "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 + }, + "node_modules/eslint/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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.6.4", "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.4.tgz", "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", "dependencies": { @@ -1567,11 +2419,32 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -1580,6 +2453,18 @@ "bser": "2.1.1" } }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -1603,6 +2488,35 @@ "node": ">=8" } }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1626,6 +2540,33 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "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", @@ -1642,6 +2583,21 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "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", @@ -1661,6 +2617,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -1680,6 +2652,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -1688,11 +2672,44 @@ "node": ">=4" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -1704,6 +2721,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1712,6 +2738,57 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -1725,6 +2802,40 @@ "node": ">=10.17.0" } }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -1765,11 +2876,79 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", @@ -1781,6 +2960,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -1797,6 +3000,30 @@ "node": ">=6" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -1805,6 +3032,58 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -1816,6 +3095,69 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2498,11 +3840,29 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -2514,6 +3874,15 @@ "node": ">=6" } }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -2530,6 +3899,19 @@ "node": ">=6" } }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -2546,6 +3928,12 @@ "node": ">=8" } }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -2642,6 +4030,15 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2681,6 +4078,102 @@ "node": ">=8" } }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2703,6 +4196,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -2750,6 +4260,18 @@ "node": ">=6" } }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -2831,6 +4353,15 @@ "node": ">=8" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/pretty-format": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz", @@ -2867,6 +4398,15 @@ "node": ">= 6" } }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pure-rand": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", @@ -2882,11 +4422,48 @@ } ] }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2938,6 +4515,86 @@ "node": ">=10" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -2965,6 +4622,20 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -3041,6 +4712,51 @@ "node": ">=8" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -3114,6 +4830,12 @@ "node": ">=8" } }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -3138,6 +4860,51 @@ "node": ">=8.0" } }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -3157,6 +4924,86 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", @@ -3186,6 +5033,15 @@ "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", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", @@ -3226,6 +5082,41 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/package.json b/package.json index 959c20e..37e5c80 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,9 @@ }, "scripts": { "test": "jest --coverage", - "start": "node ./src/index.js" + "start": "node ./src/index.js", + "lint": "npx eslint . --ext .js", + "lint-fix": "eslint . --fix" }, "bootcamp": { "createdAt": "2023-06-28T16:05:09.952Z", @@ -17,5 +19,10 @@ "license": "ISC", "dependencies": { "jest": "^29.6.4" + }, + "devDependencies": { + "eslint": "^8.48.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-plugin-import": "^2.28.1" } } diff --git a/src/config.js b/src/config.js index 5ed9faa..9831f11 100644 --- a/src/config.js +++ b/src/config.js @@ -1,61 +1,56 @@ const fs = require('fs'); const path = require('path'); -const pathExist = (filepath) => { - return fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada -} +const pathExist = (filepath) => fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada const absolutePathConverter = (filepath) => { - if(path.isAbsolute(filepath)) { - return filepath - } else { - return path.resolve(filepath) - } -} + if (path.isAbsolute(filepath)) { + return filepath; + } + return path.resolve(filepath); +}; const identifyFile = (filepath) => { - const file = []; - const dataFile = fs.statSync(filepath); - if(dataFile.isFile()) { - file.push(filepath); - return file; - } else { - return scanDirectories(filepath); - } -} + const file = []; + const dataFile = fs.statSync(filepath); + if (dataFile.isFile()) { + file.push(filepath); + return file; + } + return scanDirectories(filepath); +}; -// const filterFile = (fileArray) => { -// fileArray.filter(); -// } +const filterFile = (fileArray) => { + const regExp = /\.[m][d]/.g; + return fileArray.filter(() => {}); +}; const scanDirectories = (directoryPath) => { - const files = []; - const getFiles = (dirPath) => { - try { - const readAllFolders = fs.readdirSync(dirPath); - if(readAllFolders.length === 0) { - console.log('This folder is empty'); - } else { - readAllFolders.forEach(basePath => { - //console.log('este es el folder:',basePath); - const absolutePath = path.resolve(dirPath, basePath); // Aquí se guarda la ruta absoluta de la carpeta o archivo - const dataFile = fs.statSync(absolutePath); - if(dataFile.isDirectory()) { - getFiles(absolutePath) - } else { - files.push(absolutePath); - } - }) - } - } catch(err) { - console.log('--->', err); - } + const files = []; + const getFiles = (dirPath) => { + try { + const readAllFolders = fs.readdirSync(dirPath); + if (readAllFolders.length === 0) { + console.log('This folder is empty'); + } else { + readAllFolders.forEach((basePath) => { + // console.log('este es el folder:',basePath); + const absolutePath = path.resolve(dirPath, basePath); // Aquí se guarda la ruta absoluta de la carpeta o archivo + const dataFile = fs.statSync(absolutePath); + if (dataFile.isDirectory()) { + getFiles(absolutePath); + } else { + files.push(absolutePath); + } + }); + } + } catch (err) { + console.log('--->', err); } - getFiles(directoryPath) - return files -} - -//scanDirectories('./src/sample/folderA/folderA.1') + }; + getFiles(directoryPath); + return files; +}; // const readFile = fs.readFile(filePath, 'utf-8', (err, data) => { // if(err) { @@ -66,26 +61,26 @@ const scanDirectories = (directoryPath) => { // } // }); - const readFolder = (directoryPath) => { - //let pathAbsolute = absolutePathConverter(directoryPath); - let typeFile = identifyFile(directoryPath); - //let stats = fs.statSync(directoryPath); - console.log(typeFile); - //console.log(readAllFolder); - //console.log(pathAbsolute) + // let pathAbsolute = absolutePathConverter(directoryPath); + const typeFile = identifyFile(directoryPath); + // let stats = fs.statSync(directoryPath); + console.log(typeFile); + // console.log(readAllFolder); + // console.log(pathAbsolute) // console.log(stats.isDirectory()); // if(readAllFolder === []) { // console.log('This folder is empty') // } -} +}; readFolder('src/sample/folderA'); readFolder('src/sample/folderA/folderA.1/secondfile.md'); module.exports = { - pathExist, - absolutePathConverter, - identifyFile, - scanDirectories, -} \ No newline at end of file + pathExist, + absolutePathConverter, + identifyFile, + filterFile, + scanDirectories, +}; diff --git a/src/index.js b/src/index.js index c81a775..5a91f2f 100644 --- a/src/index.js +++ b/src/index.js @@ -1,53 +1,45 @@ -const fs = require('fs'); -const path = require('path'); -const config = require('./config.js'); +const config = require('./config'); console.log('<>'); // Saber si mi ruta existe // Convertir mi ruta a absoluta -//Ver si es un directorio o archivo -//En caso de carpeta: Obtener el contenido de la carpeta -//En caso de archivo: leer archivo -//si se cumplen todos las instancias entonces devuelve un arreglo con objetos - - -const mdLinks = (path, options) => { - return new Promise((resolve, reject) => { - if(config.pathExist(path)) { - const isAbsolutePath = config.absolutePathConverter(path); - const isFilePath = config.identifyFile(isAbsolutePath); - resolve(isAbsolutePath); - } else { - reject('The path does not exist') - } - //resolve('Correcto'); - //reject('Incorrecto'); - // allConditions.push('todas las funciones'); - // Promise.all(allConditions).resolve() - // .then((result) => { - // Array().map((path) => { - // path = { - // href, - // text, - // file, - // } - // }) - //}) - }); -} +// Ver si es un directorio o archivo +// En caso de carpeta: Obtener el contenido de la carpeta +// En caso de archivo: leer archivo +// si se cumplen todos las instancias entonces devuelve un arreglo con objetos +const mdLinks = (path, options) => new Promise((resolve, reject) => { + if (config.pathExist(path)) { + const isAbsolutePath = config.absolutePathConverter(path); + const isFilePath = config.identifyFile(isAbsolutePath); + resolve(isFilePath); + } else { + reject('The path does not exist'); + } + // resolve('Correcto'); + // reject('Incorrecto'); + // allConditions.push('todas las funciones'); + // Promise.all(allConditions).resolve() + // .then((result) => { + // Array().map((path) => { + // path = { + // href, + // text, + // file, + // } + // }) + // }) +}); mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample') -.then((result) => { - console.log('El procedimiento esta correcto'); - console.log(result) -}) -.catch((error) => { - console.log(error); -}); + .then((result) => { + console.log('El procedimiento esta correcto'); + console.log(result); + }) + .catch((error) => { + console.log(error); + }); module.exports = { - mdLinks -} - -x = 5 + mdLinks, +}; diff --git a/src/md-links.js b/src/md-links.js new file mode 100644 index 0000000..e69de29 diff --git a/test/config.spec.js b/test/config.spec.js index 6ad4579..3324941 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -1,36 +1,31 @@ -const config = require("../src/config"); +const config = require('../src/config'); -describe("configuration of auxiliary functions", () => { - - test("the path must exist ", () => { - const response = config.pathExist('src/sample/folderA/folderA.1/secondfile.md') +describe('configuration of auxiliary functions', () => { + test('the path must exist ', () => { + const response = config.pathExist('src/sample/folderA/folderA.1/secondfile.md'); expect(response).toBe(true); - }); - test("should return a absolute path", () => { + test('should return a absolute path', () => { const expectedResponse = 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample'; const pathExample = 'src/sample'; - const response = config.absolutePathConverter(pathExample) + const response = config.absolutePathConverter(pathExample); expect(response).toBe(expectedResponse); - }); - test("should return an array with a file", () => { + test('should return an array with a file', () => { const expectedResponse = ['src/sample/folderA/folderA.1/secondfile.md']; const response = config.identifyFile('src/sample/folderA/folderA.1/secondfile.md'); expect(response).toStrictEqual(expectedResponse); - }); - test("should return array files", () => { + test('should return array files', () => { const expectedResponse = [ 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', ]; const pathExample = 'src/sample/folderA'; - const response = config.scanDirectories(pathExample) + const response = config.scanDirectories(pathExample); expect(response).toStrictEqual(expectedResponse); - - }); + }); }); diff --git a/test/md-links.spec.js b/test/md-links.spec.js new file mode 100644 index 0000000..018bdac --- /dev/null +++ b/test/md-links.spec.js @@ -0,0 +1,13 @@ +// const mdLinks = require("../src/md-links.js"); + +// describe("mdLinks", () => { +// it("should return a promise", () => { +// console.log("FIX ME!"); +// }); + +// it("should be rejected when the path does not exist", () => { +// return mdLinks("/pruebas/prueba1/noexiste.md").catch((error) => { +// expect(error).toBe("esta ruta no existe"); +// }); +// }); +// }); From a9826841db9dcdc69741eeb1474fd022bcf51aa1 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Sat, 2 Sep 2023 01:17:29 -0500 Subject: [PATCH 06/20] funcion filevalidation(tiene errores), se desactivo eslint console --- .eslintrc.json | 3 +- src/config.js | 44 +++++++++++++++----------- src/index.js | 6 ---- test/{md-links.spec.js => md-links.js} | 0 4 files changed, 27 insertions(+), 26 deletions(-) rename test/{md-links.spec.js => md-links.js} (100%) diff --git a/.eslintrc.json b/.eslintrc.json index 2c13b8e..43cf1e3 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,6 +13,7 @@ }, "ignorePatterns": ["config.spec.js", "md-links.spec.js"], "rules": { - "max-len": ["error", {"code": 200}] + "max-len": ["error", {"code": 200}], + "no-console": "off" } } diff --git a/src/config.js b/src/config.js index 9831f11..2a2fcf7 100644 --- a/src/config.js +++ b/src/config.js @@ -11,18 +11,24 @@ const absolutePathConverter = (filepath) => { }; const identifyFile = (filepath) => { - const file = []; const dataFile = fs.statSync(filepath); if (dataFile.isFile()) { - file.push(filepath); + const file = Array.of(filepath); return file; } return scanDirectories(filepath); }; -const filterFile = (fileArray) => { - const regExp = /\.[m][d]/.g; - return fileArray.filter(() => {}); +const fileValidation = (fileArray) => { + try { + const filterfile = fileArray.filter((file) => path.extname(file) === '.md'); + if (filterfile.length === 0) { + throw new Error('it is not a markdown file'); + } + // Problema: no me devuelve nada al ejecutarlo, ni undefined + } catch (error) { + console.log(error); + } }; const scanDirectories = (directoryPath) => { @@ -31,7 +37,7 @@ const scanDirectories = (directoryPath) => { try { const readAllFolders = fs.readdirSync(dirPath); if (readAllFolders.length === 0) { - console.log('This folder is empty'); + console.log('this folder is empty'); } else { readAllFolders.forEach((basePath) => { // console.log('este es el folder:',basePath); @@ -53,34 +59,34 @@ const scanDirectories = (directoryPath) => { }; // const readFile = fs.readFile(filePath, 'utf-8', (err, data) => { -// if(err) { -// console.log('error: ', err); -// } else { -// // data is the contents of the file -// console.log(data); -// } +// if (err) { +// console.log('error: ', err); +// } else { +// // data is the contents of the file +// console.log(data); +// } // }); const readFolder = (directoryPath) => { - // let pathAbsolute = absolutePathConverter(directoryPath); - const typeFile = identifyFile(directoryPath); + fileValidation(directoryPath); // let stats = fs.statSync(directoryPath); - console.log(typeFile); + // console.log(typeFile); // console.log(readAllFolder); - // console.log(pathAbsolute) // console.log(stats.isDirectory()); // if(readAllFolder === []) { // console.log('This folder is empty') // } }; -readFolder('src/sample/folderA'); -readFolder('src/sample/folderA/folderA.1/secondfile.md'); +// readFolder('src/sample/folderA'); +// readFolder('src/sample/folderA/folderA.1/secondfile.md'); +// readFolder('src/sample/draft.txt'); +readFolder(['src/sample/draft.md']); module.exports = { pathExist, absolutePathConverter, identifyFile, - filterFile, + fileValidation, scanDirectories, }; diff --git a/src/index.js b/src/index.js index 5a91f2f..e693d41 100644 --- a/src/index.js +++ b/src/index.js @@ -1,12 +1,6 @@ const config = require('./config'); console.log('<>'); -// Saber si mi ruta existe -// Convertir mi ruta a absoluta -// Ver si es un directorio o archivo -// En caso de carpeta: Obtener el contenido de la carpeta -// En caso de archivo: leer archivo -// si se cumplen todos las instancias entonces devuelve un arreglo con objetos const mdLinks = (path, options) => new Promise((resolve, reject) => { if (config.pathExist(path)) { diff --git a/test/md-links.spec.js b/test/md-links.js similarity index 100% rename from test/md-links.spec.js rename to test/md-links.js From f3ca4534b5f2b70c6f3940cc30b531a7b2a766c1 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Mon, 4 Sep 2023 11:27:08 -0500 Subject: [PATCH 07/20] =?UTF-8?q?funci=C3=B3n=20readFile,=20no=20se=20mues?= =?UTF-8?q?tra=20los=20returns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config.js | 70 +++++++++++++++++++++++++++---------------------- src/md-links.js | 0 2 files changed, 38 insertions(+), 32 deletions(-) delete mode 100644 src/md-links.js diff --git a/src/config.js b/src/config.js index 2a2fcf7..5d088f3 100644 --- a/src/config.js +++ b/src/config.js @@ -1,5 +1,5 @@ -const fs = require('fs'); -const path = require('path'); +const fs = require("fs"); +const path = require("path"); const pathExist = (filepath) => fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada @@ -10,21 +10,13 @@ const absolutePathConverter = (filepath) => { return path.resolve(filepath); }; -const identifyFile = (filepath) => { - const dataFile = fs.statSync(filepath); - if (dataFile.isFile()) { - const file = Array.of(filepath); - return file; - } - return scanDirectories(filepath); -}; - const fileValidation = (fileArray) => { try { - const filterfile = fileArray.filter((file) => path.extname(file) === '.md'); + const filterfile = fileArray.filter((file) => path.extname(file) === ".md"); if (filterfile.length === 0) { - throw new Error('it is not a markdown file'); + throw new Error("it is not a markdown file"); } + console.log(filterfile); // Problema: no me devuelve nada al ejecutarlo, ni undefined } catch (error) { console.log(error); @@ -37,7 +29,7 @@ const scanDirectories = (directoryPath) => { try { const readAllFolders = fs.readdirSync(dirPath); if (readAllFolders.length === 0) { - console.log('this folder is empty'); + console.log("this folder is empty"); } else { readAllFolders.forEach((basePath) => { // console.log('este es el folder:',basePath); @@ -51,37 +43,50 @@ const scanDirectories = (directoryPath) => { }); } } catch (err) { - console.log('--->', err); + console.log("--->", err); } }; getFiles(directoryPath); return files; }; -// const readFile = fs.readFile(filePath, 'utf-8', (err, data) => { -// if (err) { -// console.log('error: ', err); -// } else { -// // data is the contents of the file -// console.log(data); -// } -// }); +const identifyFile = (filepath) => { + const dataFile = fs.statSync(filepath); + if (dataFile.isFile()) { + const file = Array.of(filepath); + return file; + } + return scanDirectories(filepath); +}; + +const readFile = (filepath) => { + fs.readFile(filepath, 'utf8', (err, data) => { + if (err) { + console.log('error: ', err); + } else { + // data is the contents of the file + console.log(data); + } + }); +}; + +const extractLinks = +// identificar los links +// guardar los links en un arreglo como objetos const readFolder = (directoryPath) => { - fileValidation(directoryPath); + //fileValidation(directoryPath); + readFile(directoryPath); + // scanDirectories(directoryPath); // let stats = fs.statSync(directoryPath); // console.log(typeFile); - // console.log(readAllFolder); -// console.log(stats.isDirectory()); -// if(readAllFolder === []) { -// console.log('This folder is empty') -// } + // } }; -// readFolder('src/sample/folderA'); +//readFolder('src/sample/folderA'); // readFolder('src/sample/folderA/folderA.1/secondfile.md'); -// readFolder('src/sample/draft.txt'); -readFolder(['src/sample/draft.md']); + readFolder('src/sample/draft.txt'); +//readFolder(['src/sample/draft.md']); module.exports = { pathExist, @@ -89,4 +94,5 @@ module.exports = { identifyFile, fileValidation, scanDirectories, + readFile, }; diff --git a/src/md-links.js b/src/md-links.js deleted file mode 100644 index e69de29..0000000 From 05d50a142d837dda35b61a474d341e8c8e8f8f2a Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Mon, 4 Sep 2023 11:51:29 -0500 Subject: [PATCH 08/20] prueba --- src/config.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/config.js b/src/config.js index 5d088f3..6014d1f 100644 --- a/src/config.js +++ b/src/config.js @@ -54,6 +54,7 @@ const identifyFile = (filepath) => { const dataFile = fs.statSync(filepath); if (dataFile.isFile()) { const file = Array.of(filepath); + console.log(file); return file; } return scanDirectories(filepath); @@ -70,9 +71,9 @@ const readFile = (filepath) => { }); }; -const extractLinks = +// const extractLinks = // identificar los links -// guardar los links en un arreglo como objetos +// guardar los links en un arreglo con objetos const readFolder = (directoryPath) => { //fileValidation(directoryPath); @@ -85,7 +86,7 @@ const readFolder = (directoryPath) => { //readFolder('src/sample/folderA'); // readFolder('src/sample/folderA/folderA.1/secondfile.md'); - readFolder('src/sample/draft.txt'); + // readFolder('src/sample/draft.txt'); //readFolder(['src/sample/draft.md']); module.exports = { From f28388f8b2f2b35818cd75e88f8225ca571e6b1a Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Tue, 5 Sep 2023 23:49:35 -0500 Subject: [PATCH 09/20] =?UTF-8?q?Funci=C3=B3n=20extractLinks=20y=20funci?= =?UTF-8?q?=C3=B3n=20mdLink?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 3 +- src/config.js | 86 +++++++++++++++++++++++++++------------------ src/index.js | 28 ++++++--------- src/sample/draft.md | 7 +++- 4 files changed, 71 insertions(+), 53 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 43cf1e3..d5289d6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -14,6 +14,7 @@ "ignorePatterns": ["config.spec.js", "md-links.spec.js"], "rules": { "max-len": ["error", {"code": 200}], - "no-console": "off" + "no-console": "off", + "spaced-comment":"off" } } diff --git a/src/config.js b/src/config.js index 6014d1f..ae25a67 100644 --- a/src/config.js +++ b/src/config.js @@ -1,7 +1,8 @@ -const fs = require("fs"); -const path = require("path"); +const fs = require('fs'); +const path = require('path'); -const pathExist = (filepath) => fs.existsSync(filepath); // Saber si un archivo ya existe en la ruta dada +//--------Saber si un archivo ya existe en la ruta dada----------// +const pathExist = (filepath) => fs.existsSync(filepath); const absolutePathConverter = (filepath) => { if (path.isAbsolute(filepath)) { @@ -9,27 +10,25 @@ const absolutePathConverter = (filepath) => { } return path.resolve(filepath); }; - +//-----------------Validar si es un archivo .md-------------------// +// const fileValidation2 = (fileArray) => +// fileArray.filter((file) => path.extname(file) === '.md'); const fileValidation = (fileArray) => { - try { - const filterfile = fileArray.filter((file) => path.extname(file) === ".md"); - if (filterfile.length === 0) { - throw new Error("it is not a markdown file"); - } - console.log(filterfile); - // Problema: no me devuelve nada al ejecutarlo, ni undefined - } catch (error) { - console.log(error); + const filterfile = fileArray.filter((file) => path.extname(file) === '.md'); + if (filterfile.length === 0) { + throw new Error('it is not a markdown file'); } + return filterfile; }; +//----------------------Buscar entre carpetas--------------------// const scanDirectories = (directoryPath) => { const files = []; const getFiles = (dirPath) => { try { const readAllFolders = fs.readdirSync(dirPath); if (readAllFolders.length === 0) { - console.log("this folder is empty"); + console.log('this folder is empty'); } else { readAllFolders.forEach((basePath) => { // console.log('este es el folder:',basePath); @@ -43,51 +42,69 @@ const scanDirectories = (directoryPath) => { }); } } catch (err) { - console.log("--->", err); + console.log('--->', err); } }; getFiles(directoryPath); return files; }; +//-------------Identificar si es un archivo o carpeta------------// const identifyFile = (filepath) => { const dataFile = fs.statSync(filepath); if (dataFile.isFile()) { const file = Array.of(filepath); - console.log(file); return file; } return scanDirectories(filepath); }; -const readFile = (filepath) => { +const readFile = (filepath, callback) => { fs.readFile(filepath, 'utf8', (err, data) => { if (err) { console.log('error: ', err); } else { - // data is the contents of the file - console.log(data); + callback(data); // data is the contents of the file } }); }; -// const extractLinks = -// identificar los links -// guardar los links en un arreglo con objetos +const extractLinks = (fileArray) => + new Promise((resolve, reject) => { + // const link = /!?\[([^\]]*)?\]\(((https?:\/\/)?[A-Za-z0-9\:\/\.\_]+)(\'(.+)\')?\)/gm; + const link = /\[([^\]]+)\]\((http[s]?:\/\/[^)]+)\)/g; + const tag = /^\[([\w\s\d]+)\]/; + const url = /\(((?:\/|https?:\/\/)?[\w\d./?=#]+)\)$/; + fileArray.forEach((file) => { + readFile(file, (data) => { + const links = data.match(link); -const readFolder = (directoryPath) => { - //fileValidation(directoryPath); - readFile(directoryPath); - // scanDirectories(directoryPath); - // let stats = fs.statSync(directoryPath); - // console.log(typeFile); - // } -}; + if (links === null) { + reject(new Error('no link found')); + return; + } -//readFolder('src/sample/folderA'); -// readFolder('src/sample/folderA/folderA.1/secondfile.md'); - // readFolder('src/sample/draft.txt'); -//readFolder(['src/sample/draft.md']); + const arrayProperties = links.map((prop) => { + const text = prop.match(tag); + const href = prop.match(url); + return { + href: href[1], + text: text[1], + file, + }; + }); + resolve(arrayProperties); + }); + }); + }); + +extractLinks(['src/sample/draft.md']) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.log(error); + }); module.exports = { pathExist, @@ -96,4 +113,5 @@ module.exports = { fileValidation, scanDirectories, readFile, + extractLinks, }; diff --git a/src/index.js b/src/index.js index e693d41..8e03963 100644 --- a/src/index.js +++ b/src/index.js @@ -5,32 +5,26 @@ console.log('<>'); const mdLinks = (path, options) => new Promise((resolve, reject) => { if (config.pathExist(path)) { const isAbsolutePath = config.absolutePathConverter(path); - const isFilePath = config.identifyFile(isAbsolutePath); - resolve(isFilePath); + const filePathToRead = config.identifyFile(isAbsolutePath); + const fileExtension = config.fileValidation(filePathToRead); + config.extractLinks(fileExtension) + .then((arrayProperties) => resolve(arrayProperties)) + .catch((err) => reject(err)); } else { - reject('The path does not exist'); + reject(new Error('The path does not exist')); } - // resolve('Correcto'); - // reject('Incorrecto'); - // allConditions.push('todas las funciones'); - // Promise.all(allConditions).resolve() - // .then((result) => { - // Array().map((path) => { - // path = { - // href, - // text, - // file, - // } - // }) - // }) }); -mdLinks('C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample') +// mdLinks('src/sample/draft.txt') +// mdLinks('src/sample/draft.md') + mdLinks('src/sample/folderA') +//mdLinks('src/sample/empty.md') .then((result) => { console.log('El procedimiento esta correcto'); console.log(result); }) .catch((error) => { + console.log('Fallo el procedimiento'); console.log(error); }); diff --git a/src/sample/draft.md b/src/sample/draft.md index cfa97a3..9728945 100644 --- a/src/sample/draft.md +++ b/src/sample/draft.md @@ -1,5 +1,10 @@ Here you will find two valid links and one broken link: - - [Platzi](https://platzi.com/) - [Universia](https://www.universia.net/es/home.html) - [asinglepage](http://asinglepage.net/) + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet lacus a magna eleifend feugiat vitae in tellus. Fusce condimentum, ipsum in mollis euismod, elit erat rhoncus felis, non volutpat quam arcu quis erat. Morbi justo purus, imperdiet non tincidunt nec, cursus non leo. Duis accumsan tellus at feugiat posuere. Maecenas eu nisi et est vulputate pharetra. Nullam et porta odio. Nam placerat dui aliquam, eleifend mauris vel, efficitur quam. Aliquam faucibus a ex in tincidunt. Praesent vel porttitor lorem. Curabitur mollis massa id nunc semper, non pulvinar purus faucibus. Maecenas ullamcorper sem vitae eros sodales fringilla. In ullamcorper tempus tincidunt. Aliquam erat volutpat. + +Nam fringilla posuere dapibus. Nunc a pretium orci. Aenean ut eros quis arcu maximus mattis. Etiam tortor neque, efficitur eu ligula ut, fringilla efficitur purus. Integer molestie lorem eget ultricies malesuada. Sed nec hendrerit dolor. Sed imperdiet at urna pellentesque tristique. Mauris hendrerit in erat vitae elementum. Praesent vel rhoncus arcu. Donec non dui leo. Nullam erat neque, tincidunt id erat id, venenatis commodo lorem. Quisque erat lectus, congue eget dui at, convallis dapibus neque. Duis ultricies ornare mauris, ac faucibus tortor fringilla eget. Etiam vestibulum nisi turpis, vel tincidunt mauris mattis a. + +Etiam eget tincidunt augue, a pharetra lacus. Nam et fringilla leo, eu eleifend lorem. Praesent eget ipsum id neque euismod sodales. Etiam mollis, sem id interdum ornare, mi augue pulvinar erat, et faucibus magna justo eu felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. **Here is a repeated link:** [asinglepage](http://asinglepage.net/) Maecenas lacinia diam id dictum aliquet. Etiam et accumsan leo, eu volutpat purus. Phasellus placerat turpis vitae pharetra imperdiet. From 50b98adc59b9c1dbb039d911c3b322aca779bae3 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Wed, 6 Sep 2023 21:13:51 -0500 Subject: [PATCH 10/20] test de fileValidation --- .vscode/settings.json | 4 +++ package-lock.json | 41 +++++++++++++++++++++++- package.json | 6 +++- src/config.js | 62 +++++++++++++++++------------------- src/index.js | 11 ++++--- src/options.js | 24 ++++++++++++++ src/sample/folderB/zempty.md | 10 ++++++ test/config.spec.js | 6 ++++ 8 files changed, 125 insertions(+), 39 deletions(-) create mode 100644 src/options.js create mode 100644 src/sample/folderB/zempty.md diff --git a/.vscode/settings.json b/.vscode/settings.json index f0226bc..0954221 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,7 @@ { "cSpell.language": "en,es", + "javascript.preferences.quoteStyle": "single", + "editor.autoClosingQuotes": "always", + "prettier.jsxSingleQuote": true, + "prettier.singleQuote": true, } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3b11422..84a0b8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.1.0", "license": "ISC", "dependencies": { - "jest": "^29.6.4" + "jest": "^29.6.4", + "node-fetch": "^2.7.0" }, "devDependencies": { "eslint": "^8.48.0", @@ -4049,6 +4050,25 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -4860,6 +4880,11 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", @@ -5068,6 +5093,20 @@ "makeerror": "1.0.12" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 37e5c80..14782c8 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,11 @@ }, "license": "ISC", "dependencies": { - "jest": "^29.6.4" + "jest": "^29.6.4", + "node-fetch": "^2.7.0" + }, + "prettier": { + "singleQuote": true }, "devDependencies": { "eslint": "^8.48.0", diff --git a/src/config.js b/src/config.js index ae25a67..7a533fd 100644 --- a/src/config.js +++ b/src/config.js @@ -11,8 +11,9 @@ const absolutePathConverter = (filepath) => { return path.resolve(filepath); }; //-----------------Validar si es un archivo .md-------------------// -// const fileValidation2 = (fileArray) => -// fileArray.filter((file) => path.extname(file) === '.md'); +/*Primera forma + const fileValidation2 = (fileArray) => + fileArray.filter((file) => path.extname(file) === '.md');*/ const fileValidation = (fileArray) => { const filterfile = fileArray.filter((file) => path.extname(file) === '.md'); if (filterfile.length === 0) { @@ -59,6 +60,7 @@ const identifyFile = (filepath) => { return scanDirectories(filepath); }; +//---------------------------Leer archivo------------------------// const readFile = (filepath, callback) => { fs.readFile(filepath, 'utf8', (err, data) => { if (err) { @@ -69,42 +71,36 @@ const readFile = (filepath, callback) => { }); }; -const extractLinks = (fileArray) => - new Promise((resolve, reject) => { - // const link = /!?\[([^\]]*)?\]\(((https?:\/\/)?[A-Za-z0-9\:\/\.\_]+)(\'(.+)\')?\)/gm; - const link = /\[([^\]]+)\]\((http[s]?:\/\/[^)]+)\)/g; - const tag = /^\[([\w\s\d]+)\]/; - const url = /\(((?:\/|https?:\/\/)?[\w\d./?=#]+)\)$/; - fileArray.forEach((file) => { - readFile(file, (data) => { - const links = data.match(link); +//---------------------------Obtener links-----------------------// +const extractLinks = (fileArray) => new Promise((resolve, reject) => { + // const link = /!?\[([^\]]*)?\]\(((https?:\/\/)?[A-Za-z0-9\:\/\.\_]+)(\'(.+)\')?\)/gm; + const link = /\[([^\]]+)\]\((http[s]?:\/\/[^)]+)\)/g; + const tag = /^\[([\w\s\d]+)\]/; + const url = /\(((?:\/|https?:\/\/)?[\w\d./?=#]+)\)$/; + fileArray.forEach((file) => { + readFile(file, (data) => { + const links = data.match(link); - if (links === null) { - reject(new Error('no link found')); - return; - } + if (links === null) { + reject(new Error('no link found')); + return; + } - const arrayProperties = links.map((prop) => { - const text = prop.match(tag); - const href = prop.match(url); - return { - href: href[1], - text: text[1], - file, - }; - }); - resolve(arrayProperties); + const arrayProperties = links.map((prop) => { + const text = prop.match(tag); + const href = prop.match(url); + return { + href: href[1], + text: text[1], + file, + }; }); + console.log(arrayProperties); + resolve(arrayProperties); + // return arrayProperties; }); }); - -extractLinks(['src/sample/draft.md']) - .then((result) => { - console.log(result); - }) - .catch((error) => { - console.log(error); - }); +}); module.exports = { pathExist, diff --git a/src/index.js b/src/index.js index 8e03963..8671b90 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,5 @@ const config = require('./config'); +//const options = require('./options'); console.log('<>'); @@ -6,8 +7,9 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { if (config.pathExist(path)) { const isAbsolutePath = config.absolutePathConverter(path); const filePathToRead = config.identifyFile(isAbsolutePath); - const fileExtension = config.fileValidation(filePathToRead); - config.extractLinks(fileExtension) + const isFileExtension = config.fileValidation(filePathToRead); + console.log(isFileExtension); + config.extractLinks(isFileExtension) .then((arrayProperties) => resolve(arrayProperties)) .catch((err) => reject(err)); } else { @@ -16,8 +18,9 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { }); // mdLinks('src/sample/draft.txt') -// mdLinks('src/sample/draft.md') - mdLinks('src/sample/folderA') +// mdLinks('src/sample/folderB') +//mdLinks('src/sample/draft.md') +mdLinks('src/sample/folderA') //mdLinks('src/sample/empty.md') .then((result) => { console.log('El procedimiento esta correcto'); diff --git a/src/options.js b/src/options.js new file mode 100644 index 0000000..d05b7b7 --- /dev/null +++ b/src/options.js @@ -0,0 +1,24 @@ +const fetch = require('node-fetch'); +// const fetch = (...args) => import('node-fetch') +// .then(({ default: fetch}) => fetch(...args)); + +// const options = (validate) => new Promise((resolve, reject) => { +// if (validate === true) { +// } +// }); + +//Consultar al HTTP por medio de fetch +//Ver si el link funciona o no +//conteo total de links +//conteo total de links únicos +//conteo total de links rotos +//ver en que linea se encuentra el link + +// //-------------------Respuesta HTTP------------------// +// const statusHttp = (url) => {} +// module.exports = { +// options, +// }; +fetch('https://platzi.com') + .then((res) => console.log(res.status)) + .then((data) => console.log(data)); diff --git a/src/sample/folderB/zempty.md b/src/sample/folderB/zempty.md new file mode 100644 index 0000000..3d010d7 --- /dev/null +++ b/src/sample/folderB/zempty.md @@ -0,0 +1,10 @@ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec blandit malesuada risus ac hendrerit. Vivamus eget sollicitudin orci. Aenean porta vehicula hendrerit. Etiam pharetra urna sed tellus ullamcorper consectetur in ut ligula. Integer id turpis velit. Donec condimentum tincidunt felis ut scelerisque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam eget purus egestas, commodo est vitae, porttitor ante. Phasellus finibus at lacus eget eleifend. + +Sed lacinia dui feugiat, vulputate risus ut, aliquet lorem. Nunc ac elit eros. Sed feugiat accumsan ligula, ullamcorper blandit lacus porta vel. Sed mattis dignissim aliquet. Cras eget nisi efficitur, condimentum arcu et, eleifend eros. Curabitur scelerisque eleifend fringilla. Nullam in rhoncus neque, cursus elementum odio. Sed quis laoreet tellus. Aenean sed orci eget nisl suscipit interdum at faucibus dolor. Nam et erat et neque faucibus viverra. Nam eu neque congue, euismod diam sed, ornare eros. Etiam congue nibh ullamcorper libero interdum, ut interdum massa pretium. Morbi sit amet congue ex, sed tincidunt diam. Vivamus nec pulvinar odio, in ultrices eros. + +In sit amet nunc risus. Sed justo tortor, condimentum ut hendrerit quis, suscipit a ipsum. Nulla facilisi. Suspendisse pellentesque tellus quam, at porttitor leo imperdiet in. Duis sed condimentum urna, non elementum lectus. Pellentesque tempus nisl arcu, vitae cursus turpis mattis at. Vivamus porta ipsum non tellus cursus tempus. Cras eget interdum purus. Etiam ut mauris justo. Mauris sodales sodales aliquet. Pellentesque in magna sit amet mi mattis posuere. Mauris suscipit faucibus auctor. In sagittis, mi eget varius varius, risus eros mollis mauris, vitae accumsan risus felis eget dui. + +Cras hendrerit pretium eros, eu luctus purus finibus id. Praesent ut dignissim urna. Vestibulum at dui viverra tortor maximus dapibus id in diam. Maecenas sed pharetra purus, at varius lacus. Ut at nisi a enim suscipit interdum et eget ante. Duis posuere, sapien vel fermentum aliquam, lorem lectus fermentum ante, at cursus velit nibh nec arcu. Maecenas finibus libero ut odio tempus ullamcorper. Integer nisi ipsum, dignissim non blandit eget, sagittis congue metus. Nullam iaculis ut lectus vitae fermentum. Cras ac tempor ante. Nullam fringilla bibendum lectus, quis dignissim massa laoreet quis. Sed hendrerit tincidunt ullamcorper. Duis vel dolor et tellus molestie condimentum vel vel lacus. Praesent accumsan velit eu porta tincidunt. + +Maecenas lobortis massa interdum, viverra nibh et, molestie mi. Fusce ac orci in ipsum mollis iaculis eget ac dolor. Proin a eleifend purus. Sed id magna leo. Integer nec odio consequat, cursus risus sed, luctus nulla. Curabitur tempor iaculis velit sit amet facilisis. Sed ut efficitur odio. Sed efficitur velit a sollicitudin tempor. Donec non nisl est. Fusce pellentesque laoreet libero, laoreet semper ex bibendum ut. Vivamus eu congue elit. Nunc urna sapien, posuere in pretium quis, porta non nibh. Duis mollis ante vitae nulla porttitor, nec suscipit lectus aliquam. Nunc vulputate odio vel consectetur aliquet. Praesent non aliquet tellus, ac efficitur ex. Curabitur interdum pulvinar rutrum. \ No newline at end of file diff --git a/test/config.spec.js b/test/config.spec.js index 3324941..03ad5a0 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -6,6 +6,12 @@ describe('configuration of auxiliary functions', () => { expect(response).toBe(true); }); + test('should return an array with md files', () => { + const pathExample = ['src/sample/draft.md']; + const expectFile = config.fileValidation(pathExample); + expect(expectFile).toStrictEqual(pathExample); + }) + test('should return a absolute path', () => { const expectedResponse = 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample'; const pathExample = 'src/sample'; From 9df94fa914356d999aa6510d3dfb076d24aa266d Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Wed, 6 Sep 2023 22:19:39 -0500 Subject: [PATCH 11/20] =?UTF-8?q?test=20de=20funci=C3=B3n=20extractLinks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config.js | 8 ++++---- src/index.js | 2 +- test/config.spec.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/config.js b/src/config.js index 7a533fd..b10fb62 100644 --- a/src/config.js +++ b/src/config.js @@ -86,7 +86,7 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { return; } - const arrayProperties = links.map((prop) => { + const linkProperties = links.map((prop) => { const text = prop.match(tag); const href = prop.match(url); return { @@ -95,9 +95,9 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { file, }; }); - console.log(arrayProperties); - resolve(arrayProperties); - // return arrayProperties; + console.log(linkProperties); + resolve(linkProperties); + // return linkProperties; }); }); }); diff --git a/src/index.js b/src/index.js index 8671b90..49a6895 100644 --- a/src/index.js +++ b/src/index.js @@ -10,7 +10,7 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { const isFileExtension = config.fileValidation(filePathToRead); console.log(isFileExtension); config.extractLinks(isFileExtension) - .then((arrayProperties) => resolve(arrayProperties)) + .then((linkProperties) => resolve(linkProperties)) .catch((err) => reject(err)); } else { reject(new Error('The path does not exist')); diff --git a/test/config.spec.js b/test/config.spec.js index 03ad5a0..78a4acb 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -34,4 +34,32 @@ describe('configuration of auxiliary functions', () => { const response = config.scanDirectories(pathExample); expect(response).toStrictEqual(expectedResponse); }); + + test('return an array with the properties of the link', () => { + const expectedResponse = [ + { + href: 'https://platzi.com/', + text: 'Platzi', + file: 'src/sample/draft.md' + }, + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + } + ] + return config.extractLinks(['src/sample/draft.md']).then(response => { + expect(response).toStrictEqual(expectedResponse); + }); + }); }); From 4079a99247d95779f13d9357aff4774873865b00 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 7 Sep 2023 19:47:56 -0500 Subject: [PATCH 12/20] =?UTF-8?q?funci=C3=B3n=20statusHttp=20y=20su=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 2 +- src/config.js | 11 ++-- src/index.js | 7 +-- src/options.js | 63 +++++++++++++++++++--- src/sample/draft.md | 1 + src/sample/folderA/folderA.1/secondfile.md | 1 + src/sample/folderB/{zempty.md => empty.md} | 0 test/config.spec.js | 47 +++++++++------- test/options.spec.js | 23 ++++++++ 9 files changed, 120 insertions(+), 35 deletions(-) rename src/sample/folderB/{zempty.md => empty.md} (100%) create mode 100644 test/options.spec.js diff --git a/.eslintrc.json b/.eslintrc.json index d5289d6..dbc288f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,7 +11,7 @@ "parserOptions": { "ecmaVersion": "latest" }, - "ignorePatterns": ["config.spec.js", "md-links.spec.js"], + "ignorePatterns": ["config.spec.js", "md-links.spec.js", "options.spec.js"], "rules": { "max-len": ["error", {"code": 200}], "no-console": "off", diff --git a/src/config.js b/src/config.js index b10fb62..c072dc7 100644 --- a/src/config.js +++ b/src/config.js @@ -77,7 +77,8 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { const link = /\[([^\]]+)\]\((http[s]?:\/\/[^)]+)\)/g; const tag = /^\[([\w\s\d]+)\]/; const url = /\(((?:\/|https?:\/\/)?[\w\d./?=#]+)\)$/; - fileArray.forEach((file) => { + const linksUrls = []; + fileArray.forEach((file, i) => { readFile(file, (data) => { const links = data.match(link); @@ -95,9 +96,11 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { file, }; }); - console.log(linkProperties); - resolve(linkProperties); - // return linkProperties; + + linksUrls.push(linkProperties); + if (i === fileArray.length - 1) { + resolve(linksUrls); + } }); }); }); diff --git a/src/index.js b/src/index.js index 49a6895..0d8c660 100644 --- a/src/index.js +++ b/src/index.js @@ -8,16 +8,17 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { const isAbsolutePath = config.absolutePathConverter(path); const filePathToRead = config.identifyFile(isAbsolutePath); const isFileExtension = config.fileValidation(filePathToRead); - console.log(isFileExtension); config.extractLinks(isFileExtension) - .then((linkProperties) => resolve(linkProperties)) + .then((linkProperties) => { + resolve(linkProperties); + }) .catch((err) => reject(err)); } else { reject(new Error('The path does not exist')); } }); -// mdLinks('src/sample/draft.txt') +//mdLinks('src/sample/draft.txt') // mdLinks('src/sample/folderB') //mdLinks('src/sample/draft.md') mdLinks('src/sample/folderA') diff --git a/src/options.js b/src/options.js index d05b7b7..d65e3e4 100644 --- a/src/options.js +++ b/src/options.js @@ -1,3 +1,4 @@ +const { ClientRequest } = require('http'); const fetch = require('node-fetch'); // const fetch = (...args) => import('node-fetch') // .then(({ default: fetch}) => fetch(...args)); @@ -15,10 +16,58 @@ const fetch = require('node-fetch'); //ver en que linea se encuentra el link // //-------------------Respuesta HTTP------------------// -// const statusHttp = (url) => {} -// module.exports = { -// options, -// }; -fetch('https://platzi.com') - .then((res) => console.log(res.status)) - .then((data) => console.log(data)); +const statusHttp = (linksProperties) => { + const setPromises = linksProperties.map((linkProp) => { + return fetch(linkProp.href) + .then((response) => { + return { + ...linkProp, + status: response.status, + OK: response.status >= 400 ? 'fail' : 'ok', + }; + }) + .catch((err) => { + console.log("can't read url:", err.message); + return { + ...linkProp, + status: 500, + OK: 'fail', + }; + }); + }); + return Promise.all(setPromises); +}; + +// statusHttp( +// [ +// { +// href: 'https://open.spotify.com/exit', +// text: 'Universia', +// file: 'src/sample/draft.md', +// }, +// ], +// ) +// .then((response) => { +// console.log(response); +// }) +// .catch((err) => { +// console.log('Hubo un error'); +// console.log(err); +// }); + +module.exports = { + statusHttp, +}; + + //fetch('https://noexisteestapagina.com') +// fetch('https://platzi.net/') +// fetch('https://www.universia.net/es/home.html') +// fetch('https://www.lyft.com/riderCAR') +// .then((res) => { +// //console.log({ok: res.statusText >= 400 ? 'fail' : 'Ok', status: res.status }), +// console.log(res.status); }) +// .catch((err) => { +// console.log('Hubo un error'); +// console.log(err); +// }); +//.then((data) => console.log(data)); diff --git a/src/sample/draft.md b/src/sample/draft.md index 9728945..87ad1b2 100644 --- a/src/sample/draft.md +++ b/src/sample/draft.md @@ -2,6 +2,7 @@ Here you will find two valid links and one broken link: - [Platzi](https://platzi.com/) - [Universia](https://www.universia.net/es/home.html) - [asinglepage](http://asinglepage.net/) +- [Lyft](https://www.lyft.com/riderCAR) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet lacus a magna eleifend feugiat vitae in tellus. Fusce condimentum, ipsum in mollis euismod, elit erat rhoncus felis, non volutpat quam arcu quis erat. Morbi justo purus, imperdiet non tincidunt nec, cursus non leo. Duis accumsan tellus at feugiat posuere. Maecenas eu nisi et est vulputate pharetra. Nullam et porta odio. Nam placerat dui aliquam, eleifend mauris vel, efficitur quam. Aliquam faucibus a ex in tincidunt. Praesent vel porttitor lorem. Curabitur mollis massa id nunc semper, non pulvinar purus faucibus. Maecenas ullamcorper sem vitae eros sodales fringilla. In ullamcorper tempus tincidunt. Aliquam erat volutpat. diff --git a/src/sample/folderA/folderA.1/secondfile.md b/src/sample/folderA/folderA.1/secondfile.md index fc620e2..f8d09cf 100644 --- a/src/sample/folderA/folderA.1/secondfile.md +++ b/src/sample/folderA/folderA.1/secondfile.md @@ -1,3 +1,4 @@ **Here you will find two valid links: * [Kinsta](https://kinsta.com/es/) * [Docs NPM](https://docs.npmjs.com/) +* [Spotify](https://open.spotify.com/exit) diff --git a/src/sample/folderB/zempty.md b/src/sample/folderB/empty.md similarity index 100% rename from src/sample/folderB/zempty.md rename to src/sample/folderB/empty.md diff --git a/test/config.spec.js b/test/config.spec.js index 78a4acb..f78b43d 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -37,26 +37,33 @@ describe('configuration of auxiliary functions', () => { test('return an array with the properties of the link', () => { const expectedResponse = [ - { - href: 'https://platzi.com/', - text: 'Platzi', - file: 'src/sample/draft.md' - }, - { - href: 'https://www.universia.net/es/home.html', - text: 'Universia', - file: 'src/sample/draft.md' - }, - { - href: 'http://asinglepage.net/', - text: 'asinglepage', - file: 'src/sample/draft.md' - }, - { - href: 'http://asinglepage.net/', - text: 'asinglepage', - file: 'src/sample/draft.md' - } + [ + { + href: 'https://platzi.com/', + text: 'Platzi', + file: 'src/sample/draft.md' + }, + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + }, + { + href: 'https://www.lyft.com/riderCAR', + text: 'Lyft', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + } + ] ] return config.extractLinks(['src/sample/draft.md']).then(response => { expect(response).toStrictEqual(expectedResponse); diff --git a/test/options.spec.js b/test/options.spec.js new file mode 100644 index 0000000..c5f9739 --- /dev/null +++ b/test/options.spec.js @@ -0,0 +1,23 @@ +const options = require('../src/options'); + +describe('configuration of validation functions', () => { + test('function resolves to the text of the link status in "ok" within the array', () => { + const linkProof = [ + { + href: 'https://platzi.com/', + text: 'Platzi', + file: 'src/sample/draft.md', + }, + ]; + const expectResponse = [ + { + href: 'https://platzi.com/', + text: 'Platzi', + file: 'src/sample/draft.md', + status: 200, + OK: 'ok' + }, + ]; + return expect(options.statusHttp(linkProof)).resolves.toStrictEqual(expectResponse); + }); +}); \ No newline at end of file From 9cc2c2172139e54b7196dbc72086905ae6466ef3 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Mon, 11 Sep 2023 19:38:37 -0500 Subject: [PATCH 13/20] errores en index con funcion validation --- .eslintrc.json | 2 +- package.json | 9 ++- src/config.js | 8 +-- src/index.js | 47 ++++++++----- src/options.js | 73 -------------------- src/validation.js | 148 ++++++++++++++++++++++++++++++++++++++++ test/config.spec.js | 52 +++++++------- test/options.spec.js | 23 ------- test/validation.spec.js | 46 +++++++++++++ 9 files changed, 261 insertions(+), 147 deletions(-) delete mode 100644 src/options.js create mode 100644 src/validation.js delete mode 100644 test/options.spec.js create mode 100644 test/validation.spec.js diff --git a/.eslintrc.json b/.eslintrc.json index dbc288f..f801626 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,7 +11,7 @@ "parserOptions": { "ecmaVersion": "latest" }, - "ignorePatterns": ["config.spec.js", "md-links.spec.js", "options.spec.js"], + "ignorePatterns": ["config.spec.js", "md-links.spec.js", "validation.spec.js","validation.js"], "rules": { "max-len": ["error", {"code": 200}], "no-console": "off", diff --git a/package.json b/package.json index 14782c8..a96ca6a 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,14 @@ "node-fetch": "^2.7.0" }, "prettier": { - "singleQuote": true + "alignObjectProperties": true, + "arrayExpand": true, + "arrowParens": "always", + "jsxBracketSameLine": true, + "jsxSingleQuote": true, + "printWidth": 100, + "singleQuote": true, + "tabWidth": 2 }, "devDependencies": { "eslint": "^8.48.0", diff --git a/src/config.js b/src/config.js index c072dc7..e80fa44 100644 --- a/src/config.js +++ b/src/config.js @@ -77,7 +77,7 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { const link = /\[([^\]]+)\]\((http[s]?:\/\/[^)]+)\)/g; const tag = /^\[([\w\s\d]+)\]/; const url = /\(((?:\/|https?:\/\/)?[\w\d./?=#]+)\)$/; - const linksUrls = []; + const arrayLinks = []; fileArray.forEach((file, i) => { readFile(file, (data) => { const links = data.match(link); @@ -87,7 +87,7 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { return; } - const linkProperties = links.map((prop) => { + const linksProperties = links.map((prop) => { const text = prop.match(tag); const href = prop.match(url); return { @@ -97,9 +97,9 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { }; }); - linksUrls.push(linkProperties); + arrayLinks.push(linksProperties); if (i === fileArray.length - 1) { - resolve(linksUrls); + resolve(arrayLinks.flat()); } }); }); diff --git a/src/index.js b/src/index.js index 0d8c660..e5c4d0a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,34 +1,45 @@ const config = require('./config'); -//const options = require('./options'); +const validation = require('./validation'); console.log('<>'); -const mdLinks = (path, options) => new Promise((resolve, reject) => { - if (config.pathExist(path)) { - const isAbsolutePath = config.absolutePathConverter(path); - const filePathToRead = config.identifyFile(isAbsolutePath); - const isFileExtension = config.fileValidation(filePathToRead); - config.extractLinks(isFileExtension) - .then((linkProperties) => { - resolve(linkProperties); - }) - .catch((err) => reject(err)); - } else { - reject(new Error('The path does not exist')); - } -}); +const mdLinks = (path, options) => + new Promise((resolve, reject) => { + if (config.pathExist(path)) { + const isAbsolutePath = config.absolutePathConverter(path); + const filePathToRead = config.identifyFile(isAbsolutePath); + const FileExtensionMd = config.fileValidation(filePathToRead); + config.extractLinks(FileExtensionMd) + .then((arrayLinks) => { + if (options.validate === true) { + validation.statusHttp(arrayLinks) + .then((setPromises) => { + resolve(setPromises); + }) + .catch((err) => { + console.log('There was an error'); + console.log(err); + }); + } + resolve(arrayLinks); + }) + .catch((err) => reject(err)); + } else { + reject(new Error('The path does not exist')); + } + }); //mdLinks('src/sample/draft.txt') // mdLinks('src/sample/folderB') //mdLinks('src/sample/draft.md') -mdLinks('src/sample/folderA') +mdLinks('src/sample/folderA', { validate: true }) //mdLinks('src/sample/empty.md') .then((result) => { - console.log('El procedimiento esta correcto'); + console.log('Great!, all conditions were fulfilled'); console.log(result); }) .catch((error) => { - console.log('Fallo el procedimiento'); + console.log('Ups!, there was a failure'); console.log(error); }); diff --git a/src/options.js b/src/options.js deleted file mode 100644 index d65e3e4..0000000 --- a/src/options.js +++ /dev/null @@ -1,73 +0,0 @@ -const { ClientRequest } = require('http'); -const fetch = require('node-fetch'); -// const fetch = (...args) => import('node-fetch') -// .then(({ default: fetch}) => fetch(...args)); - -// const options = (validate) => new Promise((resolve, reject) => { -// if (validate === true) { -// } -// }); - -//Consultar al HTTP por medio de fetch -//Ver si el link funciona o no -//conteo total de links -//conteo total de links únicos -//conteo total de links rotos -//ver en que linea se encuentra el link - -// //-------------------Respuesta HTTP------------------// -const statusHttp = (linksProperties) => { - const setPromises = linksProperties.map((linkProp) => { - return fetch(linkProp.href) - .then((response) => { - return { - ...linkProp, - status: response.status, - OK: response.status >= 400 ? 'fail' : 'ok', - }; - }) - .catch((err) => { - console.log("can't read url:", err.message); - return { - ...linkProp, - status: 500, - OK: 'fail', - }; - }); - }); - return Promise.all(setPromises); -}; - -// statusHttp( -// [ -// { -// href: 'https://open.spotify.com/exit', -// text: 'Universia', -// file: 'src/sample/draft.md', -// }, -// ], -// ) -// .then((response) => { -// console.log(response); -// }) -// .catch((err) => { -// console.log('Hubo un error'); -// console.log(err); -// }); - -module.exports = { - statusHttp, -}; - - //fetch('https://noexisteestapagina.com') -// fetch('https://platzi.net/') -// fetch('https://www.universia.net/es/home.html') -// fetch('https://www.lyft.com/riderCAR') -// .then((res) => { -// //console.log({ok: res.statusText >= 400 ? 'fail' : 'Ok', status: res.status }), -// console.log(res.status); }) -// .catch((err) => { -// console.log('Hubo un error'); -// console.log(err); -// }); -//.then((data) => console.log(data)); diff --git a/src/validation.js b/src/validation.js new file mode 100644 index 0000000..734bf87 --- /dev/null +++ b/src/validation.js @@ -0,0 +1,148 @@ +const fetch = require('node-fetch'); + +//conteo total de links +//conteo total de links únicos +//conteo total de links rotos +//ver en que linea se encuentra el link +//--------------------------------Respuesta HTTP-------------------------------// +const statusHttp = (arrayLinks) => { + const setPromises = arrayLinks.map((linkProp) => { + return fetch(linkProp.href) + .then((response) => { + return { + ...linkProp, + status: response.status, + OK: response.status >= 400 ? 'fail' : 'ok', + }; + }) + .catch((err) => { + console.log('========================================================================================================='); + console.log("can't read url:", err.message); + console.log('========================================================================================================='); + return { + ...linkProp, + status: null, + OK: 'fail', + }; + }); + }); + return Promise.all(setPromises); +}; + +//--------------------Conteo de links totales, únicos y rotos------------------// +// const statusHref = (arrayLinks) => { +// for (let i = 0; i < arrayLinks.length; i++) { +// const linkProp = arrayLinks[i]; +// let lin +// // // if (linkProp.OK === 'fail') { +// // // const stats = { +// // // Total: arrayLinks.length, +// // // Unique: , +// // // Broken: arrayLinks.filter((link) => link.OK === 'fail').length; +// // // }; +// // // return; +// // // } +// // const stats = { +// // Total: arrayLinks.length, +// // Unique: , +// // }; +// // console.log(stats); +// // return stats; +// } +// }; + +// statusHref([ +// { +// href: 'https://medium.com/', +// text: 'Medium', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', +// status: 403, +// OK: 'fail', +// }, +// { +// href: 'http://otherpagerandom.net/', +// text: 'Other page random', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', +// status: 500, +// OK: 'fail', +// }, +// { +// href: 'https://kinsta.com/es/', +// text: 'Kinsta', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 200, +// OK: 'ok', +// }, +// { +// href: 'https://docs.npmjs.com/', +// text: 'Docs NPM', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 200, +// OK: 'ok', +// }, +// { +// href: 'https://open.spotify.com/exit', +// text: 'Spotify', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 404, +// OK: 'fail', +// }, +// ]); + +statusHttp([ + + { + href: 'https://medium.com/', + text: 'Medium', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + status: 403, + OK: 'fail', + }, + { + href: 'http://otherpagerandom.net/', + text: 'Other page random', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + status: 500, + OK: 'fail', + }, + { + href: 'https://kinsta.com/es/', + text: 'Kinsta', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + status: 200, + OK: 'ok', + }, + { + href: 'https://docs.npmjs.com/', + text: 'Docs NPM', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + status: 200, + OK: 'ok', + }, + { + href: 'https://open.spotify.com/exit', + text: 'Spotify', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + status: 404, + OK: 'fail', + }, + +]) + .then((response) => { + console.log('Here') + //console.log(response); + //response.forEach((link, i) => { + if (link.status !== null) { + resolve(setPromises); + } + return response; + }) + .catch((err) => { + console.log('Hubo un error, el error cayó aquí'); + // console.log(err); + }); + +module.exports = { + statusHttp, + //statusHref, +}; diff --git a/test/config.spec.js b/test/config.spec.js index f78b43d..e2d028e 100644 --- a/test/config.spec.js +++ b/test/config.spec.js @@ -37,33 +37,31 @@ describe('configuration of auxiliary functions', () => { test('return an array with the properties of the link', () => { const expectedResponse = [ - [ - { - href: 'https://platzi.com/', - text: 'Platzi', - file: 'src/sample/draft.md' - }, - { - href: 'https://www.universia.net/es/home.html', - text: 'Universia', - file: 'src/sample/draft.md' - }, - { - href: 'http://asinglepage.net/', - text: 'asinglepage', - file: 'src/sample/draft.md' - }, - { - href: 'https://www.lyft.com/riderCAR', - text: 'Lyft', - file: 'src/sample/draft.md' - }, - { - href: 'http://asinglepage.net/', - text: 'asinglepage', - file: 'src/sample/draft.md' - } - ] + { + href: 'https://platzi.com/', + text: 'Platzi', + file: 'src/sample/draft.md' + }, + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + }, + { + href: 'https://www.lyft.com/riderCAR', + text: 'Lyft', + file: 'src/sample/draft.md' + }, + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'src/sample/draft.md' + } ] return config.extractLinks(['src/sample/draft.md']).then(response => { expect(response).toStrictEqual(expectedResponse); diff --git a/test/options.spec.js b/test/options.spec.js deleted file mode 100644 index c5f9739..0000000 --- a/test/options.spec.js +++ /dev/null @@ -1,23 +0,0 @@ -const options = require('../src/options'); - -describe('configuration of validation functions', () => { - test('function resolves to the text of the link status in "ok" within the array', () => { - const linkProof = [ - { - href: 'https://platzi.com/', - text: 'Platzi', - file: 'src/sample/draft.md', - }, - ]; - const expectResponse = [ - { - href: 'https://platzi.com/', - text: 'Platzi', - file: 'src/sample/draft.md', - status: 200, - OK: 'ok' - }, - ]; - return expect(options.statusHttp(linkProof)).resolves.toStrictEqual(expectResponse); - }); -}); \ No newline at end of file diff --git a/test/validation.spec.js b/test/validation.spec.js new file mode 100644 index 0000000..f184dfb --- /dev/null +++ b/test/validation.spec.js @@ -0,0 +1,46 @@ +jest.mock('node-fetch'); +const validation = require('../src/validation'); + +describe('configuration of validation functions', () => { + test('function resolves to the text of the link status in "ok" within the array', () => { + const linkProof = [ + { + href: 'https://docs.npmjs.com/', + text: 'Docs NPM', + file: 'src/sample/folderA/folderA.1/secondfile.md', + }, + ]; + const expectResponse = [ + { + href: 'https://docs.npmjs.com/', + text: 'Docs NPM', + file: 'src/sample/folderA/folderA.1/secondfile.md', + status: 200, + OK: 'ok', + }, + ]; + validation.statusHttp.mockReturnValue('') + return expect(validation.statusHttp(linkProof)).resolves.toStrictEqual(expectResponse); + }); + + test('should be rejected with an error when fetch fails', () => { + const linkProof = [ + { + href: 'https://docs.npmjs.com/', + text: 'Docs NPM', + file: 'src/sample/folderA/folderA.1/secondfile.md', + }, + ]; + const expectResponse = [ + { + href: 'https://docs.npmjs.com/', + text: 'Docs NPM', + file: 'src/sample/folderA/folderA.1/secondfile.md', + status: 200, + OK: 'ok', + }, + ]; + validation.statusHttp.mockReturnValue('') + return expect(validation.statusHttp(linkProof)).rejects.toStrictEqual(expectResponse); + }); +}); From 31be8bfbaedef7fee615397d07beb226f7e7d97c Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Tue, 12 Sep 2023 18:42:31 -0500 Subject: [PATCH 14/20] =?UTF-8?q?Test=20de=20validation=20y=20funci=C3=B3n?= =?UTF-8?q?=20statusHref=20terminadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 9 +- src/cli.js | 3 + src/config.js | 4 +- src/index.js | 48 +++--- .../folderA.1/folderA.1.1/firstfile.md | 2 +- src/validation.js | 159 ++++++------------ test/validation.spec.js | 56 +++++- 7 files changed, 129 insertions(+), 152 deletions(-) diff --git a/package.json b/package.json index a96ca6a..14782c8 100644 --- a/package.json +++ b/package.json @@ -22,14 +22,7 @@ "node-fetch": "^2.7.0" }, "prettier": { - "alignObjectProperties": true, - "arrayExpand": true, - "arrowParens": "always", - "jsxBracketSameLine": true, - "jsxSingleQuote": true, - "printWidth": 100, - "singleQuote": true, - "tabWidth": 2 + "singleQuote": true }, "devDependencies": { "eslint": "^8.48.0", diff --git a/src/cli.js b/src/cli.js index e69de29..61ebea4 100644 --- a/src/cli.js +++ b/src/cli.js @@ -0,0 +1,3 @@ +const { mdLinks } = require('./index.js'); +const { statusHref } = require('./validation.js'); + diff --git a/src/config.js b/src/config.js index e80fa44..c189d87 100644 --- a/src/config.js +++ b/src/config.js @@ -87,7 +87,7 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { return; } - const linksProperties = links.map((prop) => { + const linkProperties = links.map((prop) => { const text = prop.match(tag); const href = prop.match(url); return { @@ -97,7 +97,7 @@ const extractLinks = (fileArray) => new Promise((resolve, reject) => { }; }); - arrayLinks.push(linksProperties); + arrayLinks.push(linkProperties); if (i === fileArray.length - 1) { resolve(arrayLinks.flat()); } diff --git a/src/index.js b/src/index.js index e5c4d0a..d830760 100644 --- a/src/index.js +++ b/src/index.js @@ -3,31 +3,29 @@ const validation = require('./validation'); console.log('<>'); -const mdLinks = (path, options) => - new Promise((resolve, reject) => { - if (config.pathExist(path)) { - const isAbsolutePath = config.absolutePathConverter(path); - const filePathToRead = config.identifyFile(isAbsolutePath); - const FileExtensionMd = config.fileValidation(filePathToRead); - config.extractLinks(FileExtensionMd) - .then((arrayLinks) => { - if (options.validate === true) { - validation.statusHttp(arrayLinks) - .then((setPromises) => { - resolve(setPromises); - }) - .catch((err) => { - console.log('There was an error'); - console.log(err); - }); - } - resolve(arrayLinks); - }) - .catch((err) => reject(err)); - } else { - reject(new Error('The path does not exist')); - } - }); +const mdLinks = (path, options) => new Promise((resolve, reject) => { + if (config.pathExist(path)) { + const isAbsolutePath = config.absolutePathConverter(path); + const filePathToRead = config.identifyFile(isAbsolutePath); + const isFileExtension = config.fileValidation(filePathToRead); + config.extractLinks(isFileExtension) + .then((arrayLinks) => { + if (options.validate === true) { + validation.statusHttp(arrayLinks) + .then((setPromises) => { + resolve(setPromises); + }) + .catch((err) => { + reject('There was an error:', err); + }); + } + //resolve(arrayLinks); Al comentar esto la promesa se termina de cumplir dentro de la condicional + }) + .catch((err) => reject(err)); + } else { + reject(new Error('The path does not exist')); + } +}); //mdLinks('src/sample/draft.txt') // mdLinks('src/sample/folderB') diff --git a/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md b/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md index 2898335..5a3efc3 100644 --- a/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md +++ b/src/sample/folderA/folderA.1/folderA.1.1/firstfile.md @@ -1,3 +1,3 @@ Here you will find one valid link and one broken link: -* [Medium](https://medium.com/) +* [Hackernoon](https://hackernoon.com/) * [Other page random](http://otherpagerandom.net/) diff --git a/src/validation.js b/src/validation.js index 734bf87..07ad1e2 100644 --- a/src/validation.js +++ b/src/validation.js @@ -6,143 +6,88 @@ const fetch = require('node-fetch'); //ver en que linea se encuentra el link //--------------------------------Respuesta HTTP-------------------------------// const statusHttp = (arrayLinks) => { - const setPromises = arrayLinks.map((linkProp) => { - return fetch(linkProp.href) - .then((response) => { - return { - ...linkProp, - status: response.status, - OK: response.status >= 400 ? 'fail' : 'ok', - }; - }) - .catch((err) => { - console.log('========================================================================================================='); - console.log("can't read url:", err.message); - console.log('========================================================================================================='); - return { - ...linkProp, - status: null, - OK: 'fail', - }; - }); - }); + const setPromises = arrayLinks.map((linkProp) => + fetch(linkProp.href) + .then((response) => { + return { + ...linkProp, + status: response.status, + OK: response.status >= 400 ? 'fail' : 'ok', + } + }) + .catch((err) => { + console.log(' ============================================================================================================='); + console.log("can't read url:", err.message); + console.log(' ============================================================================================================='); + return { + ...linkProp, + status: null, + OK: 'fail', + }; + })); return Promise.all(setPromises); }; //--------------------Conteo de links totales, únicos y rotos------------------// -// const statusHref = (arrayLinks) => { -// for (let i = 0; i < arrayLinks.length; i++) { -// const linkProp = arrayLinks[i]; -// let lin -// // // if (linkProp.OK === 'fail') { -// // // const stats = { -// // // Total: arrayLinks.length, -// // // Unique: , -// // // Broken: arrayLinks.filter((link) => link.OK === 'fail').length; -// // // }; -// // // return; -// // // } -// // const stats = { -// // Total: arrayLinks.length, -// // Unique: , -// // }; -// // console.log(stats); -// // return stats; -// } -// }; +const statusHref = (arrayLinks) => { + const linksUnique = [...new Set(arrayLinks.map((link) => link.href))]; + const stats = {Total: 0, Unique: 0} + for (let linkProp of arrayLinks) { + if (linkProp.OK === 'fail') { + stats.Total = arrayLinks.length + stats.Unique = linksUnique.length + stats.Broken = arrayLinks.filter((link) => link.OK === 'fail').length + }} + stats.Total = arrayLinks.length; + stats.Unique = linksUnique.length; + return stats; +}; -// statusHref([ + +// statusHttp([ // { -// href: 'https://medium.com/', +// href: 'https://hackernoon.com/', // text: 'Medium', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// status: 403, -// OK: 'fail', // }, // { // href: 'http://otherpagerandom.net/', // text: 'Other page random', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// status: 500, -// OK: 'fail', // }, // { // href: 'https://kinsta.com/es/', // text: 'Kinsta', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 200, -// OK: 'ok', // }, // { // href: 'https://docs.npmjs.com/', // text: 'Docs NPM', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 200, -// OK: 'ok', // }, // { // href: 'https://open.spotify.com/exit', // text: 'Spotify', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 404, -// OK: 'fail', // }, -// ]); - -statusHttp([ - - { - href: 'https://medium.com/', - text: 'Medium', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', - status: 403, - OK: 'fail', - }, - { - href: 'http://otherpagerandom.net/', - text: 'Other page random', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', - status: 500, - OK: 'fail', - }, - { - href: 'https://kinsta.com/es/', - text: 'Kinsta', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - status: 200, - OK: 'ok', - }, - { - href: 'https://docs.npmjs.com/', - text: 'Docs NPM', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - status: 200, - OK: 'ok', - }, - { - href: 'https://open.spotify.com/exit', - text: 'Spotify', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - status: 404, - OK: 'fail', - }, - -]) - .then((response) => { - console.log('Here') - //console.log(response); - //response.forEach((link, i) => { - if (link.status !== null) { - resolve(setPromises); - } - return response; - }) - .catch((err) => { - console.log('Hubo un error, el error cayó aquí'); - // console.log(err); - }); +// ]) +// .then((response) => { +// console.log(response); + // response.forEach((link) => { + // if (link.status !== null) { + // console.log(response); + // } else { + // console.log + // return response.filter((link) => link.status === null ) + // } + // }); + // }) + // .catch((err) => { + // console.log('Hubo un error, el error cayó aquí'); + // console.log(err); + // }); module.exports = { statusHttp, - //statusHref, + statusHref, }; diff --git a/test/validation.spec.js b/test/validation.spec.js index f184dfb..b0d3faa 100644 --- a/test/validation.spec.js +++ b/test/validation.spec.js @@ -1,4 +1,3 @@ -jest.mock('node-fetch'); const validation = require('../src/validation'); describe('configuration of validation functions', () => { @@ -19,28 +18,67 @@ describe('configuration of validation functions', () => { OK: 'ok', }, ]; - validation.statusHttp.mockReturnValue('') - return expect(validation.statusHttp(linkProof)).resolves.toStrictEqual(expectResponse); + return validation.statusHttp(linkProof) + .then((promiseSuccess) => { + expect(promiseSuccess).toStrictEqual(expectResponse) + }) }); test('should be rejected with an error when fetch fails', () => { const linkProof = [ { - href: 'https://docs.npmjs.com/', - text: 'Docs NPM', - file: 'src/sample/folderA/folderA.1/secondfile.md', + href: 'http://otherpagerandom.net/', + text: 'Other Page Random', + file: 'src/sample/folderA/folderA.1/folderA.1.1/firstfile.md', }, ]; const expectResponse = [ + { + href: 'http://otherpagerandom.net/', + text: 'Other Page Random', + file: 'src/sample/folderA/folderA.1/folderA.1.1/firstfile.md', + status: null, + OK: 'fail', + }, + ]; + const response = validation.statusHttp(linkProof); + return expect(response).resolves.toStrictEqual(expectResponse); + }); + + test('should return the number of total, unique and/or broken links', () => { + const linkProof = [ + { + href: 'https://hackernoon.com/', + text: 'Hackernoon', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + status: 200, + OK: 'ok', + }, + { + href: 'https://hackernoon.com/', + text: 'Hackernoon', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', + status: 200, + OK: 'ok', + }, { href: 'https://docs.npmjs.com/', text: 'Docs NPM', - file: 'src/sample/folderA/folderA.1/secondfile.md', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', status: 200, OK: 'ok', }, + { + href: 'https://open.spotify.com/exit', + text: 'Spotify', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + status: 404, + OK: 'fail', + }, ]; - validation.statusHttp.mockReturnValue('') - return expect(validation.statusHttp(linkProof)).rejects.toStrictEqual(expectResponse); + const expectResponse = { Total: 4, Unique: 3, Broken: 1 }; + const response = validation.statusHref(linkProof) + expect(response).toStrictEqual(expectResponse) }); + }); From c2f3a2ce64399956a13b56bb80123481376dfd35 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Wed, 13 Sep 2023 00:30:51 -0500 Subject: [PATCH 15/20] Comenzando el cli, falta que sea un archivo ejecutable --- Flowchart.png | Bin 0 -> 178849 bytes README.md | 666 ++-------------------------------------------- md.png | Bin 0 -> 417438 bytes package.json | 8 + src/cli.js | 17 +- src/index.js | 18 +- src/validation.js | 45 ++++ test/md-links.js | 13 - thumb.png | Bin 16777 -> 0 bytes 9 files changed, 95 insertions(+), 672 deletions(-) create mode 100644 Flowchart.png create mode 100644 md.png delete mode 100644 test/md-links.js delete mode 100644 thumb.png diff --git a/Flowchart.png b/Flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..fcb41e3d1192481aa1464fd2287fc9ac7e0e5c44 GIT binary patch literal 178849 zcmdSBXH-*L)Gmy2lyk74M^uz%rwfSm60ArOq#KYTy%*_(rXEz3qI79NA@m|G^r8Ym zT9gifpduh8L~00-UbCv}I0}Z8o{fdsa@hoMZx6!yi&l(NwSAWZ}`4;+>V}r!5MAeJo z%Bct6@4A%Ser`|ol*nRF%BAijSFJCU@;qdGEuoP(aZc_|MzFNdLusC=0eRX2OVeko z3*CF4{dHREVa4s;0~ZGNI_$$mhLxQkb(Zms>(~3IDEJTbc>;y}!v|U0w_b-Jl$G_J zfm;Oj7k(Z*55$B%LC>{@)^FuWBX-uY-q?Bd)gZ`--TZF zFlCS1Ms3#PhR}8~n2H>}NS6$($LTYBDkKQ^xY@mGI1+KjA&!JZvyH4Z-f(#_J0*>0 z^G1Z9_Ws9?$&P5TIri6~e-4zF%!uo%;ZC6BapwJ0bi9tFP(~m2+0+s1rqaK}O1`o~ zBQP+kR_v$$z`(FKo3(G~bCry-lh0{m+`N|itbpaw_ZLDFS(nF7RvWXMdv`qZTlwno zv*rCjW%cy){I8@B#SQhEuo5(07p7q z_>PTBk=h4cKlQL+lK9*fH$_Tf{$RN!n}{NsICPS>I;1_nIKhp1J(k%Ry>>!$Idt*u zovcsRI>^q>vqj{vICE9plY)9|Y(@IiwfTo7g+JHU)jF-|FL5dUS8Z%prdP`5)AUoG z2{{%vNgp`gTpBWo8F*Dj=Cwo|bZ^Yy6mH7R7jBMTD;fJZX?%1t$>)j!WY7!^)#vX) zb_{(oKdr?cADddH39N7paDsa@)s9C`mxRgoHG_v6<6n)LQQHH##Mp(~mFN$6Xa3Vh z|AB$wD=V(X?V239YqV*O!YOLrb^goc`+5pj1I39zdC(NW=CGVF0W3{NEm`C&H(lLR z>;LogAi~8Cd6TZ5fdbz$Cc?`A169c))7c0967Iw|Z(R?Zt;DXFmQeCtgsHTi^qMmBX( z`F2S&rB$3YqHsrBlCCoyB)o8@`N3z0M^3tB7;`O~vo9Q0k3q}l7x^xViQd0=&2J&H zN%X<$PrpAP5%wPcR@{1FXZ3U)#@J`RI|r_H#CtX)zRTytBzx8mEJO_~H4A_5$9r8< zgPH5$=}PtZsSDil$c~NiFKe&|vPI+v@G7{>>ALDsLTlo>3CrjM^AUw|hx^;f%igpl zvX3w{=>CHrEMso(sASIPZs9b>u0>TCuJ0axKJxuAV-VZ8dVTX zRf09b`8JiVH9(N1Zm}8K={~1*TR)q=`a^>37G3kVFyp9#v8eDPkfaRG|7sSo;YA_s zTnb|OQ@rFDvgz6Vvx~-iqulRx%`0R0IO!8(z^m=dYRwii=QvM5Qb_TL&R*a`D{A82 z^Kv5Hle*?rFbANQ2bui6vwi_m$z41M;nXIi4PZEhvABzn) zkqL+HW4O*LQ~hIG?G=Sn;53%`*6_G7inVYHVs8Yp(EnoH;*au$vb5%~{II5e3MQ*i z{wz`2Zj@R(-#=Oh>vT#u!CgHY8rU&46&KX zXaxi4T4|!RkNP-TBi7akLqtj_Bp1@nPDk?FC1?=v`T4j*R??#I2u99~VKpX#2f9~LT);gC#RUBbKF%}i!W5&@Ij1n`+uWUqy-&fk z3##n~c?vedDtZMT-?jJ6nmWF_>8Sg+R-r*w+89 zk0A};>WnFYA^2x#4Z(3uEGg?weWOyYDy6dnkwPT*S%m|8a}xtut;6k~L2d+34^Wv( zZ|?lLWy!7EzV$OxqNmfdzs4?%+duBkIUcZ@!EA}7Hr7Yr6cG9wL>g7V)w4UVhO`=f zTu`;kcUogi9z}idPVn`xh`7ngjV{;W8aMwsx>LMUtFxnJ3Kf$fxbF*#3P;Co9$id% ze>(URbqz{fS5Ci`o=kFUJW)-j*rhqb~C}hki+G<|yYk z@G-vRwzdZzls|hN$K~Kj6mAj|rWpX^ql`x5mKTcO7W?Q>buM+U1htrfo+xquL zu zn>vZo^s)Hx%`GhZ*XJlm`Te-FKlemR;em_GW!8;>1`DXw5%#(yT`t+aG1vyqJKx8s z&eJb@w*hlBN@NJ>zo_b*{f}qf;j=ey7R`nFIoc>=L^(AeWyreT7AG8`DqMS6!f_~? zwErMVi?5)1uF8StTk>GMwPGT{UcG`gP8fFYz73XY%D=>_qc!L0vV+%%hd#;M8JDlO z(28^-2d>8_rz=KwyK$@W4U&+%QT%$|M{eF1he3?RnV|vmehi2N%MVg$8Hl(+RUf z-LHg9*6;$wK?ck@x;gF~-Sbd12(o+0AH1CRBc?Ax|AwIMZUKF=O5r#;`{Z5eq+T~e zjGmGzQ8;3GBQ&?LPG)93w|*^m4lAgCc>Tlix|d-wu(OWDiA3jc40oX1F(Cu@VSe)n z`IWnZ#x+tGG*UQN6jn{~2tN-G57B^))q!G5Rs6@IfBhB9h44fU0%DW{f6|7J!PB$5 z-N6U)3v0CXGC>_YS4F3ps?oeYA<4Evs2A{ zv%{zs+iVJA?$d5t7TAW1TB3vy(qCujsZNmtzQ(7>;#1@*85@`qJfLo|Jl$L5vp5ld z$x`L_NoT0XAC~oUhHRq^=Hj6SY|TWr?lLvSO}I5yDT3q37^cs%4NINP7W`-Bg}(96 zgV~NaJV)S4hp?rP5D7DnrYx3WEoUAp%Y;vP?*^Nwh^n3~Zu?$2nbKw)^;#@~ifA|| zRA^Afzs~_Bo&BLdN!rcq+lS!!*%GWLQ?*sQ6t!NpdOX&!IQD}P-<{a2Hp**xtOoXW zGHXO3jV0<|M=n_GD*CZDQy5`X?P+=c9X_3+cC@Xl4&{H_x6XR9GZ}7EaPNwc&}hIq zVPq6p{%=TAi0}2*bP%YGEj+-L?K^m&o?1O0A`p0%=u^^zZ0@c(SKC?pQ@?n;m>^r; zjJddO(Vi4=1%E`;$-!|$uYbMueOa8uh8%*>5rUQ<*l_?lj}x7$vSl60Y`(m$ku07z zX)+VdosIcm%J(d$Py6m{)l9)m05-oIpU|Q4us}GF+*ag0|2+@Zq3njk;i_|^IW@3~ zh8oMu%c36BJ%0JlT>$}<8567mtd>?toi6-7m5JQv&bs%Lgwt^Ro_wx=)o*@3Z0n8cmRZcE& zt^Et3)_#5zD+tebEWCkBiLH71<{W3aJBVX+zofG88tZof?KE;S`0DAodK$H2xzDiV zbHA>>QOur>3=Jfg+hk{0MBv64{AFHktvten`5`Jc=Ov2#X}RBoyQ8B+)5L`P#WA7h z>`oP@ah}W`C{m^)3ahO9v1{^z*RZP+X)@Ds1Zc496e`ZjoaX_M&I)&nsJsh}Al6Fa zo<1-Y^!Jo*iS6qiPFa7QK5ajRKz+WqX1rwbMyxkz3urQ|{ixJOh8{N#yr^(_@rV!0 zwWf%Ef1ZmDYo_;nJ0I216A$%5*7U!}r42@ARZZ5k{KnWvTXvhpnDKI%{2Ma4Cz9PP z_Y3TQp>JT)f?#9rnm?&0ruL4GHdC4Yy$|U*i$6vqWEVDWknXY5^TtbeYm4mdXuU^&djkSh$9AD9F(9V$k~=|HUs1 zuaQo^7r0D-)NWnpbK;Y)W*ZEyIl>}xCpUa+oQKA@Mpgf9)Sqb5*Ew&$<&Q=8*ApsC zTWjJa<~RKQ@v`p@k2530PMS5pE*YDaeqq-B%$58nWY_zRe|v%V3y?B5MuFsac4+jK z?j`#K5drQu^$A`DZTvA|+`8=gDYWc(nfo^tpn$^g82R7zVo}Ndlgl|@Oxwi zOA}LP-P;+Wm^6|OBCf^#HZT0E|A83^`6hmL;Y7^L=U0!5$_TwSwt+$twet^>5EHZB zL_m(rZj&Q-PW;oxpSXk6eiZ<_k~AJ#(b%fx7)-YDdDMybrS7By8Ou+5>nCf@Wot*oy@X9*)4tX)-e&o{)MYGRb!~1 z1NyCxtd2B`-=tJ156;}la){-RA`FlG?O0uIS(wk+p($I%HmN2Dvl2Is-qU8sEKYWS zHYMxcZweu0=}B~sxGmd{v6nRtp8!^4xSqiV%Tbudq?{O2(r7VoTrq&1x}VSb1Xorl zB(p-8^_3qQT5*UlTF04bjg;Etz$80Uyp7coMZ^F}(l$!>3BA{TQ}#?S_hSv1 z(~kQ7(FHcu;(pObrGu7)=e|>%^<>GC^Ayq28!adBs&O-QPOyc_4^2ix+aJKc4 z(-DlM)zQBHl^YD2zVMqSU3pVV3M)XL9U{$zuH+@$HS}U|AikFegd@HH4Lisseds9* z_j7=_OBCU7=7a;lFW>+81oJH66(Ah43M4KxhqB=~@8xnDaeHL%5ToR3X#ax7l)s(* zk4}hK^!BiRZ#fJ*4{ZZO)?RV40R1Ph)!x^IpdS^N4{hVM&EI5Q-P!-m3%a*777NzYxTKZpTy7FWd>%N-pB?E@C)UTzJzwf9gDhf z`#B@i!NvlkYBNkYr>3D{B9@M)QzNr>7E@Pn4@QAT##)~)VHH%JnG(;>40umxCW2Z~ zJEVtBCF?nR8=Gg8b<(8#;k27!&-?oHHg_n9Ipe>#om#IQU9V*mHM@>ZG48H1rAw%2 zsa?5EG<$0=U((%-&pD5G*aAhb<>GH2pXM5D0{-(mfS=(Klz2-H9~#}5kPO~>E@)?~ zm)_pt{h_ME4@;)6N>0qbzc~}!wqY_8(>71HRsV)?htd^CP zkq^_uF9X99nJsfRz2p1imC|Z>UzmqN%$bZWIu;sBh<`sC8Wc-vyi zGn8svGogHxE6&Ihj_>xemBrw&w-Y6rP;tfyWu<;K#JE1h-k~muaFTy_l6^tt1zcwc z2a(QgGq^n1c4&`Pl$4%|bf5a}%}^tIlB|0GP1JOH~`q=B2qX2`dhbN{t&!x zF{MQzZPGW;|JP&gP>-3uTE30tVK=PhI#Qus$kUW}s6447->R|d>Q9fwLc zQ}UpPr?xD5KYxV6n$0nboc#O_1lz4}riN@+hw%cPWC6;egzk(=o2_8k5nVfjN;Mg+-+&ew|_;L+Em}tA1=IS2w<}DQvA{e)qkY$ za-m#oY+K;tluHAjrLpmG3{6% zKwU&y-!FzR7dxy^sC+n5oUYbu8e0*M?J}4D(wA8!60i>+7RFEWrXuinrdPbAl)BZu z5Rw`GZ$k~g>Q#1H2F(sC5v68|4S}}!dYioXlRh;~* z!4hlhhsCVws;AK>#H@attu?F<@UQFfswMPe16E2LU|J1AuO%D}{K#!4;Y}}&TVpZ{ zAJ*bI5bfdw_tK?NN0A;Blh*2}t%2Q?+^tCn&|HhyHW{0A?qL&9qa~kY>;RJbEPUdr z{wST`S%sVW9H*$qY_goE8x6fcXiS(zrb(N`V-udNJfFcYsu`sYD=k!!O;7 zUBaQ|gQ@>tUzTq$zoK*!H`MiN1$8x5wR+K|8dIz3D%RyAo`!uib@MtPG@ka$(1r+|rQJxSyfp|IfooZ-yk_!kPsYy)XgY5tZH!ygIWz>a$+X znb^F0m6s+u5|3jQ)*a9(=_;1C2uM%RDFL&|YZL9Sqw-1p?XShg=BkO|^J5s2Eju7m zu`AA>BG3C^KfU^30THEj`fK?9dv3SAJ_}CS>xwg|UnK26*9jIY=*@N=h>f-D2(dfj zi`^!qCZBrQOjGXYzdCRHFqYi)Ytk`~mSp z&ifwHx0}I*}m*Q@$uYa6CAn;or*d5OF_!ak8v6o4KF&*=ksZu1iX}On= z8hyYsB1_wDk@2GZl$`vyoID{3?41Z3d6xp?r+>#11d`qryqT@Dp!l4B0vaxB|8}C; z5Ttx1V=3KjFB1l=|Id!J2!)gNEB5sl?&ypsK@lb9%J^n&#Z(c+lic6idjo-}=1!+e z7BhWu|G7yMOEza~y!7oEM^>ZK@TRCO6KM25lv*WNCO ziEXt6vkUuub~)R#yCZG4pby3eO0nzJBg-k}$^8fU?oN1v3p`qNPml2CIMFqx_03ks zBw`BbimM!3yN=iWQ_?j4#IZI-*EvxgXgBs96@nL^BfdE)%>rJ)|8(0VO=B+_CCC%} zfLOqP*bWw3!pARR9=~s4`E}w}XMO9$>ZLnLi2XOXZe96KUpT>?g|m%&WZ7@zWmMO! zsQSKm=?B;nklvGArc$n?W>syD^I|I}YY6(4zWBZgXoB`g@WUS)xenpNj7^o8JEef! z7t|>Qwue`*UWn?9IBq4A0x^-gm0AL<%%UK&=V|Fj@_QKhPNCp|Yj4aG zqMEf5C7q4?y1Xl^^nINZ4Cho;P+BYa9;5;Gxvg#G@aUo&LS;P;k3>hMlhRx5#|atZ z3ld!mMXig}Uo5nD2%7KQwV?nqB^$L|N|YS+bCaX4juinOcL42ZC_#d#^ob-JlZZ)g zjT8<4z+X&(hmP>5w;S(b2%7FgBBc1^axB4S#wcwC11Ul)?B)zMs#E(J|DKYep`q{J zUkHbT#KVeWLYdY#pBt|HGB|i5&LqI6W}#I89#{-$!V1a?ZfwvR+0m!XHUn{~6B#7G zIX7h6BO{1pRZEeRo*AuhHJ4j#7lV5X1Xn;5XP$5v>Z<|SZQUG%t-%1;#;=d_1LhIQ zB1_B3L_Z$Ayt}XbspWOc`3}Z*ChJ4}#dW1DwzN1Q!($*7gTI`e&MoXj%i4CO&sJyl zFVtmJjyD)O`|6$IecF1GoxS9_<=LB|E!1WR{K?=M`6AsT`WD}__0A4F4PUz9tAS-g zF5O5-#7E%~Rmndgr7^YHuKcK1KZwtUwd%Hj>d~hh|SLR08&6`6*Mkyns9o8V7?ai8G;puYan4I)v=b5kBIkRfYls(18xVSg~h~abCzS4&dP}c5gyqm#gZF!vQ;z&7E#Iov0h@lY6Q*>)u zd(o|wsrzi>DjnlYA<+WfsJaCSU%h3S6>1)65h}emr$M}plhUg!zB`0T!CiEg)D2dr z*y4+jx^+rwxZCU0U}3*+LP%YFfG;rwk6hXam{Q2gJmMdbf>S+Oq49&TvVMKNM;~Mq zII!8N+g&n@)1w=Sfk%>)lM^y@HP?wWO1(AgrtAp~8I3DBtXb2!OXe-CHwB2QIlg)Y ze|nDklPvu~wXi+5JA$b7rvzU;PjKNH#P5@}Xn7{}3W(dVKZmP4?9oX9zsl`;a~$fs z6y$(z!)c$i3KV~ZIs2X6hYjPBm&w(O<&b`G?t*&K0EN^A)<-}uuccF!fkC}+fst?R zZ+_q<;)-b_EA3*~#zicQTSIRCdLON~FhG2wGdYn$tXg=i(CRrie4>0b0HG%?Q%Rmk zEI|}rmaOFo&hC=es)8lT`8?=D&P8-tr@P#(vW5zDRm9g?&+Gso8bpW3%mrSo{1G|l zm`UN^EXnCSoJHfD+Sa;iO{#ipZal7L;`aM>8>ThOC;wM{Wo6|$CTuF?*EmmaCeJL%ZEox~Tz%_BP%BKn1q)Y$&8gy)kM>RggNfjXY3^cS(8zeO=Mn45`WTEl zW@Bp`f(@iDj+`#hX`0obEom$cLcW`i>G|41&`Z_<6_PC|zJ$CGu9KQkCEc2O&-Fi< zdL>7K3dvd77Yi7Sx1cCuD6EQnwIWcPA##^F12t~Z9D0IY4bH%7bfLQgQ0tB98+GoZ zF)u17DWm5JCRI-bRB@`LfA~0JqetsOGCivx>{v3XkiPum z`skSVx?2tZgK@-{F@LAXm1@5TcuF_-lyRLO5s=UjkqIToKxGo4ctg5Y;WZ5|9_M1zsho!g5F%R{@nx=Ry3-S&B(Vye$nJr@CXk&P?HR3JNZo zAWB|~Sz8rO8Rv3HscNMPjO4~}R@d`H&UJTD)5%lL@%*}(sr^NyC`+C-F3cPjCyk%H z;6Fk0XAFop>NEz6Z#YOS?PJ!ywl(F}$com`$?29}oQ=bcN=;|Kn zhG}=PuynI5bg@imiOdvXxMl*T5s_yWA&-pt{6MMM(pKHKL# zx}`mlOD^F$oNEJL^_Xo?DnRFj+UBIY>*Qz~i=qIXIrsrUJipYfVcj+*PWT9_>&46G z91AB&w|7;Prts&Zd~EBxM^7ocg&%jBA0ON1x*lKa8eS*X*RSt7W6RFx60?>G>ZLD^3wN$T z`GMfe*qk&WgHm3nif>Qyx(4R28tR+)d+5yzI-c#Q91E9ScqJ)7iYtGe^DKra-d&eD zZEDMI8#q@>!q27@WG+!lDVKTne1!TTW&?yfR7ZvU3onCWcEy~Fq4VgN7?P|e!4rmh zIp|ECaJHJk$Us{;#|bh}e#19n6j(mw5*QdyQQ~>z$z);bci{!D)JRljW+wNAl+etK z#W@uBxeV?<0X5|;Oi{$q%8V;F5!FKptM+)Q2S08d^Hd=W5;*?vr|7R2GxJljl{eAk`CkNu{mQbtBl69^IB>z*%Ig3Dop!e6dV9(c5 zDY!<>rE(pE;PI6+o4=v#0|nx-R$duRwT0C*Opa(3G-u<|43 zn~slRX&cx@u2ikx;8x_=uFo(&hO3r~-GA-<@MzDz@1J;(?fs@-dwO~rU!7H2D0>F} zZq8I#&R$KdC$qDpXFcFj0}0w4&K(q{ePPdQfXPpAfTl=|6sA;XtzWltXZJGRZ+dZD~`UfxhbdkRTYLkKC6GSmSJ;>>+oh3NJqcg^M6>8towKuGMU>U7~noY3< zK#y$Wv0(Z)Si9*hm&%Z&1$e$J?z97EAQJVZ-?)HD2=HlMPg`4aC=Xd7QjuK{ph#l2 z`Zz*~tSTnnGJ6Ggo zK(q)xi`{Lj%$z;~8r=pbA@;EdG)T?L0~l$7rYxmEEmHGeAG263K7GF6^KuTVYj3X& zLj#}oUm7)q=b%;noT%b`swq~;us9WJ)Hn+D>D)wvEYrrxsk2#oz<#LI)^*S_u89e@ z`rdnODzk(-Hdy21h7Ox4tXD8J0i;4-+-}=XH9m{Qu@m4S--n004+9Nw5Y zCnh)gJU|d(5D_T!HanYddU_hPyK1=*+Dxbqj@hZw@B$Qhgp)b13zWXxG1{hUwBP=n z;%%bL0kk(&G6oPV<{!;5dmCH7mGqPY+S!48J^VlhD#y~%(UCk9g37Uhh)%A&X#NDK zQHR{}RbPSSiEqmxuy=J^7;bNLtL2@_f93Yo=3_~}_3+&!GEe~uQ-X?Uke$ZMdO7J? z3i^OHz+x(tQr<73w+3ON_+wC&bWW}g>{Om}XOc9Cv=DDsP&tt>P-?3UnyLT_^RxXW zFe>W{MbVua<6bpiU$Hx{`NzSUeb`(xl-$cRx(BKkJ7pp64b&o#%OkEB&O!T2J_|qc zV7jc;06~|KxBB?*)_A+hfj%E{`!n0_j3#-~@DV6)TM0_n&DCoHQDQyA&I+S~TL)4hs1#jXg~zCsfucK@LV^0_njb@pSQr4%WH7=^n_^2{vefa z7@Nnc;yS0mb9iZ%^i!^M-zdDrlzmNC1_18<1&tbRj?H_*nY3P3!~q-10*xEcXkfT8 z<;mZMd-(D+SUiudGVNY9Yin?NC)n>m)*k_(5*1Ql1V!f^YHeg&d!x?CPeBEP6^ z(_1wrGu@+f#FV;I#$-^8@c~t;Vmsa4H+t!5&A$al=yywBluGU#{_Qs+rl6#g25OOj zr-EJ&%CYdK9Q(priERS!)_>~NIk%WuQFglY3P5iQB(UO{or)~Oog1xh&g9?#tvLQd3-o$|dKpyI&~XPPuL*gbG(d{Id;_Ti!`6;~pMv-`3k>u?(U){5 zj82P2Z*#BUmpUO2vYt)TiPhAtj(;|h-v&T|0R}4FtOWrHx$bqzU>WVsbq}fpyap-) zwV`L2I70(6><@w}I|hb^V-OdGfG(N3+&V1?D+FjMwQI9o5V}hLY}f6Bc15LZB&9IW zj}d_1G)(dQy8_Ui|G9CST?D9BWOEgRcIkqZI8T2g_)DGV-)TeFcDe=j$9HzB?{u3n z?A~_QlHFF|u`NN6=2izV3df+d83LD`h_j$s7}?09Fdvc^ z2yAV$i3@rzQ|nEMY8}0n@6t+n&%JSF7~}+^c0E~AW1(Wjb)2%Eja16|7*y5+B!}1x zgqVXK>hQ9Dz|Mdlv)s2wEwk@0umLRv{_87EEw9d|Wn^R^d;o}s+%=ZoGx?C7Cn}0( zeKG+m2X^@dsLo&}VKg$-Uce#ck}7+5rMiB-`q8F`0k>qn+GMXAY~ym`l0l#;3IxRz z`QSDK0|QV`u!2Nj5cy26AE%z&>Vin}1T6+c3Z7`$+ottSQ1{Xi!A+dcz#z4K@?h_E zB_$^&xV%phA)$lbUxCaw$nH*5 zJ-rs5B=MA`6vJM)5wZHcKK}(SE)*N9%?-URNp0UT!IrCL#B?K{@fflmxRm-}%X*R| zs>^ADDv8L@u0HM?{$ov=4oS(&aRzPA22?=&!jzd zyZ85Nv`lHBb#y{KGPsplTwHThMD}^u@tYmLG|8c9;T%KUsMzCa`5w33xuhe5+n?X& z4*QmN;fEL`S85>L=2E@3X31BSJInvT)9#OsSaEVjxRsXWg=@9# z)5NV(c_oCN&4+QfC_xL6>iqj#l-*pM?V}Tr&$}j$iaPv==asnk60~>OJ((0+n{0V? z4c?H~Qzdbbdw{(ud*9mu_Zy*X-7m3_JV8h3Nk} zmOalcFTLXF5TZ4cAm|`57b*?^oafnvf_M=IhMLVLktOv_$Lg(ga2EfdR0X~mC2Hm_ zTBzlD9~>ejhia#lEZ&MXFmBIz%{i?9+^jnWE?)9#Ox-CS@>xM|HVeAGTW)Jfbv@R) znBNkiI#VJ7FLG562XYgT|4Quu2^p310VX4KgG>cAUm^gwx<=` z*0iGrL`ww1Zid-E0}~O{k%+fAUD79B6zFBoni+5z+852S%<(j68aij`PVeW|QA?Mr zs0nWOGGY@oyaOIDSf*)?ZC7H-q#!&kV%oI^9CQdhyb}I-x&G(4_kgEU6XIl%1V0cvO>jf15Ql zlRF{5>BgO=6?A@EZZzdo^KB`feKEc2a>CsCYMiphomZ`@z3NUjWkgu?wm0`+Tj{Em zb&jr?pJg|LK-MLtgG6j@bpErCOe&fVHL1BqtY>fbj*I1dd`}^0+WEZ6%@4bO_Jw9r z)u~)7JuwFz1-g@Zv#Af;8>(xD?JOJ7ZMEY`;cj}e&urs_*y5LI^i0^YrkxQx5N5i- zO2YHQo=u&)_Pb8;4}5!Eowl_0h2JvyDd}d>eNR?);m~hqF_U6Hr#?S40#b;oLvetWTc=n*0!xy@CNM@6c0ldf))N=mq3^S=ZIC z_&GbPWKlt|2&3*d_Orv|==Np$j-HWiYi7fta>P3Jt>fbJp95=Syy{g_&kwknIk*}q zw0GriP#E(AYIEi0{xEKyAKn(`@$mavA$Uyj zrt_)Da=xY8dNK5B$1lIVkFQJu0XFw%?DNABc#EK}7`teOD81#jVQTZJX>IOiPzt(| zVLlUKzL+Cx_OZLX@y$r#^=>lqncGFGz9x)Z`^fU~9hnPL14$zup=^FMa?H3)CH{l_g2M-1QgY)}eTEJE3gAU%9rH~)6&*|^`{Ybw^(rDZiQb;V>W z3WdOGd6q>qx43FAKolbgCjT1^ftxPC^pMTyf*No?!Yi>7*Nf&q6iD#gjIeK4%Kl@^ ziRmLmn^~=|yG~=?I<<~(E-X(Q#9st1@C5!1NQ~A;7JM!eeyhJ$!GWqnP#tjr4y4)6 zZW%2CF&Q-~gCz5wie}&(4mCZICiBMR^(0)ivNxyA#pXrA?b7VF99#`MpIYDN&xh7Y zL@eUW&9IY4^Yim_AX=(HbW`N7mj%ROy}f#kRHH=Tb#rti>}DJNqV0+UvEgaG?FJ^H zz+2udvb~~TeTMG!z9y^mw$0V8&q;azG7V)DJp;8qZZ;iawwRU7_jN1!Rk_h&*@-8c zo(yVwO_0gF*GruPfu`G=Ij>Iuqe+|T?4Y}zpAjj&Z8}20e{4l1a8f;evE>bKEmbF4 zqVU;cgkjo%R5j#*l=>&dzUCjCwSNJ^qmkp5AKdrWyYHxG)`=9l>7@#5Ef)hq8x{hJ zYx_2*`qw7DYfwg)6UM>XX^T322!-5p*%54;(i@_Tr+cz$zP&lA^MIy9)tOu?i41%t zq+p+q|EF_OcT>jAig{4f*OqS-B}U6c{l;&P37QUc?LVA0y>Q}JC+F}e7nBV2R9$!y zmL&^(_EehYwv$YChIpgvsD&s+Fv8jvk&O?Qm+il4yBMYEOJUNKo!{V<=nS7fV)Y}< zWq~kMd0Iut{;fGiRa0)}tY(t0WoWX?=CSwB)vOm6ql#L`S3zp@*<>@n_^k1iWiDK6 zQQOGzhC3JjIHdEy@$Ki9zKGnFiGRarG$h|YNpc~2=8pcY^c6mmeD z0uYU|MML|SA~5?jhicBK6w*YVM_qgl+H6|6M+-OJR!@)m8&CGK^mav~);R15kW6ZZ}h_s#sGkrsx2l`m? zOL&fzgrCKxyU>ySUti?HQEd=-61c7}Maz|tH_g?OKuZa62fugLu+`r5UUod#7iQg$ z*hYWV(Oqel-UlVnN&~|7_F?@~UM{2IX}YZm`i<}IpDk8|=V*aIW}(3NB<1W=7LI(Y zzN!o0t1;q(+W{|kIE`ll%H)FV&iLtoW*%tgHcu@D<@A49h~fp40_mk3$mKlBq(w7U z^88r&G5GNQw4UOs+}cB9oi*oxGrjIO#^C%3Ky<~VpGbrZa&@^cP%|BdQL zK1X*5m^HSzYC2S$+82A&?#Z}V>H`lh>7+gFzex;X{xQ?; z|3v5&+&cjX{qW_Pe$ZbGD6UXI?loD)8O4&44Tf|S(JHZtLdw&!H zVHoZll|fUbBxpavy~m%HH-8%`Z0uQt9kw>vD0~~RfY{TPb#m&S#-yJNsaxE|o0K~! z{;D9%Jq&uZ#&EkIbDs>#6SP-aJuG3BgOY*0EStFmKmOrJq0)>nRi-b$Le#Tv;Z~1& z{NF_KufR}cF@!QrD;_HS4e2NL72BUNVxKyx+^<`nEP*TnvqW4iV!UH zHrD^Vu@RZ+OC@bNUSho}KHv*Ijp(=e_Ve5+{T65?((TV1iA@bD_ur|C1utO0=d(5s zfs*>Mp(+9zXSVR;6I{0hB4(Xxm;2@#^m4obu?u=YcNHZ%*GbdMCi2kXHLU-f+h9^L zi{DqqB7p7g*7|y&sZd$zeF2zH@~_3nWLYnILoL*ZCsAH#3}8;h#zI?(BdA^@!yr0$ zJ?g3zi~Q0Zhv5oQcGY#0gT0WqH{C24DBc(xEfO{8yZ9mwxk|9XttRuT%gN#w-;9Pd zyA=Ree{un?=-gEnS@7DOkZ#Xwq&k(L(yvzqno_{5!X_pr?v~l<9;;G;>cSPP-(Q%6 zQW(@zG5|Q+V~13Qf}6B-i+c10kBx!DqF8(hV3_87ECEXc9rqQ~@pKR&Tt~*K#fzL? zAEv4h6TvxL^gX<1WKQYw{+y0@(X$9(qCxLB&o%@xe?EblAYz)iY4;uc<^&Eim172v z({8FEOGKtmPW*5S@;YO5ZOTBUU#AM)B_3N)=H7v_X91$77D5c7Feh|A6z~X8FE!ND zE1_WBnG`SMVRvj}8tx;QPs-B*8$nvu0S%(Mf8*ZW|Csp5))KQ`b1pxVu-qSlk6T%U z`m7ZM%5=^{kY(={ulFR+pTKU0n|5v%=34jqg5S8_BU#7OndoJHImPWpD2JFRa!=C! zt+neai!G>hC!p*_j9x(N=*$yb2hKt#>9VQnwrE)v0j^`tvrVYng2HzSv?POKK-M zx$yoJ+RQ+`H3IK8osK0pMbPY#3ijR8PfO}Q;goSIxO6D2f#}N!imJD+rI=Q>XRI9%|hf0R7}8%a?hScNJas>dny|iNRIAp@Ej1Q^0xhVPgo7f*-BKIPVV92w2CXw)IKW!(mjL~zUeFg21?_UJ(0RVx zZxknl_51OPO;6C1B<{CTBKl1-;4C|iobTN9ByhQ~cpQ-TYiaQdDB*GYn3n5Ylhj)s9;QC5C}ol-N8;U+m<%WJB%v(qQ7G12h)gym%& zF4%(~rf6drIkLPRsIr6t&9vWDT4wUs`&!L@mn)@?h`RNXF6;90ypWPkT3nI+?z%kb{B#LwUBr4Wd?4T50=KF3x(3?!ot>WG>?FJsR{(K{*^^YU(RBoVTpz5UQ_C)Zw}#Yv#pg0BM7y z%bku)*>3Tj8|N|KJjs$;zj^q9?GG8fyk{$ct55w19a`@k#(?4_(H?U*4tI7|td{kg zVN58x4&;Tn#S<~sSay4}wnb7CWbZ|p;~3Y89+t*-mW^sDw;{_%mYIsoVP$nII+v3c zU&YJQ`q&JUV)tZeeVz5z`fA@5n)`jDEl?P65-o^P{yn8#=qF)pM<#2WT|={Fb2X4r zE15ooQBVE-s`m@~^aEdZ*h{USh2L>l&xjdJ>iqb$YOUaBg6zdWlBRPFHA?Vq><4pg zYm?(lq%tr66&COX4nxMw)hKFd%2iun!XYP&ChsO7KiE%EF#JrooBis?1ZQqk-Rv%t zS!9&7=y$4m(p{ERFy-zDMOf$qzQzY);~GxA%!w`o2jN{!$C_&lr*QKq8@&c0Cj+au#{R zB>j#)vvW*tY;7`Yd&2y~K<=|QkB*_NsioCJ{UHF0#qDWY%PmBflv9=k_e*3H@FB3P z;ET1WkJnWPeJMXkR=dh|Y-b6NjI&kXz9!5clC!QF*kyOY?XpiAFn>hVrDz>31qZGk zR_L4vt5g2Zv@-4GjAo`1fIFmr_UgUSKHv}(;A8dv(ZKwVD2P>Vs9p>~qwfZecxWQV zV|+BOk99~|`vc%L_mMl?aJEaS6vA z5<;_5KgN+DwcJ$`=k@m9eF5EX{7mgyy@mZIYuuXsQtLveb6L|>zGds|nax|IS0$-quXe$GQqLjlq+d*iTt&Wm@mzuz4q zEd-=97+^^&8+ojURNb@~@@Ku*@EGy7bZd;8_GJ|v8D;%vTIk-2=dPk+ zFZPSLkrg|nLT0)D?XGn#?~7Apc|?F-&Q(3V6y$DeTS0;w*-a_@^~+k}4&kStq{v;B z+CwX5AW^^m#!3e=)%h?t^B)7sWQY|1>V9|!f#_~Bz9J1zj=s>OWotCe)YH~|uwUw4 zX=gUql|kPh<4OCeZow z>!VNrub)?Ok)BXGcH z8lm$`JC5JbvBd-yaB3Zf3H7#a_bd+nl8_0&oA{s&bV-DSxI^X~ckAT$nr8X7h$!ED#H zJc<*BhJM~HI%BButyt%M-Z&m%-Vf41|7<(>B9RuLw$U+~m*oQ2FvrGoYG175!@G4z znmLR;HCvwu3|*$Jb_~?nT5=4JzQVrEeDF>nI4j}est$f#FZ+=`vqp?z&QMIwldyv1 zq%g--jI+hAcW0FjdQ$RL$<^w4lZbv8Ns+Y*kJCO0^K)@VkCfKd`KdEEi5va0HyX9o zsM#2UVJ9SkqjNAE|E! z?@`n*fR9N!_f!?NZLgx^swS;#TF)FPW&O=d^{X!g9r{X$pTju^*WiImN+XN8O?Y%% zTF-`sK7zmbcKiv5g^+dCQ&5R~q?Mi151*v92|kN?WWFwg_ALCE-BV<41k|x{E_o&m z@Z|c{mzsNIi9i_BcYLhO-~NArLoxf(Afk>`E4ins8H?m5j?~r4-i?i3pYZgw${%`U zsmz?MR`)CL1?e88gAGQ0?rlD^STx5&^D1@PxX&@rAB)X#lF#)(yg`M155y8R7{1JSXr9e8ro8z<9HM2ZJkbPP{y$;;UgFM z0yQ?{<0dj+4qaoBk6w-`uZ8+l#K7!Kvo_7iwB@9c&$RWu!?9BO(gYdq+T#4$^C|q9DWuICO!~i*$rQP=TmO4K+YeBE3Xv zAR*+xPXZ3lJkMO$@AG@T`QRnVDf{fR_u6}{d#(G;F3dD`duyv5+N_fV8^BltqcOxd{L8p%7 zp3APlmo>Kn*<1=g>UZ{=tSS280~{(qR^HDc9APLkYHW)`4I{k7D1@_5a=X<540XWAO=4$N}PrX#&aMBhWPKX>LOB(PGtaIpU#V2qE6}?F>{) zxsmI_T>dTpHgvSOB>%t5&|68P5Ec z{F7!^d#_ddLe0|(hj_N~jv1XjR^nt2vD7Fn+#KE5bOwx6^DTVx#X&pRK#7O;AgF5V zcNl`xsQrOcv=MgntKAqq8hE`>o|!2P(BP!(?);n*@Zpe*J;fh2|BVs1ttez=!; zCYlVuMG%3Numwz{(1tSGKu}hyFZ7QJP+pbK*$<^$-t7M5KfZ?mh2LyE7xB z#_N*#L&Rn%iXG;3dV5?jHHGe;<~G0Hi3CA(5XHXeeHnl?`SJa4zS%7tKj+V_R7ScL zQxaQl>EL`aLLXry$fZ>Bstr6CQ*P1^T~J#Gt~vpdgTg}T@xg4X8b8$22VbBVY|%~M zKcD2m1o$4@DXp391_A8@ATDfNqSIgXn4JM^qJRG%&5;fEAOWbXML2EoN1cehkqheV zLj-qRTbMqv{Z8THo6!en%L}94zv<9*kuyWO^z9oz37X?!`yY{0G93j9OJ13=;6k=& zU!Gj%yENOd2txGoP1>)XA>MzgbRK_rwmkoFG>^FId_DqT9WfGHARoX=5uifv=XR8l z)q(N){$t~;6dd*+j_3iqhV1I#Jt(ieq)N4%(MHg?$JhC%(qyF!1u3@x=oLfnu8D+W zN@*o)S5JVpQUL(bu1$~Lp^|D{#rY1!OTkzPXTAU^csGcuqk@l-3+>c;-vV6RmpFK& zF;loix&Kw*ILHfSQnt?d4lQ7{VBKI01156rCJMRb5{wnq=%2Tf zf=laKxM*yCl)p)myFkx(I|@-m9{_Z~pGpt5*2@_ zg-|p=B>rg7fQ$p{XFV=UKQ}rsTrbZ6Q?|7RU%&|I&kUDe02A^ugphN}OYkA%XNF7p z)kVbt#_aQi6DAd*d7v7{$^e&$v2@oCLh3h1rL5_Sp9_S%I$78ONELKVV(?4#*!T9x z*m8i9Yxu>K=$2y_pfEL)7TZsNTp31B7Vr=%a}PM9o`7Z#(%=H9LRozOgl7~$plpWc zV$YUm==4WQWXkeK=)>52^u^lf5RWYDfAvO=w+$&4^ahkK5OR!5>=C&sva`r$;rKzp zq@<3Xg^OT2*7PpK72q*{fbjn9!I#0%dd!r?;6UB}IF?ZGS{($JF)=(v&%pgp*K7V2R0X`F1Zjo)T?LBjSL!{miw83oJ`Ho7_f4rW-2=9N6{FYHOV z?AZyDODy?u^@8%Mfq)RJEi zpb9uHc^jJyT4vI+k4yiN@-D~w`;R*y=F#5W)AWr$JgsgL7?f}6Z6E2Fz&Vb;LGaBd ze0P(ylA=05$4xK+Ql%FpAk<{k9;c5xhV1DEST61pUj#7cwu65W8Q>g;%YVH&8=qC> zpfW~3r5y=RXBgY2H!Q%ep^gIJDN3(75*pC}7Kb2@5G+VevA1L-2)tAO321Ni({5nc zI3OH)b`rpuUEMb^Rb;OPU9v5}mUNv=vE5c6lCxe|0YOXW=+KhQSvm$sN7t7a7DVOK zX0iZ4$gM3y>=2}qCtl96Y5+)lvaDSafJGoVk4?IY>+9DoLO zos`U4W`5k!15<3miM{cWuFu+&DGv{L5CfyP>-#tYQX4dlFSWeUr8~Y`3?EQ7%I0L# zxeC%aromKodw&5ML3F%QSRWG&e4FYszQo}28uk8HWK+gekGb^E&NWDDZT$e=G_mnr zZ2?%$`uwkh*!0O1i87wPn)6^l-+W!dV#k>#yKD#E{>AGijJKrDAPU-MdW41mqPysH z^WPI&THo8}sP|7)gI5O)Wg$jN&9-@(edh1v8jyPR0%Qb8`PwSU$<7X!Dyoa-l}hLO zIvq>Uizz{Tr_Tn1qyL-@I#DY`FjU8gYL1H#{{0Y`(bo4j?_Fg(>uh-x>^U!cPN}8$ zEp>26g_<$aYoz{8#Mm4v-Gw2|=OH+ACAP-_r1gAsS*mIZURuIc)|@WVTd{p2*!pCo zYqze<=mH}N!-=tx+twShQ}uJAAaI(Sr+A$IGJATT$DeG{!pEEzj%Qs4EcznX=vyOF z49K~<0bujX(FxD#OVuVb^R`ui$-TRHwjXQ@K;{+5=17Cq1&MM2nVIrRI}Ip6k~8{% z!>=hZU)^*zLxT<-Zsitl8z%LSc?JgpfhA_-fdR9ss;hrqA*BPR7R~*c{$jrE3wae6)ZAbu1nwCDAQW9qR&!n{0yEn?ChzL5Yx_XD+IZWig zGgLMwbUQ43h4@5ok(6Gx_UUX_*QF3f5|h*iwbAp@a<^~6!320x(IeFn@cqiMEUV)n z6{+cm?$HH$K43fSXCl((&L_;z4VbMPCrke&Z4YF4&3z%=q(YW$P{S&GrLgml5f*n+8<{Uscp9JmkolhSGvil% zn4mW`t8^L$oeDr%lQ$XvU1n*1-k1_mUoBBsv!7`?U+>GzG&ik3Ky!FMu zKI^%#Uo8t3Cr)i0nDsZ|75%Hf-|3U;pD%vrCfxvsZ0FzKF~TE-8!cX}F}>{kzbiV_v^sPM}>V zXL0-uYyIPQ*J#^;bPUHnT-TWjboP+}8(j91BuscRCrZ_2_S4n0%i1ch4X>V(esv)3 zqw1fRY&gX3%F@;fO`Qi1p8s(0k1t>F#LA*&vmnK`(!!v&kN8q0%7OZMh6QKxPS&IT zZcbnRL8ICQw+&h73I265$m!;U<~sZDgAM|pde5x_O~&6p-)Wdux*Oe!f$x>aw@RHi z58CRR%|Dr#wg~(tE+NS|h2J1wi>V9?1?k8nVhWpx$7N28%s@(swgDL1S8EH7Y~ z%HE|T^{NMpw7_?=XXa>eMH#)mu2)m2;){!H&?Row08R%a;3h==vU5*{QV2N%usme| zvhxhUJeLJ3!^!}*DCzOFK3EbQ-43dbptF>-bSojd6jsT9*A7anVEZG|##98O5SwmE z4@a79_96Y?N*@4MXCx~I-9+#ku-RU~K`w9)eIo?@4le7e>Qe%7QZ3I7$(u(9h%gew z)HX#Xywmik2E9K(`4baUw4QO%PgIqUj8=)VSD~$}qr@QkQoFDC*gaIZLox+vgCJ%Ea{5HGoilW3sTVRyY9)Ol(~k3fr#36T*c)_4d4gSQORFu-z12z2cw(+K1`Nnl9eX9TDIIOnSxrkSA4It>lxtx*q1kMIQMUDPN zoOWk5GDTxDYSwW*=w@cext6$&dx_qor&X>)OlP!#oNVIy=y?_3@(bV`p{(hD*(XL3{G z^0O|={XYZR=2^h4nl^gHl9G7nvD=+LjV%+CTw{X!jD~o@dSn?jj+Uq;KTdG$o46XF zJ^qM_@oboH@NAq1gG2fBw!!hWDsPCKUgkEbnd1DpEbMuBqf$-xVepX17`+D zf#=yw9ETna7!8(W#2$rFrJh#c^ zHetb7Pg!TbZp4>Os=;HOq(fj)aAH(0==g5X#G%bx{q}$~ zZ@R5zb?%ML!s5W#2?-=!$x2$B@2aE;256IxVfe;7YK##xsF8JWVygUR=gR43G{2cOJo{T(?&ajF5%H)Kb7*l&!pj#rL8Kz}j^otsM8X2`$3>i?fJHb=zM z$}<#9;xDZ-tx!HjH5cRcr((0|3yzLyMM02c?JCh)T}3T1MoW?KAxEuEDM0&1#A4*) zlf|gT=tW?4!sZx09Jm7bqjI#q?te|!?vvmy@~yB!6$@ynO&n&-*f6aOU#Lrz{VErc zNXMbhe@t3~I9Z}Bt?IC+qSI6n2*ELV`)r%HW#*Pc366_!k!u4+aN(#6i!#_xc3IyQ zyG6lm5XRF*8Wt&4(5lmJxZT)^1zAz9npG}kzQp$>H=!MFPRaON;8h+?v-F-W)V9b{ zEGqa66||)~Z%sk%pNpw7>BrPmqa%SC{rq9n*6jT*T{hO>^LYAbFZf~Hp%+TKs^%n4 zLB=yoi=W<`?IB?H-rhEQ-^v~04fVyVIFHCRE=NqW^@!D^f-o8_?TmGD0J!*QyqkBdb%Tz6js@y!OBXVlFIz3~GEz z(xXp)kyq}b#c)+CWxB}Ef>Z@rR1bwMi<Bzwx-i(uW}Zyd~~wRcXC`W1+Ul%b?oviTph3C@MxN^O@&Av=TDCF4+UqY z@^2e;2CqfM2UDzaQZ8$vBoD!6(@-&mUtew>JQ4sbeps|#ZeAR0PwF9F(U{KBP#^GJ zy~O<2g`%u-^U&vRZ%4!#+a)<1o(Fv;0lr{7dH?9%tY=4+UIi}AydY&PEld$JcoK{= zS(ax7k^=w4$9G1y(JXP5&R%lMmgr}D4$Jeqhct8T_03ua*&K?zeyxT%H>VFcHsgqV z6-hsE8f_JQy z%e<7HX-)XuuCSPExktf{k)4;x_$0^gH8gWM&yU}Fd8_Xg$V+DpY>+d{N_~SW6#VPk zy{C!zn1{^A|JoSEAdun7RcKFO0c7ho*in_A=L#vgqv?rBispJDqYk09C# zpB9Hd73YyxeUooY44r&pO{Ka-U^>`BG#eL>w&^Qa&!ZX__YQUJ9Ig|nwd-nFs^^2t zCydMkK#G<*L~(*VMP&!ww+B;`=nV|B8z;uW6$|hSFP6d?6{>0;9^@*#Qqn%CtK)~Y^b?cNq^^Xvn& z-8JwE?g%CmT~m>0ncVWml?Xe;)1d@+RPr*0EFs`}}r#hTEElz+UFir>#YK8sn%{Tii;EduE(_jVPaP5@XZ$Zl?1O!T@9x$v9k`^a;ci+AHf`-t~j%D z^j%3`+kFyMi>+s12@C%mG_1F)oqU+P-|3A=!y;RowE|*3xM}g%p+9MLJ39r$DAxj= z8vQ!Et;ubZh&c*T2!sNZ+0$+xSC(g#`e35zu1tFfs>^G}V3U(q2RhT=DYssAkO#cJ3X@%hGURG{ho zYFn3-qv5=Ihw>dC6q!UX#~X<|yISlTi-@>6N^#GXO-?g2$J&Vrp&pD0#WfOSi6ecs z7cK_0SbnGql_*pM5$F^{i2)RGdC3Byzt~gxav|WJO5Eod&Kfh`qw1o|e4T@D+81IE z&wh$M%oV(fYsp`Zy~)lz-1Pc$Yi8qXcOOaE@9v`03c(h6&OLeXuJxyvMXg9reWaEu z>;9??WIoDo(9X!V6{tl*c@@r=!0rDT|ebx?b$(&TKIM!two`3n60eLp!kK+H*et==i~P zoO`+Sq`PnNnkx!9<6_25Hd0$uS?DQg{eUU2zFA9FYhiZm8u4K^HCBO7Cj{h?o_aVPXmd^RRZ3Y%+e~$#%ByFB9UXBCFVI>7VDlvxF!K^s?xVU~ zq(ps)qy|;+{PyKn(cQTbb(!Bv_GPfX%U?(}I?L=DW6UG3H(C-~=3v2X959jRkuMy_ zqfz8$5^FWE^g(iD2%WGe#Vo1Fu{v&RwUS&*jKsQIuMC$|?28j!L&Fm`Fou0IiHe7&ZI{B+nvBB#t0gGd_g+8zCAfG5v70M8x?mWDi7Q7EXiR*bib9Fh+W_*ni( z$Gn4ge0dR0Gh>q#KIYoO1J@V{h#VJB#`r7kZk`Z3b zeP(_f`9MZoi+O#%vUJi}hU#h;Q^JfI?^FRsKa7xPU@Q(lsLZ8cCWLIJP60aa5b8FTMO=*V zD@_%y{R_}`g5b|NGc+Grwk80N(USG_;Jond9^FY}w$!|jlP;o$28Iw@B^QQhqDivf zpP=^2;#;Y~f(0mSh#g2s;RVSWz6`j@ju9=cW`>IwDL_7Ew_AW*)T?u%P?ItAfx zHL}J6(JTDi5+`LEz}Au>+T^g-^BxTulGmqU%#_X3 zLGOe`GeAE2opc%lSB}5Dj3$*jwohnuR`U&|RG`;Cpu!1)j6MIz+9SI6Ef>!SK({~c zqI=L2LJyNyrXAP20&>R6*|C`^RHFBf`eami^s(Lxg>*k-9wK0=pWlovd-L`~@#Ziw zBv5zOyL|Gt=bv7 zo|-;M!z${fAFPKZW~d{SQ*cJo`}0;mkV6Auo8s%3L7u z+-4t5bM!9S4DAPvulY~!YeEu9rcF)JAU818d8(t-U2b_0c12~_Gazt&4Xr&Ot(Zje zkQ^a5`f!t@hp%KMllJDQ71hy|FTD?Mi~E>K*?%bmZ)3fz=B6`l^*tZSLmb zl zrWv9wCtg6A-|0BsV;I0(@Ob)IuW+Hc1-dF49M*2QX-0-{FzR=;{$RX&u)+|0ZiCal49-0cWm4<@jVU@)1kI#3$BDH7@NK?5x_z_0rt6fV;1d5#$o)&sZ?Wa+-azjF_IXx~8i`e^4rJgiR zp^sT^`3);A4JRwJc?q?`bE+SMFd$nPNWo zz6LD>K_|0apXzR}8BXGd$p(RKIfPEv;h^6`=7Ti!TIy;U@>+78srp%&^ZMgiAwj?; zgqbEn+kIk=m?z$I!;@zua36$SwexJg6IQ~DaqX*>R=%n@S`(M!Y(+r;9nIq@@Ed-C zeRW_gbA$g(RymBEP-fTs8I>j1u+|iSS;P1|nucuK(4EbR2nE`+^;R5cB>4c1drGx| zNc}yBKgU6>mbH2qg;q#f$%7|WxCfl9U5X@T$S}{f1qtaVS|>Urx+nT2LU^9Hz-E-B zQYxGHcru=(ts&k$bES0S+lEUu;W1px7)4q420h70GlVN(9VX@QM_;?|=U89ei}ycY zyShG{6;cCav8%IWH)Ijiz4$M!8W3<1Hn+)90^K_7Ft)TURgzqrqIvJK_46L;1YoWl z5+DUOvRzVW3B6qFK4;9zBv@qazMa@yJ9z{~6Be5`U zA-R$URz{rvE=8_s0da!MII?$-9D`YFR)FA*XPz1vTCm zG266aT`;UYBfbK?`tEJ`DOjh5uM)KgS)r$qRw~$PK5_LR-@>+_=%_v`7nuq^%3~^+ zjmnHH6ME~IQkw;10yCeXZ)E&>(o10eJrwwZ`Rzm0NS52fLM*$G$M;7w=- z9Jh^gjcKUi&3s%IHgp+*1!c{e;?xoONf2jROdeB(KN+YSec)1S0)a&Sk=rolp{B)o7aVznd7)=dG52f-9|3C7 z*!I^idWc&>Q1cZzri@mfFxfaxQ|d;Mu`ayL9lQ+8b2}7O@gIAX6_8yQAfhG@uGzk& zj0FDAR9*WziyA05OQpF>L;Z}~_BNs4e}eSTAJFIjoOHoB9Q^yQIPumI{|fbP9q|7* z;{UTf;hp9#Ms*^0!=_R;deNbx?v6juu_2ZUpw>!E$55{ zpf533X6xdY?uaKPl9SGzNNUe>$5l^{dN0)LI@0dcI=0;znzVKckvcRXf0hqGBJBa| zwcKG&zH{Rmj-yE%uzf(w0|Zu~D>2FG?!pvq)H`64d;M;_E7=e@c&(_XjWkoFX{=4n z|CvG0vo$m1`W-Tdo~t7tB4+&1b;1dl1qUU6jTQP<6S~}8#^f%0SLTS-%Q5)lFSEoE zsU2#x%#aheCH=Se2Uf3 zs=MRNnin?g8}SpQT_%@;j@zlD=?gm3atV1oXL$ckJtA*NX9Z5wu`i6pk@k-2NZi0J z-Gkv{$tmZ~K`(SDZtE#OMcDNBm1br^5$F~>dTs^qdByMA(U#K^I+H_cN}$AyVB&O5 ziSIk$ObI>MG``+x3pV{>FV5U_m0&*yIWJ+Y%YQNBp9d~Y{G}MJe)D8(I?wjQpO4+W zvHKS~LEVIfZj#HGs!XPpVxU8_M9PKb%ZANh-95|L88Wr+$Nw5@8DR1z|AY;_-;<`# zW77gnKg?E07?&UXn~<6b)BpNi33jn(Z2v20pQ=1Am>UPZu>>f&Lm9b=8-)?F72lQI z4Wkbk@8oPN>Dd{CJ#c-qCI4$~D0d5XqxqKTqbEnpZ#cwH4loZvvQUe$Jv^Fk@-1ea z^RN%uV>61!+cbAR1l~VbEoGIU337Y>ud^{N4tTJtZwVU7st<$6Beq3mI1xV|?Uw;q z(P8ec_<=*QyIH?L!)8MLRIq*Sm;KwAqSYp+t!aTcG#nlX$hNVdj%L{Q04Z{ zQPv@Gk*juXDG7TH!nN_g0x)j|RqSj`o_ljWXFTke9JLgs$z@UV&ix?qM}|by-V1hp zMeYN!f!*l6J5uG=22mvep}#QY0;Ez|p1vj<2*59mUJ0dC!sV&!!zlf2pg1O5H@!2-5C4}Hpobx_i5%Fe6>ox0nOvsS@OQgW zJ?VYuaw*K^eUwZlZ*35m28bKb`~prU;I-XE8FZ3@RRr1-{Q#}DBOrU2Tp4iJhDc{{ zAQxkzYIpPJ9B6)czg(EQ0l24her&Y~kl}0whiCiE+x zVc|Yz^28BbR_Q&)#7^bEv|PdmxVk45X~VQEV4;sgWJ+thnX-X~HPb9T1k_&7$10pK z&W_8<+Z@my!3`7#p@cRyCbKcG@BeyyVcu@W1ZbZ}!3$lIt;2fO6ixdT&|tQut0_Ud zFR=g0$=lQX9$2LwzTTy>Z~gL9h(!#;)djzzwgB(wi)JV2abXxG@O%7L z*4bsbsgZrL|w2h+OXfOuI?TcH^Bes4h9KB_1mus|#i3nYm2EG;di zAM8_7WdbvJf_ux_-c>&s%esqhjbyD(DX_gR0jxzxQ1CilAV{a-UI$a~QJ})a^fD)N)A)f9L|VbSd>~Pop_lXW;lbn2 zp{n6BpevBC7|U1E!oZP+go~grv46E6OKehldM zzX4-OjTCYbb({ssQK_dlN8Z!Crl0qU{;j)g&q0o-h9n{OKXX8>E|1>z{C$sAtqt%_ zS_Weg%YZDOGwW1hcRVOL=P7B$YQvHs2?$cf3?$;#R0L^Dp+FHRD(lZ(@6zJUfX4{5 zGshJRgj>r!GN?~DrE-h)OueF4Knt?nHd~-m6#sK_%3a)*25FcAfl03`HcrrhSqHM1 zpT zA%VF$IiF(9eMjR>fd#~P&vLl!}z!4QZ=>akHU-VUdQ`jC$J$AAds5_lAk9IyX zuwN|*Y}^^SZpz`2u!&f8WK+&MB0cH!MiuAq{c4bEtHN8ESwM(3!os+BVh}d{=8U;J zu@6!ZW2=sMYC2E4`v!1fspNWsB`9EWeX&g&h!I?c^zY(<<`t*pEgiPp2p>WzS$?jH zKhKG6;E^XZS}UkMP}o31sV7q14%+)v%=SRl*^{rsc|Z3YmvOW3J;>q_`PFz=4G=M#b`QmUu+|v9D%uMKD=dh=Mp<5>cF zBaZo3jFbvxV`CdaBkdyRi;0=>Zo~wjh<$QEG+J>CkTJRYx<+_8H?OD!74iLGdsh-m zU&?2XrU*AUuryMB*vfT|A9#?N;^%#OH08W^+3I>azc3`9$>edC5%ZV(0whN}o1(a| zT{-%Tv3pn~gJy~`B~#X(A9Qx*vWZ(I0+aG=xh+XvCLtVB#RWl;>0>e+AVE7{;u0$& zG9elg;E@D%<}(A5Z7|xpH?Zn5`1*3d@GUX}yq91BYNPeKDrCrCy81OdVljok=BR{d z{15gf?(cSQpOVaTfb&dgU83?QaG!B*0tH?^Rb z`PK;&Uwdd#Z4aI2Rlql63{b|_AcI1hSV&h#;!QcfF9h1i8Zc@>ndG{jo>b|4C1JOK z{7?(H=Oz=qTCc`g+`h{8J^q5%O|xQKRUqo2-va}*aQTY4a3H3nHbDPY-~B^l_}kaXPfQ z+=rq85YGx=Ssi4o&{Z9Ivg2cgd?!qLctP7eW+V%4+UKJ7$48L9&*Otx0L z@^0bHkPEBt6K{zNWmFoxMFn$7G~Vv8vT{_cdzxA9biIQwu7@OoWjKbWaTXcRfdF=6)hMx$mgQC$`!s{wu``sTFQXl08Ef{vVG<72=|HT6DArx z`KB*mPDkDqSIy^okSD{#l}=q@y_35yQ?*LSja%rV3ClS^R$<|*uQP}$cN?m1q9TB% z-XTuOvq6LL6;FiSE(*CRM7WeCIDJ-0k;tQs4Z{HwDU&KbtjyBIDl|>CLXbW-ZM8hP6 zov_je$Ehp5ua98-rwb}?Qle&6_le~;@;HXD4nw1Y5uuw7oXByP<5iGt`Ni z!ikvi-z5rBw*!KCf3tqCA1v0nbpBO^kr~3Z;liaKBGK}fZsoUo%a1mTCb{SHrSxAi z5w-B?Hf%AnaG#WGa8Mr|;n;hSquoCk;!yByL1fx0fhXHa8c+RjOlEcv*xsn&b#56A zOE`5oO6IgGvIJ6QQJil$YHA()!8_P_`PqA2NRIOT4Nn!FL8fE2yfS+mE8efKEn+jS zzBpX-ZNemS76xYMTIaLIwI)r2Vk>Uiv$6_m)nSOuk+57lS3OW$7L@U(pa+3y zcGUH^?xBkb;la;zu(OhuZgasvN-#yn=r`wRGq379AF%#` z8I~B*ipQ~ki$U!D37CW(_8E;azG+xFl8_pi@br`k+wcjVk%7{5n44Hcod<@;&wjC| zK}HuNqpfyC^rF+rF~Gfl1;`S9T48-%VIoFuZmhhC;d^L@Hm`8`WIiBPrz`LFFv2d{ zH5jlMx~(KMB}7cKz&)a;S*An2?&SLz#98N~5UqI8({(7+0u6{U-_DaSo6G`9X*X=k zbsf!J&CxuNV{j|Mzip!!5h5}KnDD{}{qYvN7cx^Uxiyib%#o(m)kGV}0*0Pi>ap@9 z1PAA6?i!6CL}8$H1Q&ch#A}=@W&Bvm&hpHH-q*;deZ>GPHAq?Ih6AnYmOb&mFs1&+ za0uGJjW8FF%CNA$E4df|pWi$1YQ%HtLDeUrIzf52FTbk7v97ALsqVZ|*G3e_@Dk!( zac$LKf|F&evI`vy9IfEX$-Vp`)thFc70{0-!$mU zKs8k-lxpje&qc5e*63xktck<5NLw)qizz7gt22ZL?mq(412%LVglvH-$bTmp_ReI z9t=Q8G$}VvtzHPoroH|3JD6{20Z-)P)rq4J*N@00DIoVIqT>U!oRFZ%$UtBJ1;Ss0 z+uXoRyy!BU3`Q-cM7C!^yymfuv5WX!v!IokPv!}|xHUXPHFLX6&2SAUQ;a*;BEegk z3{4{kJ&|YYWnmhj3CsJ=e9R4NimPIMJ$Z3g^9YR~8uBM_@V$MI)vIzKj5_l(jH>LL z9*u|6O=|_N>hRR}0GM>z#cTKLMlz|H zhM(kKjI*cu#4H8R3+NOU#{Vs@bwOi@3x{{YB`!%N}R2wTme8)QnL}8C< z!D`pq*n11i<66>7Oaqp+feYxiiFjn6y?X-#*?FdR-g|qQwIJ6a_jN-V5bu%%3QQ<= zrs{CeVOd;mRVVXYRz}6)7eLf2Y;M!{4U0Hw(h~p~&fH!QwdEAnF&wxw>O2=9^B2DL z82bF3&$qh`jc@!p2{@+4MZryK8IGzB>j4;W{ERR(o~XtaVv0HOFyVfTjxa!pbpI+|^xF|EFy*ByM`SG6W?MpDgks%m#OplafX#Fg zc+yu8unqrs3A@WZ)^!E1a;Z19WQ{;$d7;ME_!k`^9*2B2NuaX4WDH+6ZZYa|BG)1P zVJrlk{&f+zP(>gmiH(G?p_hCPF6kC7S=kwE z15Sa_EsseKjY^Ru&qgJsrPs_iW*g@*60CO3!|nwZZ%aJUjg;DvS__n)FnZ6)3jHUM zE4B#|g_A)SCtBk-4xcq%f5JUEUbarp>Is`;Q2U2Pu*j%3wnXw#C)7&aza!ko;b6N} z%9ZxM+Go0RZm6cT4w7R6J6CaY2cQ$}`2FLvsNoU5>BbiQVmwg2>>O!~#76VTm$-g` z_PBhXCOXnfPnZwRa7?=c3a6n^%4`(tPTS!~HqqO5r%;-AZ&=2GFS%XQ5TCoMw{TvTLot z{W&ck;G+MG5GyxwDENDr0fw-6#US4b1+Zt6wEy^Y#*;(N`&Ko1Dz6k{Z0Tc|TTswa zhpe+0lw=)vwAL(+PHY8H1n*C$^`>$B)0)5cF)H@dJOvZ$!fp#pY)&!*z-Wv{}0=fyWW|pyAZhZX>n8BEv_ieULyl zNvl|kdz{tS;@L9m$))}9GkU!6BKf9nrt>y^2C!!wbkFjCo4gSg+0+gql<@SAf%we@_UyBn1Q z>^Vp`Pk!MyqzJpaJC9xj9m5p8#s00n)}ro-wKotJZfHSx9<|qRJoLOVusG@sh+4Q< zaR9f#SLItrHQ4%ak|2FL6ss)f-5W#U^eyhZ(kZ-lLr?+;hkt)V5@~rX-hWo;tlI9v zeI|`@u4Tr~#PVNRjycaZ%bu!Yoo( z^ji}lcID`wCD~_8*2N;irtdK;y;_ExzV@|EYr)}J+R5WL_-v@*n2d0NHG1QzI}*W_ z5W&T6XEiu+Y~)OqZIVB?%q6MXUnJ_v>(&!$6R@2vNuK;SgFl40psR9@%F2N!)>f&X zQ3uw-pX*eY!LIWWIjd<;Dk9Wvz%Dbi8W@9w5O?fSh~Bp=;F&>q+$o=}Co$WWZ9qI4 zzC6_()t!`3>hbNpi&g&7Ut-6&9nosP#dM@OVg1mQq5OCpa7as6(gU>jS#~@VDpl(f z4m~_FJ`Z-3S0J|vcc7Tty5}e>HDWnk{W>-!Ja%QVQ$u`|pR<8jxU#VUif5Qo37bnq z@re1GX0#@pvN9Vbb0ub&gO#-ril~%_gMwrGkokfo;JF3|jyx79;mQO8%`b-@^)F>M z_NfK$gg<$lpoqxmV`~ouPi(AU4f$@~BZ^n|zvVKbAGzp%+jDmss z185ELgEp0m{>-e`^RMh!hv}k+NXa$r(;b zl2Y#EGF__uhncx5hiIlr<-Vb^QN@$qd)0E^8{dDQCK?(Yf8Mz#zbW^ggsOk(WShG) z<#9?@wh_m4Q(He^)hne_*~wYwh$)r-lG^e&5@s(mvvw=zc0lN))2?PA4Un4D`OuI# ztC;=ECXg5Qd3?A(rXW7WdK_QgruaUK0^6r%#O z7>Fu+rrG~JAm)y*n~ws_rr0#ai?+JIC|$f&taZQP%(YifZ?+{5jf57~k*AtmRZkRT z^YTr5`-Hkxixc?8JZdTR0XnR3H!) z{N?@m?)7y!KUi(ihlP3p!8tyjiQ*zj zy|OWUm0&^Xz6ErEp&)UNfe;eI8zkcHdZfEJO))b&mesH{;AF%!nHNr9yiYlG zVrA?dH9(`;b}+g{82boh06J(Uy=bvBtp}ro_0Jq=t8WR^BXfYRJZSizIs2}NTA^fT z`-=IU6M!tNG;@NCdn@1>xM(l2ab*A!XvLP?XpSGUy1uzr>nBh57PU2Dd7jqrhe^X=$^xlEUYk8pM0awN0*ki9t^tCRW&NJz$@gurGg})%XEow7CA!!Q8 zY3~zPeNa+i)FE`~MroRykp^pP+OMWd>~`?C3kl%{GeRpo)TooWGR*dOvTq%5?bm+f z6X`iRu4lk2Odfd^kM*_)I3YZf7lJHC7YvBE79m~PBBnujj$oT0U$L%+1EplwKvt$^ zkgwaVLHD({O;xfF&pC~Rm+JIi&9ZtbO5$6H?gHhOjx_vi|80On!R2(VWa#j3DT~g$ywL_dS0$(SO}ai2iF2ucc5t& zYK9__N4nna4C*|NCQ}^0m}2#Z-pO>1Ng+mSTO!-_pSXV7Pt^j{!HR)PS}K>569DhP zQCGb76Ja4=P5)t#3_R7_50&2CH313=aa}dUR2MGl9)u>S<_R@XF5r+^2et5+;{+$G zfY%abtW$V}r&{PA@h*Ht#C{{##@+%qSmwT_#()@O7U3QCt{tVl`yH45;`_A2ws>|w zkup?PIfg6?qKKC+KFR4SHTFHI+E<`611mITkroC)4rQrFsrrC*TgtiTJAxCyK|%*E zuxi1mKj8A^6}3MA7@2WW9=ID=0Q@Z=V`C8Voj#(yxPY?n@y>;xax+<9m$av=At3UTCTFw9*hY5i#3W%R zosf7+<(-^A&Hzt&t7tn3fNUlEV6}_Jv>-N%DNyN&$5rnWZd~2x;TnAXs*!8H)Xwmv zXE3LfiaCLcHZ1iK>Xx2L5~^oKGml(<0~G^<0?CB_x0m5>Wr=;-pu*fCran#GL|@=A zXHpcGCk_wz&ou_hOT&7r@Ewn4HBlZ$YmfRY@F zqV8M;w4U#r_xbL9?$294&eI2B*WPQdFz1+Kj2Y{}m>tw=7aH)mJ5Y}j*>hNI;-S5E z4?Qd%-G$ML7+EvE_(3y27Qi>$hHt~?gL-2223~nuC-cpFRwqo8p46yHnpNebUZ)G6 zKwwlMm$9O)0^*gJxi_tz-9xFd%&)UTp}6)=SbY13g=<&R4{{B@Of?DDII-uDr-_*0 z*2@)3ixqYYGQqarTAS7+cbh8?=M{{B{yexh%>Ga20)`9@6(-(bmj~Akjh--Mh`N2A zkI~;J#GB1=;v*{|Y;d0N#NKx8h~t)kS|`X`Q;`1+y^QAvn-|+HHKq(N*xK6mtIIsf z7cj{CJ;r}+IrDCmL2o}q$3P61>pge?`tXuk!7!I`w~itO^8Hzmg0OZu3h~~}ccX?^ zi|P($?CTAigfg251W(w``@ykLpLH$*W^5M z(=mU~kAF&Cj-#!2u7u-zy^R<~Vn>1OyjDqRR%3gp_1EQ!D3iXI{2dOaQKnUI6&Y-h zrgrx=#dCN8T%B1AgP3CK30^n1zhT~mN}e%ck_mp}!~f9H6tKrGaBLwkcyXvG;tEZXf2-RRadG%bUJ00{5XSepI*DX(4D0dbD&f*HO zBbScwM7W{Dc}D0wBzEmnk&`tPZS}w5Gf9P~9Gc@#FW-AxwZICVMjYN5`zc{=+-F%P ztCsWfnvzjWW}hx|RM(2+CL1~Xd)KL}3($!EY8TzjC_eo}N1Ea8X2I#q9;ey;2$c_x zBKhP2@?9}GDsn4PlTsU$HyAkE_A%G;#TJF*Uo-b4mwT`~h{IV?Hm1$F#~FZkHrf=!xIdyd-Pae8Mv6(tfOu z7KMoY%F*rRRL`SckvHv>9g!{!Ue^X5nM`b<)_~^ zDU;$HQ}>;micW9skBnej#IELnc6uAdCWpEx=`?nv_r8sTD53P>yyA6%fM{d17=l6VvRw?BQ-wtnbvc$(i8)Kfh;Acw zvy0i))DKu(sag;)O@94T7=q0mYxfL*gF_#jE{)2Jq$h<9+0Z0h(40T#66*IzukDAKtleYDY?ff&TXNgcaSnm{Zp@dU95#d8UpZ_zQoL zvw(NN)Jia#rM9VX@#kBuK-A9}n(}?~*^VkV-}}kb-zYm~#vaNU+?A}_EoYoKf@XiI zasv2omVZI}_F7PRs+QRJ1ICmH|LGXJs4CH)vzv-Sp9>701dbK&BY#T>J{{d=N>L2T z@tU-&LcNlQUh#}9hYXogk)A< z7#tX$#>ag69T5HIU*9NodVZxN=E* zOkHS8QCDZgu3k5Qv!Gpl!mwdG)d#`m1N}V4H@-13+%wI8+QSY6*Bl z7wap&fqP6>Ztp?wEvHEnVS}vi_Z`}$&L+Rx=7f!`g<+|cZvu+mGcNl?4;j^eAkAf zQNz9QtLcsvvSr1V>f@r0yUFphQmabT;nxmzsec-HFH3kr3VW|ozG9#7KJeNDEKf?geqtf|G*#M<1!>b#; zA|3j5q@vbC=Tqiiq9uvY&n}{I=`FV2kS!Vz5`79W*K$;#a{B1yPG7hP29hZ?dId;s z>2g1Mui&<^VR{sA$n*!vZ+jgk;Eh1xr^nE{f}8}{e+o+B8se~6GClE%7x{a9d^l{2 z)h#8JB-dio7`TLX4dry`JKL{I>An_T9gTTgV0v<5uiKciE^25?47@4AM)^g1K`Uz@GL$9mQW2{TrZ6VSc9^_uY| z7XEa96S&LuPl@2*#vhAr$<0a;*3+St(p7ZmpIwbNlSFU$%fQW5E5EqWg!B~Yb7Kr~ zlxy{}Sk=%>0kRG$VE-~5q><+2wOr6U!zod|y<=J#SQBRH}`-z)M zX>G6Tr1g`NJgA>{5?4z~TpNRhlI;gplLHRL{8^bX`~7CtZA&ro>35qVaRopoK~4t! zt-s=*DpF2>?f#AnF_HQ6hr|U#*4nTQTd%3syq)I0?7oU#8~x+DZd(pl@CswY?J)6i z>T#z*I(UmAVsfBJcwTn4zBK7HZLtD7&wlD$(F3*L;IF@bzv+LWP3uF1*0a#Axvb%~ z)FkcxLbNT#@^y|Tq>-64Dja*z1wQZjnv<3YD59INbI&t0x|^Y_YRU)3_M*Bb&#L|A z(}^E~L7B%l@N$K8YWTzP+22ZndUSPO?BN?p$tK4>+VM-w!$Ri_v_(+?3X@it7j4?)+vQw<$edn@KM=XwU#?4^oqby)-t z&ygzp&iNmywqJR}+A0lPMl@iKcN$@l2*ad^r+#{Xj<)|Y%QiMfjFt9=SRSW4IxczR zI?GA#;i*@eldVbMQz8(2x%;KMpT^4vf;>0XnF4}-)!LqLg929uP;F0Ia&0vIO_Z!R z1;@lUa9`-O{rJ)+?Z|ca6-Y)z0ZZ5UTba1rrUsUMza1W+Uk5k8{^4C$$-;V9t(>?HJLdYQW8EDW6M#Q{d4c8i`q%$c_rPH0 zx7V*re&F|9Sjh=k+-(z+qwx8Ml0h#CXfy~AuwZd zU#cf`Oi%VZQ~SQ(NWAFA26z4M66YW8 z;Dl*{N=8=Hm*qFqa(A?3Ut%Ce)E|H7G)!1#AF~1G4IY2Nz^)fWYQU8hl6afx{5cAMw5U3ChvJ&SC zKWYw;QA@;NP4v)vpMXf9wHU~(IFFT8&=FfbtF>tM^_1O)y9V8b5cX(Y31SfSI5}&m zj9UX?(3-YJMZ8edU~&(;1kxVK>%MT_hp+4qw&J?$*ZSr2q5v_MmZ#GOu|J&?Uu3ZBW+f|AOfcPt{p?6y|fb<0K}) z;Xlm_F!8sL+#8H&n&MzHF;3G`b|41q@Z&_4fs4LhMq_J77Ns!FeH;7p`c*lOzEPqd z9=sc({PiD0Ou@V{Pd9(?|EMsOT?zV6tE0#?N#jJ+7pFY87t6DwDa5vv6et~x2-Gw} zL!}6N+PNO7y^sxT?vf=BaUPw+VQBCIl;^&^WlVum{0pRnC@CoclwbVQbp^yzK~Ddh z_2%`Fme`wM^AY3~Ie&Bm0`sge8P(Wdv?MB}SjKuDJG`H{n)@~j_jPxG@x^q+f)^6L z=wGNRdTNT;!_0XJXY_@|dZ3^7vyk1{4d4Z8DD$&M#^%#qEVZ@{C43-^Ai zY_T6Y7)4j(uL=uQGi!H8h6aN@l16aB7m3JTb(dPcN}OZ54>h5zD9d#93+v&o6ARt0 z*s70ahqGnji8i;wn2c)!{c}}hf%EH*3w|HO+rq>%n^t0%s_+>?)$~W|>-~3X@dhVI z^62%>Xa-G0tg!CRu?S&q;?B^yjW2K+2Oag*&(P6H7b-^1B+hY5R4Tdr)eu9>(QV;?*$-xtD#zW=x>}#`$$k> zRi>8_6#tk4uDyhvkqWTNHHD`-4ILXA#j8VrO)CIByQRavlzIT&IRsuY)FuG+HgcCu zz(O~^KaLz`9V|D)RxMeXK7V`>NM(4$B4?Ij4r{Aur)q7F?cz2&AeRCHnPmf#49^u={w7tHw}) zDd71ibG)kE!d)r`h-Zc`pi=rv84Ne7mL!tjG(T5p1A!PI$5ks0z@_+Am-9mKx6a;{ zR=+P&zZ?WbE-+2Howv7|8M%ydT*-l!Z5Bhxs1{Ho={KgprHuF;1?+=)`%af3W;aRE z8+7}H(2OpF>&NHwPAWLIM{4k0HKzM`Q`}>^sYv^2h4m94VAuYRm!PV=htb)doiL-L zHE)AzY+1qJzg|FqUX&^JB3+-s_0j%r%0d5Bl7IA#CsQlm0UQ)Kc{g48U2{?|vfyf`sF~_Xi_uboeG6quT6~Cs5wPok z_R9orU9H)mc)cT>15k-u*0_c0dQnRI?4f`H^hYKy1L&Dt?plNhFuNZkx^8Bu@3+@G z8Pkk9AEOLdMX2l)y{LKK`pxa1mlH>-J_d4n{cbAtX|@SVuPTQGHyc@z{1UkJx0B7N z`H+CWo_H+bHR3ij5HAOiw7n1I?%ZISVN^p+jUCW7*4A>yq) z_J*_c#6DgFshIThU#4>E@Zxe#ytxL)GkCx?HNH{JW*^KM>&>xHF}KK85iCBs`+Ue@ zalzdeP#ZyXa?=Gx!_}c2QQE7U(5w`>bhb5M%eI_(q@TPtnN96`<&omjD0w{nTSsK- zF&0X&Z;h8zX_t|UYA5R;L1F}L!0A~fyu0(O?Qq{nhW+vv;*zNsombA9O+=2)j_ZN3)3s*}ZWJYO37d}XPa08l58ayPACVt(Ih&cq!oPoJexQ#ZcEwK0?BurX4p zgNAM!IZiy!_hLAj!W^nUZNCv5w-bdWT3pygK-YFdcg2m&0{sU1{Exm40fJw_a%e_r z{ns$f*&AUd{r|@+^P85-7z4e;`t994o^_9^KEjcaglbfd)=~d<&NbN96@`bsDwPc- zTY>4y#ms-d&V^VRNm*zBk2YaXmEj`jt++GFL|U-vs+m|pDZzR;>*KX-KhF+=+2IyH zP?lKQ-%vJg6!g*K7nU&-;OtCMS_J6)xj_@n-~a?{2V zBd@&?xzq0)ZX5)A#PM`OBc~~-0Q8qYzo<Yc`135E#(c7xE%=!zKw6R(M;6QS_=Xz5(;9aWEFi0vWxksv%SHL6H1wLcATh^ zOh0*sf+s~&lAKT#`OP&a&Lb=4Mh~!TpaT0)z}3+Y4J6|V#q?fYJ}njp976CeN!{q_ zvOeC;cYZl^@`bQ`XZr^5n4^4!3B$*#T~v$PSz#~()zYgJKAbYrbLv-;k|IoMM+EK% znF^Qdr68`|>LpU>DZzq6y`e)vL$)OMC>!Ex;z^_5Z@L0!`3D~#$Sxjo09XWj&b2Ue z&N@{^#jHm>N+T+J5+3UpbN}68v@i1y;QDCk>UK$>kbzh)(o}!OuE7)NCAs5f^w2;E z&IPiy;ZuP;F~LS#2uuRm+p@C+S+whsz9}Q8JECHBxRe(F| zfR1s4GB3BGSo;2a3#|bnu%YX{ zHFdh}-akB|KY&aI&gQCI6I-+~+BV40gy8T@@`p2XFM3nBXab{5J5-%ZUP z?C>uDXHSN6Ga1C5S4l`Sh!VMOuVI739;gbZ-TCE4q;!h;iBO)cZs zY>QQ{5^3P2$%e5A2im*9F3opsJLcl#mp{SXTYejs5rK25a!Rub3Z1sZ``7m@kN&5d9Zxo{^MCKfle#NO(uI(3zKW?R%R5s{&drULxSb)t2 zqz_-&`~hmaS?v}6w7ko&ZvvRgzX-}W5@;VGrR-F8`;zx>m|ehL=XG-xIsdJgRIyj? zlghBat03;N@5H{MI}q21EAK_d80G#P40 z4T9-GXQttux>Ot9pME$c2c|yE{^@3yrtK$7P%*P=hC}5w}V_8Sg zq`r3&l4nJ1%NLxoY!0LMpy-3f!*!$M68vX?U_z=%XS%MC_BtxDcN6l0hq!Y#KPSxR zD-T#5pughC`cEk2$Ba5){1Pv2MyXlM!A)`jde(-=dX1;~q>+l3z68@x1fkQ5EVO}H z?_co2{$w4wimq2&G;FeLsR{i(ZkR=2Tv40E_@1Kk!3*EKhzGOy*s*^70m`F`?8dJV zi7cylBoZ~aDILCOl9CtLwfo|pA8j=OY3u~YXQ3Bx21!y|xTu$UptK6~tbYsz(6e9y zg1#YD1#oNm(l5K$o=9PMwxyD3BT=FM2IeA@L+NyNd!ge%o(H)<&v8KR2iWQ^{?%m)S)hO z^cVV^z{l@mRuqT}i(M>UlpQT4$+9w6QTw^pZwdXc>zR#5xc-wYja5D65^W`Uj%Ifw z*-DahM}(BPHXmZ${S1IJ`lpB;Z`1U9?6&6Z1F3jr4@x3J=mS`sS2CXvMNFq~4y9Qt zB@1}Q7jIKcRLe>}J?>xo&`S&{R8Ok#S-oCDEXk^}0;|0gJf3%XY^$n8xe@0SUmhn} zJU(%D)TsBfThSkjfg^vI1~hIi!=jt8*vXc1aVGw=SNDcjdC8PdcYgRJxM^WjIlMUq zbU)JEYZ8gT!EJ0xe5`+Op5BTGgUNa@R1=m0T(Ud}RuYC=Q6u<0hfW^VeO=OAj^eB^ z)*1nbyo6MvC4|X5^`QDEr#RpDji63TIDdU#GGBmSb2G+&Y=RuOf6;b(^RrEumzkyG zL$d$KplgG6*U0>hXt{+e>kAzdzfA&scJ^v?bap0#^#p5Xgac??JxzyCLi&uhP?s~- zm}bO0K%eFvtBym7UftcMy)}vWjh~5uM4>EeMo)`%_oWkjytfs-_3in4YHiGL_DKDX zL{0W!RM2obH?^ok1I1fvF;Y0SXo*XCr&KMN^JajSss~<`w%xk=%={~L-k0<(GN0Qr zIz50BJ}y_)h=N2Xkiq>;F^dzPf)?@h=3k7=D77xBpDZm*CsH)*3>`G}TlNH0Z#=L3 z;fp##uU7E3Gv9C0XHcQ3$y z*HLFjo0@R7X0K4357IBeorT<&JK9i^?Vz|N~<@$S^ZM2J# z?ji2pTuXH}@U6}YV$p8>!p76g{QMd@)+Ci#>Qf-xlsDGe3i&R+8c;>i zRE_8Ia6}sf(5--IIX~rJ5CuagnJgGLPYTMcC(UV2(PiF?$=i1BeF5J)>@-|%Zg;!Q z%>PKEe^n5(r;i=$q89{V#f(1;15-zx-?XK_D3)F)#@H)t&n)pE$MWF-6n<$1J%^fN z(@ZP;mOZzZep!Z%Xyzk>tm2LIjDn8G3A+sRWB9@uv=sIDLVFK5sWHv*68PR2GrdC_ z=@c1owye7>31tV4WHDq{iQYw~55InVeQRgiH*oH`{qz3uEZH|VEZhp9DcRRQjO|#5 z*!Ew^nPD><$iB_cFhAKVjtz4Oqp;Q7%XX?~n7YF-13ntXf<@w1&GD-Ym3RJmmEWEe zswcO3uN{?LZ3!E#(W4*bRzX0`jN5;zSfj4UX(&kKW~jxt&#$X;T@*j3@)}JKRVQDJQS=6^Vsx5J z{R(x?Mco%hAE+R)X{70ED)&-$fSoL9cp&=ki- zu9~e>?vV}Z&oz@pP1dTGc(6;e39R&8$x4O$>pY}JUq5SVYisuu*c&1^Xs?2H(6??# znq8LC%0DXIPEKIcpWq1x{UBP-Q>9d`NGP34UH>d^Je&oj(asnpeucZgr0p)ljWotY zc`Z)G0O7I?@D}HT{5^s%)f&s;ZsK7XTPOGGf%H1(>S(Nl_o%TpnFO9(jWgJpEB zhH+J~hZ@0{@`T_cJ%8xrk$K9;zJ^`lcMg{CyG7rF1qMo3FLpRSY1 zYapoV!{g;+>+K^yafTA)C>l0Y<)kv*Ff+YpcDN8;YNJ1+JPcn0Vq|PMN2-w5A(|fcqk7Ak+u+^qKNn3m_j_gRo`vb}RkKdbl@g zqgGc^{N}`of&TMVu2;MK&zG(Eo%CHA($tLLycN_Rj(WKHeX9q*TBlM8L153kgoL!D z*8Gw&|JkIB)O{?I7Wvs$eChYK3($KO(9bzqm}&e!Iop;>T?BV*j<(=NP!hHbHtgzwvF%l#n1|_c6I;vP3*ogZWLF65mdX0$@gU^7 z!GzGeWrAKdcUaiu7ZV}F0{%t%Ze_n&3oKQ4WT%?+R7?)MQ1CC5a3ggK?OFXg*G?U| zqUcDv2a|MY$%&IvD2r>_4OaR=@!Ei8xg_O)^YHT& z21i^+fq{nBX})xqs(*pEhi#Qp6nEo^nk3YC=2BrIaAVL$fV&b0-`Mt=2_sFH;Xx3Ke3 zX)EEqLH&F@pWa{T0)7I4;t?c^y zgr;+TCcq&F$^?$%?<-nlrG8?5jZf1|G12%fFI7xuM?3e+0uUs8;_SM3cZ3%=n7cAw zxJYapjgB|eR4~B}C9w5CEoP>;YWZE+9w+Qjx!BR0mSFAT)^z|%Jn+fe=tzlazTg-q z^>D8Pt)jKR!SsBWsfRC{Gi4iC7OFFs*(*e=M|VM{>pvn>5!r;g>BWnjP%s_V&{s@9 z!L}=Va-aem_@3=wTe27~%2FnBtpUALv~2^?^Gx)t0N)+aZm3x2!>RRzeD z0*Rq z`-T2g1TV5yd1z5=kszctyk|_pWMmTVgx2!eZ z;Qc#*i1c5I$)$u_Mkz9}g^tN1xACM#nmotc)OB5Qq$Wj^Uz z$@V+Ss{{$LEm5J}4*M|@M8i^^GjOFy+g4W8V+!aIEQwRT1D|@ zZu%Mj1@-L)=xgYGEX}lMIa8lFIV9bxI=RY?Q^yyP$f@g>{vp>jkC7EY&~{f||H%@o)3v-rgnUD&&Ne z*&DO%&*>pbb(*frZ@HY?rg*&|_~jbFs6iYO5lGpUSwq=lWsU2o(-KJhN)u-tS!-q= z+1-3-12>aTabK-0Y@4cB!nUR<_&;*sSW!tMH?8KX9pc~Z)aOKX;!@*SsS{Zoe(vf+ zD-2%0;mi~15ys%AfSg+BM5A!LqeLlQ5m=hDQ z*c6y&wfCPu?KJ8B;$e;`toq^6|KZ}UD>c1vWW|;G^3RvJogH_dZDNr<)p5UTO_;;a z!nR~(TZiOT_qLsmd}yF!{%xY%>KvkWW_$Vy)l>hO6!Jh;f3}XK_C$1rt(j+OEi@8! zHJZwKH0A}~26GB_OzYAFVSGf5z1uR=x;{s`numokL!8+#s$lTL_{2k?>1Jm#u-nC7 zu%7x{vYs_w1i}}qb*f^(!eGPDE4Xv%Ehqd}YowJo=3Ff0zKoRMC8BLB`J z%N31n!B|OgwI)c`N7TLby#qJB17=C4`Rt0xQ;N%#DaM8?<(L>C-pGrr=QervjxjwE zd&ve*)M!i6l3Ja)*i>e81EpDYHD|AD+)yz+E02DzpYiM1v1*5@1s08FS}D!nX70z98!^ZC%G4jKg@B1 zutmd~k@>Pe7DxZfPGDu&?@O|x??^3W0~g9x)_lf09JNZu#~BZlwn?piGLrxZp}**wChL6YkKH$qr4F2!NFV7C1< z_6xl6$aM#hc>ARf(kX3dBSbq<`)p?~9DqD+qFw!3bIwU+ltvOfqX6+epP>ffFOSiO z-5n;tZ`kr*9*>1UuAq3(1hHaDmTYM2KG2jZG?fV7$@}l$`MDPFOO9dxJ=n&g4?8#A zo<1;1>>-t~mgR|(OWkBR`YS{^Xe|T70s4f~u1R-+Z z@_I@GsDJZ?^{i31aZq;P9BfDDjlK7(m90SYoa+jNgusHSN%6fYu(c;Y2}EOvjquvD znxC)}GdAIKE*S7TLB>U9cu|J|+A9ogAk|T>Z0trqEN_zZ%3E6OUb0Dy!&r~_{J1o? z@xX9+Lg2zkgC-#vE}kT=#(A!6hpMuy+-e={BhC8D4_RQ!ZeoV$(BO#bidf_sVLTOx zbqolFb|sr@(4Z-sIq*n?5#l3+uRw#J;w7Z=%)v{%!N0ww#4_FWe}%S)PC%mgOu}S zLwrer%D8CiF}LF7C+M*+E&u;NwtSr@^?j&O+C+>vAi6LEO8m#-4#>K?*Z9vZ62HN* z+H=_91Fqg-LNWt31t~VJT}l7B-)zO?v420VZ_xTB3Pf~yy-Dw4*?H5asP_|gHo8qT zdpN(JC~?@P35Rs+o(=`r*5ebu{ck+C%3|jSuH?6`I$yLYtqH84<^SAMAS#j6Wu}wnFxR_FeOE3^EzNwHdt0%l z0VXT9Z4lD_RA&|bR7lv-Z0(&)(DH#kr1o0{2(25Co5HNw~d{j+264jV<1m4KXC^-CYC?0Dsx+v*)@biYFR35S{ zLY9}l!cgrlGbp%PI`|LXVIAiU!kP1>2WwC9gzE|QDuuE?L&m#>rjYCXlzvB%24Yc7 zgx&@VmFwljR>Vof)y_){+|Ag22Vg0M8{=$q~ z0u~Z8*so-t0=|pY&rD{>1s6HUnuKB65wW7T7Jm&eYIT>L1w~&)k^#L3kWhg4?=u}AUzRubpxGXX*pPpu}=g|qRgMd3-*o+ zT+g$S^)Qqfx+ZzFrba=fDP!piFK&;C;|;KTX}!n9GgGXHacqi}EiP-Vno>B?I1L5+ zx|$Fw-89nJj&gVEFa{H`IcvzK_V)C1u5muM^;L>{(rK)R>A37zsOzMgaqyPw%kSuK zQE;*to&Gw&JKO5s$4@H!Xl9xuuA;oT6Y z(`^gB6##4JG5$A}OlO1R+wSi_4nQZEfojW0rvs~7a=SL3>p*&i3G$sXZWajDPIDY6 zPctlZs4^HzNazCk(D)l?q0(<>_R=3^%}b$+QbzVAWIg_P$7n+C@9{7`(M7qfnCr_M z8RPZyp_ASxCRY|5Q@Ttkq;|5oM~WeKg^ySgb-Fo|H_ID2Y@53S+b zsRtKG6>B8qNi3Dp3Pqw^=cNoIF~|Ps^qX*hUO~Hz=F_8$kvpz4E(=N(BSUA$GKgsm_=pyqq`!uu_;08gIq>J8&6UsWPs4e3LRrh+ z{#0_SA%Rw8ReZ`Rtmmz4u;-!K+@^=pvpyl7hiB=SF)|`D`alAIfO--#qPvpGV1Fl- zA8>salg}r3?U3cIHBg_59RcB%e8@~GIWR0236_iqE}|pg=RIW?3Sm|yBsql`J8Fp? z2JJMmKz9hE08S9QTB>2b_}uTHP&I-w5d21{aWbYe?VD17(wK z9bNqocleHrw>5>v=oZc$nyFKCteG7gtav21GF$N^>(%rvMU`2_hZ7&4PZGmVdwiuZ zhh_JND|m{#ljBBh>wBM82#1-=(S5Ew-N^m2bl-bGTO=R8PX z{x^DHXwxX#NI391>!a!Rd=qe5O~}8(TGFq?<$H>tL;-j7NGNFQ+0ARJmNCwUxd4$% zChNB;9t=hx5id6WaclF{0f|}GPp_ygAck-SC+S{o%_nMEpueMz(xSaqR|sACeKNK> zCScOt57g#cT^Z+%t3y>C$$e4f9-}d7U9yWW!1G>b;^(n@YSb~u*1^7X%}MqCb7d=` z=Zw95^Tw>X)Hv6m{p2hE@GNqVbYQyjr7Aw&8;XVsSJItdfsgcYg3>+wXlCK)Xj1Cl zg2mz70Xvz?OL=ooJo?{5Q?n|+I`dD>^PR5a@3X*hq$}Cbe*?#rLsiBxcwXYas&yeBeIm*Wuu2x;* zvrj)xMcO(_k^TNYl5?>*Y{e|9*4BX$Zq`J~2gOY*ciU|*s*cY*S4a6;vt-rIGT++_ z27&7lZg@6Smf2SfpsM7l{UPfp0i1y9);kIXNHHDtw*T;$ojv`)>0B#XbF`$S9*f)` zm*vMP-W3shE55z)9QrGCaBi?d#arB8v}~czB5g&1OO>m5QoP6b<%EW!)kHqmnqtYq zii7o76RnPYY-PG!Rq|Yi5tGELw3WBTXAC+zy1u^D^BtacSbJ~jEc#NS|2`L0VQ;i{ zP&vbO#czC#zb$l=Ep1z+9b+YOsirK6jhwULr}sOX!po5*KV@Qh_1thkq{de^EX23! zUt6+I>ao;>O%AOPiWjO~KXcKJ##ttzpQUn@+SZwI*7$^aa?DDPc-DIqJ>BnE{-}Je zp~Je<-&0V?MW^E7+CpV_+^tSuf2FBl5Y-3ofy}fB`uGAVioxEtbHlfusB_)R9gD1x>_e-pl<@xtk zoDW=ca2oH-HDz1+Kun`Fyall7IQ}-Z{%PRh3_L)ueg3oabBu>sz7D@SO#2)y-(^VP zYQ$Bp_)T=RD*3N@uw{I56TXx=0jbicyzcEhznMnT=$*U-=a2E~R2@#%(Th4q)3tP@ zgY5?-oZ5EYO>PsPgKfp15|XIcr0zx(mI!>K#zi@8^2Ov`c`a4x<3e;F2YcTVQ!~ zG3nB_9Z9Tf*UY_!-({b=GWK#V>6MK}A<6N*IU2{FM2NjofEYfCznnb*4K+eIWlP}X zi|4^h&EATOe2HoJ7J|pS7GlAIK47oe(9$&VTVX|v-~7kyy!7N_JL}|-$2qxTH6m@1 zyynp3G2%%Vur5xOLNrdACRLc&#W<(hb$$JiM&nw$VnBP=bRbjSyNkBy|6AW`cdzC^ zm~WPq^#J$w`C1Pezwto+qU09fA28zz6EdGS>uFKE+!hOi@?Ec8Ae@4A%U-|>Esx(= z9$DdzXQr=TzA&c2oZ4(0B`pKPaynB}$z!D02r zO10^yhkje&ec{7owdk0Y1BEIUDMivT^n-!N?Z1CRac9x zAIx#6m{S>@i!l52mp_%zrex}M!uN7zKmxNBIl;LNw!k*Sl!asyUq|(h!cRJLdDwXc zLtIBb?=77@cj}af<+xL|`zQr2ytnhUiZc8zg7TWyX;qZ5CM+a6!D2t`lu)8Cnf#pU z@$OgsBy)m;IzS|lpu$&kpuKq$?t<<@(SWFkHjI-v^E}s75WbB)3 zHG6$W>+=_t`yAG~WsaTwV-iA__pfsoct_mo$xlax2h96-hdUi%I!d9wN=f>Swpu>- z!Eombf{%;pN~^eT%6>;Nny-3|$HFb8azzfbx-eF~>#?WR#oHgUh#l#A(uXAumtIrt z5w+In(b2}4tbGe~d6|*(_)v59r*_hib!Dnha+LqIKcyBD$w^#xv_#jLZ;MdxAh)*| zFAMXAbTHn*ackvM9Lr-BG=?>H0P96uowL^dQa-7Aih4MshuQwpA%TVcM>0|`b{a8F zl$6_&MS#prxgXyRdW7^c+saI=v;5&Y9=Ks$8 z8vAvXW2aT<{=hX}j_!OZZDVbm*F49glDUIgb9t(ls3aVDO@HrsMLk|#JH>Mua6Eg) zG>*2n^g&K;pSDoe)9!Lzb-a_p8pK&t1cC=g+LwwXhpxVdYaK$dRFSW^{WYzv6$Wvf zOLwM;TqeH1QHNv6$^P@*rfPjzj(+d|4jrxI<2uJh#-3C?G+)7rRydShn6<_Ks%xNx z01nk3x8OtLHgZSaJV-J}=VCSNAIv#@Yey0gfLH`Lf){sYzLwb*pSx+@ckKSJjY@J< zM~(RaQ&sHBV0E5j&G_8P^lpFYDcpgM%8f%dXXWW-{ZaUNnP+)*X~^>7S-qDJMuIB! zZolWgC`PJ~iHJz)r0Pe`ssH%`RwHX-yoS%Wb3~*97v#r3Q4IJE1eMS#qjh1jw+*U) z&ZhczGW>>f?iPe)1G(!wRD08Vv$BV@3c}b##}k-afO~mkBRjGRpYp{-*Z zfXUsv06ScwtKW`*%bP%fY0@-gXq`Bh- zSl6*;$&RKo<~5)m(hXv=1PvD`L!?+Y=nef5v0Td?r(9PbyBdcL0?lDDuI+V>4y!{eb&6{n(5 zEp)!i^-#1st!cFNdEbCCK)N{xF%jzZxlbK86X4(5w-}w@1(Z_Eb>aE9=9jKyocyGH z7kou|AB$dvbP`lg1rFVy?Z|T1A)cwZkGBG6oBG~RXtjjAOF&A~?75M?Hk)OYtdzLU zHm6ySEmaZmq!nlm%#y-I{p|lDu5|WK;jIR0_32Mdg`3REtLVeAFJ54u6Qtgs&m`RZ zh&-8rS{?D$1SwV#zZ)5&QGxkaKM6kcbhbB23MZ5F21?v)QJ)hNB-gmrQNt#!HsJ!^ zlGcEuRlWav#~wBTY8pn_&2lF=XMUtdDxklT5)ZN zJ;LOl?5|tDxYBN`2H*tZ>-$_zP!5H{ zZve{y?e_`F`dWuc^{-*~G6)A{Lc>=>XxWsBL^p^tpkOkax#F3e=r@1DitXU;Z^)dV(|wRKU-?-SEDnTI1awXU7*_$DQyRvr}7LdWFs> zBHs4ZS7i%hhqbFM+nURLoT{kS?<$+{MmywR?c-{lXX3Wv_%VtqoV97_>X)(Qm~w&g z)SZP*;YU^x!#>}o(TZrVJycfW`_~a|jHVDkLI#@<(fF$g`9|N+Jni!{&waC}U;bi6 z#y76g86TMD@D09U^EKBp3$2y+Pme>DbxMseNg?Gel68~XYW(!(TA8XyhY2pF{nI5i zB(7OZd|$B85Ke$DM8Nb&Z0v14(Nl$?s@rPhVoK(t9`2o7bMK)s`bYLdax<31bFWLp zr0a(7kXvY%w24PRr~-Yrg+Zfi9yhsoO5dX$v@Z#+Z32mHf03!4Qs4Tp>W;Bq`D014 zL0v*7H8*4(ODrz}{JFx_3191G%e7yrM~&mkD=f~VR6ng?q0DT1=8-9n zPm4vgX{mQ4CW1<-941C{^4a>q_&s*TjO~-VJ|vK~SYw$S_F%1SZb3R9?#Z(4(Kf>% z6Ty_CCZ~#_@)~Mb*AWxOfJXj=b+S3eK4yb(%TeoQyaJ%*v~(J6GVFzTzeJ3?1C^0D z_JMF8&Trb>`Ln0BUeomFS|5KYucn4jKG7DGW_`mbjFtN1>q?doeP}L+m^nSb&}rFv z-D2~2IbuBEdwrbZ5~p71H$yv@qE;FX_@WDODcxUpZpM$@dw$plxKHS+KE8{m6@@UC zijya&QN)C?QbkI7aNOkYWb0~oir~Fz4w0Ul3e}tg>qqC}A;n{wKkaTski-ZLXW9H?CIV3rl)gX6|*^<$<++0vQsrs{vVv6 zO3%DqzmuQhx8%@=sQHBAIa?5EBBmb_5`)Z-A4~Ydz576QKf=PfG? zc@w6Od85izDzN9^{Ed~*%`{OCPdBBN*L5_>7@3^hvEegnoc*37eq}dC%Bcz~pOt7` zK3qe7Tbqk|L}(w-a2o03n9cd&U`fsRg+;qCVMXV5VK~43<6FiS5BWIjoPb*Ufw^)# zEZ7%>Z(nW9hQ%&*^Ph5!Zq^&l1$J&Vu$lE)*@J)8XD30!wrhP0I7+6ByG*rLUehy? zh{D;L%QlNv7*A}1%xWiUdq>-R;!O|eB zUDPyfsCuib36ndrRxq}B2^_g(@IDd-<*Il?q$r<&-pgOHVV66ArPT^1CbLBhmI8(a z6Qxce))Nv(dJgxvL&*f$upnABU`04w4Ry~S0&_bAiju@x8kC^QYWCE}fB@R3BHJW-|@ zo8QNf;a?u8l-S2mw}INQ2z>TXyRNZu3_uII88PG^!q{TG{_R%<_Pyb^tONIQ)RI~_ zsZWln@)oS5A-ZTU80qco{L;fc$HI-#@u#3WZ*MM|k+67g2io0bCm@Iu!GM(r8Jj1^ z*wc-za;&{%@o>Zr--T!GNsE@Pd;>Hxu@dl_GSBggaQpAvYUXQv$65hVpQ__Zp7O0> zF2kHsntVn>&kzvK`WK!6eRCz*VTIvrY;4#vGMMdKSk2Au^O`iYv=6njc2t7Xg82`n zl&@|xUq2w0X+pje(EbHuWB9gS#`V_7LF{ClLDix<%_~;gfeLduvIca*(7?&%HEBx^ zcH?}KNURBX)%wuMR7HG_?a{)d-V>AMHGdVyvbCXvLi2SRRr&L-$z{2@gMVa?{q*^9 zd-CewZgjix!-^eQ$V43)C$R@aV*UMEW;N-xP^N_-Cse&7v1%Ubx2bjFg%Rb~6-YM~ z0A-D@WHd_{7=Z{HGzBSNV=_R5v+>?S$CjR=YTlQi1euJUtlMQV-@&D8swK=v*5^kI zsen+G^#cvVJIB7%)cR05`~{;cSGeCxDor)ez3lIPzgfMO-t2d7Rr6JD)$`SEi|kA4 z>s%^KK!GKgdm#&T$y99{{_EO7+2D-*duQX~Or1~)Y$#uyAmXgEk8qAoWnsZJ#)4}` zsqejqU7*teCglI3?LEVq%(^zv*cl6o3aB8AI*N2rKtP%W8DSJbdW(Vxh=5dS2{;xM z1Z)9Cy3#^3^d?wBNkLdotkXWhzI&OmyPH?q7^9TO_-iZAn&q;%o>I7Z&&4szsDlt za&!Vv94S%SP>`nQu!iOhMUfatfJ@FIzY}qc#iGgBjUtY zrHf_-GWgp?C;^ggUR=jd_AC1S`GN+8?6_3N*TbSS>iLa&Gn%~_g|tl+e7Q|vpQN@+ zGW4LcqsUfr=0LT=2}cs&s4`hchsS083afPcu({*QB*xvhi~BH=RR#9^8ooCeXXGY6 zEQJD!0Z0Z9A+@M~J|>4Ti^v_U3SBxrf`5_l+2%X7UW$LfbaG|wWBg3eVu<87%dvCC z6Q8;d8e*bG{Wfo$XXD6ZA3F-1jcD1_&t4K5*0w3K)XK47hYy>MzJgJQxG%wM5LR8C zQ!ssD@znWmMf7hK$1@Npkz(uH%-yzb*<#_#-n~996*bj=pTs+8dW;dpmw5LcijTi(RU_NN4rn+prstG38R|Nd4cNJP-8Lolnx%zFqDr;f~5=Z15)AA{(mh%j4qx3 z9mecmy^RdO8338^JMv)kf`2HBVulMg{ex4Q`~I9l8=U;~!MeHIOJTRCi)WpuMG4UV z&qc~Vt`V*to44Z^^jKkamQ@FgHp3q7RJy-{js?USP`Z#Y8*Q-yNCI$bOh-}2(wNlc zxdz59(r#e9?z4T#!e@G4M#KGm^oEFHlZe3L?3V+!yFn#k$E#HRvin|l6?M&9!q%*c z5~fOcpkwj-=A}b=!onvlB9|7Z4Jcn=vM~)W1;qZW9q^;f=yCYQqF>`o`88IZ#z}N8 z963@?;>U?IF4Fm9pZFH*O`7tdla5zBkcS*ZLn{K#;d(TEoCGh4^@MN|47(*AdP~5E zEG{P28a;9$YNVhRy^$mHL?W@;=ybp?LedAR&)gL-d!E1pbHmZJ8)=aCtw5YX=3mTw zEyh2uJ^x+YOKOUDp{5~d^MdVsPj|}S@qypOJd93{h);XY{?vrn-pXedQxEIM7~l-b zzcfo0BAA@^=N3PQWZ=LAK~}KV06MwjV9#L25!aYM2ak5s@+pAssH2{f1CONbI`o_Q z=yUx?i(5yw@Ydp&&+NAr^(iyruWm*z9!>Okn-<5h04~a5Pr6~zzI@tuB+?W(?14>fzT3y{0 z^!MCF58Gcp*4vrvXKRin)okH>Q$8B%6t?3SsEffMSR8?jREBCJDM3tEHdS;0@Q@)O zWy^tpp>CzK^YR@2`g4~tdaLBX5$}ijU286I%~EKW9K*1#{q;bQ1BXb#czj>v@vuL!kzzOuf#*py7H750sXODOnW znT~-GKQR^5ygccU(wo2Dk^}+a{V_c`afl<|g{2gsoL5@)PUfrzy=@d>YT;vATy$UL z+2*Mo5%}2~OR{ivrQa~h>SAV+^@AXG#zCTps)~;tSQ9mxbXLc5k=ZJX6@$c*yQZ26 z)Tyalw1HyO8e9OOJX;+fBRUT)U@s^ef8{*Dx(@MTB0} zmlK3(xk$l^v^Q@sDL)F7)TpG?BC$?+=c~Kq@DBMy`HF+8o<}LncUu>=o2ZcSaSi(F z%1H<^LKgLiW?|ZmP`RM%dfHoF05oT}*(Bfj46KMxH4wNPDt)cxVI-w&L{Kut9bka7ff3kG&eeD zm>sZklE2?YD16nR)I?Dr$obwHN=fwSC)lK=rk=~`bTvYYrRxCkuF4(KfD!nyA+=NL zKV0oh!L}uEB?dDh8Q1vuLp{Sl z(mcuGbAVp|l0zp^$VM9S`K3iJc}eWDIzypv3Vr|Uyze(AH*lFYB*<}jtIp3i z7e@#`u5&E3jK(cb8qocgdo;_%0K%LAZmt4*4(?;M?f8yi2+*_phG3v5r)Aw5bifYd zwuL&Dkt>yX8bAzb{CouB83!BnuvNqG8+Clc@Z;g7$lwNw3LVi^a$paS-T~GW*8#(| z%0@E-FN5NM1|p{vbpD4rK8p71?_0~7957w0+|Jqf2}M>qgXIE<+8?;EB<(+Oa`Q& ze=k3@n5a9A5p!unl~5L;m+kYPpPllj5&FLHF&%#UAlYuKng7!2!*Uk}P^qykQR@eo z*7xgQKU@AaWzSy@E9iHPIp7-yv*%+*e+cm~%Kk|K8l~H7R{R+YXnHKLePBQ*%_&;d z@N_hYUnv6GvugSwtO)dtRV1JfNdo88Y!hmWz7&O}8k8n<5H|LJdff zuIBH8fwy@+gdNe$lT|$@nft;1A6LYOtDo++B4In{2Y4u-n1V@{BBS_#j{ql4G zu|2M+yw3~rH5kcBE_3yF^F^3VVRIZ=VEDuR|B3C9RR8XRu>`!kSGb57r( z@(_qL3)9$e$j?spOBQsoUdb~3Xe@vPunv29r{OV=eSXBUU(E`p7$0xuw8UvW@VC*2 zpl`kz@V<&T8n?$m3_YvuCD|O;{GHHh_%iX+uQYe#sS1qMKeto%e&u{eVvA6DD@^o+ z(oHx`36jzWk);^B3*5z&mLWzfjH!m;oZAIEs^V#FW&i6&VHNOT)1D!}PBf)lWYDQo zYH%{wv=gXDKqK0b4O5gtQzZMu^FmY~{(%Fj^UkS1L2PC_#|H=Pfmh4hUB3(Ss`CH3 zs$4Fp$jp6~P>p)~5EMWKi-9`L_F~g+IZ4#NZCd+AtZ`ZBuV}jZ6FaZWLy$Z?qVHYJ zH5zcIb?<uK0BJWg2$Fi^*ACuez4)#MQ>{^3RYwcYQ%&6RLl-s zD$LcwF5DC$21Apatba_;!YW0gj=xWhG?vh>>y8Jit|${O&Ncq^zHP1W+}B32X$8Qf z3n6st3SiJ0f{I$?`4Oq=d7GIJ%{xy_-r<^v{4;=0X~?aM&OIWqmFT7*y3HTWZm$o4 z)aDNEp6vM;ErSQR@ltNuJQ63iBWDK>RI$#H9E~Y+sy-r3Ie5*-KwZd#WXx zc;q&tD`NPg?SP%{e5~_M3@0=`!THXEk5NMKhYOm7q~An-0f0xL-r2f3Ocu`nRHW)X zi3L`&l06-4B$bmB&9F?7VHVuQA0oq8WMA=CkN24T{J_h+e+_xfVGd~x!Q68)4vIDM zw11HQK}~B>dZCyg{Gd zSPY$+d~jx-*3rpls_B*2^^D2D%+Y$h@pI}J$L+|k8r7ZBHx4~TBS#s2R zm9phg#50D6RQdvV62lJd^y`#(4VX_a>-Uv^x?{u7?0$<_3?CouqwPa~Sn|%#t=mEq zNG{65`cUe4e0`)^567i{aQ{y!DFD}X^oA}0AVh)lEtnbLd^X%ba42@ z{dC2%a>$CYz+~owQ3sPI$PGwyv&34mfN|>#Gxm<7%dR!~Kap7{?ClI> zT#*CB0rsj}#F1b-gWh{5S`84f*j?B;O1%S3JQ?sRt@r*)Z_w z4ld+7o{qdiBRxmV!CKork~H=m#iqVBymr)U_Pf{aWdeSAdkO72?E0Bra}y}R8^xG- z?RHQgnH&tl3RY+E=D@y(wv!m@$n4#3OiVE3^v^>)wvlMEw)PQ%>3w6%F*-m8U|N{) z!K!+MqR}EXUPz1jzTB(N8BGEaLp<7Ui(ucSkhSvo-lekXsLYC>oZof1h!sDxjSdCt zp6W}8weCJ>M%D9+Y5}!{V}eNb{l0%7<8g+tCu2g!LBXK|1mR!73uJ#b57^e&+58R6 ze%koSFmGd3UV&_|7;p*ZtW(<*uwflLuhk@|HDK9T|JuLwPgQ&tT{X}G0e`S?OxJGQ z@i2)%*!xjuEm272SyEhFoLxaez7C6Qkb&HE$)$@h?|%Z13gMQv#nkH!d9`zdy$88& zrj(s}E0P_6JLMxXP4Zq^>}UqptYxqq?8KW?lo{3eAGcBg{}vx)M9{P z5nc)c5w~*|uYueV2Pp1W>i7RoeZlD4q;%cL7^3Cb3E{b z=7y%&=jPCXjCO`owB1J>jqm+w{J%co^_|*+py;}!vg0Z&LPXrQTr5mei`R%e_rZ5_ z4I%f0_8y9VQ!~9fK{0vXsx;V9Im*heFZI?3VV}=a0 zZTx9|eRp!J=X-a+k&(tTb6>-2FY;BIk#fbNi<&D5+d0qwy`5Js6nhJH&iG^he(8Ho z#1Lbpu{YN_kw5YNRl^{KX?@hj;OqY6(kr98<9Zl}mwdp1S5`&*TM3G(J%J9hrc{%ptIUmi^hY)XIv8F0mC)w{r2MC;CbJ4>9-)}1l%Jb! zF7I|RX5ap6#0_%`U7ps%(3yw@{pRAy=EO=^XrU z&IHZMpMhBV{2;J_sr8S<3ry6Sg@M_dy#|*nuKHWTVFyz_IpkR~1^u{{yLUOJ4c)6g zlcAXzNm}=$RXfk&OBqoACmO2s%k2EP1lO zK$JPoeJj39KxH4o%qIokOa#)PcIo${TS@hy$?S1QyqDy}%dDFt1 zFF-74e$T3-vE6yYGXU;p-UZfT9P(GOq0U#|D0+h2hF}z^l^F&e2qvXRFaw3iD;D6* zw$8%<7Wb|<)Z@*Grjas7w$io&X8tqrz-mu1L%ld8wRrljnP}{B{&~O@BIhX3TBRl< zA|c8~)Dwq+5w>pr0-7U5tWc&-joN!3^EUX~)2Jy8i#0wz?AIsltQZ_@VrIG$il|=~ z>n}a=VaE7^JTX|MWh18TF>=>Odl$ebB&)f^X zd|ShqHi3`%W`32m)mTuxhWBKMpDxDg7$0u3ZnDZAe*}=VL@QZ{;<+^E0JGD%aWi=M zUZ6@Q5)LFp?mVQ#L>d?g!~nxYjAZLkBC)=6aR8oOIW}O*V08FLU%`OKr77rhvSF5xZy6fRd@w_9Uo|Ip^1Xnbi#-lEYJ*i@TI^n;yXxg7A1N*} zcJJp$65E~Mj@dqPpS$pF4JK0_kRs;Gr@{_csB<5b!YvG(yCYv6^VP6>o%T`;*&X}q z@%T(%159X6;>49pP|qepNycchXXv7QMZ0781vmC!^sJ3CJpnT{HZc^->q%T+%0Yn< z_1r57_LSO3On@h4|9gudrA4=0N9~O3PN?=yt&t0zJ^v!;v$L@&HuW!B5HLnlH_n7- ze=J-OoQa`Lv?2ObZaQmE8#v{vz;K?Yy|7a&h;#>kMB%2Tg)*LoZ$}ucZvkK$mDSMK z-uIflxlU{J*x0Kv0Comnyz!)FyFHj{yU~4iRW-BEX8uYztIt;!a6H?bYF$fJitJKw zKm2BDD9K%c&s?F+eD{yPJiyB;4dk9j2PuXUQ~!hFFn?&7TIqA{fS$M~z&DNmfp5@{ zL^-jR_rPsOLVA)Pc2l^!HnXN?{XVNr^f{N1Y^n=ByUV_$@ZXdLSR{bjGb&l>U6J&# zWs5@iPqoXK&GtZE*~iO|mRzZ$ZH}Gw*K)!fDH>l<8iMq)@Uvk17~Q=_U#^Ua;b^eR z`0Wv31V7oc*;@wT6(Zawi=)Mi9QUG0$V+~99KE?}UG3OP#DIYH7zt^~vEbzB467xE z^4`q&0Y3njh)G!I(F9vMEkv)x+(xiQAoZmz8fer^ooME3K8mIsu>W7_7Kmc7&X9wr za!0y6$3&aHysu=rox#T&+s8lmH{y+wT&2HeL3ip*AI;$wO?io^rl?DTMW|9yTACLj z=fa$C+Vjw@J}x6}7l4%D&lPoqb%|yAj36^@F%Cr?bBor>(9m-WuP9rn_cd)r7SG-Q zxp3YtJ)8yS>x3a4gRG=Ih#Pq+J^gVrGI#4ED^8OZc9b(pCCmkr{0VfsgtSFzWQ$d9 zMS4nTC?6-#i)vlUX2DHa{LT0G8xVTxUa(`Ec?FI<3&kVhkkyp(fijwpWLkQ6uIAlL3jhmQR~s%8AEi2fi-VFB8UKz zGOm*3+UZy!irPe%==20L*LK^SSU7~fP9a$3Gi(B0l>pYoq3Oh1UC0&HV85Z#jSk2O zN(F6B#3Vn{4xWaY{vk7mMUF2hUBk}5hz(a-tf?oI<^kCK`^PILQnc+LKa0{ z1U;8?x!QFgFb7V$d|KhN9Wy8_XB166+I#cW9fD#M0y$?g66tGF<(XJVRKqbCG%^!w zA!x)XQ@QWwUCu`A5m{|1*cS`=u)B8IS{xEV9kc8RVr{^p+H1_k`F^i9S5HcU8CPSa z8pkBEzGJ_6hs|LVzoPtZdACDpGjP-Gykz5w*s_rgm{OTL(`9i)8o4a$qqv|s2ZReq zq|$($AuH4TELYs&0WzGN!ZYS$hlYk03I%)T&0m22mV#4}5npLRk?4y!?HSepN?RwM zT16I=8g9CC`%r6!W!=hvBh1nbmQY(9o3oDY7?D595W*}_C?oqloxp-;YD& zy!SjOJ;fgC&_vjz`Nab>ko^ze@TLIqlcuDzBAO(T5_jMVea=$l%)EPwNy-3>p&;gj z;p#!LzXCPC9nB7~4c!Oheu39=Y5gcmtXO!%S0S?LNQrtuU%^;><`V>I(+uL2Nh^4|>`|+F$?( z9UrWmt_3e3NVrfrsk?DZ;>J{I)>Ct{);uRmGy$mdEJ}C{k$f5yn}b2E9qY|Oo=rSv zDx!HQ1s-k{@mf>XmJ;3uBU;+gs{#B>gf(e^DOKa{C!TU}l;`$WoDYDVMnnDjw{n6sNssl^k zNFWuS8;7Kn>f#Sb-NzPIN;JfDeXL{_H-KiPSx;BlPYH*W&ZX#+V)W^WYy~Qf zh+aaOYSD1=hJf1ySwh7!_!OE3wru1v5e-F2X#!2TeY{gd^sbIjIT;Tqw_(HivrTb!6n* z2+Zkv#!PqQjLFVkcwT`K=T6V<(oe%`rf5M9kCAyKsS4^NrduhD)ciTPxn`KO>SjH6 z`-(5SYwSh5nntDASs{4mNdEeqh$ z%M24Q8k80RcYLM0v##AJegyf)rgeiD-x|hsb8~1EwobD513&6i7O!;A{*HXzwk)DKgnt!)yUCj0um`lwQN$1%z_9_nzc-NIoAJu=(Yw zcIYT+E?&LcB0qNf$V0}x*XVe3z=UFnv;^#{inUs%^ycElsf9g(cfV=i#;dAA9Qnmx z34-_&W9iK|`A7kITOIDW(YBX15#QloU177-&^;_QS@3DPdU%5#qEW-~7SE|u0cl94 z$M=Mmpxb*Gm1n4Ky`_z;a&4hztB8)D)$L+Cbq6H&U+pUcHvf4l0SxoTFZmC6Pka(+ zfU84ujqcFcA?Iw>6}RXsA(m}|b4X@;SbB7+4Cph^={JRULybwxnYZgIl=XdUc5Otw zOjp;^e>j&CY~<+aWi$c!_e7C;7nr1aZrzi;;|7U- z!Efj)Amd5xH)Ov7@y?xLMn?56#;_Zm+|}X7Xk&l&&3I!(SuQ>UPoZ{?R7#M;FU-cQ z*)@}5kE?+DVzpmWRG0{vx^tKAv$^b+xgNE{MY@u+F-MK#tDmyoNrb%6`z-STwg1Wp zlXpKnvx!e$MoIeXiFT>W;Iij_O$6NUKkB?yBT%`Ir?<+AFaC8eifdBGMWucu2@aN`>*Z z4KTo(Rz3633={3u{_AbPl)2Izj5}T+<@aQSu+XzNk@nnypuqBE z`ZjW)pCzGLSJ#-;STE1}q8eo3BxMij1geY52FYr4DR|1&jDdkx^DYrKve*zTUUprI z*kAKGU`K##37X*n4u`pvV{F=nyw9U*;*f3!o1Bn}#p~R=z~=lqb!P*2KTef1J#Gg~ zJrF;_144xwkf*HCg)xoQb$cIjVWYP6&YLL^Q&H=Tsk*ReCyp0r)*dg&h30L+GjC!h zXbPxd#S+qGC1Wf4Hl!M=Q^s!wvcixDoXexmLwDoPWfeBJ5=3FAEMA|7MT1Z>F0lAT z5JdZ~Z488=BTwnYw`D-VWYQzxGh2UiJV7t=uDf)g|7k){0r~+U;U~dqby2lF8sH9 z!B~Z|&C);eAs_XheU%E?* zPhz_QXZhYp^=r(&;#zCE+2mZPN5t92rwqdJtlX~ocj+xfh0U96ywH8=xgJ2*Kj zPOQ$^`pggIID!OvT?OE*T|}6 zPtvG{gSSq=c`0HT<@I|Y(~iIJEyT( z|FzIcb4{ELu+iL$VFMNMsPO)n!Hy0L=wUOuzuM)^kSAWG5ul^`LdvE|wwagEGCw_PG`Vt=MWL&;KBaF3 z1MAXV#?OAX)hT_Om%eXy%1S@1Jv~?Bt;m2xB{eK#Nbdq14E~x_G%#jALD0!UlguQa zH^4r0S2(o<9hQGq24|I-aUu|)-IX}B5sHmm#)qDB?e1Ji*Z77WpfE_! z2VAal5uB02NAE6vU{@{P^8%jid0jk&k$B-*pfL>8f!w8958G1vtMdkeD|OHeGt~}! zTnM)e{JBKcpzgcDu8K@i*TtfA8Z-prb@Q04Q>EqZfMk;A!qeMU5EFJugXfVp?EW)L zOxm!Tge#1yT>2Ep?`wSZF}yd9c=vQZI0jIRd?=8Szu8nGkX~POnv-4#JY|~Vt__xO zLHcsX?dcAD62MYsT&r_Rjr%74tsV6O`CAMGvxAz&0=G5q-jnUN39h*A15Dd3Vq3y7 zHsvR{zRJyttgMW-aMZ6aY0dQb@{1XU3Y<6(C5{>zU>nK>u{|yof859Ym789A!zrtg zK98ru%BA{$S^QZ8*FJKC5nkv4#p}cSJS7QpjuyFNnJWGJ!{0S%D1{^Yoztr^ksd$*r8w+% zF{0T4BnzX1!cHolA_T&lUiVg0_YO4&JP9`TDXQ-Ld?-PMlx062kP)6*b5 zT`~W@lBp8+r)2+Z$8G|3i%<|xUvD9rO%|)97M9)37O$b8oQY9ns$?2OiYC$B5)D0| zlBvzsS$x3LORX%A1W={5xaclk*M7vZ)lmVw%0-vhIn?Klc*qAU3HZ91<^fd;X1r&# zMGEv|0q$o>ilaUVFF){I#Sn5O=-ontStC;|jN%&@_XQ&UMr@Am1StTYGoeQ5;0pv! z8)C#Ftw!M@VtuUH!1a|xI(s{}_d`59LucV^s2&CQ=PamLlQ%e_jXy^P>-9EE-p+{^ zrBlp6(}4(AJPX&aX$x+UutSn$=>Of{6y?UD9tB9xh}-{4Akyn_r2RGSa>i5se*=<7Z+u4NJkwTv>o zv885_AU2)h!HBe|m;$!P*GOzUgm^XgSyE7?zoyGf0iPXU0YhJA7@jA(S}+}9#iTg9 zad08ZC8_CfxzJ_ce$?zq-*Oy9$u{j4et!Whh%0MO0@qI~QV};n11~T-8>tF41n}5S zc!0iYQ8t$|2zt)ycbRT{Ak=-z|3bL>X!Wr`6L);s^(GWGo&voGX&y z^rldOG5E2@_eXK>fbBg=8t-X21XEbvtHNn7QGK;=sZ+)@kAW&N;4(S_H>d#KPG0(( z%RTxITMp*}Z3Ic4PmGRa3>UQ23(GM!= z?;0hY;=H{jIt`sa(+LwUf=vH!8+|Xgtc}hl|1jt%9L_7;0S~9yCpwaqhh`Q-!Nplq z?f0jtS4;NiT6fhyQ_|H8D83Hjr8z}YDGM^tS1f>U|0c!=w!0Lso3@m3jpDITh_&PP zRyvr(uXcn8flQiqgrs9bI= zL|m=rKJGU_3M=Oq3y0HMws>~5KDI)Zv*yGD)>yX)wHL_eD+qcxqq;UpjwU~~tEl@Z zz8C29!0$5mHhx!d6tiJ}eAZf}4JHSkU&5?p%`IyO ztl71W;Vmpt)qAv9@ za&13A7od7OcZr7pk`d*dRD&-cdYHzLqL10o8Tx zL@%`#p+S)+`zkh}lXAPl*=Bg=;G92rT2cfb5za(p@evBRd1qwJpW16QO_nXKsSTMp zB8DzgEvb~c3MNCw$tL;>VvRzat zB&2!m_x}D;ls3N-BYD;<(I;r6PP@N?&{NdF^*rSIT=zQY9%r{EKnwZ`YM>^@G4F)} z@63=Gg_S1b`(Mv=-oPS6)h#|{MQ%nS#qS&Akl7fNhu_Y!<%3_ zmf>`ejQml&>uka_WDgX5&i>Kz6wiRQ7oK_pPYtu_gajHsguyzc7H7>mvHv`ltxTeJr-%$k6s{DbKS4n5RbpL#BfDk2m5Ti*? z7Fj#W>g)QAQ;L}3FY~*2xUv5hKr^u513DNt`WpoGH(gS#kT!=9VZV<1`**g%D8 zh!;WUX#T^QeR*S=T%gs&15A*kZ?k*+tT`f>7GGoXJQP>Aoin}HV?Hp3_}G&Q9ZT;GN6>*(7r*o$GNlyLRqv4QmT*^>S+40F|4lAAcVxBZCXx5% z9P&w^g9IDOoAP*=Pq-_fK+v@9ben6&BV#Cc8;PB0F8=^-8D#yBwy3{txdUJ)A8j2V zTI@KJ9W-zq^)Di)e)cbzaJ|*(yOQdqfI_Q{*pYzc0NHAlRrH7v5W`Hn!Q=xkGBwyB zur6l^*eXRbx+6Kj;{c?H1%>pKSAR}YF!q2SELQH$agF$x$1>$l+lZvErywk{m zgZ&=jtmf@%f%2pt!Pex`*#RhBJi2NSx`#-;%U&N{ODHgbU%0ddVuhOn=*aV9)zv*^ z{7}V>dHyCn$V<~Y*$2+24*|k)s-EkB3D=xHp~_GgLqYcD-L9vz|J z$@SZu5j0KUg$-A6;1KHXpyJg`es`zTOY`Tv*Qc7ru^HHc@J=-H+kK-$6BcLr++im4 zxqJ^Wa;&*<)JeC+IjT-{%%>ltGz^BN9gy>Z zO$Sg$Q&B?U@5tI8mfh=|uPuh%5(fB#Wik%-CrYOv%aOuyDWA;mZQQaR*r~JOBEM)3 ze_)Ky{V)iTvir;Te0v$ch$S!aH8zAvBmEdTC0;f%>mDTS4 z{g~R&pL{HMe}IsEs;Np#bG-fcF&fEaApI9$HtYTSzur0}{(rr-#%kC9BN<~`Z;u~X z3;Q(1{LbSI*In)M9|_3{K44dD1?2(Lg#`^hlvR6;G*&>9kF+p8cUf00GqqeulX$XD z_gM%=+2%Ku4CpdalD7gWp*ewF<;5jn)1R@qHXgR2@vf!UyX=VQDMI zFo-#%SzdUOLMQlw1M@O1H<<**nu}nRhksK3SwAswo4K@?e;oc#ZqEPh?fBy-q;AJ)(+CWjBGNS&VT^hwdx4&G{`VogYmgD#wsP7Un4h{=4K`rE1KO7pA zV##+3yN9p+ z^)Yb@${bl19LzsB!H^~Gm>tAs;d>1sYTcn)fsGXDXq*{Bf8bD+a<_43sRB{S`vhh9 zLRWXWr%6#NARO=A+sV($`i;$Zd5o4fzX|h{h?DOxbf?uLW9h(c<}VIog@b6Z;^~F7s$TKg^Jw0d8ZMF!i123Ac8x0g-YG;BFOS$Epq_M zI|KI9OsjMHJs+cyBPXN-?!T=9B+xM{tL4CnV^B*7dtBHB^F_Nz0LV=4#mg5X`~u*D zuh}RgZ7#I02n9+}!)^dXiG1QG6gE0UfYsPP@HSO_y^3U42ZiWD#a-N-AB3nHl~ryy zBwQUcFH}U1HmJX(e8+YSqtSSCF9Zq7+A{+>n==#5yfqZ(E-UI%Y`E!uwaqa0end4b z{N|7>bEUEhp(lM$X)bVBbBCo#h^6l7|NDXGRHL4_OuTx)n@F&GXU&A7ZlMshA?P_f zbJj^`0#u#419VdGs&(A^7iUibo8Fz@r883-WI<%gKJs)aLIUhOdACAV{RI_$E8qdi ze%S_xQwWU1X*4ws;(d(f?Q*jhGBprsN+~*gSsFrP7i2)Fg8)gyo+<2lC_{#!5fx*y z1F2#~2*VB?Y#f9cft9B?cA){DY0z*G?Y{YDUYSEVI(|_m9o=l}OWjZBimh~U@a|J2 zyOc~jm{4RwQ@wEI;M^1GmJ;J(n*4vOi6Y|1<$}{pDyw8d9KWfSzI}F*vOvrPB&E>A zT~Px2QdFoDCIhBqSMIGes#bRmM!B8UuGijVl-Vzw2K(N!V1P@w_c2Fr7(>(Bm-hb2 z^)40g>#x_VOVP}Boo8?N;g}Ozw=atAf4fa5PH5FtD4GR5@IwEZS!BJwduodS;+xkV zoaVS0UUq6r0?^gJGXdyn-JdaIEy7F6-LBG3hs_cU9#4 z&b=i&uv)FgArttunE$H!42^GxmOs?bdrBw?6%vw0;+m@GN2p<6{t_d6JAJ2 z6lG9?CkPpyD*IcUZ}(ojpu555Z*2*GMhLYS09sy=tCfJN(9Bt=iU*GS*tgPCQPx1r z9V}j&S&B$XM3d~C=FPEd4(lW6eD9T7 z_@64L`Qz`)x_F`wXEr^XU-2>6O=%UzmX(CWT&BQ&75euA2c9X@4Z@sDRy`P>$AlFe z4VZ~(j#;V5&)*qt5D@!Ky~az|3Wum%JV3-VzYIN zmNAJb$AAV4U7|}f$BaNA_obM)P#Fia`H7I?u#@K?xxK=c;}A+LrOA?~N?cTA()K6W zxU8L`suTu~w~=}8QR`r8hzfq+BE!9JxmUbn?lO&tf|vBAv}j+Z8={Gc;|A69(xPWH zwT1ji63r(IXJS&qcw(PfM*omcy}XJQiQaf5yM(?IW99juZO}neb_CihL~2^+f>>(8 zk5ps?{?$C2GQ0gB$ZL_0gLJ2C^Z*p#Hdxfx!6HQp6w4!D+viP;GV-*!U(Kw zUYMiRv@8B=#j(YP*rHc?(@nwr9O$P-k;-x1ntk7OsvFphPOr(5Ijv1J0_mjUIa#cE zgsvU7IzWrzz;RB5{PcKrZa;E?F2}`|b;0vX*VEyVI>T}`@vmc1ciV2xuKh5p`f}EH z57av@|FhnCwQ$o5bscTxUJ~}lvZv?gLqkLbPF(%T@qhQ_vdzRiNTsx(KKt$UKMIzC z+skzR_A3Z8OkwS{KY#weKkXxJ2TTZ*lVS}9JSrPTtA5F}l#TZM(0ssezuj*=`1XS3 zrt=72VfxP=>xM~q1LA;yfA|xiEMPOG&t5YE-`X)zy(YwH+!rMO7(R?irldxpcrRld zZ(8ABm8A}`q_SL2DH0qBFTj5D`d^sL&i_Y{FHPS(-2xLQ8lqg7py zyq9y7(AXrD7N4#V$U%5vcE1Q1ntfg&|3j`dVcb>Y;;c(Z(-5K9=;_wZGmR!HnxnU; z9nU-4s#kpnp)WaPoLGA~sZRH*m0ig!u&kPQCy{7LX%jL4$iOt!4`(u%$JK5Jx#3m{ zOALK?h#Sggv07Mn#OJ{M@8u_du{`~oGWHg3jV2(%CaMOqp*5zGuQSKi43542)FN;t+m1)>;3gwX5Sh+Y7epX%$iYIH3N=^x zo|u;IWmQ2v5O^98V*mluOj(z4;x)vqg>9I-FfBID)ZX%Zk>YrM2|%=$L7g+lhe%Ja zplqWSxux`Wk)=6qBhF}qY8`h^vRi=KvieNqo2~3vZ`S?hffG(I>r1QCwB~k|+3f1c zWb#cMQ%m#6iiV!4gg%%q1OtabXEJPecP)(4+Qj~ImoEc3l<6!BoMLwzG^g$gyg>N$ z)klCp`(Czf@1CHVhcysScq)m4P+X%Kwvb%@Bf`SY8zQ|w9N9Do(^mFRCFU1$?5}kI zJOKj@>h3*ZY@bgV-HWOQ$^=hggq8pJo-*=QbF<=rL0~5;#@Dvs0Rvq#~XBy2pht4r{%(Pu%`@Y?e@x&!2xCw>b0X4e&&}Q5`a!EAmI?~Tkl%2udQpooV{>Dn%<6e z1Pg^SV3^$y4@gpz3KlvUy9fi4E8UTh>yi8>v3<{`MYceCU3jj$-pL%nqW)8q# zuPVm57MvRKZ73QhQk0C%fN|7>*}|Gumz(p=@+pev^!|Z+6Zkw z!dtu$y~F?PfS~qtT@YTfT4`wkjfuLL=~kFpFPQuXLP17G*k($%19^AB2LVBC8UVgz zw4G!jdA088{LW<}( zlJnph!&vek0%5P|>y!k-owXFVGVgTMoK_3vE|1+kWYMRlrWONS;DQh4iDp{FNoS~( zR8>?|nu3W(Mr&?P&ma!RhUQmAkN{O8n$z*vwxIUz} zxNDoWLBf&NX4pUd^gdN<+idqaP*B{nSw3Vob{htB&pgLG|6>yp)&H`F737Ddl;Y>jMiMZS(*iJ?tMdOr(G z()sP5T&lj<8<;4IL}r~(Tebj0pR+LH*q?3R9kHgOelu1}<;c5b%M+-1B$yk!k97Z& z$c4+!zzW6s!@+iPI!&B~HNGW%8_B2%gwdID<6(>s%ZOE(M?1k(H^I;qjI|egCVCraUWH~4(_$iz5QC0CVPQ%vP8(hwGT(4n#R#<5^9WMW2*;xWV)*#Yu_u9d1yJrPcKFl`ngCc!vU&(SOg@XIgV z>^=J-7i}=v6B84&vt%W{Zdel;Q9Chj7niSxS$lT!{ZRJ{=3VBIew^YAb+{i==VXS{ z%-%ZK-%q8SOy3V5Gf_O?jCq5!wGs1*`Iw*S6VeiV^`t0%zm69&BQzCOh;^V3-C89Z z<|MYJRO{i$D*jpJu5^3B&rPtB+yegTZq}) zk2LdH>m^|icKLm6E(1@4=AV2Hp09rC@jIx9cEm%E<8Zc$woCVPa=3!;N*_df+of{Ae}Fe5>%TPdtrY;BPo z>ZDPLn-u3!ToTQ9O}p3EJ*y{i@v}-@Y_br)%SG#JZ3ob?F`Z=-IdhrJe0PkDF5<@- zl~+{sg*jD!GP>aodwVY=4F@0qci8ts&-wliXfZRcUOpQh1Z?4ZP*PZO)?hHxDoiXt z>SK!0;y)r0;{nfRO0eYYO*FGF9a-FJb!mba>#SKtdp7 zIl-&82?|#g0|SGiX+!UYKK_@02S^|Z%o_I2=*m1q`0U1D*q0?>dox`=)a%RAyUnZj zHJ1*#&zzo_z&k7$c<*GWhVh$tZ2YLYThThwx_fZPp#I>q!InYZ`aIT`YM!?FgT*wV=%tU7m*{;X#TQD=(KlVWBg)q3(4JKquk(biOHwJF)`iG z4hqUncoUv5KmYT<@ajF`>T>bUcC2?GKSqled^|YOSQIVZ#r_UZDwx4MRny4mMb1b! zTtuYV(lj-V$N{x&1oOtd)y%eF#ORMtX!H?$6}fD<7xbP^?b=F?oZ_ytpDh{aNU>KW zQew^Ho&Kgit`-b8k|R5(4u-Knkia$A+4tPN!1s4SE*Z=<1cRjsKAFS2YVyiZ6NCed z@d#c1A)3XD+lPtk*9>xG%ISgC z!RJgosc%ZHE6PF>OvcSV96lm9wPQO)hk8_m+W!Wi@^}Apx75_q+PWB`5K7eV_jhm4 z&T681iquq~?PEhgCu9p4=wAb2M(fP0EqutCFyms|Oz{%9;LQ{@4+(|LxvXQExWn}n zwQ}lAB6&4wm`&f}56mCJs;We4I&{q1yc~N?^HbChb{;Z(9&RH?b^bQEt3K*CT!WOKwRUpe+>Dpg>eNvy-#} zuhtw@+bMI+g4v#g?##pG^swy|oJL@viAVoF!<>{CO(VoB*^atTT?e;OZfQwn&|+S_ z!a>R&CQt#U2bkAKg-Er$rH8SV?b#_=idb5@EzN7ik7MEb?Q4d|1cKkp)=1EAZYIyi z2Axh@6d)%YQR2egJ!f^~UHV@p>iKcbwu8GGvf^ycHAj47-C(#D=fhxD!pgVyVYHHP z>ZY+Hk6Mbdq|50MEw972#)g+qaDWMwsEcMn@147pSgUT5eEGVw<;3S%Hr;{{w1=^M zf#wAx0cs+Ws-#M8TDGlCN=xPFd<=$nEl+ddc6Ds7=oO{eo|fF+!~qi* zj|aT;o&kl~Fmo~e;8*B#b>6z``RLo3{G)?>v7StV4O;%ZxL*^LchmEmGz%{45z@ok zkE*ywK8YzD`&1WgKI64Iz_vYK@v2_ojx1qIl{0j)0^;*c^5ShFt`(}Vp4!3i6NB-5 zxphO8rUkB_0@J(i{Sj(QyuS{J@w zKbwEB>y_uzZ#wywgI%$n&%RmY!^nvBQm%kI9rYXyo_x$3rc+!<*&gsAAGZ`0s2R}f z#pc-9%ckeg79>3%eK2hxmElLE#o);4UcmdzJoo>7i(m8e=rSaTOW(uYC~(FNw=vH+ z^VvZ?l{6ycv$EfE-rVr!pBc%{cITjmH|J*LJ6RMs_;g=BGBv@>kCtuU-ruNc#L!Pp z!T;5kGrR>>;Whnp_gzPi_3x8;?0T(xSC+7;mAG)8xeEoWBu*fKAuS z^sV`SyM#XiwUyhm@TCtDQt+>OXqz>=?EiT>BP*EyREP40chid@;!9Uba)QaCm-CpD z$J5QB+dJujRh}y_QEq4i`ugairF-a0{eE@1&28CDv%`ysUeZ}3Z2 zGZ^hvg)3;MStp<)cuZEU&E=!&`HimMTDaf~JZK|`mu9E%q(3wuUeRrfwP!v`MZmK! z0jXie80rB=!0m%2=o5`LSwtts^?wXEkfjxh1KJ7};H^R{jpFtrlkTJAu8yy15$*Q5Rg$vjZ^=FS@I zE04oyZ+U?<*$m%}g}dQ=a+V8xwT{``SwvuNnS*;Fxrj({$8qu1^q{1QwgGA_AG^Wsp3W#FUXtA}=bHLa_3f~2XQ4FgQMIot{p!VV zF%PRK3Dg=SY%=QzmQsf7^2iC}VDjfG*V*qsr(0*Ro;M>!Uvx#ckI)0eHTY>soXB zWA*13Y$fRLHj~RZi~YN9Ro{DL=_TW_S<&eAgAWI)VkP6#^BND4>y6c&#H!v%u7joQ zr8Rqy5%efHJBN*c4ilI`vkbGg6Go?a%%+l-w$Z#jPl|Xh((6bc0(ZFdOTmL1sX7y} zZ$k6>6AGcKT4eXrItUX*GrtTzO^-hxeXc}Jn#S81exI7kA0H4T~C2Y9<`C7Xn zj}&bz$USH&QeT4RTbJiVmRSt&-nk00TnBU|MEKXJ>V^8R3i7m(KH9*0)=8?WRq{py z@Bc&CcgHoAZQ(NGFy6s7jufSi*RjwC>0rPH3`9VB2PM)=Kza#S1`E{&C{?9Nmlis) zP?Q#GLXjXMgdV8@0?Atkbne{p-pe0j{EgXXpL6zJdzJ6|)>j9E?HWmI%k6daoHk(| z27^EQc=3x*kEPXtdNg{fxVka(B?h)g)Z;d7-}Fk4r{Sf+Fb`^H&EbJE z+T)lTB;mFZnfUG`9WUj!c^PtdlCGD~_9$#@;oC}*9(}!7%l*0I8yc+vOOm$BNvUdd z!C1u0=GxS-J_ufRtHznZ2jjj8qfP}`imBrvfjhgZ?@_iLdKm14+*bbP)#VcR{_Z0G zbuxyD#on3a8*h4gfWm#Qsph!IdMfwP*#Tt!P%5}q?76seLeccuN4~*U>pL$UE-K+Zul(GT{O&A2L zx6AD=U~W5PjvhTag2ep)VKrv-%a_W*JG|d#sH`fo9u*DSS_ACng7qaEysPPVySDRk2hc4 zPAgb{_F^I^m|uP_VM2MPW}+|Sq!4>siQQ<<M%b0N5=v%FwD)_?6iwkhwp zdtlpxv*(2`lm@{d-OV`XEs4}Ryi!Ot5TMnLhVZsO9;?i$>SY- zxzamvaX>alCs>1W^@=RjKkV0ml*R0f3_tN&ugM`a?NT65xAGH8+fwv5Q}t?O%T$#r z;RB=Y7 zhMAqJoYV0r?%MU3yLt{GGV8ko47_J7@5hL!aBb>FJv{c|Wso8>j}X2Ul(msvK0fIW z>7tGpZgvs(DW&&3E47GJ7(LSepst)7P2D&tSAg3rte&LcKbOfY`%kW=vt8nNF5pM9 zxq@B~dHL+s+rza%lL8lLwt>gHtDjIhmkKidpzGZBXRpzJMu#4T>0kOjynmS11RDi? zei*RNF6iqe?$}^VYu%SOVi!n@L$r2{^V}kdLH%}8tIEUu0!lmn3Fj3*cmitR2-*hW ztPnR7f)oCc=RrYy|6<%C-yy2Q2wrzkH9orN~3|f^P zm2*zX1$a&G;m2Ot1@*Dfj? zDg5DKI?gHnpwf74;jZ2c5r@f*hYxOzx?2-wd@zZ{sp<15H19CE)=FbUg*$zINaR+n zy^vMQPKPEJS0dG1!Cfg!2H!!zG!-~JcoP;zwecT+pF&rh&GK*yn!{kd(tjOFt>P;2 zrR5&%!J6@a|9A&{VA)e8f?M{&B$@pCZDs0_zC;66i(iPix2a?FhRyGuW*~G|_nP^} z$9)sTbE+K2kYGx2in)Xd$8F< z0^WR`9z=XEwl(L$QQ1p$_Suc%wrCw&PL#4+ohG9?6Sf|f+ z1>{+NFyD4{*6m))TKoe^!w63DcdK;up$ap8hB=nK3E(WS(+&G*MHSqPI0nJ1 zpA3o!e$0s=zi#Cu%Gi=lmfv=91lD}QmL$4k>_B|HMuReCKe}$Up~lX{qUp>{+eHw6 z6t8w&9irI=Sy_4WpZpDb9YZ8VwP2QW33t|XErnXFD`b^??;Mn64!lqraqFz5-U&AJ z)Edd-{9(YtC!3S`WVv3uI-YZ2AeD1M3w`)^!+%K6>Q3p7KHxm7b-2hdOw{PLR?EtI z)E*R3OVk2g)ZLsTmv&VN>=& zB2L4Hm3$|kh))J_xMy@28Gzo5yCyg9w7zj{)HKEG3Mu7=FMGDFsrfKj_IUPH)4*FL zsm!@KXQv=7hHjJahqOkz@^Tc|4!wcwQ`R91gVnhiN3#x95=3~)KqI^B6@6cNSo#n7~id&OqpGZ&hkUmE_Q73ptdZ?tD@X1Sqbmi+OCE| zee6@b&Iu7+odix<074gj=hi<+Du}9lcw8gq?g7lJ__{}BZJ{g%W|_criCm?J#-z|f z{PNcNiMAt<+dYz{6E%0>*p=8edmI1DhH{bU!E{#K+oBi48pNn(dQ|)O=VNa+QuFiA zJ-cC;qZRw+wB{&>VbCt=jF%TVPRUY^XV#r{$qTFcyQW&%xVnXwA;yrwGkvou^hg1USbI^;_2W-iVteiHafRtNxOpZd!|9@fj&z);+b~OR`qxRxpcUR*?sNeG;rL-@YD7_p5GtTO?v6 zWlpeF?~w@k4TAJvAmj~S2szG!^T_gmtlU$|WD zJ?9h}=Ay+*!`L)waZqdXLonRGO-s*waBWQ)l&N!wx@n)yVTp;N;YPi*MmZLr&6hYv zb)j;tn6^D~t-}v|laaV=g5u}uJu@IF^j)Dzd4R#jTMQx6&Zj!(XE=8btDIuiDAYRt zacZf#)jycoG9TI= znj_CRk4>4YD5xjR-zT%<_o{R3&&UAF>6&Bl05+*X#%X;HCpS}uGxvoAaF9wo^p(mb z?2M}EgB4iaFt0x_9B2*?pSez!&+8YcGD&#Yqv;p*a`a>0_zCYO8wRD&m@5x+qGNp} zTn?HfN1=&hW5)@}$zG#0Fbe}J>~#HCc}0-5RM%weHS5K{DO$UNzf=I-tAAAuou~IxwXvbPA65$XHLe~$@+pg`atJ*|YGiMUiYCtuoZdgWY9hO{q(*KAszDs^JAVVz^O6YE&hWsbDM~C^A)^*P(#u=$uEg({~enCBvR}Gt)OSUiN%4qc1 z=IVcpuf%gQCCk}%GJ)5|YYKh2OywN01uy(VrM^woxJ(FU_PML&fXU$#czLJ69-DuB zI_kvm&hy^zChD`I1(x@C;pL{$RKv&n63OB%?fEa=&hWjY)OROnUiwQf_+#mU0@)(QqhEA$ z)ML+{%NO7M!|k_K35t5vSB+gwrRAG*+g(hLsmF8BzS}8jbb@hvc;h4q+s{9w>=Vse z951(r6m(dNU@GhCM(QFZC-4y4?cRUO@0T9^zj+>P_reU82a?kXWsm;A%$DhOb8#=bxJ&3$> zbm{uJPc4L$9P>kL`2)|@B5aYuILp7^{|NwmN%1N)P)G2G1|y%IM@Tde@P=Z4np~Yc z1w4_(ZTIzB+BVj!FF)Pt_KSnTA-i#-CYX-CX^e(ujQ{dJ)hM+RrZi-Yl46_{AsCg{ zN$@y_Px5HbVsBA6mj2)F{hN^$W)ZbMUZPG0?>@-A=xjWm&(@(d22a*k*Q7)JPfBFl+#fbxeh| zMr;CD-2p(qMHd2RYaZnF?72GJt0prm7TcBmcE0cGD@_r39vdI;;HJqDl+j_%n~LXC z_H{+nvHY#r@{2fssRm^O%*dOtemNd1Z@mvtS`EO~!++z;Y#@zSXh!&WV^=ZG#h>jNmuyWhC^%OcDZx!r1t|SNUzFT+Pnybm`3sFz%vzwkp z$*=aRo13QdQ)xwZZ<~WTU#k9(XuabX{W~*>@s@|mYo~AaUv2qJZ<;i!9v}W{Gp}-= z-Eoa{%;>PF;k>hR@5>v&ooa*vVlmAj73Ygk1{oKSet9@mTbX1?3g zq5Z>h%#BD;4`ytuTR3i$uM|$$?VxbpY{E(1O5Th;F)8yqcUzStcb$h{Pl5llXMWUz zGpF4hR@~G5eybIoOxC37An*ML$h+RpxtAeg?c~JY=N!)2>db!-Sx&w?d-Waji-2W( zLR7ScY%R*(iYR=z`L!!j>j8LLqUFeVAQGXSaw>pcu7OJ!p2VCvdoI?=<%9WYgivKDSFtip*Lm=dRgKuhq|{<@Qdk%ptn% zT8)P7;=0}12?esdYmfdR%y$y0NVeA!+| zMe_n#X-ME|qO?Q%9EW4j;!UBAUm0SqUftUAcGEi_u{9i|%jEqf%A zi0BeYf$~@l*VgntmTjGW*WPAouu5z@o}@;MV5@`&{P?&dY?x|d{>)*_Y_V!%yTIV0 zUI#v-GG#nCfiWrIIPB)XqLc1-r1r=~SDj5)P39i9zC=T_8HD{oUcmx8NYBbjU>|Df zB3=d17YBiE!u^9wxXc__qjquvwV--#z^YPAlez#s9Gid@fC2P%faunoUb$>j*=}1o zk?T5xda7-E>O&)~({H5#UJ~|;%x*G%DaVM zC2XSSfN+D?`U@a7qd*s3VV6^HZ|~TV6?f23@LX(@Z`vdO;b%y$d4hVW!*n*zrl4k_ zS?r#%p5FcB7DOcp>3;Aq+NXib9Zs=#2m z`fNB4QsC;Vt5s>vJtiwgRdb>?2mioHFsz(`M4dDjn+E0I4nBU(Y>t83sv9G#fIH_$ z_97+lvp?cIK4e~I`qs)m>I^&$F;BdxaL_s zf+XzW?S!(9mtxzbtGj%wCjt+O#v?-ZyMi*pUBvf`ZHt|mZ^OTyHuyj(&M=uddC-TM z-&yqOk*OT3=rQYdYU9+=ZVUsjy>{Y+gp+%wV#2s{LW$E{ref0g)r4-S9gFEdbp-%` z=jJk*3VQg!JkwS0R>mgb zeA}li%phsc+6l))PVE_$@#B{gB9eom+P260mN`3Zu}u!ugXKW&*f zPPYB%1X*=u<)#{kQ2q#;DpgW%&4ZX5M|XT&2kvm7HyY{c`)ruq2aN+Qtv>jdOYnCt&3mN>uB2(8NV)mEo5Rc01(;! zd^FvzfRt(-omD#D@N^L~!AJPzW@Ct)Z>eaE32U|6RK~@*CqGb8h`l;p@&34a!V#x} zbj63`Itk~TB)(M}UKMS3kaApBir*6hg6qFW6TUR*8T;tvS*>Z+oSenO=`~tphtXCE z$7lzxh+5;s5_dW2q*vY_|06-vsr}o0UKM@4D+6#TBMy&ZBM*<(aq0~yBgcbS@I2*( zl_JzgE#gyr0>>x&HJnmiC6H--E1$4^Ilg7GPbc<3VR0hp6JxYu7gJc|7BirySL{x| zE(;@;%5rq2y!@w-n#KJTr$GGVp)7~wlz_k$r@iT4@jNh_ulSjc@z^~I$A64r*zQ(l zu+*#Djf(t9p^Z0q=Az45Qe*lmrG?aTyT8nINnaqIM0GE@c1!CJl~7*a?&s1rt?e2{ z9SXS5iSs6nFEq>53P&DdaI?k!Ym>Cb;(&cka<-k@uJEtqT3X)=rO`sn=S1w?F2UpV z4=VRHyn_1dwpIXJ&_qY2 ziD7h&jCzWn*OKD=4yZTZdc0X}VLO>*)6h7ewsvA~xi_{Or9)R5TJ)xMOaDRqC+fhr zTl@HBn^oEu<6f&9k<+cp)s!3>;mO!$4bPWds0;LyL*0KH z?c03;uX`JJ_S1l$SVZ#(HfBFHM07ox3GgCwA;@l7i#^#?ExJ6LyLKW$1W>57e;bSU z+jJBbwzfH2Lbk=&d#Nuygvf3Cg_1KC3sxH6WFFTmS)J^|``}c8X8sz}~#lLOtT zKj{A)dgzV)_HeF!+9tku{OO&25K0hCs6}*>nF8_AcRq#IBgv@Fr~p4 z*Yq51W(1W1spi1c$8@}ePp)-1f(^;6nt~E};pHa>lUr_$)t+|o{8~!;>x2ewbsO0+ z0#V9(479L1D8^I%Ju$vjIzKCRF}MaHZX5j@zRlfKCtAl!bdmC@6lzrftdO?&JHG9- z3sS(=XoN<^2M~`20nuV%1w!4fX$zR}wQhHfJMOI6xyIpx=i1lx&o`+QeF=kbBZ7YA zb-wLGfa?vu;b9(8CVRI}et@>XUq4Tmw>N@9vyzVxKTg*_l;7{Qs#-%wxyH~`m=t3& zG;(ZFD5{Om_;Z@MwUV#WZEuOmq^`;guM5h9+1Ld3FKYjRx8E>lsB(iKT7>8Ut`hTc-&8wc-@yzJh?y4lz>p8(~*3L?)~b zO_+w*iX}5VT3Mrn#)PB9#%MQ-1-;M*1Nt_+4;wQf;f2iT+dN(seYG%L(;e9khS3!= z>PhruIICFE(7~s%MK@F)GR3)lrq#b&bkYBX>HP~27j3n@3Ej?@Q?eRfb*mm~N(D)RDiZy)j}WUuiyA>6PDpYyz2a`TN(UQjaR@r6j)wfp7(=9ZzmAm^TdJE z4jgy8P59p)GTZ0P)}XKUcL1kiwbeo80I-}QKq$^(dQv(+Yo&BAGSc5^pZtdr=;?DH zk@nL$MbKS=&O5>7N&Blu4gCA)dxps~kX-P76c=ZYjI)J6KP~lFZ%_EakrPJ3E@XEy zs~}zlffKPkHQj!HU*`k3cha+SJB^UNb3)|r_y1>xvmL_m-u~5#NB_&tuz7qz!lzU8 zJ)xQ3Uwb>7;8JiGy2&)c6G;XStApe^SaDcR!h$=|IPXqduCbh0E}+wUi^}kFAZ8h} zev3JqDBrY_Z-HsTyA^qX8fnX&2P?B_R=4+d)?u0)hbz4v`Ob1@3{`71Ei6p*l$dw} zALa7o0ju?usDe#~#_d}n(Wos%!91L%(K1`uE8FXzMr+}(3jT0E9#@e21r1Ohi91zm zi_hKXl1$4lopF6p5It)lrxD-WJYi|QKe?s(Ii}pbUq2zP-Rk){YJ2q?Oh$&;y}Wd* z>R{}CWxtts-#ZLWPnUe@$G0V>g)C;i7=C#eKi)E4Rn=!%EhpF8bDp7-oMvHUv~*BO zrdd5Yym;iubH=@AYZS*VclRsM=&QA4+jbtJcLQ7D8p*9K&#Y)YjLN5Cb7w%&>$yRU zU?=X?s|iZApZ9e4@v7yy1IfT`>eQgb!R1~$+qs%no+K5Tb4|xfM2SyNJrC}AF%i%u z+&TS7YESC%u{0-9#B%+=E@{^?P*&vJxMZrh`Q$~w$lAm}7S<4=%ds6h)%%~m)*Hw` zs}%e9UZDe+Z<|J$;4+_lM*d-9<6u_Q!%~!I0mL zPbnW+hxrD^@N(70s2--dDI2$iC>pmtIUs87ud<#ZCHG@W=;ftDLG~21%T|!|6~6Z$ zODK2-BNS26t|Y3m-Wh{1SNOFD<+0IfgpE|wjgCU7p~gcR^7Dk>!u!sGQW>F6-`N+1 zF=LW-2U{HK4lXCkH$2@X8T}f&R)Q>Pl^eEOOt{jos4!$J-hL0#>(8x}RioM26bA5l zW(P`GV@>nG_&DfOVjX#avOrSU#IZzwObS_-+AoIg^2wamCMOpV+{YvOH~*j?9YTOc z(QYAIO{d_i$796q@LMfUlNwr7*Yq~V2VxrWy|Pks7?Y--u$v_(a(N%cK+emGLT;iubBN?_LQ!#W&lI%ztuY9n7kw<2tGJ2NsRZ^{Z%;%q;55&z%|z#_%(9Wz{zL1NkVl zA{&2iYDNr-S8}r@X0*qTa2!%pZ5E2WU7NbZkul|vBoq()OLNu#{83D7cUD7dDDzCx z)ith8%&S*5v1!7n+e@dqyv!75pCIYIYoun~Z>5^O(ukcrXCjYv-xv|ftbZSG&26`X zy(L^TP;jzxV`Ol+H3bQS^5g&YvVMg0*qZ#-@5r%GsHCNmyrO`hTl-} zOTk@UT0~e;*GTXGb*WAy<&Q8QiNWL2MbHXuXrvesVK!qJnOMcf{J{29*m{G~2AMt2 zPSzuX1@3UYK$S_w3@Ugh-(ZGp&n}T#t{`pvp-(Z;rCjY<_S{Sg@{E(Ng;`4L-=D13W$ z`3tGMPBvPVxjMrDHoh%%W$Xmb6_SEWD*KMj<5CH2RWnk7^=5)ptxGxUaxaB^XHoLq ze+~2C#uX4gZ6p6P*L($EUMp_1gY8l%Vt)DJ44XdAk1leXKYTq(Y)-KWL~w_tUjto@ zPEcjzLg<+)&}fWA1IA@gB+wigDLHYtF;ScMbvs}Vi_B36sii#mahFo{b3`TOpuZ2% z<_)DPbxi~|2TgARhy^eE)Of5oK_R-?f_Vjt^ZVeb5zJgnjX`KbSVeE(rbt1jpP5rJ z>6=zA1~ar%27{~fqx%Af5g!doilEjT32MqH1`1Z)PQ2}UX@HT_{R z^>GRU;?4isy-Pa%*M6iEh-rn#<(Uta($K+!50R{~1cK7qo$<inZ}Xq_?k`1;-yqFD5CV_vSq?Im7!fCjn9QaM2wMS$LQliRf`i5H=QEQDs?7 znF7z)0>d&$6?Pr$s$!rU9Qoe-W>`Ha4?aa@@ybl>h@-&i`gxQDN}*&dq2 zYk%SWxZ(KiT?2HW~MiiF|y{~>0i&Ie-MNP)>L2qPT1 zTvmt^&rJgO45I&4OvGu%k^v}HYL$}|clJ`)Y*$Fv+K|WFJ^jpw-Y9C4mkz$IjBL#Z zy>_XW2`Ohy#fJ(@aTqAdt)-93EGxlVa5M#O(ql%VE&y9~)mWFQ>aZ&?Bhof^Gl-iQ zS1Vd*9y?oKJhYM%+|*G#3X(d15WV^j#86$3dqyl2-1E6dIq}dYQWaRI!0d;*ki-luRJT zveucx9zqss(BN9Gr)j~_g5&J(IE>m?Wc=nnYz#^O5wcI<6f$F{p#_Iey~kCBTx@Dp z*LSOk-bxBK^Ugh(K%dj^Dmb?!cvUBo*H622ut+7>6(39zC~}*ogtB(AdF1sM2l}|0 zmz{)D>AgjGcLaSyhqZ`6MD2ELhS{;+DxmU*JifmpSJuVN+OpE!P&roeV zFr4s<3y;J*4Q|5HsctWAU`YW1X#197Q!bDwP>bU*2MvyXt05QY^Im<<2x2f=8$z^L zo&|$o(WRmk=m-eK1rJ}6tb5wyhn`>|Wm0e;@J<$>Yyxoq6+_D;XP04e7WW&4*!ZQI|H z8=Cw58lv427xsh8l_@LP79RfW?LrwoJ8->p=vm3lGPjnv)wjB|VC{qXeHqjQz!`vy z!FC||^e(7|@q<3IXE4}~*6-~!ITUeF+`R)GacB4H|BZlu!H9rt<9wdVLO5wp1gFZptFc!a z(^<;m6SdzwArcr9c{!_A5|Uc?=yKY?Pe>d7qA6uNqhZTvWS?(7LT=2dq&KuD4=y54 zC2qjPUV|R8i98i|O&_uKp#nk^%5Yc8#_Y7nGp^hv%WkA4-qVWhSY77rGTBB5u`9Nq z^MueYxwyDIk!oswIVB?$C68ASSW`*^wt=1|@Z5Kc}z!29Jf12-Wv%MooLE z%jpatF%M?UR{Kojs}rD4fVaw|!sNz-H*119dn`x|gi|Z|$TnPY?;cPrTJ0AuTB@X} z#e{z+^=S`F8F0W!bit(PWYOoWce^ls*|doKGHDDfm&U0zRx*%y_?6|v%sGcdf~YPH zg|3&3F087C3LGGOX&{R`1b;c#`OJ$N{Mki3h`ELYxHf}?S^><2BDOi`h;i+PJ~O`p zSxU6JJW%1NTNV#h1wYE8^nYd}0e@n@VDg(AnUaF#h}~S3mv4v>+Eg!fA**EKd<-Z% zno_=Eatp5m0nUOXekY;Q0P}W==XtTSx<~;7O5%$XwSg;6xN+sNx~y`f==y1Eo1k6F3v`I67|mmqn}%bW5ZfQ zLYoBk5Qg(w&SKsk*J)ng=N)-AG)vHK{?@+WUzOr%>rEBmy|-dTF{IF8A#Bx}&|;jG z{tL0qo3_KNjq*rBrpW0bA$5pHl>qz5{KmFaB)_!&i#Q98+5qZQJHiqBscr+d+v2*nQb5s354ErP(B!JTyGQB8ms zRBC16?2-n3oYu_eb1n1*bT{70k9HDRQ`2#X%>uSNCugpbm*onsEq4(!`-Z)rezTMD z=YbO9tVMbK_$`Ltvy&?5RnkT zIs{}S;+re6Mx$u}Kd+%rn3o6Y^cWHySEJmV45O3yQR^vB=-`{~AynC3y|D3yXR++l z@+TB)zo<=!u+3ogLyD)>dK!$ab;N5b$rm7j+6q^>wp3~Kb%%2T~3_>ne1u0sP8G>5^m z2m$4d&6(>Lk`$x_1L}u|;I(MPZL#u-PR~Qpo$a<(MV=d)=(jmuwK|V=4^Q0~PwXtX zi~=&BNR@FTM!ujKahGQh?s88nBY;~hcOul>&^RihO9!<;`J`XIknzIoBx=Af?@sgn zhiMixgGE8`x@XC>0FxxYw+?BLXoM}F|0e1Jj|Y{8l4Gx zyHn-op`4z15 zdtrk>!KGXW^+{5askJeV7X7q?8gfj@cY;3|U47+niE`?yjtc1KVn8p)3`*%>xADtf zn0h{ygP=KJQwlpIk9b#Vqm-@@PE1%X_bj%R3UAKngKNAk^h z+IMG>NX&^Ah%_t{V{dt&g9?OO&>6jua!L`wy~UA(zT)A+5lMaVAU_B^8XACP(%*uxFtgpIS5U2Lz4E+GuP!c$kZUCkDQccaEoTcQy~ zXktzIYAjv(D1cdCPgs+V$8C%#>uoZy4dVlqU^h-rcW2j}!WY=27IG1w75&}NReQvL z!3{0cmuJ=wgzZ|mUuXg=Yl&a(l+9o{SZG+4E6w>!&$Mhb){5lCm6X1>jix{PFKM=*~Nc|m!7G47N8iz_RAQMsQAc_B!1WRN5R ze;-#_k1z5Z>z10RM}r7OD0gzz^7|l*)RY~RpVQhmOhE@kJl7WgIc6Brk`dEFen6fL zm%yzzWXih0*^B)g#-k3VcFlZoS#hL(!mn9)&D;}BEJLT(tpR%ftUdGq2rmp-&fUV& zXl%!;r*~-?HGtNREhxy%fAAuX<=;0tgzjzBw=wUk*rD0`8eIKV&d(wz3?D`mJTXzgN&Pj`bJD(eZ&c21U; z6H7NoUgY>HqyuI85-hGkC}^3s25oc~xxY_?7shV(G7lYdJpemR&ULm#TuyH>@w+Ce z>$YM+BP)GXo&oT#FK$%rIrIykGsu>@*-#h4Csge()RDXelzhUwheM5$g4e1S;y%Tv zxRf70w^&9-A1*O`4ONP3X}MP%Zf+>EX?y$y>8GICK3>dtWq{t`(&V_5agU@eKg7vn z>2W6b%T1xyflzSR>ZvO9${7aYm9TFiyAa%72_8{goKF+loRBqorSCWm7^N7|f{K3@ z5SZ%~fETj`+>a+@BkF-{Tl&QC&FMur7tO8$(t0KJ#khHE@^&t7`c6cx+Tc1M$4}a(AcKy9PMVlRKXo5Rqd;K^#dGe>Pzq zIBuh)h<%pt?>U8&`XU|*A##8L1&YF_rM9&RpN2tKVHvoUhwOPEu2S;KNFTaAvA@;N zDEw_X%hPG2F8!79KvS%V^^^QiBn~6d?d$JYu@1O#q|Z((WNY;UZmXmjqsfssdx)t8 z>*=LfvY(RiWd_n%VVVZv+iqyd!Jza}3Y3#Ip5;LPkY8uoWFbyp%NvO8JgES^*YRd5xP8Xh3a^#Aa| z!&;M-|e}sijDO2_8VmB4AE9O`?M|>W*$_$dWGp0Un`I$%s|4$8y@Ts0*c(@ zO5fbWD|5nz@eoybguP>h>raT4Zk9b84>MhDHL)FQ@jI_JJc>AeQG&5e)Y_)Fy#W3h z{&H7psx_t|T03G(qJ+zZXUv`dj`R+G>W{0)M8J#Z`Xyy zuMqEGGD&72c7X(bv8AL}a;!#pDCSaF;dv+g6=B)ZQAp$;RiNw~)Fyn|ZX z2a^Tafg4Etg}CRd+wOVkJ)q&+#S)OF6k?V>)MP*VS>czUDD8DQ)#zO%lEeLx55MtQ;4boqNnHyV(9gVVAC=Ll7UEqV+-#$ z=siuEl{IQuv9oE?r1}CJ(1CFQhqOxj0I8yWm2O3AFnneQ#obcV7j?;=0JCi9cSubx zn?(arii4cYxdJg(TbU2eM+`S7w3YQ}PgZJr;c22l{LbNX?TjvUZu9xnpXF-3^Vo1#4-k$tG^_UpNbUrf9J`(Y>IjH-@Ykweh+eqP zDAd}`=J8wpV-@jn<{+W*5RD*$eO4B@lI7Rbzs-hm~!Ns&2x zt8P_whS|I?b=pGu^ixm6#AwFWNn3B?|f zh>9Ni@iPuQ)nTEmV3d;26z5waN)r3bv@LX_sIS-#o#eYo1t~IkHwXS+VBQ=1MQ?B% zL_auFt1@)e+iDmP9qxszSTww>xoumH3BvUlsy<|I6ZuiM`K*0LvM9J;*WNk|W@^t@ z6GM*u7{e#DsSC+deb>0!FTtRTb)jaSZ#aCfRn_NwxLWD4*#%wr6F%3DI1hzS&QBSz zZ1Pe-P@yM>!7`|mhw2N)V zW3BjNcMv0sRX`c9)OQ&&4^vZ4MfUwdX;=T~CuWIgOKxF*Ixc)Ig}-|Ci;D9g!mvwo7)^+OZa;_9 zBV5*m_$6u~1hXJGkO1OP;3_Pcnk-&Lup%P22}d^VPtl-IDuWgZlCfTYA7k5EU2sQm z#}BR1cpr3p{UXcLFA3B#o31S$13C#jN@F;}+J3A5zM%==QT!q!Uv&Zk5?!e9;Ij+_1x?mu`48(zQF~Em(GRBz@jH;-eC`q0YZ_2;TsLNL`3@FDn8GKQ`Rf1 z@s?3&>sh&Xw(h#*Ut zU-~FkvX)btwOFSx3-2=odrBFLoQh>2kmq>pF!$FN_>)kX8>IMN-7ohUT`)yqoqHs3 zCq;4_)yAHd@P-JHBxqx%_#$6D?vuI0Rfk11z^djfA~$%m1gSO74Gu@kV6LT;JiaiiQ%Yl*DGNRCp|GrCk5>Jt}N~pLHi;O*JMVKsCmC2N52xfL8T*?Mv*mv%SON zk_RhR#ai}&Sh~M;S)_t%y4*C}`3y;_x6T!e=15;OSDa@ytP`B2N z?Ek)Au<&5&O+0{HE_1M|K*E|iqN*{pQ3)8Q z06j%#L&`a?-qt4v7E}Gjns3EK9#C26oajpvqrq~0nh$8Xzb&AQFZri=K9hP}u|^m$(IEl*_*GouRQO~gvNYnYkJ}$EX}5ceWD_zi=38mDE4sAEIUJ+0 zLq0{oN_6w)KeWq=GLLa@%w?MrY}NQ#%-rX+RrxK2%~GGgKiQ5`A_0I501sJ}A9jd( zmIMlHHk2i5c19;9OgTKapD&&0^mAR}^>p%{a;JR9)+SF&sm4%n^!iuQ?UAoX8`YZT zh86`^N_{rhO=V`Em@dpfMR9H6pywJ_z&?1mO&ou>-Hw7ty=El~sv$*z6kKQBIjWc; zDc{zSvO^q0jdlZQ>Ju?XV{0F4bI3m1o6swd&(2 z4{z6De1PA(JaUI>MDu=HiEVi*+_?#x3Rewzi^E}V_A|+@h zJJ*^Yof@iQT=V7Z?#fkhsU?AU^{f=sc95_3-xrp_gX{6!o`Ne%3&C-Vh)(0qQg$?4 z9waRzXD&$$Cx_TpSijR9N5Q;0CLrjn=Qd1Tv5*Ne0ts4Dp8PM6i?mH^+&YwyJJ@-e zJ_10Yl=eXp5yg8|1Y{?mNPh+EBp{H#Ygb06o|t76uWPrY6;HK72d=9Wucf@)fTM9W z8#d5(7)L2agH{~KssyDOkSPJ^>0(e7F;$_BOvr!Qn2`O_TH_P%29if3i+*;)w<9Z0 zDn0UTspGks;T3YoN7TOI)d7kiN+c#ioX?~IP~qZW7n;{C)+=2>b;{U8H)bGK8qTeZ zJuS+-%;0Vnic#K$h9gnx_- zbfFBa&q`VvxANX@K~x3UTVVQaXFW7I8r*V+`#!xUa9+*LP7&lI)xen$xQDffH$-6xe0A(PzPEISMb^#SL~aKQ-0+qI8Hx-}oxY!@_8Qf!6>qCi-y zT)s^TJgL2v3Si0{>%?84@N=jeGq&WUxA?}ZvrKpR#le%mHSgRTS$yVZS}8g{_{u!! zPYO?QONI|j0jjO@E2{0PGvb~s2?p7F=e&5Q0fE`8y0R8kSjh0XCg%uxbwx{S7MR!F zp?t|ov5lUi1&ULzi*LrBH5Xoebi?wdP6GdO;)*M_B4EDvRCJ&a|F(?Mk zgVqG8Xys{1-xv!y`t=%l-gP;<*kObl%Waz*GD$TH;!SOrN}f((Xk&mg&OWLCCAUao zh@s&`E$*vw(#F>T+`eCm<8}Vor*8F!gxcc_W%E2*cVrLi^BEnllU6P)CGK$4s8jE>i!eiWp~nG$B^AJhA?K&34$ zK$5@a|0he-!JF}`aW6Yh<7Db)u%!o;&~R6%T29G$Pxw(NIc8xQAr~0b&~P)>rcKer zWLC-4C5x%41#t^?C2J*jrI4-qRZU!L0++zfJ?-uCkZNIh3)}#6$R@L`mJHuY&j=gh zUB~xfC=N?5ad`H_WcN%;zy|n*=ZC8h(ek<}*PYxQq-y#T#pixm8n_ zGca5#1{d9k7`)_cf}2gB2}dwjw4Ni{s1>9FeB7+d#rXVw4Rh0HFENbG^GFHv(&A`B zQxz7C5Tv=NU_Sv8be*j7p)cir$G^J3UZpkvt{}( zT@lfZUpsV~uWK>=q3vfb+FfbF(pbgEXjXg}emy0~+I6~5 zid&U#c`Ar1Fki14EN#C5P^*S)dcy}WS!%j0i8#WS;Jg%7Ns_n~Zz3trX%)A2tFO+- z1)QxT!;2D5TR0GjC|#%}c87E^yF$8|-JV_ZU7p?Z-2qn)SKL}uT5Ob*Poh?rAVtt? zH}#53&M*b89jo|z1?KePBbg26dz+sCdM7AUiPOK3NZxS1KvSOlP;s^Akkpsea>B9G zhGHDCh5ASH&$5YzB_cLmk3>(ey#>HS>>UsX;j)k;eHNcjnBAq%Uch-;bSVRqF=e?! z*FVTxnD6oIkwYiPoAbg=IM5j%dsEJ2zfsKm*@$(Yr`F!`S-9zX%D{@>T$^I5why{^ z)9{_hoO- zA*?niFkkN+H9>sEorT4hSyX7WTleE>sR6v_Iaf=(m|VW;{zQ{}S5xDLIN4l`i$zz$Cg5JJ5jp%EH{f7@~+e?Lo~`Y0}!9G(9lpTJ_28&|74P>VS~ z_H-Unttta$l5IgT1!wzm49LyoA0F-HlyJ%Wc|$7}&vE(1jko(H2BpuJK~sabc0so) zcwO4pesjWEY&PaqnWbK)+7HgSv4VDm&SqDR6dV4O|B{e7LwM{8sv3yDIlG6Rf3^Pe z2|f=U%8s^@TD-5Hf8JBtan(v?OVVrSc2sI9em9h)1$M> z=gY${n=w)tlKg34Gz)iyWOyZmwdr^8O5dF6(-WE|w+>Np=%!>ueT`D0+SE-euePy&SBi+};7g_=Nst3wB<|z&+mVf`KNb9@&zPL+yZrx>pGSEkGdfI>9b7XGuGT)mN*9rPEwpH zn|lZD6Q$1Ysb$%0vF#C`wKdK9k3n+A3)eF(OFD}ROV5agD&6J2`dV0s$i7FIUINL9 zn#T(mkY%Q7S?}H#2nsIOq22KF3t?XohwkkDIv~f27>Lr3+MF35wXk=V>&9B#3n806r{d zGiU^Uy;=LG)8>r@y=KZ~+#(YV#lK@;${*m8ju=A#NBHMe3@v;3u`AR2+n?<6Lx$HS z#vkfQ5S#U6C&zMAv!scSc+-<8uiY(rrmtfwjNxRH&9v`fm#xwANDl=Z_cr=-IL%L~ zy=4d5hX}|tA!x5jwpr7P$UL03*w<2dY04BRf!N0lljyOEd+wR~6ubJ@B>ygGHefzV zyMR2$$7=oQ^!yBzA+P*Lyz<+(_kORj$2K#a@lEzE`ZZ>?rkUnr*s!*maA%-xyxI1) zmQM6ht}-o1-DW$4P(n6o$;!zyO7XBTj<+lg!YE?+9XD?%KNf`*b7 zig2lGh{xV_xU0;{;$zgcmdqjig$u;Fv8aN9LijNiI(A8kPRl19``-7)7u4<&p@F!H zg)>hOMX=CASWJDo?)Bb<@x~Ox3Q0<=lQHwLRsFx7+HO#~mh`iS&i`ya{sbTLOmmib zZC9SR$Nh;;VOP8UW4%DWDQ;`~JrJ_g=8w(aOlP)2w&$`Jg-NwrUQi_mC=A|*9~$Q2 zheccXp#y%%aDcy3t%`NnuX-vj-1|FHl86Y8NyUuS;2Z-#;_`hWrVW znf{tfyj?W@y$?F$hCUf%`CaZ~%-R|N#IVHgf)0L8#oeJHK!pN@>fMovON*~NG|LcK zqb7s*-?}W1Q8{1!cIT{KWJjx|f%-HOCyHsWw%lzd|4FWPe2L+?ZgA8&ss9)#4<3Ya zVuSKW+e}kYVb*fc(9oit@C@upqzg zZuG^2v%+p*9dEq*#gaALYUE`U=11G?SX2ZI2O=SRMy*<}#7^Dtf>2odLek~wmeUE) zmV`9HT)ny`gZ>><2VQCOAz)g%76KRyY~g$yi$d;`Nw8A=KGU1y=_aHf>dIv;Eg+AX ze=GPLQY?>Y8Kxkx=hosSAPtz`V zpV}TnP1Q3kK97)MLGb)HkiIT(X?>$7J@!Cv_7he)ImUeW!ym=F=nnTxiu|Cns3`h= z!UDAnI?anbG`$bZL61=-hplY25{DJ*5AF-ps+dxOr?TP*vk+OCf(&gljEa)?rpG|1 z54oC@X`A2#v#?|Ab9rD#mM^Z9zDlCkMfjAcKJo_%IXL1LzfoZ}bjMVN$skvAm1 zy=A8+orP6+SWlidho~IbWf;CC-+1eKN4pMDg(#XHXXib2?TK%Kf`A@lH_2r9<$MIY z;G7Jv?C1K1lq2W1K<{)ayO;=_#5q9g1A&X|cnYYE!U9aFI1=2ha_2LD>)kMjbIix} zQ5;)pjM%u!_I^P+&|qumV2I*;W6vqRssF$amH=f#{0X+&lqZ8>LJ{WX&Go5B98wb* z0!wyiWFd~q?rgbsPU3D#$VE$UU~o~tj<=axK^+n~3K)ttO!j@$hZfs5-+>3_Z&EeL z4g0a6bYxhlZtN;5*KWo?*JYun936S1Y`FRrc@^~p+1ULwY3H{`L!(`rvEe6xO3P$iboyiVGxx4K+5n32cxFhQghmSht z9y2$YcB#`Ofey>T+akyyCtD@FIV`|`07frP5AuPN6i$={vi<&UJqTN%eeQ5Ou&s(3 zz%~KBls;DTa16zoj+W=C2=h{BmYXETd&Rc?{f!$IIomJ`(ZtUeuqzGT(;xSp($hJP z^s$Ki0Q+%D^x^~drBOrJpJzlYd!~^|mg`(w z3iBP=`1Wsl8$^WN;Bka~BJ4XCEOLLmX&LO9!i#76-)+V1-dc~yQYRWyey6=uV6DQh z7_>P!ut7*6XOkBD)yq0m)uo+IneHxEPOxj*2B36tJVXHisv?JEYV;cIVut<%IbAi^V|^ac z3cN12%GR7YC`FG5K+@yyJJF(Nw%_8`CW5}sMV1k9omRH8rUw2Dk({V!#@j;x z97Vx-D?IbGaq0ahCKaC5Dp=ae!CjFoJ7GcLl>20%nh#wfDX+au?FMfghAPx$kJx4p zd~Uk0ihY|v3^$^j3kbBG-oU|=(^nTv;=2B|ex0IgI~HvB{jj@0{Os?;VKyHJ%7^wk zJO&A${oUleyu5Lwn;Y!y=P)Yxru$tlI4#S>`&bv3vsnrL9WZQELW8Ru{MdE7`!jt~dm;pZR*{9FOl16`q_T}M z;jIMgC|HpI><|D}I z^+=H)j;Uy5WzkrK&bH80f?ma)o3uOiuMUcfi|eNdNFA%p+q?;gNCq#VI+vHD9roa` z`H#1OW^*d!+9Vg1g@FzSm!*PNqSK@<1FR_M610z_>cpFKZLu3K6+?H$Pv;hpSRy4# znN(ZBFLAB6c`sugH1%jPW6oVxTQj*oEh-NbhXuX!t0*(5dqRI({+%C0x`Ga{@jrhP z#U9wAzM4MX=7aQlAV-tfCyS2G9hfeY1 zkT^qa-=4Rqo19UAf9T1g#Fz|z9VwkT#SqEe4O5e=g@;3xgIMNx(OrX=WL7L9s{lGc zhbAX=YJlC(g2)Wq7vg!ou_%jyoz%V0OHu6;i}Qn`cYDbmh^EE@>hE%H+lv?UQ|>|0)d==CAY8cQ?9BX-lS- zz3)Y=y?ZPTu+XYB|9n+`P)vTBSMZU~``kyEwxThKANlv5790u9wEAMv zCV@&Kx)?(>Npgg;?4-uizh+H3*x6i)9m#q;a;pE>$>{B$-&z;f1nHs$!-a(k41 zLvIS<`Gdb@4d_jb9FAT7U4pbjVfo@B@SbcZO@7XTX??~6^T+Or zM8B?|{M>H$_JIXf8U9BQf7W9lpz!yC6&rA?Mn=RUJN9&jlcKz#xe6!Gp)%4UmArZ$ zTod)MzCHu_w%$V~NmQ}B_z{@d)yc2?8Bs&QooN};W6Wuc!ev#8@067(H7k;s8Nz@kJC9eRxF7erG+Wviir!o`{YX%uB6Jf`D{pWoKmx847D%SLtk% z{JpaaSS+!E*4Ijt7UitH-`3nHEN;8txj1eYm7Z0~7YQD@GEF);(6cMhKubut19f+uikfE2`w)kU#?~m=s*!?aYXs>o9^p-xk#JP|y=Ag8FD++nF z9Qsd2tB;IaC>rx6on#0fPAhEta-%x`$YT{!5$(w1RfN>~sG>yz%*qCQ8h*UlJ@y7< zRthgbn`J{|_C3|J=X7=!uxvD8T9+00^r-g?KB$3IRaxEkul0lV{*=V=?N3XD0%Dem zb1hVS%FnNp^eS#&9`L$tXMz;~3AJo`;Oj+${&kPRC-WB%FPMDOJGVHIZf@!0Q%^0! z2Ah(Jv4x=hiE-{NVsB}pLp5|zL-3S#{Z*FI7+~`Dx99J^QJt%0k$(J90dPvAvM(Vs zI~R;{5vD0=9pPAck%S%<-iXK&lec$+PTucwfp~;=7H!^xG8nCYonLmN2lJjP2B`mo z0>r&D*Qz;wnbL`k0Yc-kK=46#m^0`E%g33KL;{$fdl<76%cU2HN6t8w(n84BcOrcO z)rsQUH?}%{knTAK8b`O8rAP8}9hCq)pR3Xi+c?vncS#POJuEh#)Qb8G|EvADW`0oR9c3ky)CjH%y5^W5T<Q%*TabJhncy!Un!$>Lh@)V#dUOo1K;|7G^*SJQ?u>~p#2r?< z2eJP?fb?v3$lw0*>;rH>^X48Y_WUISNiM)`V>5d8D79tzemSB5*#QLx7Z>0fD``p& zB7`%U?E3@OKKMx}iwUZXJ#Rc~|B~;qG2-qjp=;!L$(1YBrz&7?w~s;TeQOLs$a)oz zqAuuH=gSeVn_Ht&e=+DW1^?Q&h|lYB;XhbfV2Oydr-5m-@J-kDrHWb9ORwXiyZ(Hp zc;(rzXX38+KC?3W{dq7+F7d^CJqq{G&EBd+xkop|HW#)TgdM-aVzZ~E<3^lA<`+UZ zN$XOO*{@e0YirExdU4>&&J$m+9VdT}9;_R1JYRq9PGEg~Ooc-1m_B}B5}W0fS#c*@ z4o@pXmBc_lyYOgZwBa>)L}^NbTXA(rvXLUbgVWpS+AC_RDd~E-+`1z|WI{E$dV-)3WTAi+H8Ca|Sx*QdE-z@b96Mfsa&?OR+%KoFL<+mt zRQE#*#pJqn+_CL@Zxqra;&DefqryqTa+-|DbJ*>5-5?wczHLYGEgMYtW-x#|?CZSHITEvl7<= zQ5&tap5gb7&Iat_X_pv7Qx!kJDQ2(RJNu@(EgcfzKYT8sm@vj%*x<8OWB;ExN^BwC zN3=r@Wy&lyJIgL-t;THYscF4?_VNd8w$BW*b}_|~_nwhMQurp^grHvJyvyjMF?Ciu zGnbc;Z<2?J`gd}Sez~N;oHMBNePXxtvKI5e)t}}f{A&usb(barx z1N(s^LRo@V_N#)5at8&x*T)s>@fW2XnHq+;^U2WTY%;efl8T}*pDe>qt*8wSzM_~l zf^aQ3wHswz*fMGFa{5`!gDk{99F|udJN{x6POvyUX(n}=vQP4x-;K!_dC)!hyfPMR zI^`u#oS`hZ8$q;KEiyhcx5f3KK(EYCPtOOMyfX8GuIO~Ji`!^jSH1o9#mP%vp~ZV2 z7jog53`!Q<>qu`+Bz)JFt!!-gLN+l~yj!<)^IBPnzBtbuZux97BfpXF;V8dO#+fAi z8}W22Jb1x!xo9;K?ANa}cgRcd5HgI6Zp5+3!fW?DwtD4t-)kqo@{IMdmG57(_xs#_#KTQ`;NGD;sn7g|kz!D-2gXSLXVPhSEq{LEWAY$rv z3|B6eRG7^&QWENPazCsr5lR5H+uE+o6E5B3Z`bq%)yre7go`DVVNVulj zS=A?!>x-?yiiT2g)Ou0;=la*8Dw^b2V0fpx3ph-|1QDv?k60aiezgNdT^S?#R!H5h z&Sx&zlzm#Sh=^=+j3dqsG6@%AT6$Jc1ivn8`-QxbWe9-SARrV}oi^Iu3To7)%XPY# z8vh>?eq&g}L?Cqe<#WeNr}g4NUoUGr;{1|4 zyeQR9B{Z+rcFKaJ?AmNqSr`$*6OFCpH&Ic+j^EH*aRZV+%~TI$oxz2UgE&g(%mha) zF!F*(8PYGJzvT0JDvzA)&HL?-5*uX?gMe12=!bWhn#$%yCDZR(+?1^vgv@~Np#_o$ zipVLHIaA6#7J{r{I(og-Zidv_U~6+-EP3VC#RU-6Ve75aFbplO&^^PiE88%gWl)&b z*5d;q?wy0TaXyVMh?E!qr#Y|m(#Tp~{!GH$7lNAP(4Q^gkN+#-WI}>3aQSr{9HdhL-hD_7C{#T0b=y`B!Lg@f1BY zPywy!$)g-5`iF2lWxS_2QPxk{7x)u(#<^ofVK?12QN0l#49YN(QOGB720sklsh8=a z?{U2jXDvX88HZmCV?&zVzAJJ`_MfrsVo2;V4KP*a4eJTbD4Ank;8rjd*L zvNb{agjL8$&j!Gio^W#e3fFNW-T@HMVGs3wOEPrNJ<~WW$vR{95gJXU*gm##Y)%Vjy)tEFkRpw2cxLJc)?&-v^ z0xlB<*=}0fAw)J_a^$IKP-9}M&!e2RN3^v>S~!cRm|kMf+_ z{oZDm&*T|ddT>dpHyZAXh=siDl9%qS;zm+JCTX&4x~P}5GZXFaTH=6MJb+5#;1iIC zOYcI@WMBo7BgXi%%gU!o(*(t}S_SG{yqu|*8oxvOv}+GHc3xx~lb=mn`?^CfaTgNp zqX#*92FRn*PMEimlZ~sSP+y~o$Go9uMy+AVt_hQ#NEw#FBScTL@`^@MVTGMAzSR|5 zS|*E(X%mY6FsBlxG@f(u*KvXPeJKVIq#)8%-}C6-Z>%=5b?266*awEZJw0Zh-gmUj ze#gtV#N1l$;9#NBl<@=d4g=+8p1m%FxR*Pocph4`D}Q`?^}D65&dFEewmMHarSjTJ zai?KR0^b0RtL9udg6N+S7Yj1nBPTtVhXUPDjoHR!5<+EDdG6!y0)yt(yycMy!K1eh zPssT78B42^fiGqdNN9X3* zaNb@&Un|m6H&?#jVU=s_W$fB*#MhT=pvui9+a!`aQqowij9;%KZeLO2N=@&id!8<; z!`2HbNH-m#arv!_pkHfn4cB-=*VM-)w;n*Pg0h86u4nLsy!^{TXfBaFrOU2UR|uip zUN5n~zvaryS8^AkAp}F|MPWEwJ zp^~fFOa*FsebujctqwGiFywFk`-Ns+@<-5wWdSF4qp9Z!#KLF}yk5KetZKl7pFVdL z=zPv8{|cAVMzvqMkN#>g_6#D9@+{H&Fmx{8&0Rl!31#m-!P^EV;Zr&%A&=asXaaa*g$ zlNuk|bPp80u-;zZJJD$Arn}lafa%+F-*R35VrGI@1ZmpC;pGq|uc$UvbUMs*)eDxL z6p4k=2L74Y1JbRbb!C$(`qR+_8ovUF z3ml;()OWT~10|)sAPWR+mPVJ1%?T^*Eh*1*V$Uo$%Hk~~`aQ>*yp5J2Y4`F8ba!v* za(ig89_V+}>t$?a{+$NCG$h6i?=fTDg%E`1KFIGZHDxoWV3seSZ^e+-o}+Q!Aa$s};XKH)&@I#gXKK z^+D6#cWborqWJ-FtmXH0XOA;9o*aHTkHM(PhI@Jgy=Y=Be~B)hC(9FJ3>e9Ii+fRLYt-09GiIk!^SVLMqCu z>x8&6$g3lqTrD+leP?Dx42Ia?6Ak)h*Np`th(l!8?3nB!B&x$?hpWC3`?0qIQA1>k z^JGln9n&(#mdevpInndEeP@5=4?@DGOI~$qV^V^sL`fN^+kv4|UC&__k0`I&94`q0 zDG8Q^@4{P&svgFQgsnJ=@TPo<6K+dqO?s5!RdX+N^a&oIHxGN1%q!{~mxFz47{WY0 zX~R1^>Zh)}#x};XD5^u;Vn#KR7{e7A&4A=?2;?}d?`BC(a!4MS?M>jXF5dy_OEdT- zr;mdC(W9mEq}(u;_RUCy_QUJt7&NZ9|hy&W7OuYfWs}TCLSH@LyKlj`)Vy8(HtiNslOoq|*olte z8pjD1&THz_@9IIOzc#K2m3)6;){kgI2K%H)w0rudIy|%}yj8`oVzy$Qi9&^8#V$Wx ziMYXEc!v_p9L6Q%_PKUIK|!7b4J_Z9YFfgLy&Kz#LK__dz=_IBw^qTMya4F`N4-V; z6Ngex7Yq8Hi_y>Lqb~os|59ttQ1!C9i5@Fz4YR*`NHyWA^OAxC?Y5Hayhp4h)9MIS zo~9nDP!mp5!X3~JD55L=Ac?2$qWShI6b6gLu8MPW}tIs;RPS8!m2N^a?*Ql(g37 z{yk%Cwzg3VDuo9G((U?S2v~b*r$8-7cE!n%}!~GWLe+7o@v)SZy8)?L6*Iz z1~NcKZ_-h(>%4fm+bIz$)QE>qxuY{dV zC~A42-Eo18Ik3f`Hs417n9Ij;_iuO;p_na8{QPJikIIU<=WgZv9py#ucA_nsGOW91 zTR52(Pyc*9Tdsy77v}OuPKNLIm4=1#wV`wa{3Z5f!?NlJrpX_gz`dC$lMQyK^D|Xg+ru) z>(TR88k{{{TE{k0pB_fb%tYi({q=+A(&ajR7UsJ!=7!ka5rRe^&Z$We!u6o_A=QHD zG=Nx5fykV`&5szsNKXO!br>AagbVLy$Sk-N4chlQ(?~9I4q6A#uiiX+yMyBUg~r#=Yo~p`!62fppW&cM4Bd-QK^}jayH<(G3v52-JT=b{#$y zZeUXj6LJJ5VGyYQMH+aTmb}o%2vc*G4yFhn{blu&wPj5R)gu=Qy! zA0ux{o7AP9dzswL=VKIz>kBgUb2eca(ikquEjPQNZ{1mTDFGYQkX>P9^Mfn9eD+@X za{UDrbDwOBhSs_7{-%A|s|EIx>A8!w0HUsVJ2>$m$hCEbZAomH@CQ$FlPh*xy-h7m za_Gf6Hy^)l2W1&}D|`3u6#=!?er!rCwvG-GWEvekj{2%FhI_XbOeL7k(H4^xjO%+{ z4OZ)nOB(0r?bG*$cRrs+lB8yx4%gS5Jvw{NsN<&P=fChKc63hKVTyX~u`?B4J)FC} z?N_=;UEdc%Z+rE2R$#xc{=yF#w?6p+UI+7@oUopLIrA(epEhB&HuRu*Vx;mX1 zbRIKbC34ui6dCC{l@V5)D+ol15{J{V-cHRX1I0xPMg4=?={hXheR&n$oVZn|Ui)H} zFnjXJv9rR1&5pK^Vvz{+Y>S@UQviR30oBl@s8r`MU(cjglU2;$Gm|Y8?P^JaiII&2 z?@1l`L*}P_j)z9eVcqK;H;I-`La{ak0)KG?c7?pz#0W|*WiqZ=kQgE8%CIg4Ns#r* z-5mu$Hiz4Lwi1DB@|2V7XsaliLm!H^UR{7_yq3v0MG}@FCD6ZS3UVaPu0ImdGjp$| zEu&p@psy!|-J$H-jOmQwjQWhJT9g9H7m-7)_60AmcX~+`S);h=P>u^(dTwg?l^&v- zTc%M-UKhFDlWSLw2` zyQ@A4>vB$sESN+rkC?ob(|42-H*yJO-kYL z+7oHvewIJnr8r1OUq^ypw{{}qlfKRg+z)~WYVM1@m(~=YgG@4U-}UJ(gRSv-f-aUa zXVHTAPEuhwe^^8^LEh#4y0`rnee2c$w5vJ*k+|&ae3!_GFinr{x5AwzciZu1)rV=P ziyZpdvolRGUS;;CwvFi3XZxb&-~FQHIy+R$HnJnsQCiKc~(%=Gd|SQunc z;Ym|3MoO}vikUTj^EH=V{uUe8FZH#Yc+yKX>9Yu&VfNZc*VU<^R?K5wm=;s9JRB?n zLaAodd5UyPw>N^xe!8N=^fl*oeV?I}giyZ187Dx|Si-uWgE%XxePE`f zw~pub7eB2P`9kmgSO9^|3@pjtqWg={D8KlM(a}-0;+JHKaldo%I;Oc}Aae2xvh)D3 z-@`Rr$Kz_n?{8CrI*Y9hCtn!D&&|7qTDK;#*soBWqoxUNFZzo6YS*&PLpW|W5Q=dN zAEU3zX$%z+4Yu==ZHHNK=eHL6OxijwmQjy~O1i2|^>#;pL@xI3$iB5t?P*hj@=r3dQ3d6YG1T9*rhhNwLx-kZ8$As zTeR2LWfU?)p`y;FrUOW>xY^|&FR&hn6 z2}&nGg>ak;dce|W`kaf=?FDt@)(Zpf=5q-LkM5kD;4V*CB^f30bJ-_n-R-~B_ zZ+lMO4P8tO=lSqRrMh!ndCFMUk+7AJ;lk0yqIs7w*X{ec^tCqQ_-;+_bvR~P-zhfQ z)j?3Mtr=x8&Z4!uV6CDtj$~V5;o`dlbvNN+VJ9EWq*&8G+ajsU>D3ZFxRJTw*gk`; zxP2&GwwveLs`7Ak@kSqMWXH&(Q5VOS=Gy9H_2|Q@RRL@Z z8YM219V}eDn)0LWUfpNUqkdpBi=r=SmWW#DMvLPWXlq?1&SNtt`1f!+*Na?AZVBxJ zyu3Pl9Yo7AUeQ8jX3nVo@U88E^|CWUo3&@Am6|0Ksa=nhx8hrWAW+*4$a1x^WXOHf z#MTAw(&_aXa97mWS}I+(L!Ap=EB=QrNeR>MeJaMX?w8OJ{d%IP6cLgzGe~h~sRFrR~+|*l{9jrcacrd>+ z$U=W;B9&)dTVQ=|5SvBOwlwh`jhb72XdIoN=c%*3%=0(5qL-`X{8x%{cN!Abj_$)v zSRC9dV$&xRv~r$_v=~M$t?Ja5-!3e>;&6$bpFi29_G9Ia`=wMPOPyP|k3Cd~(Y!;B z-o=@}cu+_J4`I`-b9sk)2Oj#YP`{AB3j31W=1A%iTI;hd0i#yOq`lqzrV?83RI{nc zi0*SZR#@iLU7#K^b+4Ndp)EOwpL8$4mS zhfPSp7r<7eC}O`Jwf@cj(%9EpZm*1;sSz^zu;W$jS1=NY%KJrMhxN+Q@=`zmg9%70 zSUlfFFDb#Xv$&v5`WH`(IVfaiHjd&N3%buP0xEE}#u@7*yTx8^2sW9g2*gjG1dQsc ziz|M8JRywL-Xl9kq4C-I-`h#@GRY0EM0gQ!yHnNHYyUvEk5^;obLKRcqG+cB=`CI} zKE_!B*Y@Z-i;`>Gqt3U5 zN0fSAbt`_k`u0RNbBsmTL|6Ah@H?Z60_m{?cd56LCvw{HKG=dqAp)Oy|1R^w&Tfix z@6p-1xK658R*MAn)qb`xuCqi<`59G=!o1IXQZegBO_$* zO!t9-^;m=Mp**Rzbq_LnG@e&qpI=5tLQL!k*STyE1dPwO_R>FjTt->#tz_=FtS98= z)v!6JXeKN#(Gaw;6#)QV0bFQZCnOa!EhSeR5p9C&l?Er)U=OF2sXtes6TE<30jjJ) z2lVcW7W;r)CM%a@6o3qBZ_o(gE$TwH-V7JfT^STP;`OpJvqlkt^Pr&pB??>>N$Y3H zyfUMAwmoW;9)+F-UFp)X#??+{84JUKg_wJvb|sd$^;f}CI;e?GN4dD}A87aSvMlXs z#0)s=mKsrCDN$2?pHbot4D*>Xub$`X_bMJ7M7HI4;--}?tWw{7Bf?a;i_1HOQN$}N zbay(xiI$vvZLq=Uf2O@Z&zVm{&IqlsnwS4)wooB%CG#yF$WuFC9UHc*w!zDI zTYg5yQeOg%Q>NH~Kh33Zzc!)Z?bw%8tnt>w9vc}!e(Oxbl`EX*oPHA-&`~oiTvRZh zdcS{apLC(Igp#pTMY-Mf0Go)O)4wwM7LHoMLNLLBngk zrKu%d)MrCGrgLL5MmyG8Myd;#vk20ne(1@wfm@toWOb%ZExnEk7*e~qL~iw*Hvjw% zYhW|2aMy6{rhq#smAzB!Jc2M(#}n{1XjZm^mPYTZ)@)PobVx#?!TCv5r+f~mkM($tjnfKBNX}*C>^s&RpzrfNx!fc zLUO{xTZ_pw?EUI;r;FcTM~WC%x#LKCDBj=wBJ$tBNM~aqF8j_dV1P*cTl+X^Gn<4=s$A1 z#+oI}alfVguDIlA{M+E#_92R?FvFzX|Uw72o)tSR1bK1fwMmodJNr1;NF)dZEn?kCOjAonzgUZS zUBxPNc8u@g(mt0Uzmvh-g7bWYx-tAu`}=FCQft#F+10#F3tQ_a!Zt{0@ONu3kkm>s zqN}6jkV;mC1n>|IWJe|GzZUq%Nu>5D+Gwy^)e$(uSd8-zmm z{y1CuE&JGYt6sQN6?buN6d*@Q7eZb9bQ`EzHRu{$FHq=|<{CHNd}lrOryDe`YSc*_ zW4d2O$1N42HMEV;it5%@>#HqnrmxqG%^k{>J@El(UrrnwO8yk*1>wt_vL$U-3l9q< zWMU|?$!?PWd4@FYVyUO_R3hXB`Y|q#+!m9c(9Ty&P}$q~lu6?#Havw&K1mQ6{L{fP_Ko8>FWh6}J?BfP_C2rJl4jIg+~HJC1$cqqnHgl;$ZC zGruw%5YS&09J_MOdiP=$^LdN7v;L|_@5PfhNQLkZKXT9~i(CtX+J%`u()I$K*oB zoyZe;$!hW?DO#>g%JMf1_<}ULUz9kTe?nu9kg?>7#EzZ|rAv|xr8MYWY&WY?Q3xdj zEASi+jbh{77h_~&fjTJQKl3Af6&PDLY0fBm=knrq5ER-Ca%HdpZkD?=7BcWM;%nVd zUKMB!clfSP&ebWbYuY(j!xL8JS^LJ_igUuS#8R}%SD;*e;_&H6gLg!jn#`5w$K}bu z@Yay|e?0TF%Q~kyn!4Bp5s?sRF8l3{urbQV4&qEJT$;sE0gmWrQfOb8BqlH6p|KW4JGC#f9$QuMlh2qBy=YQr}(*=4} zj>+?hU-#rs=Nv?6%&p!cg55rhD4v>zYep!6u0=F!2p8M$nCpK7s$`c|t zPyO>9?MjSZ$o=h_AFus$-5cqRB2Rjt-|K(YJ}n-`(!-~L+a&tW?WCwNZbv(wb<3T9 zZfB#&$dqH@bdJ zeCyA5L}Og~cp&Bc&zD}f(P$bw5&ZMFwC!VzqA&Cl{ybcUj60%~4E$?crWsE^Ws}^| zpD(e8VPdMm>-o#S&be{r0aN&Yol}Bw&SUusn}0s%D&w3sO&tH4L_Um3lyZIb(9h?j zFz^VCD!zaJ_Qn-D_W$eS^^K3W82{_>%QGH-+mq0LT?v+PB@st zdo(QTHsyD|(cS%b)S}2`+tr=6$mw_YL-M;5Y75DS(}Iv4X>TSJDJ?cLQ4armSpwoa z^49%z_(}il0}G#O1TwDSuU}xAct&4>{{FKf7o(8z_XjCTj0y4g2QCam^zT2%?PJ{S z-ygJ{pg)Me|NKAkBFayI^0^swfw40O@Uag77Z;s%ZR13K75{mtx-a(Xp7N_$0HIUZ ztP}=|k&yMT#qaNn{NMY&|Gv!sm4p9(FXDfzcj5ok$C2^{alwPGkei52VPd4Q)0*Fw zeP@#Bu{Ltk?b)|1(_5UGN{3MRrf1b?fsRaohOZ++48>@Krg&Ybaz{U>c`8w!-@O9J-L5zMh1H z%HKjNCJf-De|GyO1;}$XPO!X)qaYFPF#5qJY4pWB=so@ni~wk)RSMh}(w?rn2f-LV z`hKImM7~?jb**d67l!)UasO1;zpJ^(TT)<(w02@OljW}h4og2 z>F3Y%y$ETy2z5qMxBb!tk}V_h?SyrI*qG){B6Mw}58Hj9s7|-n1u*XnCfDXmY}IZc z81m|Zg9*Yb5iQ_#fraf4k@6pi&<%0ubcv#!0Cu*-QdB>fiyJoy@>{@gCh`zSZ}2= zYam@&)$VGD6AxknnwSWhxQS@i1;U!XpgnbMrEH5Kl)zF`&ms&5$(8RfgI8){t+DOQ z3c(4L2_XI-?!cTFspHQ^Y)^CaW`I;NP=P8DCfHkO=e|w$8Mk#f-xgW<0SZRdZK;}w zSKnFH?vwoC&|gL+xDJA8ZA20XDR=JuYkn*-05K}~E4haE?yM62c`S&=S$j`uN zXQf3bm3Zn(kH`6&Azg(F8Fku4K(1v6LN+IO&Q>o&q38ge-7v=W^=2n9kleCIfPloe z*-#j>Y$h_$?b?G|*#}j+;T32H310t#)PKJZ=TRfO1zeDe#g(kgjHF1YE5r&L zeaI0@G?!yp?itMH`0IgCWEh#pZZI`6}d zu3L1+7V|JUou`)DayeU&w$cJ&Q%w0zR3dcTe1;a!VS3p}bUb2Y^~UuKUT6#oGjymZ z6f3et(TNXw&~nNvo$-`3m5;B9zZ4uq5M?UDS}f(q{PPr=csBCSal}~3zPD(atkDgW zl=ye=ZiU@)7)pLEYFPvP5msczkD8V^SsDxa`?!F=X-O9JszeyLNg>6Q*^bXo4x9HBSUW;Nr6yo6M?8?PBy|u9PHyH~ z-wu6CmQBS)^Wxv-zn40%xRsA^C7xaF#FXFtYvfWa_R1JW#B6EWOBNIRY)!rYn>GM7 zOcm2Tw%H+|98uh=s2_k{!zH>RkTcWb_CdPbvEKls`Wh!ru%^gosW8R$jIU`ky3suS ziLuCcD>|@icy9gcEXe=kLK&2jzd!q*o287K16SRi6MRG+;T4H6aQ!;BWuIi+E4sg2 z4pw~1PTO;z;srV}ccpcgcD2hcCatJ|j@837r&QxcfR>o#-X$iU1Ornp-pfxPgG=q_ zH0^XVuo%v@z(scD+){#ml~cz!I8>bJ%h?nUqmqH#&tmR>6SOF*L+BCr8{e-N5&Vm( z{jx=NaXQ;O!S0(nBKqY|mzn6G+$6fT-5~N?eCqttP zIfEig$=W<_q>6`nZ*C{@LDS3sgyu4(sVYsbKS7nW35@}U<#*NIYr5Uto>14d+@g~E zgV3H?h0FDr=FhcQr*xIxQnIs;#`v@*bzv-2rn-s*UGEN>800N^jemR~aaq;SBTlNbCR7x>( zaQg@B?PcNSko~apg*Y?2hJhjYTFC@`>?UOz2G4dEfk6FaQb_JnyRNy4byr&-XH-Xa zaENWk=a28IhCj}YB+Px`O|YI1x01HG@${AZZEJgExR{U)`>#-qNyGlnFq^0a(DzU@ zwBoQVfrq%j#8(y$~%Bv@RD%rf_6rh`N%S6)bx@E}d;|sykTAhI!RyWF8usgX{w^=k zt^Z)4x(t+$6yyRBrrd8{h7xv<3Bjz@dlY;nPc^*O{gcix^`okTO~Y?s#sd{XCdI<9 zvj+Gp_lhVi+H~iBrfTOG4axgK>KNYh&^a2q^?dcm&6-K!NgAo*@ao`&+>gHr zeRITNrJr_G=~&cNP5NV?-ewejkUzxT$y}>^xLnDzev6q~@?5CG7}RJ6;$(e2I2YVU z9UDgAorE<}0Z~S{^5|Fk#^r}eq$BX{Gf%K(XHBR-P}R++qYov7%I3AzQS%^7`XB7Q zXIPWzx;BhsW5$Ba2&gobQIt9;y#+;vQAAMbEhC8Z-dlnd1tH@oMM}UzFOlAh(v%j8 z0SqNd3oQf)5J*V!-cJC>wf3yF_VFJ3&-;BlKOD_GdGh2g*L{`qJg<={`dp;u@PfEU z8#&3`5j-gP(c8bBrzOxb0lb-oON)g^X=CWEhXU)iElga$68YfvcAe|}1Yr7v^oHo9 z{&l>Q%<@ZE)QvEKYw_&aF(~{if(wn$Us-4#(T>HU?w-8-urzqGZ%1pOi4Z}xBcO^> zMqFS^;bbL$jqvoZ8!_B(NYE(a){Bos8}Ch>y_CE3Ky^4^kg`e)fF6`1E8(xJ&swby zGZrZPEal;a0hZfirHQy};?<{7K|(B5F6m$@6T&lr11Iup2p1YZKeC+=Dau?B9w7;@ zXZ<@GGWAp(($mVe!p}vkVjV? zTYFC_2<*~K-C$|N|K$lV%qZO_7M|8tog5CN4caRM9k_Vt>cywhh!=`_&|NirHgdes z-)Xrn{0dDX@Cy0ib+Fd=1LET~aoo>X9dxp)9@LTw?9EL;n}!y|<4^>3+ELKgPrMi) zEq4pJYsdgd9Y&O;LP~sAu90h%`$!sKrE_`gEn2@m8JbRr5#X5$^P$q2O8Lb zIRaD8i1GWms!@?zL&q0*#?lPyM;pRfm8kV)!l`2Di#S3qZX}Dv{(PISBUS#I^SSLC ziDrsSbD}qm=+;Y6H}!8vWHL%Gh<8>Kn@=VWT)cBhHxR>p$J9%2q@Mu(KPX zH5+`|I(5j0u&E2RWLdQ|3xJgxI{apdAC3|sEYEcxVst$r$D1aya}_CW8=mnSJ)j@5 zYu}OAj!+4#dLlK9uQ5u}+`28lIofOz)g%z)>>)%6X3t0n)E5TaGb9GrqD~tSHi9%q zLahqdfjMldr6i@w&euo^}1kG#caPKB|$X!oUGjT#s)PSe&1cwIpL#Rn> zmR486Vp!K=_lUjfSe(78zo%@Jy7I2Qz$VPZ`Z^PSlypKz#Tdt2Xl>QIF#4kBrN?09 zE05WwL%-PjJ4k`M_bUMF>~T4e{5^EEgZUh)ux+)Tq6$BJ4qvs-WSgi--ESSH{#vnp z&wPGmKQzOEB93X`Vy?dP$7=D#nq~E1$*aHSAQm5Wn>5Go7Z!GdQA%w(-`oglL(aM- z)@a+7=+5*tB8NP6oLwEFMC__XqXJovw1SKW4#|4kSCJm08ZsUMZbBA;E01nnMU=*X zBTd)>aKFJTur;(>1p14Q#CBU~GO*G$%IGR;qJ6-Z8hZgbso^se)W|~{gvhT#wBGPL zwx@~ManCgiy*%l@gc&SpY{jz@e7aN6DcN83SHZQkZW9-?h548LB@WjeoC(eYRZ0lY zf!u{zKeBYOL9Hq#fQ^R<9cI__IrP&5kL&jyJ_kve3}-Cs!FWWPqCg!yZGz9JVNqC0 zBC=WrtF{XId=(}~H)WZl`&6MQheLz>ca;o|6#AJuT!G`&qMY>`MO8(LN4S(u9^pa@ zM7}}|yPYezG}~Wu!mL+SP!c2YC?+=fVUuRM)@YfZ_GteUaC+z2?#_XQQP9?}Nhrh{ zI5G;~j=#NfaBvl)jSzLN{y}t_caAFZQ)g4!YIGqs>V}ARW7_h}NUdx63Hegl<|l>2 zKWSI98m!TIB~JjZ+9al_YCO(=rivheHZBC7k(iMh!+U)?J#W*}RBN#Qp*viv;T;MAp#eI zNz&*@pH{RunjE2d=}Q60T)sK2cl2*=A32G-UC_Z957tiSa7iR+7}fa#Je_yH3gNIO ze}eVEM0@@cj8*8Lvpc|w0>x3lbO7H3)YMe~@#Mh~;S}^opbmN#h(mC2yiQUn(XJ20 z&rST2<8bq`^1^nIiV0p>M1wd>b0{7t~MOD(r@TY7f7vA|*c6{=w(W@04ZgcaCGBOagscp>9F z_I@Nlu9XrG`O9FqHp}shx+s@~Y5C1n8A>~2zxt-XB*4od$9LZmd5M!DpSR1{Pj+6@ zv4uu4zv7@2Kfb@e0)3;A;uu4e!$N^7M<@M=FU{01H2m9e)*$P}GWh}KJb)*r#@tNF zvBhcrjisrWyK^(TAGCol$_Y?51ELd>(lBmFd#TBT9MzQHV^f#%CAA!SU^j$&mvBQq zi&UiO-WGRF$A`8iNaz=wo4&lOdDyo}+xlaJh#xi?*D{QlaO3+@@DZV=-4UoKu+01^ zf;jZ)SLGFjE98PpX2t$K%hUer1o9)Q1+^~~>XFHjQo0f1>T9j!=&!&GP7UlH%C;}b zWY+{3jq@@#Hlz4rF!c%`qi17pa~-Tqn_W zTn#tiFl~iC`ls1c&TB3^T4;QbAq<@^nIGkAeoaLmcy;oML~$n}7Z8qO5UksAYxkvN z%%D4j4uh)oR@j$vjU8a79^rh3+qH3r!m$~6L_1bG;)5vK!0|<`xhE?`X6fN0nKco+ ze{%;6xP$!09pyI`vlJ?1&cB1su)9c~khaxX;z(V6bL_u<2nEvqXSuW+Ge`A} zq}gVO);m(W>it-0QCG%y`Xjg#E=yZD5{G3RPh(7_Zw<&dvEb%_bocCNvDbl)#1v}v z()>%4MJ(%JEv>5%xLL-q8d7iE`T$F9zZxQN^F(#|=0p`c!H%N>?`RwzI%W?RP-hUr z`_uX%m=6Gft(1YMXrFEtj^IJ5A0byPPH*~He89671N}vD%|727Tw+Iev(n$$R&lef zm6{XeWM!H&k3pdecnSqB!aCQ&L?QN(Oiz^brpE~N_}L7^G*a2AhF1P#`oHQOfb7-e zVc6O_(YhhyD)96w!7cb&g=trvO-iMP*FLmvjs^U07RTw^X9Ax>JEx9Gfn3fzFj~DL zlghLc@P7}Y1l$}h*0{MINiCJ3>mYe{3;6nH0#*_DLh=7PC>5G1j~(YLQa<%Nvkhm17XMeQd;8LcPF%^3mPr(Qp@>6z?1gB%27-$ploakzIwIJZ}d?@?UCz9%42)g z%XK-J;;Pm2shKY8UuhtK# z%H%={yCt1f_*EB#$(P*BOJ~bh*DU>-@`dR`inAdAv&SAp$8T~ZDc6)6dgY0wE1b`| zuAlj1`Q1|%uWpzSf0*u?er7T9C)rm=RweR)spIH`=g@$#`&4XR{e z0@@?dk$jeyan&eF>QO!!ZMqSPXFd6L%9nk^`auor=tx(fEp@Z(R11@7Vvr3)Z&2*kZ?I1P)4t*>b+{J4oMys zzH@7dXKT!#7NcOisNjV?GR)N}nH#jn*TmIa)?S8LH`Ygtkob_Q`;~#k*@)e9cRhpR zvJ@Slbn*zu%_u|lLbgC3L?KQ~OY8o~ykQQKN#!eefZ;s3>65cor~Ma)S=^G+gM5)9 z&5h=_m{$cn+T0r6YZ5B3(Jc_o4p3Q<)cF`wKE89sH8J!*=moI5wueueF(N?F^OEz~ zxKm#5@1`xkn?A@1ykys`)J#8P()+~ojYNHD!0;jnX{)aVRFC;Q?bEZ;4p1BSiS9GD zvJ0pl_W{A8e)gIEr97;qpi`_gN))8#^1bLQ-3J5DZzVtWu;Ex5EU5d(eS_cb0H*s6 zFK>^{@7ydP%VZcjelU-Fn z=v4@m;j}Nu{qiE?r0;mNaT6pGJ^eA$gVL_h41{?Ma$w_ZTCTMUDO&tVYL6bQ+C<*R zpggAvdzv}}k(7D|YCKKt=${glm20&!B<^}7vw~&!3LIi#o7A#Ry8Kp*?-z7<8}MZ1 zRvYebwS}A4R{5*D&(B*6u9eMpVH&}ride}B?=ATOA0=3cZ;gJ}5?z1hvyqi?`HzMJ zB%*pr?k~Lv0^az>Oh&vRJ-{;|Kw==TvaAVHEKK(M^Guxw}Xc4mu;KO^ZKK7+4WE>@&j zA`fT_sEC4WAFp`qpm}_SxPiQH_eCwOoV}X1WvA+OOkKpb>q$$)O?KSHi|Mugu19w` zT-L&ItvsY2f1+{p;oXyD?q3|u+r_A$bca5cvDd-&XjaIf)1?W9?Ve^ed3*hG{YO|0 zCApZG3HxeSvt*)^V`cJ?sg#c#0pj`W$XqPDX)c77(MBH#t6l4ha2a<(_NZXPzvzbX z^>}@<(9RR@dp;vIP~l*CnT8{rPIGZIHND*Gl7pDLeMmJY(yJf~TS0juVSD{- zmy1f2mG=idy^+7|?t_B^*uMB}c7P6j#;G^wkdo)ktIIPGiy4mwSb&!#z}=H*!UB%hc(BV$@bF2U@xIuBHkVk< z`=s%j^%2oh-hmEBS3$vS#tW5mg)Rxc_x}JV46V|G{9KT{)(vm$B@K*z0WO9UIv`E< ze#nz%Y1C-1%Rt0veDg-&i)1I11H0HYer5T9#k>Pr5YAyl2v>XNpuFS9jBb;LRZw2b z%*^yhQ`(=O6+Lp~Ncar^?$8R-o&#`vYc(YTbYKIhLsxhAwfG9R4Q)^Bq{GjGKsSeo zqZV#KV}o9!&jGYUP)r9z?F}(LiF{`)W0%^${41M_SE8XRmWVuQqm-VTI9;!KD|B7ze!XG}#qe z@n`h=GY?}5-Wh0bODUK$D0UR~oc?Xs!!!OxuDDl0J90c3hb@k%df#;D2zk0KbFYo9 zi4@%22<9Z5IBgHBEVRH61dr=m)Wmd%dD!Yp^gU^vP;Pl!Q_@@}uWaymoa&Nug;iH5f$cLZAMPW61QIWIU)=q& zhqbcM-36imTEwwPU72MRQ!$E3wrlJr!w#TW^x8%zr`~62-GTvCi)G^rt)p?xXHjgg zVH2Oe^s+`u*Zr5z)3LPD2$@+3z9DO{2{fLb;b6P^`%N{jzok;7(hk7ysbF zp2=AGH4#CZsw_>a2l{f?4IE}%+}zamU!TCDw$(r2!L@XQ+==!3$u1AG8N@R6g|qui z(5nRo86~GcuyFizqTbfrj38PcrIhxup!GHx;kVb>QS6M-)kA zcViD1Lsym6P}@X{MF@dV`!vbY=Yz&Iqy4Q%4UFpW344#*9>{RnnH%!NFsI<1A;_Ha zj*e$p(w!KGGg^M{<8JQwBv=&GniD}iVl_SI8I<6*>_w2i179;Uf>G;c?!ZrP_b!hD z#;qnuP)R_3Tr*WkIresOVyVEcHkWbvftHXqn?dzMeFG~cj76s@iF z=RvYiogWp9NPjWp-Z+S9a55h@IR(%ulPXZvtF4BKc{SBPYQ4}7k32yo2!kryDcw|& zfZ&)xR&wJ)%V-SPH0(6#rbf%sOVGBb88Ds&04@6Qcx!AkIM%GNr&eR(#KeSkF#K||dUXZ@IudzC`z*Y4L2ckwKWbP$ zBVT5Ckq^l&96Xg8=l$VCrRFWuM(3&68ejtD1p>RY@~1M>t&FR4@OzKQi~Sk}I~KKy zTU&^^&XhUA1v_oli+L={hsYGWd&_jE)926IfuGxFP4A6dXxRe@$4MXbO&&Z4IZ(^T zcDO=O;q{TZg}Igkru)qm6qR-+f?h)!5{xK!Ve&GYDXG_4EX2uav@?B#m? zM!Y{BJ0K=JnpmqkRuLu_m7Q_k#JKr|_;{c3@JjX!qU%dgwuO>3AxJILB}D?$TqQ-J zwav(4`l?)a?;};TfQiyT$~z1nUZ~+`%I^{ic9&RRT+Sb>1Z{Md-DaCD9d(6Js!{>L zyM$CL6s-aVp^z>V&nCNcMihkiX{#?jfs`--iCKC>D7FJ?C;%bSAQ6`zL25GptLpA8 zBVR~LdK(5JPS3FVfyTMGah}9G2bXb#h3_ZZMnsXN-Sz9&9im#Isb0VcHY$4|LFIye z=|Nl6>HBRb;hq;~2TLT;W$TOGAMwAuSq}MSS^*(q1)5=9lB~o(5b(I*960g_Fwii} z`LO)za-|2C6HOea__y!cH?y4b$!R8*?_5$z{qT7eQyE9%iVINqflHphdUy_Rb+6q@ zynR9Euu)5kS%R4n?~GOH;uFa37#%bc6PG?)<*+{Y*(8qz(VFi)@nmGjFzp_Lwqg6T z&7$jd%DD~)I|fO34VA-{NK?WLpPT-!>oUT_P8zwDtv+(_HGiTyN@=k=7vtc~Jq`5q zT5apH6nnFUrDHzWdI=7x#gMS)gkJ3}@bP}UXfm;0UM*4w zoHnS9|nW^M%p3Pb2iZLT_tc^4dl}zTNilgj0a+ z#iFY93$js3y~D?!yPyh<3!=ZP2%FNdEl);E%*nl0@GndOY#0}3wTtp=xFp&|3r*crPRwgZG>*9Td}#xUlIm} zy8Aou7y+4FJ{qLZUZ4LFf<^0}#_TrWX5ShTQA-HQK;W8E2{it!wMK!Ez9-L!skHJ_)tgTMjAbf!WFNF*{dMGJo;y z&iv`O!VR=k9qT3Y;U9MkucayacaI$kuG^McPDABls(CR*HBrWBx>ioW;)g?@Xv$3> z?fp1GPGy&ZZ!m_7{h%kog90OwmG<(mx9BQe^n+Y$0hnx&hePr7|)#rPxaKx?a5g`nhuOBKYd#Osa9(~`0V+~A`Kw? zWSgZdNuprZq_-RYq`vCpv7U@9$(WS8H8JZyexGktTY;&&zS?UJs)9BAPH2Q!iR++= z*~^MCfM}Iu%=twy+8G@TY~K@%DBQS4eFIaL0b`eoHEKadvy$`KvKz!bM-eE+iY$Hw zK23FOi8rAKMUt_Klv*#wHr8#s8~(#BGQI7^!noUV@*k$ViXd^6GTL-Dkn;e2i6TI6 zr#GB;ZR2J(vA4hU<_`F*O9PG25gEadrLM*^r0j5#OZiHHnW-xzbW1KOFf*oq4>Sn* zl^qQp!=}dkiK5aGPhA;A#R()@ShGo(TUvF&pBrzs2vEds(-vjvscDlKzXbVC}&(GrObPc!Aix>J@On`l|v(T^rCZMGN-^$T>9t z04;a3pq~YhL_X7@JdJVbm-m18GoNUOU%Ih}xwt2PRhV@QfuLIEkHN?h<1pHd9NMQ>3oQWe zHr~hwRY>y30a%S5BMI6xMs>&geOPeDvJs=Ln5GuUrj@M_U{)S+j&GA|d68>%3N|g1`3qeRg_m+`pGCJa zM;~dApa|3#tDP+MjE`nXyJYu16jVWen)3NpH8F%~8Vs6G9Ym4D??S+18K6hq-7f`t zHAO+lT+T=B$*|gw6*>ok>z^jj2TRA zO~#cNN_xi%(BpcZ8dLMdY7fWn1n2)2n(_FB5}SdN{_>C@hY!6$Z*Ffluid^s{5F7! z*4?PLp5L~+=`**8_51fvWR_Cy+Vmd_E81^kz4{`oY1?R1V@mH7WEwai4f4N|%j~>p zY{`yxkfv^NBJ{>OKxLIpe`ZAM6WBcUkWb8&Ri+WDP+t#&4F4%;MHNj;$b9|sO4CC zy@5gsjemMB@yV#(LlJ}zqH6pZ@^MqWUUZp9at%FvVQ&DW#{&^6K+}P! zFkyruBr1QoH58wypbTL~fuYcuB{`t{UIsMLt)ZxMz_?~H+FEtM zt|ReqtfjAM8|ZowR{}h^m+>Z$XBH_q&^KPujROr7*snU~$G^dQ=x5HR%w+46JQ0~6 zLCyE&-`8U|kRN+iQ2%lx;U4Y%!#29WPe@%xUD?H`YXzu|jlj_UKQlk8i9(VryjY-x z?cbAO9ay~9ygM(F5ZqUuw5uhUw~vk0gdQ=aJdO*bqE@t zzp7_p{g6Iw!jAT7P)6}?|4)xe3r{h139?L?h03y5QuZp36qap(E1|m=gU0iJRn@#7 z=0Y`Bjm{i-&S!6H{^R31irDwof-Cun|M8xeJ3$@y*<0rLf4Y)!KgE>rB5lTto0Pw4Ne#{Q?#a{LhG!vD$^cl=!858ppKM_Bw%GiG+ezE|${ znGB)-G-KDecC`CWsp`wC?b>_9Dt^zT%fJ4Fm`cO7fnZ!J`lEU0<&?cy$w9ezA~4qM zSBmd93p&LqOGkr|flGO=aag~7(1~r;Kv6dN8=Q2Cld`I2$Ta!f+1qDQYTbdq$9`!b zzbW;F=1tA-U5bTn(2*w+yL%{9tB#_X?(Df`#=sd$xs z_ttl|8o8eT`f&^#kvrRWw1ftJ-umgGOhE41TCNb8os`m=9py?JF-+&?~9n64m#`&Eqn>-$Z9U%NM6@-fN0x4G_^$SaS*%V5mr z{>={w#Fywg0npgpOEy53XyYO3SlHoe4hPerfDxFRe5~2nt;^?sx@{^YBgfhG+wb>0 z&lK*AyLtTT@A_E@naUpC#>%!eQI#o z%h$Z;j7m(yk-E;u3(~Po$P<-@45FWZ@=7YnwSwo(6p@k{I33af1gNk9=sarfyG3&t z2Zz*6au(Z8*O_mg5YW8yon)U9>?HvG5&Gi>G41Ocr~a8j|NoZ@vSgDCfRfMl5(6=Z zKa;OaUJI7qhBsDPQ<+Le)Riv@vqq7ZS*s|PiOaTUt-`DY;dJC`7&4<|bL2k10|veG z;(3YA`e8JLTS2{PD(nm;PDp;D0Y* z56sp;O+KTOYhjk&U0MzxKaN9Re>wC@8x;(}oY}8QnwYMrA$HqjsATk|__6e#Dh?8K zLRSp0Ft5xG4v(x=(|4yfo0vJQnbsdO#sLK5%*3P;lSY zJ-rP#xKEv@xdjpcH+27Vtv3?*g~OytzP}_j_S^-Tg(MKHd#lyNa*%)$nj+uv-&Wpo zA%0=3l-B01yk4rIR!dhewm>M7&6oS_O|JHp2#!xcqWd|}_oI&a2LEafA)+^4QUc)H zz5o2-;^rC~Kl9llGuJAOjU;AYV&T65XZ|dCIxDuCK160ChBrU0vGHwHwxBR{3F;@q z{K`|4l88=wngw*X>S8XP&|U2L-ZGqgLW3?QiWFt^aCKl-hr6oREH{r1juaI@T$%j& z81G~tv`GNul$cDmq)w1G&nONJzlFSM5T<|gIhzb{9;iIF9@qzH-@P!3-?iYF>jhPKQHGB?mqAvpS??T84Snh^vnzq7+d~ARPS~^kq*2qV;3N)`Jiqd+EM(@G&IN@s>jN4#ULm zY84lmq?b6Fk*Y^eH8m3f+m?ck0FBm*8KtwZ>!~Gxdn-pS&3Md9vPR@%%!s9%yQen#m#y%zDp*{|1d-mj*7G49fPBHZv=d~d~11`t+0||Oh!kwLa7VSXi%J&R@ zdFS`%3P2;~G|+M`4UlJF7d!P$bQ*zg*QS9Dp5zMJL87<=42fS(paL0GDOh?$oT-munu2@oUhL zu70NJDMKw8a8+@EAA4udofZ*lIcNts4w;~zHHuJ+MAoOm74XMo$Hw$jJiNP` zYr?&EX{yI72n77?H*x_t{rJ8^zZ~5stgcGcG7it?FM zK;|{Tc0>Wvby_k&Rj&yx43CumuuwCQ70gEeLK86rm~!kP;5Mv>8p}fx{05l@-CBH> zA1$6sWCcN8B#c+WovvPV1`V+?{m8>>flec4_tJqmd6J!&^a0Fl4(m0kH z2l{IbHv`hG=h0a}r`83!_(?yMG%|r`Lkwt17*AUvCD3D}EaT}m)g~%)rf_&N)CwS& z;e2`y>c*M|8UT$G!-E>tMu!?UNXO6v9yW}>k_8ys+swtHWk2YNdY^`l*9eaLNZQ-A z@u0ryHTq`c!qI8@7n2zJjU4~iR+Rne|GmT4VfY^z$^VYCp@y6b@HSfBYevP*2<4zR zLtBm{kVO11ZnnFWR+;nkq!Nxd(Y3xK`m1L#FJF~SV@t+tJ-^1IzbJU@_n!T;3fcD? zG_9=FMdk_C>yLPD~)CjW!?2Hr^UD`olL5m*alj1!?US!^{Jvb|NZUmR1M(h3*y=%2hMt2cQHW&Xi9*bOy5Ty`%g5kv4o znl0q+?tUtr_(KL`sE;X+EGZ(14s_er!{YnO*2BLzEQjODYYz!iY?4f*d-pX*3F(w} ztX-oG>-D8paP^JX{4z2s(mf+;rAN2wj~&n>`HSs4qWTN!(Q%^Wa)ln73R|tu_R=SL zA(c<7vD$_e40rAk$rE_O9D9HrqhNI_)k(-Hjs0Pa34&ES#Tt?G(~Oph#L`@kN=OP} zHzgo9B5>uhn$+}@W}dg@9?1f+WPU1&qMyS@-|LbKP^s*fH`mq^^|LU$v+Q!s!H7>S zR&cMy(Hm8=sx!-98hg0Rph_luTbGZQ;j;ZOjx*j28nyMs8?&n+v-2v{-cYJXZQOoH_DgLMaw5Q>8R%=!ESF>P92+Pq8ydtK{Z=)z0>L2E3ay;y!!X z+I4mmy_5PHngjYs4YzF2O$L{j%6IO`HMFzs(Y>3`6FR56kt#^x;jS`U=-fV)uPvkl zZCC9?ZMX&fF04w~n42GoyC+M+J2(sqN9tgb{nd>5D}Cm2+bJV7BGdaC+6!7yaOQNC zEH%RKb+&Y+GJ)7p$vT59kzILe;A*9VaE&739r( zga2&hK~f@~&wu*fVZ2^^Q_BPVzmC)Y&2-l1J0Is~9(ebpr>D2h{5odS(eBl=U;`x6 zh`qolwNsJt2p={TP!~N}}quqaN{M6mHK^#ly6}o4`kpfq* zElec8Mlk594lD<=Vo|wd)*_!?P393JgCpW%360!DNpUm}L#L+T^_p2CpLM$)obh}R z&Z5v9$*1!XGU?SnIOayG^n~nbEHe>lC~Q32R1;2&oM}ALST+w#rt2Ka?%_giW=IpB zXzzl^PnNzyrwrDP??z3mAn7!P_`Zh$_wmIMS#BPKRQR0E0J26cZ09RWdelfp2wPVK zJnrY&&CH+FDQ?HWKw?k%HB-#6T6Xp6WK6KXRy-JM9J-fn{z5)$#*R7K4WRLWC##&e z-QhlAeIR@410VXbc+Ij#7Atwc>r@u!xgkYLlPbo@f<;rK5*K8o8`R9gJ+h4vXG5r6 zAyZcUbdEy9Stg^P zR!@h8a1i1n+XFM5?7<}OJN%5!TE)XUNXc%D0NP4Z7{!aZ6b4fxF+$d|LEE!d%pvq# zHND3BDi-bV1ulKr2BsvR>pyw>>F9oi+E<4Z+!m@Pi0tVCe{^hUfOCAlBRfgmWrS6> zTOdeuXg_qnZlIBEc(3=@;NS~KezDh>i|D)#q_esqYcR+hESm9BS)Z5}pDG~KN-*9E zTO|=g=JZ5UiOHW5wi_0s@e2l7ba%@mfuA}jJh)FesUpM_arh9GSANOEQ&}>`;}mGa z!!+-aYN$OvYr{7*_{lC<80jKplc{_ofR;t$z4^I;gZT_gqLmNBd^PM6VoXY^KEGp&@LYv0E2Fsqk z>s{y{N~WW)o9&U+3Y}feAI0@fnaz!EXQ=lJs5+gV;@O3G^`sk zGgyV$i+VNlH;=HMFRYmb;rBc)-g~{6??UAi_R3JH;>+XxVbj9`oHGwOZwaad=HML% zXyhDh@i@fi|I)O;2x zV{tr$z?8tP1cf5RRRgckJsr?&TP$aDs^1T*S#aNfGIDkG;b2sYNf6UPZ@-e(fn2%T z^~R@eSr)zVFJkxULX(H6S`#g2yr&7v?|y&Wf8`yl_K&{sAhpH2l2eP~57HsmVCH^y zlSTB3DkC^Ak@q+!AJ5z4^Sy_cVHj*Oa1*jLzZ975t9AVirM75N>{H<%RaQg3A5tzz zk9cJiMA@S?Dc$=BBx4p79@QFGy*hx*PEc1YJ$Z2%>AhuYGNRHLFknr!$){7_HJPQ%4gKx4zka>;ZKVM zm#t$i$$r*?gAH*3(>57*splfji$nQ$ozy>1u1(#OYNY;{5)%Ei_9=5}ccLzpfJB;s zR&y1gS$Yr1_9P(fjB-q#fbx1A&^$rQ0(`}^y?+oCdBiIRUMbcx=Dkr|NgPh94}y+8 ze2}Y4fBBh^<%-?eZ1NuX%9O%Q1&QlW47-G6Vp$hi%eBlt17l-ws-MNPs4OPo+qCq? z3Y&apRUJ6qa5+(BA>?7O7Re=6CkIw%czt%`1j?3D;D#!@!bn_})L0|KtXwBM z)gu-bEZmw!W{`2NNt9G?;Ap%jMa_!PTxm;7(6Q@?E$91E3aeevAugjgA9yQ`=->L% z>=WRiVH^(^y##9!I^VnRVXtJYB$`LCZh2%=l?n8%UnwQ9;gs5$rd~VU-c{*GF1k_w zVEq$*c`mS14v+N=!_6NYk*RR^`g!(W*l~%^Y+pDRCvKpPx+y_)D-w zL%^vTPRzq~Q4cwiuN!DbjMlI`;dmy6wo$+Kw-9Y8Ow)d z9)GixfDDpjo1nQ2PAy$lVFHLxRG&-H8Li!5QE3hWa=eat>;~>Ra_Io)0ypuGK9;12F6!nNSUZJ6$G=4C6>rz za*129xy1s?c{YL8g^f z7bbPlM>sFriWJ9f9QB?me%>glt5T0#6?Wk5n;4-o>g}ot_5!K;0#2>C?dDL7h4PQ; z*ABuC#6N%wtCv%)ru1A_FS{aL@yq3c2(Q&>fjG9C41?brL?dsx)wtzGRWxC86xGp1HjrKjqriga=$=-5qcjiKA7?op?UGo!25!o_Lex+si)SO zbnpq2K&UcH^0*ZAbww3o{!MtamAOR2sjAB2x`Jxy_&_>(c=;mVK>TYLnGJCUOS*zL`M!#l*G29?06hp)G4!>72taVMY>D3xh(&5EoV$PZq1NJ z^Jad{q7M2(vvq}tuP0?_)Mi|*h>8++y6okOPAFm8I~9vUp5mWSbiJmkE{)-Tf`a0q zC2%NtA|HA*7F#18OHVwQlx}JW8391*jaTkw#zzqa?9}r-fe_m)RzQfW!g|FqDEm?2 z*k-77Xr*5SmFlABq6;~bqfC3}KoDS4%8qOBG6*3{l@3ElmKEAu{Ej`mmdJ#X3a>@s z{%5EgIiIbwuxPU|>5kqcVn9 z*bYfeA)Xel@U=(c-7E^jO&%rwk5PlBb27c>VmozftJ`ntiG5b(Us&MIG$vbtO%&#} zvoPZ(?~ON{Puj}^Tq~+vFR0JKJ&{7lm-#Y+>fVaUrFN`Zp$v4=;%$U*+g~@^*t&H} z-awEX643=I{dg2$)EHyX{6JLrvQ5+Di@WzH3Z0pHY$CEENJpxK6H&`0ZUpqnD~bJc zHIB`ie!M)*yY>miG5cUl%o6QUUyq?pUJGNUwoo0ZzV`0v)Y=0zhvAWc@(>ViWx`pA zwJNo%+_^>uXH*cg{>589wYxHV4TgICeBOXNEh{@)M^{&Otshjb%xV!Kr|YkSa*Hks z#`Hg;IKMQ%=NYa{FG`27N>czCG-j>rQo#${u!1a@SazJKnibEEN5$;EOj%-I^TT|u zGjn*NTdY=zeBIK>g`0VIR^D@!yoN%-dgra>BDs;(O%$2w&DDYW?wJ8(Y_aJ0?>IoG z^?WZ@lyiXBu>BSmorD!hE4W;%S=0P4s9Ow1!JImaXLRP^E@%4h_*F-O;ZwZC~=|MHPZiLeps(@(IUwCO-6tvQ4_uDPQ6c z@;MgT80;KOu2;>oy!8g20IOs8t$fay-1)YxJ!-!-^9R19(r7eU*TJ%n>3Yc^wEzmd z#%9HihQ+vwI2gcq3S5W?x6AJZt(fCAjWE?KW@csXH}Ls3+OF6n6@~VAIdN1j&x?$V zXS_T;px%?#n`3&tI=&lX{S3lDuWLtaf~3itqevko&!0h?J#S6_aBkUE-qM-raQD;Xt5UqZ8*ZxLb=r*Y6 zxTb0mywI45WHHy)f#7Vw`q#4Q?GnyNEe=VswELizHikXl>Z=2agRSRsp{leTaNd*e z{;sFGaKWeHw1?z(CX$-JlTK%08V5N&ae;uL>BZp&YG&=&YvOalIPqy7=L46@GjiZOprUeGW-`j zR9TbDJ-?&F00y`1q`;-f`j{ z39oLz12PJhA?O46;Ax;R5B`4;pkytEfGV#kDWI@DK|z5K1mpk$lJg1fX+-6xc9gzIaflej66@F)I@QYJ!g|P`J zgECb;$9}W2`&3|CK6JG@aJl8!oAatV2Atv-Y>Q14dQoM89_h?N9~YNBDKc zL(@*ERD5~foMfdUl2zNdm0;u0c)oGCB#QK;>tS(4yb>n*qyQ0FqZtsp=>$>d+WUOT z!@vs}s_>b)l5Jt+1O^;}_XJ!vDZHhdeY?a231l&FM$H#&^D~Z?_>%Bd6D2MKiwF$h z#8_lH1JQEalhfp5cUk0Wa0{6-oc$$E~x_Xe`a!PQ1NXOYZxpl-x9kZ1@_nbTv+HhZoy085>_9)WxJL6=9tX;Tg;S}{W}=r^ZH`-%f7-?W*Sg`kVtBIcg zvIRo8KuDKjV!O3f8_H+vn?n^gR*U=FctFMiQsLL9!LljdDsXU2p4vE;C`ZMd4aK4- zMDSWH0O5cp-E(IiIhd%DUi|8~F=-GlW_k6A6X21yGh7Ubj!p<28HKq4PYWl?=tD{^ zExXncT^PK!C>yjg8!SW@6N}`riI5AobDO$63MCilqliYYrns1(tR&$Oz`eL=Uh1j~ zIwicP;4Ag=S&Ab9TTfhZcJrW=_)eEP1U`)NNtpZr1C{e(S->i`8QrO|ng~kz^3MJ9X=}yDIUy{6 zFu?=^pd-0f)wIWyWT2B$1a?laTGPJ6XMRRi0&qnS*gcDJ*1=1Bqv7r*xhqYLg-MDY z$H^|h{;vu0k}(G;HUycpIAJnm+Z^8A`+n^cz={k^gdD%w+u8XCebnCB+1ZCJhYtO; zPRq@0Yr}1i2YhPgUeK+iJ^4Phmc?)Y1{h=@Nf0(A87xNC<*6P~V?sEG!M!vqV3K9Q zfT@B!!juCL=3J}l1y;QK{S%QMK$}k>Y9GqU5HotnSf2fKmLLjsTLB8_mM$I0weeU= z8E3H;u;&b~Q1KOR5@*1D&d^4L4Y0b(`BtjNxo0CGxlg^IUQR@#%Bco~HT-I|6pd;DL(;-`HtDlz&;gNQCoo|!8V^`cED}}C=5ABQbhb^G3 zgR4qo=x$_n0H*qIqkO~?fRt3JTjzm>--g_%dz8yynT#N ztay~5itlT{tsOt`5yXHQobyE+Qn zd&h_SU^WH=BUx%K7n|8t=siXScA- z2+5&o%k4^g$5-9 z;Eaz^u32=pGt~Ydz|{m~=0MwuFwX-{O^*+=mpwSi)`qWUicfrWB&pv3IHueV6!8(r z-SE^}BRsI+=$Tm4e6aV!jac5Hx5Kxs(lOh+$EkpWy3_@Ye%wwG3VQQe_}wh%%WoeYj{Y zyHCwTZEG%+K@Yf;r$AVG1}btTAJ~zIl&tmRHV8l33tI7bop=L;XvYtj?#Ks+>L-CH zM@b9bmu}!p1&8o8?rRYoec+irkvZH>>Xf##N*X+lcdd#kZU8aX)0>CuE$gLeYS-Hq zV}-3*GU=%$O*~F;&ffuo+usjV+)gk zc?+F8|6iVv+(4B&Z=~f@#Az9=WfHQWLq;vugoTvAF zTS=GDynmOS+h*6ZFxuR6BG%&1z?IqO!}MWlT74K-I%s8;N&tNF%=~=cs|1jOr`cg2tD+=-UYvZ)CUjRh0^CIYw(l;9PeW!Xf*!joq z+yuRVclWp<=>v{>m&ic`dbc>H>Ko`hALoWqoh;(~17ZYEsgVQpT$}BRc5W4mI6l97 z0o39|GymAJVNyVOsv{adZJYJAwP)RZ?G63);XhvneySueT)&o@I6i;3k?yK9hdMWT zGnV^^dRwOD^Sf&f%9)^>%x-6Z5B(XI)R_u#T`-=De%(-f5Ka~xN+1|+U0wmT3%K&5 z_3gZ7s0jDY)}8r(+WXG1sIq2VW^~3e2P7y-#ehT+kPMCzL$u=1p&@qt} zB?tma7HAkUO*GITSu&#J*yPYO61usyK^nigbDr;>d(Mv=X8!2o?B1c)s#;ZVy;Zf? zD%oVtD6um^I{mk@g3Rp-0}xWD?+Zs5%;oh zNC1xdnTyjO>VIQhibpJPa{RnQWyANk)6UM5I3Lit`PlJP&@TtF*L_jb#c{Vjo)ZBQ zQC7|l8@xbSjtJkRMp1febAT_Vg5qmBQbT>4SK{k%sq-UA@H!Cu#T<(F&7tPk{Nt0O z1n{T{5HKhKIF=G{nNT53v0His9J_qL74XsC7>J%|H7s#j>Fn%Jr-c9J+y=9{`uM<+d@lh2@ChBXI? z&4*l$mZ8h38{gplL6O_~ewq5yuD?893bPbPAukUn-$3wziGqTH(Z_1XB!p~x-U>R7 zw-cec$uY^9GFsd!3`49#>#C^>akX-_KAvf43;!)IXBb>l(I<3t4MzT;^utHAGNLc& z`5w_4&x^giz%&)#3X|F*KHP++HI@!j2$m+LRUO~ydeDxU?aPaH#tΠMJq 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 51b3bf6..b552fce 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,16 @@ +![Markdown Links](md.png) # Markdown Links ## Índice -* [1. Preámbulo](#1-preámbulo) +* [1. General](#1-preámbulo) * [2. Resumen del proyecto](#2-resumen-del-proyecto) -* [3. Objetivos de aprendizaje](#3-objetivos-de-aprendizaje) -* [4. Consideraciones generales](#4-consideraciones-generales) -* [5. Criterios de aceptación mínimos del proyecto](#5-criterios-de-aceptación-mínimos-del-proyecto) -* [6. Entregables](#6-entregables) -* [7. Hacker edition](#7-hacker-edition) -* [8. Pistas, tips y lecturas complementarias](#8-pistas-tips-y-lecturas-complementarias) -* [9. Checklist](#9-checklist) -* [10. Achicando el problema](#10-achicando-el-problema) +* [3. Instalación](#3-instalación) +* [4. Instrucciones de uso](#4-instrucciones-de-uso) +* [5. Issues](#5-issues) +* [6. Créditos](#6-créditos) -*** - -## 1. Preámbulo +## 1. General [Markdown](https://es.wikipedia.org/wiki/Markdown) es un lenguaje de marcado ligero muy popular entre developers. Es usado en muchísimas plataformas que @@ -27,645 +22,18 @@ Estos archivos `Markdown` normalmente contienen _links_ (vínculos/ligas) que muchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de la información que se quiere compartir. -Dentro de una comunidad de código abierto, nos han propuesto crear una -herramienta usando [Node.js](https://nodejs.org/), que lea y analice archivos -en formato `Markdown`, para verificar los links que contengan y reportar -algunas estadísticas. - -![md-links](https://user-images.githubusercontent.com/110297/42118443-b7a5f1f0-7bc8-11e8-96ad-9cc5593715a6.jpg) - ## 2. Resumen del proyecto -En este proyecto crearás una herramienta de línea de comando (CLI) así como tu -propia librería (o biblioteca - library) en JavaScript. - -En esta oportunidad nos alejamos un poco del navegador para construir un -programa que se ejecute usando Node.js. Aprenderemos sobre procesos -(`process.env`, `process.argv`, ...), cómo interactuar con el sistema archivos, -cómo hacer consultas de red, etc. - -[Node.js](https://nodejs.org/es/) es un entorno de ejecución para JavaScript -construido con el [motor de JavaScript V8 de Chrome](https://developers.google.com/v8/). -Esto nos va a permitir ejecutar JavaScript en el entorno del sistema operativo, -ya sea tu máquina o un servidor, lo cual nos abre las puertas para poder -interactuar con el sistema en sí, archivos, redes, etc. - -Diseñar tu propia librería es una experiencia fundamental para cualquier -desarrolladora porque que te obliga a pensar en la interfaz (API) de tus -_módulos_ y cómo será usado por otras developers. Debes tener especial -consideración en peculiaridades del lenguaje, convenciones y buenas prácticas. - -## 3. Objetivos de aprendizaje - -Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo. - -### JavaScript - -- [ ] **Diferenciar entre tipos de datos primitivos y no primitivos** - -- [ ] **Arrays (arreglos)** - -
Links

- - * [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/04-arrays) - * [Array - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/) - * [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) - * [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) - * [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map) - * [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) - * [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) -

- -- [ ] **Objetos (key, value)** - -
Links

- - * [Objetos en JavaScript](https://curriculum.laboratoria.la/es/topics/javascript/05-objects/01-objects) -

- -- [ ] **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)** - -
Links

- - * [Estructuras condicionales y repetitivas](https://curriculum.laboratoria.la/es/topics/javascript/02-flow-control/01-conditionals-and-loops) - * [Tomando decisiones en tu código — condicionales - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/conditionals) -

- -- [ ] **Funciones (params, args, return)** - -
Links

- - * [Funciones (control de flujo)](https://curriculum.laboratoria.la/es/topics/javascript/02-flow-control/03-functions) - * [Funciones clásicas](https://curriculum.laboratoria.la/es/topics/javascript/03-functions/01-classic) - * [Arrow Functions](https://curriculum.laboratoria.la/es/topics/javascript/03-functions/02-arrow) - * [Funciones — bloques de código reutilizables - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Functions) -

- -- [ ] **Recursión o recursividad** - -
Links

- - * [Píldora recursión - YouTube Laboratoria Developers](https://www.youtube.com/watch?v=lPPgY3HLlhQ) - * [Recursión o Recursividad - Laboratoria Developers en Medium](https://medium.com/laboratoria-developers/recursi%C3%B3n-o-recursividad-ec8f1a359727) -

- -- [ ] **Módulos de CommonJS** - -
Links

- - * [Modules: CommonJS modules - Node.js Docs](https://nodejs.org/docs/latest/api/modules.html) -

- -- [ ] **Diferenciar entre expresiones (expressions) y sentencias (statements)** - -- [ ] **Callbacks** - -
Links

- - * [Función Callback - MDN](https://developer.mozilla.org/es/docs/Glossary/Callback_function) -

- -- [ ] **Promesas** - -
Links

- - * [Promise - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Promise) - * [How to Write a JavaScript Promise - freecodecamp (en inglés)](https://www.freecodecamp.org/news/how-to-write-a-javascript-promise-4ed8d44292b8/) -

- -- [ ] **Pruebas unitarias (unit tests)** - -
Links

- - * [Empezando con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/getting-started) -

- -- [ ] **Pruebas asíncronas** - -
Links

- - * [Tests de código asincrónico con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/asynchronous) -

- -- [ ] **Uso de mocks y espías** - -
Links

- - * [Manual Mocks con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/manual-mocks) -

- -- [ ] **Pruebas de compatibilidad en múltiples entornos de ejecución** - -- [ ] **Uso de linter (ESLINT)** - -- [ ] **Uso de identificadores descriptivos (Nomenclatura y Semántica)** - -### Node.js - -- [ ] **Instalar y usar módulos con npm** - -
Links

- - * [Sitio oficial de npm (en inglés)](https://www.npmjs.com/) -

- -- [ ] **Configuración de package.json** - -
Links

- - * [package.json - Documentación oficial (en inglés)](https://docs.npmjs.com/files/package.json) -

- -- [ ] **Configuración de npm-scripts** - -
Links

- - * [scripts - Documentación oficial (en inglés)](https://docs.npmjs.com/misc/scripts) -

- -- [ ] **process (env, argv, stdin-stdout-stderr, exit-code)** - -
Links

- - * [Process - Documentación oficial (en inglés)](https://nodejs.org/api/process.html) -

- -- [ ] **File system (fs, path)** - -
Links

- - * [File system - Documentación oficial (en inglés)](https://nodejs.org/api/fs.html) - * [Path - Documentación oficial (en inglés)](https://nodejs.org/api/path.html) -

- -### Control de Versiones (Git y GitHub) - -- [ ] **Git: Instalación y configuración** - -- [ ] **Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)** - -- [ ] **Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)** - -- [ ] **GitHub: Creación de cuenta y repos, configuración de llaves SSH** - -- [ ] **GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)** - -- [ ] **GitHub: Organización en Github (projects | issues | labels | milestones | releases)** - -### HTTP - -- [ ] **Consulta o petición (request) y respuesta (response).** - -
Links

- - * [Generalidades del protocolo HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Overview) - * [Mensajes HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Messages) -

- -- [ ] **Códigos de status de HTTP** - -
Links

- - * [Códigos de estado de respuesta HTTP - MDN](https://developer.mozilla.org/es/docs/Web/HTTP/Status) - * [The Complete Guide to Status Codes for Meaningful ReST APIs - dev.to](https://dev.to/khaosdoctor/the-complete-guide-to-status-codes-for-meaningful-rest-apis-1-5c5) -

- -## 4. Consideraciones generales - -* Este proyecto se debe "resolver" de manera individual. - -* El rango de tiempo estimado para completar el proyecto es de 4 a 5 Sprints. - -* La **librería** y el **script ejecutable** (herramienta de línea de comando - - CLI) deben estar implementados en JavaScript para ser ejecutados con - Node.js. **Está permitido usar librerías externas**. - -* Tu módulo **debe ser instalable** via `npm install /md-links`. Este - módulo debe incluir tanto un _ejecutable_ que podamos invocar en la línea de - comando como una interfaz que podamos importar con `require` para usarlo - programáticamente. - -* Los **tests unitarios** deben cubrir un mínimo del 70% de _statements_, - _functions_, _lines_ y _branches_. Te recomendamos explorar [Jest](https://jestjs.io/) - para tus pruebas unitarias. - -* Para este proyecto **no está permitido** utilizar `async/await`. - -* Para este proyecto te sugerimos **no utilizar** la versión síncrona - de la función para leer archivos, `readFileSync`, y en cambio intentar - resolver este desafío de manera asíncrona. - -* Para este proyecto es **opcional** el uso de ES Modules `(import/export)`, en el - caso optes utilizarlo deberás de crear un script de `build` en el `package.json` - que los transforme en `requires` y `module.exports` con ayuda de **babel**. - -* Para disminuir la complejidad de tu algoritmo recursivo, te recomendamos - utilizar la versión síncrona de la función para leer directorios, `readdirSync`. - -## 5. Criterios de aceptación mínimos del proyecto - -Para comenzar este proyecto tendrás que hacer un **_fork_** y **_clonar_** este -repositorio. - -Antes de comenzar a codear, es necesario crear un **plan de acción**. Esto debería -quedar detallado en el `README.md` de tu repo y en una serie de **_issues_** -y **_milestones_** para priorizar y organizar el trabajo, y para poder hacer -seguimiento de tu progreso. - -Dentro de cada **_milestone_** se crearán y asignarán los **_issues_** que cada quien -considere necesarios. - -### Archivos del proyecto - -* `README.md` con descripción del módulo, instrucciones de instalación/uso, - documentación del API y ejemplos. Todo lo relevante para que cualquier - developer que quiera usar tu librería pueda hacerlo sin inconvenientes. -* `index.js`: Desde este archivo debes exportar **una** función (`mdLinks`). -* `package.json` con nombre, versión, descripción, autores, licencia, - dependencias, scripts (pretest, test, ...), main, bin -* `.editorconfig` con configuración para editores de texto. Este archivo no se - debe cambiar. -* `.eslintrc` con configuración para linter. Este archivo contiene una - configuración básica para ESLint, si deseas agregar reglas adicionales - como Airbnb deberás modificar este archivo. -* `.gitignore` para ignorar `node_modules` u otras carpetas que no deban - incluirse en control de versiones (`git`). -* `test/md-links.spec.js` debe contener los tests unitarios para la función - `mdLinks()`. Tu implementación debe pasar estos tests. - -## Este proyecto consta de DOS partes - -### 1) JavaScript API - -El módulo debe poder **importarse** en otros scripts de Node.js y debe ofrecer la -siguiente interfaz: - -#### `mdLinks(path, options)` - -##### Argumentos - -* `path`: Ruta **absoluta** o **relativa** al **archivo** o **directorio**. -Si la ruta pasada es relativa, debe resolverse como relativa al directorio -desde donde se invoca node - _current working directory_). -* `options`: Un objeto con **únicamente** la siguiente propiedad: - - `validate`: Booleano que determina si se desea validar los links - encontrados. - -##### Valor de retorno - -La función debe **retornar una promesa** (`Promise`) que **resuelva a un arreglo** -(`Array`) de objetos (`Object`), donde cada objeto representa un link y contiene -las siguientes propiedades - -Con `validate:false` : - -* `href`: URL encontrada. -* `text`: Texto que aparecía dentro del link (``). -* `file`: Ruta del archivo donde se encontró el link. - -Con `validate:true` : - -* `href`: URL encontrada. -* `text`: Texto que aparecía dentro del link (``). -* `file`: Ruta del archivo donde se encontró el link. -* `status`: Código de respuesta HTTP. -* `ok`: Mensaje `fail` en caso de fallo u `ok` en caso de éxito. - -#### Ejemplo (resultados como comentarios) - -```js -const mdLinks = require("md-links"); - -mdLinks("./some/example.md") - .then(links => { - // => [{ href, text, file }, ...] - }) - .catch(console.error); - -mdLinks("./some/example.md", { validate: true }) - .then(links => { - // => [{ href, text, file, status, ok }, ...] - }) - .catch(console.error); - -mdLinks("./some/dir") - .then(links => { - // => [{ href, text, file }, ...] - }) - .catch(console.error); -``` - -### 2) CLI (Command Line Interface - Interfaz de Línea de Comando) - -El ejecutable de nuestra aplicación debe poder ejecutarse de la siguiente -manera a través de la **terminal**: - -`md-links [options]` - -Por ejemplo: - -```sh -$ md-links ./some/example.md -./some/example.md http://algo.com/2/3/ Link a algo -./some/example.md https://otra-cosa.net/algun-doc.html algún doc -./some/example.md http://google.com/ Google -``` - -El comportamiento por defecto no debe validar si las URLs responden ok o no, -solo debe identificar el archivo markdown (a partir de la ruta que recibe como -argumento), analizar el archivo Markdown e imprimir los links que vaya -encontrando, junto con la ruta del archivo donde aparece y el texto -que hay dentro del link (truncado a 50 caracteres). - -#### Options - -##### `--validate` - -Si pasamos la opción `--validate`, el módulo debe hacer una petición HTTP para -averiguar si el link funciona o no. Si el link resulta en una redirección a una -URL que responde ok, entonces consideraremos el link como ok. - -Por ejemplo: - -```sh -$ md-links ./some/example.md --validate -./some/example.md http://algo.com/2/3/ ok 200 Link a algo -./some/example.md https://otra-cosa.net/algun-doc.html fail 404 algún doc -./some/example.md http://google.com/ ok 301 Google -``` - -Vemos que el _output_ en este caso incluye la palabra `ok` o `fail` después de -la URL, así como el status de la respuesta recibida a la petición HTTP a dicha -URL. - -##### `--stats` - -Si pasamos la opción `--stats` el output (salida) será un texto con estadísticas -básicas sobre los links. - -```sh -$ md-links ./some/example.md --stats -Total: 3 -Unique: 3 -``` - -También podemos combinar `--stats` y `--validate` para obtener estadísticas que -necesiten de los resultados de la validación. - -```sh -$ md-links ./some/example.md --stats --validate -Total: 3 -Unique: 3 -Broken: 1 -``` - -## 6. Entregables - -Módulo instalable via `npm install /md-links`. Este módulo debe -incluir tanto **un ejecutable** como **una interfaz** que podamos importar con `require` -para usarlo programáticamente. - -## 7. Hacker edition - -Las secciones llamadas _Hacker Edition_ son **opcionales**. Si **terminaste** -con todo lo anterior y te queda tiempo, intenta completarlas. Así podrás -profundizar y/o ejercitar más sobre los objetivos de aprendizaje del proyecto. - -* Puedes agregar la propiedad `line` a cada objeto `link` indicando en qué línea - del archivo se encontró el link. -* Puedes agregar más estadísticas. -* Integración continua con Travis o Circle CI. - -*** - -## 8. Pistas, tips y lecturas complementarias - -Súmate al canal de Slack -[#project-md-links](https://claseslaboratoria.slack.com/archives/C03T1E5TJCQ) -para conversar y pedir ayuda del proyecto. - -### FAQs - -#### ¿Cómo hago para que mi módulo sea _instalable_ desde GitHub? - -Para que el módulo sea instalable desde GitHub solo tiene que: - -* Estar en un repo público de GitHub -* Contener un `package.json` válido - -Con el comando `npm install githubname/reponame` podemos instalar directamente -desde GitHub. Ver [docs oficiales de `npm install` acá](https://docs.npmjs.com/cli/install). - -Por ejemplo, el [`course-parser`](https://github.com/Laboratoria/course-parser) -que usamos para la currícula no está publicado en el registro público de NPM, -así que lo instalamos directamente desde GitHub con el comando `npm install -Laboratoria/course-parser`. - -### Sugerencias de implementación - -La implementación de este proyecto tiene varias partes: leer del sistema de -archivos, recibir argumentos a través de la línea de comando, analizar texto, -hacer consultas HTTP, ... y todas estas cosas pueden enfocarse de muchas formas, -tanto usando librerías como implementando en VanillaJS. - -Por poner un ejemplo, el _parseado_ (análisis) del markdown para extraer los -links podría plantearse de las siguientes maneras (todas válidas): - -* Usando un _módulo_ como [markdown-it](https://github.com/markdown-it/markdown-it), - que nos devuelve un arreglo de _tokens_ que podemos recorrer para identificar - los links. -* Siguiendo otro camino completamente, podríamos usar - [expresiones regulares (`RegExp`)](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Regular_Expressions). -* También podríamos usar una combinación de varios _módulos_ (podría ser válido - transformar el markdown a HTML usando algo como [marked](https://github.com/markedjs/marked) - y de ahí extraer los link con una librería de DOM como [JSDOM](https://github.com/jsdom/jsdom) - o [Cheerio](https://github.com/cheeriojs/cheerio) entre otras). -* Usando un _custom renderer_ de [marked](https://github.com/markedjs/marked) - (`new marked.Renderer()`). - -No dudes en consultar a tus compañeras y coaches -si tienes dudas existenciales con respecto a estas decisiones. No existe una -"única" manera correcta :wink: - -### Tutoriales / NodeSchool workshoppers - -* [learnyounode](https://github.com/workshopper/learnyounode) -* [how-to-npm](https://github.com/workshopper/how-to-npm) -* [promise-it-wont-hurt](https://github.com/stevekane/promise-it-wont-hurt) - -### Otros recursos - -* [Acerca de Node.js - Documentación oficial](https://nodejs.org/es/about/) -* [Node.js file system - Documentación oficial](https://nodejs.org/api/fs.html) -* [Node.js http.get - Documentación oficial](https://nodejs.org/api/http.html#http_http_get_options_callback) -* [Node.js - Wikipedia](https://es.wikipedia.org/wiki/Node.js) -* [What exactly is Node.js? - freeCodeCamp](https://medium.freecodecamp.org/what-exactly-is-node-js-ae36e97449f5) -* [¿Qué es Node.js y para qué sirve? - drauta.com](https://www.drauta.com/que-es-nodejs-y-para-que-sirve) -* [¿Qué es Nodejs? Javascript en el Servidor - Fazt en YouTube](https://www.youtube.com/watch?v=WgSc1nv_4Gw) -* [¿Simplemente qué es Node.js? - IBM Developer Works, 2011](https://www.ibm.com/developerworks/ssa/opensource/library/os-nodejs/index.html) -* [Node.js y npm](https://www.genbeta.com/desarrollo/node-js-y-npm) -* [Asíncronía en js](https://carlosazaustre.es/manejando-la-asincronia-en-javascript) -* [NPM](https://docs.npmjs.com/getting-started/what-is-npm) -* [Publicar packpage](https://docs.npmjs.com/getting-started/publishing-npm-packages) -* [Crear módulos en Node.js](https://docs.npmjs.com/getting-started/publishing-npm-packages) -* [Leer un archivo](https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback) -* [Leer un directorio](https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback) -* [Path](https://nodejs.org/api/path.html) -* [Linea de comando CLI](https://medium.com/netscape/a-guide-to-create-a-nodejs-command-line-package-c2166ad0452e) - -## 9. Checklist - -### General - -* [ ] Puede instalarse via `npm install --global /md-links` - -### `README.md` - -* [ ] Un board con el backlog para la implementación de la librería. -* [ ] Documentación técnica de la librería. -* [ ] Guía de uso e instalación de la librería - -### API `mdLinks(path, opts)` - -* [ ] El módulo exporta una función con la interfaz (API) esperada. -* [ ] Implementa soporte para archivo individual -* [ ] Implementa soporte para directorios -* [ ] Implementa `options.validate` - -### CLI - -* [ ] Expone ejecutable `md-links` en el path (configurado en `package.json`) -* [ ] Se ejecuta sin errores / output esperado -* [ ] Implementa `--validate` -* [ ] Implementa `--stats` - -### Pruebas / tests - -* [ ] Pruebas unitarias cubren un mínimo del 70% de statements, functions, - lines, y branches. -* [ ] Pasa tests (y linters) (`npm test`). - -## 10. Achicando el problema - -Un "superpoder" que esperamos puedas desarrollar durante el bootcamp -es el de definir "mini-proyectos" que te acerquen paso a paso a -la solución del "gran proyecto". Es el equivalente a comenzar armando -esquinas o bordes del rompecabezas/puzzle sin saber necesariamente -cómo encajarán al final. Déjate llevar y explora. - -Estas son algunas sugerencias: - -### Empieza con un diagrama de flujo - -Este proyecto es distinto de los que has venido trabajando hasta ahora -dado que no hay una interfaz web, todo se desarrollará en tu editor y -consola/terminal. - -Es por ello que, para visualizar mejor lo que tendrás que hacer -y planificar tus tareas y objetivos, es recomendable hacer un -`diagrama de flujo`. - -Si nunca has hecho un diagrama de flujo revisa este [recurso](https://www.youtube.com/watch?v=Lub5qOmY4JQ). - -Una alternativa al diagrama de flujo puede ser el `pseudocódigo`. - -### Planificación - -En este proyecto te recomendamos usar la herramienta de planificación -y organización de GitHub llamada **Github Projects**. - -Mediante **issues** y **milestones** podrás organizar y planificar -tareas y objetivos concretos. - -Tomando en consideración los **entregables** del proyecto, el -[9. Checklist](#9-checklist) y los **pasos** que definiste en tu -`diagrama de flujo`, crea tu planificación en GitHub Projects. - -### Antes de codear - -En esta ocasión estarás trabajando en **NodeJS**, asegúrate -de saber para qué sirve y sus consideraciones. - -En particular, deberás decidir desde un comienzo si usarás -`ES Modules`, es decir, **import/export**, ó, por el contrario, -`CommonJS Modules`, es decir, **require/module.exports**. - -Asegurate de tener clara esta decisión desde un inicio para -que no encuentres problemas más adelante. - -### Lee un archivo - -Como primer reto, puedes tratar de leer un solo archivo con -una ruta fija e imprimir su contenido en la consola con un `console.log`. - -La librería nativa `FS` (FileSystem) te será de utilidad. - -**Recuerda**: Te sugerimos **no utilizar** la versión síncrona -de la función para leer archivos, `readFileSync`, y en cambio -intentar resolver ese desafío de manera asíncrona. - -### Averigua la extensión de un archivo - -Ya sabiendo leer un archivo, aventúrate a conocer cual -es su extensión. - -Recuerda, las extensiones son esas letras al final del -nombre de un archivo, por ejemplo: .js, .txt, .doc, etc - -Aquí también podrá ser útil `FS`. - -### Obtén el contenido de un directorio - -Este proyecto consiste en buscar archivos, pero para eso, -primero debes poder verlos. - -Intenta imprimir en consola la lista de archivos en una carpeta. - -La librería `FS` también te será útil aquí. - -**Recuerda**: Para disminuir la complejidad de tu algoritmo -recursivo, te recomendamos utilizar la versión síncrona de -la función para leer directorios, `readdirSync`. - -### Une dos rutas - -Para poder acceder a carpetas y archivos será necesario que -indiques en qué lugar de tu computadora se encuentran, a esto -le llamamos **rutas**. - -Usa la librería nativa `path` para unir dos segmentos de ruta, -por ejemplo, si queremos unir: - -1) /home/Laboratoria/ -2) ./test - -El resultado sería: /home/Laboratoria/test - -### Recursividad - -Este proyecto se ha de resolver de forma casi natural con -**recursividad**. - -¿Por qué?. - -Porque no conocemos realmente cuantas carpetas y archivos -tendremos que recorrer antes de terminar. - -Si recibes una ruta de carpeta, no sabrás de ante mano si -dentro hay más carpetas o muchos archivos. - -Por ello, asegurate bien de entender de qué trata la -recursividad y ver algunos ejemplos. - -Entre los recursos de este proyecto hay un video que te ayudará. - -### Crea una promesa +El proyecto MD-links es una herramienta de línea de comandos desarrollada en JavaScript que permite analizar y validar links en archivos Markdown. La herramienta recorre los archivos Markdown en una carpeta y verifica la validez de los links encontrados en ellos. También puede generar estadísticas y reportes sobre los links, como el número de links encontrados y el número de links rotos. +![Flowchart draft](Flowchart.png) +> Flowchart -El valor de retorno de nuestra librería es una `Promesa`, -no un `Array`. +## 3. Instalación -Prueba leyendo sobre las promesas y creando una por tu -cuenta utilizando **new Promise()** +Es necesario tener una versión reciente de `node.js` instalada. +En tu terminal instalas la librería por npm con el siguiente comando: + `npm install CYQ-mdlinks` -Es importante que sepas qué es un **callback** pues las -promesas los utilizarán. +## 4. Instrucciones de uso +## 5. Issues +## 6. Créditos \ No newline at end of file diff --git a/md.png b/md.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcf5d88dcc509eab4b597e959be7c56a0b384bc GIT binary patch literal 417438 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 z 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

Ho!_M??#Hf%ZHS6>xe7X@9o#C}QE5 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 z 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

t!F9me34+UES{;yorYpV-K9?luLSy%pThsL3 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 14782c8..8dd8e09 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "md-links", "version": "0.1.0", "main": "index.js", + "description": "This is a library for parsing and validating links in your markdow files", "engines": { "node": ">=16.x" }, @@ -11,6 +12,13 @@ "lint": "npx eslint . --ext .js", "lint-fix": "eslint . --fix" }, + "bin": { + "cli": "./src/cli.js" + }, + "bugs": { + "url": "https://github.com/CarolynYQ/MD-links/issues", + "homepage": "https://github.com/CarolynYQ/MD-links#readme" + }, "bootcamp": { "createdAt": "2023-06-28T16:05:09.952Z", "version": "6.3.0", diff --git a/src/cli.js b/src/cli.js index 61ebea4..3611eda 100644 --- a/src/cli.js +++ b/src/cli.js @@ -1,3 +1,16 @@ -const { mdLinks } = require('./index.js'); -const { statusHref } = require('./validation.js'); +#!/usr/bin/env node +console.log('Hello World!'); +// const { mdLinks } = require('./index.js'); +// const { statusHref } = require('./validation.js'); + +// const cli = () => {} +// mdLinks(path, { validate: false })) +// .then((result) => { +// console.log('Great!, all conditions were fulfilled'); +// console.log(result); +// }) +// .catch((error) => { +// console.log('Ups!, there was a failure'); +// console.log(error); +// }); diff --git a/src/index.js b/src/index.js index d830760..18ffd8b 100644 --- a/src/index.js +++ b/src/index.js @@ -8,18 +8,21 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { const isAbsolutePath = config.absolutePathConverter(path); const filePathToRead = config.identifyFile(isAbsolutePath); const isFileExtension = config.fileValidation(filePathToRead); - config.extractLinks(isFileExtension) + config + .extractLinks(isFileExtension) .then((arrayLinks) => { if (options.validate === true) { - validation.statusHttp(arrayLinks) + validation + .statusHttp(arrayLinks) .then((setPromises) => { resolve(setPromises); }) .catch((err) => { reject('There was an error:', err); }); + } else { + resolve(arrayLinks); } - //resolve(arrayLinks); Al comentar esto la promesa se termina de cumplir dentro de la condicional }) .catch((err) => reject(err)); } else { @@ -27,11 +30,10 @@ const mdLinks = (path, options) => new Promise((resolve, reject) => { } }); -//mdLinks('src/sample/draft.txt') -// mdLinks('src/sample/folderB') -//mdLinks('src/sample/draft.md') -mdLinks('src/sample/folderA', { validate: true }) -//mdLinks('src/sample/empty.md') +// mdLinks('src/sample/folderB', { validate: false }) +//mdLinks('src/sample/draft.md', {validate: true}) + mdLinks('src/sample/folderA', { validate: false }) + //mdLinks('src/sample/empty.md') .then((result) => { console.log('Great!, all conditions were fulfilled'); console.log(result); diff --git a/src/validation.js b/src/validation.js index 07ad1e2..94e764d 100644 --- a/src/validation.js +++ b/src/validation.js @@ -43,6 +43,51 @@ const statusHref = (arrayLinks) => { return stats; }; +// statusHref([ +// { +// href: 'https://medium.com/', +// text: 'Medium', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', +// status: 403, +// OK: 'fail', +// }, +// { +// href: 'https://medium.com/', +// text: 'Medium', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', +// status: 403, +// OK: 'fail', +// }, +// { +// href: 'http://otherpagerandom.net/', +// text: 'Other page random', +// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', +// status: 500, +// OK: 'fail', +// }, + // { + // href: 'https://kinsta.com/es/', + // text: 'Kinsta', + // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + // status: 200, + // OK: 'ok', + // }, + // { + // href: 'https://docs.npmjs.com/', + // text: 'Docs NPM', + // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + // status: 200, + // OK: 'ok', + // }, + // { + // href: 'https://open.spotify.com/exit', + // text: 'Spotify', + // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', + // status: 404, + // OK: 'fail', + // }, +//]); + // statusHttp([ // { diff --git a/test/md-links.js b/test/md-links.js deleted file mode 100644 index 018bdac..0000000 --- a/test/md-links.js +++ /dev/null @@ -1,13 +0,0 @@ -// const mdLinks = require("../src/md-links.js"); - -// describe("mdLinks", () => { -// it("should return a promise", () => { -// console.log("FIX ME!"); -// }); - -// it("should be rejected when the path does not exist", () => { -// return mdLinks("/pruebas/prueba1/noexiste.md").catch((error) => { -// expect(error).toBe("esta ruta no existe"); -// }); -// }); -// }); diff --git a/thumb.png b/thumb.png deleted file mode 100644 index a63dca31cddbf5baf59f5bb2851db706d709e653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16777 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≥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 Date: Thu, 14 Sep 2023 03:04:09 -0500 Subject: [PATCH 16/20] =?UTF-8?q?implementaci=C3=B3n=20de=20cli,=20a=C3=BA?= =?UTF-8?q?n=20con=20errores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 2 +- package.json | 5 ++- src/cli.js | 98 ++++++++++++++++++++++++++++++++++++++++++----- src/index.js | 75 ++++++++++++++++++------------------ src/validation.js | 89 +++++++++++++++--------------------------- 5 files changed, 160 insertions(+), 109 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index f801626..03b694e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,7 +11,7 @@ "parserOptions": { "ecmaVersion": "latest" }, - "ignorePatterns": ["config.spec.js", "md-links.spec.js", "validation.spec.js","validation.js"], + "ignorePatterns": ["config.spec.js", "md-links.spec.js", "validation.spec.js","validation.js", "cli.js"], "rules": { "max-len": ["error", {"code": 200}], "no-console": "off", diff --git a/package.json b/package.json index 8dd8e09..4608854 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { - "name": "md-links", + "name": "CYQ-mdlinks", "version": "0.1.0", "main": "index.js", + "type":"commonjs", "description": "This is a library for parsing and validating links in your markdow files", "engines": { "node": ">=16.x" @@ -13,7 +14,7 @@ "lint-fix": "eslint . --fix" }, "bin": { - "cli": "./src/cli.js" + "CYQ-mdlinks": "./src/cli.js" }, "bugs": { "url": "https://github.com/CarolynYQ/MD-links/issues", diff --git a/src/cli.js b/src/cli.js index 3611eda..01fae58 100644 --- a/src/cli.js +++ b/src/cli.js @@ -1,16 +1,94 @@ #!/usr/bin/env node -console.log('Hello World!'); +const { mdLinks } = require('./index.js'); +const validation = require('./validation.js'); -// const { mdLinks } = require('./index.js'); -// const { statusHref } = require('./validation.js'); +const path = process.argv[2]; +const validate = process.argv.includes('--validate'); +const stats = process.argv.includes('--stats'); -// const cli = () => {} -// mdLinks(path, { validate: false })) +const alternatives = { + validate: validate, + stats: stats, +}; + +const options = { + validate: false, +}; + +const cli = () => { + try { + if (path === undefined) { + throw 'Please enter the path to the file you want to test :)'; + } else { + if (!alternatives.validate && !alternatives.stats) { + mdLinks(path, options) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.log(error); + }); + } else if (alternatives.validate && !alternatives.stats) { + mdLinks(path, options.validate === true) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.log(error); + }); + } else if (!alternatives.validate && alternatives.stats) { + mdLinks(path, options) + .then((result) => { + validation.statusHttp(result).then((setPromises) => { + const statusLink = validation.statusHref(setPromises) + console.log(statusLink); + }) + }) + .catch((error) => { + console.log(error); + }); + } else if (alternatives.validate && alternatives.stats) { + mdLinks(path, options.validate === true) + .then((result) => { + const statusLink = validation.statusHref(result) + console.log(statusLink); + }) + .catch((error) => { + console.log(error); + }); + } + } + } catch (err) { + console.log(err); + } +}; + +cli(); + +// #!/usr/bin/env node +// const { mdLinks } = require('./index'); + +// const route = process.argv[2] +// const validate = process.argv.includes('--validate'); +// const stats = process.argv.includes('--stats'); + +// const options = { +// validate: validate, +// stats: stats, +// } + +// mdLinks(route, options) // .then((result) => { -// console.log('Great!, all conditions were fulfilled'); -// console.log(result); +// if (options.validate && options.stats) { +// console.log(result); +// } else if (options.validate) { +// console.log(result); +// } else if (options.stats) { +// console.log(result); +// } else { +// console.log(result); +// } // }) // .catch((error) => { -// console.log('Ups!, there was a failure'); -// console.log(error); -// }); +// console.error(error); +// }); diff --git a/src/index.js b/src/index.js index 18ffd8b..0719789 100644 --- a/src/index.js +++ b/src/index.js @@ -3,46 +3,47 @@ const validation = require('./validation'); console.log('<>'); -const mdLinks = (path, options) => new Promise((resolve, reject) => { - if (config.pathExist(path)) { - const isAbsolutePath = config.absolutePathConverter(path); - const filePathToRead = config.identifyFile(isAbsolutePath); - const isFileExtension = config.fileValidation(filePathToRead); - config - .extractLinks(isFileExtension) - .then((arrayLinks) => { - if (options.validate === true) { - validation - .statusHttp(arrayLinks) - .then((setPromises) => { - resolve(setPromises); - }) - .catch((err) => { - reject('There was an error:', err); - }); - } else { - resolve(arrayLinks); - } - }) - .catch((err) => reject(err)); - } else { - reject(new Error('The path does not exist')); - } -}); +//const options = { validate: false }; -// mdLinks('src/sample/folderB', { validate: false }) -//mdLinks('src/sample/draft.md', {validate: true}) - mdLinks('src/sample/folderA', { validate: false }) - //mdLinks('src/sample/empty.md') - .then((result) => { - console.log('Great!, all conditions were fulfilled'); - console.log(result); - }) - .catch((error) => { - console.log('Ups!, there was a failure'); - console.log(error); +const mdLinks = (path, options) => + new Promise((resolve, reject) => { + if (config.pathExist(path)) { + const isAbsolutePath = config.absolutePathConverter(path); + const filePathToRead = config.identifyFile(isAbsolutePath); + const isFileExtension = config.fileValidation(filePathToRead); + config.extractLinks(isFileExtension) + .then((arrayLinks) => { + if (options.validate === true) { + validation.statusHttp(arrayLinks) + .then((setPromises) => { + resolve(setPromises); + }) + .catch((err) => { + reject('There was an error:', err); + }); + } else { + resolve(arrayLinks); + } + }) + .catch((err) => reject(err)); + } else { + reject(new Error('The path does not exist')); + } }); +// // mdLinks('src/sample/folderB', { validate: false }) +// mdLinks('src/sample/draft.md', {validate: true}) +// // mdLinks('./sample/folderA', { validate: true }) +// mdLinks('src/sample/draft.txt', { validate: false }) +// .then((result) => { +// console.log('Great!, all conditions were fulfilled'); +// console.log(result); +// }) +// .catch((error) => { +// console.log('Ups!, there was a failure'); +// console.log(error); +// }); + module.exports = { mdLinks, }; diff --git a/src/validation.js b/src/validation.js index 94e764d..1e1db65 100644 --- a/src/validation.js +++ b/src/validation.js @@ -31,17 +31,32 @@ const statusHttp = (arrayLinks) => { //--------------------Conteo de links totales, únicos y rotos------------------// const statusHref = (arrayLinks) => { const linksUnique = [...new Set(arrayLinks.map((link) => link.href))]; - const stats = {Total: 0, Unique: 0} - for (let linkProp of arrayLinks) { - if (linkProp.OK === 'fail') { + const stats = {Total: 0, Unique: 0}; + const linkFail = (linkProp) => linkProp.OK === 'fail' + if (arrayLinks.some(linkFail)) { stats.Total = arrayLinks.length stats.Unique = linksUnique.length stats.Broken = arrayLinks.filter((link) => link.OK === 'fail').length - }} + } stats.Total = arrayLinks.length; stats.Unique = linksUnique.length; + console.log(stats) return stats; }; +// const statusHref = (arrayLinks) => { +// const linksUnique = [...new Set(arrayLinks.map((link) => link.href))]; +// const stats = {Total: 0, Unique: 0}; +// for (let linkProp of arrayLinks) { +// if (linkProp.OK === 'fail') { +// stats.Total = arrayLinks.length +// stats.Unique = linksUnique.length +// stats.Broken = arrayLinks.filter((link) => link.OK === 'fail').length +// }} +// stats.Total = arrayLinks.length; +// stats.Unique = linksUnique.length; +// console.log(stats) +// return stats; +// }; // statusHref([ // { @@ -65,72 +80,28 @@ const statusHref = (arrayLinks) => { // status: 500, // OK: 'fail', // }, - // { - // href: 'https://kinsta.com/es/', - // text: 'Kinsta', - // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - // status: 200, - // OK: 'ok', - // }, - // { - // href: 'https://docs.npmjs.com/', - // text: 'Docs NPM', - // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - // status: 200, - // OK: 'ok', - // }, - // { - // href: 'https://open.spotify.com/exit', - // text: 'Spotify', - // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', - // status: 404, - // OK: 'fail', - // }, -//]); - - -// statusHttp([ -// { -// href: 'https://hackernoon.com/', -// text: 'Medium', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// }, -// { -// href: 'http://otherpagerandom.net/', -// text: 'Other page random', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// }, // { // href: 'https://kinsta.com/es/', // text: 'Kinsta', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 200, +// OK: 'ok', // }, // { -// href: 'https://docs.npmjs.com/', -// text: 'Docs NPM', +// href: 'https://open.spotify.com/exit', +// text: 'Spotify', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 404, +// OK: 'fail', // }, // { -// href: 'https://open.spotify.com/exit', -// text: 'Spotify', +// href: 'https://docs.npmjs.com/', +// text: 'Docs NPM', // file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', +// status: 200, +// OK: 'ok', // }, -// ]) -// .then((response) => { -// console.log(response); - // response.forEach((link) => { - // if (link.status !== null) { - // console.log(response); - // } else { - // console.log - // return response.filter((link) => link.status === null ) - // } - // }); - // }) - // .catch((err) => { - // console.log('Hubo un error, el error cayó aquí'); - // console.log(err); - // }); +// ]); module.exports = { statusHttp, From a016318e9ba34324063870cde6e275e943287b1e Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 14 Sep 2023 15:29:47 -0500 Subject: [PATCH 17/20] Immplementando cli, presenta fallas y no fx el comando --- README.md | 98 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 4 +- path&validate.png | Bin 0 -> 55139 bytes path.png | Bin 0 -> 47667 bytes src/cli.js | 28 ------------- src/index.js | 13 ------ src/validation.js | 63 ----------------------------- 7 files changed, 98 insertions(+), 108 deletions(-) create mode 100644 path&validate.png create mode 100644 path.png diff --git a/README.md b/README.md index b552fce..380c11c 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,102 @@ El proyecto MD-links es una herramienta de línea de comandos desarrollada en Ja Es necesario tener una versión reciente de `node.js` instalada. En tu terminal instalas la librería por npm con el siguiente comando: - `npm install CYQ-mdlinks` + +`npm install git@github.com:CarolynYQ/MD-links.git` + +Si deseas instalarlo como una dependencia: + +`npm install --save --dev git@github.com:CarolynYQ/MD-links.git` ## 4. Instrucciones de uso + +### Ejemplos +--------------- +> Solo ruta + +`cyq-mdlinks ruta/a/analizar` + +```javascript +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks + +[ + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + }, +] +``` + +> Ruta y validación + +`cyq-mdlinks ruta/a/analizar --validate` + +```javascript +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --validate + +[ + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + status: 200, + OK: 'ok' + }, +] +``` + +> Ruta y estados + +`cyq-mdlinks ruta/a/analizar --status` + +```javascript +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --status + +[ + { + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + }, +] +{ Total: 1, Unique: 1, Broken: 0 } +``` + +> Ruta, Validación y estados + +`cyq-mdlinks ruta/a/analizar --validate --status` + +```javascript +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --validate --status + +[ + { + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + status: null, + OK: 'fail' + }, +] + +{ Total: 1, Unique: 1, Broken: 1 } +``` + + +### Resumen +-------- + +| path | --stats | --validate | Resultado | +| ------- | ------- | ------ | ----- | +| ✔ | ✖ |✔ | Solo ruta ---> href, text y file | +| ✔ | ✖ | ✔ | Ruta & validate ----> href, text, file, status y OK| +| ✔ | ✔ | ✖ | Ruta & stats ----> href, text, file y # de links totales, únicos y rotos| +| ✔ | ✔ | ✔ | Ruta & validate & stats ----> href, text, file, status, OK y # de links totales, únicos y rotos| ## 5. Issues -## 6. Créditos \ No newline at end of file + +Las funcionalidades para implementar a futuro son los siguientes [issues](https://github.com/CarolynYQ/MD-links/issues) + +## 6. Créditos + +Este trabajo fue creado con 💛 gracias a la colaboración de Carolyn Yaker \ No newline at end of file diff --git a/package.json b/package.json index 4608854..bf89f31 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "CYQ-mdlinks", + "name": "cyq-mdlinks", "version": "0.1.0", "main": "index.js", "type":"commonjs", @@ -14,7 +14,7 @@ "lint-fix": "eslint . --fix" }, "bin": { - "CYQ-mdlinks": "./src/cli.js" + "cyq-mdlinks": "src/cli.js" }, "bugs": { "url": "https://github.com/CarolynYQ/MD-links/issues", diff --git a/path&validate.png b/path&validate.png new file mode 100644 index 0000000000000000000000000000000000000000..5a633009b485710116bf3ac1d9cc9d88198ab0a7 GIT binary patch literal 55139 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

    0G(9qxoznme7*&rvHqt6y#3`) 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 { }; cli(); - -// #!/usr/bin/env node -// const { mdLinks } = require('./index'); - -// const route = process.argv[2] -// const validate = process.argv.includes('--validate'); -// const stats = process.argv.includes('--stats'); - -// const options = { -// validate: validate, -// stats: stats, -// } - -// mdLinks(route, options) -// .then((result) => { -// if (options.validate && options.stats) { -// console.log(result); -// } else if (options.validate) { -// console.log(result); -// } else if (options.stats) { -// console.log(result); -// } else { -// console.log(result); -// } -// }) -// .catch((error) => { -// console.error(error); -// }); diff --git a/src/index.js b/src/index.js index 0719789..0df9c7b 100644 --- a/src/index.js +++ b/src/index.js @@ -31,19 +31,6 @@ const mdLinks = (path, options) => } }); -// // mdLinks('src/sample/folderB', { validate: false }) -// mdLinks('src/sample/draft.md', {validate: true}) -// // mdLinks('./sample/folderA', { validate: true }) -// mdLinks('src/sample/draft.txt', { validate: false }) -// .then((result) => { -// console.log('Great!, all conditions were fulfilled'); -// console.log(result); -// }) -// .catch((error) => { -// console.log('Ups!, there was a failure'); -// console.log(error); -// }); - module.exports = { mdLinks, }; diff --git a/src/validation.js b/src/validation.js index 1e1db65..f9ea189 100644 --- a/src/validation.js +++ b/src/validation.js @@ -1,9 +1,5 @@ const fetch = require('node-fetch'); -//conteo total de links -//conteo total de links únicos -//conteo total de links rotos -//ver en que linea se encuentra el link //--------------------------------Respuesta HTTP-------------------------------// const statusHttp = (arrayLinks) => { const setPromises = arrayLinks.map((linkProp) => @@ -43,65 +39,6 @@ const statusHref = (arrayLinks) => { console.log(stats) return stats; }; -// const statusHref = (arrayLinks) => { -// const linksUnique = [...new Set(arrayLinks.map((link) => link.href))]; -// const stats = {Total: 0, Unique: 0}; -// for (let linkProp of arrayLinks) { -// if (linkProp.OK === 'fail') { -// stats.Total = arrayLinks.length -// stats.Unique = linksUnique.length -// stats.Broken = arrayLinks.filter((link) => link.OK === 'fail').length -// }} -// stats.Total = arrayLinks.length; -// stats.Unique = linksUnique.length; -// console.log(stats) -// return stats; -// }; - -// statusHref([ -// { -// href: 'https://medium.com/', -// text: 'Medium', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// status: 403, -// OK: 'fail', -// }, -// { -// href: 'https://medium.com/', -// text: 'Medium', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// status: 403, -// OK: 'fail', -// }, -// { -// href: 'http://otherpagerandom.net/', -// text: 'Other page random', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\folderA.1.1\\firstfile.md', -// status: 500, -// OK: 'fail', -// }, -// { -// href: 'https://kinsta.com/es/', -// text: 'Kinsta', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 200, -// OK: 'ok', -// }, -// { -// href: 'https://open.spotify.com/exit', -// text: 'Spotify', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 404, -// OK: 'fail', -// }, -// { -// href: 'https://docs.npmjs.com/', -// text: 'Docs NPM', -// file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\folderA\\folderA.1\\secondfile.md', -// status: 200, -// OK: 'ok', -// }, -// ]); module.exports = { statusHttp, From b1302c62548d487285048d461bab0579444c22b0 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 14 Sep 2023 15:45:09 -0500 Subject: [PATCH 18/20] Correciones en el README --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 380c11c..227132b 100644 --- a/README.md +++ b/README.md @@ -48,13 +48,13 @@ Si deseas instalarlo como una dependencia: `cyq-mdlinks ruta/a/analizar` ```javascript -kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md [ { - href: 'https://www.universia.net/es/home.html', - text: 'Universia', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', }, ] ``` @@ -64,15 +64,15 @@ kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks `cyq-mdlinks ruta/a/analizar --validate` ```javascript -kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --validate +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --validate [ { - href: 'https://www.universia.net/es/home.html', - text: 'Universia', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', - status: 200, - OK: 'ok' + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + status: 200, + OK: 'ok' }, ] ``` @@ -82,13 +82,13 @@ kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --validate `cyq-mdlinks ruta/a/analizar --status` ```javascript -kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --status +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --status [ { - href: 'https://www.universia.net/es/home.html', - text: 'Universia', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + href: 'https://www.universia.net/es/home.html', + text: 'Universia', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', }, ] { Total: 1, Unique: 1, Broken: 0 } @@ -99,15 +99,15 @@ kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --status `cyq-mdlinks ruta/a/analizar --validate --status` ```javascript -kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks --validate --status +kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --validate --status -[ +[ { - href: 'http://asinglepage.net/', - text: 'asinglepage', - file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', - status: null, - OK: 'fail' + href: 'http://asinglepage.net/', + text: 'asinglepage', + file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', + status: null, + OK: 'fail' }, ] From e3fa43d00fbac8a9d56833f90e8f47fedbdbcb39 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 14 Sep 2023 15:51:37 -0500 Subject: [PATCH 19/20] =?UTF-8?q?Nueva=20correci=C3=B3n=20del=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 227132b..838c740 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\ { Total: 1, Unique: 1, Broken: 0 } ``` -> Ruta, Validación y estados +> Ruta, validación y estados `cyq-mdlinks ruta/a/analizar --validate --status` From adf181fd140832273034423402727bea267807a6 Mon Sep 17 00:00:00 2001 From: CarolynYQ Date: Thu, 14 Sep 2023 16:24:39 -0500 Subject: [PATCH 20/20] nuevo cambio readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 838c740..37dd730 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\ [ { - href: 'http://asinglepage.net/', + href: 'http://aSinglepage.net/', text: 'asinglepage', file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md', status: null,