From 97be2d29083392b38c4e44c7c25cade2f01b7949 Mon Sep 17 00:00:00 2001 From: jason Date: Wed, 27 May 2026 09:07:23 -0500 Subject: [PATCH] auth modal --- .claude/settings.local.json | 7 +- Dockerfile | 7 + auth.js | 157 + client/dist/assets/index-BoQf6yV_.css | 1 + client/dist/assets/index-CkShUZiL.js | 416 + client/dist/index.html | 18 + client/dist/static/mpm-logo.png | Bin 0 -> 4188 bytes client/dist/version.json | 5 + .../.bin/baseline-browser-mapping | 16 + .../.bin/baseline-browser-mapping.cmd | 17 + .../.bin/baseline-browser-mapping.ps1 | 28 + client/node_modules/.bin/browserslist | 16 + client/node_modules/.bin/browserslist.cmd | 17 + client/node_modules/.bin/browserslist.ps1 | 28 + client/node_modules/.bin/esbuild | 16 + client/node_modules/.bin/esbuild.cmd | 17 + client/node_modules/.bin/esbuild.ps1 | 28 + client/node_modules/.bin/jsesc | 16 + client/node_modules/.bin/jsesc.cmd | 17 + client/node_modules/.bin/jsesc.ps1 | 28 + client/node_modules/.bin/json5 | 16 + client/node_modules/.bin/json5.cmd | 17 + client/node_modules/.bin/json5.ps1 | 28 + client/node_modules/.bin/loose-envify | 16 + client/node_modules/.bin/loose-envify.cmd | 17 + client/node_modules/.bin/loose-envify.ps1 | 28 + client/node_modules/.bin/nanoid | 16 + client/node_modules/.bin/nanoid.cmd | 17 + client/node_modules/.bin/nanoid.ps1 | 28 + client/node_modules/.bin/parser | 16 + client/node_modules/.bin/parser.cmd | 17 + client/node_modules/.bin/parser.ps1 | 28 + client/node_modules/.bin/rollup | 16 + client/node_modules/.bin/rollup.cmd | 17 + client/node_modules/.bin/rollup.ps1 | 28 + client/node_modules/.bin/semver | 16 + client/node_modules/.bin/semver.cmd | 17 + client/node_modules/.bin/semver.ps1 | 28 + .../node_modules/.bin/update-browserslist-db | 16 + .../.bin/update-browserslist-db.cmd | 17 + .../.bin/update-browserslist-db.ps1 | 28 + client/node_modules/.bin/vite | 16 + client/node_modules/.bin/vite.cmd | 17 + client/node_modules/.bin/vite.ps1 | 28 + client/node_modules/.package-lock.json | 1263 + client/node_modules/@babel/code-frame/LICENSE | 22 + .../node_modules/@babel/code-frame/README.md | 19 + .../@babel/code-frame/lib/index.js | 217 + .../@babel/code-frame/lib/index.js.map | 1 + .../@babel/code-frame/package.json | 32 + .../node_modules/@babel/compat-data/LICENSE | 22 + .../node_modules/@babel/compat-data/README.md | 19 + .../@babel/compat-data/corejs2-built-ins.js | 2 + .../compat-data/corejs3-shipped-proposals.js | 2 + .../compat-data/data/corejs2-built-ins.json | 2120 + .../data/corejs3-shipped-proposals.json | 5 + .../compat-data/data/native-modules.json | 18 + .../compat-data/data/overlapping-plugins.json | 38 + .../compat-data/data/plugin-bugfixes.json | 231 + .../@babel/compat-data/data/plugins.json | 843 + .../@babel/compat-data/native-modules.js | 2 + .../@babel/compat-data/overlapping-plugins.js | 2 + .../@babel/compat-data/package.json | 40 + .../@babel/compat-data/plugin-bugfixes.js | 2 + .../@babel/compat-data/plugins.js | 2 + client/node_modules/@babel/core/LICENSE | 22 + client/node_modules/@babel/core/README.md | 19 + .../@babel/core/lib/config/cache-contexts.js | 5 + .../core/lib/config/cache-contexts.js.map | 1 + .../@babel/core/lib/config/caching.js | 261 + .../@babel/core/lib/config/caching.js.map | 1 + .../@babel/core/lib/config/config-chain.js | 469 + .../core/lib/config/config-chain.js.map | 1 + .../core/lib/config/config-descriptors.js | 190 + .../core/lib/config/config-descriptors.js.map | 1 + .../core/lib/config/files/configuration.js | 290 + .../lib/config/files/configuration.js.map | 1 + .../@babel/core/lib/config/files/import.cjs | 6 + .../core/lib/config/files/import.cjs.map | 1 + .../core/lib/config/files/index-browser.js | 58 + .../lib/config/files/index-browser.js.map | 1 + .../@babel/core/lib/config/files/index.js | 78 + .../@babel/core/lib/config/files/index.js.map | 1 + .../core/lib/config/files/module-types.js | 203 + .../core/lib/config/files/module-types.js.map | 1 + .../@babel/core/lib/config/files/package.js | 61 + .../core/lib/config/files/package.js.map | 1 + .../@babel/core/lib/config/files/plugins.js | 220 + .../core/lib/config/files/plugins.js.map | 1 + .../@babel/core/lib/config/files/types.js | 5 + .../@babel/core/lib/config/files/types.js.map | 1 + .../@babel/core/lib/config/files/utils.js | 36 + .../@babel/core/lib/config/files/utils.js.map | 1 + .../@babel/core/lib/config/full.js | 312 + .../@babel/core/lib/config/full.js.map | 1 + .../core/lib/config/helpers/config-api.js | 85 + .../core/lib/config/helpers/config-api.js.map | 1 + .../core/lib/config/helpers/deep-array.js | 23 + .../core/lib/config/helpers/deep-array.js.map | 1 + .../core/lib/config/helpers/environment.js | 12 + .../lib/config/helpers/environment.js.map | 1 + .../@babel/core/lib/config/index.js | 87 + .../@babel/core/lib/config/index.js.map | 1 + .../@babel/core/lib/config/item.js | 67 + .../@babel/core/lib/config/item.js.map | 1 + .../@babel/core/lib/config/partial.js | 158 + .../@babel/core/lib/config/partial.js.map | 1 + .../core/lib/config/pattern-to-regex.js | 38 + .../core/lib/config/pattern-to-regex.js.map | 1 + .../@babel/core/lib/config/plugin.js | 33 + .../@babel/core/lib/config/plugin.js.map | 1 + .../@babel/core/lib/config/printer.js | 113 + .../@babel/core/lib/config/printer.js.map | 1 + .../lib/config/resolve-targets-browser.js | 41 + .../lib/config/resolve-targets-browser.js.map | 1 + .../@babel/core/lib/config/resolve-targets.js | 61 + .../core/lib/config/resolve-targets.js.map | 1 + .../@babel/core/lib/config/util.js | 31 + .../@babel/core/lib/config/util.js.map | 1 + .../config/validation/option-assertions.js | 277 + .../validation/option-assertions.js.map | 1 + .../core/lib/config/validation/options.js | 187 + .../core/lib/config/validation/options.js.map | 1 + .../core/lib/config/validation/plugins.js | 67 + .../core/lib/config/validation/plugins.js.map | 1 + .../core/lib/config/validation/removed.js | 68 + .../core/lib/config/validation/removed.js.map | 1 + .../@babel/core/lib/errors/config-error.js | 18 + .../core/lib/errors/config-error.js.map | 1 + .../core/lib/errors/rewrite-stack-trace.js | 98 + .../lib/errors/rewrite-stack-trace.js.map | 1 + .../@babel/core/lib/gensync-utils/async.js | 90 + .../core/lib/gensync-utils/async.js.map | 1 + .../@babel/core/lib/gensync-utils/fs.js | 31 + .../@babel/core/lib/gensync-utils/fs.js.map | 1 + .../core/lib/gensync-utils/functional.js | 58 + .../core/lib/gensync-utils/functional.js.map | 1 + client/node_modules/@babel/core/lib/index.js | 230 + .../node_modules/@babel/core/lib/index.js.map | 1 + client/node_modules/@babel/core/lib/parse.js | 45 + .../node_modules/@babel/core/lib/parse.js.map | 1 + .../@babel/core/lib/parser/index.js | 85 + .../@babel/core/lib/parser/index.js.map | 1 + .../lib/parser/util/missing-plugin-helper.js | 337 + .../parser/util/missing-plugin-helper.js.map | 1 + .../core/lib/tools/build-external-helpers.js | 144 + .../lib/tools/build-external-helpers.js.map | 1 + .../@babel/core/lib/transform-ast.js | 48 + .../@babel/core/lib/transform-ast.js.map | 1 + .../@babel/core/lib/transform-file-browser.js | 23 + .../core/lib/transform-file-browser.js.map | 1 + .../@babel/core/lib/transform-file.js | 40 + .../@babel/core/lib/transform-file.js.map | 1 + .../node_modules/@babel/core/lib/transform.js | 47 + .../@babel/core/lib/transform.js.map | 1 + .../lib/transformation/block-hoist-plugin.js | 84 + .../transformation/block-hoist-plugin.js.map | 1 + .../transformation/file/babel-7-helpers.cjs | 4 + .../file/babel-7-helpers.cjs.map | 1 + .../core/lib/transformation/file/file.js | 204 + .../core/lib/transformation/file/file.js.map | 1 + .../core/lib/transformation/file/generate.js | 84 + .../lib/transformation/file/generate.js.map | 1 + .../core/lib/transformation/file/merge-map.js | 37 + .../lib/transformation/file/merge-map.js.map | 1 + .../@babel/core/lib/transformation/index.js | 90 + .../core/lib/transformation/index.js.map | 1 + .../core/lib/transformation/normalize-file.js | 113 + .../lib/transformation/normalize-file.js.map | 1 + .../core/lib/transformation/normalize-opts.js | 59 + .../lib/transformation/normalize-opts.js.map | 1 + .../core/lib/transformation/plugin-pass.js | 48 + .../lib/transformation/plugin-pass.js.map | 1 + .../read-input-source-map-file-browser.js | 12 + .../read-input-source-map-file-browser.js.map | 1 + .../read-input-source-map-file.js | 88 + .../read-input-source-map-file.js.map | 1 + .../lib/transformation/util/clone-deep.js | 54 + .../lib/transformation/util/clone-deep.js.map | 1 + .../core/lib/vendor/import-meta-resolve.js | 1042 + .../lib/vendor/import-meta-resolve.js.map | 1 + client/node_modules/@babel/core/package.json | 84 + .../core/src/config/files/index-browser.ts | 115 + .../@babel/core/src/config/files/index.ts | 30 + .../src/config/resolve-targets-browser.ts | 42 + .../@babel/core/src/config/resolve-targets.ts | 54 + .../@babel/core/src/transform-file-browser.ts | 33 + .../@babel/core/src/transform-file.ts | 56 + .../read-input-source-map-file-browser.ts | 5 + .../read-input-source-map-file.ts | 89 + client/node_modules/@babel/generator/LICENSE | 22 + .../node_modules/@babel/generator/README.md | 19 + .../@babel/generator/lib/buffer.js | 247 + .../@babel/generator/lib/buffer.js.map | 1 + .../@babel/generator/lib/generators/base.js | 86 + .../generator/lib/generators/base.js.map | 1 + .../generator/lib/generators/classes.js | 215 + .../generator/lib/generators/classes.js.map | 1 + .../generator/lib/generators/deprecated.js | 73 + .../lib/generators/deprecated.js.map | 1 + .../generator/lib/generators/expressions.js | 309 + .../lib/generators/expressions.js.map | 1 + .../@babel/generator/lib/generators/flow.js | 658 + .../generator/lib/generators/flow.js.map | 1 + .../@babel/generator/lib/generators/index.js | 128 + .../generator/lib/generators/index.js.map | 1 + .../@babel/generator/lib/generators/jsx.js | 124 + .../generator/lib/generators/jsx.js.map | 1 + .../generator/lib/generators/methods.js | 207 + .../generator/lib/generators/methods.js.map | 1 + .../generator/lib/generators/modules.js | 290 + .../generator/lib/generators/modules.js.map | 1 + .../generator/lib/generators/statements.js | 297 + .../lib/generators/statements.js.map | 1 + .../lib/generators/template-literals.js | 38 + .../lib/generators/template-literals.js.map | 1 + .../@babel/generator/lib/generators/types.js | 183 + .../generator/lib/generators/types.js.map | 1 + .../generator/lib/generators/typescript.js | 726 + .../lib/generators/typescript.js.map | 1 + .../@babel/generator/lib/index.js | 108 + .../@babel/generator/lib/index.js.map | 1 + .../@babel/generator/lib/node/index.js | 81 + .../@babel/generator/lib/node/index.js.map | 1 + .../@babel/generator/lib/node/parentheses.js | 298 + .../generator/lib/node/parentheses.js.map | 1 + .../@babel/generator/lib/nodes.js | 19 + .../@babel/generator/lib/nodes.js.map | 1 + .../@babel/generator/lib/printer.js | 783 + .../@babel/generator/lib/printer.js.map | 1 + .../@babel/generator/lib/source-map.js | 88 + .../@babel/generator/lib/source-map.js.map | 1 + .../@babel/generator/lib/token-map.js | 195 + .../@babel/generator/lib/token-map.js.map | 1 + .../@babel/generator/package.json | 39 + .../@babel/helper-compilation-targets/LICENSE | 22 + .../helper-compilation-targets/README.md | 19 + .../helper-compilation-targets/lib/debug.js | 28 + .../lib/debug.js.map | 1 + .../lib/filter-items.js | 67 + .../lib/filter-items.js.map | 1 + .../helper-compilation-targets/lib/index.js | 229 + .../lib/index.js.map | 1 + .../helper-compilation-targets/lib/options.js | 24 + .../lib/options.js.map | 1 + .../helper-compilation-targets/lib/pretty.js | 40 + .../lib/pretty.js.map | 1 + .../helper-compilation-targets/lib/targets.js | 28 + .../lib/targets.js.map | 1 + .../helper-compilation-targets/lib/utils.js | 58 + .../lib/utils.js.map | 1 + .../helper-compilation-targets/package.json | 43 + .../@babel/helper-globals/LICENSE | 22 + .../@babel/helper-globals/README.md | 19 + .../helper-globals/data/browser-upper.json | 911 + .../helper-globals/data/builtin-lower.json | 15 + .../helper-globals/data/builtin-upper.json | 51 + .../@babel/helper-globals/package.json | 32 + .../@babel/helper-module-imports/LICENSE | 22 + .../@babel/helper-module-imports/README.md | 19 + .../lib/import-builder.js | 122 + .../lib/import-builder.js.map | 1 + .../lib/import-injector.js | 304 + .../lib/import-injector.js.map | 1 + .../@babel/helper-module-imports/lib/index.js | 37 + .../helper-module-imports/lib/index.js.map | 1 + .../helper-module-imports/lib/is-module.js | 11 + .../lib/is-module.js.map | 1 + .../@babel/helper-module-imports/package.json | 28 + .../@babel/helper-module-transforms/LICENSE | 22 + .../@babel/helper-module-transforms/README.md | 19 + .../lib/dynamic-import.js | 46 + .../lib/dynamic-import.js.map | 1 + .../lib/get-module-name.js | 46 + .../lib/get-module-name.js.map | 1 + .../helper-module-transforms/lib/index.js | 396 + .../helper-module-transforms/lib/index.js.map | 1 + .../lib/lazy-modules.js | 31 + .../lib/lazy-modules.js.map | 1 + .../lib/normalize-and-load-metadata.js | 362 + .../lib/normalize-and-load-metadata.js.map | 1 + .../lib/rewrite-live-references.js | 360 + .../lib/rewrite-live-references.js.map | 1 + .../lib/rewrite-this.js | 22 + .../lib/rewrite-this.js.map | 1 + .../helper-module-transforms/package.json | 32 + .../@babel/helper-plugin-utils/LICENSE | 22 + .../@babel/helper-plugin-utils/README.md | 19 + .../@babel/helper-plugin-utils/lib/index.js | 74 + .../helper-plugin-utils/lib/index.js.map | 1 + .../@babel/helper-plugin-utils/package.json | 24 + .../@babel/helper-string-parser/LICENSE | 22 + .../@babel/helper-string-parser/README.md | 19 + .../@babel/helper-string-parser/lib/index.js | 295 + .../helper-string-parser/lib/index.js.map | 1 + .../@babel/helper-string-parser/package.json | 31 + .../helper-validator-identifier/LICENSE | 22 + .../helper-validator-identifier/README.md | 19 + .../lib/identifier.js | 70 + .../lib/identifier.js.map | 1 + .../helper-validator-identifier/lib/index.js | 57 + .../lib/index.js.map | 1 + .../lib/keyword.js | 35 + .../lib/keyword.js.map | 1 + .../helper-validator-identifier/package.json | 31 + .../@babel/helper-validator-option/LICENSE | 22 + .../@babel/helper-validator-option/README.md | 19 + .../lib/find-suggestion.js | 39 + .../lib/find-suggestion.js.map | 1 + .../helper-validator-option/lib/index.js | 21 + .../helper-validator-option/lib/index.js.map | 1 + .../helper-validator-option/lib/validator.js | 48 + .../lib/validator.js.map | 1 + .../helper-validator-option/package.json | 27 + client/node_modules/@babel/helpers/LICENSE | 23 + client/node_modules/@babel/helpers/README.md | 19 + .../@babel/helpers/lib/helpers-generated.js | 1440 + .../helpers/lib/helpers-generated.js.map | 1 + .../@babel/helpers/lib/helpers/AwaitValue.js | 11 + .../helpers/lib/helpers/AwaitValue.js.map | 1 + .../helpers/lib/helpers/OverloadYield.js | 12 + .../helpers/lib/helpers/OverloadYield.js.map | 1 + .../lib/helpers/applyDecoratedDescriptor.js | 31 + .../helpers/applyDecoratedDescriptor.js.map | 1 + .../@babel/helpers/lib/helpers/applyDecs.js | 459 + .../helpers/lib/helpers/applyDecs.js.map | 1 + .../helpers/lib/helpers/applyDecs2203.js | 363 + .../helpers/lib/helpers/applyDecs2203.js.map | 1 + .../helpers/lib/helpers/applyDecs2203R.js | 376 + .../helpers/lib/helpers/applyDecs2203R.js.map | 1 + .../helpers/lib/helpers/applyDecs2301.js | 421 + .../helpers/lib/helpers/applyDecs2301.js.map | 1 + .../helpers/lib/helpers/applyDecs2305.js | 235 + .../helpers/lib/helpers/applyDecs2305.js.map | 1 + .../helpers/lib/helpers/applyDecs2311.js | 236 + .../helpers/lib/helpers/applyDecs2311.js.map | 1 + .../helpers/lib/helpers/arrayLikeToArray.js | 13 + .../lib/helpers/arrayLikeToArray.js.map | 1 + .../helpers/lib/helpers/arrayWithHoles.js | 11 + .../helpers/lib/helpers/arrayWithHoles.js.map | 1 + .../helpers/lib/helpers/arrayWithoutHoles.js | 12 + .../lib/helpers/arrayWithoutHoles.js.map | 1 + .../helpers/lib/helpers/assertClassBrand.js | 14 + .../lib/helpers/assertClassBrand.js.map | 1 + .../lib/helpers/assertThisInitialized.js | 14 + .../lib/helpers/assertThisInitialized.js.map | 1 + .../lib/helpers/asyncGeneratorDelegate.js | 52 + .../lib/helpers/asyncGeneratorDelegate.js.map | 1 + .../helpers/lib/helpers/asyncIterator.js | 72 + .../helpers/lib/helpers/asyncIterator.js.map | 1 + .../helpers/lib/helpers/asyncToGenerator.js | 38 + .../lib/helpers/asyncToGenerator.js.map | 1 + .../lib/helpers/awaitAsyncGenerator.js | 12 + .../lib/helpers/awaitAsyncGenerator.js.map | 1 + .../@babel/helpers/lib/helpers/callSuper.js | 15 + .../helpers/lib/helpers/callSuper.js.map | 1 + .../@babel/helpers/lib/helpers/checkInRHS.js | 14 + .../helpers/lib/helpers/checkInRHS.js.map | 1 + .../lib/helpers/checkPrivateRedeclaration.js | 13 + .../helpers/checkPrivateRedeclaration.js.map | 1 + .../classApplyDescriptorDestructureSet.js | 25 + .../classApplyDescriptorDestructureSet.js.map | 1 + .../lib/helpers/classApplyDescriptorGet.js | 14 + .../helpers/classApplyDescriptorGet.js.map | 1 + .../lib/helpers/classApplyDescriptorSet.js | 18 + .../helpers/classApplyDescriptorSet.js.map | 1 + .../helpers/lib/helpers/classCallCheck.js | 13 + .../helpers/lib/helpers/classCallCheck.js.map | 1 + .../helpers/classCheckPrivateStaticAccess.js | 12 + .../classCheckPrivateStaticAccess.js.map | 1 + .../classCheckPrivateStaticFieldDescriptor.js | 13 + ...ssCheckPrivateStaticFieldDescriptor.js.map | 1 + .../helpers/classExtractFieldDescriptor.js | 12 + .../classExtractFieldDescriptor.js.map | 1 + .../helpers/lib/helpers/classNameTDZError.js | 11 + .../lib/helpers/classNameTDZError.js.map | 1 + .../classPrivateFieldDestructureSet.js | 14 + .../classPrivateFieldDestructureSet.js.map | 1 + .../lib/helpers/classPrivateFieldGet.js | 14 + .../lib/helpers/classPrivateFieldGet.js.map | 1 + .../lib/helpers/classPrivateFieldGet2.js | 12 + .../lib/helpers/classPrivateFieldGet2.js.map | 1 + .../lib/helpers/classPrivateFieldInitSpec.js | 13 + .../helpers/classPrivateFieldInitSpec.js.map | 1 + .../lib/helpers/classPrivateFieldLooseBase.js | 14 + .../helpers/classPrivateFieldLooseBase.js.map | 1 + .../lib/helpers/classPrivateFieldLooseKey.js | 12 + .../helpers/classPrivateFieldLooseKey.js.map | 1 + .../lib/helpers/classPrivateFieldSet.js | 15 + .../lib/helpers/classPrivateFieldSet.js.map | 1 + .../lib/helpers/classPrivateFieldSet2.js | 13 + .../lib/helpers/classPrivateFieldSet2.js.map | 1 + .../helpers/lib/helpers/classPrivateGetter.js | 12 + .../lib/helpers/classPrivateGetter.js.map | 1 + .../lib/helpers/classPrivateMethodGet.js | 13 + .../lib/helpers/classPrivateMethodGet.js.map | 1 + .../lib/helpers/classPrivateMethodInitSpec.js | 13 + .../helpers/classPrivateMethodInitSpec.js.map | 1 + .../lib/helpers/classPrivateMethodSet.js | 11 + .../lib/helpers/classPrivateMethodSet.js.map | 1 + .../helpers/lib/helpers/classPrivateSetter.js | 13 + .../lib/helpers/classPrivateSetter.js.map | 1 + .../classStaticPrivateFieldDestructureSet.js | 16 + ...assStaticPrivateFieldDestructureSet.js.map | 1 + .../helpers/classStaticPrivateFieldSpecGet.js | 16 + .../classStaticPrivateFieldSpecGet.js.map | 1 + .../helpers/classStaticPrivateFieldSpecSet.js | 17 + .../classStaticPrivateFieldSpecSet.js.map | 1 + .../helpers/classStaticPrivateMethodGet.js | 13 + .../classStaticPrivateMethodGet.js.map | 1 + .../helpers/classStaticPrivateMethodSet.js | 11 + .../classStaticPrivateMethodSet.js.map | 1 + .../@babel/helpers/lib/helpers/construct.js | 20 + .../helpers/lib/helpers/construct.js.map | 1 + .../@babel/helpers/lib/helpers/createClass.js | 26 + .../helpers/lib/helpers/createClass.js.map | 1 + .../lib/helpers/createForOfIteratorHelper.js | 64 + .../helpers/createForOfIteratorHelper.js.map | 1 + .../helpers/createForOfIteratorHelperLoose.js | 29 + .../createForOfIteratorHelperLoose.js.map | 1 + .../@babel/helpers/lib/helpers/createSuper.js | 25 + .../helpers/lib/helpers/createSuper.js.map | 1 + .../@babel/helpers/lib/helpers/decorate.js | 350 + .../helpers/lib/helpers/decorate.js.map | 1 + .../@babel/helpers/lib/helpers/defaults.js | 18 + .../helpers/lib/helpers/defaults.js.map | 1 + .../helpers/lib/helpers/defineAccessor.js | 16 + .../helpers/lib/helpers/defineAccessor.js.map | 1 + .../lib/helpers/defineEnumerableProperties.js | 27 + .../helpers/defineEnumerableProperties.js.map | 1 + .../helpers/lib/helpers/defineProperty.js | 23 + .../helpers/lib/helpers/defineProperty.js.map | 1 + .../@babel/helpers/lib/helpers/dispose.js | 47 + .../@babel/helpers/lib/helpers/dispose.js.map | 1 + .../@babel/helpers/lib/helpers/extends.js | 22 + .../@babel/helpers/lib/helpers/extends.js.map | 1 + .../@babel/helpers/lib/helpers/get.js | 25 + .../@babel/helpers/lib/helpers/get.js.map | 1 + .../helpers/lib/helpers/getPrototypeOf.js | 14 + .../helpers/lib/helpers/getPrototypeOf.js.map | 1 + .../@babel/helpers/lib/helpers/identity.js | 11 + .../helpers/lib/helpers/identity.js.map | 1 + .../helpers/lib/helpers/importDeferProxy.js | 35 + .../lib/helpers/importDeferProxy.js.map | 1 + .../@babel/helpers/lib/helpers/inherits.js | 25 + .../helpers/lib/helpers/inherits.js.map | 1 + .../helpers/lib/helpers/inheritsLoose.js | 14 + .../helpers/lib/helpers/inheritsLoose.js.map | 1 + .../lib/helpers/initializerDefineProperty.js | 17 + .../helpers/initializerDefineProperty.js.map | 1 + .../lib/helpers/initializerWarningHelper.js | 11 + .../helpers/initializerWarningHelper.js.map | 1 + .../@babel/helpers/lib/helpers/instanceof.js | 15 + .../helpers/lib/helpers/instanceof.js.map | 1 + .../lib/helpers/interopRequireDefault.js | 13 + .../lib/helpers/interopRequireDefault.js.map | 1 + .../lib/helpers/interopRequireWildcard.js | 44 + .../lib/helpers/interopRequireWildcard.js.map | 1 + .../helpers/lib/helpers/isNativeFunction.js | 15 + .../lib/helpers/isNativeFunction.js.map | 1 + .../lib/helpers/isNativeReflectConstruct.js | 16 + .../helpers/isNativeReflectConstruct.js.map | 1 + .../helpers/lib/helpers/iterableToArray.js | 13 + .../lib/helpers/iterableToArray.js.map | 1 + .../lib/helpers/iterableToArrayLimit.js | 41 + .../lib/helpers/iterableToArrayLimit.js.map | 1 + .../@babel/helpers/lib/helpers/jsx.js | 47 + .../@babel/helpers/lib/helpers/jsx.js.map | 1 + .../helpers/lib/helpers/maybeArrayLike.js | 16 + .../helpers/lib/helpers/maybeArrayLike.js.map | 1 + .../helpers/lib/helpers/newArrowCheck.js | 13 + .../helpers/lib/helpers/newArrowCheck.js.map | 1 + .../helpers/lib/helpers/nonIterableRest.js | 11 + .../lib/helpers/nonIterableRest.js.map | 1 + .../helpers/lib/helpers/nonIterableSpread.js | 11 + .../lib/helpers/nonIterableSpread.js.map | 1 + .../lib/helpers/nullishReceiverError.js | 11 + .../lib/helpers/nullishReceiverError.js.map | 1 + .../lib/helpers/objectDestructuringEmpty.js | 11 + .../helpers/objectDestructuringEmpty.js.map | 1 + .../helpers/lib/helpers/objectSpread.js | 24 + .../helpers/lib/helpers/objectSpread.js.map | 1 + .../helpers/lib/helpers/objectSpread2.js | 39 + .../helpers/lib/helpers/objectSpread2.js.map | 1 + .../lib/helpers/objectWithoutProperties.js | 24 + .../helpers/objectWithoutProperties.js.map | 1 + .../helpers/objectWithoutPropertiesLoose.js | 19 + .../objectWithoutPropertiesLoose.js.map | 1 + .../lib/helpers/possibleConstructorReturn.js | 17 + .../helpers/possibleConstructorReturn.js.map | 1 + .../helpers/lib/helpers/readOnlyError.js | 11 + .../helpers/lib/helpers/readOnlyError.js.map | 1 + .../@babel/helpers/lib/helpers/regenerator.js | 188 + .../helpers/lib/helpers/regenerator.js.map | 1 + .../helpers/lib/helpers/regeneratorAsync.js | 15 + .../lib/helpers/regeneratorAsync.js.map | 1 + .../lib/helpers/regeneratorAsyncGen.js | 13 + .../lib/helpers/regeneratorAsyncGen.js.map | 1 + .../lib/helpers/regeneratorAsyncIterator.js | 49 + .../helpers/regeneratorAsyncIterator.js.map | 1 + .../helpers/lib/helpers/regeneratorDefine.js | 40 + .../lib/helpers/regeneratorDefine.js.map | 1 + .../helpers/lib/helpers/regeneratorKeys.js | 28 + .../lib/helpers/regeneratorKeys.js.map | 1 + .../helpers/lib/helpers/regeneratorRuntime.js | 98 + .../lib/helpers/regeneratorRuntime.js.map | 1 + .../helpers/lib/helpers/regeneratorValues.js | 32 + .../lib/helpers/regeneratorValues.js.map | 1 + .../@babel/helpers/lib/helpers/set.js | 48 + .../@babel/helpers/lib/helpers/set.js.map | 1 + .../helpers/lib/helpers/setFunctionName.js | 21 + .../lib/helpers/setFunctionName.js.map | 1 + .../helpers/lib/helpers/setPrototypeOf.js | 15 + .../helpers/lib/helpers/setPrototypeOf.js.map | 1 + .../lib/helpers/skipFirstGeneratorNext.js | 15 + .../lib/helpers/skipFirstGeneratorNext.js.map | 1 + .../helpers/lib/helpers/slicedToArray.js | 15 + .../helpers/lib/helpers/slicedToArray.js.map | 1 + .../helpers/lib/helpers/superPropBase.js | 16 + .../helpers/lib/helpers/superPropBase.js.map | 1 + .../helpers/lib/helpers/superPropGet.js | 16 + .../helpers/lib/helpers/superPropGet.js.map | 1 + .../helpers/lib/helpers/superPropSet.js | 13 + .../helpers/lib/helpers/superPropSet.js.map | 1 + .../lib/helpers/taggedTemplateLiteral.js | 18 + .../lib/helpers/taggedTemplateLiteral.js.map | 1 + .../lib/helpers/taggedTemplateLiteralLoose.js | 15 + .../helpers/taggedTemplateLiteralLoose.js.map | 1 + .../@babel/helpers/lib/helpers/tdz.js | 11 + .../@babel/helpers/lib/helpers/tdz.js.map | 1 + .../@babel/helpers/lib/helpers/temporalRef.js | 13 + .../helpers/lib/helpers/temporalRef.js.map | 1 + .../helpers/lib/helpers/temporalUndefined.js | 9 + .../lib/helpers/temporalUndefined.js.map | 1 + .../@babel/helpers/lib/helpers/toArray.js | 15 + .../@babel/helpers/lib/helpers/toArray.js.map | 1 + .../helpers/lib/helpers/toConsumableArray.js | 15 + .../lib/helpers/toConsumableArray.js.map | 1 + .../@babel/helpers/lib/helpers/toPrimitive.js | 18 + .../helpers/lib/helpers/toPrimitive.js.map | 1 + .../helpers/lib/helpers/toPropertyKey.js | 13 + .../helpers/lib/helpers/toPropertyKey.js.map | 1 + .../@babel/helpers/lib/helpers/toSetter.js | 18 + .../helpers/lib/helpers/toSetter.js.map | 1 + .../tsRewriteRelativeImportExtensions.js | 16 + .../tsRewriteRelativeImportExtensions.js.map | 1 + .../@babel/helpers/lib/helpers/typeof.js | 22 + .../@babel/helpers/lib/helpers/typeof.js.map | 1 + .../lib/helpers/unsupportedIterableToArray.js | 19 + .../helpers/unsupportedIterableToArray.js.map | 1 + .../@babel/helpers/lib/helpers/using.js | 29 + .../@babel/helpers/lib/helpers/using.js.map | 1 + .../@babel/helpers/lib/helpers/usingCtx.js | 103 + .../helpers/lib/helpers/usingCtx.js.map | 1 + .../helpers/lib/helpers/wrapAsyncGenerator.js | 88 + .../lib/helpers/wrapAsyncGenerator.js.map | 1 + .../helpers/lib/helpers/wrapNativeSuper.js | 38 + .../lib/helpers/wrapNativeSuper.js.map | 1 + .../@babel/helpers/lib/helpers/wrapRegExp.js | 72 + .../helpers/lib/helpers/wrapRegExp.js.map | 1 + .../helpers/lib/helpers/writeOnlyError.js | 11 + .../helpers/lib/helpers/writeOnlyError.js.map | 1 + .../node_modules/@babel/helpers/lib/index.js | 122 + .../@babel/helpers/lib/index.js.map | 1 + .../node_modules/@babel/helpers/package.json | 31 + .../node_modules/@babel/parser/CHANGELOG.md | 1073 + client/node_modules/@babel/parser/LICENSE | 19 + client/node_modules/@babel/parser/README.md | 19 + .../@babel/parser/bin/babel-parser.js | 15 + .../node_modules/@babel/parser/lib/index.js | 14599 ++++ .../@babel/parser/lib/index.js.map | 1 + .../node_modules/@babel/parser/package.json | 50 + .../@babel/parser/typings/babel-parser.d.ts | 262 + .../plugin-transform-react-jsx-self/LICENSE | 22 + .../plugin-transform-react-jsx-self/README.md | 19 + .../lib/index.js | 61 + .../lib/index.js.map | 1 + .../package.json | 35 + .../plugin-transform-react-jsx-source/LICENSE | 22 + .../README.md | 19 + .../lib/index.js | 51 + .../lib/index.js.map | 1 + .../package.json | 35 + client/node_modules/@babel/template/LICENSE | 22 + client/node_modules/@babel/template/README.md | 19 + .../@babel/template/lib/builder.js | 69 + .../@babel/template/lib/builder.js.map | 1 + .../@babel/template/lib/formatters.js | 61 + .../@babel/template/lib/formatters.js.map | 1 + .../node_modules/@babel/template/lib/index.js | 23 + .../@babel/template/lib/index.js.map | 1 + .../@babel/template/lib/literal.js | 69 + .../@babel/template/lib/literal.js.map | 1 + .../@babel/template/lib/options.js | 73 + .../@babel/template/lib/options.js.map | 1 + .../node_modules/@babel/template/lib/parse.js | 163 + .../@babel/template/lib/parse.js.map | 1 + .../@babel/template/lib/populate.js | 138 + .../@babel/template/lib/populate.js.map | 1 + .../@babel/template/lib/string.js | 20 + .../@babel/template/lib/string.js.map | 1 + .../node_modules/@babel/template/package.json | 27 + client/node_modules/@babel/traverse/LICENSE | 22 + client/node_modules/@babel/traverse/README.md | 19 + .../node_modules/@babel/traverse/lib/cache.js | 37 + .../@babel/traverse/lib/cache.js.map | 1 + .../@babel/traverse/lib/context.js | 125 + .../@babel/traverse/lib/context.js.map | 1 + .../node_modules/@babel/traverse/lib/hub.js | 19 + .../@babel/traverse/lib/hub.js.map | 1 + .../node_modules/@babel/traverse/lib/index.js | 87 + .../@babel/traverse/lib/index.js.map | 1 + .../@babel/traverse/lib/path/ancestry.js | 139 + .../@babel/traverse/lib/path/ancestry.js.map | 1 + .../@babel/traverse/lib/path/comments.js | 52 + .../@babel/traverse/lib/path/comments.js.map | 1 + .../@babel/traverse/lib/path/context.js | 254 + .../@babel/traverse/lib/path/context.js.map | 1 + .../@babel/traverse/lib/path/conversion.js | 608 + .../traverse/lib/path/conversion.js.map | 1 + .../@babel/traverse/lib/path/evaluation.js | 373 + .../traverse/lib/path/evaluation.js.map | 1 + .../@babel/traverse/lib/path/family.js | 346 + .../@babel/traverse/lib/path/family.js.map | 1 + .../@babel/traverse/lib/path/index.js | 288 + .../@babel/traverse/lib/path/index.js.map | 1 + .../traverse/lib/path/inference/index.js | 149 + .../traverse/lib/path/inference/index.js.map | 1 + .../lib/path/inference/inferer-reference.js | 151 + .../path/inference/inferer-reference.js.map | 1 + .../traverse/lib/path/inference/inferers.js | 207 + .../lib/path/inference/inferers.js.map | 1 + .../traverse/lib/path/inference/util.js | 28 + .../traverse/lib/path/inference/util.js.map | 1 + .../@babel/traverse/lib/path/introspection.js | 395 + .../traverse/lib/path/introspection.js.map | 1 + .../@babel/traverse/lib/path/lib/hoister.js | 172 + .../traverse/lib/path/lib/hoister.js.map | 1 + .../traverse/lib/path/lib/removal-hooks.js | 38 + .../lib/path/lib/removal-hooks.js.map | 1 + .../lib/path/lib/virtual-types-validator.js | 162 + .../path/lib/virtual-types-validator.js.map | 1 + .../traverse/lib/path/lib/virtual-types.js | 26 + .../lib/path/lib/virtual-types.js.map | 1 + .../@babel/traverse/lib/path/modification.js | 229 + .../traverse/lib/path/modification.js.map | 1 + .../@babel/traverse/lib/path/removal.js | 67 + .../@babel/traverse/lib/path/removal.js.map | 1 + .../@babel/traverse/lib/path/replacement.js | 264 + .../traverse/lib/path/replacement.js.map | 1 + .../@babel/traverse/lib/scope/binding.js | 84 + .../@babel/traverse/lib/scope/binding.js.map | 1 + .../@babel/traverse/lib/scope/index.js | 1018 + .../@babel/traverse/lib/scope/index.js.map | 1 + .../@babel/traverse/lib/scope/lib/renamer.js | 132 + .../traverse/lib/scope/lib/renamer.js.map | 1 + .../traverse/lib/scope/traverseForScope.js | 66 + .../lib/scope/traverseForScope.js.map | 1 + .../@babel/traverse/lib/traverse-node.js | 137 + .../@babel/traverse/lib/traverse-node.js.map | 1 + .../node_modules/@babel/traverse/lib/types.js | 3 + .../@babel/traverse/lib/types.js.map | 1 + .../@babel/traverse/lib/visitors.js | 252 + .../@babel/traverse/lib/visitors.js.map | 1 + .../node_modules/@babel/traverse/package.json | 35 + .../@babel/traverse/tsconfig.overrides.json | 6 + client/node_modules/@babel/types/LICENSE | 22 + client/node_modules/@babel/types/README.md | 19 + .../@babel/types/lib/asserts/assertNode.js | 16 + .../types/lib/asserts/assertNode.js.map | 1 + .../types/lib/asserts/generated/index.js | 1251 + .../types/lib/asserts/generated/index.js.map | 1 + .../types/lib/ast-types/generated/index.js | 3 + .../lib/ast-types/generated/index.js.map | 1 + .../lib/builders/flow/createFlowUnionType.js | 18 + .../builders/flow/createFlowUnionType.js.map | 1 + .../flow/createTypeAnnotationBasedOnTypeof.js | 31 + .../createTypeAnnotationBasedOnTypeof.js.map | 1 + .../types/lib/builders/generated/index.js | 29 + .../types/lib/builders/generated/index.js.map | 1 + .../types/lib/builders/generated/lowercase.js | 2902 + .../lib/builders/generated/lowercase.js.map | 1 + .../types/lib/builders/generated/uppercase.js | 272 + .../lib/builders/generated/uppercase.js.map | 1 + .../@babel/types/lib/builders/productions.js | 12 + .../types/lib/builders/productions.js.map | 1 + .../types/lib/builders/react/buildChildren.js | 24 + .../lib/builders/react/buildChildren.js.map | 1 + .../builders/typescript/createTSUnionType.js | 22 + .../typescript/createTSUnionType.js.map | 1 + .../@babel/types/lib/builders/validateNode.js | 21 + .../types/lib/builders/validateNode.js.map | 1 + .../@babel/types/lib/clone/clone.js | 12 + .../@babel/types/lib/clone/clone.js.map | 1 + .../@babel/types/lib/clone/cloneDeep.js | 12 + .../@babel/types/lib/clone/cloneDeep.js.map | 1 + .../types/lib/clone/cloneDeepWithoutLoc.js | 12 + .../lib/clone/cloneDeepWithoutLoc.js.map | 1 + .../@babel/types/lib/clone/cloneNode.js | 107 + .../@babel/types/lib/clone/cloneNode.js.map | 1 + .../@babel/types/lib/clone/cloneWithoutLoc.js | 12 + .../types/lib/clone/cloneWithoutLoc.js.map | 1 + .../@babel/types/lib/comments/addComment.js | 15 + .../types/lib/comments/addComment.js.map | 1 + .../@babel/types/lib/comments/addComments.js | 22 + .../types/lib/comments/addComments.js.map | 1 + .../lib/comments/inheritInnerComments.js | 12 + .../lib/comments/inheritInnerComments.js.map | 1 + .../lib/comments/inheritLeadingComments.js | 12 + .../comments/inheritLeadingComments.js.map | 1 + .../lib/comments/inheritTrailingComments.js | 12 + .../comments/inheritTrailingComments.js.map | 1 + .../types/lib/comments/inheritsComments.js | 17 + .../lib/comments/inheritsComments.js.map | 1 + .../types/lib/comments/removeComments.js | 15 + .../types/lib/comments/removeComments.js.map | 1 + .../types/lib/constants/generated/index.js | 60 + .../lib/constants/generated/index.js.map | 1 + .../@babel/types/lib/constants/index.js | 31 + .../@babel/types/lib/constants/index.js.map | 1 + .../types/lib/converters/ensureBlock.js | 14 + .../types/lib/converters/ensureBlock.js.map | 1 + .../converters/gatherSequenceExpressions.js | 65 + .../gatherSequenceExpressions.js.map | 1 + .../lib/converters/toBindingIdentifierName.js | 14 + .../converters/toBindingIdentifierName.js.map | 1 + .../@babel/types/lib/converters/toBlock.js | 29 + .../types/lib/converters/toBlock.js.map | 1 + .../types/lib/converters/toComputedKey.js | 14 + .../types/lib/converters/toComputedKey.js.map | 1 + .../types/lib/converters/toExpression.js | 28 + .../types/lib/converters/toExpression.js.map | 1 + .../types/lib/converters/toIdentifier.js | 25 + .../types/lib/converters/toIdentifier.js.map | 1 + .../@babel/types/lib/converters/toKeyAlias.js | 38 + .../types/lib/converters/toKeyAlias.js.map | 1 + .../lib/converters/toSequenceExpression.js | 19 + .../converters/toSequenceExpression.js.map | 1 + .../types/lib/converters/toStatement.js | 39 + .../types/lib/converters/toStatement.js.map | 1 + .../types/lib/converters/valueToNode.js | 89 + .../types/lib/converters/valueToNode.js.map | 1 + .../@babel/types/lib/definitions/core.js | 1725 + .../@babel/types/lib/definitions/core.js.map | 1 + .../lib/definitions/deprecated-aliases.js | 11 + .../lib/definitions/deprecated-aliases.js.map | 1 + .../types/lib/definitions/experimental.js | 124 + .../types/lib/definitions/experimental.js.map | 1 + .../@babel/types/lib/definitions/flow.js | 495 + .../@babel/types/lib/definitions/flow.js.map | 1 + .../@babel/types/lib/definitions/index.js | 106 + .../@babel/types/lib/definitions/index.js.map | 1 + .../@babel/types/lib/definitions/jsx.js | 157 + .../@babel/types/lib/definitions/jsx.js.map | 1 + .../@babel/types/lib/definitions/misc.js | 31 + .../@babel/types/lib/definitions/misc.js.map | 1 + .../types/lib/definitions/placeholders.js | 27 + .../types/lib/definitions/placeholders.js.map | 1 + .../types/lib/definitions/typescript.js | 528 + .../types/lib/definitions/typescript.js.map | 1 + .../@babel/types/lib/definitions/utils.js | 296 + .../@babel/types/lib/definitions/utils.js.map | 1 + .../@babel/types/lib/index-legacy.d.ts | 2797 + .../node_modules/@babel/types/lib/index.d.ts | 3617 + client/node_modules/@babel/types/lib/index.js | 582 + .../@babel/types/lib/index.js.flow | 2650 + .../@babel/types/lib/index.js.map | 1 + .../modifications/appendToMemberExpression.js | 15 + .../appendToMemberExpression.js.map | 1 + .../flow/removeTypeDuplicates.js | 65 + .../flow/removeTypeDuplicates.js.map | 1 + .../types/lib/modifications/inherits.js | 28 + .../types/lib/modifications/inherits.js.map | 1 + .../prependToMemberExpression.js | 17 + .../prependToMemberExpression.js.map | 1 + .../lib/modifications/removeProperties.js | 24 + .../lib/modifications/removeProperties.js.map | 1 + .../lib/modifications/removePropertiesDeep.js | 14 + .../modifications/removePropertiesDeep.js.map | 1 + .../typescript/removeTypeDuplicates.js | 66 + .../typescript/removeTypeDuplicates.js.map | 1 + .../retrievers/getAssignmentIdentifiers.js | 48 + .../getAssignmentIdentifiers.js.map | 1 + .../lib/retrievers/getBindingIdentifiers.js | 102 + .../retrievers/getBindingIdentifiers.js.map | 1 + .../types/lib/retrievers/getFunctionName.js | 63 + .../lib/retrievers/getFunctionName.js.map | 1 + .../retrievers/getOuterBindingIdentifiers.js | 13 + .../getOuterBindingIdentifiers.js.map | 1 + .../@babel/types/lib/traverse/traverse.js | 50 + .../@babel/types/lib/traverse/traverse.js.map | 1 + .../@babel/types/lib/traverse/traverseFast.js | 40 + .../types/lib/traverse/traverseFast.js.map | 1 + .../types/lib/utils/deprecationWarning.js | 44 + .../types/lib/utils/deprecationWarning.js.map | 1 + .../@babel/types/lib/utils/inherit.js | 13 + .../@babel/types/lib/utils/inherit.js.map | 1 + .../react/cleanJSXElementLiteralChild.js | 40 + .../react/cleanJSXElementLiteralChild.js.map | 1 + .../@babel/types/lib/utils/shallowEqual.js | 17 + .../types/lib/utils/shallowEqual.js.map | 1 + .../validators/buildMatchMemberExpression.js | 13 + .../buildMatchMemberExpression.js.map | 1 + .../types/lib/validators/generated/index.js | 2797 + .../lib/validators/generated/index.js.map | 1 + .../@babel/types/lib/validators/is.js | 27 + .../@babel/types/lib/validators/is.js.map | 1 + .../@babel/types/lib/validators/isBinding.js | 27 + .../types/lib/validators/isBinding.js.map | 1 + .../types/lib/validators/isBlockScoped.js | 13 + .../types/lib/validators/isBlockScoped.js.map | 1 + .../types/lib/validators/isImmutable.js | 21 + .../types/lib/validators/isImmutable.js.map | 1 + .../@babel/types/lib/validators/isLet.js | 13 + .../@babel/types/lib/validators/isLet.js.map | 1 + .../@babel/types/lib/validators/isNode.js | 12 + .../@babel/types/lib/validators/isNode.js.map | 1 + .../types/lib/validators/isNodesEquivalent.js | 57 + .../lib/validators/isNodesEquivalent.js.map | 1 + .../types/lib/validators/isPlaceholderType.js | 15 + .../lib/validators/isPlaceholderType.js.map | 1 + .../types/lib/validators/isReferenced.js | 96 + .../types/lib/validators/isReferenced.js.map | 1 + .../@babel/types/lib/validators/isScope.js | 18 + .../types/lib/validators/isScope.js.map | 1 + .../lib/validators/isSpecifierDefault.js | 14 + .../lib/validators/isSpecifierDefault.js.map | 1 + .../@babel/types/lib/validators/isType.js | 17 + .../@babel/types/lib/validators/isType.js.map | 1 + .../lib/validators/isValidES3Identifier.js | 13 + .../validators/isValidES3Identifier.js.map | 1 + .../types/lib/validators/isValidIdentifier.js | 18 + .../lib/validators/isValidIdentifier.js.map | 1 + .../@babel/types/lib/validators/isVar.js | 15 + .../@babel/types/lib/validators/isVar.js.map | 1 + .../types/lib/validators/matchesPattern.js | 44 + .../lib/validators/matchesPattern.js.map | 1 + .../types/lib/validators/react/isCompatTag.js | 11 + .../lib/validators/react/isCompatTag.js.map | 1 + .../lib/validators/react/isReactComponent.js | 11 + .../validators/react/isReactComponent.js.map | 1 + .../@babel/types/lib/validators/validate.js | 42 + .../types/lib/validators/validate.js.map | 1 + client/node_modules/@babel/types/package.json | 39 + .../node_modules/@esbuild/win32-x64/README.md | 3 + .../@esbuild/win32-x64/esbuild.exe | Bin 0 -> 9913856 bytes .../@esbuild/win32-x64/package.json | 20 + .../@jridgewell/gen-mapping/LICENSE | 19 + .../@jridgewell/gen-mapping/README.md | 227 + .../gen-mapping/dist/gen-mapping.mjs | 292 + .../gen-mapping/dist/gen-mapping.mjs.map | 6 + .../gen-mapping/dist/gen-mapping.umd.js | 358 + .../gen-mapping/dist/gen-mapping.umd.js.map | 6 + .../gen-mapping/dist/types/gen-mapping.d.ts | 88 + .../gen-mapping/dist/types/set-array.d.ts | 32 + .../dist/types/sourcemap-segment.d.ts | 12 + .../gen-mapping/dist/types/types.d.ts | 43 + .../@jridgewell/gen-mapping/package.json | 67 + .../gen-mapping/src/gen-mapping.ts | 614 + .../@jridgewell/gen-mapping/src/set-array.ts | 82 + .../gen-mapping/src/sourcemap-segment.ts | 16 + .../@jridgewell/gen-mapping/src/types.ts | 61 + .../gen-mapping/types/gen-mapping.d.cts | 89 + .../gen-mapping/types/gen-mapping.d.cts.map | 1 + .../gen-mapping/types/gen-mapping.d.mts | 89 + .../gen-mapping/types/gen-mapping.d.mts.map | 1 + .../gen-mapping/types/set-array.d.cts | 33 + .../gen-mapping/types/set-array.d.cts.map | 1 + .../gen-mapping/types/set-array.d.mts | 33 + .../gen-mapping/types/set-array.d.mts.map | 1 + .../gen-mapping/types/sourcemap-segment.d.cts | 13 + .../types/sourcemap-segment.d.cts.map | 1 + .../gen-mapping/types/sourcemap-segment.d.mts | 13 + .../types/sourcemap-segment.d.mts.map | 1 + .../@jridgewell/gen-mapping/types/types.d.cts | 44 + .../gen-mapping/types/types.d.cts.map | 1 + .../@jridgewell/gen-mapping/types/types.d.mts | 44 + .../gen-mapping/types/types.d.mts.map | 1 + .../@jridgewell/remapping/LICENSE | 19 + .../@jridgewell/remapping/README.md | 218 + .../@jridgewell/remapping/dist/remapping.mjs | 144 + .../remapping/dist/remapping.mjs.map | 6 + .../remapping/dist/remapping.umd.js | 212 + .../remapping/dist/remapping.umd.js.map | 6 + .../@jridgewell/remapping/package.json | 71 + .../remapping/src/build-source-map-tree.ts | 89 + .../@jridgewell/remapping/src/remapping.ts | 42 + .../remapping/src/source-map-tree.ts | 172 + .../@jridgewell/remapping/src/source-map.ts | 38 + .../@jridgewell/remapping/src/types.ts | 27 + .../types/build-source-map-tree.d.cts | 15 + .../types/build-source-map-tree.d.cts.map | 1 + .../types/build-source-map-tree.d.mts | 15 + .../types/build-source-map-tree.d.mts.map | 1 + .../remapping/types/remapping.d.cts | 21 + .../remapping/types/remapping.d.cts.map | 1 + .../remapping/types/remapping.d.mts | 21 + .../remapping/types/remapping.d.mts.map | 1 + .../remapping/types/source-map-tree.d.cts | 46 + .../remapping/types/source-map-tree.d.cts.map | 1 + .../remapping/types/source-map-tree.d.mts | 46 + .../remapping/types/source-map-tree.d.mts.map | 1 + .../remapping/types/source-map.d.cts | 19 + .../remapping/types/source-map.d.cts.map | 1 + .../remapping/types/source-map.d.mts | 19 + .../remapping/types/source-map.d.mts.map | 1 + .../@jridgewell/remapping/types/types.d.cts | 16 + .../remapping/types/types.d.cts.map | 1 + .../@jridgewell/remapping/types/types.d.mts | 16 + .../remapping/types/types.d.mts.map | 1 + .../@jridgewell/resolve-uri/LICENSE | 19 + .../@jridgewell/resolve-uri/README.md | 40 + .../resolve-uri/dist/resolve-uri.mjs | 232 + .../resolve-uri/dist/resolve-uri.mjs.map | 1 + .../resolve-uri/dist/resolve-uri.umd.js | 240 + .../resolve-uri/dist/resolve-uri.umd.js.map | 1 + .../resolve-uri/dist/types/resolve-uri.d.ts | 4 + .../@jridgewell/resolve-uri/package.json | 69 + .../@jridgewell/sourcemap-codec/LICENSE | 19 + .../@jridgewell/sourcemap-codec/README.md | 264 + .../sourcemap-codec/dist/sourcemap-codec.mjs | 423 + .../dist/sourcemap-codec.mjs.map | 6 + .../dist/sourcemap-codec.umd.js | 464 + .../dist/sourcemap-codec.umd.js.map | 6 + .../@jridgewell/sourcemap-codec/package.json | 63 + .../@jridgewell/sourcemap-codec/src/scopes.ts | 345 + .../sourcemap-codec/src/sourcemap-codec.ts | 111 + .../sourcemap-codec/src/strings.ts | 65 + .../@jridgewell/sourcemap-codec/src/vlq.ts | 55 + .../sourcemap-codec/types/scopes.d.cts | 50 + .../sourcemap-codec/types/scopes.d.cts.map | 1 + .../sourcemap-codec/types/scopes.d.mts | 50 + .../sourcemap-codec/types/scopes.d.mts.map | 1 + .../types/sourcemap-codec.d.cts | 9 + .../types/sourcemap-codec.d.cts.map | 1 + .../types/sourcemap-codec.d.mts | 9 + .../types/sourcemap-codec.d.mts.map | 1 + .../sourcemap-codec/types/strings.d.cts | 16 + .../sourcemap-codec/types/strings.d.cts.map | 1 + .../sourcemap-codec/types/strings.d.mts | 16 + .../sourcemap-codec/types/strings.d.mts.map | 1 + .../sourcemap-codec/types/vlq.d.cts | 7 + .../sourcemap-codec/types/vlq.d.cts.map | 1 + .../sourcemap-codec/types/vlq.d.mts | 7 + .../sourcemap-codec/types/vlq.d.mts.map | 1 + .../@jridgewell/trace-mapping/LICENSE | 19 + .../@jridgewell/trace-mapping/README.md | 348 + .../trace-mapping/dist/trace-mapping.mjs | 493 + .../trace-mapping/dist/trace-mapping.mjs.map | 6 + .../trace-mapping/dist/trace-mapping.umd.js | 559 + .../dist/trace-mapping.umd.js.map | 6 + .../@jridgewell/trace-mapping/package.json | 67 + .../trace-mapping/src/binary-search.ts | 115 + .../trace-mapping/src/by-source.ts | 41 + .../trace-mapping/src/flatten-map.ts | 192 + .../@jridgewell/trace-mapping/src/resolve.ts | 16 + .../@jridgewell/trace-mapping/src/sort.ts | 45 + .../trace-mapping/src/sourcemap-segment.ts | 23 + .../trace-mapping/src/strip-filename.ts | 8 + .../trace-mapping/src/trace-mapping.ts | 502 + .../@jridgewell/trace-mapping/src/types.ts | 114 + .../trace-mapping/types/binary-search.d.cts | 33 + .../types/binary-search.d.cts.map | 1 + .../trace-mapping/types/binary-search.d.mts | 33 + .../types/binary-search.d.mts.map | 1 + .../trace-mapping/types/by-source.d.cts | 4 + .../trace-mapping/types/by-source.d.cts.map | 1 + .../trace-mapping/types/by-source.d.mts | 4 + .../trace-mapping/types/by-source.d.mts.map | 1 + .../trace-mapping/types/flatten-map.d.cts | 9 + .../trace-mapping/types/flatten-map.d.cts.map | 1 + .../trace-mapping/types/flatten-map.d.mts | 9 + .../trace-mapping/types/flatten-map.d.mts.map | 1 + .../trace-mapping/types/resolve.d.cts | 4 + .../trace-mapping/types/resolve.d.cts.map | 1 + .../trace-mapping/types/resolve.d.mts | 4 + .../trace-mapping/types/resolve.d.mts.map | 1 + .../trace-mapping/types/sort.d.cts | 4 + .../trace-mapping/types/sort.d.cts.map | 1 + .../trace-mapping/types/sort.d.mts | 4 + .../trace-mapping/types/sort.d.mts.map | 1 + .../types/sourcemap-segment.d.cts | 17 + .../types/sourcemap-segment.d.cts.map | 1 + .../types/sourcemap-segment.d.mts | 17 + .../types/sourcemap-segment.d.mts.map | 1 + .../trace-mapping/types/strip-filename.d.cts | 5 + .../types/strip-filename.d.cts.map | 1 + .../trace-mapping/types/strip-filename.d.mts | 5 + .../types/strip-filename.d.mts.map | 1 + .../trace-mapping/types/trace-mapping.d.cts | 80 + .../types/trace-mapping.d.cts.map | 1 + .../trace-mapping/types/trace-mapping.d.mts | 80 + .../types/trace-mapping.d.mts.map | 1 + .../trace-mapping/types/types.d.cts | 107 + .../trace-mapping/types/types.d.cts.map | 1 + .../trace-mapping/types/types.d.mts | 107 + .../trace-mapping/types/types.d.mts.map | 1 + .../@rolldown/pluginutils/LICENSE | 25 + .../@rolldown/pluginutils/dist/index.cjs | 271 + .../@rolldown/pluginutils/dist/index.d.cts | 157 + .../@rolldown/pluginutils/dist/index.d.ts | 157 + .../@rolldown/pluginutils/dist/index.js | 255 + .../@rolldown/pluginutils/package.json | 36 + .../@rollup/rollup-win32-x64-gnu/README.md | 3 + .../@rollup/rollup-win32-x64-gnu/package.json | 22 + .../rollup.win32-x64-gnu.node | Bin 0 -> 1947648 bytes .../@rollup/rollup-win32-x64-msvc/README.md | 3 + .../rollup-win32-x64-msvc/package.json | 22 + .../rollup.win32-x64-msvc.node | Bin 0 -> 2546176 bytes .../node_modules/@types/babel__core/LICENSE | 21 + .../node_modules/@types/babel__core/README.md | 15 + .../@types/babel__core/index.d.ts | 831 + .../@types/babel__core/package.json | 51 + .../@types/babel__generator/LICENSE | 21 + .../@types/babel__generator/README.md | 15 + .../@types/babel__generator/index.d.ts | 210 + .../@types/babel__generator/package.json | 43 + .../@types/babel__template/LICENSE | 21 + .../@types/babel__template/README.md | 15 + .../@types/babel__template/index.d.ts | 92 + .../@types/babel__template/package.json | 43 + .../@types/babel__traverse/LICENSE | 21 + .../@types/babel__traverse/README.md | 15 + .../@types/babel__traverse/index.d.ts | 1506 + .../@types/babel__traverse/package.json | 63 + client/node_modules/@types/estree/LICENSE | 21 + client/node_modules/@types/estree/README.md | 15 + client/node_modules/@types/estree/flow.d.ts | 167 + client/node_modules/@types/estree/index.d.ts | 694 + .../node_modules/@types/estree/package.json | 27 + .../node_modules/@vitejs/plugin-react/LICENSE | 21 + .../@vitejs/plugin-react/README.md | 142 + .../@vitejs/plugin-react/dist/index.cjs | 343 + .../@vitejs/plugin-react/dist/index.d.cts | 67 + .../@vitejs/plugin-react/dist/index.d.ts | 67 + .../@vitejs/plugin-react/dist/index.js | 320 + .../plugin-react/dist/refresh-runtime.js | 670 + .../@vitejs/plugin-react/package.json | 70 + client/node_modules/agent-base/README.md | 145 + .../agent-base/dist/src/index.d.ts | 78 + .../node_modules/agent-base/dist/src/index.js | 203 + .../agent-base/dist/src/index.js.map | 1 + .../agent-base/dist/src/promisify.d.ts | 4 + .../agent-base/dist/src/promisify.js | 18 + .../agent-base/dist/src/promisify.js.map | 1 + client/node_modules/agent-base/package.json | 64 + client/node_modules/agent-base/src/index.ts | 345 + .../node_modules/agent-base/src/promisify.ts | 33 + client/node_modules/asynckit/LICENSE | 21 + client/node_modules/asynckit/README.md | 233 + client/node_modules/asynckit/bench.js | 76 + client/node_modules/asynckit/index.js | 6 + client/node_modules/asynckit/lib/abort.js | 29 + client/node_modules/asynckit/lib/async.js | 34 + client/node_modules/asynckit/lib/defer.js | 26 + client/node_modules/asynckit/lib/iterate.js | 75 + .../asynckit/lib/readable_asynckit.js | 91 + .../asynckit/lib/readable_parallel.js | 25 + .../asynckit/lib/readable_serial.js | 25 + .../asynckit/lib/readable_serial_ordered.js | 29 + client/node_modules/asynckit/lib/state.js | 37 + client/node_modules/asynckit/lib/streamify.js | 141 + .../node_modules/asynckit/lib/terminator.js | 29 + client/node_modules/asynckit/package.json | 63 + client/node_modules/asynckit/parallel.js | 43 + client/node_modules/asynckit/serial.js | 17 + client/node_modules/asynckit/serialOrdered.js | 75 + client/node_modules/asynckit/stream.js | 21 + client/node_modules/axios/CHANGELOG.md | 1747 + client/node_modules/axios/LICENSE | 7 + client/node_modules/axios/MIGRATION_GUIDE.md | 877 + client/node_modules/axios/README.md | 2426 + client/node_modules/axios/dist/axios.js | 4892 ++ client/node_modules/axios/dist/axios.js.map | 1 + client/node_modules/axios/dist/axios.min.js | 5 + .../node_modules/axios/dist/axios.min.js.map | 1 + .../node_modules/axios/dist/browser/axios.cjs | 4733 ++ .../axios/dist/browser/axios.cjs.map | 1 + client/node_modules/axios/dist/esm/axios.js | 4754 ++ .../node_modules/axios/dist/esm/axios.js.map | 1 + .../node_modules/axios/dist/esm/axios.min.js | 3 + .../axios/dist/esm/axios.min.js.map | 1 + client/node_modules/axios/dist/node/axios.cjs | 5469 ++ .../axios/dist/node/axios.cjs.map | 1 + client/node_modules/axios/index.d.cts | 715 + client/node_modules/axios/index.d.ts | 734 + client/node_modules/axios/index.js | 45 + .../node_modules/axios/lib/adapters/README.md | 36 + .../axios/lib/adapters/adapters.js | 132 + .../node_modules/axios/lib/adapters/fetch.js | 473 + .../node_modules/axios/lib/adapters/http.js | 1312 + client/node_modules/axios/lib/adapters/xhr.js | 227 + client/node_modules/axios/lib/axios.js | 89 + .../axios/lib/cancel/CancelToken.js | 135 + .../axios/lib/cancel/CanceledError.js | 22 + .../node_modules/axios/lib/cancel/isCancel.js | 5 + client/node_modules/axios/lib/core/Axios.js | 281 + .../node_modules/axios/lib/core/AxiosError.js | 176 + .../axios/lib/core/AxiosHeaders.js | 348 + .../axios/lib/core/InterceptorManager.js | 72 + client/node_modules/axios/lib/core/README.md | 8 + .../axios/lib/core/buildFullPath.js | 22 + .../axios/lib/core/dispatchRequest.js | 89 + .../axios/lib/core/mergeConfig.js | 124 + client/node_modules/axios/lib/core/settle.js | 27 + .../axios/lib/core/transformData.js | 28 + .../node_modules/axios/lib/defaults/index.js | 177 + .../axios/lib/defaults/transitional.js | 8 + client/node_modules/axios/lib/env/README.md | 3 + .../axios/lib/env/classes/FormData.js | 2 + client/node_modules/axios/lib/env/data.js | 1 + .../axios/lib/helpers/AxiosTransformStream.js | 156 + .../axios/lib/helpers/AxiosURLSearchParams.js | 61 + .../axios/lib/helpers/HttpStatusCode.js | 77 + .../node_modules/axios/lib/helpers/README.md | 7 + .../lib/helpers/ZlibHeaderTransformStream.js | 29 + client/node_modules/axios/lib/helpers/bind.js | 14 + .../axios/lib/helpers/buildURL.js | 66 + .../axios/lib/helpers/callbackify.js | 18 + .../axios/lib/helpers/combineURLs.js | 15 + .../axios/lib/helpers/composeSignals.js | 57 + .../node_modules/axios/lib/helpers/cookies.js | 60 + .../axios/lib/helpers/deprecatedMethod.js | 31 + .../helpers/estimateDataURLDecodedBytes.js | 100 + .../axios/lib/helpers/formDataToJSON.js | 97 + .../axios/lib/helpers/formDataToStream.js | 119 + .../axios/lib/helpers/fromDataURI.js | 66 + .../axios/lib/helpers/isAbsoluteURL.js | 19 + .../axios/lib/helpers/isAxiosError.js | 14 + .../axios/lib/helpers/isURLSameOrigin.js | 16 + client/node_modules/axios/lib/helpers/null.js | 2 + .../axios/lib/helpers/parseHeaders.js | 69 + .../axios/lib/helpers/parseProtocol.js | 6 + .../axios/lib/helpers/progressEventReducer.js | 54 + .../axios/lib/helpers/readBlob.js | 15 + .../axios/lib/helpers/resolveConfig.js | 106 + .../axios/lib/helpers/sanitizeHeaderValue.js | 60 + .../axios/lib/helpers/shouldBypassProxy.js | 178 + .../axios/lib/helpers/speedometer.js | 55 + .../node_modules/axios/lib/helpers/spread.js | 28 + .../axios/lib/helpers/throttle.js | 44 + .../axios/lib/helpers/toFormData.js | 249 + .../axios/lib/helpers/toURLEncodedForm.js | 19 + .../axios/lib/helpers/trackStream.js | 89 + .../axios/lib/helpers/validator.js | 112 + .../lib/platform/browser/classes/Blob.js | 3 + .../lib/platform/browser/classes/FormData.js | 3 + .../browser/classes/URLSearchParams.js | 4 + .../axios/lib/platform/browser/index.js | 13 + .../axios/lib/platform/common/utils.js | 52 + .../node_modules/axios/lib/platform/index.js | 7 + .../lib/platform/node/classes/FormData.js | 3 + .../platform/node/classes/URLSearchParams.js | 4 + .../axios/lib/platform/node/index.js | 37 + client/node_modules/axios/lib/utils.js | 932 + client/node_modules/axios/package.json | 185 + .../baseline-browser-mapping/LICENSE.txt | 201 + .../baseline-browser-mapping/README.md | 467 + .../baseline-browser-mapping/dist/cli.cjs | 2 + .../baseline-browser-mapping/dist/index.cjs | 1 + .../baseline-browser-mapping/dist/index.d.ts | 104 + .../baseline-browser-mapping/dist/index.js | 1 + .../baseline-browser-mapping/package.json | 68 + client/node_modules/browserslist/LICENSE | 20 + client/node_modules/browserslist/README.md | 64 + client/node_modules/browserslist/browser.js | 54 + client/node_modules/browserslist/cli.js | 156 + client/node_modules/browserslist/error.d.ts | 7 + client/node_modules/browserslist/error.js | 12 + client/node_modules/browserslist/index.d.ts | 224 + client/node_modules/browserslist/index.js | 1339 + client/node_modules/browserslist/node.js | 502 + client/node_modules/browserslist/package.json | 45 + client/node_modules/browserslist/parse.js | 78 + .../call-bind-apply-helpers/.eslintrc | 17 + .../.github/FUNDING.yml | 12 + .../call-bind-apply-helpers/.nycrc | 9 + .../call-bind-apply-helpers/CHANGELOG.md | 30 + .../call-bind-apply-helpers/LICENSE | 21 + .../call-bind-apply-helpers/README.md | 62 + .../call-bind-apply-helpers/actualApply.d.ts | 1 + .../call-bind-apply-helpers/actualApply.js | 10 + .../call-bind-apply-helpers/applyBind.d.ts | 19 + .../call-bind-apply-helpers/applyBind.js | 10 + .../functionApply.d.ts | 1 + .../call-bind-apply-helpers/functionApply.js | 4 + .../call-bind-apply-helpers/functionCall.d.ts | 1 + .../call-bind-apply-helpers/functionCall.js | 4 + .../call-bind-apply-helpers/index.d.ts | 64 + .../call-bind-apply-helpers/index.js | 15 + .../call-bind-apply-helpers/package.json | 85 + .../call-bind-apply-helpers/reflectApply.d.ts | 3 + .../call-bind-apply-helpers/reflectApply.js | 4 + .../call-bind-apply-helpers/test/index.js | 63 + .../call-bind-apply-helpers/tsconfig.json | 9 + client/node_modules/caniuse-lite/LICENSE | 395 + client/node_modules/caniuse-lite/README.md | 6 + .../node_modules/caniuse-lite/data/agents.js | 1 + .../caniuse-lite/data/browserVersions.js | 1 + .../caniuse-lite/data/browsers.js | 1 + .../caniuse-lite/data/features.js | 1 + .../caniuse-lite/data/features/aac.js | 1 + .../data/features/abortcontroller.js | 1 + .../caniuse-lite/data/features/ac3-ec3.js | 1 + .../data/features/accelerometer.js | 1 + .../data/features/addeventlistener.js | 1 + .../data/features/alternate-stylesheet.js | 1 + .../data/features/ambient-light.js | 1 + .../caniuse-lite/data/features/apng.js | 1 + .../data/features/array-find-index.js | 1 + .../caniuse-lite/data/features/array-find.js | 1 + .../caniuse-lite/data/features/array-flat.js | 1 + .../data/features/array-includes.js | 1 + .../data/features/arrow-functions.js | 1 + .../caniuse-lite/data/features/asmjs.js | 1 + .../data/features/async-clipboard.js | 1 + .../data/features/async-functions.js | 1 + .../caniuse-lite/data/features/atob-btoa.js | 1 + .../caniuse-lite/data/features/audio-api.js | 1 + .../caniuse-lite/data/features/audio.js | 1 + .../caniuse-lite/data/features/audiotracks.js | 1 + .../caniuse-lite/data/features/autofocus.js | 1 + .../caniuse-lite/data/features/auxclick.js | 1 + .../caniuse-lite/data/features/av1.js | 1 + .../caniuse-lite/data/features/avif.js | 1 + .../data/features/background-attachment.js | 1 + .../data/features/background-clip-text.js | 1 + .../data/features/background-img-opts.js | 1 + .../data/features/background-position-x-y.js | 1 + .../features/background-repeat-round-space.js | 1 + .../data/features/background-sync.js | 1 + .../data/features/battery-status.js | 1 + .../caniuse-lite/data/features/beacon.js | 1 + .../data/features/beforeafterprint.js | 1 + .../caniuse-lite/data/features/bigint.js | 1 + .../caniuse-lite/data/features/blobbuilder.js | 1 + .../caniuse-lite/data/features/bloburls.js | 1 + .../data/features/border-image.js | 1 + .../data/features/border-radius.js | 1 + .../data/features/broadcastchannel.js | 1 + .../caniuse-lite/data/features/brotli.js | 1 + .../caniuse-lite/data/features/calc.js | 1 + .../data/features/canvas-blending.js | 1 + .../caniuse-lite/data/features/canvas-text.js | 1 + .../caniuse-lite/data/features/canvas.js | 1 + .../caniuse-lite/data/features/ch-unit.js | 1 + .../data/features/chacha20-poly1305.js | 1 + .../data/features/channel-messaging.js | 1 + .../data/features/childnode-remove.js | 1 + .../caniuse-lite/data/features/classlist.js | 1 + .../client-hints-dpr-width-viewport.js | 1 + .../caniuse-lite/data/features/clipboard.js | 1 + .../caniuse-lite/data/features/colr-v1.js | 1 + .../caniuse-lite/data/features/colr.js | 1 + .../data/features/comparedocumentposition.js | 1 + .../data/features/console-basic.js | 1 + .../data/features/console-time.js | 1 + .../caniuse-lite/data/features/const.js | 1 + .../data/features/constraint-validation.js | 1 + .../data/features/contenteditable.js | 1 + .../data/features/contentsecuritypolicy.js | 1 + .../data/features/contentsecuritypolicy2.js | 1 + .../data/features/cookie-store-api.js | 1 + .../caniuse-lite/data/features/cors.js | 1 + .../data/features/createimagebitmap.js | 1 + .../data/features/credential-management.js | 1 + .../cross-document-view-transitions.js | 1 + .../data/features/cryptography.js | 1 + .../caniuse-lite/data/features/css-all.js | 1 + .../data/features/css-anchor-positioning.js | 1 + .../data/features/css-animation.js | 1 + .../data/features/css-any-link.js | 1 + .../data/features/css-appearance.js | 1 + .../data/features/css-at-counter-style.js | 1 + .../data/features/css-autofill.js | 1 + .../data/features/css-backdrop-filter.js | 1 + .../data/features/css-background-offsets.js | 1 + .../data/features/css-backgroundblendmode.js | 1 + .../data/features/css-boxdecorationbreak.js | 1 + .../data/features/css-boxshadow.js | 1 + .../caniuse-lite/data/features/css-canvas.js | 1 + .../data/features/css-caret-color.js | 1 + .../data/features/css-cascade-layers.js | 1 + .../data/features/css-cascade-scope.js | 1 + .../data/features/css-case-insensitive.js | 1 + .../data/features/css-clip-path.js | 1 + .../data/features/css-color-adjust.js | 1 + .../data/features/css-color-function.js | 1 + .../data/features/css-conic-gradients.js | 1 + .../features/css-container-queries-style.js | 1 + .../data/features/css-container-queries.js | 1 + .../features/css-container-query-units.js | 1 + .../data/features/css-containment.js | 1 + .../data/features/css-content-visibility.js | 1 + .../data/features/css-counters.js | 1 + .../data/features/css-crisp-edges.js | 1 + .../data/features/css-cross-fade.js | 1 + .../data/features/css-default-pseudo.js | 1 + .../data/features/css-descendant-gtgt.js | 1 + .../data/features/css-deviceadaptation.js | 1 + .../data/features/css-dir-pseudo.js | 1 + .../data/features/css-display-contents.js | 1 + .../data/features/css-element-function.js | 1 + .../data/features/css-env-function.js | 1 + .../data/features/css-exclusions.js | 1 + .../data/features/css-featurequeries.js | 1 + .../data/features/css-file-selector-button.js | 1 + .../data/features/css-filter-function.js | 1 + .../caniuse-lite/data/features/css-filters.js | 1 + .../data/features/css-first-letter.js | 1 + .../data/features/css-first-line.js | 1 + .../caniuse-lite/data/features/css-fixed.js | 1 + .../data/features/css-focus-visible.js | 1 + .../data/features/css-focus-within.js | 1 + .../data/features/css-font-palette.js | 1 + .../features/css-font-rendering-controls.js | 1 + .../data/features/css-font-stretch.js | 1 + .../data/features/css-gencontent.js | 1 + .../data/features/css-gradients.js | 1 + .../data/features/css-grid-animation.js | 1 + .../data/features/css-grid-lanes.js | 1 + .../caniuse-lite/data/features/css-grid.js | 1 + .../data/features/css-hanging-punctuation.js | 1 + .../caniuse-lite/data/features/css-has.js | 1 + .../caniuse-lite/data/features/css-hyphens.js | 1 + .../caniuse-lite/data/features/css-if.js | 1 + .../data/features/css-image-orientation.js | 1 + .../data/features/css-image-set.js | 1 + .../data/features/css-in-out-of-range.js | 1 + .../data/features/css-indeterminate-pseudo.js | 1 + .../data/features/css-initial-letter.js | 1 + .../data/features/css-initial-value.js | 1 + .../caniuse-lite/data/features/css-lch-lab.js | 1 + .../data/features/css-letter-spacing.js | 1 + .../data/features/css-line-clamp.js | 1 + .../data/features/css-logical-props.js | 1 + .../data/features/css-marker-pseudo.js | 1 + .../caniuse-lite/data/features/css-masks.js | 1 + .../data/features/css-matches-pseudo.js | 1 + .../data/features/css-math-functions.js | 1 + .../data/features/css-media-interaction.js | 1 + .../data/features/css-media-range-syntax.js | 1 + .../data/features/css-media-resolution.js | 1 + .../data/features/css-media-scripting.js | 1 + .../data/features/css-mediaqueries.js | 1 + .../data/features/css-mixblendmode.js | 1 + .../data/features/css-module-scripts.js | 1 + .../data/features/css-motion-paths.js | 1 + .../data/features/css-namespaces.js | 1 + .../caniuse-lite/data/features/css-nesting.js | 1 + .../data/features/css-not-sel-list.js | 1 + .../data/features/css-nth-child-of.js | 1 + .../caniuse-lite/data/features/css-opacity.js | 1 + .../data/features/css-optional-pseudo.js | 1 + .../data/features/css-overflow-anchor.js | 1 + .../data/features/css-overflow-overlay.js | 1 + .../data/features/css-overflow.js | 1 + .../data/features/css-overscroll-behavior.js | 1 + .../data/features/css-page-break.js | 1 + .../data/features/css-paged-media.js | 1 + .../data/features/css-paint-api.js | 1 + .../data/features/css-placeholder-shown.js | 1 + .../data/features/css-placeholder.js | 1 + .../data/features/css-print-color-adjust.js | 1 + .../data/features/css-read-only-write.js | 1 + .../data/features/css-rebeccapurple.js | 1 + .../data/features/css-reflections.js | 1 + .../caniuse-lite/data/features/css-regions.js | 1 + .../data/features/css-relative-colors.js | 1 + .../data/features/css-repeating-gradients.js | 1 + .../caniuse-lite/data/features/css-resize.js | 1 + .../data/features/css-revert-value.js | 1 + .../data/features/css-rrggbbaa.js | 1 + .../data/features/css-scroll-behavior.js | 1 + .../data/features/css-scrollbar.js | 1 + .../caniuse-lite/data/features/css-sel2.js | 1 + .../caniuse-lite/data/features/css-sel3.js | 1 + .../data/features/css-selection.js | 1 + .../caniuse-lite/data/features/css-shapes.js | 1 + .../data/features/css-snappoints.js | 1 + .../caniuse-lite/data/features/css-sticky.js | 1 + .../caniuse-lite/data/features/css-subgrid.js | 1 + .../data/features/css-supports-api.js | 1 + .../caniuse-lite/data/features/css-table.js | 1 + .../data/features/css-text-align-last.js | 1 + .../data/features/css-text-box-trim.js | 1 + .../data/features/css-text-indent.js | 1 + .../data/features/css-text-justify.js | 1 + .../data/features/css-text-orientation.js | 1 + .../data/features/css-text-spacing.js | 1 + .../data/features/css-text-wrap-balance.js | 1 + .../data/features/css-textshadow.js | 1 + .../data/features/css-touch-action.js | 1 + .../data/features/css-transitions.js | 1 + .../data/features/css-unicode-bidi.js | 1 + .../data/features/css-unset-value.js | 1 + .../data/features/css-variables.js | 1 + .../data/features/css-when-else.js | 1 + .../data/features/css-widows-orphans.js | 1 + .../data/features/css-width-stretch.js | 1 + .../data/features/css-writing-mode.js | 1 + .../caniuse-lite/data/features/css-zoom.js | 1 + .../caniuse-lite/data/features/css3-attr.js | 1 + .../data/features/css3-boxsizing.js | 1 + .../caniuse-lite/data/features/css3-colors.js | 1 + .../data/features/css3-cursors-grab.js | 1 + .../data/features/css3-cursors-newer.js | 1 + .../data/features/css3-cursors.js | 1 + .../data/features/css3-tabsize.js | 1 + .../data/features/currentcolor.js | 1 + .../data/features/custom-elements.js | 1 + .../data/features/custom-elementsv1.js | 1 + .../caniuse-lite/data/features/customevent.js | 1 + .../data/features/customizable-select.js | 1 + .../caniuse-lite/data/features/datalist.js | 1 + .../caniuse-lite/data/features/dataset.js | 1 + .../caniuse-lite/data/features/datauri.js | 1 + .../data/features/date-tolocaledatestring.js | 1 + .../data/features/declarative-shadow-dom.js | 1 + .../caniuse-lite/data/features/decorators.js | 1 + .../caniuse-lite/data/features/details.js | 1 + .../data/features/deviceorientation.js | 1 + .../data/features/devicepixelratio.js | 1 + .../caniuse-lite/data/features/dialog.js | 1 + .../data/features/dispatchevent.js | 1 + .../caniuse-lite/data/features/dnssec.js | 1 + .../data/features/do-not-track.js | 1 + .../data/features/document-currentscript.js | 1 + .../data/features/document-evaluate-xpath.js | 1 + .../data/features/document-execcommand.js | 1 + .../data/features/document-policy.js | 1 + .../features/document-scrollingelement.js | 1 + .../data/features/documenthead.js | 1 + .../data/features/dom-manip-convenience.js | 1 + .../caniuse-lite/data/features/dom-range.js | 1 + .../data/features/domcontentloaded.js | 1 + .../caniuse-lite/data/features/dommatrix.js | 1 + .../caniuse-lite/data/features/download.js | 1 + .../caniuse-lite/data/features/dragndrop.js | 1 + .../data/features/element-closest.js | 1 + .../data/features/element-from-point.js | 1 + .../data/features/element-scroll-methods.js | 1 + .../caniuse-lite/data/features/eme.js | 1 + .../caniuse-lite/data/features/eot.js | 1 + .../caniuse-lite/data/features/es5.js | 1 + .../caniuse-lite/data/features/es6-class.js | 1 + .../data/features/es6-generators.js | 1 + .../features/es6-module-dynamic-import.js | 1 + .../caniuse-lite/data/features/es6-module.js | 1 + .../caniuse-lite/data/features/es6-number.js | 1 + .../data/features/es6-string-includes.js | 1 + .../caniuse-lite/data/features/es6.js | 1 + .../caniuse-lite/data/features/eventsource.js | 1 + .../data/features/extended-system-fonts.js | 1 + .../data/features/feature-policy.js | 1 + .../caniuse-lite/data/features/fetch.js | 1 + .../data/features/fieldset-disabled.js | 1 + .../caniuse-lite/data/features/fileapi.js | 1 + .../caniuse-lite/data/features/filereader.js | 1 + .../data/features/filereadersync.js | 1 + .../caniuse-lite/data/features/filesystem.js | 1 + .../caniuse-lite/data/features/flac.js | 1 + .../caniuse-lite/data/features/flexbox-gap.js | 1 + .../caniuse-lite/data/features/flexbox.js | 1 + .../caniuse-lite/data/features/flow-root.js | 1 + .../data/features/focusin-focusout-events.js | 1 + .../data/features/font-family-system-ui.js | 1 + .../data/features/font-feature.js | 1 + .../data/features/font-kerning.js | 1 + .../data/features/font-loading.js | 1 + .../data/features/font-size-adjust.js | 1 + .../caniuse-lite/data/features/font-smooth.js | 1 + .../data/features/font-unicode-range.js | 1 + .../data/features/font-variant-alternates.js | 1 + .../data/features/font-variant-numeric.js | 1 + .../caniuse-lite/data/features/fontface.js | 1 + .../data/features/form-attribute.js | 1 + .../data/features/form-submit-attributes.js | 1 + .../data/features/form-validation.js | 1 + .../caniuse-lite/data/features/forms.js | 1 + .../caniuse-lite/data/features/fullscreen.js | 1 + .../caniuse-lite/data/features/gamepad.js | 1 + .../caniuse-lite/data/features/geolocation.js | 1 + .../data/features/getboundingclientrect.js | 1 + .../data/features/getcomputedstyle.js | 1 + .../data/features/getelementsbyclassname.js | 1 + .../data/features/getrandomvalues.js | 1 + .../caniuse-lite/data/features/gyroscope.js | 1 + .../data/features/hardwareconcurrency.js | 1 + .../caniuse-lite/data/features/hashchange.js | 1 + .../caniuse-lite/data/features/heif.js | 1 + .../caniuse-lite/data/features/hevc.js | 1 + .../caniuse-lite/data/features/hidden.js | 1 + .../data/features/high-resolution-time.js | 1 + .../caniuse-lite/data/features/history.js | 1 + .../data/features/html-media-capture.js | 1 + .../data/features/html5semantic.js | 1 + .../data/features/http-live-streaming.js | 1 + .../caniuse-lite/data/features/http2.js | 1 + .../caniuse-lite/data/features/http3.js | 1 + .../data/features/iframe-sandbox.js | 1 + .../data/features/iframe-seamless.js | 1 + .../data/features/iframe-srcdoc.js | 1 + .../data/features/imagecapture.js | 1 + .../caniuse-lite/data/features/ime.js | 1 + .../img-naturalwidth-naturalheight.js | 1 + .../caniuse-lite/data/features/import-maps.js | 1 + .../caniuse-lite/data/features/imports.js | 1 + .../data/features/indeterminate-checkbox.js | 1 + .../caniuse-lite/data/features/indexeddb.js | 1 + .../caniuse-lite/data/features/indexeddb2.js | 1 + .../data/features/inline-block.js | 1 + .../caniuse-lite/data/features/innertext.js | 1 + .../data/features/input-autocomplete-onoff.js | 1 + .../caniuse-lite/data/features/input-color.js | 1 + .../data/features/input-datetime.js | 1 + .../data/features/input-email-tel-url.js | 1 + .../caniuse-lite/data/features/input-event.js | 1 + .../data/features/input-file-accept.js | 1 + .../data/features/input-file-directory.js | 1 + .../data/features/input-file-multiple.js | 1 + .../data/features/input-inputmode.js | 1 + .../data/features/input-minlength.js | 1 + .../data/features/input-number.js | 1 + .../data/features/input-pattern.js | 1 + .../data/features/input-placeholder.js | 1 + .../caniuse-lite/data/features/input-range.js | 1 + .../data/features/input-search.js | 1 + .../data/features/input-selection.js | 1 + .../data/features/insert-adjacent.js | 1 + .../data/features/insertadjacenthtml.js | 1 + .../data/features/internationalization.js | 1 + .../data/features/intersectionobserver-v2.js | 1 + .../data/features/intersectionobserver.js | 1 + .../data/features/intl-pluralrules.js | 1 + .../data/features/intrinsic-width.js | 1 + .../caniuse-lite/data/features/jpeg2000.js | 1 + .../caniuse-lite/data/features/jpegxl.js | 1 + .../caniuse-lite/data/features/jpegxr.js | 1 + .../data/features/js-regexp-lookbehind.js | 1 + .../caniuse-lite/data/features/json.js | 1 + .../features/justify-content-space-evenly.js | 1 + .../data/features/kerning-pairs-ligatures.js | 1 + .../data/features/keyboardevent-charcode.js | 1 + .../data/features/keyboardevent-code.js | 1 + .../keyboardevent-getmodifierstate.js | 1 + .../data/features/keyboardevent-key.js | 1 + .../data/features/keyboardevent-location.js | 1 + .../data/features/keyboardevent-which.js | 1 + .../caniuse-lite/data/features/lazyload.js | 1 + .../caniuse-lite/data/features/let.js | 1 + .../data/features/link-icon-png.js | 1 + .../data/features/link-icon-svg.js | 1 + .../data/features/link-rel-dns-prefetch.js | 1 + .../data/features/link-rel-modulepreload.js | 1 + .../data/features/link-rel-preconnect.js | 1 + .../data/features/link-rel-prefetch.js | 1 + .../data/features/link-rel-preload.js | 1 + .../data/features/link-rel-prerender.js | 1 + .../data/features/loading-lazy-attr.js | 1 + .../data/features/loading-lazy-media.js | 1 + .../data/features/localecompare.js | 1 + .../data/features/magnetometer.js | 1 + .../data/features/matchesselector.js | 1 + .../caniuse-lite/data/features/matchmedia.js | 1 + .../caniuse-lite/data/features/mathml.js | 1 + .../caniuse-lite/data/features/maxlength.js | 1 + .../mdn-css-backdrop-pseudo-element.js | 1 + .../mdn-css-unicode-bidi-isolate-override.js | 1 + .../features/mdn-css-unicode-bidi-isolate.js | 1 + .../mdn-css-unicode-bidi-plaintext.js | 1 + .../features/mdn-text-decoration-color.js | 1 + .../data/features/mdn-text-decoration-line.js | 1 + .../features/mdn-text-decoration-shorthand.js | 1 + .../features/mdn-text-decoration-style.js | 1 + .../data/features/media-fragments.js | 1 + .../data/features/mediacapture-fromelement.js | 1 + .../data/features/mediarecorder.js | 1 + .../caniuse-lite/data/features/mediasource.js | 1 + .../caniuse-lite/data/features/menu.js | 1 + .../data/features/meta-theme-color.js | 1 + .../caniuse-lite/data/features/meter.js | 1 + .../caniuse-lite/data/features/midi.js | 1 + .../caniuse-lite/data/features/minmaxwh.js | 1 + .../caniuse-lite/data/features/mp3.js | 1 + .../caniuse-lite/data/features/mpeg-dash.js | 1 + .../caniuse-lite/data/features/mpeg4.js | 1 + .../data/features/multibackgrounds.js | 1 + .../caniuse-lite/data/features/multicolumn.js | 1 + .../data/features/mutation-events.js | 1 + .../data/features/mutationobserver.js | 1 + .../data/features/namevalue-storage.js | 1 + .../data/features/native-filesystem-api.js | 1 + .../caniuse-lite/data/features/nav-timing.js | 1 + .../caniuse-lite/data/features/netinfo.js | 1 + .../data/features/notifications.js | 1 + .../data/features/object-entries.js | 1 + .../caniuse-lite/data/features/object-fit.js | 1 + .../data/features/object-observe.js | 1 + .../data/features/object-values.js | 1 + .../caniuse-lite/data/features/objectrtc.js | 1 + .../data/features/offline-apps.js | 1 + .../data/features/offscreencanvas.js | 1 + .../caniuse-lite/data/features/ogg-vorbis.js | 1 + .../caniuse-lite/data/features/ogv.js | 1 + .../caniuse-lite/data/features/ol-reversed.js | 1 + .../data/features/once-event-listener.js | 1 + .../data/features/online-status.js | 1 + .../caniuse-lite/data/features/opus.js | 1 + .../data/features/orientation-sensor.js | 1 + .../caniuse-lite/data/features/outline.js | 1 + .../data/features/pad-start-end.js | 1 + .../data/features/page-transition-events.js | 1 + .../data/features/pagevisibility.js | 1 + .../data/features/passive-event-listener.js | 1 + .../caniuse-lite/data/features/passkeys.js | 1 + .../data/features/passwordrules.js | 1 + .../caniuse-lite/data/features/path2d.js | 1 + .../data/features/payment-request.js | 1 + .../caniuse-lite/data/features/pdf-viewer.js | 1 + .../data/features/permissions-api.js | 1 + .../data/features/permissions-policy.js | 1 + .../data/features/picture-in-picture.js | 1 + .../caniuse-lite/data/features/picture.js | 1 + .../caniuse-lite/data/features/ping.js | 1 + .../caniuse-lite/data/features/png-alpha.js | 1 + .../data/features/pointer-events.js | 1 + .../caniuse-lite/data/features/pointer.js | 1 + .../caniuse-lite/data/features/pointerlock.js | 1 + .../caniuse-lite/data/features/portals.js | 1 + .../data/features/prefers-color-scheme.js | 1 + .../data/features/prefers-reduced-motion.js | 1 + .../caniuse-lite/data/features/progress.js | 1 + .../data/features/promise-finally.js | 1 + .../caniuse-lite/data/features/promises.js | 1 + .../caniuse-lite/data/features/proximity.js | 1 + .../caniuse-lite/data/features/proxy.js | 1 + .../data/features/publickeypinning.js | 1 + .../caniuse-lite/data/features/push-api.js | 1 + .../data/features/queryselector.js | 1 + .../data/features/readonly-attr.js | 1 + .../data/features/referrer-policy.js | 1 + .../data/features/registerprotocolhandler.js | 1 + .../data/features/rel-noopener.js | 1 + .../data/features/rel-noreferrer.js | 1 + .../caniuse-lite/data/features/rellist.js | 1 + .../caniuse-lite/data/features/rem.js | 1 + .../data/features/requestanimationframe.js | 1 + .../data/features/requestidlecallback.js | 1 + .../data/features/resizeobserver.js | 1 + .../data/features/resource-timing.js | 1 + .../data/features/rest-parameters.js | 1 + .../data/features/rtcpeerconnection.js | 1 + .../caniuse-lite/data/features/ruby.js | 1 + .../caniuse-lite/data/features/run-in.js | 1 + .../features/same-site-cookie-attribute.js | 1 + .../data/features/screen-orientation.js | 1 + .../data/features/script-async.js | 1 + .../data/features/script-defer.js | 1 + .../data/features/scrollintoview.js | 1 + .../data/features/scrollintoviewifneeded.js | 1 + .../caniuse-lite/data/features/sdch.js | 1 + .../data/features/selection-api.js | 1 + .../data/features/server-timing.js | 1 + .../data/features/serviceworkers.js | 1 + .../data/features/setimmediate.js | 1 + .../caniuse-lite/data/features/shadowdom.js | 1 + .../caniuse-lite/data/features/shadowdomv1.js | 1 + .../data/features/sharedarraybuffer.js | 1 + .../data/features/sharedworkers.js | 1 + .../caniuse-lite/data/features/sni.js | 1 + .../caniuse-lite/data/features/spdy.js | 1 + .../data/features/speech-recognition.js | 1 + .../data/features/speech-synthesis.js | 1 + .../data/features/spellcheck-attribute.js | 1 + .../caniuse-lite/data/features/sql-storage.js | 1 + .../caniuse-lite/data/features/srcset.js | 1 + .../caniuse-lite/data/features/stream.js | 1 + .../caniuse-lite/data/features/streams.js | 1 + .../data/features/stricttransportsecurity.js | 1 + .../data/features/style-scoped.js | 1 + .../data/features/subresource-bundling.js | 1 + .../data/features/subresource-integrity.js | 1 + .../caniuse-lite/data/features/svg-css.js | 1 + .../caniuse-lite/data/features/svg-filters.js | 1 + .../caniuse-lite/data/features/svg-fonts.js | 1 + .../data/features/svg-fragment.js | 1 + .../caniuse-lite/data/features/svg-html.js | 1 + .../caniuse-lite/data/features/svg-html5.js | 1 + .../caniuse-lite/data/features/svg-img.js | 1 + .../caniuse-lite/data/features/svg-smil.js | 1 + .../caniuse-lite/data/features/svg.js | 1 + .../caniuse-lite/data/features/sxg.js | 1 + .../data/features/tabindex-attr.js | 1 + .../data/features/template-literals.js | 1 + .../caniuse-lite/data/features/template.js | 1 + .../caniuse-lite/data/features/temporal.js | 1 + .../caniuse-lite/data/features/testfeat.js | 1 + .../data/features/text-decoration.js | 1 + .../data/features/text-emphasis.js | 1 + .../data/features/text-overflow.js | 1 + .../data/features/text-size-adjust.js | 1 + .../caniuse-lite/data/features/text-stroke.js | 1 + .../caniuse-lite/data/features/textcontent.js | 1 + .../caniuse-lite/data/features/textencoder.js | 1 + .../caniuse-lite/data/features/tls1-1.js | 1 + .../caniuse-lite/data/features/tls1-2.js | 1 + .../caniuse-lite/data/features/tls1-3.js | 1 + .../caniuse-lite/data/features/touch.js | 1 + .../data/features/transforms2d.js | 1 + .../data/features/transforms3d.js | 1 + .../data/features/trusted-types.js | 1 + .../caniuse-lite/data/features/ttf.js | 1 + .../caniuse-lite/data/features/typedarrays.js | 1 + .../caniuse-lite/data/features/u2f.js | 1 + .../data/features/unhandledrejection.js | 1 + .../data/features/upgradeinsecurerequests.js | 1 + .../features/url-scroll-to-text-fragment.js | 1 + .../caniuse-lite/data/features/url.js | 1 + .../data/features/urlsearchparams.js | 1 + .../caniuse-lite/data/features/use-strict.js | 1 + .../data/features/user-select-none.js | 1 + .../caniuse-lite/data/features/user-timing.js | 1 + .../data/features/variable-fonts.js | 1 + .../data/features/vector-effect.js | 1 + .../caniuse-lite/data/features/vibration.js | 1 + .../caniuse-lite/data/features/video.js | 1 + .../caniuse-lite/data/features/videotracks.js | 1 + .../data/features/view-transitions.js | 1 + .../data/features/viewport-unit-variants.js | 1 + .../data/features/viewport-units.js | 1 + .../caniuse-lite/data/features/wai-aria.js | 1 + .../caniuse-lite/data/features/wake-lock.js | 1 + .../caniuse-lite/data/features/wasm-bigint.js | 1 + .../data/features/wasm-bulk-memory.js | 1 + .../data/features/wasm-extended-const.js | 1 + .../caniuse-lite/data/features/wasm-gc.js | 1 + .../data/features/wasm-multi-memory.js | 1 + .../data/features/wasm-multi-value.js | 1 + .../data/features/wasm-mutable-globals.js | 1 + .../data/features/wasm-nontrapping-fptoint.js | 1 + .../data/features/wasm-reference-types.js | 1 + .../data/features/wasm-relaxed-simd.js | 1 + .../data/features/wasm-signext.js | 1 + .../caniuse-lite/data/features/wasm-simd.js | 1 + .../data/features/wasm-tail-calls.js | 1 + .../data/features/wasm-threads.js | 1 + .../caniuse-lite/data/features/wasm.js | 1 + .../caniuse-lite/data/features/wav.js | 1 + .../caniuse-lite/data/features/wbr-element.js | 1 + .../data/features/web-animation.js | 1 + .../data/features/web-app-manifest.js | 1 + .../data/features/web-bluetooth.js | 1 + .../caniuse-lite/data/features/web-serial.js | 1 + .../caniuse-lite/data/features/web-share.js | 1 + .../caniuse-lite/data/features/webauthn.js | 1 + .../caniuse-lite/data/features/webcodecs.js | 1 + .../caniuse-lite/data/features/webgl.js | 1 + .../caniuse-lite/data/features/webgl2.js | 1 + .../caniuse-lite/data/features/webgpu.js | 1 + .../caniuse-lite/data/features/webhid.js | 1 + .../data/features/webkit-user-drag.js | 1 + .../caniuse-lite/data/features/webm.js | 1 + .../caniuse-lite/data/features/webnfc.js | 1 + .../caniuse-lite/data/features/webp.js | 1 + .../caniuse-lite/data/features/websockets.js | 1 + .../data/features/webtransport.js | 1 + .../caniuse-lite/data/features/webusb.js | 1 + .../caniuse-lite/data/features/webvr.js | 1 + .../caniuse-lite/data/features/webvtt.js | 1 + .../caniuse-lite/data/features/webworkers.js | 1 + .../caniuse-lite/data/features/webxr.js | 1 + .../caniuse-lite/data/features/will-change.js | 1 + .../caniuse-lite/data/features/woff.js | 1 + .../caniuse-lite/data/features/woff2.js | 1 + .../caniuse-lite/data/features/word-break.js | 1 + .../caniuse-lite/data/features/wordwrap.js | 1 + .../data/features/x-doc-messaging.js | 1 + .../data/features/x-frame-options.js | 1 + .../caniuse-lite/data/features/xhr2.js | 1 + .../caniuse-lite/data/features/xhtml.js | 1 + .../caniuse-lite/data/features/xhtmlsmil.js | 1 + .../data/features/xml-serializer.js | 1 + .../caniuse-lite/data/features/zstd.js | 1 + .../caniuse-lite/data/regions/AD.js | 1 + .../caniuse-lite/data/regions/AE.js | 1 + .../caniuse-lite/data/regions/AF.js | 1 + .../caniuse-lite/data/regions/AG.js | 1 + .../caniuse-lite/data/regions/AI.js | 1 + .../caniuse-lite/data/regions/AL.js | 1 + .../caniuse-lite/data/regions/AM.js | 1 + .../caniuse-lite/data/regions/AO.js | 1 + .../caniuse-lite/data/regions/AR.js | 1 + .../caniuse-lite/data/regions/AS.js | 1 + .../caniuse-lite/data/regions/AT.js | 1 + .../caniuse-lite/data/regions/AU.js | 1 + .../caniuse-lite/data/regions/AW.js | 1 + .../caniuse-lite/data/regions/AX.js | 1 + .../caniuse-lite/data/regions/AZ.js | 1 + .../caniuse-lite/data/regions/BA.js | 1 + .../caniuse-lite/data/regions/BB.js | 1 + .../caniuse-lite/data/regions/BD.js | 1 + .../caniuse-lite/data/regions/BE.js | 1 + .../caniuse-lite/data/regions/BF.js | 1 + .../caniuse-lite/data/regions/BG.js | 1 + .../caniuse-lite/data/regions/BH.js | 1 + .../caniuse-lite/data/regions/BI.js | 1 + .../caniuse-lite/data/regions/BJ.js | 1 + .../caniuse-lite/data/regions/BM.js | 1 + .../caniuse-lite/data/regions/BN.js | 1 + .../caniuse-lite/data/regions/BO.js | 1 + .../caniuse-lite/data/regions/BR.js | 1 + .../caniuse-lite/data/regions/BS.js | 1 + .../caniuse-lite/data/regions/BT.js | 1 + .../caniuse-lite/data/regions/BW.js | 1 + .../caniuse-lite/data/regions/BY.js | 1 + .../caniuse-lite/data/regions/BZ.js | 1 + .../caniuse-lite/data/regions/CA.js | 1 + .../caniuse-lite/data/regions/CD.js | 1 + .../caniuse-lite/data/regions/CF.js | 1 + .../caniuse-lite/data/regions/CG.js | 1 + .../caniuse-lite/data/regions/CH.js | 1 + .../caniuse-lite/data/regions/CI.js | 1 + .../caniuse-lite/data/regions/CK.js | 1 + .../caniuse-lite/data/regions/CL.js | 1 + .../caniuse-lite/data/regions/CM.js | 1 + .../caniuse-lite/data/regions/CN.js | 1 + .../caniuse-lite/data/regions/CO.js | 1 + .../caniuse-lite/data/regions/CR.js | 1 + .../caniuse-lite/data/regions/CU.js | 1 + .../caniuse-lite/data/regions/CV.js | 1 + .../caniuse-lite/data/regions/CX.js | 1 + .../caniuse-lite/data/regions/CY.js | 1 + .../caniuse-lite/data/regions/CZ.js | 1 + .../caniuse-lite/data/regions/DE.js | 1 + .../caniuse-lite/data/regions/DJ.js | 1 + .../caniuse-lite/data/regions/DK.js | 1 + .../caniuse-lite/data/regions/DM.js | 1 + .../caniuse-lite/data/regions/DO.js | 1 + .../caniuse-lite/data/regions/DZ.js | 1 + .../caniuse-lite/data/regions/EC.js | 1 + .../caniuse-lite/data/regions/EE.js | 1 + .../caniuse-lite/data/regions/EG.js | 1 + .../caniuse-lite/data/regions/ER.js | 1 + .../caniuse-lite/data/regions/ES.js | 1 + .../caniuse-lite/data/regions/ET.js | 1 + .../caniuse-lite/data/regions/FI.js | 1 + .../caniuse-lite/data/regions/FJ.js | 1 + .../caniuse-lite/data/regions/FK.js | 1 + .../caniuse-lite/data/regions/FM.js | 1 + .../caniuse-lite/data/regions/FO.js | 1 + .../caniuse-lite/data/regions/FR.js | 1 + .../caniuse-lite/data/regions/GA.js | 1 + .../caniuse-lite/data/regions/GB.js | 1 + .../caniuse-lite/data/regions/GD.js | 1 + .../caniuse-lite/data/regions/GE.js | 1 + .../caniuse-lite/data/regions/GF.js | 1 + .../caniuse-lite/data/regions/GG.js | 1 + .../caniuse-lite/data/regions/GH.js | 1 + .../caniuse-lite/data/regions/GI.js | 1 + .../caniuse-lite/data/regions/GL.js | 1 + .../caniuse-lite/data/regions/GM.js | 1 + .../caniuse-lite/data/regions/GN.js | 1 + .../caniuse-lite/data/regions/GP.js | 1 + .../caniuse-lite/data/regions/GQ.js | 1 + .../caniuse-lite/data/regions/GR.js | 1 + .../caniuse-lite/data/regions/GT.js | 1 + .../caniuse-lite/data/regions/GU.js | 1 + .../caniuse-lite/data/regions/GW.js | 1 + .../caniuse-lite/data/regions/GY.js | 1 + .../caniuse-lite/data/regions/HK.js | 1 + .../caniuse-lite/data/regions/HN.js | 1 + .../caniuse-lite/data/regions/HR.js | 1 + .../caniuse-lite/data/regions/HT.js | 1 + .../caniuse-lite/data/regions/HU.js | 1 + .../caniuse-lite/data/regions/ID.js | 1 + .../caniuse-lite/data/regions/IE.js | 1 + .../caniuse-lite/data/regions/IL.js | 1 + .../caniuse-lite/data/regions/IM.js | 1 + .../caniuse-lite/data/regions/IN.js | 1 + .../caniuse-lite/data/regions/IQ.js | 1 + .../caniuse-lite/data/regions/IR.js | 1 + .../caniuse-lite/data/regions/IS.js | 1 + .../caniuse-lite/data/regions/IT.js | 1 + .../caniuse-lite/data/regions/JE.js | 1 + .../caniuse-lite/data/regions/JM.js | 1 + .../caniuse-lite/data/regions/JO.js | 1 + .../caniuse-lite/data/regions/JP.js | 1 + .../caniuse-lite/data/regions/KE.js | 1 + .../caniuse-lite/data/regions/KG.js | 1 + .../caniuse-lite/data/regions/KH.js | 1 + .../caniuse-lite/data/regions/KI.js | 1 + .../caniuse-lite/data/regions/KM.js | 1 + .../caniuse-lite/data/regions/KN.js | 1 + .../caniuse-lite/data/regions/KP.js | 1 + .../caniuse-lite/data/regions/KR.js | 1 + .../caniuse-lite/data/regions/KW.js | 1 + .../caniuse-lite/data/regions/KY.js | 1 + .../caniuse-lite/data/regions/KZ.js | 1 + .../caniuse-lite/data/regions/LA.js | 1 + .../caniuse-lite/data/regions/LB.js | 1 + .../caniuse-lite/data/regions/LC.js | 1 + .../caniuse-lite/data/regions/LI.js | 1 + .../caniuse-lite/data/regions/LK.js | 1 + .../caniuse-lite/data/regions/LR.js | 1 + .../caniuse-lite/data/regions/LS.js | 1 + .../caniuse-lite/data/regions/LT.js | 1 + .../caniuse-lite/data/regions/LU.js | 1 + .../caniuse-lite/data/regions/LV.js | 1 + .../caniuse-lite/data/regions/LY.js | 1 + .../caniuse-lite/data/regions/MA.js | 1 + .../caniuse-lite/data/regions/MC.js | 1 + .../caniuse-lite/data/regions/MD.js | 1 + .../caniuse-lite/data/regions/ME.js | 1 + .../caniuse-lite/data/regions/MG.js | 1 + .../caniuse-lite/data/regions/MH.js | 1 + .../caniuse-lite/data/regions/MK.js | 1 + .../caniuse-lite/data/regions/ML.js | 1 + .../caniuse-lite/data/regions/MM.js | 1 + .../caniuse-lite/data/regions/MN.js | 1 + .../caniuse-lite/data/regions/MO.js | 1 + .../caniuse-lite/data/regions/MP.js | 1 + .../caniuse-lite/data/regions/MQ.js | 1 + .../caniuse-lite/data/regions/MR.js | 1 + .../caniuse-lite/data/regions/MS.js | 1 + .../caniuse-lite/data/regions/MT.js | 1 + .../caniuse-lite/data/regions/MU.js | 1 + .../caniuse-lite/data/regions/MV.js | 1 + .../caniuse-lite/data/regions/MW.js | 1 + .../caniuse-lite/data/regions/MX.js | 1 + .../caniuse-lite/data/regions/MY.js | 1 + .../caniuse-lite/data/regions/MZ.js | 1 + .../caniuse-lite/data/regions/NA.js | 1 + .../caniuse-lite/data/regions/NC.js | 1 + .../caniuse-lite/data/regions/NE.js | 1 + .../caniuse-lite/data/regions/NF.js | 1 + .../caniuse-lite/data/regions/NG.js | 1 + .../caniuse-lite/data/regions/NI.js | 1 + .../caniuse-lite/data/regions/NL.js | 1 + .../caniuse-lite/data/regions/NO.js | 1 + .../caniuse-lite/data/regions/NP.js | 1 + .../caniuse-lite/data/regions/NR.js | 1 + .../caniuse-lite/data/regions/NU.js | 1 + .../caniuse-lite/data/regions/NZ.js | 1 + .../caniuse-lite/data/regions/OM.js | 1 + .../caniuse-lite/data/regions/PA.js | 1 + .../caniuse-lite/data/regions/PE.js | 1 + .../caniuse-lite/data/regions/PF.js | 1 + .../caniuse-lite/data/regions/PG.js | 1 + .../caniuse-lite/data/regions/PH.js | 1 + .../caniuse-lite/data/regions/PK.js | 1 + .../caniuse-lite/data/regions/PL.js | 1 + .../caniuse-lite/data/regions/PM.js | 1 + .../caniuse-lite/data/regions/PN.js | 1 + .../caniuse-lite/data/regions/PR.js | 1 + .../caniuse-lite/data/regions/PS.js | 1 + .../caniuse-lite/data/regions/PT.js | 1 + .../caniuse-lite/data/regions/PW.js | 1 + .../caniuse-lite/data/regions/PY.js | 1 + .../caniuse-lite/data/regions/QA.js | 1 + .../caniuse-lite/data/regions/RE.js | 1 + .../caniuse-lite/data/regions/RO.js | 1 + .../caniuse-lite/data/regions/RS.js | 1 + .../caniuse-lite/data/regions/RU.js | 1 + .../caniuse-lite/data/regions/RW.js | 1 + .../caniuse-lite/data/regions/SA.js | 1 + .../caniuse-lite/data/regions/SB.js | 1 + .../caniuse-lite/data/regions/SC.js | 1 + .../caniuse-lite/data/regions/SD.js | 1 + .../caniuse-lite/data/regions/SE.js | 1 + .../caniuse-lite/data/regions/SG.js | 1 + .../caniuse-lite/data/regions/SH.js | 1 + .../caniuse-lite/data/regions/SI.js | 1 + .../caniuse-lite/data/regions/SK.js | 1 + .../caniuse-lite/data/regions/SL.js | 1 + .../caniuse-lite/data/regions/SM.js | 1 + .../caniuse-lite/data/regions/SN.js | 1 + .../caniuse-lite/data/regions/SO.js | 1 + .../caniuse-lite/data/regions/SR.js | 1 + .../caniuse-lite/data/regions/ST.js | 1 + .../caniuse-lite/data/regions/SV.js | 1 + .../caniuse-lite/data/regions/SY.js | 1 + .../caniuse-lite/data/regions/SZ.js | 1 + .../caniuse-lite/data/regions/TC.js | 1 + .../caniuse-lite/data/regions/TD.js | 1 + .../caniuse-lite/data/regions/TG.js | 1 + .../caniuse-lite/data/regions/TH.js | 1 + .../caniuse-lite/data/regions/TJ.js | 1 + .../caniuse-lite/data/regions/TL.js | 1 + .../caniuse-lite/data/regions/TM.js | 1 + .../caniuse-lite/data/regions/TN.js | 1 + .../caniuse-lite/data/regions/TO.js | 1 + .../caniuse-lite/data/regions/TR.js | 1 + .../caniuse-lite/data/regions/TT.js | 1 + .../caniuse-lite/data/regions/TV.js | 1 + .../caniuse-lite/data/regions/TW.js | 1 + .../caniuse-lite/data/regions/TZ.js | 1 + .../caniuse-lite/data/regions/UA.js | 1 + .../caniuse-lite/data/regions/UG.js | 1 + .../caniuse-lite/data/regions/US.js | 1 + .../caniuse-lite/data/regions/UY.js | 1 + .../caniuse-lite/data/regions/UZ.js | 1 + .../caniuse-lite/data/regions/VA.js | 1 + .../caniuse-lite/data/regions/VC.js | 1 + .../caniuse-lite/data/regions/VE.js | 1 + .../caniuse-lite/data/regions/VG.js | 1 + .../caniuse-lite/data/regions/VI.js | 1 + .../caniuse-lite/data/regions/VN.js | 1 + .../caniuse-lite/data/regions/VU.js | 1 + .../caniuse-lite/data/regions/WF.js | 1 + .../caniuse-lite/data/regions/WS.js | 1 + .../caniuse-lite/data/regions/YE.js | 1 + .../caniuse-lite/data/regions/YT.js | 1 + .../caniuse-lite/data/regions/ZA.js | 1 + .../caniuse-lite/data/regions/ZM.js | 1 + .../caniuse-lite/data/regions/ZW.js | 1 + .../caniuse-lite/data/regions/alt-af.js | 1 + .../caniuse-lite/data/regions/alt-an.js | 1 + .../caniuse-lite/data/regions/alt-as.js | 1 + .../caniuse-lite/data/regions/alt-eu.js | 1 + .../caniuse-lite/data/regions/alt-na.js | 1 + .../caniuse-lite/data/regions/alt-oc.js | 1 + .../caniuse-lite/data/regions/alt-sa.js | 1 + .../caniuse-lite/data/regions/alt-ww.js | 1 + .../caniuse-lite/dist/lib/statuses.js | 9 + .../caniuse-lite/dist/lib/supported.js | 9 + .../caniuse-lite/dist/unpacker/agents.js | 47 + .../dist/unpacker/browserVersions.js | 1 + .../caniuse-lite/dist/unpacker/browsers.js | 1 + .../caniuse-lite/dist/unpacker/feature.js | 52 + .../caniuse-lite/dist/unpacker/features.js | 6 + .../caniuse-lite/dist/unpacker/index.js | 4 + .../caniuse-lite/dist/unpacker/region.js | 22 + client/node_modules/caniuse-lite/package.json | 34 + client/node_modules/combined-stream/License | 19 + client/node_modules/combined-stream/Readme.md | 138 + .../combined-stream/lib/combined_stream.js | 208 + .../node_modules/combined-stream/package.json | 25 + client/node_modules/combined-stream/yarn.lock | 17 + .../node_modules/convert-source-map/LICENSE | 23 + .../node_modules/convert-source-map/README.md | 206 + .../node_modules/convert-source-map/index.js | 233 + .../convert-source-map/package.json | 38 + client/node_modules/debug/LICENSE | 20 + client/node_modules/debug/README.md | 481 + client/node_modules/debug/package.json | 64 + client/node_modules/debug/src/browser.js | 272 + client/node_modules/debug/src/common.js | 292 + client/node_modules/debug/src/index.js | 10 + client/node_modules/debug/src/node.js | 263 + client/node_modules/delayed-stream/.npmignore | 1 + client/node_modules/delayed-stream/License | 19 + client/node_modules/delayed-stream/Makefile | 7 + client/node_modules/delayed-stream/Readme.md | 141 + .../delayed-stream/lib/delayed_stream.js | 107 + .../node_modules/delayed-stream/package.json | 27 + client/node_modules/dunder-proto/.eslintrc | 5 + .../dunder-proto/.github/FUNDING.yml | 12 + client/node_modules/dunder-proto/.nycrc | 13 + client/node_modules/dunder-proto/CHANGELOG.md | 24 + client/node_modules/dunder-proto/LICENSE | 21 + client/node_modules/dunder-proto/README.md | 54 + client/node_modules/dunder-proto/get.d.ts | 5 + client/node_modules/dunder-proto/get.js | 30 + client/node_modules/dunder-proto/package.json | 76 + client/node_modules/dunder-proto/set.d.ts | 5 + client/node_modules/dunder-proto/set.js | 35 + client/node_modules/dunder-proto/test/get.js | 34 + .../node_modules/dunder-proto/test/index.js | 4 + client/node_modules/dunder-proto/test/set.js | 50 + .../node_modules/dunder-proto/tsconfig.json | 9 + .../node_modules/electron-to-chromium/LICENSE | 5 + .../electron-to-chromium/README.md | 186 + .../electron-to-chromium/chromium-versions.js | 89 + .../chromium-versions.json | 1 + .../full-chromium-versions.js | 2823 + .../full-chromium-versions.json | 1 + .../electron-to-chromium/full-versions.js | 1795 + .../electron-to-chromium/full-versions.json | 1 + .../electron-to-chromium/index.js | 36 + .../electron-to-chromium/package.json | 43 + .../electron-to-chromium/versions.js | 254 + .../electron-to-chromium/versions.json | 1 + .../node_modules/es-define-property/.eslintrc | 13 + .../es-define-property/.github/FUNDING.yml | 12 + client/node_modules/es-define-property/.nycrc | 9 + .../es-define-property/CHANGELOG.md | 29 + .../node_modules/es-define-property/LICENSE | 21 + .../node_modules/es-define-property/README.md | 49 + .../es-define-property/index.d.ts | 3 + .../node_modules/es-define-property/index.js | 14 + .../es-define-property/package.json | 81 + .../es-define-property/test/index.js | 56 + .../es-define-property/tsconfig.json | 10 + client/node_modules/es-errors/.eslintrc | 5 + .../es-errors/.github/FUNDING.yml | 12 + client/node_modules/es-errors/CHANGELOG.md | 40 + client/node_modules/es-errors/LICENSE | 21 + client/node_modules/es-errors/README.md | 55 + client/node_modules/es-errors/eval.d.ts | 3 + client/node_modules/es-errors/eval.js | 4 + client/node_modules/es-errors/index.d.ts | 3 + client/node_modules/es-errors/index.js | 4 + client/node_modules/es-errors/package.json | 80 + client/node_modules/es-errors/range.d.ts | 3 + client/node_modules/es-errors/range.js | 4 + client/node_modules/es-errors/ref.d.ts | 3 + client/node_modules/es-errors/ref.js | 4 + client/node_modules/es-errors/syntax.d.ts | 3 + client/node_modules/es-errors/syntax.js | 4 + client/node_modules/es-errors/test/index.js | 19 + client/node_modules/es-errors/tsconfig.json | 49 + client/node_modules/es-errors/type.d.ts | 3 + client/node_modules/es-errors/type.js | 4 + client/node_modules/es-errors/uri.d.ts | 3 + client/node_modules/es-errors/uri.js | 4 + client/node_modules/es-object-atoms/.eslintrc | 16 + .../es-object-atoms/.github/FUNDING.yml | 12 + .../node_modules/es-object-atoms/CHANGELOG.md | 44 + client/node_modules/es-object-atoms/LICENSE | 21 + client/node_modules/es-object-atoms/README.md | 63 + .../RequireObjectCoercible.d.ts | 3 + .../es-object-atoms/RequireObjectCoercible.js | 11 + .../es-object-atoms/ToObject.d.ts | 7 + .../node_modules/es-object-atoms/ToObject.js | 10 + .../node_modules/es-object-atoms/index.d.ts | 3 + client/node_modules/es-object-atoms/index.js | 4 + .../es-object-atoms/isObject.d.ts | 3 + .../node_modules/es-object-atoms/isObject.js | 6 + .../node_modules/es-object-atoms/package.json | 79 + .../es-object-atoms/test/index.js | 38 + .../es-object-atoms/tsconfig.json | 7 + .../node_modules/es-set-tostringtag/.eslintrc | 13 + client/node_modules/es-set-tostringtag/.nycrc | 9 + .../es-set-tostringtag/CHANGELOG.md | 67 + .../node_modules/es-set-tostringtag/LICENSE | 21 + .../node_modules/es-set-tostringtag/README.md | 53 + .../es-set-tostringtag/index.d.ts | 10 + .../node_modules/es-set-tostringtag/index.js | 35 + .../es-set-tostringtag/package.json | 78 + .../es-set-tostringtag/test/index.js | 85 + .../es-set-tostringtag/tsconfig.json | 9 + client/node_modules/esbuild/LICENSE.md | 21 + client/node_modules/esbuild/README.md | 3 + client/node_modules/esbuild/bin/esbuild | 220 + client/node_modules/esbuild/install.js | 285 + client/node_modules/esbuild/lib/main.d.ts | 705 + client/node_modules/esbuild/lib/main.js | 2239 + client/node_modules/esbuild/package.json | 46 + client/node_modules/escalade/dist/index.js | 22 + client/node_modules/escalade/dist/index.mjs | 22 + client/node_modules/escalade/index.d.mts | 11 + client/node_modules/escalade/index.d.ts | 15 + client/node_modules/escalade/license | 9 + client/node_modules/escalade/package.json | 74 + client/node_modules/escalade/readme.md | 211 + client/node_modules/escalade/sync/index.d.mts | 9 + client/node_modules/escalade/sync/index.d.ts | 13 + client/node_modules/escalade/sync/index.js | 18 + client/node_modules/escalade/sync/index.mjs | 18 + client/node_modules/follow-redirects/LICENSE | 18 + .../node_modules/follow-redirects/README.md | 157 + client/node_modules/follow-redirects/debug.js | 15 + client/node_modules/follow-redirects/http.js | 1 + client/node_modules/follow-redirects/https.js | 1 + client/node_modules/follow-redirects/index.js | 709 + .../follow-redirects/package.json | 58 + client/node_modules/form-data/CHANGELOG.md | 659 + client/node_modules/form-data/License | 19 + client/node_modules/form-data/README.md | 355 + client/node_modules/form-data/index.d.ts | 62 + client/node_modules/form-data/lib/browser.js | 4 + .../node_modules/form-data/lib/form_data.js | 494 + client/node_modules/form-data/lib/populate.js | 10 + client/node_modules/form-data/package.json | 82 + client/node_modules/function-bind/.eslintrc | 21 + .../function-bind/.github/FUNDING.yml | 12 + .../function-bind/.github/SECURITY.md | 3 + client/node_modules/function-bind/.nycrc | 13 + .../node_modules/function-bind/CHANGELOG.md | 136 + client/node_modules/function-bind/LICENSE | 20 + client/node_modules/function-bind/README.md | 46 + .../function-bind/implementation.js | 84 + client/node_modules/function-bind/index.js | 5 + .../node_modules/function-bind/package.json | 87 + .../node_modules/function-bind/test/.eslintrc | 9 + .../node_modules/function-bind/test/index.js | 252 + client/node_modules/gensync/LICENSE | 7 + client/node_modules/gensync/README.md | 196 + client/node_modules/gensync/index.js | 373 + client/node_modules/gensync/index.js.flow | 32 + client/node_modules/gensync/package.json | 37 + client/node_modules/gensync/test/.babelrc | 5 + .../node_modules/gensync/test/index.test.js | 489 + client/node_modules/get-intrinsic/.eslintrc | 42 + .../get-intrinsic/.github/FUNDING.yml | 12 + client/node_modules/get-intrinsic/.nycrc | 9 + .../node_modules/get-intrinsic/CHANGELOG.md | 186 + client/node_modules/get-intrinsic/LICENSE | 21 + client/node_modules/get-intrinsic/README.md | 71 + client/node_modules/get-intrinsic/index.js | 378 + .../node_modules/get-intrinsic/package.json | 97 + .../get-intrinsic/test/GetIntrinsic.js | 274 + client/node_modules/get-proto/.eslintrc | 10 + .../get-proto/.github/FUNDING.yml | 12 + client/node_modules/get-proto/.nycrc | 9 + client/node_modules/get-proto/CHANGELOG.md | 21 + client/node_modules/get-proto/LICENSE | 21 + .../get-proto/Object.getPrototypeOf.d.ts | 5 + .../get-proto/Object.getPrototypeOf.js | 6 + client/node_modules/get-proto/README.md | 50 + .../get-proto/Reflect.getPrototypeOf.d.ts | 3 + .../get-proto/Reflect.getPrototypeOf.js | 4 + client/node_modules/get-proto/index.d.ts | 5 + client/node_modules/get-proto/index.js | 27 + client/node_modules/get-proto/package.json | 81 + client/node_modules/get-proto/test/index.js | 68 + client/node_modules/get-proto/tsconfig.json | 9 + client/node_modules/gopd/.eslintrc | 16 + client/node_modules/gopd/.github/FUNDING.yml | 12 + client/node_modules/gopd/CHANGELOG.md | 45 + client/node_modules/gopd/LICENSE | 21 + client/node_modules/gopd/README.md | 40 + client/node_modules/gopd/gOPD.d.ts | 1 + client/node_modules/gopd/gOPD.js | 4 + client/node_modules/gopd/index.d.ts | 5 + client/node_modules/gopd/index.js | 15 + client/node_modules/gopd/package.json | 77 + client/node_modules/gopd/test/index.js | 36 + client/node_modules/gopd/tsconfig.json | 9 + client/node_modules/has-symbols/.eslintrc | 11 + .../has-symbols/.github/FUNDING.yml | 12 + client/node_modules/has-symbols/.nycrc | 9 + client/node_modules/has-symbols/CHANGELOG.md | 91 + client/node_modules/has-symbols/LICENSE | 21 + client/node_modules/has-symbols/README.md | 46 + client/node_modules/has-symbols/index.d.ts | 3 + client/node_modules/has-symbols/index.js | 14 + client/node_modules/has-symbols/package.json | 111 + client/node_modules/has-symbols/shams.d.ts | 3 + client/node_modules/has-symbols/shams.js | 45 + client/node_modules/has-symbols/test/index.js | 22 + .../has-symbols/test/shams/core-js.js | 29 + .../test/shams/get-own-property-symbols.js | 29 + client/node_modules/has-symbols/test/tests.js | 58 + client/node_modules/has-symbols/tsconfig.json | 10 + client/node_modules/has-tostringtag/.eslintrc | 5 + .../has-tostringtag/.github/FUNDING.yml | 12 + client/node_modules/has-tostringtag/.nycrc | 13 + .../node_modules/has-tostringtag/CHANGELOG.md | 42 + client/node_modules/has-tostringtag/LICENSE | 21 + client/node_modules/has-tostringtag/README.md | 46 + .../node_modules/has-tostringtag/index.d.ts | 3 + client/node_modules/has-tostringtag/index.js | 8 + .../node_modules/has-tostringtag/package.json | 108 + .../node_modules/has-tostringtag/shams.d.ts | 3 + client/node_modules/has-tostringtag/shams.js | 8 + .../has-tostringtag/test/index.js | 21 + .../has-tostringtag/test/shams/core-js.js | 31 + .../test/shams/get-own-property-symbols.js | 30 + .../has-tostringtag/test/tests.js | 15 + .../has-tostringtag/tsconfig.json | 49 + .../node_modules/hasown/.github/FUNDING.yml | 12 + client/node_modules/hasown/.nycrc | 13 + client/node_modules/hasown/CHANGELOG.md | 51 + client/node_modules/hasown/LICENSE | 21 + client/node_modules/hasown/README.md | 40 + client/node_modules/hasown/eslint.config.mjs | 6 + client/node_modules/hasown/index.d.ts | 4 + client/node_modules/hasown/index.js | 8 + client/node_modules/hasown/package.json | 92 + client/node_modules/hasown/tsconfig.json | 6 + .../node_modules/https-proxy-agent/README.md | 137 + .../https-proxy-agent/dist/agent.d.ts | 30 + .../https-proxy-agent/dist/agent.js | 177 + .../https-proxy-agent/dist/agent.js.map | 1 + .../https-proxy-agent/dist/index.d.ts | 23 + .../https-proxy-agent/dist/index.js | 14 + .../https-proxy-agent/dist/index.js.map | 1 + .../dist/parse-proxy-response.d.ts | 7 + .../dist/parse-proxy-response.js | 66 + .../dist/parse-proxy-response.js.map | 1 + .../https-proxy-agent/package.json | 56 + client/node_modules/js-tokens/CHANGELOG.md | 151 + client/node_modules/js-tokens/LICENSE | 21 + client/node_modules/js-tokens/README.md | 240 + client/node_modules/js-tokens/index.js | 23 + client/node_modules/js-tokens/package.json | 30 + client/node_modules/jsesc/LICENSE-MIT.txt | 20 + client/node_modules/jsesc/README.md | 422 + client/node_modules/jsesc/bin/jsesc | 148 + client/node_modules/jsesc/jsesc.js | 337 + client/node_modules/jsesc/man/jsesc.1 | 94 + client/node_modules/jsesc/package.json | 56 + client/node_modules/json5/LICENSE.md | 23 + client/node_modules/json5/README.md | 282 + client/node_modules/json5/dist/index.js | 1737 + client/node_modules/json5/dist/index.min.js | 1 + client/node_modules/json5/dist/index.min.mjs | 1 + client/node_modules/json5/dist/index.mjs | 1426 + client/node_modules/json5/lib/cli.js | 152 + client/node_modules/json5/lib/index.d.ts | 4 + client/node_modules/json5/lib/index.js | 9 + client/node_modules/json5/lib/parse.d.ts | 15 + client/node_modules/json5/lib/parse.js | 1114 + client/node_modules/json5/lib/register.js | 13 + client/node_modules/json5/lib/require.js | 4 + client/node_modules/json5/lib/stringify.d.ts | 89 + client/node_modules/json5/lib/stringify.js | 261 + client/node_modules/json5/lib/unicode.d.ts | 3 + client/node_modules/json5/lib/unicode.js | 4 + client/node_modules/json5/lib/util.d.ts | 5 + client/node_modules/json5/lib/util.js | 35 + client/node_modules/json5/package.json | 72 + client/node_modules/loose-envify/LICENSE | 21 + client/node_modules/loose-envify/README.md | 45 + client/node_modules/loose-envify/cli.js | 16 + client/node_modules/loose-envify/custom.js | 4 + client/node_modules/loose-envify/index.js | 3 + .../node_modules/loose-envify/loose-envify.js | 36 + client/node_modules/loose-envify/package.json | 36 + client/node_modules/loose-envify/replace.js | 65 + client/node_modules/lru-cache/LICENSE | 15 + client/node_modules/lru-cache/README.md | 166 + client/node_modules/lru-cache/index.js | 334 + client/node_modules/lru-cache/package.json | 32 + client/node_modules/math-intrinsics/.eslintrc | 16 + .../math-intrinsics/.github/FUNDING.yml | 12 + .../node_modules/math-intrinsics/CHANGELOG.md | 24 + client/node_modules/math-intrinsics/LICENSE | 21 + client/node_modules/math-intrinsics/README.md | 50 + client/node_modules/math-intrinsics/abs.d.ts | 1 + client/node_modules/math-intrinsics/abs.js | 4 + .../constants/maxArrayLength.d.ts | 3 + .../constants/maxArrayLength.js | 4 + .../constants/maxSafeInteger.d.ts | 3 + .../constants/maxSafeInteger.js | 5 + .../math-intrinsics/constants/maxValue.d.ts | 3 + .../math-intrinsics/constants/maxValue.js | 5 + .../node_modules/math-intrinsics/floor.d.ts | 1 + client/node_modules/math-intrinsics/floor.js | 4 + .../math-intrinsics/isFinite.d.ts | 3 + .../node_modules/math-intrinsics/isFinite.js | 12 + .../math-intrinsics/isInteger.d.ts | 3 + .../node_modules/math-intrinsics/isInteger.js | 16 + .../node_modules/math-intrinsics/isNaN.d.ts | 1 + client/node_modules/math-intrinsics/isNaN.js | 6 + .../math-intrinsics/isNegativeZero.d.ts | 3 + .../math-intrinsics/isNegativeZero.js | 6 + client/node_modules/math-intrinsics/max.d.ts | 1 + client/node_modules/math-intrinsics/max.js | 4 + client/node_modules/math-intrinsics/min.d.ts | 1 + client/node_modules/math-intrinsics/min.js | 4 + client/node_modules/math-intrinsics/mod.d.ts | 3 + client/node_modules/math-intrinsics/mod.js | 9 + .../node_modules/math-intrinsics/package.json | 86 + client/node_modules/math-intrinsics/pow.d.ts | 1 + client/node_modules/math-intrinsics/pow.js | 4 + .../node_modules/math-intrinsics/round.d.ts | 1 + client/node_modules/math-intrinsics/round.js | 4 + client/node_modules/math-intrinsics/sign.d.ts | 3 + client/node_modules/math-intrinsics/sign.js | 11 + .../math-intrinsics/test/index.js | 192 + .../math-intrinsics/tsconfig.json | 3 + client/node_modules/mime-db/HISTORY.md | 507 + client/node_modules/mime-db/LICENSE | 23 + client/node_modules/mime-db/README.md | 100 + client/node_modules/mime-db/db.json | 8519 ++ client/node_modules/mime-db/index.js | 12 + client/node_modules/mime-db/package.json | 60 + client/node_modules/mime-types/HISTORY.md | 397 + client/node_modules/mime-types/LICENSE | 23 + client/node_modules/mime-types/README.md | 113 + client/node_modules/mime-types/index.js | 188 + client/node_modules/mime-types/package.json | 44 + client/node_modules/ms/index.js | 162 + client/node_modules/ms/license.md | 21 + client/node_modules/ms/package.json | 38 + client/node_modules/ms/readme.md | 59 + client/node_modules/nanoid/LICENSE | 20 + client/node_modules/nanoid/README.md | 39 + .../nanoid/async/index.browser.cjs | 69 + .../nanoid/async/index.browser.js | 34 + client/node_modules/nanoid/async/index.cjs | 71 + client/node_modules/nanoid/async/index.d.ts | 56 + client/node_modules/nanoid/async/index.js | 35 + .../node_modules/nanoid/async/index.native.js | 26 + client/node_modules/nanoid/async/package.json | 12 + client/node_modules/nanoid/bin/nanoid.cjs | 55 + client/node_modules/nanoid/index.browser.cjs | 72 + client/node_modules/nanoid/index.browser.js | 34 + client/node_modules/nanoid/index.cjs | 86 + client/node_modules/nanoid/index.d.cts | 91 + client/node_modules/nanoid/index.d.ts | 91 + client/node_modules/nanoid/index.js | 46 + client/node_modules/nanoid/nanoid.js | 1 + .../node_modules/nanoid/non-secure/index.cjs | 34 + .../node_modules/nanoid/non-secure/index.d.ts | 33 + .../node_modules/nanoid/non-secure/index.js | 21 + .../nanoid/non-secure/package.json | 6 + client/node_modules/nanoid/package.json | 89 + .../nanoid/url-alphabet/index.cjs | 7 + .../node_modules/nanoid/url-alphabet/index.js | 3 + .../nanoid/url-alphabet/package.json | 6 + client/node_modules/node-releases/LICENSE | 21 + client/node_modules/node-releases/README.md | 32 + .../node-releases/data/processed/envs.json | 2922 + .../release-schedule/release-schedule.json | 153 + .../node_modules/node-releases/package.json | 28 + client/node_modules/picocolors/LICENSE | 15 + client/node_modules/picocolors/README.md | 21 + client/node_modules/picocolors/package.json | 25 + .../picocolors/picocolors.browser.js | 4 + .../node_modules/picocolors/picocolors.d.ts | 5 + client/node_modules/picocolors/picocolors.js | 75 + client/node_modules/picocolors/types.d.ts | 51 + client/node_modules/postcss/LICENSE | 20 + client/node_modules/postcss/README.md | 28 + client/node_modules/postcss/lib/at-rule.d.ts | 139 + client/node_modules/postcss/lib/at-rule.js | 25 + client/node_modules/postcss/lib/comment.d.ts | 67 + client/node_modules/postcss/lib/comment.js | 13 + .../node_modules/postcss/lib/container.d.ts | 478 + client/node_modules/postcss/lib/container.js | 447 + .../postcss/lib/css-syntax-error.d.ts | 247 + .../postcss/lib/css-syntax-error.js | 133 + .../node_modules/postcss/lib/declaration.d.ts | 150 + .../node_modules/postcss/lib/declaration.js | 24 + client/node_modules/postcss/lib/document.d.ts | 68 + client/node_modules/postcss/lib/document.js | 33 + client/node_modules/postcss/lib/fromJSON.d.ts | 9 + client/node_modules/postcss/lib/fromJSON.js | 54 + client/node_modules/postcss/lib/input.d.ts | 226 + client/node_modules/postcss/lib/input.js | 273 + .../node_modules/postcss/lib/lazy-result.d.ts | 189 + .../node_modules/postcss/lib/lazy-result.js | 563 + client/node_modules/postcss/lib/list.d.ts | 60 + client/node_modules/postcss/lib/list.js | 58 + .../node_modules/postcss/lib/map-generator.js | 376 + .../postcss/lib/no-work-result.d.ts | 45 + .../postcss/lib/no-work-result.js | 137 + client/node_modules/postcss/lib/node.d.ts | 555 + client/node_modules/postcss/lib/node.js | 449 + client/node_modules/postcss/lib/parse.d.ts | 9 + client/node_modules/postcss/lib/parse.js | 42 + client/node_modules/postcss/lib/parser.js | 618 + client/node_modules/postcss/lib/postcss.d.mts | 66 + client/node_modules/postcss/lib/postcss.d.ts | 461 + client/node_modules/postcss/lib/postcss.js | 101 + client/node_modules/postcss/lib/postcss.mjs | 30 + .../postcss/lib/previous-map.d.ts | 80 + .../node_modules/postcss/lib/previous-map.js | 161 + .../node_modules/postcss/lib/processor.d.ts | 114 + client/node_modules/postcss/lib/processor.js | 67 + client/node_modules/postcss/lib/result.d.ts | 204 + client/node_modules/postcss/lib/result.js | 42 + client/node_modules/postcss/lib/root.d.ts | 86 + client/node_modules/postcss/lib/root.js | 61 + client/node_modules/postcss/lib/rule.d.ts | 126 + client/node_modules/postcss/lib/rule.js | 27 + .../node_modules/postcss/lib/stringifier.d.ts | 45 + .../node_modules/postcss/lib/stringifier.js | 374 + .../node_modules/postcss/lib/stringify.d.ts | 9 + client/node_modules/postcss/lib/stringify.js | 11 + client/node_modules/postcss/lib/symbols.js | 5 + .../postcss/lib/terminal-highlight.js | 70 + client/node_modules/postcss/lib/tokenize.js | 270 + client/node_modules/postcss/lib/warn-once.js | 13 + client/node_modules/postcss/lib/warning.d.ts | 146 + client/node_modules/postcss/lib/warning.js | 37 + client/node_modules/postcss/package.json | 88 + client/node_modules/proxy-from-env/LICENSE | 20 + client/node_modules/proxy-from-env/README.md | 163 + client/node_modules/proxy-from-env/index.cjs | 105 + client/node_modules/proxy-from-env/index.js | 103 + .../node_modules/proxy-from-env/package.json | 43 + client/node_modules/react-dom/LICENSE | 21 + client/node_modules/react-dom/README.md | 60 + ...t-dom-server-legacy.browser.development.js | 7029 ++ ...om-server-legacy.browser.production.min.js | 93 + ...eact-dom-server-legacy.node.development.js | 7093 ++ ...t-dom-server-legacy.node.production.min.js | 101 + .../react-dom-server.browser.development.js | 7014 ++ ...react-dom-server.browser.production.min.js | 96 + .../cjs/react-dom-server.node.development.js | 7070 ++ .../react-dom-server.node.production.min.js | 102 + .../cjs/react-dom-test-utils.development.js | 1763 + .../react-dom-test-utils.production.min.js | 40 + .../react-dom/cjs/react-dom.development.js | 29923 +++++++ .../react-dom/cjs/react-dom.production.min.js | 322 + .../react-dom/cjs/react-dom.profiling.min.js | 366 + client/node_modules/react-dom/client.js | 25 + client/node_modules/react-dom/index.js | 38 + client/node_modules/react-dom/package.json | 62 + client/node_modules/react-dom/profiling.js | 38 + .../node_modules/react-dom/server.browser.js | 17 + client/node_modules/react-dom/server.js | 3 + client/node_modules/react-dom/server.node.js | 17 + client/node_modules/react-dom/test-utils.js | 7 + ...t-dom-server-legacy.browser.development.js | 7026 ++ ...om-server-legacy.browser.production.min.js | 75 + .../react-dom-server.browser.development.js | 7011 ++ ...react-dom-server.browser.production.min.js | 76 + .../umd/react-dom-test-utils.development.js | 1759 + .../react-dom-test-utils.production.min.js | 33 + .../react-dom/umd/react-dom.development.js | 29924 +++++++ .../react-dom/umd/react-dom.production.min.js | 267 + .../react-dom/umd/react-dom.profiling.min.js | 285 + client/node_modules/react-refresh/LICENSE | 21 + client/node_modules/react-refresh/README.md | 5 + client/node_modules/react-refresh/babel.js | 7 + .../cjs/react-refresh-babel.development.js | 601 + .../cjs/react-refresh-babel.production.js | 586 + .../cjs/react-refresh-runtime.development.js | 338 + .../cjs/react-refresh-runtime.production.js | 14 + .../node_modules/react-refresh/package.json | 38 + client/node_modules/react-refresh/runtime.js | 7 + client/node_modules/react/LICENSE | 21 + client/node_modules/react/README.md | 37 + .../cjs/react-jsx-dev-runtime.development.js | 1315 + .../react-jsx-dev-runtime.production.min.js | 10 + .../react-jsx-dev-runtime.profiling.min.js | 10 + .../cjs/react-jsx-runtime.development.js | 1333 + .../cjs/react-jsx-runtime.production.min.js | 11 + .../cjs/react-jsx-runtime.profiling.min.js | 11 + .../react/cjs/react.development.js | 2740 + .../react/cjs/react.production.min.js | 26 + .../cjs/react.shared-subset.development.js | 20 + .../cjs/react.shared-subset.production.min.js | 10 + client/node_modules/react/index.js | 7 + client/node_modules/react/jsx-dev-runtime.js | 7 + client/node_modules/react/jsx-runtime.js | 7 + client/node_modules/react/package.json | 47 + .../node_modules/react/react.shared-subset.js | 7 + .../react/umd/react.development.js | 3343 + .../react/umd/react.production.min.js | 31 + .../react/umd/react.profiling.min.js | 31 + client/node_modules/rollup/LICENSE.md | 679 + client/node_modules/rollup/README.md | 134 + client/node_modules/rollup/dist/bin/rollup | 1912 + .../rollup/dist/es/getLogFilter.js | 64 + .../node_modules/rollup/dist/es/package.json | 1 + .../node_modules/rollup/dist/es/parseAst.js | 12 + client/node_modules/rollup/dist/es/rollup.js | 17 + .../rollup/dist/es/shared/node-entry.js | 24484 ++++++ .../rollup/dist/es/shared/parseAst.js | 2124 + .../rollup/dist/es/shared/watch.js | 9909 +++ .../rollup/dist/getLogFilter.d.ts | 5 + .../node_modules/rollup/dist/getLogFilter.js | 69 + .../rollup/dist/loadConfigFile.d.ts | 20 + .../rollup/dist/loadConfigFile.js | 29 + client/node_modules/rollup/dist/native.js | 161 + client/node_modules/rollup/dist/parseAst.d.ts | 4 + client/node_modules/rollup/dist/parseAst.js | 22 + client/node_modules/rollup/dist/rollup.d.ts | 1225 + client/node_modules/rollup/dist/rollup.js | 127 + .../rollup/dist/shared/fsevents-importer.js | 37 + .../node_modules/rollup/dist/shared/index.js | 9615 +++ .../rollup/dist/shared/loadConfigFile.js | 572 + .../rollup/dist/shared/parseAst.js | 2361 + .../node_modules/rollup/dist/shared/rollup.js | 24406 ++++++ .../rollup/dist/shared/watch-cli.js | 542 + .../node_modules/rollup/dist/shared/watch.js | 324 + client/node_modules/rollup/package.json | 296 + client/node_modules/scheduler/LICENSE | 21 + client/node_modules/scheduler/README.md | 9 + .../scheduler-unstable_mock.development.js | 700 + .../scheduler-unstable_mock.production.min.js | 20 + ...cheduler-unstable_post_task.development.js | 207 + ...duler-unstable_post_task.production.min.js | 14 + .../scheduler/cjs/scheduler.development.js | 634 + .../scheduler/cjs/scheduler.production.min.js | 19 + client/node_modules/scheduler/index.js | 7 + client/node_modules/scheduler/package.json | 36 + .../scheduler-unstable_mock.development.js | 699 + .../scheduler-unstable_mock.production.min.js | 19 + .../scheduler/umd/scheduler.development.js | 152 + .../scheduler/umd/scheduler.production.min.js | 146 + .../scheduler/umd/scheduler.profiling.min.js | 146 + .../node_modules/scheduler/unstable_mock.js | 7 + .../scheduler/unstable_post_task.js | 7 + client/node_modules/semver/LICENSE | 15 + client/node_modules/semver/README.md | 443 + client/node_modules/semver/bin/semver.js | 174 + client/node_modules/semver/package.json | 38 + client/node_modules/semver/range.bnf | 16 + client/node_modules/semver/semver.js | 1643 + client/node_modules/source-map-js/LICENSE | 28 + client/node_modules/source-map-js/README.md | 765 + .../source-map-js/lib/array-set.js | 121 + .../source-map-js/lib/base64-vlq.js | 140 + .../node_modules/source-map-js/lib/base64.js | 67 + .../source-map-js/lib/binary-search.js | 111 + .../source-map-js/lib/mapping-list.js | 79 + .../source-map-js/lib/quick-sort.js | 132 + .../lib/source-map-consumer.d.ts | 1 + .../source-map-js/lib/source-map-consumer.js | 1188 + .../lib/source-map-generator.d.ts | 1 + .../source-map-js/lib/source-map-generator.js | 444 + .../source-map-js/lib/source-node.d.ts | 1 + .../source-map-js/lib/source-node.js | 413 + client/node_modules/source-map-js/lib/util.js | 594 + .../node_modules/source-map-js/package.json | 71 + .../source-map-js/source-map.d.ts | 104 + .../node_modules/source-map-js/source-map.js | 8 + .../update-browserslist-db/LICENSE | 20 + .../update-browserslist-db/README.md | 30 + .../check-npm-version.js | 17 + .../update-browserslist-db/cli.js | 42 + .../update-browserslist-db/index.d.ts | 6 + .../update-browserslist-db/index.js | 347 + .../update-browserslist-db/package.json | 40 + .../update-browserslist-db/utils.js | 25 + client/node_modules/vite/LICENSE.md | 3423 + client/node_modules/vite/README.md | 20 + .../vite/bin/openChrome.applescript | 95 + client/node_modules/vite/bin/vite.js | 61 + client/node_modules/vite/client.d.ts | 256 + .../node_modules/vite/dist/client/client.mjs | 829 + client/node_modules/vite/dist/client/env.mjs | 24 + .../vite/dist/node-cjs/publicUtils.cjs | 6172 ++ .../vite/dist/node/chunks/dep-BB45zftN.js | 993 + .../vite/dist/node/chunks/dep-BK3b2jBa.js | 67048 ++++++++++++++++ .../vite/dist/node/chunks/dep-D-7KCb9p.js | 7960 ++ .../vite/dist/node/chunks/dep-Dnp7gl8U.js | 7004 ++ .../vite/dist/node/chunks/dep-IQS-Za7F.js | 561 + client/node_modules/vite/dist/node/cli.js | 917 + .../node_modules/vite/dist/node/constants.js | 113 + client/node_modules/vite/dist/node/index.d.ts | 3627 + client/node_modules/vite/dist/node/index.js | 261 + .../node_modules/vite/dist/node/runtime.d.ts | 63 + client/node_modules/vite/dist/node/runtime.js | 1066 + .../vite/dist/node/types.d-aGj9QkWt.d.ts | 281 + client/node_modules/vite/index.cjs | 60 + client/node_modules/vite/index.d.cts | 6 + client/node_modules/vite/package.json | 191 + .../node_modules/vite/types/customEvent.d.ts | 39 + .../node_modules/vite/types/hmrPayload.d.ts | 65 + client/node_modules/vite/types/hot.d.ts | 36 + .../node_modules/vite/types/import-meta.d.ts | 5 + .../node_modules/vite/types/importGlob.d.ts | 75 + .../node_modules/vite/types/importMeta.d.ts | 22 + client/node_modules/vite/types/metadata.d.ts | 10 + client/node_modules/vite/types/package.json | 4 + client/node_modules/yallist/LICENSE | 15 + client/node_modules/yallist/README.md | 204 + client/node_modules/yallist/iterator.js | 8 + client/node_modules/yallist/package.json | 29 + client/node_modules/yallist/yallist.js | 426 + client/package-lock.json | 1987 + client/src/App.jsx | 68 +- client/src/auth.js | 30 + client/src/components/LoginModal.jsx | 103 + client/src/components/UserManagementModal.jsx | 171 + db/database.js | 19 + server.js | 70 +- 2656 files changed, 497146 insertions(+), 8 deletions(-) create mode 100644 auth.js create mode 100644 client/dist/assets/index-BoQf6yV_.css create mode 100644 client/dist/assets/index-CkShUZiL.js create mode 100644 client/dist/index.html create mode 100644 client/dist/static/mpm-logo.png create mode 100644 client/dist/version.json create mode 100644 client/node_modules/.bin/baseline-browser-mapping create mode 100644 client/node_modules/.bin/baseline-browser-mapping.cmd create mode 100644 client/node_modules/.bin/baseline-browser-mapping.ps1 create mode 100644 client/node_modules/.bin/browserslist create mode 100644 client/node_modules/.bin/browserslist.cmd create mode 100644 client/node_modules/.bin/browserslist.ps1 create mode 100644 client/node_modules/.bin/esbuild create mode 100644 client/node_modules/.bin/esbuild.cmd create mode 100644 client/node_modules/.bin/esbuild.ps1 create mode 100644 client/node_modules/.bin/jsesc create mode 100644 client/node_modules/.bin/jsesc.cmd create mode 100644 client/node_modules/.bin/jsesc.ps1 create mode 100644 client/node_modules/.bin/json5 create mode 100644 client/node_modules/.bin/json5.cmd create mode 100644 client/node_modules/.bin/json5.ps1 create mode 100644 client/node_modules/.bin/loose-envify create mode 100644 client/node_modules/.bin/loose-envify.cmd create mode 100644 client/node_modules/.bin/loose-envify.ps1 create mode 100644 client/node_modules/.bin/nanoid create mode 100644 client/node_modules/.bin/nanoid.cmd create mode 100644 client/node_modules/.bin/nanoid.ps1 create mode 100644 client/node_modules/.bin/parser create mode 100644 client/node_modules/.bin/parser.cmd create mode 100644 client/node_modules/.bin/parser.ps1 create mode 100644 client/node_modules/.bin/rollup create mode 100644 client/node_modules/.bin/rollup.cmd create mode 100644 client/node_modules/.bin/rollup.ps1 create mode 100644 client/node_modules/.bin/semver create mode 100644 client/node_modules/.bin/semver.cmd create mode 100644 client/node_modules/.bin/semver.ps1 create mode 100644 client/node_modules/.bin/update-browserslist-db create mode 100644 client/node_modules/.bin/update-browserslist-db.cmd create mode 100644 client/node_modules/.bin/update-browserslist-db.ps1 create mode 100644 client/node_modules/.bin/vite create mode 100644 client/node_modules/.bin/vite.cmd create mode 100644 client/node_modules/.bin/vite.ps1 create mode 100644 client/node_modules/.package-lock.json create mode 100644 client/node_modules/@babel/code-frame/LICENSE create mode 100644 client/node_modules/@babel/code-frame/README.md create mode 100644 client/node_modules/@babel/code-frame/lib/index.js create mode 100644 client/node_modules/@babel/code-frame/lib/index.js.map create mode 100644 client/node_modules/@babel/code-frame/package.json create mode 100644 client/node_modules/@babel/compat-data/LICENSE create mode 100644 client/node_modules/@babel/compat-data/README.md create mode 100644 client/node_modules/@babel/compat-data/corejs2-built-ins.js create mode 100644 client/node_modules/@babel/compat-data/corejs3-shipped-proposals.js create mode 100644 client/node_modules/@babel/compat-data/data/corejs2-built-ins.json create mode 100644 client/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json create mode 100644 client/node_modules/@babel/compat-data/data/native-modules.json create mode 100644 client/node_modules/@babel/compat-data/data/overlapping-plugins.json create mode 100644 client/node_modules/@babel/compat-data/data/plugin-bugfixes.json create mode 100644 client/node_modules/@babel/compat-data/data/plugins.json create mode 100644 client/node_modules/@babel/compat-data/native-modules.js create mode 100644 client/node_modules/@babel/compat-data/overlapping-plugins.js create mode 100644 client/node_modules/@babel/compat-data/package.json create mode 100644 client/node_modules/@babel/compat-data/plugin-bugfixes.js create mode 100644 client/node_modules/@babel/compat-data/plugins.js create mode 100644 client/node_modules/@babel/core/LICENSE create mode 100644 client/node_modules/@babel/core/README.md create mode 100644 client/node_modules/@babel/core/lib/config/cache-contexts.js create mode 100644 client/node_modules/@babel/core/lib/config/cache-contexts.js.map create mode 100644 client/node_modules/@babel/core/lib/config/caching.js create mode 100644 client/node_modules/@babel/core/lib/config/caching.js.map create mode 100644 client/node_modules/@babel/core/lib/config/config-chain.js create mode 100644 client/node_modules/@babel/core/lib/config/config-chain.js.map create mode 100644 client/node_modules/@babel/core/lib/config/config-descriptors.js create mode 100644 client/node_modules/@babel/core/lib/config/config-descriptors.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/configuration.js create mode 100644 client/node_modules/@babel/core/lib/config/files/configuration.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/import.cjs create mode 100644 client/node_modules/@babel/core/lib/config/files/import.cjs.map create mode 100644 client/node_modules/@babel/core/lib/config/files/index-browser.js create mode 100644 client/node_modules/@babel/core/lib/config/files/index-browser.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/index.js create mode 100644 client/node_modules/@babel/core/lib/config/files/index.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/module-types.js create mode 100644 client/node_modules/@babel/core/lib/config/files/module-types.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/package.js create mode 100644 client/node_modules/@babel/core/lib/config/files/package.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/plugins.js create mode 100644 client/node_modules/@babel/core/lib/config/files/plugins.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/types.js create mode 100644 client/node_modules/@babel/core/lib/config/files/types.js.map create mode 100644 client/node_modules/@babel/core/lib/config/files/utils.js create mode 100644 client/node_modules/@babel/core/lib/config/files/utils.js.map create mode 100644 client/node_modules/@babel/core/lib/config/full.js create mode 100644 client/node_modules/@babel/core/lib/config/full.js.map create mode 100644 client/node_modules/@babel/core/lib/config/helpers/config-api.js create mode 100644 client/node_modules/@babel/core/lib/config/helpers/config-api.js.map create mode 100644 client/node_modules/@babel/core/lib/config/helpers/deep-array.js create mode 100644 client/node_modules/@babel/core/lib/config/helpers/deep-array.js.map create mode 100644 client/node_modules/@babel/core/lib/config/helpers/environment.js create mode 100644 client/node_modules/@babel/core/lib/config/helpers/environment.js.map create mode 100644 client/node_modules/@babel/core/lib/config/index.js create mode 100644 client/node_modules/@babel/core/lib/config/index.js.map create mode 100644 client/node_modules/@babel/core/lib/config/item.js create mode 100644 client/node_modules/@babel/core/lib/config/item.js.map create mode 100644 client/node_modules/@babel/core/lib/config/partial.js create mode 100644 client/node_modules/@babel/core/lib/config/partial.js.map create mode 100644 client/node_modules/@babel/core/lib/config/pattern-to-regex.js create mode 100644 client/node_modules/@babel/core/lib/config/pattern-to-regex.js.map create mode 100644 client/node_modules/@babel/core/lib/config/plugin.js create mode 100644 client/node_modules/@babel/core/lib/config/plugin.js.map create mode 100644 client/node_modules/@babel/core/lib/config/printer.js create mode 100644 client/node_modules/@babel/core/lib/config/printer.js.map create mode 100644 client/node_modules/@babel/core/lib/config/resolve-targets-browser.js create mode 100644 client/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map create mode 100644 client/node_modules/@babel/core/lib/config/resolve-targets.js create mode 100644 client/node_modules/@babel/core/lib/config/resolve-targets.js.map create mode 100644 client/node_modules/@babel/core/lib/config/util.js create mode 100644 client/node_modules/@babel/core/lib/config/util.js.map create mode 100644 client/node_modules/@babel/core/lib/config/validation/option-assertions.js create mode 100644 client/node_modules/@babel/core/lib/config/validation/option-assertions.js.map create mode 100644 client/node_modules/@babel/core/lib/config/validation/options.js create mode 100644 client/node_modules/@babel/core/lib/config/validation/options.js.map create mode 100644 client/node_modules/@babel/core/lib/config/validation/plugins.js create mode 100644 client/node_modules/@babel/core/lib/config/validation/plugins.js.map create mode 100644 client/node_modules/@babel/core/lib/config/validation/removed.js create mode 100644 client/node_modules/@babel/core/lib/config/validation/removed.js.map create mode 100644 client/node_modules/@babel/core/lib/errors/config-error.js create mode 100644 client/node_modules/@babel/core/lib/errors/config-error.js.map create mode 100644 client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js create mode 100644 client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/async.js create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/async.js.map create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/fs.js create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/fs.js.map create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/functional.js create mode 100644 client/node_modules/@babel/core/lib/gensync-utils/functional.js.map create mode 100644 client/node_modules/@babel/core/lib/index.js create mode 100644 client/node_modules/@babel/core/lib/index.js.map create mode 100644 client/node_modules/@babel/core/lib/parse.js create mode 100644 client/node_modules/@babel/core/lib/parse.js.map create mode 100644 client/node_modules/@babel/core/lib/parser/index.js create mode 100644 client/node_modules/@babel/core/lib/parser/index.js.map create mode 100644 client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js create mode 100644 client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map create mode 100644 client/node_modules/@babel/core/lib/tools/build-external-helpers.js create mode 100644 client/node_modules/@babel/core/lib/tools/build-external-helpers.js.map create mode 100644 client/node_modules/@babel/core/lib/transform-ast.js create mode 100644 client/node_modules/@babel/core/lib/transform-ast.js.map create mode 100644 client/node_modules/@babel/core/lib/transform-file-browser.js create mode 100644 client/node_modules/@babel/core/lib/transform-file-browser.js.map create mode 100644 client/node_modules/@babel/core/lib/transform-file.js create mode 100644 client/node_modules/@babel/core/lib/transform-file.js.map create mode 100644 client/node_modules/@babel/core/lib/transform.js create mode 100644 client/node_modules/@babel/core/lib/transform.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js create mode 100644 client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs create mode 100644 client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs.map create mode 100644 client/node_modules/@babel/core/lib/transformation/file/file.js create mode 100644 client/node_modules/@babel/core/lib/transformation/file/file.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/file/generate.js create mode 100644 client/node_modules/@babel/core/lib/transformation/file/generate.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/file/merge-map.js create mode 100644 client/node_modules/@babel/core/lib/transformation/file/merge-map.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/index.js create mode 100644 client/node_modules/@babel/core/lib/transformation/index.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/normalize-file.js create mode 100644 client/node_modules/@babel/core/lib/transformation/normalize-file.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/normalize-opts.js create mode 100644 client/node_modules/@babel/core/lib/transformation/normalize-opts.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/plugin-pass.js create mode 100644 client/node_modules/@babel/core/lib/transformation/plugin-pass.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js create mode 100644 client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js create mode 100644 client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js.map create mode 100644 client/node_modules/@babel/core/lib/transformation/util/clone-deep.js create mode 100644 client/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map create mode 100644 client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js create mode 100644 client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map create mode 100644 client/node_modules/@babel/core/package.json create mode 100644 client/node_modules/@babel/core/src/config/files/index-browser.ts create mode 100644 client/node_modules/@babel/core/src/config/files/index.ts create mode 100644 client/node_modules/@babel/core/src/config/resolve-targets-browser.ts create mode 100644 client/node_modules/@babel/core/src/config/resolve-targets.ts create mode 100644 client/node_modules/@babel/core/src/transform-file-browser.ts create mode 100644 client/node_modules/@babel/core/src/transform-file.ts create mode 100644 client/node_modules/@babel/core/src/transformation/read-input-source-map-file-browser.ts create mode 100644 client/node_modules/@babel/core/src/transformation/read-input-source-map-file.ts create mode 100644 client/node_modules/@babel/generator/LICENSE create mode 100644 client/node_modules/@babel/generator/README.md create mode 100644 client/node_modules/@babel/generator/lib/buffer.js create mode 100644 client/node_modules/@babel/generator/lib/buffer.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/base.js create mode 100644 client/node_modules/@babel/generator/lib/generators/base.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/classes.js create mode 100644 client/node_modules/@babel/generator/lib/generators/classes.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/deprecated.js create mode 100644 client/node_modules/@babel/generator/lib/generators/deprecated.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/expressions.js create mode 100644 client/node_modules/@babel/generator/lib/generators/expressions.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/flow.js create mode 100644 client/node_modules/@babel/generator/lib/generators/flow.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/index.js create mode 100644 client/node_modules/@babel/generator/lib/generators/index.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/jsx.js create mode 100644 client/node_modules/@babel/generator/lib/generators/jsx.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/methods.js create mode 100644 client/node_modules/@babel/generator/lib/generators/methods.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/modules.js create mode 100644 client/node_modules/@babel/generator/lib/generators/modules.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/statements.js create mode 100644 client/node_modules/@babel/generator/lib/generators/statements.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/template-literals.js create mode 100644 client/node_modules/@babel/generator/lib/generators/template-literals.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/types.js create mode 100644 client/node_modules/@babel/generator/lib/generators/types.js.map create mode 100644 client/node_modules/@babel/generator/lib/generators/typescript.js create mode 100644 client/node_modules/@babel/generator/lib/generators/typescript.js.map create mode 100644 client/node_modules/@babel/generator/lib/index.js create mode 100644 client/node_modules/@babel/generator/lib/index.js.map create mode 100644 client/node_modules/@babel/generator/lib/node/index.js create mode 100644 client/node_modules/@babel/generator/lib/node/index.js.map create mode 100644 client/node_modules/@babel/generator/lib/node/parentheses.js create mode 100644 client/node_modules/@babel/generator/lib/node/parentheses.js.map create mode 100644 client/node_modules/@babel/generator/lib/nodes.js create mode 100644 client/node_modules/@babel/generator/lib/nodes.js.map create mode 100644 client/node_modules/@babel/generator/lib/printer.js create mode 100644 client/node_modules/@babel/generator/lib/printer.js.map create mode 100644 client/node_modules/@babel/generator/lib/source-map.js create mode 100644 client/node_modules/@babel/generator/lib/source-map.js.map create mode 100644 client/node_modules/@babel/generator/lib/token-map.js create mode 100644 client/node_modules/@babel/generator/lib/token-map.js.map create mode 100644 client/node_modules/@babel/generator/package.json create mode 100644 client/node_modules/@babel/helper-compilation-targets/LICENSE create mode 100644 client/node_modules/@babel/helper-compilation-targets/README.md create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/debug.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/debug.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/filter-items.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/index.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/options.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/options.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/pretty.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/targets.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/targets.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/utils.js create mode 100644 client/node_modules/@babel/helper-compilation-targets/lib/utils.js.map create mode 100644 client/node_modules/@babel/helper-compilation-targets/package.json create mode 100644 client/node_modules/@babel/helper-globals/LICENSE create mode 100644 client/node_modules/@babel/helper-globals/README.md create mode 100644 client/node_modules/@babel/helper-globals/data/browser-upper.json create mode 100644 client/node_modules/@babel/helper-globals/data/builtin-lower.json create mode 100644 client/node_modules/@babel/helper-globals/data/builtin-upper.json create mode 100644 client/node_modules/@babel/helper-globals/package.json create mode 100644 client/node_modules/@babel/helper-module-imports/LICENSE create mode 100644 client/node_modules/@babel/helper-module-imports/README.md create mode 100644 client/node_modules/@babel/helper-module-imports/lib/import-builder.js create mode 100644 client/node_modules/@babel/helper-module-imports/lib/import-builder.js.map create mode 100644 client/node_modules/@babel/helper-module-imports/lib/import-injector.js create mode 100644 client/node_modules/@babel/helper-module-imports/lib/import-injector.js.map create mode 100644 client/node_modules/@babel/helper-module-imports/lib/index.js create mode 100644 client/node_modules/@babel/helper-module-imports/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-module-imports/lib/is-module.js create mode 100644 client/node_modules/@babel/helper-module-imports/lib/is-module.js.map create mode 100644 client/node_modules/@babel/helper-module-imports/package.json create mode 100644 client/node_modules/@babel/helper-module-transforms/LICENSE create mode 100644 client/node_modules/@babel/helper-module-transforms/README.md create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/get-module-name.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/index.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/lazy-modules.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/lazy-modules.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js create mode 100644 client/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map create mode 100644 client/node_modules/@babel/helper-module-transforms/package.json create mode 100644 client/node_modules/@babel/helper-plugin-utils/LICENSE create mode 100644 client/node_modules/@babel/helper-plugin-utils/README.md create mode 100644 client/node_modules/@babel/helper-plugin-utils/lib/index.js create mode 100644 client/node_modules/@babel/helper-plugin-utils/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-plugin-utils/package.json create mode 100644 client/node_modules/@babel/helper-string-parser/LICENSE create mode 100644 client/node_modules/@babel/helper-string-parser/README.md create mode 100644 client/node_modules/@babel/helper-string-parser/lib/index.js create mode 100644 client/node_modules/@babel/helper-string-parser/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-string-parser/package.json create mode 100644 client/node_modules/@babel/helper-validator-identifier/LICENSE create mode 100644 client/node_modules/@babel/helper-validator-identifier/README.md create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/identifier.js create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/index.js create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/keyword.js create mode 100644 client/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map create mode 100644 client/node_modules/@babel/helper-validator-identifier/package.json create mode 100644 client/node_modules/@babel/helper-validator-option/LICENSE create mode 100644 client/node_modules/@babel/helper-validator-option/README.md create mode 100644 client/node_modules/@babel/helper-validator-option/lib/find-suggestion.js create mode 100644 client/node_modules/@babel/helper-validator-option/lib/find-suggestion.js.map create mode 100644 client/node_modules/@babel/helper-validator-option/lib/index.js create mode 100644 client/node_modules/@babel/helper-validator-option/lib/index.js.map create mode 100644 client/node_modules/@babel/helper-validator-option/lib/validator.js create mode 100644 client/node_modules/@babel/helper-validator-option/lib/validator.js.map create mode 100644 client/node_modules/@babel/helper-validator-option/package.json create mode 100644 client/node_modules/@babel/helpers/LICENSE create mode 100644 client/node_modules/@babel/helpers/README.md create mode 100644 client/node_modules/@babel/helpers/lib/helpers-generated.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers-generated.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/AwaitValue.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/AwaitValue.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/OverloadYield.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/OverloadYield.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecoratedDescriptor.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecoratedDescriptor.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2203.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2203.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2203R.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2203R.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2301.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2301.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2305.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2305.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2311.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/applyDecs2311.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayLikeToArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayLikeToArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayWithHoles.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayWithHoles.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayWithoutHoles.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/arrayWithoutHoles.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/assertClassBrand.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/assertClassBrand.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/assertThisInitialized.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/assertThisInitialized.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncGeneratorDelegate.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncGeneratorDelegate.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncIterator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncIterator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncToGenerator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/asyncToGenerator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/awaitAsyncGenerator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/awaitAsyncGenerator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/callSuper.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/callSuper.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/checkInRHS.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/checkInRHS.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/checkPrivateRedeclaration.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/checkPrivateRedeclaration.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorDestructureSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorDestructureSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classApplyDescriptorSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCallCheck.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCallCheck.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCheckPrivateStaticAccess.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCheckPrivateStaticAccess.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCheckPrivateStaticFieldDescriptor.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classCheckPrivateStaticFieldDescriptor.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classExtractFieldDescriptor.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classExtractFieldDescriptor.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classNameTDZError.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classNameTDZError.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldDestructureSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldDestructureSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldGet2.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldGet2.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldInitSpec.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldInitSpec.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldLooseBase.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldLooseBase.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldLooseKey.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldLooseKey.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldSet2.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateFieldSet2.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateGetter.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateGetter.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodInitSpec.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodInitSpec.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateMethodSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateSetter.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classPrivateSetter.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldDestructureSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldDestructureSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldSpecGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldSpecGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldSpecSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateFieldSpecSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateMethodGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateMethodGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateMethodSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/classStaticPrivateMethodSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/construct.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/construct.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createClass.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createClass.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createForOfIteratorHelper.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createForOfIteratorHelper.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createForOfIteratorHelperLoose.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createForOfIteratorHelperLoose.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createSuper.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/createSuper.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/decorate.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/decorate.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defaults.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defaults.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineAccessor.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineAccessor.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineEnumerableProperties.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineEnumerableProperties.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineProperty.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/defineProperty.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/dispose.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/dispose.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/extends.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/extends.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/get.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/get.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/getPrototypeOf.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/getPrototypeOf.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/identity.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/identity.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/importDeferProxy.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/importDeferProxy.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/inherits.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/inherits.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/inheritsLoose.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/inheritsLoose.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/initializerDefineProperty.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/initializerDefineProperty.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/initializerWarningHelper.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/initializerWarningHelper.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/instanceof.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/instanceof.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/interopRequireDefault.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/interopRequireDefault.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/interopRequireWildcard.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/interopRequireWildcard.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/isNativeFunction.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/isNativeFunction.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/isNativeReflectConstruct.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/isNativeReflectConstruct.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/iterableToArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/iterableToArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/iterableToArrayLimit.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/iterableToArrayLimit.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/jsx.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/jsx.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/maybeArrayLike.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/maybeArrayLike.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/newArrowCheck.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/newArrowCheck.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nonIterableRest.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nonIterableRest.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nonIterableSpread.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nonIterableSpread.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nullishReceiverError.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/nullishReceiverError.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectDestructuringEmpty.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectDestructuringEmpty.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectSpread.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectSpread.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectSpread2.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectSpread2.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectWithoutProperties.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectWithoutProperties.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectWithoutPropertiesLoose.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/objectWithoutPropertiesLoose.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/possibleConstructorReturn.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/possibleConstructorReturn.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/readOnlyError.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/readOnlyError.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regenerator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regenerator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsync.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsync.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsyncGen.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsyncGen.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsyncIterator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorAsyncIterator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorDefine.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorDefine.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorKeys.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorKeys.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorValues.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/regeneratorValues.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/set.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/set.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/setFunctionName.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/setFunctionName.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/setPrototypeOf.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/setPrototypeOf.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/skipFirstGeneratorNext.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/skipFirstGeneratorNext.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/slicedToArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/slicedToArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropBase.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropBase.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropGet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropGet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropSet.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/superPropSet.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/taggedTemplateLiteral.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/taggedTemplateLiteral.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/taggedTemplateLiteralLoose.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/taggedTemplateLiteralLoose.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/tdz.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/tdz.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/temporalRef.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/temporalRef.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/temporalUndefined.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/temporalUndefined.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toConsumableArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toConsumableArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toPrimitive.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toPrimitive.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toPropertyKey.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toPropertyKey.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toSetter.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/toSetter.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/tsRewriteRelativeImportExtensions.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/tsRewriteRelativeImportExtensions.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/typeof.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/typeof.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/unsupportedIterableToArray.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/unsupportedIterableToArray.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/using.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/using.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/usingCtx.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/usingCtx.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapAsyncGenerator.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapAsyncGenerator.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapNativeSuper.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapNativeSuper.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js.map create mode 100644 client/node_modules/@babel/helpers/lib/helpers/writeOnlyError.js create mode 100644 client/node_modules/@babel/helpers/lib/helpers/writeOnlyError.js.map create mode 100644 client/node_modules/@babel/helpers/lib/index.js create mode 100644 client/node_modules/@babel/helpers/lib/index.js.map create mode 100644 client/node_modules/@babel/helpers/package.json create mode 100644 client/node_modules/@babel/parser/CHANGELOG.md create mode 100644 client/node_modules/@babel/parser/LICENSE create mode 100644 client/node_modules/@babel/parser/README.md create mode 100644 client/node_modules/@babel/parser/bin/babel-parser.js create mode 100644 client/node_modules/@babel/parser/lib/index.js create mode 100644 client/node_modules/@babel/parser/lib/index.js.map create mode 100644 client/node_modules/@babel/parser/package.json create mode 100644 client/node_modules/@babel/parser/typings/babel-parser.d.ts create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-self/LICENSE create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-self/README.md create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-self/lib/index.js create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-self/lib/index.js.map create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-self/package.json create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-source/LICENSE create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-source/README.md create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-source/lib/index.js create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-source/lib/index.js.map create mode 100644 client/node_modules/@babel/plugin-transform-react-jsx-source/package.json create mode 100644 client/node_modules/@babel/template/LICENSE create mode 100644 client/node_modules/@babel/template/README.md create mode 100644 client/node_modules/@babel/template/lib/builder.js create mode 100644 client/node_modules/@babel/template/lib/builder.js.map create mode 100644 client/node_modules/@babel/template/lib/formatters.js create mode 100644 client/node_modules/@babel/template/lib/formatters.js.map create mode 100644 client/node_modules/@babel/template/lib/index.js create mode 100644 client/node_modules/@babel/template/lib/index.js.map create mode 100644 client/node_modules/@babel/template/lib/literal.js create mode 100644 client/node_modules/@babel/template/lib/literal.js.map create mode 100644 client/node_modules/@babel/template/lib/options.js create mode 100644 client/node_modules/@babel/template/lib/options.js.map create mode 100644 client/node_modules/@babel/template/lib/parse.js create mode 100644 client/node_modules/@babel/template/lib/parse.js.map create mode 100644 client/node_modules/@babel/template/lib/populate.js create mode 100644 client/node_modules/@babel/template/lib/populate.js.map create mode 100644 client/node_modules/@babel/template/lib/string.js create mode 100644 client/node_modules/@babel/template/lib/string.js.map create mode 100644 client/node_modules/@babel/template/package.json create mode 100644 client/node_modules/@babel/traverse/LICENSE create mode 100644 client/node_modules/@babel/traverse/README.md create mode 100644 client/node_modules/@babel/traverse/lib/cache.js create mode 100644 client/node_modules/@babel/traverse/lib/cache.js.map create mode 100644 client/node_modules/@babel/traverse/lib/context.js create mode 100644 client/node_modules/@babel/traverse/lib/context.js.map create mode 100644 client/node_modules/@babel/traverse/lib/hub.js create mode 100644 client/node_modules/@babel/traverse/lib/hub.js.map create mode 100644 client/node_modules/@babel/traverse/lib/index.js create mode 100644 client/node_modules/@babel/traverse/lib/index.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/ancestry.js create mode 100644 client/node_modules/@babel/traverse/lib/path/ancestry.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/comments.js create mode 100644 client/node_modules/@babel/traverse/lib/path/comments.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/context.js create mode 100644 client/node_modules/@babel/traverse/lib/path/context.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/conversion.js create mode 100644 client/node_modules/@babel/traverse/lib/path/conversion.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/evaluation.js create mode 100644 client/node_modules/@babel/traverse/lib/path/evaluation.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/family.js create mode 100644 client/node_modules/@babel/traverse/lib/path/family.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/index.js create mode 100644 client/node_modules/@babel/traverse/lib/path/index.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/index.js create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/index.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/inferers.js create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/inferers.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/util.js create mode 100644 client/node_modules/@babel/traverse/lib/path/inference/util.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/introspection.js create mode 100644 client/node_modules/@babel/traverse/lib/path/introspection.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/hoister.js create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/hoister.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/virtual-types.js create mode 100644 client/node_modules/@babel/traverse/lib/path/lib/virtual-types.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/modification.js create mode 100644 client/node_modules/@babel/traverse/lib/path/modification.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/removal.js create mode 100644 client/node_modules/@babel/traverse/lib/path/removal.js.map create mode 100644 client/node_modules/@babel/traverse/lib/path/replacement.js create mode 100644 client/node_modules/@babel/traverse/lib/path/replacement.js.map create mode 100644 client/node_modules/@babel/traverse/lib/scope/binding.js create mode 100644 client/node_modules/@babel/traverse/lib/scope/binding.js.map create mode 100644 client/node_modules/@babel/traverse/lib/scope/index.js create mode 100644 client/node_modules/@babel/traverse/lib/scope/index.js.map create mode 100644 client/node_modules/@babel/traverse/lib/scope/lib/renamer.js create mode 100644 client/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map create mode 100644 client/node_modules/@babel/traverse/lib/scope/traverseForScope.js create mode 100644 client/node_modules/@babel/traverse/lib/scope/traverseForScope.js.map create mode 100644 client/node_modules/@babel/traverse/lib/traverse-node.js create mode 100644 client/node_modules/@babel/traverse/lib/traverse-node.js.map create mode 100644 client/node_modules/@babel/traverse/lib/types.js create mode 100644 client/node_modules/@babel/traverse/lib/types.js.map create mode 100644 client/node_modules/@babel/traverse/lib/visitors.js create mode 100644 client/node_modules/@babel/traverse/lib/visitors.js.map create mode 100644 client/node_modules/@babel/traverse/package.json create mode 100644 client/node_modules/@babel/traverse/tsconfig.overrides.json create mode 100644 client/node_modules/@babel/types/LICENSE create mode 100644 client/node_modules/@babel/types/README.md create mode 100644 client/node_modules/@babel/types/lib/asserts/assertNode.js create mode 100644 client/node_modules/@babel/types/lib/asserts/assertNode.js.map create mode 100644 client/node_modules/@babel/types/lib/asserts/generated/index.js create mode 100644 client/node_modules/@babel/types/lib/asserts/generated/index.js.map create mode 100644 client/node_modules/@babel/types/lib/ast-types/generated/index.js create mode 100644 client/node_modules/@babel/types/lib/ast-types/generated/index.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js create mode 100644 client/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js create mode 100644 client/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/generated/index.js create mode 100644 client/node_modules/@babel/types/lib/builders/generated/index.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/generated/lowercase.js create mode 100644 client/node_modules/@babel/types/lib/builders/generated/lowercase.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/generated/uppercase.js create mode 100644 client/node_modules/@babel/types/lib/builders/generated/uppercase.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/productions.js create mode 100644 client/node_modules/@babel/types/lib/builders/productions.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/react/buildChildren.js create mode 100644 client/node_modules/@babel/types/lib/builders/react/buildChildren.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js create mode 100644 client/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map create mode 100644 client/node_modules/@babel/types/lib/builders/validateNode.js create mode 100644 client/node_modules/@babel/types/lib/builders/validateNode.js.map create mode 100644 client/node_modules/@babel/types/lib/clone/clone.js create mode 100644 client/node_modules/@babel/types/lib/clone/clone.js.map create mode 100644 client/node_modules/@babel/types/lib/clone/cloneDeep.js create mode 100644 client/node_modules/@babel/types/lib/clone/cloneDeep.js.map create mode 100644 client/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js create mode 100644 client/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map create mode 100644 client/node_modules/@babel/types/lib/clone/cloneNode.js create mode 100644 client/node_modules/@babel/types/lib/clone/cloneNode.js.map create mode 100644 client/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js create mode 100644 client/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/addComment.js create mode 100644 client/node_modules/@babel/types/lib/comments/addComment.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/addComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/addComments.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/inheritInnerComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/inheritLeadingComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/inheritTrailingComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/inheritsComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/inheritsComments.js.map create mode 100644 client/node_modules/@babel/types/lib/comments/removeComments.js create mode 100644 client/node_modules/@babel/types/lib/comments/removeComments.js.map create mode 100644 client/node_modules/@babel/types/lib/constants/generated/index.js create mode 100644 client/node_modules/@babel/types/lib/constants/generated/index.js.map create mode 100644 client/node_modules/@babel/types/lib/constants/index.js create mode 100644 client/node_modules/@babel/types/lib/constants/index.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/ensureBlock.js create mode 100644 client/node_modules/@babel/types/lib/converters/ensureBlock.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js create mode 100644 client/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js create mode 100644 client/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toBlock.js create mode 100644 client/node_modules/@babel/types/lib/converters/toBlock.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toComputedKey.js create mode 100644 client/node_modules/@babel/types/lib/converters/toComputedKey.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toExpression.js create mode 100644 client/node_modules/@babel/types/lib/converters/toExpression.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toIdentifier.js create mode 100644 client/node_modules/@babel/types/lib/converters/toIdentifier.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toKeyAlias.js create mode 100644 client/node_modules/@babel/types/lib/converters/toKeyAlias.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toSequenceExpression.js create mode 100644 client/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/toStatement.js create mode 100644 client/node_modules/@babel/types/lib/converters/toStatement.js.map create mode 100644 client/node_modules/@babel/types/lib/converters/valueToNode.js create mode 100644 client/node_modules/@babel/types/lib/converters/valueToNode.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/core.js create mode 100644 client/node_modules/@babel/types/lib/definitions/core.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/deprecated-aliases.js create mode 100644 client/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/experimental.js create mode 100644 client/node_modules/@babel/types/lib/definitions/experimental.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/flow.js create mode 100644 client/node_modules/@babel/types/lib/definitions/flow.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/index.js create mode 100644 client/node_modules/@babel/types/lib/definitions/index.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/jsx.js create mode 100644 client/node_modules/@babel/types/lib/definitions/jsx.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/misc.js create mode 100644 client/node_modules/@babel/types/lib/definitions/misc.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/placeholders.js create mode 100644 client/node_modules/@babel/types/lib/definitions/placeholders.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/typescript.js create mode 100644 client/node_modules/@babel/types/lib/definitions/typescript.js.map create mode 100644 client/node_modules/@babel/types/lib/definitions/utils.js create mode 100644 client/node_modules/@babel/types/lib/definitions/utils.js.map create mode 100644 client/node_modules/@babel/types/lib/index-legacy.d.ts create mode 100644 client/node_modules/@babel/types/lib/index.d.ts create mode 100644 client/node_modules/@babel/types/lib/index.js create mode 100644 client/node_modules/@babel/types/lib/index.js.flow create mode 100644 client/node_modules/@babel/types/lib/index.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js create mode 100644 client/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js create mode 100644 client/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/inherits.js create mode 100644 client/node_modules/@babel/types/lib/modifications/inherits.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js create mode 100644 client/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/removeProperties.js create mode 100644 client/node_modules/@babel/types/lib/modifications/removeProperties.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js create mode 100644 client/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map create mode 100644 client/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js create mode 100644 client/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map create mode 100644 client/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js create mode 100644 client/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map create mode 100644 client/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js create mode 100644 client/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map create mode 100644 client/node_modules/@babel/types/lib/retrievers/getFunctionName.js create mode 100644 client/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map create mode 100644 client/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js create mode 100644 client/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map create mode 100644 client/node_modules/@babel/types/lib/traverse/traverse.js create mode 100644 client/node_modules/@babel/types/lib/traverse/traverse.js.map create mode 100644 client/node_modules/@babel/types/lib/traverse/traverseFast.js create mode 100644 client/node_modules/@babel/types/lib/traverse/traverseFast.js.map create mode 100644 client/node_modules/@babel/types/lib/utils/deprecationWarning.js create mode 100644 client/node_modules/@babel/types/lib/utils/deprecationWarning.js.map create mode 100644 client/node_modules/@babel/types/lib/utils/inherit.js create mode 100644 client/node_modules/@babel/types/lib/utils/inherit.js.map create mode 100644 client/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js create mode 100644 client/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map create mode 100644 client/node_modules/@babel/types/lib/utils/shallowEqual.js create mode 100644 client/node_modules/@babel/types/lib/utils/shallowEqual.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js create mode 100644 client/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/generated/index.js create mode 100644 client/node_modules/@babel/types/lib/validators/generated/index.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/is.js create mode 100644 client/node_modules/@babel/types/lib/validators/is.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isBinding.js create mode 100644 client/node_modules/@babel/types/lib/validators/isBinding.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isBlockScoped.js create mode 100644 client/node_modules/@babel/types/lib/validators/isBlockScoped.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isImmutable.js create mode 100644 client/node_modules/@babel/types/lib/validators/isImmutable.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isLet.js create mode 100644 client/node_modules/@babel/types/lib/validators/isLet.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isNode.js create mode 100644 client/node_modules/@babel/types/lib/validators/isNode.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isNodesEquivalent.js create mode 100644 client/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isPlaceholderType.js create mode 100644 client/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isReferenced.js create mode 100644 client/node_modules/@babel/types/lib/validators/isReferenced.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isScope.js create mode 100644 client/node_modules/@babel/types/lib/validators/isScope.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isSpecifierDefault.js create mode 100644 client/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isType.js create mode 100644 client/node_modules/@babel/types/lib/validators/isType.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isValidES3Identifier.js create mode 100644 client/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isValidIdentifier.js create mode 100644 client/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/isVar.js create mode 100644 client/node_modules/@babel/types/lib/validators/isVar.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/matchesPattern.js create mode 100644 client/node_modules/@babel/types/lib/validators/matchesPattern.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/react/isCompatTag.js create mode 100644 client/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/react/isReactComponent.js create mode 100644 client/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map create mode 100644 client/node_modules/@babel/types/lib/validators/validate.js create mode 100644 client/node_modules/@babel/types/lib/validators/validate.js.map create mode 100644 client/node_modules/@babel/types/package.json create mode 100644 client/node_modules/@esbuild/win32-x64/README.md create mode 100644 client/node_modules/@esbuild/win32-x64/esbuild.exe create mode 100644 client/node_modules/@esbuild/win32-x64/package.json create mode 100644 client/node_modules/@jridgewell/gen-mapping/LICENSE create mode 100644 client/node_modules/@jridgewell/gen-mapping/README.md create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/package.json create mode 100644 client/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/src/set-array.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/src/types.ts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/types.d.cts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/types.d.mts create mode 100644 client/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map create mode 100644 client/node_modules/@jridgewell/remapping/LICENSE create mode 100644 client/node_modules/@jridgewell/remapping/README.md create mode 100644 client/node_modules/@jridgewell/remapping/dist/remapping.mjs create mode 100644 client/node_modules/@jridgewell/remapping/dist/remapping.mjs.map create mode 100644 client/node_modules/@jridgewell/remapping/dist/remapping.umd.js create mode 100644 client/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map create mode 100644 client/node_modules/@jridgewell/remapping/package.json create mode 100644 client/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts create mode 100644 client/node_modules/@jridgewell/remapping/src/remapping.ts create mode 100644 client/node_modules/@jridgewell/remapping/src/source-map-tree.ts create mode 100644 client/node_modules/@jridgewell/remapping/src/source-map.ts create mode 100644 client/node_modules/@jridgewell/remapping/src/types.ts create mode 100644 client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts create mode 100644 client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts create mode 100644 client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/remapping.d.cts create mode 100644 client/node_modules/@jridgewell/remapping/types/remapping.d.cts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/remapping.d.mts create mode 100644 client/node_modules/@jridgewell/remapping/types/remapping.d.mts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map.d.cts create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map.d.cts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map.d.mts create mode 100644 client/node_modules/@jridgewell/remapping/types/source-map.d.mts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/types.d.cts create mode 100644 client/node_modules/@jridgewell/remapping/types/types.d.cts.map create mode 100644 client/node_modules/@jridgewell/remapping/types/types.d.mts create mode 100644 client/node_modules/@jridgewell/remapping/types/types.d.mts.map create mode 100644 client/node_modules/@jridgewell/resolve-uri/LICENSE create mode 100644 client/node_modules/@jridgewell/resolve-uri/README.md create mode 100644 client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs create mode 100644 client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map create mode 100644 client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js create mode 100644 client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map create mode 100644 client/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts create mode 100644 client/node_modules/@jridgewell/resolve-uri/package.json create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/LICENSE create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/README.md create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/package.json create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/src/strings.ts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts create mode 100644 client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/LICENSE create mode 100644 client/node_modules/@jridgewell/trace-mapping/README.md create mode 100644 client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs create mode 100644 client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js create mode 100644 client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/package.json create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/binary-search.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/by-source.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/resolve.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/sort.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/src/types.ts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/types.d.cts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/types.d.mts create mode 100644 client/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map create mode 100644 client/node_modules/@rolldown/pluginutils/LICENSE create mode 100644 client/node_modules/@rolldown/pluginutils/dist/index.cjs create mode 100644 client/node_modules/@rolldown/pluginutils/dist/index.d.cts create mode 100644 client/node_modules/@rolldown/pluginutils/dist/index.d.ts create mode 100644 client/node_modules/@rolldown/pluginutils/dist/index.js create mode 100644 client/node_modules/@rolldown/pluginutils/package.json create mode 100644 client/node_modules/@rollup/rollup-win32-x64-gnu/README.md create mode 100644 client/node_modules/@rollup/rollup-win32-x64-gnu/package.json create mode 100644 client/node_modules/@rollup/rollup-win32-x64-gnu/rollup.win32-x64-gnu.node create mode 100644 client/node_modules/@rollup/rollup-win32-x64-msvc/README.md create mode 100644 client/node_modules/@rollup/rollup-win32-x64-msvc/package.json create mode 100644 client/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node create mode 100644 client/node_modules/@types/babel__core/LICENSE create mode 100644 client/node_modules/@types/babel__core/README.md create mode 100644 client/node_modules/@types/babel__core/index.d.ts create mode 100644 client/node_modules/@types/babel__core/package.json create mode 100644 client/node_modules/@types/babel__generator/LICENSE create mode 100644 client/node_modules/@types/babel__generator/README.md create mode 100644 client/node_modules/@types/babel__generator/index.d.ts create mode 100644 client/node_modules/@types/babel__generator/package.json create mode 100644 client/node_modules/@types/babel__template/LICENSE create mode 100644 client/node_modules/@types/babel__template/README.md create mode 100644 client/node_modules/@types/babel__template/index.d.ts create mode 100644 client/node_modules/@types/babel__template/package.json create mode 100644 client/node_modules/@types/babel__traverse/LICENSE create mode 100644 client/node_modules/@types/babel__traverse/README.md create mode 100644 client/node_modules/@types/babel__traverse/index.d.ts create mode 100644 client/node_modules/@types/babel__traverse/package.json create mode 100644 client/node_modules/@types/estree/LICENSE create mode 100644 client/node_modules/@types/estree/README.md create mode 100644 client/node_modules/@types/estree/flow.d.ts create mode 100644 client/node_modules/@types/estree/index.d.ts create mode 100644 client/node_modules/@types/estree/package.json create mode 100644 client/node_modules/@vitejs/plugin-react/LICENSE create mode 100644 client/node_modules/@vitejs/plugin-react/README.md create mode 100644 client/node_modules/@vitejs/plugin-react/dist/index.cjs create mode 100644 client/node_modules/@vitejs/plugin-react/dist/index.d.cts create mode 100644 client/node_modules/@vitejs/plugin-react/dist/index.d.ts create mode 100644 client/node_modules/@vitejs/plugin-react/dist/index.js create mode 100644 client/node_modules/@vitejs/plugin-react/dist/refresh-runtime.js create mode 100644 client/node_modules/@vitejs/plugin-react/package.json create mode 100644 client/node_modules/agent-base/README.md create mode 100644 client/node_modules/agent-base/dist/src/index.d.ts create mode 100644 client/node_modules/agent-base/dist/src/index.js create mode 100644 client/node_modules/agent-base/dist/src/index.js.map create mode 100644 client/node_modules/agent-base/dist/src/promisify.d.ts create mode 100644 client/node_modules/agent-base/dist/src/promisify.js create mode 100644 client/node_modules/agent-base/dist/src/promisify.js.map create mode 100644 client/node_modules/agent-base/package.json create mode 100644 client/node_modules/agent-base/src/index.ts create mode 100644 client/node_modules/agent-base/src/promisify.ts create mode 100644 client/node_modules/asynckit/LICENSE create mode 100644 client/node_modules/asynckit/README.md create mode 100644 client/node_modules/asynckit/bench.js create mode 100644 client/node_modules/asynckit/index.js create mode 100644 client/node_modules/asynckit/lib/abort.js create mode 100644 client/node_modules/asynckit/lib/async.js create mode 100644 client/node_modules/asynckit/lib/defer.js create mode 100644 client/node_modules/asynckit/lib/iterate.js create mode 100644 client/node_modules/asynckit/lib/readable_asynckit.js create mode 100644 client/node_modules/asynckit/lib/readable_parallel.js create mode 100644 client/node_modules/asynckit/lib/readable_serial.js create mode 100644 client/node_modules/asynckit/lib/readable_serial_ordered.js create mode 100644 client/node_modules/asynckit/lib/state.js create mode 100644 client/node_modules/asynckit/lib/streamify.js create mode 100644 client/node_modules/asynckit/lib/terminator.js create mode 100644 client/node_modules/asynckit/package.json create mode 100644 client/node_modules/asynckit/parallel.js create mode 100644 client/node_modules/asynckit/serial.js create mode 100644 client/node_modules/asynckit/serialOrdered.js create mode 100644 client/node_modules/asynckit/stream.js create mode 100644 client/node_modules/axios/CHANGELOG.md create mode 100644 client/node_modules/axios/LICENSE create mode 100644 client/node_modules/axios/MIGRATION_GUIDE.md create mode 100644 client/node_modules/axios/README.md create mode 100644 client/node_modules/axios/dist/axios.js create mode 100644 client/node_modules/axios/dist/axios.js.map create mode 100644 client/node_modules/axios/dist/axios.min.js create mode 100644 client/node_modules/axios/dist/axios.min.js.map create mode 100644 client/node_modules/axios/dist/browser/axios.cjs create mode 100644 client/node_modules/axios/dist/browser/axios.cjs.map create mode 100644 client/node_modules/axios/dist/esm/axios.js create mode 100644 client/node_modules/axios/dist/esm/axios.js.map create mode 100644 client/node_modules/axios/dist/esm/axios.min.js create mode 100644 client/node_modules/axios/dist/esm/axios.min.js.map create mode 100644 client/node_modules/axios/dist/node/axios.cjs create mode 100644 client/node_modules/axios/dist/node/axios.cjs.map create mode 100644 client/node_modules/axios/index.d.cts create mode 100644 client/node_modules/axios/index.d.ts create mode 100644 client/node_modules/axios/index.js create mode 100644 client/node_modules/axios/lib/adapters/README.md create mode 100644 client/node_modules/axios/lib/adapters/adapters.js create mode 100644 client/node_modules/axios/lib/adapters/fetch.js create mode 100644 client/node_modules/axios/lib/adapters/http.js create mode 100644 client/node_modules/axios/lib/adapters/xhr.js create mode 100644 client/node_modules/axios/lib/axios.js create mode 100644 client/node_modules/axios/lib/cancel/CancelToken.js create mode 100644 client/node_modules/axios/lib/cancel/CanceledError.js create mode 100644 client/node_modules/axios/lib/cancel/isCancel.js create mode 100644 client/node_modules/axios/lib/core/Axios.js create mode 100644 client/node_modules/axios/lib/core/AxiosError.js create mode 100644 client/node_modules/axios/lib/core/AxiosHeaders.js create mode 100644 client/node_modules/axios/lib/core/InterceptorManager.js create mode 100644 client/node_modules/axios/lib/core/README.md create mode 100644 client/node_modules/axios/lib/core/buildFullPath.js create mode 100644 client/node_modules/axios/lib/core/dispatchRequest.js create mode 100644 client/node_modules/axios/lib/core/mergeConfig.js create mode 100644 client/node_modules/axios/lib/core/settle.js create mode 100644 client/node_modules/axios/lib/core/transformData.js create mode 100644 client/node_modules/axios/lib/defaults/index.js create mode 100644 client/node_modules/axios/lib/defaults/transitional.js create mode 100644 client/node_modules/axios/lib/env/README.md create mode 100644 client/node_modules/axios/lib/env/classes/FormData.js create mode 100644 client/node_modules/axios/lib/env/data.js create mode 100644 client/node_modules/axios/lib/helpers/AxiosTransformStream.js create mode 100644 client/node_modules/axios/lib/helpers/AxiosURLSearchParams.js create mode 100644 client/node_modules/axios/lib/helpers/HttpStatusCode.js create mode 100644 client/node_modules/axios/lib/helpers/README.md create mode 100644 client/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js create mode 100644 client/node_modules/axios/lib/helpers/bind.js create mode 100644 client/node_modules/axios/lib/helpers/buildURL.js create mode 100644 client/node_modules/axios/lib/helpers/callbackify.js create mode 100644 client/node_modules/axios/lib/helpers/combineURLs.js create mode 100644 client/node_modules/axios/lib/helpers/composeSignals.js create mode 100644 client/node_modules/axios/lib/helpers/cookies.js create mode 100644 client/node_modules/axios/lib/helpers/deprecatedMethod.js create mode 100644 client/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js create mode 100644 client/node_modules/axios/lib/helpers/formDataToJSON.js create mode 100644 client/node_modules/axios/lib/helpers/formDataToStream.js create mode 100644 client/node_modules/axios/lib/helpers/fromDataURI.js create mode 100644 client/node_modules/axios/lib/helpers/isAbsoluteURL.js create mode 100644 client/node_modules/axios/lib/helpers/isAxiosError.js create mode 100644 client/node_modules/axios/lib/helpers/isURLSameOrigin.js create mode 100644 client/node_modules/axios/lib/helpers/null.js create mode 100644 client/node_modules/axios/lib/helpers/parseHeaders.js create mode 100644 client/node_modules/axios/lib/helpers/parseProtocol.js create mode 100644 client/node_modules/axios/lib/helpers/progressEventReducer.js create mode 100644 client/node_modules/axios/lib/helpers/readBlob.js create mode 100644 client/node_modules/axios/lib/helpers/resolveConfig.js create mode 100644 client/node_modules/axios/lib/helpers/sanitizeHeaderValue.js create mode 100644 client/node_modules/axios/lib/helpers/shouldBypassProxy.js create mode 100644 client/node_modules/axios/lib/helpers/speedometer.js create mode 100644 client/node_modules/axios/lib/helpers/spread.js create mode 100644 client/node_modules/axios/lib/helpers/throttle.js create mode 100644 client/node_modules/axios/lib/helpers/toFormData.js create mode 100644 client/node_modules/axios/lib/helpers/toURLEncodedForm.js create mode 100644 client/node_modules/axios/lib/helpers/trackStream.js create mode 100644 client/node_modules/axios/lib/helpers/validator.js create mode 100644 client/node_modules/axios/lib/platform/browser/classes/Blob.js create mode 100644 client/node_modules/axios/lib/platform/browser/classes/FormData.js create mode 100644 client/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js create mode 100644 client/node_modules/axios/lib/platform/browser/index.js create mode 100644 client/node_modules/axios/lib/platform/common/utils.js create mode 100644 client/node_modules/axios/lib/platform/index.js create mode 100644 client/node_modules/axios/lib/platform/node/classes/FormData.js create mode 100644 client/node_modules/axios/lib/platform/node/classes/URLSearchParams.js create mode 100644 client/node_modules/axios/lib/platform/node/index.js create mode 100644 client/node_modules/axios/lib/utils.js create mode 100644 client/node_modules/axios/package.json create mode 100644 client/node_modules/baseline-browser-mapping/LICENSE.txt create mode 100644 client/node_modules/baseline-browser-mapping/README.md create mode 100644 client/node_modules/baseline-browser-mapping/dist/cli.cjs create mode 100644 client/node_modules/baseline-browser-mapping/dist/index.cjs create mode 100644 client/node_modules/baseline-browser-mapping/dist/index.d.ts create mode 100644 client/node_modules/baseline-browser-mapping/dist/index.js create mode 100644 client/node_modules/baseline-browser-mapping/package.json create mode 100644 client/node_modules/browserslist/LICENSE create mode 100644 client/node_modules/browserslist/README.md create mode 100644 client/node_modules/browserslist/browser.js create mode 100644 client/node_modules/browserslist/cli.js create mode 100644 client/node_modules/browserslist/error.d.ts create mode 100644 client/node_modules/browserslist/error.js create mode 100644 client/node_modules/browserslist/index.d.ts create mode 100644 client/node_modules/browserslist/index.js create mode 100644 client/node_modules/browserslist/node.js create mode 100644 client/node_modules/browserslist/package.json create mode 100644 client/node_modules/browserslist/parse.js create mode 100644 client/node_modules/call-bind-apply-helpers/.eslintrc create mode 100644 client/node_modules/call-bind-apply-helpers/.github/FUNDING.yml create mode 100644 client/node_modules/call-bind-apply-helpers/.nycrc create mode 100644 client/node_modules/call-bind-apply-helpers/CHANGELOG.md create mode 100644 client/node_modules/call-bind-apply-helpers/LICENSE create mode 100644 client/node_modules/call-bind-apply-helpers/README.md create mode 100644 client/node_modules/call-bind-apply-helpers/actualApply.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/actualApply.js create mode 100644 client/node_modules/call-bind-apply-helpers/applyBind.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/applyBind.js create mode 100644 client/node_modules/call-bind-apply-helpers/functionApply.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/functionApply.js create mode 100644 client/node_modules/call-bind-apply-helpers/functionCall.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/functionCall.js create mode 100644 client/node_modules/call-bind-apply-helpers/index.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/index.js create mode 100644 client/node_modules/call-bind-apply-helpers/package.json create mode 100644 client/node_modules/call-bind-apply-helpers/reflectApply.d.ts create mode 100644 client/node_modules/call-bind-apply-helpers/reflectApply.js create mode 100644 client/node_modules/call-bind-apply-helpers/test/index.js create mode 100644 client/node_modules/call-bind-apply-helpers/tsconfig.json create mode 100644 client/node_modules/caniuse-lite/LICENSE create mode 100644 client/node_modules/caniuse-lite/README.md create mode 100644 client/node_modules/caniuse-lite/data/agents.js create mode 100644 client/node_modules/caniuse-lite/data/browserVersions.js create mode 100644 client/node_modules/caniuse-lite/data/browsers.js create mode 100644 client/node_modules/caniuse-lite/data/features.js create mode 100644 client/node_modules/caniuse-lite/data/features/aac.js create mode 100644 client/node_modules/caniuse-lite/data/features/abortcontroller.js create mode 100644 client/node_modules/caniuse-lite/data/features/ac3-ec3.js create mode 100644 client/node_modules/caniuse-lite/data/features/accelerometer.js create mode 100644 client/node_modules/caniuse-lite/data/features/addeventlistener.js create mode 100644 client/node_modules/caniuse-lite/data/features/alternate-stylesheet.js create mode 100644 client/node_modules/caniuse-lite/data/features/ambient-light.js create mode 100644 client/node_modules/caniuse-lite/data/features/apng.js create mode 100644 client/node_modules/caniuse-lite/data/features/array-find-index.js create mode 100644 client/node_modules/caniuse-lite/data/features/array-find.js create mode 100644 client/node_modules/caniuse-lite/data/features/array-flat.js create mode 100644 client/node_modules/caniuse-lite/data/features/array-includes.js create mode 100644 client/node_modules/caniuse-lite/data/features/arrow-functions.js create mode 100644 client/node_modules/caniuse-lite/data/features/asmjs.js create mode 100644 client/node_modules/caniuse-lite/data/features/async-clipboard.js create mode 100644 client/node_modules/caniuse-lite/data/features/async-functions.js create mode 100644 client/node_modules/caniuse-lite/data/features/atob-btoa.js create mode 100644 client/node_modules/caniuse-lite/data/features/audio-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/audio.js create mode 100644 client/node_modules/caniuse-lite/data/features/audiotracks.js create mode 100644 client/node_modules/caniuse-lite/data/features/autofocus.js create mode 100644 client/node_modules/caniuse-lite/data/features/auxclick.js create mode 100644 client/node_modules/caniuse-lite/data/features/av1.js create mode 100644 client/node_modules/caniuse-lite/data/features/avif.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-attachment.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-clip-text.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-img-opts.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-position-x-y.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-repeat-round-space.js create mode 100644 client/node_modules/caniuse-lite/data/features/background-sync.js create mode 100644 client/node_modules/caniuse-lite/data/features/battery-status.js create mode 100644 client/node_modules/caniuse-lite/data/features/beacon.js create mode 100644 client/node_modules/caniuse-lite/data/features/beforeafterprint.js create mode 100644 client/node_modules/caniuse-lite/data/features/bigint.js create mode 100644 client/node_modules/caniuse-lite/data/features/blobbuilder.js create mode 100644 client/node_modules/caniuse-lite/data/features/bloburls.js create mode 100644 client/node_modules/caniuse-lite/data/features/border-image.js create mode 100644 client/node_modules/caniuse-lite/data/features/border-radius.js create mode 100644 client/node_modules/caniuse-lite/data/features/broadcastchannel.js create mode 100644 client/node_modules/caniuse-lite/data/features/brotli.js create mode 100644 client/node_modules/caniuse-lite/data/features/calc.js create mode 100644 client/node_modules/caniuse-lite/data/features/canvas-blending.js create mode 100644 client/node_modules/caniuse-lite/data/features/canvas-text.js create mode 100644 client/node_modules/caniuse-lite/data/features/canvas.js create mode 100644 client/node_modules/caniuse-lite/data/features/ch-unit.js create mode 100644 client/node_modules/caniuse-lite/data/features/chacha20-poly1305.js create mode 100644 client/node_modules/caniuse-lite/data/features/channel-messaging.js create mode 100644 client/node_modules/caniuse-lite/data/features/childnode-remove.js create mode 100644 client/node_modules/caniuse-lite/data/features/classlist.js create mode 100644 client/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js create mode 100644 client/node_modules/caniuse-lite/data/features/clipboard.js create mode 100644 client/node_modules/caniuse-lite/data/features/colr-v1.js create mode 100644 client/node_modules/caniuse-lite/data/features/colr.js create mode 100644 client/node_modules/caniuse-lite/data/features/comparedocumentposition.js create mode 100644 client/node_modules/caniuse-lite/data/features/console-basic.js create mode 100644 client/node_modules/caniuse-lite/data/features/console-time.js create mode 100644 client/node_modules/caniuse-lite/data/features/const.js create mode 100644 client/node_modules/caniuse-lite/data/features/constraint-validation.js create mode 100644 client/node_modules/caniuse-lite/data/features/contenteditable.js create mode 100644 client/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js create mode 100644 client/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js create mode 100644 client/node_modules/caniuse-lite/data/features/cookie-store-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/cors.js create mode 100644 client/node_modules/caniuse-lite/data/features/createimagebitmap.js create mode 100644 client/node_modules/caniuse-lite/data/features/credential-management.js create mode 100644 client/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js create mode 100644 client/node_modules/caniuse-lite/data/features/cryptography.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-all.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-anchor-positioning.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-animation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-any-link.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-appearance.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-at-counter-style.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-autofill.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-backdrop-filter.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-background-offsets.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-boxshadow.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-canvas.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-caret-color.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-cascade-layers.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-cascade-scope.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-case-insensitive.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-clip-path.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-color-adjust.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-color-function.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-conic-gradients.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-container-queries-style.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-container-queries.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-container-query-units.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-containment.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-content-visibility.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-counters.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-crisp-edges.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-cross-fade.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-default-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-deviceadaptation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-dir-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-display-contents.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-element-function.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-env-function.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-exclusions.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-featurequeries.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-file-selector-button.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-filter-function.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-filters.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-first-letter.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-first-line.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-fixed.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-focus-visible.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-focus-within.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-font-palette.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-font-stretch.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-gencontent.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-gradients.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-grid-animation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-grid-lanes.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-grid.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-has.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-hyphens.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-if.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-image-orientation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-image-set.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-in-out-of-range.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-initial-letter.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-initial-value.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-lch-lab.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-letter-spacing.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-line-clamp.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-logical-props.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-marker-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-masks.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-matches-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-math-functions.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-media-interaction.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-media-range-syntax.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-media-resolution.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-media-scripting.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-mediaqueries.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-mixblendmode.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-module-scripts.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-motion-paths.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-namespaces.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-nesting.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-not-sel-list.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-nth-child-of.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-opacity.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-optional-pseudo.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-overflow-anchor.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-overflow-overlay.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-overflow.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-page-break.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-paged-media.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-paint-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-placeholder-shown.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-placeholder.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-print-color-adjust.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-read-only-write.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-rebeccapurple.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-reflections.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-regions.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-relative-colors.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-repeating-gradients.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-resize.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-revert-value.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-rrggbbaa.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-scroll-behavior.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-scrollbar.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-sel2.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-sel3.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-selection.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-shapes.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-snappoints.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-sticky.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-subgrid.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-supports-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-table.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-align-last.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-box-trim.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-indent.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-justify.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-orientation.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-spacing.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-textshadow.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-touch-action.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-transitions.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-unicode-bidi.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-unset-value.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-variables.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-when-else.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-widows-orphans.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-width-stretch.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-writing-mode.js create mode 100644 client/node_modules/caniuse-lite/data/features/css-zoom.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-attr.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-boxsizing.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-colors.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-cursors-grab.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-cursors-newer.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-cursors.js create mode 100644 client/node_modules/caniuse-lite/data/features/css3-tabsize.js create mode 100644 client/node_modules/caniuse-lite/data/features/currentcolor.js create mode 100644 client/node_modules/caniuse-lite/data/features/custom-elements.js create mode 100644 client/node_modules/caniuse-lite/data/features/custom-elementsv1.js create mode 100644 client/node_modules/caniuse-lite/data/features/customevent.js create mode 100644 client/node_modules/caniuse-lite/data/features/customizable-select.js create mode 100644 client/node_modules/caniuse-lite/data/features/datalist.js create mode 100644 client/node_modules/caniuse-lite/data/features/dataset.js create mode 100644 client/node_modules/caniuse-lite/data/features/datauri.js create mode 100644 client/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js create mode 100644 client/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js create mode 100644 client/node_modules/caniuse-lite/data/features/decorators.js create mode 100644 client/node_modules/caniuse-lite/data/features/details.js create mode 100644 client/node_modules/caniuse-lite/data/features/deviceorientation.js create mode 100644 client/node_modules/caniuse-lite/data/features/devicepixelratio.js create mode 100644 client/node_modules/caniuse-lite/data/features/dialog.js create mode 100644 client/node_modules/caniuse-lite/data/features/dispatchevent.js create mode 100644 client/node_modules/caniuse-lite/data/features/dnssec.js create mode 100644 client/node_modules/caniuse-lite/data/features/do-not-track.js create mode 100644 client/node_modules/caniuse-lite/data/features/document-currentscript.js create mode 100644 client/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js create mode 100644 client/node_modules/caniuse-lite/data/features/document-execcommand.js create mode 100644 client/node_modules/caniuse-lite/data/features/document-policy.js create mode 100644 client/node_modules/caniuse-lite/data/features/document-scrollingelement.js create mode 100644 client/node_modules/caniuse-lite/data/features/documenthead.js create mode 100644 client/node_modules/caniuse-lite/data/features/dom-manip-convenience.js create mode 100644 client/node_modules/caniuse-lite/data/features/dom-range.js create mode 100644 client/node_modules/caniuse-lite/data/features/domcontentloaded.js create mode 100644 client/node_modules/caniuse-lite/data/features/dommatrix.js create mode 100644 client/node_modules/caniuse-lite/data/features/download.js create mode 100644 client/node_modules/caniuse-lite/data/features/dragndrop.js create mode 100644 client/node_modules/caniuse-lite/data/features/element-closest.js create mode 100644 client/node_modules/caniuse-lite/data/features/element-from-point.js create mode 100644 client/node_modules/caniuse-lite/data/features/element-scroll-methods.js create mode 100644 client/node_modules/caniuse-lite/data/features/eme.js create mode 100644 client/node_modules/caniuse-lite/data/features/eot.js create mode 100644 client/node_modules/caniuse-lite/data/features/es5.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-class.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-generators.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-module.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-number.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6-string-includes.js create mode 100644 client/node_modules/caniuse-lite/data/features/es6.js create mode 100644 client/node_modules/caniuse-lite/data/features/eventsource.js create mode 100644 client/node_modules/caniuse-lite/data/features/extended-system-fonts.js create mode 100644 client/node_modules/caniuse-lite/data/features/feature-policy.js create mode 100644 client/node_modules/caniuse-lite/data/features/fetch.js create mode 100644 client/node_modules/caniuse-lite/data/features/fieldset-disabled.js create mode 100644 client/node_modules/caniuse-lite/data/features/fileapi.js create mode 100644 client/node_modules/caniuse-lite/data/features/filereader.js create mode 100644 client/node_modules/caniuse-lite/data/features/filereadersync.js create mode 100644 client/node_modules/caniuse-lite/data/features/filesystem.js create mode 100644 client/node_modules/caniuse-lite/data/features/flac.js create mode 100644 client/node_modules/caniuse-lite/data/features/flexbox-gap.js create mode 100644 client/node_modules/caniuse-lite/data/features/flexbox.js create mode 100644 client/node_modules/caniuse-lite/data/features/flow-root.js create mode 100644 client/node_modules/caniuse-lite/data/features/focusin-focusout-events.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-family-system-ui.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-feature.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-kerning.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-loading.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-size-adjust.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-smooth.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-unicode-range.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-variant-alternates.js create mode 100644 client/node_modules/caniuse-lite/data/features/font-variant-numeric.js create mode 100644 client/node_modules/caniuse-lite/data/features/fontface.js create mode 100644 client/node_modules/caniuse-lite/data/features/form-attribute.js create mode 100644 client/node_modules/caniuse-lite/data/features/form-submit-attributes.js create mode 100644 client/node_modules/caniuse-lite/data/features/form-validation.js create mode 100644 client/node_modules/caniuse-lite/data/features/forms.js create mode 100644 client/node_modules/caniuse-lite/data/features/fullscreen.js create mode 100644 client/node_modules/caniuse-lite/data/features/gamepad.js create mode 100644 client/node_modules/caniuse-lite/data/features/geolocation.js create mode 100644 client/node_modules/caniuse-lite/data/features/getboundingclientrect.js create mode 100644 client/node_modules/caniuse-lite/data/features/getcomputedstyle.js create mode 100644 client/node_modules/caniuse-lite/data/features/getelementsbyclassname.js create mode 100644 client/node_modules/caniuse-lite/data/features/getrandomvalues.js create mode 100644 client/node_modules/caniuse-lite/data/features/gyroscope.js create mode 100644 client/node_modules/caniuse-lite/data/features/hardwareconcurrency.js create mode 100644 client/node_modules/caniuse-lite/data/features/hashchange.js create mode 100644 client/node_modules/caniuse-lite/data/features/heif.js create mode 100644 client/node_modules/caniuse-lite/data/features/hevc.js create mode 100644 client/node_modules/caniuse-lite/data/features/hidden.js create mode 100644 client/node_modules/caniuse-lite/data/features/high-resolution-time.js create mode 100644 client/node_modules/caniuse-lite/data/features/history.js create mode 100644 client/node_modules/caniuse-lite/data/features/html-media-capture.js create mode 100644 client/node_modules/caniuse-lite/data/features/html5semantic.js create mode 100644 client/node_modules/caniuse-lite/data/features/http-live-streaming.js create mode 100644 client/node_modules/caniuse-lite/data/features/http2.js create mode 100644 client/node_modules/caniuse-lite/data/features/http3.js create mode 100644 client/node_modules/caniuse-lite/data/features/iframe-sandbox.js create mode 100644 client/node_modules/caniuse-lite/data/features/iframe-seamless.js create mode 100644 client/node_modules/caniuse-lite/data/features/iframe-srcdoc.js create mode 100644 client/node_modules/caniuse-lite/data/features/imagecapture.js create mode 100644 client/node_modules/caniuse-lite/data/features/ime.js create mode 100644 client/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js create mode 100644 client/node_modules/caniuse-lite/data/features/import-maps.js create mode 100644 client/node_modules/caniuse-lite/data/features/imports.js create mode 100644 client/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js create mode 100644 client/node_modules/caniuse-lite/data/features/indexeddb.js create mode 100644 client/node_modules/caniuse-lite/data/features/indexeddb2.js create mode 100644 client/node_modules/caniuse-lite/data/features/inline-block.js create mode 100644 client/node_modules/caniuse-lite/data/features/innertext.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-color.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-datetime.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-email-tel-url.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-event.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-file-accept.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-file-directory.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-file-multiple.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-inputmode.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-minlength.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-number.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-pattern.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-placeholder.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-range.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-search.js create mode 100644 client/node_modules/caniuse-lite/data/features/input-selection.js create mode 100644 client/node_modules/caniuse-lite/data/features/insert-adjacent.js create mode 100644 client/node_modules/caniuse-lite/data/features/insertadjacenthtml.js create mode 100644 client/node_modules/caniuse-lite/data/features/internationalization.js create mode 100644 client/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js create mode 100644 client/node_modules/caniuse-lite/data/features/intersectionobserver.js create mode 100644 client/node_modules/caniuse-lite/data/features/intl-pluralrules.js create mode 100644 client/node_modules/caniuse-lite/data/features/intrinsic-width.js create mode 100644 client/node_modules/caniuse-lite/data/features/jpeg2000.js create mode 100644 client/node_modules/caniuse-lite/data/features/jpegxl.js create mode 100644 client/node_modules/caniuse-lite/data/features/jpegxr.js create mode 100644 client/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js create mode 100644 client/node_modules/caniuse-lite/data/features/json.js create mode 100644 client/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js create mode 100644 client/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-code.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-key.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-location.js create mode 100644 client/node_modules/caniuse-lite/data/features/keyboardevent-which.js create mode 100644 client/node_modules/caniuse-lite/data/features/lazyload.js create mode 100644 client/node_modules/caniuse-lite/data/features/let.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-icon-png.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-icon-svg.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-preconnect.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-prefetch.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-preload.js create mode 100644 client/node_modules/caniuse-lite/data/features/link-rel-prerender.js create mode 100644 client/node_modules/caniuse-lite/data/features/loading-lazy-attr.js create mode 100644 client/node_modules/caniuse-lite/data/features/loading-lazy-media.js create mode 100644 client/node_modules/caniuse-lite/data/features/localecompare.js create mode 100644 client/node_modules/caniuse-lite/data/features/magnetometer.js create mode 100644 client/node_modules/caniuse-lite/data/features/matchesselector.js create mode 100644 client/node_modules/caniuse-lite/data/features/matchmedia.js create mode 100644 client/node_modules/caniuse-lite/data/features/mathml.js create mode 100644 client/node_modules/caniuse-lite/data/features/maxlength.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js create mode 100644 client/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js create mode 100644 client/node_modules/caniuse-lite/data/features/media-fragments.js create mode 100644 client/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js create mode 100644 client/node_modules/caniuse-lite/data/features/mediarecorder.js create mode 100644 client/node_modules/caniuse-lite/data/features/mediasource.js create mode 100644 client/node_modules/caniuse-lite/data/features/menu.js create mode 100644 client/node_modules/caniuse-lite/data/features/meta-theme-color.js create mode 100644 client/node_modules/caniuse-lite/data/features/meter.js create mode 100644 client/node_modules/caniuse-lite/data/features/midi.js create mode 100644 client/node_modules/caniuse-lite/data/features/minmaxwh.js create mode 100644 client/node_modules/caniuse-lite/data/features/mp3.js create mode 100644 client/node_modules/caniuse-lite/data/features/mpeg-dash.js create mode 100644 client/node_modules/caniuse-lite/data/features/mpeg4.js create mode 100644 client/node_modules/caniuse-lite/data/features/multibackgrounds.js create mode 100644 client/node_modules/caniuse-lite/data/features/multicolumn.js create mode 100644 client/node_modules/caniuse-lite/data/features/mutation-events.js create mode 100644 client/node_modules/caniuse-lite/data/features/mutationobserver.js create mode 100644 client/node_modules/caniuse-lite/data/features/namevalue-storage.js create mode 100644 client/node_modules/caniuse-lite/data/features/native-filesystem-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/nav-timing.js create mode 100644 client/node_modules/caniuse-lite/data/features/netinfo.js create mode 100644 client/node_modules/caniuse-lite/data/features/notifications.js create mode 100644 client/node_modules/caniuse-lite/data/features/object-entries.js create mode 100644 client/node_modules/caniuse-lite/data/features/object-fit.js create mode 100644 client/node_modules/caniuse-lite/data/features/object-observe.js create mode 100644 client/node_modules/caniuse-lite/data/features/object-values.js create mode 100644 client/node_modules/caniuse-lite/data/features/objectrtc.js create mode 100644 client/node_modules/caniuse-lite/data/features/offline-apps.js create mode 100644 client/node_modules/caniuse-lite/data/features/offscreencanvas.js create mode 100644 client/node_modules/caniuse-lite/data/features/ogg-vorbis.js create mode 100644 client/node_modules/caniuse-lite/data/features/ogv.js create mode 100644 client/node_modules/caniuse-lite/data/features/ol-reversed.js create mode 100644 client/node_modules/caniuse-lite/data/features/once-event-listener.js create mode 100644 client/node_modules/caniuse-lite/data/features/online-status.js create mode 100644 client/node_modules/caniuse-lite/data/features/opus.js create mode 100644 client/node_modules/caniuse-lite/data/features/orientation-sensor.js create mode 100644 client/node_modules/caniuse-lite/data/features/outline.js create mode 100644 client/node_modules/caniuse-lite/data/features/pad-start-end.js create mode 100644 client/node_modules/caniuse-lite/data/features/page-transition-events.js create mode 100644 client/node_modules/caniuse-lite/data/features/pagevisibility.js create mode 100644 client/node_modules/caniuse-lite/data/features/passive-event-listener.js create mode 100644 client/node_modules/caniuse-lite/data/features/passkeys.js create mode 100644 client/node_modules/caniuse-lite/data/features/passwordrules.js create mode 100644 client/node_modules/caniuse-lite/data/features/path2d.js create mode 100644 client/node_modules/caniuse-lite/data/features/payment-request.js create mode 100644 client/node_modules/caniuse-lite/data/features/pdf-viewer.js create mode 100644 client/node_modules/caniuse-lite/data/features/permissions-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/permissions-policy.js create mode 100644 client/node_modules/caniuse-lite/data/features/picture-in-picture.js create mode 100644 client/node_modules/caniuse-lite/data/features/picture.js create mode 100644 client/node_modules/caniuse-lite/data/features/ping.js create mode 100644 client/node_modules/caniuse-lite/data/features/png-alpha.js create mode 100644 client/node_modules/caniuse-lite/data/features/pointer-events.js create mode 100644 client/node_modules/caniuse-lite/data/features/pointer.js create mode 100644 client/node_modules/caniuse-lite/data/features/pointerlock.js create mode 100644 client/node_modules/caniuse-lite/data/features/portals.js create mode 100644 client/node_modules/caniuse-lite/data/features/prefers-color-scheme.js create mode 100644 client/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js create mode 100644 client/node_modules/caniuse-lite/data/features/progress.js create mode 100644 client/node_modules/caniuse-lite/data/features/promise-finally.js create mode 100644 client/node_modules/caniuse-lite/data/features/promises.js create mode 100644 client/node_modules/caniuse-lite/data/features/proximity.js create mode 100644 client/node_modules/caniuse-lite/data/features/proxy.js create mode 100644 client/node_modules/caniuse-lite/data/features/publickeypinning.js create mode 100644 client/node_modules/caniuse-lite/data/features/push-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/queryselector.js create mode 100644 client/node_modules/caniuse-lite/data/features/readonly-attr.js create mode 100644 client/node_modules/caniuse-lite/data/features/referrer-policy.js create mode 100644 client/node_modules/caniuse-lite/data/features/registerprotocolhandler.js create mode 100644 client/node_modules/caniuse-lite/data/features/rel-noopener.js create mode 100644 client/node_modules/caniuse-lite/data/features/rel-noreferrer.js create mode 100644 client/node_modules/caniuse-lite/data/features/rellist.js create mode 100644 client/node_modules/caniuse-lite/data/features/rem.js create mode 100644 client/node_modules/caniuse-lite/data/features/requestanimationframe.js create mode 100644 client/node_modules/caniuse-lite/data/features/requestidlecallback.js create mode 100644 client/node_modules/caniuse-lite/data/features/resizeobserver.js create mode 100644 client/node_modules/caniuse-lite/data/features/resource-timing.js create mode 100644 client/node_modules/caniuse-lite/data/features/rest-parameters.js create mode 100644 client/node_modules/caniuse-lite/data/features/rtcpeerconnection.js create mode 100644 client/node_modules/caniuse-lite/data/features/ruby.js create mode 100644 client/node_modules/caniuse-lite/data/features/run-in.js create mode 100644 client/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js create mode 100644 client/node_modules/caniuse-lite/data/features/screen-orientation.js create mode 100644 client/node_modules/caniuse-lite/data/features/script-async.js create mode 100644 client/node_modules/caniuse-lite/data/features/script-defer.js create mode 100644 client/node_modules/caniuse-lite/data/features/scrollintoview.js create mode 100644 client/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js create mode 100644 client/node_modules/caniuse-lite/data/features/sdch.js create mode 100644 client/node_modules/caniuse-lite/data/features/selection-api.js create mode 100644 client/node_modules/caniuse-lite/data/features/server-timing.js create mode 100644 client/node_modules/caniuse-lite/data/features/serviceworkers.js create mode 100644 client/node_modules/caniuse-lite/data/features/setimmediate.js create mode 100644 client/node_modules/caniuse-lite/data/features/shadowdom.js create mode 100644 client/node_modules/caniuse-lite/data/features/shadowdomv1.js create mode 100644 client/node_modules/caniuse-lite/data/features/sharedarraybuffer.js create mode 100644 client/node_modules/caniuse-lite/data/features/sharedworkers.js create mode 100644 client/node_modules/caniuse-lite/data/features/sni.js create mode 100644 client/node_modules/caniuse-lite/data/features/spdy.js create mode 100644 client/node_modules/caniuse-lite/data/features/speech-recognition.js create mode 100644 client/node_modules/caniuse-lite/data/features/speech-synthesis.js create mode 100644 client/node_modules/caniuse-lite/data/features/spellcheck-attribute.js create mode 100644 client/node_modules/caniuse-lite/data/features/sql-storage.js create mode 100644 client/node_modules/caniuse-lite/data/features/srcset.js create mode 100644 client/node_modules/caniuse-lite/data/features/stream.js create mode 100644 client/node_modules/caniuse-lite/data/features/streams.js create mode 100644 client/node_modules/caniuse-lite/data/features/stricttransportsecurity.js create mode 100644 client/node_modules/caniuse-lite/data/features/style-scoped.js create mode 100644 client/node_modules/caniuse-lite/data/features/subresource-bundling.js create mode 100644 client/node_modules/caniuse-lite/data/features/subresource-integrity.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-css.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-filters.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-fonts.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-fragment.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-html.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-html5.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-img.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg-smil.js create mode 100644 client/node_modules/caniuse-lite/data/features/svg.js create mode 100644 client/node_modules/caniuse-lite/data/features/sxg.js create mode 100644 client/node_modules/caniuse-lite/data/features/tabindex-attr.js create mode 100644 client/node_modules/caniuse-lite/data/features/template-literals.js create mode 100644 client/node_modules/caniuse-lite/data/features/template.js create mode 100644 client/node_modules/caniuse-lite/data/features/temporal.js create mode 100644 client/node_modules/caniuse-lite/data/features/testfeat.js create mode 100644 client/node_modules/caniuse-lite/data/features/text-decoration.js create mode 100644 client/node_modules/caniuse-lite/data/features/text-emphasis.js create mode 100644 client/node_modules/caniuse-lite/data/features/text-overflow.js create mode 100644 client/node_modules/caniuse-lite/data/features/text-size-adjust.js create mode 100644 client/node_modules/caniuse-lite/data/features/text-stroke.js create mode 100644 client/node_modules/caniuse-lite/data/features/textcontent.js create mode 100644 client/node_modules/caniuse-lite/data/features/textencoder.js create mode 100644 client/node_modules/caniuse-lite/data/features/tls1-1.js create mode 100644 client/node_modules/caniuse-lite/data/features/tls1-2.js create mode 100644 client/node_modules/caniuse-lite/data/features/tls1-3.js create mode 100644 client/node_modules/caniuse-lite/data/features/touch.js create mode 100644 client/node_modules/caniuse-lite/data/features/transforms2d.js create mode 100644 client/node_modules/caniuse-lite/data/features/transforms3d.js create mode 100644 client/node_modules/caniuse-lite/data/features/trusted-types.js create mode 100644 client/node_modules/caniuse-lite/data/features/ttf.js create mode 100644 client/node_modules/caniuse-lite/data/features/typedarrays.js create mode 100644 client/node_modules/caniuse-lite/data/features/u2f.js create mode 100644 client/node_modules/caniuse-lite/data/features/unhandledrejection.js create mode 100644 client/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js create mode 100644 client/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js create mode 100644 client/node_modules/caniuse-lite/data/features/url.js create mode 100644 client/node_modules/caniuse-lite/data/features/urlsearchparams.js create mode 100644 client/node_modules/caniuse-lite/data/features/use-strict.js create mode 100644 client/node_modules/caniuse-lite/data/features/user-select-none.js create mode 100644 client/node_modules/caniuse-lite/data/features/user-timing.js create mode 100644 client/node_modules/caniuse-lite/data/features/variable-fonts.js create mode 100644 client/node_modules/caniuse-lite/data/features/vector-effect.js create mode 100644 client/node_modules/caniuse-lite/data/features/vibration.js create mode 100644 client/node_modules/caniuse-lite/data/features/video.js create mode 100644 client/node_modules/caniuse-lite/data/features/videotracks.js create mode 100644 client/node_modules/caniuse-lite/data/features/view-transitions.js create mode 100644 client/node_modules/caniuse-lite/data/features/viewport-unit-variants.js create mode 100644 client/node_modules/caniuse-lite/data/features/viewport-units.js create mode 100644 client/node_modules/caniuse-lite/data/features/wai-aria.js create mode 100644 client/node_modules/caniuse-lite/data/features/wake-lock.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-bigint.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-extended-const.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-gc.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-multi-memory.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-multi-value.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-reference-types.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-signext.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-simd.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-tail-calls.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm-threads.js create mode 100644 client/node_modules/caniuse-lite/data/features/wasm.js create mode 100644 client/node_modules/caniuse-lite/data/features/wav.js create mode 100644 client/node_modules/caniuse-lite/data/features/wbr-element.js create mode 100644 client/node_modules/caniuse-lite/data/features/web-animation.js create mode 100644 client/node_modules/caniuse-lite/data/features/web-app-manifest.js create mode 100644 client/node_modules/caniuse-lite/data/features/web-bluetooth.js create mode 100644 client/node_modules/caniuse-lite/data/features/web-serial.js create mode 100644 client/node_modules/caniuse-lite/data/features/web-share.js create mode 100644 client/node_modules/caniuse-lite/data/features/webauthn.js create mode 100644 client/node_modules/caniuse-lite/data/features/webcodecs.js create mode 100644 client/node_modules/caniuse-lite/data/features/webgl.js create mode 100644 client/node_modules/caniuse-lite/data/features/webgl2.js create mode 100644 client/node_modules/caniuse-lite/data/features/webgpu.js create mode 100644 client/node_modules/caniuse-lite/data/features/webhid.js create mode 100644 client/node_modules/caniuse-lite/data/features/webkit-user-drag.js create mode 100644 client/node_modules/caniuse-lite/data/features/webm.js create mode 100644 client/node_modules/caniuse-lite/data/features/webnfc.js create mode 100644 client/node_modules/caniuse-lite/data/features/webp.js create mode 100644 client/node_modules/caniuse-lite/data/features/websockets.js create mode 100644 client/node_modules/caniuse-lite/data/features/webtransport.js create mode 100644 client/node_modules/caniuse-lite/data/features/webusb.js create mode 100644 client/node_modules/caniuse-lite/data/features/webvr.js create mode 100644 client/node_modules/caniuse-lite/data/features/webvtt.js create mode 100644 client/node_modules/caniuse-lite/data/features/webworkers.js create mode 100644 client/node_modules/caniuse-lite/data/features/webxr.js create mode 100644 client/node_modules/caniuse-lite/data/features/will-change.js create mode 100644 client/node_modules/caniuse-lite/data/features/woff.js create mode 100644 client/node_modules/caniuse-lite/data/features/woff2.js create mode 100644 client/node_modules/caniuse-lite/data/features/word-break.js create mode 100644 client/node_modules/caniuse-lite/data/features/wordwrap.js create mode 100644 client/node_modules/caniuse-lite/data/features/x-doc-messaging.js create mode 100644 client/node_modules/caniuse-lite/data/features/x-frame-options.js create mode 100644 client/node_modules/caniuse-lite/data/features/xhr2.js create mode 100644 client/node_modules/caniuse-lite/data/features/xhtml.js create mode 100644 client/node_modules/caniuse-lite/data/features/xhtmlsmil.js create mode 100644 client/node_modules/caniuse-lite/data/features/xml-serializer.js create mode 100644 client/node_modules/caniuse-lite/data/features/zstd.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AX.js create mode 100644 client/node_modules/caniuse-lite/data/regions/AZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BB.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BJ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/BZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CV.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CX.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/CZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DJ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/DZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/EC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/EE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/EG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ER.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ES.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ET.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FJ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/FR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GB.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GP.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GQ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/GY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/HK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/HN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/HR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/HT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/HU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ID.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IQ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/IT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/JE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/JM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/JO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/JP.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KP.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/KZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LB.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LV.js create mode 100644 client/node_modules/caniuse-lite/data/regions/LY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ME.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ML.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MP.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MQ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MV.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MX.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/MZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NP.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/NZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/OM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/PY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/QA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/RE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/RO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/RS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/RU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/RW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SB.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SK.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ST.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SV.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/SZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TD.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TH.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TJ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TL.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TO.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TR.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TV.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/TZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/UA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/UG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/US.js create mode 100644 client/node_modules/caniuse-lite/data/regions/UY.js create mode 100644 client/node_modules/caniuse-lite/data/regions/UZ.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VC.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VG.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VI.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VN.js create mode 100644 client/node_modules/caniuse-lite/data/regions/VU.js create mode 100644 client/node_modules/caniuse-lite/data/regions/WF.js create mode 100644 client/node_modules/caniuse-lite/data/regions/WS.js create mode 100644 client/node_modules/caniuse-lite/data/regions/YE.js create mode 100644 client/node_modules/caniuse-lite/data/regions/YT.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ZA.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ZM.js create mode 100644 client/node_modules/caniuse-lite/data/regions/ZW.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-af.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-an.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-as.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-eu.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-na.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-oc.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-sa.js create mode 100644 client/node_modules/caniuse-lite/data/regions/alt-ww.js create mode 100644 client/node_modules/caniuse-lite/dist/lib/statuses.js create mode 100644 client/node_modules/caniuse-lite/dist/lib/supported.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/agents.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/browserVersions.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/browsers.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/feature.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/features.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/index.js create mode 100644 client/node_modules/caniuse-lite/dist/unpacker/region.js create mode 100644 client/node_modules/caniuse-lite/package.json create mode 100644 client/node_modules/combined-stream/License create mode 100644 client/node_modules/combined-stream/Readme.md create mode 100644 client/node_modules/combined-stream/lib/combined_stream.js create mode 100644 client/node_modules/combined-stream/package.json create mode 100644 client/node_modules/combined-stream/yarn.lock create mode 100644 client/node_modules/convert-source-map/LICENSE create mode 100644 client/node_modules/convert-source-map/README.md create mode 100644 client/node_modules/convert-source-map/index.js create mode 100644 client/node_modules/convert-source-map/package.json create mode 100644 client/node_modules/debug/LICENSE create mode 100644 client/node_modules/debug/README.md create mode 100644 client/node_modules/debug/package.json create mode 100644 client/node_modules/debug/src/browser.js create mode 100644 client/node_modules/debug/src/common.js create mode 100644 client/node_modules/debug/src/index.js create mode 100644 client/node_modules/debug/src/node.js create mode 100644 client/node_modules/delayed-stream/.npmignore create mode 100644 client/node_modules/delayed-stream/License create mode 100644 client/node_modules/delayed-stream/Makefile create mode 100644 client/node_modules/delayed-stream/Readme.md create mode 100644 client/node_modules/delayed-stream/lib/delayed_stream.js create mode 100644 client/node_modules/delayed-stream/package.json create mode 100644 client/node_modules/dunder-proto/.eslintrc create mode 100644 client/node_modules/dunder-proto/.github/FUNDING.yml create mode 100644 client/node_modules/dunder-proto/.nycrc create mode 100644 client/node_modules/dunder-proto/CHANGELOG.md create mode 100644 client/node_modules/dunder-proto/LICENSE create mode 100644 client/node_modules/dunder-proto/README.md create mode 100644 client/node_modules/dunder-proto/get.d.ts create mode 100644 client/node_modules/dunder-proto/get.js create mode 100644 client/node_modules/dunder-proto/package.json create mode 100644 client/node_modules/dunder-proto/set.d.ts create mode 100644 client/node_modules/dunder-proto/set.js create mode 100644 client/node_modules/dunder-proto/test/get.js create mode 100644 client/node_modules/dunder-proto/test/index.js create mode 100644 client/node_modules/dunder-proto/test/set.js create mode 100644 client/node_modules/dunder-proto/tsconfig.json create mode 100644 client/node_modules/electron-to-chromium/LICENSE create mode 100644 client/node_modules/electron-to-chromium/README.md create mode 100644 client/node_modules/electron-to-chromium/chromium-versions.js create mode 100644 client/node_modules/electron-to-chromium/chromium-versions.json create mode 100644 client/node_modules/electron-to-chromium/full-chromium-versions.js create mode 100644 client/node_modules/electron-to-chromium/full-chromium-versions.json create mode 100644 client/node_modules/electron-to-chromium/full-versions.js create mode 100644 client/node_modules/electron-to-chromium/full-versions.json create mode 100644 client/node_modules/electron-to-chromium/index.js create mode 100644 client/node_modules/electron-to-chromium/package.json create mode 100644 client/node_modules/electron-to-chromium/versions.js create mode 100644 client/node_modules/electron-to-chromium/versions.json create mode 100644 client/node_modules/es-define-property/.eslintrc create mode 100644 client/node_modules/es-define-property/.github/FUNDING.yml create mode 100644 client/node_modules/es-define-property/.nycrc create mode 100644 client/node_modules/es-define-property/CHANGELOG.md create mode 100644 client/node_modules/es-define-property/LICENSE create mode 100644 client/node_modules/es-define-property/README.md create mode 100644 client/node_modules/es-define-property/index.d.ts create mode 100644 client/node_modules/es-define-property/index.js create mode 100644 client/node_modules/es-define-property/package.json create mode 100644 client/node_modules/es-define-property/test/index.js create mode 100644 client/node_modules/es-define-property/tsconfig.json create mode 100644 client/node_modules/es-errors/.eslintrc create mode 100644 client/node_modules/es-errors/.github/FUNDING.yml create mode 100644 client/node_modules/es-errors/CHANGELOG.md create mode 100644 client/node_modules/es-errors/LICENSE create mode 100644 client/node_modules/es-errors/README.md create mode 100644 client/node_modules/es-errors/eval.d.ts create mode 100644 client/node_modules/es-errors/eval.js create mode 100644 client/node_modules/es-errors/index.d.ts create mode 100644 client/node_modules/es-errors/index.js create mode 100644 client/node_modules/es-errors/package.json create mode 100644 client/node_modules/es-errors/range.d.ts create mode 100644 client/node_modules/es-errors/range.js create mode 100644 client/node_modules/es-errors/ref.d.ts create mode 100644 client/node_modules/es-errors/ref.js create mode 100644 client/node_modules/es-errors/syntax.d.ts create mode 100644 client/node_modules/es-errors/syntax.js create mode 100644 client/node_modules/es-errors/test/index.js create mode 100644 client/node_modules/es-errors/tsconfig.json create mode 100644 client/node_modules/es-errors/type.d.ts create mode 100644 client/node_modules/es-errors/type.js create mode 100644 client/node_modules/es-errors/uri.d.ts create mode 100644 client/node_modules/es-errors/uri.js create mode 100644 client/node_modules/es-object-atoms/.eslintrc create mode 100644 client/node_modules/es-object-atoms/.github/FUNDING.yml create mode 100644 client/node_modules/es-object-atoms/CHANGELOG.md create mode 100644 client/node_modules/es-object-atoms/LICENSE create mode 100644 client/node_modules/es-object-atoms/README.md create mode 100644 client/node_modules/es-object-atoms/RequireObjectCoercible.d.ts create mode 100644 client/node_modules/es-object-atoms/RequireObjectCoercible.js create mode 100644 client/node_modules/es-object-atoms/ToObject.d.ts create mode 100644 client/node_modules/es-object-atoms/ToObject.js create mode 100644 client/node_modules/es-object-atoms/index.d.ts create mode 100644 client/node_modules/es-object-atoms/index.js create mode 100644 client/node_modules/es-object-atoms/isObject.d.ts create mode 100644 client/node_modules/es-object-atoms/isObject.js create mode 100644 client/node_modules/es-object-atoms/package.json create mode 100644 client/node_modules/es-object-atoms/test/index.js create mode 100644 client/node_modules/es-object-atoms/tsconfig.json create mode 100644 client/node_modules/es-set-tostringtag/.eslintrc create mode 100644 client/node_modules/es-set-tostringtag/.nycrc create mode 100644 client/node_modules/es-set-tostringtag/CHANGELOG.md create mode 100644 client/node_modules/es-set-tostringtag/LICENSE create mode 100644 client/node_modules/es-set-tostringtag/README.md create mode 100644 client/node_modules/es-set-tostringtag/index.d.ts create mode 100644 client/node_modules/es-set-tostringtag/index.js create mode 100644 client/node_modules/es-set-tostringtag/package.json create mode 100644 client/node_modules/es-set-tostringtag/test/index.js create mode 100644 client/node_modules/es-set-tostringtag/tsconfig.json create mode 100644 client/node_modules/esbuild/LICENSE.md create mode 100644 client/node_modules/esbuild/README.md create mode 100644 client/node_modules/esbuild/bin/esbuild create mode 100644 client/node_modules/esbuild/install.js create mode 100644 client/node_modules/esbuild/lib/main.d.ts create mode 100644 client/node_modules/esbuild/lib/main.js create mode 100644 client/node_modules/esbuild/package.json create mode 100644 client/node_modules/escalade/dist/index.js create mode 100644 client/node_modules/escalade/dist/index.mjs create mode 100644 client/node_modules/escalade/index.d.mts create mode 100644 client/node_modules/escalade/index.d.ts create mode 100644 client/node_modules/escalade/license create mode 100644 client/node_modules/escalade/package.json create mode 100644 client/node_modules/escalade/readme.md create mode 100644 client/node_modules/escalade/sync/index.d.mts create mode 100644 client/node_modules/escalade/sync/index.d.ts create mode 100644 client/node_modules/escalade/sync/index.js create mode 100644 client/node_modules/escalade/sync/index.mjs create mode 100644 client/node_modules/follow-redirects/LICENSE create mode 100644 client/node_modules/follow-redirects/README.md create mode 100644 client/node_modules/follow-redirects/debug.js create mode 100644 client/node_modules/follow-redirects/http.js create mode 100644 client/node_modules/follow-redirects/https.js create mode 100644 client/node_modules/follow-redirects/index.js create mode 100644 client/node_modules/follow-redirects/package.json create mode 100644 client/node_modules/form-data/CHANGELOG.md create mode 100644 client/node_modules/form-data/License create mode 100644 client/node_modules/form-data/README.md create mode 100644 client/node_modules/form-data/index.d.ts create mode 100644 client/node_modules/form-data/lib/browser.js create mode 100644 client/node_modules/form-data/lib/form_data.js create mode 100644 client/node_modules/form-data/lib/populate.js create mode 100644 client/node_modules/form-data/package.json create mode 100644 client/node_modules/function-bind/.eslintrc create mode 100644 client/node_modules/function-bind/.github/FUNDING.yml create mode 100644 client/node_modules/function-bind/.github/SECURITY.md create mode 100644 client/node_modules/function-bind/.nycrc create mode 100644 client/node_modules/function-bind/CHANGELOG.md create mode 100644 client/node_modules/function-bind/LICENSE create mode 100644 client/node_modules/function-bind/README.md create mode 100644 client/node_modules/function-bind/implementation.js create mode 100644 client/node_modules/function-bind/index.js create mode 100644 client/node_modules/function-bind/package.json create mode 100644 client/node_modules/function-bind/test/.eslintrc create mode 100644 client/node_modules/function-bind/test/index.js create mode 100644 client/node_modules/gensync/LICENSE create mode 100644 client/node_modules/gensync/README.md create mode 100644 client/node_modules/gensync/index.js create mode 100644 client/node_modules/gensync/index.js.flow create mode 100644 client/node_modules/gensync/package.json create mode 100644 client/node_modules/gensync/test/.babelrc create mode 100644 client/node_modules/gensync/test/index.test.js create mode 100644 client/node_modules/get-intrinsic/.eslintrc create mode 100644 client/node_modules/get-intrinsic/.github/FUNDING.yml create mode 100644 client/node_modules/get-intrinsic/.nycrc create mode 100644 client/node_modules/get-intrinsic/CHANGELOG.md create mode 100644 client/node_modules/get-intrinsic/LICENSE create mode 100644 client/node_modules/get-intrinsic/README.md create mode 100644 client/node_modules/get-intrinsic/index.js create mode 100644 client/node_modules/get-intrinsic/package.json create mode 100644 client/node_modules/get-intrinsic/test/GetIntrinsic.js create mode 100644 client/node_modules/get-proto/.eslintrc create mode 100644 client/node_modules/get-proto/.github/FUNDING.yml create mode 100644 client/node_modules/get-proto/.nycrc create mode 100644 client/node_modules/get-proto/CHANGELOG.md create mode 100644 client/node_modules/get-proto/LICENSE create mode 100644 client/node_modules/get-proto/Object.getPrototypeOf.d.ts create mode 100644 client/node_modules/get-proto/Object.getPrototypeOf.js create mode 100644 client/node_modules/get-proto/README.md create mode 100644 client/node_modules/get-proto/Reflect.getPrototypeOf.d.ts create mode 100644 client/node_modules/get-proto/Reflect.getPrototypeOf.js create mode 100644 client/node_modules/get-proto/index.d.ts create mode 100644 client/node_modules/get-proto/index.js create mode 100644 client/node_modules/get-proto/package.json create mode 100644 client/node_modules/get-proto/test/index.js create mode 100644 client/node_modules/get-proto/tsconfig.json create mode 100644 client/node_modules/gopd/.eslintrc create mode 100644 client/node_modules/gopd/.github/FUNDING.yml create mode 100644 client/node_modules/gopd/CHANGELOG.md create mode 100644 client/node_modules/gopd/LICENSE create mode 100644 client/node_modules/gopd/README.md create mode 100644 client/node_modules/gopd/gOPD.d.ts create mode 100644 client/node_modules/gopd/gOPD.js create mode 100644 client/node_modules/gopd/index.d.ts create mode 100644 client/node_modules/gopd/index.js create mode 100644 client/node_modules/gopd/package.json create mode 100644 client/node_modules/gopd/test/index.js create mode 100644 client/node_modules/gopd/tsconfig.json create mode 100644 client/node_modules/has-symbols/.eslintrc create mode 100644 client/node_modules/has-symbols/.github/FUNDING.yml create mode 100644 client/node_modules/has-symbols/.nycrc create mode 100644 client/node_modules/has-symbols/CHANGELOG.md create mode 100644 client/node_modules/has-symbols/LICENSE create mode 100644 client/node_modules/has-symbols/README.md create mode 100644 client/node_modules/has-symbols/index.d.ts create mode 100644 client/node_modules/has-symbols/index.js create mode 100644 client/node_modules/has-symbols/package.json create mode 100644 client/node_modules/has-symbols/shams.d.ts create mode 100644 client/node_modules/has-symbols/shams.js create mode 100644 client/node_modules/has-symbols/test/index.js create mode 100644 client/node_modules/has-symbols/test/shams/core-js.js create mode 100644 client/node_modules/has-symbols/test/shams/get-own-property-symbols.js create mode 100644 client/node_modules/has-symbols/test/tests.js create mode 100644 client/node_modules/has-symbols/tsconfig.json create mode 100644 client/node_modules/has-tostringtag/.eslintrc create mode 100644 client/node_modules/has-tostringtag/.github/FUNDING.yml create mode 100644 client/node_modules/has-tostringtag/.nycrc create mode 100644 client/node_modules/has-tostringtag/CHANGELOG.md create mode 100644 client/node_modules/has-tostringtag/LICENSE create mode 100644 client/node_modules/has-tostringtag/README.md create mode 100644 client/node_modules/has-tostringtag/index.d.ts create mode 100644 client/node_modules/has-tostringtag/index.js create mode 100644 client/node_modules/has-tostringtag/package.json create mode 100644 client/node_modules/has-tostringtag/shams.d.ts create mode 100644 client/node_modules/has-tostringtag/shams.js create mode 100644 client/node_modules/has-tostringtag/test/index.js create mode 100644 client/node_modules/has-tostringtag/test/shams/core-js.js create mode 100644 client/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js create mode 100644 client/node_modules/has-tostringtag/test/tests.js create mode 100644 client/node_modules/has-tostringtag/tsconfig.json create mode 100644 client/node_modules/hasown/.github/FUNDING.yml create mode 100644 client/node_modules/hasown/.nycrc create mode 100644 client/node_modules/hasown/CHANGELOG.md create mode 100644 client/node_modules/hasown/LICENSE create mode 100644 client/node_modules/hasown/README.md create mode 100644 client/node_modules/hasown/eslint.config.mjs create mode 100644 client/node_modules/hasown/index.d.ts create mode 100644 client/node_modules/hasown/index.js create mode 100644 client/node_modules/hasown/package.json create mode 100644 client/node_modules/hasown/tsconfig.json create mode 100644 client/node_modules/https-proxy-agent/README.md create mode 100644 client/node_modules/https-proxy-agent/dist/agent.d.ts create mode 100644 client/node_modules/https-proxy-agent/dist/agent.js create mode 100644 client/node_modules/https-proxy-agent/dist/agent.js.map create mode 100644 client/node_modules/https-proxy-agent/dist/index.d.ts create mode 100644 client/node_modules/https-proxy-agent/dist/index.js create mode 100644 client/node_modules/https-proxy-agent/dist/index.js.map create mode 100644 client/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts create mode 100644 client/node_modules/https-proxy-agent/dist/parse-proxy-response.js create mode 100644 client/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map create mode 100644 client/node_modules/https-proxy-agent/package.json create mode 100644 client/node_modules/js-tokens/CHANGELOG.md create mode 100644 client/node_modules/js-tokens/LICENSE create mode 100644 client/node_modules/js-tokens/README.md create mode 100644 client/node_modules/js-tokens/index.js create mode 100644 client/node_modules/js-tokens/package.json create mode 100644 client/node_modules/jsesc/LICENSE-MIT.txt create mode 100644 client/node_modules/jsesc/README.md create mode 100644 client/node_modules/jsesc/bin/jsesc create mode 100644 client/node_modules/jsesc/jsesc.js create mode 100644 client/node_modules/jsesc/man/jsesc.1 create mode 100644 client/node_modules/jsesc/package.json create mode 100644 client/node_modules/json5/LICENSE.md create mode 100644 client/node_modules/json5/README.md create mode 100644 client/node_modules/json5/dist/index.js create mode 100644 client/node_modules/json5/dist/index.min.js create mode 100644 client/node_modules/json5/dist/index.min.mjs create mode 100644 client/node_modules/json5/dist/index.mjs create mode 100644 client/node_modules/json5/lib/cli.js create mode 100644 client/node_modules/json5/lib/index.d.ts create mode 100644 client/node_modules/json5/lib/index.js create mode 100644 client/node_modules/json5/lib/parse.d.ts create mode 100644 client/node_modules/json5/lib/parse.js create mode 100644 client/node_modules/json5/lib/register.js create mode 100644 client/node_modules/json5/lib/require.js create mode 100644 client/node_modules/json5/lib/stringify.d.ts create mode 100644 client/node_modules/json5/lib/stringify.js create mode 100644 client/node_modules/json5/lib/unicode.d.ts create mode 100644 client/node_modules/json5/lib/unicode.js create mode 100644 client/node_modules/json5/lib/util.d.ts create mode 100644 client/node_modules/json5/lib/util.js create mode 100644 client/node_modules/json5/package.json create mode 100644 client/node_modules/loose-envify/LICENSE create mode 100644 client/node_modules/loose-envify/README.md create mode 100644 client/node_modules/loose-envify/cli.js create mode 100644 client/node_modules/loose-envify/custom.js create mode 100644 client/node_modules/loose-envify/index.js create mode 100644 client/node_modules/loose-envify/loose-envify.js create mode 100644 client/node_modules/loose-envify/package.json create mode 100644 client/node_modules/loose-envify/replace.js create mode 100644 client/node_modules/lru-cache/LICENSE create mode 100644 client/node_modules/lru-cache/README.md create mode 100644 client/node_modules/lru-cache/index.js create mode 100644 client/node_modules/lru-cache/package.json create mode 100644 client/node_modules/math-intrinsics/.eslintrc create mode 100644 client/node_modules/math-intrinsics/.github/FUNDING.yml create mode 100644 client/node_modules/math-intrinsics/CHANGELOG.md create mode 100644 client/node_modules/math-intrinsics/LICENSE create mode 100644 client/node_modules/math-intrinsics/README.md create mode 100644 client/node_modules/math-intrinsics/abs.d.ts create mode 100644 client/node_modules/math-intrinsics/abs.js create mode 100644 client/node_modules/math-intrinsics/constants/maxArrayLength.d.ts create mode 100644 client/node_modules/math-intrinsics/constants/maxArrayLength.js create mode 100644 client/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts create mode 100644 client/node_modules/math-intrinsics/constants/maxSafeInteger.js create mode 100644 client/node_modules/math-intrinsics/constants/maxValue.d.ts create mode 100644 client/node_modules/math-intrinsics/constants/maxValue.js create mode 100644 client/node_modules/math-intrinsics/floor.d.ts create mode 100644 client/node_modules/math-intrinsics/floor.js create mode 100644 client/node_modules/math-intrinsics/isFinite.d.ts create mode 100644 client/node_modules/math-intrinsics/isFinite.js create mode 100644 client/node_modules/math-intrinsics/isInteger.d.ts create mode 100644 client/node_modules/math-intrinsics/isInteger.js create mode 100644 client/node_modules/math-intrinsics/isNaN.d.ts create mode 100644 client/node_modules/math-intrinsics/isNaN.js create mode 100644 client/node_modules/math-intrinsics/isNegativeZero.d.ts create mode 100644 client/node_modules/math-intrinsics/isNegativeZero.js create mode 100644 client/node_modules/math-intrinsics/max.d.ts create mode 100644 client/node_modules/math-intrinsics/max.js create mode 100644 client/node_modules/math-intrinsics/min.d.ts create mode 100644 client/node_modules/math-intrinsics/min.js create mode 100644 client/node_modules/math-intrinsics/mod.d.ts create mode 100644 client/node_modules/math-intrinsics/mod.js create mode 100644 client/node_modules/math-intrinsics/package.json create mode 100644 client/node_modules/math-intrinsics/pow.d.ts create mode 100644 client/node_modules/math-intrinsics/pow.js create mode 100644 client/node_modules/math-intrinsics/round.d.ts create mode 100644 client/node_modules/math-intrinsics/round.js create mode 100644 client/node_modules/math-intrinsics/sign.d.ts create mode 100644 client/node_modules/math-intrinsics/sign.js create mode 100644 client/node_modules/math-intrinsics/test/index.js create mode 100644 client/node_modules/math-intrinsics/tsconfig.json create mode 100644 client/node_modules/mime-db/HISTORY.md create mode 100644 client/node_modules/mime-db/LICENSE create mode 100644 client/node_modules/mime-db/README.md create mode 100644 client/node_modules/mime-db/db.json create mode 100644 client/node_modules/mime-db/index.js create mode 100644 client/node_modules/mime-db/package.json create mode 100644 client/node_modules/mime-types/HISTORY.md create mode 100644 client/node_modules/mime-types/LICENSE create mode 100644 client/node_modules/mime-types/README.md create mode 100644 client/node_modules/mime-types/index.js create mode 100644 client/node_modules/mime-types/package.json create mode 100644 client/node_modules/ms/index.js create mode 100644 client/node_modules/ms/license.md create mode 100644 client/node_modules/ms/package.json create mode 100644 client/node_modules/ms/readme.md create mode 100644 client/node_modules/nanoid/LICENSE create mode 100644 client/node_modules/nanoid/README.md create mode 100644 client/node_modules/nanoid/async/index.browser.cjs create mode 100644 client/node_modules/nanoid/async/index.browser.js create mode 100644 client/node_modules/nanoid/async/index.cjs create mode 100644 client/node_modules/nanoid/async/index.d.ts create mode 100644 client/node_modules/nanoid/async/index.js create mode 100644 client/node_modules/nanoid/async/index.native.js create mode 100644 client/node_modules/nanoid/async/package.json create mode 100644 client/node_modules/nanoid/bin/nanoid.cjs create mode 100644 client/node_modules/nanoid/index.browser.cjs create mode 100644 client/node_modules/nanoid/index.browser.js create mode 100644 client/node_modules/nanoid/index.cjs create mode 100644 client/node_modules/nanoid/index.d.cts create mode 100644 client/node_modules/nanoid/index.d.ts create mode 100644 client/node_modules/nanoid/index.js create mode 100644 client/node_modules/nanoid/nanoid.js create mode 100644 client/node_modules/nanoid/non-secure/index.cjs create mode 100644 client/node_modules/nanoid/non-secure/index.d.ts create mode 100644 client/node_modules/nanoid/non-secure/index.js create mode 100644 client/node_modules/nanoid/non-secure/package.json create mode 100644 client/node_modules/nanoid/package.json create mode 100644 client/node_modules/nanoid/url-alphabet/index.cjs create mode 100644 client/node_modules/nanoid/url-alphabet/index.js create mode 100644 client/node_modules/nanoid/url-alphabet/package.json create mode 100644 client/node_modules/node-releases/LICENSE create mode 100644 client/node_modules/node-releases/README.md create mode 100644 client/node_modules/node-releases/data/processed/envs.json create mode 100644 client/node_modules/node-releases/data/release-schedule/release-schedule.json create mode 100644 client/node_modules/node-releases/package.json create mode 100644 client/node_modules/picocolors/LICENSE create mode 100644 client/node_modules/picocolors/README.md create mode 100644 client/node_modules/picocolors/package.json create mode 100644 client/node_modules/picocolors/picocolors.browser.js create mode 100644 client/node_modules/picocolors/picocolors.d.ts create mode 100644 client/node_modules/picocolors/picocolors.js create mode 100644 client/node_modules/picocolors/types.d.ts create mode 100644 client/node_modules/postcss/LICENSE create mode 100644 client/node_modules/postcss/README.md create mode 100644 client/node_modules/postcss/lib/at-rule.d.ts create mode 100644 client/node_modules/postcss/lib/at-rule.js create mode 100644 client/node_modules/postcss/lib/comment.d.ts create mode 100644 client/node_modules/postcss/lib/comment.js create mode 100644 client/node_modules/postcss/lib/container.d.ts create mode 100644 client/node_modules/postcss/lib/container.js create mode 100644 client/node_modules/postcss/lib/css-syntax-error.d.ts create mode 100644 client/node_modules/postcss/lib/css-syntax-error.js create mode 100644 client/node_modules/postcss/lib/declaration.d.ts create mode 100644 client/node_modules/postcss/lib/declaration.js create mode 100644 client/node_modules/postcss/lib/document.d.ts create mode 100644 client/node_modules/postcss/lib/document.js create mode 100644 client/node_modules/postcss/lib/fromJSON.d.ts create mode 100644 client/node_modules/postcss/lib/fromJSON.js create mode 100644 client/node_modules/postcss/lib/input.d.ts create mode 100644 client/node_modules/postcss/lib/input.js create mode 100644 client/node_modules/postcss/lib/lazy-result.d.ts create mode 100644 client/node_modules/postcss/lib/lazy-result.js create mode 100644 client/node_modules/postcss/lib/list.d.ts create mode 100644 client/node_modules/postcss/lib/list.js create mode 100644 client/node_modules/postcss/lib/map-generator.js create mode 100644 client/node_modules/postcss/lib/no-work-result.d.ts create mode 100644 client/node_modules/postcss/lib/no-work-result.js create mode 100644 client/node_modules/postcss/lib/node.d.ts create mode 100644 client/node_modules/postcss/lib/node.js create mode 100644 client/node_modules/postcss/lib/parse.d.ts create mode 100644 client/node_modules/postcss/lib/parse.js create mode 100644 client/node_modules/postcss/lib/parser.js create mode 100644 client/node_modules/postcss/lib/postcss.d.mts create mode 100644 client/node_modules/postcss/lib/postcss.d.ts create mode 100644 client/node_modules/postcss/lib/postcss.js create mode 100644 client/node_modules/postcss/lib/postcss.mjs create mode 100644 client/node_modules/postcss/lib/previous-map.d.ts create mode 100644 client/node_modules/postcss/lib/previous-map.js create mode 100644 client/node_modules/postcss/lib/processor.d.ts create mode 100644 client/node_modules/postcss/lib/processor.js create mode 100644 client/node_modules/postcss/lib/result.d.ts create mode 100644 client/node_modules/postcss/lib/result.js create mode 100644 client/node_modules/postcss/lib/root.d.ts create mode 100644 client/node_modules/postcss/lib/root.js create mode 100644 client/node_modules/postcss/lib/rule.d.ts create mode 100644 client/node_modules/postcss/lib/rule.js create mode 100644 client/node_modules/postcss/lib/stringifier.d.ts create mode 100644 client/node_modules/postcss/lib/stringifier.js create mode 100644 client/node_modules/postcss/lib/stringify.d.ts create mode 100644 client/node_modules/postcss/lib/stringify.js create mode 100644 client/node_modules/postcss/lib/symbols.js create mode 100644 client/node_modules/postcss/lib/terminal-highlight.js create mode 100644 client/node_modules/postcss/lib/tokenize.js create mode 100644 client/node_modules/postcss/lib/warn-once.js create mode 100644 client/node_modules/postcss/lib/warning.d.ts create mode 100644 client/node_modules/postcss/lib/warning.js create mode 100644 client/node_modules/postcss/package.json create mode 100644 client/node_modules/proxy-from-env/LICENSE create mode 100644 client/node_modules/proxy-from-env/README.md create mode 100644 client/node_modules/proxy-from-env/index.cjs create mode 100644 client/node_modules/proxy-from-env/index.js create mode 100644 client/node_modules/proxy-from-env/package.json create mode 100644 client/node_modules/react-dom/LICENSE create mode 100644 client/node_modules/react-dom/README.md create mode 100644 client/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server.browser.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server.node.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-server.node.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-test-utils.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom.development.js create mode 100644 client/node_modules/react-dom/cjs/react-dom.production.min.js create mode 100644 client/node_modules/react-dom/cjs/react-dom.profiling.min.js create mode 100644 client/node_modules/react-dom/client.js create mode 100644 client/node_modules/react-dom/index.js create mode 100644 client/node_modules/react-dom/package.json create mode 100644 client/node_modules/react-dom/profiling.js create mode 100644 client/node_modules/react-dom/server.browser.js create mode 100644 client/node_modules/react-dom/server.js create mode 100644 client/node_modules/react-dom/server.node.js create mode 100644 client/node_modules/react-dom/test-utils.js create mode 100644 client/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js create mode 100644 client/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js create mode 100644 client/node_modules/react-dom/umd/react-dom-server.browser.development.js create mode 100644 client/node_modules/react-dom/umd/react-dom-server.browser.production.min.js create mode 100644 client/node_modules/react-dom/umd/react-dom-test-utils.development.js create mode 100644 client/node_modules/react-dom/umd/react-dom-test-utils.production.min.js create mode 100644 client/node_modules/react-dom/umd/react-dom.development.js create mode 100644 client/node_modules/react-dom/umd/react-dom.production.min.js create mode 100644 client/node_modules/react-dom/umd/react-dom.profiling.min.js create mode 100644 client/node_modules/react-refresh/LICENSE create mode 100644 client/node_modules/react-refresh/README.md create mode 100644 client/node_modules/react-refresh/babel.js create mode 100644 client/node_modules/react-refresh/cjs/react-refresh-babel.development.js create mode 100644 client/node_modules/react-refresh/cjs/react-refresh-babel.production.js create mode 100644 client/node_modules/react-refresh/cjs/react-refresh-runtime.development.js create mode 100644 client/node_modules/react-refresh/cjs/react-refresh-runtime.production.js create mode 100644 client/node_modules/react-refresh/package.json create mode 100644 client/node_modules/react-refresh/runtime.js create mode 100644 client/node_modules/react/LICENSE create mode 100644 client/node_modules/react/README.md create mode 100644 client/node_modules/react/cjs/react-jsx-dev-runtime.development.js create mode 100644 client/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js create mode 100644 client/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js create mode 100644 client/node_modules/react/cjs/react-jsx-runtime.development.js create mode 100644 client/node_modules/react/cjs/react-jsx-runtime.production.min.js create mode 100644 client/node_modules/react/cjs/react-jsx-runtime.profiling.min.js create mode 100644 client/node_modules/react/cjs/react.development.js create mode 100644 client/node_modules/react/cjs/react.production.min.js create mode 100644 client/node_modules/react/cjs/react.shared-subset.development.js create mode 100644 client/node_modules/react/cjs/react.shared-subset.production.min.js create mode 100644 client/node_modules/react/index.js create mode 100644 client/node_modules/react/jsx-dev-runtime.js create mode 100644 client/node_modules/react/jsx-runtime.js create mode 100644 client/node_modules/react/package.json create mode 100644 client/node_modules/react/react.shared-subset.js create mode 100644 client/node_modules/react/umd/react.development.js create mode 100644 client/node_modules/react/umd/react.production.min.js create mode 100644 client/node_modules/react/umd/react.profiling.min.js create mode 100644 client/node_modules/rollup/LICENSE.md create mode 100644 client/node_modules/rollup/README.md create mode 100644 client/node_modules/rollup/dist/bin/rollup create mode 100644 client/node_modules/rollup/dist/es/getLogFilter.js create mode 100644 client/node_modules/rollup/dist/es/package.json create mode 100644 client/node_modules/rollup/dist/es/parseAst.js create mode 100644 client/node_modules/rollup/dist/es/rollup.js create mode 100644 client/node_modules/rollup/dist/es/shared/node-entry.js create mode 100644 client/node_modules/rollup/dist/es/shared/parseAst.js create mode 100644 client/node_modules/rollup/dist/es/shared/watch.js create mode 100644 client/node_modules/rollup/dist/getLogFilter.d.ts create mode 100644 client/node_modules/rollup/dist/getLogFilter.js create mode 100644 client/node_modules/rollup/dist/loadConfigFile.d.ts create mode 100644 client/node_modules/rollup/dist/loadConfigFile.js create mode 100644 client/node_modules/rollup/dist/native.js create mode 100644 client/node_modules/rollup/dist/parseAst.d.ts create mode 100644 client/node_modules/rollup/dist/parseAst.js create mode 100644 client/node_modules/rollup/dist/rollup.d.ts create mode 100644 client/node_modules/rollup/dist/rollup.js create mode 100644 client/node_modules/rollup/dist/shared/fsevents-importer.js create mode 100644 client/node_modules/rollup/dist/shared/index.js create mode 100644 client/node_modules/rollup/dist/shared/loadConfigFile.js create mode 100644 client/node_modules/rollup/dist/shared/parseAst.js create mode 100644 client/node_modules/rollup/dist/shared/rollup.js create mode 100644 client/node_modules/rollup/dist/shared/watch-cli.js create mode 100644 client/node_modules/rollup/dist/shared/watch.js create mode 100644 client/node_modules/rollup/package.json create mode 100644 client/node_modules/scheduler/LICENSE create mode 100644 client/node_modules/scheduler/README.md create mode 100644 client/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js create mode 100644 client/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js create mode 100644 client/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js create mode 100644 client/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.min.js create mode 100644 client/node_modules/scheduler/cjs/scheduler.development.js create mode 100644 client/node_modules/scheduler/cjs/scheduler.production.min.js create mode 100644 client/node_modules/scheduler/index.js create mode 100644 client/node_modules/scheduler/package.json create mode 100644 client/node_modules/scheduler/umd/scheduler-unstable_mock.development.js create mode 100644 client/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js create mode 100644 client/node_modules/scheduler/umd/scheduler.development.js create mode 100644 client/node_modules/scheduler/umd/scheduler.production.min.js create mode 100644 client/node_modules/scheduler/umd/scheduler.profiling.min.js create mode 100644 client/node_modules/scheduler/unstable_mock.js create mode 100644 client/node_modules/scheduler/unstable_post_task.js create mode 100644 client/node_modules/semver/LICENSE create mode 100644 client/node_modules/semver/README.md create mode 100644 client/node_modules/semver/bin/semver.js create mode 100644 client/node_modules/semver/package.json create mode 100644 client/node_modules/semver/range.bnf create mode 100644 client/node_modules/semver/semver.js create mode 100644 client/node_modules/source-map-js/LICENSE create mode 100644 client/node_modules/source-map-js/README.md create mode 100644 client/node_modules/source-map-js/lib/array-set.js create mode 100644 client/node_modules/source-map-js/lib/base64-vlq.js create mode 100644 client/node_modules/source-map-js/lib/base64.js create mode 100644 client/node_modules/source-map-js/lib/binary-search.js create mode 100644 client/node_modules/source-map-js/lib/mapping-list.js create mode 100644 client/node_modules/source-map-js/lib/quick-sort.js create mode 100644 client/node_modules/source-map-js/lib/source-map-consumer.d.ts create mode 100644 client/node_modules/source-map-js/lib/source-map-consumer.js create mode 100644 client/node_modules/source-map-js/lib/source-map-generator.d.ts create mode 100644 client/node_modules/source-map-js/lib/source-map-generator.js create mode 100644 client/node_modules/source-map-js/lib/source-node.d.ts create mode 100644 client/node_modules/source-map-js/lib/source-node.js create mode 100644 client/node_modules/source-map-js/lib/util.js create mode 100644 client/node_modules/source-map-js/package.json create mode 100644 client/node_modules/source-map-js/source-map.d.ts create mode 100644 client/node_modules/source-map-js/source-map.js create mode 100644 client/node_modules/update-browserslist-db/LICENSE create mode 100644 client/node_modules/update-browserslist-db/README.md create mode 100644 client/node_modules/update-browserslist-db/check-npm-version.js create mode 100644 client/node_modules/update-browserslist-db/cli.js create mode 100644 client/node_modules/update-browserslist-db/index.d.ts create mode 100644 client/node_modules/update-browserslist-db/index.js create mode 100644 client/node_modules/update-browserslist-db/package.json create mode 100644 client/node_modules/update-browserslist-db/utils.js create mode 100644 client/node_modules/vite/LICENSE.md create mode 100644 client/node_modules/vite/README.md create mode 100644 client/node_modules/vite/bin/openChrome.applescript create mode 100644 client/node_modules/vite/bin/vite.js create mode 100644 client/node_modules/vite/client.d.ts create mode 100644 client/node_modules/vite/dist/client/client.mjs create mode 100644 client/node_modules/vite/dist/client/env.mjs create mode 100644 client/node_modules/vite/dist/node-cjs/publicUtils.cjs create mode 100644 client/node_modules/vite/dist/node/chunks/dep-BB45zftN.js create mode 100644 client/node_modules/vite/dist/node/chunks/dep-BK3b2jBa.js create mode 100644 client/node_modules/vite/dist/node/chunks/dep-D-7KCb9p.js create mode 100644 client/node_modules/vite/dist/node/chunks/dep-Dnp7gl8U.js create mode 100644 client/node_modules/vite/dist/node/chunks/dep-IQS-Za7F.js create mode 100644 client/node_modules/vite/dist/node/cli.js create mode 100644 client/node_modules/vite/dist/node/constants.js create mode 100644 client/node_modules/vite/dist/node/index.d.ts create mode 100644 client/node_modules/vite/dist/node/index.js create mode 100644 client/node_modules/vite/dist/node/runtime.d.ts create mode 100644 client/node_modules/vite/dist/node/runtime.js create mode 100644 client/node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts create mode 100644 client/node_modules/vite/index.cjs create mode 100644 client/node_modules/vite/index.d.cts create mode 100644 client/node_modules/vite/package.json create mode 100644 client/node_modules/vite/types/customEvent.d.ts create mode 100644 client/node_modules/vite/types/hmrPayload.d.ts create mode 100644 client/node_modules/vite/types/hot.d.ts create mode 100644 client/node_modules/vite/types/import-meta.d.ts create mode 100644 client/node_modules/vite/types/importGlob.d.ts create mode 100644 client/node_modules/vite/types/importMeta.d.ts create mode 100644 client/node_modules/vite/types/metadata.d.ts create mode 100644 client/node_modules/vite/types/package.json create mode 100644 client/node_modules/yallist/LICENSE create mode 100644 client/node_modules/yallist/README.md create mode 100644 client/node_modules/yallist/iterator.js create mode 100644 client/node_modules/yallist/package.json create mode 100644 client/node_modules/yallist/yallist.js create mode 100644 client/package-lock.json create mode 100644 client/src/auth.js create mode 100644 client/src/components/LoginModal.jsx create mode 100644 client/src/components/UserManagementModal.jsx diff --git a/.claude/settings.local.json b/.claude/settings.local.json index f337615..4448ccf 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -9,7 +9,12 @@ "Bash(xargs -I {} git log --oneline -1 {})", "Bash(ls -la data)", "Bash(ls *.db)", - "Bash(find . -name \"cpas.db\" -not -path \"*/node_modules/*\")" + "Bash(find . -name \"cpas.db\" -not -path \"*/node_modules/*\")", + "Bash(npm run *)", + "Bash(npm install *)", + "Bash(node -e \"require\\('./auth.js'\\); console.log\\('auth.js OK'\\)\")", + "Bash(node --check auth.js)", + "Bash(node --check db/database.js)" ] } } diff --git a/Dockerfile b/Dockerfile index 5aa27ad..27961e3 100755 --- a/Dockerfile +++ b/Dockerfile @@ -23,6 +23,13 @@ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser ENV NODE_ENV=production ENV PORT=3001 ENV DB_PATH=/data/cpas.db +# ── Bootstrap admin credentials ─────────────────────────────────────────────── +# The admin account is created/synced from these on startup. OVERRIDE the +# password at deploy time, e.g.: +# docker run -e ADMIN_PASSWORD='your-strong-secret' ... +# Rotating ADMIN_PASSWORD here and restarting rotates the live admin credential. +ENV ADMIN_USERNAME=admin +ENV ADMIN_PASSWORD=changeme WORKDIR /app COPY --from=builder /build/node_modules ./node_modules COPY --from=builder /build/client/dist ./client/dist diff --git a/auth.js b/auth.js new file mode 100644 index 0000000..cc62a02 --- /dev/null +++ b/auth.js @@ -0,0 +1,157 @@ +const crypto = require('crypto'); +const db = require('./db/database'); + +// Sessions live for 7 days, after which the user must log in again. +const SESSION_TTL_MS = 1000 * 60 * 60 * 24 * 7; + +// ── Password hashing (scrypt, no external deps) ─────────────────────────────── +// Stored format: scrypt$$ +function hashPassword(password) { + const salt = crypto.randomBytes(16); + const hash = crypto.scryptSync(password, salt, 64); + return `scrypt$${salt.toString('hex')}$${hash.toString('hex')}`; +} + +function verifyPassword(password, stored) { + try { + const [scheme, saltHex, hashHex] = String(stored).split('$'); + if (scheme !== 'scrypt') return false; + const salt = Buffer.from(saltHex, 'hex'); + const expected = Buffer.from(hashHex, 'hex'); + const actual = crypto.scryptSync(password, salt, expected.length); + return crypto.timingSafeEqual(expected, actual); + } catch { + return false; + } +} + +// ── Bootstrap admin from environment ────────────────────────────────────────── +// Creates the admin account if missing, or re-syncs its password every startup +// so rotating ADMIN_PASSWORD in the container rotates the live credential. +// Because of this, the bootstrap admin's password cannot be changed from the UI +// — it is owned by the Docker environment. Additional users created in the UI +// are unaffected. +function bootstrapAdmin() { + const username = (process.env.ADMIN_USERNAME || 'admin').trim(); + const password = process.env.ADMIN_PASSWORD; + + if (!password) { + console.warn('[AUTH] ADMIN_PASSWORD is not set — admin account was NOT bootstrapped. Set it in the container environment.'); + return; + } + + const existing = db.prepare('SELECT * FROM users WHERE username = ?').get(username); + if (!existing) { + db.prepare('INSERT INTO users (username, password_hash, role) VALUES (?, ?, ?)') + .run(username, hashPassword(password), 'admin'); + console.log(`[AUTH] Bootstrapped admin user '${username}'.`); + } else { + db.prepare('UPDATE users SET password_hash = ?, role = ? WHERE id = ?') + .run(hashPassword(password), 'admin', existing.id); + console.log(`[AUTH] Synced admin user '${username}' password from environment.`); + } +} + +// ── User management ─────────────────────────────────────────────────────────── +function findUserByUsername(username) { + return db.prepare('SELECT * FROM users WHERE username = ?').get(String(username || '').trim()); +} + +function listUsers() { + return db.prepare('SELECT id, username, role, created_at FROM users ORDER BY username ASC').all(); +} + +function createUser({ username, password, role }) { + const uname = String(username || '').trim(); + if (!uname) throw Object.assign(new Error('username is required'), { status: 400 }); + if (!password) throw Object.assign(new Error('password is required'), { status: 400 }); + if (password.length < 6) throw Object.assign(new Error('password must be at least 6 characters'), { status: 400 }); + + const safeRole = role === 'admin' ? 'admin' : 'user'; + if (findUserByUsername(uname)) { + throw Object.assign(new Error('A user with that username already exists'), { status: 409 }); + } + + const result = db.prepare('INSERT INTO users (username, password_hash, role) VALUES (?, ?, ?)') + .run(uname, hashPassword(password), safeRole); + return { id: result.lastInsertRowid, username: uname, role: safeRole }; +} + +function deleteUser(id) { + return db.prepare('DELETE FROM users WHERE id = ?').run(id).changes > 0; +} + +function setPassword(id, password) { + if (!password || password.length < 6) { + throw Object.assign(new Error('password must be at least 6 characters'), { status: 400 }); + } + return db.prepare('UPDATE users SET password_hash = ? WHERE id = ?').run(hashPassword(password), id).changes > 0; +} + +// ── Sessions ────────────────────────────────────────────────────────────────── +function createSession(user) { + const token = crypto.randomBytes(32).toString('hex'); + const expires = new Date(Date.now() + SESSION_TTL_MS).toISOString(); + db.prepare('INSERT INTO sessions (token, user_id, expires_at) VALUES (?, ?, ?)') + .run(token, user.id, expires); + return token; +} + +function getSessionUser(token) { + if (!token) return null; + const row = db.prepare(` + SELECT s.expires_at, u.id, u.username, u.role + FROM sessions s JOIN users u ON u.id = s.user_id + WHERE s.token = ? + `).get(token); + if (!row) return null; + if (new Date(row.expires_at).getTime() < Date.now()) { + db.prepare('DELETE FROM sessions WHERE token = ?').run(token); + return null; + } + return { id: row.id, username: row.username, role: row.role }; +} + +function destroySession(token) { + if (token) db.prepare('DELETE FROM sessions WHERE token = ?').run(token); +} + +function login(username, password) { + const user = findUserByUsername(username); + if (!user || !verifyPassword(password, user.password_hash)) return null; + const token = createSession(user); + return { token, user: { id: user.id, username: user.username, role: user.role } }; +} + +// ── Express middleware ──────────────────────────────────────────────────────── +function tokenFromReq(req) { + const h = req.headers.authorization || ''; + return h.startsWith('Bearer ') ? h.slice(7) : null; +} + +function requireAuth(req, res, next) { + const user = getSessionUser(tokenFromReq(req)); + if (!user) return res.status(401).json({ error: 'Authentication required' }); + req.user = user; + req.authToken = tokenFromReq(req); + next(); +} + +function requireAdmin(req, res, next) { + if (!req.user || req.user.role !== 'admin') { + return res.status(403).json({ error: 'Admin access required' }); + } + next(); +} + +module.exports = { + bootstrapAdmin, + login, + destroySession, + listUsers, + createUser, + deleteUser, + setPassword, + requireAuth, + requireAdmin, +}; diff --git a/client/dist/assets/index-BoQf6yV_.css b/client/dist/assets/index-BoQf6yV_.css new file mode 100644 index 0000000..97ac3f5 --- /dev/null +++ b/client/dist/assets/index-BoQf6yV_.css @@ -0,0 +1 @@ +@media (max-width: 768px){*{-webkit-overflow-scrolling:touch}button,a,input,select{min-height:44px}input,select,textarea{font-size:16px!important}}@media (max-width: 1024px){.hide-tablet{display:none!important}}@media (max-width: 768px){.hide-mobile{display:none!important}.mobile-full-width{width:100%!important}.mobile-text-center{text-align:center!important}.mobile-no-padding{padding:0!important}.mobile-small-padding{padding:12px!important}.mobile-stack{flex-direction:column!important}.mobile-scroll-x{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.mobile-card{display:block!important;padding:16px;margin-bottom:12px;border-radius:8px;background:#181924;border:1px solid #2a2b3a}.mobile-card-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1c1d29}.mobile-card-row:last-child{border-bottom:none}.mobile-card-label{font-weight:600;color:#9ca0b8;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.mobile-card-value{font-weight:600;color:#f8f9fa;text-align:right}}@media (max-width: 480px){.hide-small-mobile{display:none!important}}@media (max-width: 768px){.mobile-sticky-top{position:sticky;top:0;z-index:100;background:#000}} diff --git a/client/dist/assets/index-CkShUZiL.js b/client/dist/assets/index-CkShUZiL.js new file mode 100644 index 0000000..ac87f89 --- /dev/null +++ b/client/dist/assets/index-CkShUZiL.js @@ -0,0 +1,416 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function Af(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Qu={exports:{}},si={},qu={exports:{}},q={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ur=Symbol.for("react.element"),Of=Symbol.for("react.portal"),Df=Symbol.for("react.fragment"),Lf=Symbol.for("react.strict_mode"),Ff=Symbol.for("react.profiler"),Bf=Symbol.for("react.provider"),If=Symbol.for("react.context"),Mf=Symbol.for("react.forward_ref"),Uf=Symbol.for("react.suspense"),$f=Symbol.for("react.memo"),Wf=Symbol.for("react.lazy"),ha=Symbol.iterator;function Hf(e){return e===null||typeof e!="object"?null:(e=ha&&e[ha]||e["@@iterator"],typeof e=="function"?e:null)}var Ku={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Yu=Object.assign,Xu={};function qn(e,t,n){this.props=e,this.context=t,this.refs=Xu,this.updater=n||Ku}qn.prototype.isReactComponent={};qn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};qn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gu(){}Gu.prototype=qn.prototype;function fs(e,t,n){this.props=e,this.context=t,this.refs=Xu,this.updater=n||Ku}var ps=fs.prototype=new Gu;ps.constructor=fs;Yu(ps,qn.prototype);ps.isPureReactComponent=!0;var ma=Array.isArray,Ju=Object.prototype.hasOwnProperty,hs={current:null},Zu={key:!0,ref:!0,__self:!0,__source:!0};function ec(e,t,n){var r,o={},i=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)Ju.call(t,r)&&!Zu.hasOwnProperty(r)&&(o[r]=t[r]);var a=arguments.length-2;if(a===1)o.children=n;else if(1>>1,le=z[K];if(0>>1;Ko(Fe,I))sto(Be,Fe)?(z[K]=Be,z[st]=I,K=st):(z[K]=Fe,z[Ce]=I,K=Ce);else if(sto(Be,I))z[K]=Be,z[st]=I,K=st;else break e}}return B}function o(z,B){var I=z.sortIndex-B.sortIndex;return I!==0?I:z.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var l=Date,a=l.now();e.unstable_now=function(){return l.now()-a}}var u=[],c=[],p=1,m=null,y=3,S=!1,x=!1,v=!1,g=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function h(z){for(var B=n(c);B!==null;){if(B.callback===null)r(c);else if(B.startTime<=z)r(c),B.sortIndex=B.expirationTime,t(u,B);else break;B=n(c)}}function b(z){if(v=!1,h(z),!x)if(n(u)!==null)x=!0,P(C);else{var B=n(c);B!==null&&$(b,B.startTime-z)}}function C(z,B){x=!1,v&&(v=!1,f(_),_=-1),S=!0;var I=y;try{for(h(B),m=n(u);m!==null&&(!(m.expirationTime>B)||z&&!X());){var K=m.callback;if(typeof K=="function"){m.callback=null,y=m.priorityLevel;var le=K(m.expirationTime<=B);B=e.unstable_now(),typeof le=="function"?m.callback=le:m===n(u)&&r(u),h(B)}else r(u);m=n(u)}if(m!==null)var de=!0;else{var Ce=n(c);Ce!==null&&$(b,Ce.startTime-B),de=!1}return de}finally{m=null,y=I,S=!1}}var j=!1,T=null,_=-1,Q=5,U=-1;function X(){return!(e.unstable_now()-Uz||125K?(z.sortIndex=I,t(c,z),n(u)===null&&z===n(c)&&(v?(f(_),_=-1):v=!0,$(b,I-K))):(z.sortIndex=le,t(u,z),x||S||(x=!0,P(C))),z},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(z){var B=y;return function(){var I=y;y=B;try{return z.apply(this,arguments)}finally{y=I}}}})(ic);oc.exports=ic;var np=oc.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var rp=k,Xe=np;function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fl=Object.prototype.hasOwnProperty,op=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ya={},xa={};function ip(e){return fl.call(xa,e)?!0:fl.call(ya,e)?!1:op.test(e)?xa[e]=!0:(ya[e]=!0,!1)}function lp(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function sp(e,t,n,r){if(t===null||typeof t>"u"||lp(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Le(e,t,n,r,o,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var je={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){je[e]=new Le(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];je[t]=new Le(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){je[e]=new Le(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){je[e]=new Le(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){je[e]=new Le(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){je[e]=new Le(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){je[e]=new Le(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){je[e]=new Le(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){je[e]=new Le(e,5,!1,e.toLowerCase(),null,!1,!1)});var gs=/[\-:]([a-z])/g;function ys(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(gs,ys);je[t]=new Le(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(gs,ys);je[t]=new Le(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(gs,ys);je[t]=new Le(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){je[e]=new Le(e,1,!1,e.toLowerCase(),null,!1,!1)});je.xlinkHref=new Le("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){je[e]=new Le(e,1,!1,e.toLowerCase(),null,!0,!0)});function xs(e,t,n,r){var o=je.hasOwnProperty(t)?je[t]:null;(o!==null?o.type!==0:r||!(2a||o[l]!==i[a]){var u=` +`+o[l].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=l&&0<=a);break}}}finally{Ai=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?cr(e):""}function ap(e){switch(e.tag){case 5:return cr(e.type);case 16:return cr("Lazy");case 13:return cr("Suspense");case 19:return cr("SuspenseList");case 0:case 2:case 15:return e=Oi(e.type,!1),e;case 11:return e=Oi(e.type.render,!1),e;case 1:return e=Oi(e.type,!0),e;default:return""}}function gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case bn:return"Fragment";case Sn:return"Portal";case pl:return"Profiler";case vs:return"StrictMode";case hl:return"Suspense";case ml:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ac:return(e.displayName||"Context")+".Consumer";case sc:return(e._context.displayName||"Context")+".Provider";case ws:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ss:return t=e.displayName||null,t!==null?t:gl(e.type)||"Memo";case Nt:t=e._payload,e=e._init;try{return gl(e(t))}catch{}}return null}function up(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return gl(t);case 8:return t===vs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Qt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function cc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function cp(e){var t=cc(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function to(e){e._valueTracker||(e._valueTracker=cp(e))}function dc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=cc(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Lo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function yl(e,t){var n=t.checked;return ue({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function wa(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Qt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function fc(e,t){t=t.checked,t!=null&&xs(e,"checked",t,!1)}function xl(e,t){fc(e,t);var n=Qt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?vl(e,t.type,n):t.hasOwnProperty("defaultValue")&&vl(e,t.type,Qt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Sa(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function vl(e,t,n){(t!=="number"||Lo(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var dr=Array.isArray;function An(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=no.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Cr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var hr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},dp=["Webkit","ms","Moz","O"];Object.keys(hr).forEach(function(e){dp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),hr[t]=hr[e]})});function gc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||hr.hasOwnProperty(e)&&hr[e]?(""+t).trim():t+"px"}function yc(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=gc(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var fp=ue({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function bl(e,t){if(t){if(fp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function kl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var jl=null;function bs(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Cl=null,On=null,Dn=null;function ja(e){if(e=Hr(e)){if(typeof Cl!="function")throw Error(E(280));var t=e.stateNode;t&&(t=fi(t),Cl(e.stateNode,e.type,t))}}function xc(e){On?Dn?Dn.push(e):Dn=[e]:On=e}function vc(){if(On){var e=On,t=Dn;if(Dn=On=null,ja(e),t)for(e=0;e>>=0,e===0?32:31-(kp(e)/jp|0)|0}var ro=64,oo=4194304;function fr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mo(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,l=n&268435455;if(l!==0){var a=l&~o;a!==0?r=fr(a):(i&=l,i!==0&&(r=fr(i)))}else l=n&~o,l!==0?r=fr(l):i!==0&&(r=fr(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function $r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ft(t),e[t]=n}function Rp(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=gr),Aa=" ",Oa=!1;function Ic(e,t){switch(e){case"keyup":return nh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Mc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function oh(e,t){switch(e){case"compositionend":return Mc(t);case"keypress":return t.which!==32?null:(Oa=!0,Aa);case"textInput":return e=t.data,e===Aa&&Oa?null:e;default:return null}}function ih(e,t){if(kn)return e==="compositionend"||!Ps&&Ic(e,t)?(e=Fc(),ko=_s=Lt=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ba(n)}}function Hc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Hc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Vc(){for(var e=window,t=Lo();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Lo(e.document)}return t}function zs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function hh(e){var t=Vc(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Hc(n.ownerDocument.documentElement,n)){if(r!==null&&zs(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=Ia(n,i);var l=Ia(n,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,jn=null,zl=null,xr=null,Nl=!1;function Ma(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nl||jn==null||jn!==Lo(r)||(r=jn,"selectionStart"in r&&zs(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xr&&zr(xr,r)||(xr=r,r=Wo(zl,"onSelect"),0_n||(e.current=Bl[_n],Bl[_n]=null,_n--)}function te(e,t){_n++,Bl[_n]=e.current,e.current=t}var qt={},ze=Xt(qt),We=Xt(!1),cn=qt;function Mn(e,t){var n=e.type.contextTypes;if(!n)return qt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function He(e){return e=e.childContextTypes,e!=null}function Vo(){oe(We),oe(ze)}function qa(e,t,n){if(ze.current!==qt)throw Error(E(168));te(ze,t),te(We,n)}function ed(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(E(108,up(e)||"Unknown",o));return ue({},n,r)}function Qo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qt,cn=ze.current,te(ze,e),te(We,We.current),!0}function Ka(e,t,n){var r=e.stateNode;if(!r)throw Error(E(169));n?(e=ed(e,t,cn),r.__reactInternalMemoizedMergedChildContext=e,oe(We),oe(ze),te(ze,e)):oe(We),te(We,n)}var bt=null,pi=!1,Ki=!1;function td(e){bt===null?bt=[e]:bt.push(e)}function Eh(e){pi=!0,td(e)}function Gt(){if(!Ki&&bt!==null){Ki=!0;var e=0,t=Z;try{var n=bt;for(Z=1;e>=l,o-=l,kt=1<<32-ft(t)+o|n<_?(Q=T,T=null):Q=T.sibling;var U=y(f,T,h[_],b);if(U===null){T===null&&(T=Q);break}e&&T&&U.alternate===null&&t(f,T),d=i(U,d,_),j===null?C=U:j.sibling=U,j=U,T=Q}if(_===h.length)return n(f,T),ie&&en(f,_),C;if(T===null){for(;__?(Q=T,T=null):Q=T.sibling;var X=y(f,T,U.value,b);if(X===null){T===null&&(T=Q);break}e&&T&&X.alternate===null&&t(f,T),d=i(X,d,_),j===null?C=X:j.sibling=X,j=X,T=Q}if(U.done)return n(f,T),ie&&en(f,_),C;if(T===null){for(;!U.done;_++,U=h.next())U=m(f,U.value,b),U!==null&&(d=i(U,d,_),j===null?C=U:j.sibling=U,j=U);return ie&&en(f,_),C}for(T=r(f,T);!U.done;_++,U=h.next())U=S(T,f,_,U.value,b),U!==null&&(e&&U.alternate!==null&&T.delete(U.key===null?_:U.key),d=i(U,d,_),j===null?C=U:j.sibling=U,j=U);return e&&T.forEach(function(H){return t(f,H)}),ie&&en(f,_),C}function g(f,d,h,b){if(typeof h=="object"&&h!==null&&h.type===bn&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case eo:e:{for(var C=h.key,j=d;j!==null;){if(j.key===C){if(C=h.type,C===bn){if(j.tag===7){n(f,j.sibling),d=o(j,h.props.children),d.return=f,f=d;break e}}else if(j.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Nt&&Ga(C)===j.type){n(f,j.sibling),d=o(j,h.props),d.ref=rr(f,j,h),d.return=f,f=d;break e}n(f,j);break}else t(f,j);j=j.sibling}h.type===bn?(d=an(h.props.children,f.mode,b,h.key),d.return=f,f=d):(b=zo(h.type,h.key,h.props,null,f.mode,b),b.ref=rr(f,d,h),b.return=f,f=b)}return l(f);case Sn:e:{for(j=h.key;d!==null;){if(d.key===j)if(d.tag===4&&d.stateNode.containerInfo===h.containerInfo&&d.stateNode.implementation===h.implementation){n(f,d.sibling),d=o(d,h.children||[]),d.return=f,f=d;break e}else{n(f,d);break}else t(f,d);d=d.sibling}d=nl(h,f.mode,b),d.return=f,f=d}return l(f);case Nt:return j=h._init,g(f,d,j(h._payload),b)}if(dr(h))return x(f,d,h,b);if(Jn(h))return v(f,d,h,b);fo(f,h)}return typeof h=="string"&&h!==""||typeof h=="number"?(h=""+h,d!==null&&d.tag===6?(n(f,d.sibling),d=o(d,h),d.return=f,f=d):(n(f,d),d=tl(h,f.mode,b),d.return=f,f=d),l(f)):n(f,d)}return g}var $n=id(!0),ld=id(!1),Yo=Xt(null),Xo=null,Pn=null,Ds=null;function Ls(){Ds=Pn=Xo=null}function Fs(e){var t=Yo.current;oe(Yo),e._currentValue=t}function Ul(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Fn(e,t){Xo=e,Ds=Pn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&($e=!0),e.firstContext=null)}function it(e){var t=e._currentValue;if(Ds!==e)if(e={context:e,memoizedValue:t,next:null},Pn===null){if(Xo===null)throw Error(E(308));Pn=e,Xo.dependencies={lanes:0,firstContext:e}}else Pn=Pn.next=e;return t}var rn=null;function Bs(e){rn===null?rn=[e]:rn.push(e)}function sd(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,Bs(t)):(n.next=o.next,o.next=n),t.interleaved=n,Rt(e,r)}function Rt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var At=!1;function Is(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ad(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ct(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function $t(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Y&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Rt(e,n)}return o=r.interleaved,o===null?(t.next=t,Bs(r)):(t.next=o.next,o.next=t),r.interleaved=t,Rt(e,n)}function Co(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,js(e,n)}}function Ja(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=l:i=i.next=l,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Go(e,t,n,r){var o=e.updateQueue;At=!1;var i=o.firstBaseUpdate,l=o.lastBaseUpdate,a=o.shared.pending;if(a!==null){o.shared.pending=null;var u=a,c=u.next;u.next=null,l===null?i=c:l.next=c,l=u;var p=e.alternate;p!==null&&(p=p.updateQueue,a=p.lastBaseUpdate,a!==l&&(a===null?p.firstBaseUpdate=c:a.next=c,p.lastBaseUpdate=u))}if(i!==null){var m=o.baseState;l=0,p=c=u=null,a=i;do{var y=a.lane,S=a.eventTime;if((r&y)===y){p!==null&&(p=p.next={eventTime:S,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var x=e,v=a;switch(y=t,S=n,v.tag){case 1:if(x=v.payload,typeof x=="function"){m=x.call(S,m,y);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=v.payload,y=typeof x=="function"?x.call(S,m,y):x,y==null)break e;m=ue({},m,y);break e;case 2:At=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,y=o.effects,y===null?o.effects=[a]:y.push(a))}else S={eventTime:S,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},p===null?(c=p=S,u=m):p=p.next=S,l|=y;if(a=a.next,a===null){if(a=o.shared.pending,a===null)break;y=a,a=y.next,y.next=null,o.lastBaseUpdate=y,o.shared.pending=null}}while(!0);if(p===null&&(u=m),o.baseState=u,o.firstBaseUpdate=c,o.lastBaseUpdate=p,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);pn|=l,e.lanes=l,e.memoizedState=m}}function Za(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Xi.transition;Xi.transition={};try{e(!1),t()}finally{Z=n,Xi.transition=r}}function Cd(){return lt().memoizedState}function Ph(e,t,n){var r=Ht(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ed(e))_d(t,n);else if(n=sd(e,t,n,r),n!==null){var o=Ae();pt(n,e,r,o),Rd(n,t,r)}}function zh(e,t,n){var r=Ht(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ed(e))_d(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,a=i(l,n);if(o.hasEagerState=!0,o.eagerState=a,ht(a,l)){var u=t.interleaved;u===null?(o.next=o,Bs(t)):(o.next=u.next,u.next=o),t.interleaved=o;return}}catch{}finally{}n=sd(e,t,o,r),n!==null&&(o=Ae(),pt(n,e,r,o),Rd(n,t,r))}}function Ed(e){var t=e.alternate;return e===ae||t!==null&&t===ae}function _d(e,t){vr=Zo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Rd(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,js(e,n)}}var ei={readContext:it,useCallback:Ee,useContext:Ee,useEffect:Ee,useImperativeHandle:Ee,useInsertionEffect:Ee,useLayoutEffect:Ee,useMemo:Ee,useReducer:Ee,useRef:Ee,useState:Ee,useDebugValue:Ee,useDeferredValue:Ee,useTransition:Ee,useMutableSource:Ee,useSyncExternalStore:Ee,useId:Ee,unstable_isNewReconciler:!1},Nh={readContext:it,useCallback:function(e,t){return yt().memoizedState=[e,t===void 0?null:t],e},useContext:it,useEffect:tu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_o(4194308,4,wd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _o(4194308,4,e,t)},useInsertionEffect:function(e,t){return _o(4,2,e,t)},useMemo:function(e,t){var n=yt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=yt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ph.bind(null,ae,e),[r.memoizedState,e]},useRef:function(e){var t=yt();return e={current:e},t.memoizedState=e},useState:eu,useDebugValue:qs,useDeferredValue:function(e){return yt().memoizedState=e},useTransition:function(){var e=eu(!1),t=e[0];return e=Th.bind(null,e[1]),yt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ae,o=yt();if(ie){if(n===void 0)throw Error(E(407));n=n()}else{if(n=t(),we===null)throw Error(E(349));fn&30||fd(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,tu(hd.bind(null,r,i,e),[e]),r.flags|=2048,Ir(9,pd.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=yt(),t=we.identifierPrefix;if(ie){var n=jt,r=kt;n=(r&~(1<<32-ft(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Fr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),n==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[xt]=t,e[Or]=r,Bd(e,t,!1,!1),t.stateNode=e;e:{switch(l=kl(n,r),n){case"dialog":re("cancel",e),re("close",e),o=r;break;case"iframe":case"object":case"embed":re("load",e),o=r;break;case"video":case"audio":for(o=0;oVn&&(t.flags|=128,r=!0,or(i,!1),t.lanes=4194304)}else{if(!r)if(e=Jo(l),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),or(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!ie)return _e(t),null}else 2*he()-i.renderingStartTime>Vn&&n!==1073741824&&(t.flags|=128,r=!0,or(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(n=i.last,n!==null?n.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=he(),t.sibling=null,n=se.current,te(se,r?n&1|2:n&1),t):(_e(t),null);case 22:case 23:return Zs(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?qe&1073741824&&(_e(t),t.subtreeFlags&6&&(t.flags|=8192)):_e(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function Mh(e,t){switch(As(t),t.tag){case 1:return He(t.type)&&Vo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wn(),oe(We),oe(ze),$s(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Us(t),null;case 13:if(oe(se),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));Un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return oe(se),null;case 4:return Wn(),null;case 10:return Fs(t.type._context),null;case 22:case 23:return Zs(),null;case 24:return null;default:return null}}var ho=!1,Te=!1,Uh=typeof WeakSet=="function"?WeakSet:Set,A=null;function zn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ce(e,t,r)}else n.current=null}function Xl(e,t,n){try{n()}catch(r){ce(e,t,r)}}var fu=!1;function $h(e,t){if(Al=Uo,e=Vc(),zs(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var l=0,a=-1,u=-1,c=0,p=0,m=e,y=null;t:for(;;){for(var S;m!==n||o!==0&&m.nodeType!==3||(a=l+o),m!==i||r!==0&&m.nodeType!==3||(u=l+r),m.nodeType===3&&(l+=m.nodeValue.length),(S=m.firstChild)!==null;)y=m,m=S;for(;;){if(m===e)break t;if(y===n&&++c===o&&(a=l),y===i&&++p===r&&(u=l),(S=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=S}n=a===-1||u===-1?null:{start:a,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ol={focusedElem:e,selectionRange:n},Uo=!1,A=t;A!==null;)if(t=A,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,A=e;else for(;A!==null;){t=A;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var v=x.memoizedProps,g=x.memoizedState,f=t.stateNode,d=f.getSnapshotBeforeUpdate(t.elementType===t.type?v:ut(t.type,v),g);f.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var h=t.stateNode.containerInfo;h.nodeType===1?h.textContent="":h.nodeType===9&&h.documentElement&&h.removeChild(h.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(b){ce(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,A=e;break}A=t.return}return x=fu,fu=!1,x}function wr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&Xl(t,n,i)}o=o.next}while(o!==r)}}function gi(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Gl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Ud(e){var t=e.alternate;t!==null&&(e.alternate=null,Ud(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[xt],delete t[Or],delete t[Fl],delete t[jh],delete t[Ch])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $d(e){return e.tag===5||e.tag===3||e.tag===4}function pu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$d(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Jl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ho));else if(r!==4&&(e=e.child,e!==null))for(Jl(e,t,n),e=e.sibling;e!==null;)Jl(e,t,n),e=e.sibling}function Zl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Zl(e,t,n),e=e.sibling;e!==null;)Zl(e,t,n),e=e.sibling}var be=null,ct=!1;function zt(e,t,n){for(n=n.child;n!==null;)Wd(e,t,n),n=n.sibling}function Wd(e,t,n){if(vt&&typeof vt.onCommitFiberUnmount=="function")try{vt.onCommitFiberUnmount(ai,n)}catch{}switch(n.tag){case 5:Te||zn(n,t);case 6:var r=be,o=ct;be=null,zt(e,t,n),be=r,ct=o,be!==null&&(ct?(e=be,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):be.removeChild(n.stateNode));break;case 18:be!==null&&(ct?(e=be,n=n.stateNode,e.nodeType===8?qi(e.parentNode,n):e.nodeType===1&&qi(e,n),Tr(e)):qi(be,n.stateNode));break;case 4:r=be,o=ct,be=n.stateNode.containerInfo,ct=!0,zt(e,t,n),be=r,ct=o;break;case 0:case 11:case 14:case 15:if(!Te&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&Xl(n,t,l),o=o.next}while(o!==r)}zt(e,t,n);break;case 1:if(!Te&&(zn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ce(n,t,a)}zt(e,t,n);break;case 21:zt(e,t,n);break;case 22:n.mode&1?(Te=(r=Te)||n.memoizedState!==null,zt(e,t,n),Te=r):zt(e,t,n);break;default:zt(e,t,n)}}function hu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Uh),t.forEach(function(r){var o=Gh.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function at(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=l),r&=~i}if(r=o,r=he()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Hh(r/1960))-r,10e?16:e,Ft===null)var r=!1;else{if(e=Ft,Ft=null,ri=0,Y&6)throw Error(E(331));var o=Y;for(Y|=4,A=e.current;A!==null;){var i=A,l=i.child;if(A.flags&16){var a=i.deletions;if(a!==null){for(var u=0;uhe()-Gs?sn(e,0):Xs|=n),Ve(e,t)}function Gd(e,t){t===0&&(e.mode&1?(t=oo,oo<<=1,!(oo&130023424)&&(oo=4194304)):t=1);var n=Ae();e=Rt(e,t),e!==null&&($r(e,t,n),Ve(e,n))}function Xh(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gd(e,n)}function Gh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(E(314))}r!==null&&r.delete(t),Gd(e,n)}var Jd;Jd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||We.current)$e=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return $e=!1,Bh(e,t,n);$e=!!(e.flags&131072)}else $e=!1,ie&&t.flags&1048576&&nd(t,Ko,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ro(e,t),e=t.pendingProps;var o=Mn(t,ze.current);Fn(t,n),o=Hs(null,t,r,e,o,n);var i=Vs();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,He(r)?(i=!0,Qo(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Is(t),o.updater=mi,t.stateNode=o,o._reactInternals=t,Wl(t,r,e,n),t=Ql(null,t,r,!0,i,n)):(t.tag=0,ie&&i&&Ns(t),Ne(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ro(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Zh(r),e=ut(r,e),o){case 0:t=Vl(null,t,r,e,n);break e;case 1:t=uu(null,t,r,e,n);break e;case 11:t=su(null,t,r,e,n);break e;case 14:t=au(null,t,r,ut(r.type,e),n);break e}throw Error(E(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ut(r,o),Vl(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ut(r,o),uu(e,t,r,o,n);case 3:e:{if(Dd(t),e===null)throw Error(E(387));r=t.pendingProps,i=t.memoizedState,o=i.element,ad(e,t),Go(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Hn(Error(E(423)),t),t=cu(e,t,r,n,o);break e}else if(r!==o){o=Hn(Error(E(424)),t),t=cu(e,t,r,n,o);break e}else for(Ke=Ut(t.stateNode.containerInfo.firstChild),Ye=t,ie=!0,dt=null,n=ld(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Un(),r===o){t=Tt(e,t,n);break e}Ne(e,t,r,n)}t=t.child}return t;case 5:return ud(t),e===null&&Ml(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,l=o.children,Dl(r,o)?l=null:i!==null&&Dl(r,i)&&(t.flags|=32),Od(e,t),Ne(e,t,l,n),t.child;case 6:return e===null&&Ml(t),null;case 13:return Ld(e,t,n);case 4:return Ms(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=$n(t,null,r,n):Ne(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ut(r,o),su(e,t,r,o,n);case 7:return Ne(e,t,t.pendingProps,n),t.child;case 8:return Ne(e,t,t.pendingProps.children,n),t.child;case 12:return Ne(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,te(Yo,r._currentValue),r._currentValue=l,i!==null)if(ht(i.value,l)){if(i.children===o.children&&!We.current){t=Tt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){l=i.child;for(var u=a.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Ct(-1,n&-n),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var p=c.pending;p===null?u.next=u:(u.next=p.next,p.next=u),c.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Ul(i.return,n,t),a.lanes|=n;break}u=u.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(E(341));l.lanes|=n,a=l.alternate,a!==null&&(a.lanes|=n),Ul(l,n,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}Ne(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Fn(t,n),o=it(o),r=r(o),t.flags|=1,Ne(e,t,r,n),t.child;case 14:return r=t.type,o=ut(r,t.pendingProps),o=ut(r.type,o),au(e,t,r,o,n);case 15:return Nd(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ut(r,o),Ro(e,t),t.tag=1,He(r)?(e=!0,Qo(t)):e=!1,Fn(t,n),Td(t,r,o),Wl(t,r,o,n),Ql(null,t,r,!0,e,n);case 19:return Fd(e,t,n);case 22:return Ad(e,t,n)}throw Error(E(156,t.tag))};function Zd(e,t){return Ec(e,t)}function Jh(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function rt(e,t,n,r){return new Jh(e,t,n,r)}function ta(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Zh(e){if(typeof e=="function")return ta(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ws)return 11;if(e===Ss)return 14}return 2}function Vt(e,t){var n=e.alternate;return n===null?(n=rt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function zo(e,t,n,r,o,i){var l=2;if(r=e,typeof e=="function")ta(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case bn:return an(n.children,o,i,t);case vs:l=8,o|=8;break;case pl:return e=rt(12,n,t,o|2),e.elementType=pl,e.lanes=i,e;case hl:return e=rt(13,n,t,o),e.elementType=hl,e.lanes=i,e;case ml:return e=rt(19,n,t,o),e.elementType=ml,e.lanes=i,e;case uc:return xi(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case sc:l=10;break e;case ac:l=9;break e;case ws:l=11;break e;case Ss:l=14;break e;case Nt:l=16,r=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=rt(l,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function an(e,t,n,r){return e=rt(7,e,r,t),e.lanes=n,e}function xi(e,t,n,r){return e=rt(22,e,r,t),e.elementType=uc,e.lanes=n,e.stateNode={isHidden:!1},e}function tl(e,t,n){return e=rt(6,e,null,t),e.lanes=n,e}function nl(e,t,n){return t=rt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function em(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Li(0),this.expirationTimes=Li(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Li(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function na(e,t,n,r,o,i,l,a,u){return e=new em(e,t,n,a,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=rt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Is(i),e}function tm(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(rf)}catch(e){console.error(e)}}rf(),rc.exports=Ge;var lm=rc.exports,bu=lm;dl.createRoot=bu.createRoot,dl.hydrateRoot=bu.hydrateRoot;function of(e,t){return function(){return e.apply(t,arguments)}}const{toString:sm}=Object.prototype,{getPrototypeOf:ki}=Object,{iterator:ji,toStringTag:lf}=Symbol,Ci=(e=>t=>{const n=sm.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),mt=e=>(e=e.toLowerCase(),t=>Ci(t)===e),Ei=e=>t=>typeof t===e,{isArray:Xn}=Array,Qn=Ei("undefined");function Qr(e){return e!==null&&!Qn(e)&&e.constructor!==null&&!Qn(e.constructor)&&Qe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const sf=mt("ArrayBuffer");function am(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&sf(e.buffer),t}const um=Ei("string"),Qe=Ei("function"),af=Ei("number"),qr=e=>e!==null&&typeof e=="object",cm=e=>e===!0||e===!1,No=e=>{if(Ci(e)!=="object")return!1;const t=ki(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(lf in e)&&!(ji in e)},dm=e=>{if(!qr(e)||Qr(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},fm=mt("Date"),pm=mt("File"),hm=e=>!!(e&&typeof e.uri<"u"),mm=e=>e&&typeof e.getParts<"u",gm=mt("Blob"),ym=mt("FileList"),xm=e=>qr(e)&&Qe(e.pipe);function vm(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const ku=vm(),ju=typeof ku.FormData<"u"?ku.FormData:void 0,wm=e=>{if(!e)return!1;if(ju&&e instanceof ju)return!0;const t=ki(e);if(!t||t===Object.prototype||!Qe(e.append))return!1;const n=Ci(e);return n==="formdata"||n==="object"&&Qe(e.toString)&&e.toString()==="[object FormData]"},Sm=mt("URLSearchParams"),[bm,km,jm,Cm]=["ReadableStream","Request","Response","Headers"].map(mt),Em=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Xn(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const ln=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,cf=e=>!Qn(e)&&e!==ln;function os(...e){const{caseless:t,skipUndefined:n}=cf(this)&&this||{},r={},o=(i,l)=>{if(l==="__proto__"||l==="constructor"||l==="prototype")return;const a=t&&uf(r,l)||l,u=is(r,a)?r[a]:void 0;No(u)&&No(i)?r[a]=os(u,i):No(i)?r[a]=os({},i):Xn(i)?r[a]=i.slice():(!n||!Qn(i))&&(r[a]=i)};for(let i=0,l=e.length;i(Kr(t,(o,i)=>{n&&Qe(o)?Object.defineProperty(e,i,{__proto__:null,value:of(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Rm=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Tm=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},Pm=(e,t,n,r)=>{let o,i,l;const a={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)l=o[i],(!r||r(l,e,t))&&!a[l]&&(t[l]=e[l],a[l]=!0);e=n!==!1&&ki(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},zm=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Nm=e=>{if(!e)return null;if(Xn(e))return e;let t=e.length;if(!af(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Am=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ki(Uint8Array)),Om=(e,t)=>{const r=(e&&e[ji]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},Dm=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Lm=mt("HTMLFormElement"),Fm=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),is=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Bm=mt("RegExp"),df=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Kr(n,(o,i)=>{let l;(l=t(o,i,e))!==!1&&(r[i]=l||o)}),Object.defineProperties(e,r)},Im=e=>{df(e,(t,n)=>{if(Qe(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(Qe(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Mm=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return Xn(e)?r(e):r(String(e).split(t)),n},Um=()=>{},$m=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Wm(e){return!!(e&&Qe(e.append)&&e[lf]==="FormData"&&e[ji])}const Hm=e=>{const t=new WeakSet,n=r=>{if(qr(r)){if(t.has(r))return;if(Qr(r))return r;if(!("toJSON"in r)){t.add(r);const o=Xn(r)?[]:{};return Kr(r,(i,l)=>{const a=n(i);!Qn(a)&&(o[l]=a)}),t.delete(r),o}}return r};return n(e)},Vm=mt("AsyncFunction"),Qm=e=>e&&(qr(e)||Qe(e))&&Qe(e.then)&&Qe(e.catch),ff=((e,t)=>e?setImmediate:t?((n,r)=>(ln.addEventListener("message",({source:o,data:i})=>{o===ln&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),ln.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Qe(ln.postMessage)),qm=typeof queueMicrotask<"u"?queueMicrotask.bind(ln):typeof process<"u"&&process.nextTick||ff,Km=e=>e!=null&&Qe(e[ji]),w={isArray:Xn,isArrayBuffer:sf,isBuffer:Qr,isFormData:wm,isArrayBufferView:am,isString:um,isNumber:af,isBoolean:cm,isObject:qr,isPlainObject:No,isEmptyObject:dm,isReadableStream:bm,isRequest:km,isResponse:jm,isHeaders:Cm,isUndefined:Qn,isDate:fm,isFile:pm,isReactNativeBlob:hm,isReactNative:mm,isBlob:gm,isRegExp:Bm,isFunction:Qe,isStream:xm,isURLSearchParams:Sm,isTypedArray:Am,isFileList:ym,forEach:Kr,merge:os,extend:_m,trim:Em,stripBOM:Rm,inherits:Tm,toFlatObject:Pm,kindOf:Ci,kindOfTest:mt,endsWith:zm,toArray:Nm,forEachEntry:Om,matchAll:Dm,isHTMLForm:Lm,hasOwnProperty:is,hasOwnProp:is,reduceDescriptors:df,freezeMethods:Im,toObjectSet:Mm,toCamelCase:Fm,noop:Um,toFiniteNumber:$m,findKey:uf,global:ln,isContextDefined:cf,isSpecCompliantForm:Wm,toJSONObject:Hm,isAsyncFn:Vm,isThenable:Qm,setImmediate:ff,asap:qm,isIterable:Km},Ym=w.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Xm=e=>{const t={};let n,r,o;return e&&e.split(` +`).forEach(function(l){o=l.indexOf(":"),n=l.substring(0,o).trim().toLowerCase(),r=l.substring(o+1).trim(),!(!n||t[n]&&Ym[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t};function Gm(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const Jm=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Zm=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function la(e,t){return w.isArray(e)?e.map(n=>la(n,t)):Gm(String(e).replace(t,""))}const eg=e=>la(e,Jm),tg=e=>la(e,Zm);function pf(e){const t=Object.create(null);return w.forEach(e.toJSON(),(n,r)=>{t[r]=tg(n)}),t}const Cu=Symbol("internals");function lr(e){return e&&String(e).trim().toLowerCase()}function Ao(e){return e===!1||e==null?e:w.isArray(e)?e.map(Ao):eg(String(e))}function ng(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const rg=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function rl(e,t,n,r,o){if(w.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!w.isString(t)){if(w.isString(r))return t.indexOf(r)!==-1;if(w.isRegExp(r))return r.test(t)}}function og(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function ig(e,t){const n=w.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(o,i,l){return this[r].call(this,t,o,i,l)},configurable:!0})})}let Oe=class{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(a,u,c){const p=lr(u);if(!p)throw new Error("header name must be a non-empty string");const m=w.findKey(o,p);(!m||o[m]===void 0||c===!0||c===void 0&&o[m]!==!1)&&(o[m||u]=Ao(a))}const l=(a,u)=>w.forEach(a,(c,p)=>i(c,p,u));if(w.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(w.isString(t)&&(t=t.trim())&&!rg(t))l(Xm(t),n);else if(w.isObject(t)&&w.isIterable(t)){let a={},u,c;for(const p of t){if(!w.isArray(p))throw TypeError("Object iterator must return a key-value pair");a[c=p[0]]=(u=a[c])?w.isArray(u)?[...u,p[1]]:[u,p[1]]:p[1]}l(a,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=lr(t),t){const r=w.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return ng(o);if(w.isFunction(n))return n.call(this,o,r);if(w.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=lr(t),t){const r=w.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||rl(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(l){if(l=lr(l),l){const a=w.findKey(r,l);a&&(!n||rl(r,r[a],a,n))&&(delete r[a],o=!0)}}return w.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||rl(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return w.forEach(this,(o,i)=>{const l=w.findKey(r,i);if(l){n[l]=Ao(o),delete n[i];return}const a=t?og(i):String(i).trim();a!==i&&delete n[i],n[a]=Ao(o),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return w.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&w.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[Cu]=this[Cu]={accessors:{}}).accessors,o=this.prototype;function i(l){const a=lr(l);r[a]||(ig(o,l),r[a]=!0)}return w.isArray(t)?t.forEach(i):i(t),this}};Oe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);w.reduceDescriptors(Oe.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});w.freezeMethods(Oe);const lg="[REDACTED ****]";function sg(e){if(w.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(w.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function ag(e,t){const n=new Set(t.map(i=>String(i).toLowerCase())),r=[],o=i=>{if(i===null||typeof i!="object"||w.isBuffer(i))return i;if(r.indexOf(i)!==-1)return;i instanceof Oe&&(i=i.toJSON()),r.push(i);let l;if(w.isArray(i))l=[],i.forEach((a,u)=>{const c=o(a);w.isUndefined(c)||(l[u]=c)});else{if(!w.isPlainObject(i)&&sg(i))return r.pop(),i;l=Object.create(null);for(const[a,u]of Object.entries(i)){const c=n.has(a.toLowerCase())?lg:o(u);w.isUndefined(c)||(l[a]=c)}}return r.pop(),l};return o(e)}let O=class hf extends Error{static from(t,n,r,o,i,l){const a=new hf(t.message,n||t.code,r,o,i);return a.cause=t,a.name=t.name,t.status!=null&&a.status==null&&(a.status=t.status),l&&Object.assign(a,l),a}constructor(t,n,r,o,i){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),o&&(this.request=o),i&&(this.response=i,this.status=i.status)}toJSON(){const t=this.config,n=t&&w.hasOwnProp(t,"redact")?t.redact:void 0,r=w.isArray(n)&&n.length>0?ag(t,n):w.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};O.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";O.ERR_BAD_OPTION="ERR_BAD_OPTION";O.ECONNABORTED="ECONNABORTED";O.ETIMEDOUT="ETIMEDOUT";O.ECONNREFUSED="ECONNREFUSED";O.ERR_NETWORK="ERR_NETWORK";O.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";O.ERR_DEPRECATED="ERR_DEPRECATED";O.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";O.ERR_BAD_REQUEST="ERR_BAD_REQUEST";O.ERR_CANCELED="ERR_CANCELED";O.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";O.ERR_INVALID_URL="ERR_INVALID_URL";O.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const ug=null;function ls(e){return w.isPlainObject(e)||w.isArray(e)}function mf(e){return w.endsWith(e,"[]")?e.slice(0,-2):e}function ol(e,t,n){return e?e.concat(t).map(function(o,i){return o=mf(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function cg(e){return w.isArray(e)&&!e.some(ls)}const dg=w.toFlatObject(w,{},null,function(t){return/^is[A-Z]/.test(t)});function _i(e,t,n){if(!w.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=w.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,f){return!w.isUndefined(f[g])});const r=n.metaTokens,o=n.visitor||m,i=n.dots,l=n.indexes,a=n.Blob||typeof Blob<"u"&&Blob,u=n.maxDepth===void 0?100:n.maxDepth,c=a&&w.isSpecCompliantForm(t);if(!w.isFunction(o))throw new TypeError("visitor must be a function");function p(v){if(v===null)return"";if(w.isDate(v))return v.toISOString();if(w.isBoolean(v))return v.toString();if(!c&&w.isBlob(v))throw new O("Blob is not supported. Use a Buffer instead.");return w.isArrayBuffer(v)||w.isTypedArray(v)?c&&typeof Blob=="function"?new Blob([v]):Buffer.from(v):v}function m(v,g,f){let d=v;if(w.isReactNative(t)&&w.isReactNativeBlob(v))return t.append(ol(f,g,i),p(v)),!1;if(v&&!f&&typeof v=="object"){if(w.endsWith(g,"{}"))g=r?g:g.slice(0,-2),v=JSON.stringify(v);else if(w.isArray(v)&&cg(v)||(w.isFileList(v)||w.endsWith(g,"[]"))&&(d=w.toArray(v)))return g=mf(g),d.forEach(function(b,C){!(w.isUndefined(b)||b===null)&&t.append(l===!0?ol([g],C,i):l===null?g:g+"[]",p(b))}),!1}return ls(v)?!0:(t.append(ol(f,g,i),p(v)),!1)}const y=[],S=Object.assign(dg,{defaultVisitor:m,convertValue:p,isVisitable:ls});function x(v,g,f=0){if(!w.isUndefined(v)){if(f>u)throw new O("Object is too deeply nested ("+f+" levels). Max depth: "+u,O.ERR_FORM_DATA_DEPTH_EXCEEDED);if(y.indexOf(v)!==-1)throw Error("Circular reference detected in "+g.join("."));y.push(v),w.forEach(v,function(h,b){(!(w.isUndefined(h)||h===null)&&o.call(t,h,w.isString(b)?b.trim():b,g,S))===!0&&x(h,g?g.concat(b):[b],f+1)}),y.pop()}}if(!w.isObject(e))throw new TypeError("data must be an object");return x(e),t}function Eu(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function sa(e,t){this._pairs=[],e&&_i(e,this,t)}const gf=sa.prototype;gf.append=function(t,n){this._pairs.push([t,n])};gf.toString=function(t){const n=t?function(r){return t.call(this,r,Eu)}:Eu;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function fg(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function yf(e,t,n){if(!t)return e;const r=n&&n.encode||fg,o=w.isFunction(n)?{serialize:n}:n,i=o&&o.serialize;let l;if(i?l=i(t,o):l=w.isURLSearchParams(t)?t.toString():new sa(t,o).toString(r),l){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+l}return e}class _u{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){w.forEach(this.handlers,function(r){r!==null&&t(r)})}}const aa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},pg=typeof URLSearchParams<"u"?URLSearchParams:sa,hg=typeof FormData<"u"?FormData:null,mg=typeof Blob<"u"?Blob:null,gg={isBrowser:!0,classes:{URLSearchParams:pg,FormData:hg,Blob:mg},protocols:["http","https","file","blob","url","data"]},ua=typeof window<"u"&&typeof document<"u",ss=typeof navigator=="object"&&navigator||void 0,yg=ua&&(!ss||["ReactNative","NativeScript","NS"].indexOf(ss.product)<0),xg=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",vg=ua&&window.location.href||"http://localhost",wg=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ua,hasStandardBrowserEnv:yg,hasStandardBrowserWebWorkerEnv:xg,navigator:ss,origin:vg},Symbol.toStringTag,{value:"Module"})),Pe={...wg,...gg};function Sg(e,t){return _i(e,new Pe.classes.URLSearchParams,{visitor:function(n,r,o,i){return Pe.isNode&&w.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function bg(e){return w.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function kg(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=n.length;return l=!l&&w.isArray(o)?o.length:l,u?(w.hasOwnProp(o,l)?o[l]=w.isArray(o[l])?o[l].concat(r):[o[l],r]:o[l]=r,!a):((!w.hasOwnProp(o,l)||!w.isObject(o[l]))&&(o[l]=[]),t(n,r,o[l],i)&&w.isArray(o[l])&&(o[l]=kg(o[l])),!a)}if(w.isFormData(e)&&w.isFunction(e.entries)){const n={};return w.forEachEntry(e,(r,o)=>{t(bg(r),o,n,0)}),n}return null}const wn=(e,t)=>e!=null&&w.hasOwnProp(e,t)?e[t]:void 0;function jg(e,t,n){if(w.isString(e))try{return(t||JSON.parse)(e),w.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Yr={transitional:aa,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=w.isObject(t);if(i&&w.isHTMLForm(t)&&(t=new FormData(t)),w.isFormData(t))return o?JSON.stringify(xf(t)):t;if(w.isArrayBuffer(t)||w.isBuffer(t)||w.isStream(t)||w.isFile(t)||w.isBlob(t)||w.isReadableStream(t))return t;if(w.isArrayBufferView(t))return t.buffer;if(w.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){const u=wn(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Sg(t,u).toString();if((a=w.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=wn(this,"env"),p=c&&c.FormData;return _i(a?{"files[]":t}:t,p&&new p,u)}}return i||o?(n.setContentType("application/json",!1),jg(t)):t}],transformResponse:[function(t){const n=wn(this,"transitional")||Yr.transitional,r=n&&n.forcedJSONParsing,o=wn(this,"responseType"),i=o==="json";if(w.isResponse(t)||w.isReadableStream(t))return t;if(t&&w.isString(t)&&(r&&!o||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t,wn(this,"parseReviver"))}catch(u){if(a)throw u.name==="SyntaxError"?O.from(u,O.ERR_BAD_RESPONSE,this,null,wn(this,"response")):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Pe.classes.FormData,Blob:Pe.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};w.forEach(["delete","get","head","post","put","patch","query"],e=>{Yr.headers[e]={}});function il(e,t){const n=this||Yr,r=t||n,o=Oe.from(r.headers);let i=r.data;return w.forEach(e,function(a){i=a.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function vf(e){return!!(e&&e.__CANCEL__)}let Xr=class extends O{constructor(t,n,r){super(t??"canceled",O.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function wf(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new O("Request failed with status code "+n.status,n.status>=400&&n.status<500?O.ERR_BAD_REQUEST:O.ERR_BAD_RESPONSE,n.config,n.request,n))}function Cg(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Eg(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,l;return t=t!==void 0?t:1e3,function(u){const c=Date.now(),p=r[i];l||(l=c),n[o]=u,r[o]=c;let m=i,y=0;for(;m!==o;)y+=n[m++],m=m%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-l{n=p,o=null,i&&(clearTimeout(i),i=null),e(...c)};return[(...c)=>{const p=Date.now(),m=p-n;m>=r?l(c,p):(o=c,i||(i=setTimeout(()=>{i=null,l(o)},r-m)))},()=>o&&l(o)]}const li=(e,t,n=3)=>{let r=0;const o=Eg(50,250);return _g(i=>{if(!i||typeof i.loaded!="number")return;const l=i.loaded,a=i.lengthComputable?i.total:void 0,u=a!=null?Math.min(l,a):l,c=Math.max(0,u-r),p=o(c);r=Math.max(r,u);const m={loaded:u,total:a,progress:a?u/a:void 0,bytes:c,rate:p||void 0,estimated:p&&a?(a-u)/p:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(m)},n)},Ru=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Tu=e=>(...t)=>w.asap(()=>e(...t)),Rg=Pe.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Pe.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Pe.origin),Pe.navigator&&/(msie|trident)/i.test(Pe.navigator.userAgent)):()=>!0,Tg=Pe.hasStandardBrowserEnv?{write(e,t,n,r,o,i,l){if(typeof document>"u")return;const a=[`${e}=${encodeURIComponent(t)}`];w.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),w.isString(r)&&a.push(`path=${r}`),w.isString(o)&&a.push(`domain=${o}`),i===!0&&a.push("secure"),w.isString(l)&&a.push(`SameSite=${l}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;ne instanceof Oe?{...e}:e;function mn(e,t){t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(c,p,m,y){return w.isPlainObject(c)&&w.isPlainObject(p)?w.merge.call({caseless:y},c,p):w.isPlainObject(p)?w.merge({},p):w.isArray(p)?p.slice():p}function o(c,p,m,y){if(w.isUndefined(p)){if(!w.isUndefined(c))return r(void 0,c,m,y)}else return r(c,p,m,y)}function i(c,p){if(!w.isUndefined(p))return r(void 0,p)}function l(c,p){if(w.isUndefined(p)){if(!w.isUndefined(c))return r(void 0,c)}else return r(void 0,p)}function a(c,p,m){if(w.hasOwnProp(t,m))return r(c,p);if(w.hasOwnProp(e,m))return r(void 0,c)}const u={url:i,method:i,data:i,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,allowedSocketPaths:l,responseEncoding:l,validateStatus:a,headers:(c,p,m)=>o(Pu(c),Pu(p),m,!0)};return w.forEach(Object.keys({...e,...t}),function(p){if(p==="__proto__"||p==="constructor"||p==="prototype")return;const m=w.hasOwnProp(u,p)?u[p]:o,y=w.hasOwnProp(e,p)?e[p]:void 0,S=w.hasOwnProp(t,p)?t[p]:void 0,x=m(y,S,p);w.isUndefined(x)&&m!==a||(n[p]=x)}),n}const Ng=["content-type","content-length"];function Ag(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t).forEach(([r,o])=>{Ng.includes(r.toLowerCase())&&e.set(r,o)})}const Og=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),bf=e=>{const t=mn({},e),n=y=>w.hasOwnProp(t,y)?t[y]:void 0,r=n("data");let o=n("withXSRFToken");const i=n("xsrfHeaderName"),l=n("xsrfCookieName");let a=n("headers");const u=n("auth"),c=n("baseURL"),p=n("allowAbsoluteUrls"),m=n("url");if(t.headers=a=Oe.from(a),t.url=yf(Sf(c,m,p),e.params,e.paramsSerializer),u&&a.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?Og(u.password):""))),w.isFormData(r)&&(Pe.hasStandardBrowserEnv||Pe.hasStandardBrowserWebWorkerEnv?a.setContentType(void 0):w.isFunction(r.getHeaders)&&Ag(a,r.getHeaders(),n("formDataHeaderPolicy"))),Pe.hasStandardBrowserEnv&&(w.isFunction(o)&&(o=o(t)),o===!0||o==null&&Rg(t.url))){const S=i&&l&&Tg.read(l);S&&a.set(i,S)}return t},Dg=typeof XMLHttpRequest<"u",Lg=Dg&&function(e){return new Promise(function(n,r){const o=bf(e);let i=o.data;const l=Oe.from(o.headers).normalize();let{responseType:a,onUploadProgress:u,onDownloadProgress:c}=o,p,m,y,S,x;function v(){S&&S(),x&&x(),o.cancelToken&&o.cancelToken.unsubscribe(p),o.signal&&o.signal.removeEventListener("abort",p)}let g=new XMLHttpRequest;g.open(o.method.toUpperCase(),o.url,!0),g.timeout=o.timeout;function f(){if(!g)return;const h=Oe.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),C={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:h,config:e,request:g};wf(function(T){n(T),v()},function(T){r(T),v()},C),g=null}"onloadend"in g?g.onloadend=f:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.startsWith("file:"))||setTimeout(f)},g.onabort=function(){g&&(r(new O("Request aborted",O.ECONNABORTED,e,g)),v(),g=null)},g.onerror=function(b){const C=b&&b.message?b.message:"Network Error",j=new O(C,O.ERR_NETWORK,e,g);j.event=b||null,r(j),v(),g=null},g.ontimeout=function(){let b=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const C=o.transitional||aa;o.timeoutErrorMessage&&(b=o.timeoutErrorMessage),r(new O(b,C.clarifyTimeoutError?O.ETIMEDOUT:O.ECONNABORTED,e,g)),v(),g=null},i===void 0&&l.setContentType(null),"setRequestHeader"in g&&w.forEach(pf(l),function(b,C){g.setRequestHeader(C,b)}),w.isUndefined(o.withCredentials)||(g.withCredentials=!!o.withCredentials),a&&a!=="json"&&(g.responseType=o.responseType),c&&([y,x]=li(c,!0),g.addEventListener("progress",y)),u&&g.upload&&([m,S]=li(u),g.upload.addEventListener("progress",m),g.upload.addEventListener("loadend",S)),(o.cancelToken||o.signal)&&(p=h=>{g&&(r(!h||h.type?new Xr(null,e,g):h),g.abort(),v(),g=null)},o.cancelToken&&o.cancelToken.subscribe(p),o.signal&&(o.signal.aborted?p():o.signal.addEventListener("abort",p)));const d=Cg(o.url);if(d&&!Pe.protocols.includes(d)){r(new O("Unsupported protocol "+d+":",O.ERR_BAD_REQUEST,e));return}g.send(i||null)})},Fg=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const o=function(u){if(!r){r=!0,l();const c=u instanceof Error?u:this.reason;n.abort(c instanceof O?c:new Xr(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{i=null,o(new O(`timeout of ${t}ms exceeded`,O.ETIMEDOUT))},t);const l=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));const{signal:a}=n;return a.unsubscribe=()=>w.asap(l),a},Bg=function*(e,t){let n=e.byteLength;if(n{const o=Ig(e,t);let i=0,l,a=u=>{l||(l=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:c,value:p}=await o.next();if(c){a(),u.close();return}let m=p.byteLength;if(n){let y=i+=m;n(y)}u.enqueue(new Uint8Array(p))}catch(c){throw a(c),c}},cancel(u){return a(u),o.return()}},{highWaterMark:2})};function Ug(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let l=r.length;const a=r.length;for(let S=0;S=48&&x<=57||x>=65&&x<=70||x>=97&&x<=102)&&(v>=48&&v<=57||v>=65&&v<=70||v>=97&&v<=102)&&(l-=2,S+=2)}let u=0,c=a-1;const p=S=>S>=2&&r.charCodeAt(S-2)===37&&r.charCodeAt(S-1)===51&&(r.charCodeAt(S)===68||r.charCodeAt(S)===100);c>=0&&(r.charCodeAt(c)===61?(u++,c--):p(c)&&(u++,c-=3)),u===1&&c>=0&&(r.charCodeAt(c)===61||p(c))&&u++;const y=Math.floor(l/4)*3-(u||0);return y>0?y:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(r,"utf8");let i=0;for(let l=0,a=r.length;l=55296&&u<=56319&&l+1=56320&&c<=57343?(i+=4,l++):i+=3}else i+=3}return i}const ca="1.16.1",Nu=64*1024,{isFunction:yo}=w,Au=(e,...t)=>{try{return!!e(...t)}catch{return!1}},$g=e=>{const t=w.global!==void 0&&w.global!==null?w.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=w.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:o,Request:i,Response:l}=e,a=o?yo(o):typeof fetch=="function",u=yo(i),c=yo(l);if(!a)return!1;const p=a&&yo(n),m=a&&(typeof r=="function"?(f=>d=>f.encode(d))(new r):async f=>new Uint8Array(await new i(f).arrayBuffer())),y=u&&p&&Au(()=>{let f=!1;const d=new i(Pe.origin,{body:new n,method:"POST",get duplex(){return f=!0,"half"}}),h=d.headers.has("Content-Type");return d.body!=null&&d.body.cancel(),f&&!h}),S=c&&p&&Au(()=>w.isReadableStream(new l("").body)),x={stream:S&&(f=>f.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!x[f]&&(x[f]=(d,h)=>{let b=d&&d[f];if(b)return b.call(d);throw new O(`Response type '${f}' is not supported`,O.ERR_NOT_SUPPORT,h)})});const v=async f=>{if(f==null)return 0;if(w.isBlob(f))return f.size;if(w.isSpecCompliantForm(f))return(await new i(Pe.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(w.isArrayBufferView(f)||w.isArrayBuffer(f))return f.byteLength;if(w.isURLSearchParams(f)&&(f=f+""),w.isString(f))return(await m(f)).byteLength},g=async(f,d)=>{const h=w.toFiniteNumber(f.getContentLength());return h??v(d)};return async f=>{let{url:d,method:h,data:b,signal:C,cancelToken:j,timeout:T,onDownloadProgress:_,onUploadProgress:Q,responseType:U,headers:X,withCredentials:H="same-origin",fetchOptions:N,maxContentLength:L,maxBodyLength:R}=bf(f);const P=w.isNumber(L)&&L>-1,$=w.isNumber(R)&&R>-1;let z=o||fetch;U=U?(U+"").toLowerCase():"text";let B=Fg([C,j&&j.toAbortSignal()],T),I=null;const K=B&&B.unsubscribe&&(()=>{B.unsubscribe()});let le;try{if(P&&typeof d=="string"&&d.startsWith("data:")&&Ug(d)>L)throw new O("maxContentLength size of "+L+" exceeded",O.ERR_BAD_RESPONSE,f,I);if($&&h!=="get"&&h!=="head"){const ee=await g(X,b);if(typeof ee=="number"&&isFinite(ee)&&ee>R)throw new O("Request body larger than maxBodyLength limit",O.ERR_BAD_REQUEST,f,I)}if(Q&&y&&h!=="get"&&h!=="head"&&(le=await g(X,b))!==0){let ee=new i(d,{method:"POST",body:b,duplex:"half"}),xn;if(w.isFormData(b)&&(xn=ee.headers.get("content-type"))&&X.setContentType(xn),ee.body){const[Gr,Jr]=Ru(le,li(Tu(Q)));b=zu(ee.body,Nu,Gr,Jr)}}w.isString(H)||(H=H?"include":"omit");const de=u&&"credentials"in i.prototype;if(w.isFormData(b)){const ee=X.getContentType();ee&&/^multipart\/form-data/i.test(ee)&&!/boundary=/i.test(ee)&&X.delete("content-type")}X.set("User-Agent","axios/"+ca,!1);const Ce={...N,signal:B,method:h.toUpperCase(),headers:pf(X.normalize()),body:b,duplex:"half",credentials:de?H:void 0};I=u&&new i(d,Ce);let Fe=await(u?z(I,N):z(d,Ce));if(P){const ee=w.toFiniteNumber(Fe.headers.get("content-length"));if(ee!=null&&ee>L)throw new O("maxContentLength size of "+L+" exceeded",O.ERR_BAD_RESPONSE,f,I)}const st=S&&(U==="stream"||U==="response");if(S&&Fe.body&&(_||P||st&&K)){const ee={};["status","statusText","headers"].forEach(Gn=>{ee[Gn]=Fe[Gn]});const xn=w.toFiniteNumber(Fe.headers.get("content-length")),[Gr,Jr]=_&&Ru(xn,li(Tu(_),!0))||[];let pa=0;const Nf=Gn=>{if(P&&(pa=Gn,pa>L))throw new O("maxContentLength size of "+L+" exceeded",O.ERR_BAD_RESPONSE,f,I);Gr&&Gr(Gn)};Fe=new l(zu(Fe.body,Nu,Nf,()=>{Jr&&Jr(),K&&K()}),ee)}U=U||"text";let Be=await x[w.findKey(x,U)||"text"](Fe,f);if(P&&!S&&!st){let ee;if(Be!=null&&(typeof Be.byteLength=="number"?ee=Be.byteLength:typeof Be.size=="number"?ee=Be.size:typeof Be=="string"&&(ee=typeof r=="function"?new r().encode(Be).byteLength:Be.length)),typeof ee=="number"&&ee>L)throw new O("maxContentLength size of "+L+" exceeded",O.ERR_BAD_RESPONSE,f,I)}return!st&&K&&K(),await new Promise((ee,xn)=>{wf(ee,xn,{data:Be,headers:Oe.from(Fe.headers),status:Fe.status,statusText:Fe.statusText,config:f,request:I})})}catch(de){if(K&&K(),B&&B.aborted&&B.reason instanceof O){const Ce=B.reason;throw Ce.config=f,I&&(Ce.request=I),de!==Ce&&(Ce.cause=de),Ce}throw de&&de.name==="TypeError"&&/Load failed|fetch/i.test(de.message)?Object.assign(new O("Network Error",O.ERR_NETWORK,f,I,de&&de.response),{cause:de.cause||de}):O.from(de,de&&de.code,f,I,de&&de.response)}}},Wg=new Map,kf=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,i=[r,o,n];let l=i.length,a=l,u,c,p=Wg;for(;a--;)u=i[a],c=p.get(u),c===void 0&&p.set(u,c=a?new Map:$g(t)),p=c;return c};kf();const da={http:ug,xhr:Lg,fetch:{get:kf}};w.forEach(da,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const Ou=e=>`- ${e}`,Hg=e=>w.isFunction(e)||e===null||e===!1;function Vg(e,t){e=w.isArray(e)?e:[e];const{length:n}=e;let r,o;const i={};for(let l=0;l`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build"));let a=n?l.length>1?`since : +`+l.map(Ou).join(` +`):" "+Ou(l[0]):"as no adapter specified";throw new O("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o}const jf={getAdapter:Vg,adapters:da};function ll(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Xr(null,e)}function Du(e){return ll(e),e.headers=Oe.from(e.headers),e.data=il.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),jf.getAdapter(e.adapter||Yr.adapter,e)(e).then(function(r){ll(e),e.response=r;try{r.data=il.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=Oe.from(r.headers),r},function(r){if(!vf(r)&&(ll(e),r&&r.response)){e.response=r.response;try{r.response.data=il.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=Oe.from(r.response.headers)}return Promise.reject(r)})}const Ri={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ri[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Lu={};Ri.transitional=function(t,n,r){function o(i,l){return"[Axios v"+ca+"] Transitional option '"+i+"'"+l+(r?". "+r:"")}return(i,l,a)=>{if(t===!1)throw new O(o(l," has been removed"+(n?" in "+n:"")),O.ERR_DEPRECATED);return n&&!Lu[l]&&(Lu[l]=!0,console.warn(o(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,l,a):!0}};Ri.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Qg(e,t,n){if(typeof e!="object")throw new O("options must be an object",O.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],l=Object.prototype.hasOwnProperty.call(t,i)?t[i]:void 0;if(l){const a=e[i],u=a===void 0||l(a,i,e);if(u!==!0)throw new O("option "+i+" must be "+u,O.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new O("Unknown option "+i,O.ERR_BAD_OPTION)}}const Oo={assertOptions:Qg,validators:Ri},Ze=Oo.validators;let un=class{constructor(t){this.defaults=t||{},this.interceptors={request:new _u,response:new _u}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=(()=>{if(!o.stack)return"";const l=o.stack.indexOf(` +`);return l===-1?"":o.stack.slice(l+1)})();try{if(!r.stack)r.stack=i;else if(i){const l=i.indexOf(` +`),a=l===-1?-1:i.indexOf(` +`,l+1),u=a===-1?"":i.slice(a+1);String(r.stack).endsWith(u)||(r.stack+=` +`+i)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=mn(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&Oo.assertOptions(r,{silentJSONParsing:Ze.transitional(Ze.boolean),forcedJSONParsing:Ze.transitional(Ze.boolean),clarifyTimeoutError:Ze.transitional(Ze.boolean),legacyInterceptorReqResOrdering:Ze.transitional(Ze.boolean)},!1),o!=null&&(w.isFunction(o)?n.paramsSerializer={serialize:o}:Oo.assertOptions(o,{encode:Ze.function,serialize:Ze.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Oo.assertOptions(n,{baseUrl:Ze.spelling("baseURL"),withXsrfToken:Ze.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=i&&w.merge(i.common,i[n.method]);i&&w.forEach(["delete","get","head","post","put","patch","query","common"],x=>{delete i[x]}),n.headers=Oe.concat(l,i);const a=[];let u=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;u=u&&v.synchronous;const g=n.transitional||aa;g&&g.legacyInterceptorReqResOrdering?a.unshift(v.fulfilled,v.rejected):a.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let p,m=0,y;if(!u){const x=[Du.bind(this),void 0];for(x.unshift(...a),x.push(...c),y=x.length,p=Promise.resolve(n);m{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const l=new Promise(a=>{r.subscribe(a),i=a}).then(o);return l.cancel=function(){r.unsubscribe(i)},l},t(function(i,l,a){r.reason||(r.reason=new Xr(i,l,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Cf(function(o){t=o}),cancel:t}}};function Kg(e){return function(n){return e.apply(null,n)}}function Yg(e){return w.isObject(e)&&e.isAxiosError===!0}const as={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(as).forEach(([e,t])=>{as[t]=e});function Ef(e){const t=new un(e),n=of(un.prototype.request,t);return w.extend(n,un.prototype,t,{allOwnKeys:!0}),w.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Ef(mn(e,o))},n}const F=Ef(Yr);F.Axios=un;F.CanceledError=Xr;F.CancelToken=qg;F.isCancel=vf;F.VERSION=ca;F.toFormData=_i;F.AxiosError=O;F.Cancel=F.CanceledError;F.all=function(t){return Promise.all(t)};F.spread=Kg;F.isAxiosError=Yg;F.mergeConfig=mn;F.AxiosHeaders=Oe;F.formToJSON=e=>xf(w.isHTMLForm(e)?new FormData(e):e);F.getAdapter=jf.getAdapter;F.HttpStatusCode=as;F.default=F;const{Axios:Yy,AxiosError:Xy,CanceledError:Gy,isCancel:Jy,CancelToken:Zy,VERSION:ex,all:tx,Cancel:nx,isAxiosError:rx,spread:ox,toFormData:ix,AxiosHeaders:lx,HttpStatusCode:sx,formToJSON:ax,getAdapter:ux,mergeConfig:cx,create:dx}=F,Do={tardy:{name:"Tardy Core Hours",category:"Attendance & Punctuality",minPoints:1,maxPoints:1,chapter:"Chapter 4, Section 5",fields:["time","minutes","description"],description:"Arriving 7+ minutes after 9:00 AM or start of mandatory meeting without prior excuse"},unplanned_absence:{name:"Unplanned Absence",category:"Attendance & Punctuality",minPoints:3,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["description"],description:"Absence from Core Hours without 48-hour notification, excluding verified emergencies"},chronic_underscheduling:{name:"Chronic Under-Scheduling",category:"Attendance & Punctuality",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Consistently failing to meet 40-hour weekly baseline"},pto_exhausted:{name:"Absence - PTO Exhausted",category:"Attendance & Punctuality",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Any absence after PTO bank reaches zero"},shadow_absenteeism:{name:"Shadow Absenteeism",category:"Attendance & Punctuality",minPoints:5,maxPoints:20,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to record partial-day absences or habitual PTO system bypass (20 pts for recidivists)"},manual_punch_1st:{name:"Manual Punch Correction (1st)",category:"Administrative Integrity",minPoints:1,maxPoints:1,chapter:"Chapter 4, Section 5",fields:["description"],description:"First failure to punch in/out requiring manual audit"},manual_punch_2nd:{name:"Manual Punch Correction (2nd)",category:"Administrative Integrity",minPoints:2,maxPoints:2,chapter:"Chapter 4, Section 5",fields:["description"],description:"Second failure requiring written action plan"},manual_punch_3rd:{name:"Manual Punch Correction (3rd / Tier 1)",category:"Administrative Integrity",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Repeated timekeeping negligence triggering formal Tier 1 realignment"},geolocation_1st:{name:"Geolocation Integrity (1st)",category:"Administrative Integrity",minPoints:1,maxPoints:1,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Recording blind punch with location services disabled"},geolocation_2nd:{name:"Geolocation Integrity (2nd)",category:"Administrative Integrity",minPoints:10,maxPoints:10,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Subsequent attempt to bypass location safeguards"},point_of_work:{name:"Point-of-Work Integrity",category:"Administrative Integrity",minPoints:1,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Clocking in before arriving at assigned post or for personal errands"},financial_chargeback:{name:"Financial Stewardship / Chargeback",category:"Financial Stewardship",minPoints:1,maxPoints:1,chapter:"Chapter 4, Section 5",fields:["amount","description"],description:"Monthly assessment for unsubstantiated expenses requiring chargeback"},receipt_negligence:{name:"Receipt Negligence",category:"Financial Stewardship",minPoints:10,maxPoints:10,chapter:"Chapter 4, Section 5",fields:["amount","description"],description:"Frequent failure to provide company card expense documentation"},failure_to_respond:{name:"Failure to Respond",category:"Operational Response",minPoints:1,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to respond promptly to internal/external requests during Core Hours"},sunset_rule:{name:"Sunset Rule Violation",category:"Operational Response",minPoints:1,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to provide response or status update with commitment date by end of business day"},double_ask:{name:"Double Ask Friction",category:"Operational Response",minPoints:3,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["description"],description:"Forcing client to ask twice for same information due to employee neglect"},missed_deadline_internal:{name:"Missed Deadline - Internal",category:"Operational Response",minPoints:3,maxPoints:3,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to meet internal project milestones"},missed_deadline_client:{name:"Missed Deadline - Client",category:"Operational Response",minPoints:7,maxPoints:7,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to meet high-impact client-facing deadline"},commitment_breach:{name:"Commitment Breach",category:"Operational Response",minPoints:4,maxPoints:4,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failing to meet commitment date without proactive prior notification"},communication_gap:{name:"Communication Gap (15-min window)",category:"Operational Response",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to respond within 15-minute window due to mobile device distraction"},quality_recidivism:{name:"Quality Recidivism",category:"Operational Response",minPoints:4,maxPoints:4,chapter:"Chapter 4, Section 5",fields:["description"],description:"Repetition of technical/administrative error previously corrected"},technical_negligence:{name:"Technical Negligence",category:"Operational Response",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Performance error resulting in rework, data loss, or equipment damage"},appearance:{name:"Professional Appearance Violation",category:"Professional Conduct",minPoints:1,maxPoints:3,chapter:"Chapter 2, Section 9",fields:["time","location","description"],description:"Failure to maintain dress code standards (shirts, pants, shoes required)"},active_consumption:{name:"Active Consumption Media",category:"Professional Conduct",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["time","description"],description:"Interactive social media/gaming during Core Hours"},tobacco_debris:{name:"Tobacco Facility Debris",category:"Professional Conduct",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Failure to maintain clean smoking area or flicking debris on grounds"},passive_insubordination:{name:"Passive Insubordination",category:"Professional Conduct",minPoints:5,maxPoints:5,chapter:"Chapter 4, Section 5",fields:["description"],description:"Ignoring reasonable requests, emails, or syncs without open dissent"},lockdown_violation:{name:"Lockdown Violation",category:"Professional Conduct",minPoints:10,maxPoints:10,chapter:"Chapter 4, Section 5",fields:["description"],description:"Using non-work media while under Tier 2 Administrative Friction"},vehicle_stewardship:{name:"Vehicle Stewardship",category:"Professional Conduct",minPoints:10,maxPoints:10,chapter:"Chapter 4, Section 5",fields:["description"],description:"Persistent tobacco-free transit violation (odor/debris in company vehicle)"},defiant_insubordination:{name:"Defiant Insubordination",category:"Professional Conduct",minPoints:15,maxPoints:15,chapter:"Chapter 4, Section 5",fields:["description"],description:"Openly refusing legal, ethical, or professional directive from management"},benefit_documentation:{name:"Benefit Documentation Failure",category:"Professional Conduct",minPoints:15,maxPoints:15,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to provide insurance records for Workers Comp"},professional_dishonesty:{name:"Professional Dishonesty",category:"Professional Conduct",minPoints:20,maxPoints:20,chapter:"Chapter 4, Section 5",fields:["description"],description:"Falsifying time records, expenses, or reasons for absence"},wfh_submittal:{name:"WFH Submittal Failure",category:"Work From Home",minPoints:1,maxPoints:5,chapter:"Chapter 4, Section 4.1",fields:["description"],description:"Failure to provide work-product summary or misrepresenting hours worked"},safety_minor:{name:"Safety Violation - Minor",category:"Safety & Security",minPoints:1,maxPoints:10,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Minor to moderate safety standard violations without immediate injury"},policy_isp:{name:"Policy Non-Alignment - ISP",category:"Safety & Security",minPoints:5,maxPoints:20,chapter:"Chapter 4, Section 5",fields:["description"],description:"Failure to adhere to Information Security Policy protocols"},workspace_safety:{name:"Workspace Safety Neglect",category:"Safety & Security",minPoints:15,maxPoints:15,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Failure to maintain clean workspace or minor safety negligence"},distracted_driving:{name:"Distracted Driving",category:"Safety & Security",minPoints:15,maxPoints:15,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Use of handheld mobile devices while operating vehicle for company business"},operational_sabotage:{name:"Operational Sabotage",category:"Safety & Security",minPoints:20,maxPoints:20,chapter:"Chapter 4, Section 5",fields:["description"],description:"Willful disregard for security/safety protocols resulting in breach or injury"},impairment_redzone:{name:"Impairment in Red Zone",category:"Safety & Security",minPoints:30,maxPoints:30,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Operating machinery or working in Fabrication Area while under influence"},child_redzone:{name:"Child in Red Zone",category:"Safety & Security",minPoints:30,maxPoints:30,chapter:"Chapter 4, Section 5",fields:["location","description"],description:"Bringing minor into active Fabrication Area (Suite 24/25)"},i9_falsification:{name:"I-9 Eligibility Falsification",category:"Safety & Security",minPoints:30,maxPoints:30,chapter:"Chapter 4, Section 5",fields:["description"],description:"Falsifying work authorization or identity documentation"}},Xg=Object.entries(Do).reduce((e,[t,n])=>(e[n.category]||(e[n.category]=[]),e[n.category].push({key:t,...n}),e),{});function Gg(e){const[t,n]=k.useState(null),[r,o]=k.useState({}),[i,l]=k.useState({}),[a,u]=k.useState([]),[c,p]=k.useState(!1);return k.useEffect(()=>{if(!e){n(null),o({}),l({}),u([]);return}p(!0),Promise.all([F.get(`/api/employees/${e}/score`),F.get(`/api/employees/${e}/violation-counts`),F.get(`/api/employees/${e}/violation-counts/alltime`),F.get(`/api/violations/employee/${e}?limit=20`)]).then(([m,y,S,x])=>{n(m.data),o(y.data),l(S.data),u(x.data)}).catch(console.error).finally(()=>p(!1))},[e]),{score:t,counts90:r,countsAllTime:i,history:a,loading:c}}const kr=[{min:0,max:4,label:"Tier 0-1 — Elite Standing",color:"#28a745",bg:"#d4edda"},{min:5,max:9,label:"Tier 1 — Realignment",color:"#856404",bg:"#fff3cd"},{min:10,max:14,label:"Tier 2 — Administrative Lockdown",color:"#d9534f",bg:"#f8d7da"},{min:15,max:19,label:"Tier 3 — Verification",color:"#d9534f",bg:"#f8d7da"},{min:20,max:24,label:"Tier 4 — Risk Mitigation",color:"#721c24",bg:"#f5c6cb"},{min:25,max:29,label:"Tier 5 — Final Decision",color:"#721c24",bg:"#f5c6cb"},{min:30,max:999,label:"Tier 6 — Separation",color:"#fff",bg:"#721c24"}];function Kt(e){return kr.find(t=>e>=t.min&&e<=t.max)||kr[0]}function Jg(e){const t=kr.findIndex(n=>e>=n.min&&e<=n.max);return t>=0&&ts.jsxs("tr",{style:l%2===0?ge.trEven:ge.trOdd,children:[s.jsx("td",{style:ge.td,children:ey(i.incident_date)}),s.jsx("td",{style:ge.td,children:i.violation_name}),s.jsx("td",{style:{...ge.td,color:"#c0c2d6"},children:i.category}),s.jsx("td",{style:{...ge.td,...ge.pts},children:i.points}),s.jsx("td",{style:{...ge.td,color:"#c0c2d6"},children:i.details||"–"})]},i.id))})]}),e.length>5&&s.jsx("div",{style:{marginTop:"8px"},children:s.jsx("button",{style:ge.toggle,onClick:()=>r(i=>!i),children:n?"▲ Show less":`▼ Show all ${e.length} violations`})})]}):s.jsx("p",{style:ge.empty,children:"No violations on record for this employee."})}const _f=k.createContext(null);function Pi(){const e=k.useContext(_f);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Fu={success:{bg:"#053321",border:"#0f5132",color:"#9ef7c1",icon:"✓"},error:{bg:"#3c1114",border:"#f5c6cb",color:"#ffb3b8",icon:"✗"},info:{bg:"#0c1f3f",border:"#2563eb",color:"#93c5fd",icon:"ℹ"},warning:{bg:"#3b2e00",border:"#d4af37",color:"#ffdf8a",icon:"⚠"}};let ny=0;function ry({toast:e,onDismiss:t}){const n=Fu[e.variant]||Fu.info,[r,o]=k.useState(!1),i=k.useRef(null);k.useEffect(()=>(i.current=setTimeout(()=>{o(!0),setTimeout(()=>t(e.id),280)},e.duration||4e3),()=>clearTimeout(i.current)),[e.id,e.duration,t]);const l=()=>{clearTimeout(i.current),o(!0),setTimeout(()=>t(e.id),280)};return s.jsxs("div",{style:{background:n.bg,border:`1px solid ${n.border}`,borderRadius:"8px",padding:"12px 16px",display:"flex",alignItems:"flex-start",gap:"10px",color:n.color,fontSize:"13px",fontWeight:500,minWidth:"320px",maxWidth:"480px",boxShadow:"0 4px 24px rgba(0,0,0,0.5)",animation:r?"toastOut 0.28s ease-in forwards":"toastIn 0.28s ease-out",position:"relative",overflow:"hidden"},children:[s.jsx("span",{style:{fontSize:"16px",lineHeight:1,flexShrink:0,marginTop:"1px"},children:n.icon}),s.jsx("span",{style:{flex:1,lineHeight:1.5},children:e.message}),s.jsx("button",{onClick:l,style:{background:"none",border:"none",color:n.color,cursor:"pointer",fontSize:"16px",padding:"0 0 0 8px",opacity:.7,lineHeight:1,flexShrink:0},"aria-label":"Dismiss",children:"×"}),s.jsx("div",{style:{position:"absolute",bottom:0,left:0,height:"3px",background:n.color,opacity:.4,borderRadius:"0 0 8px 8px",animation:`toastProgress ${e.duration||4e3}ms linear forwards`}})]})}function oy({children:e}){const[t,n]=k.useState([]),r=k.useCallback(l=>{n(a=>a.filter(u=>u.id!==l))},[]),o=k.useCallback((l,a="info",u=4e3)=>{const c=++ny;return n(p=>{const m=[...p,{id:c,message:l,variant:a,duration:u}];return m.length>5?m.slice(-5):m}),c},[]),i=k.useCallback({success:(l,a)=>o(l,"success",a),error:(l,a)=>o(l,"error",a||6e3),info:(l,a)=>o(l,"info",a),warning:(l,a)=>o(l,"warning",a||5e3)},[o]);return k.useEffect(()=>{if(document.getElementById("toast-keyframes"))return;const l=document.createElement("style");l.id="toast-keyframes",l.textContent=` + @keyframes toastIn { + from { opacity: 0; transform: translateX(100%); } + to { opacity: 1; transform: translateX(0); } + } + @keyframes toastOut { + from { opacity: 1; transform: translateX(0); } + to { opacity: 0; transform: translateX(100%); } + } + @keyframes toastProgress { + from { width: 100%; } + to { width: 0%; } + } + `,document.head.appendChild(l)},[]),s.jsxs(_f.Provider,{value:i,children:[e,s.jsx("div",{style:{position:"fixed",top:"16px",right:"16px",zIndex:99999,display:"flex",flexDirection:"column",gap:"8px",pointerEvents:"none"},children:t.map(l=>s.jsx("div",{style:{pointerEvents:"auto"},children:s.jsx(ry,{toast:l,onDismiss:r})},l.id))})]})}const iy=["Attendance & Punctuality","Administrative Integrity","Financial Stewardship","Operational Response","Professional Conduct","Work From Home","Safety & Security"],ly=[{key:"time",label:"Incident Time"},{key:"minutes",label:"Minutes Late"},{key:"amount",label:"Amount / Value"},{key:"location",label:"Location / Context"},{key:"description",label:"Additional Details"}],W={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1e3,display:"flex",alignItems:"center",justifyContent:"center",padding:"20px"},modal:{background:"#111217",border:"1px solid #2a2b3a",borderRadius:"10px",width:"100%",maxWidth:"620px",maxHeight:"90vh",overflowY:"auto",padding:"32px"},title:{color:"#f8f9fa",fontSize:"20px",fontWeight:700,marginBottom:"24px",borderBottom:"1px solid #2a2b3a",paddingBottom:"12px"},label:{fontWeight:600,color:"#e5e7f1",marginBottom:"5px",fontSize:"13px",display:"block"},input:{width:"100%",padding:"10px",border:"1px solid #333544",borderRadius:"4px",fontSize:"14px",fontFamily:"inherit",background:"#050608",color:"#f8f9fa",boxSizing:"border-box"},textarea:{width:"100%",padding:"10px",border:"1px solid #333544",borderRadius:"4px",fontSize:"13px",fontFamily:"inherit",background:"#050608",color:"#f8f9fa",resize:"vertical",minHeight:"80px",boxSizing:"border-box"},group:{marginBottom:"18px"},hint:{fontSize:"11px",color:"#9ca0b8",marginTop:"4px",fontStyle:"italic"},row:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"14px"},toggle:{display:"flex",gap:"8px",marginTop:"6px"},toggleBtn:e=>({padding:"7px 18px",borderRadius:"4px",fontSize:"13px",fontWeight:600,cursor:"pointer",border:"1px solid",background:e?"#d4af37":"#050608",color:e?"#000":"#9ca0b8",borderColor:e?"#d4af37":"#333544"}),fieldGrid:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"8px",marginTop:"8px"},checkbox:{display:"flex",alignItems:"center",gap:"8px",fontSize:"13px",color:"#d1d3e0",cursor:"pointer"},btnRow:{display:"flex",gap:"12px",justifyContent:"flex-end",marginTop:"28px",paddingTop:"16px",borderTop:"1px solid #2a2b3a"},btnSave:{padding:"10px 28px",fontSize:"14px",fontWeight:600,border:"none",borderRadius:"6px",cursor:"pointer",background:"linear-gradient(135deg, #d4af37 0%, #ffdf8a 100%)",color:"#000"},btnDanger:{padding:"10px 18px",fontSize:"14px",fontWeight:600,border:"1px solid #721c24",borderRadius:"6px",cursor:"pointer",background:"#3c1114",color:"#ffb3b8"},btnCancel:{padding:"10px 18px",fontSize:"14px",fontWeight:600,border:"1px solid #333544",borderRadius:"6px",cursor:"pointer",background:"#050608",color:"#f8f9fa"},section:{background:"#181924",border:"1px solid #2a2b3a",borderRadius:"6px",padding:"16px",marginBottom:"18px"},secTitle:{color:"#d4af37",fontSize:"13px",fontWeight:700,marginBottom:"12px",textTransform:"uppercase",letterSpacing:"0.05em"},customBadge:{display:"inline-block",marginLeft:"8px",padding:"1px 7px",borderRadius:"10px",fontSize:"10px",fontWeight:700,background:"#1a2e1a",color:"#4caf50",border:"1px solid #4caf50",verticalAlign:"middle"}},sy={name:"",category:"",chapter:"",description:"",pointType:"fixed",fixedPoints:1,minPoints:1,maxPoints:5,fields:["description"]};function ay({onClose:e,onSaved:t,editing:n=null}){const[r,o]=k.useState(sy),[i,l]=k.useState(!1),[a,u]=k.useState(!1),c=Pi();k.useEffect(()=>{if(n){const x=n.min_points!==n.max_points;o({name:n.name,category:n.category,chapter:n.chapter||"",description:n.description||"",pointType:x?"sliding":"fixed",fixedPoints:n.min_points,minPoints:n.min_points,maxPoints:n.max_points,fields:n.fields||["description"]})}},[n]);const p=(x,v)=>o(g=>({...g,[x]:v})),m=x=>{o(v=>({...v,fields:v.fields.includes(x)?v.fields.filter(g=>g!==x):[...v.fields,x]}))},y=async()=>{var f,d;if(!r.name.trim()){c.warning("Violation name is required.");return}if(!r.category.trim()){c.warning("Category is required.");return}const x=r.pointType==="fixed"?parseInt(r.fixedPoints)||1:parseInt(r.minPoints)||1,v=r.pointType==="fixed"?x:parseInt(r.maxPoints)||1;if(v= min points.");return}if(r.fields.length===0){c.warning("Select at least one context field.");return}const g={name:r.name.trim(),category:r.category.trim(),chapter:r.chapter.trim()||null,description:r.description.trim()||null,min_points:x,max_points:v,fields:r.fields};l(!0);try{let h;n?(h=(await F.put(`/api/violation-types/${n.id}`,g)).data,c.success(`"${h.name}" updated.`)):(h=(await F.post("/api/violation-types",g)).data,c.success(`"${h.name}" added to violation types.`)),t(h)}catch(h){c.error(((d=(f=h.response)==null?void 0:f.data)==null?void 0:d.error)||h.message)}finally{l(!1)}},S=async()=>{var x,v;if(n&&window.confirm(`Delete "${n.name}"? This cannot be undone and will fail if any violations reference this type.`)){u(!0);try{await F.delete(`/api/violation-types/${n.id}`),c.success(`"${n.name}" deleted.`),t(null)}catch(g){c.error(((v=(x=g.response)==null?void 0:x.data)==null?void 0:v.error)||g.message)}finally{u(!1)}}};return s.jsx("div",{style:W.overlay,onClick:x=>x.target===x.currentTarget&&e(),children:s.jsxs("div",{style:W.modal,children:[s.jsxs("div",{style:W.title,children:[n?"Edit Violation Type":"Add Violation Type",n&&s.jsx("span",{style:W.customBadge,children:"CUSTOM"})]}),s.jsxs("div",{style:W.section,children:[s.jsx("div",{style:W.secTitle,children:"Violation Definition"}),s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Violation Name *"}),s.jsx("input",{style:W.input,type:"text",value:r.name,onChange:x=>p("name",x.target.value),placeholder:"e.g. Unauthorized System Access"})]}),s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Category *"}),s.jsx("input",{style:W.input,type:"text",list:"vt-categories",value:r.category,onChange:x=>p("category",x.target.value),placeholder:"Select existing or type new category"}),s.jsx("datalist",{id:"vt-categories",children:iy.map(x=>s.jsx("option",{value:x},x))}),s.jsx("div",{style:W.hint,children:"Choose an existing category or type a new one to create a new group in the dropdown."})]}),s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Handbook Reference / Chapter"}),s.jsx("input",{style:W.input,type:"text",value:r.chapter,onChange:x=>p("chapter",x.target.value),placeholder:"e.g. Chapter 4, Section 6"})]}),s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Description / Reference Text"}),s.jsx("textarea",{style:W.textarea,value:r.description,onChange:x=>p("description",x.target.value),placeholder:"Paste the relevant handbook language or describe the infraction in plain terms..."}),s.jsx("div",{style:W.hint,children:"Shown in the context box on the violation form and printed on the PDF."})]})]}),s.jsxs("div",{style:W.section,children:[s.jsx("div",{style:W.secTitle,children:"Point Assignment"}),s.jsx("label",{style:W.label,children:"Point Type"}),s.jsxs("div",{style:W.toggle,children:[s.jsx("button",{type:"button",style:W.toggleBtn(r.pointType==="fixed"),onClick:()=>p("pointType","fixed"),children:"Fixed"}),s.jsx("button",{type:"button",style:W.toggleBtn(r.pointType==="sliding"),onClick:()=>p("pointType","sliding"),children:"Sliding Range"})]}),s.jsx("div",{style:{...W.hint,marginTop:"6px"},children:"Fixed = exact value every time. Sliding = supervisor adjusts within a min/max range."}),r.pointType==="fixed"?s.jsxs("div",{style:{...W.group,marginTop:"14px"},children:[s.jsx("label",{style:W.label,children:"Points (Fixed)"}),s.jsx("input",{style:{...W.input,width:"120px"},type:"number",min:"1",max:"30",value:r.fixedPoints,onChange:x=>p("fixedPoints",x.target.value)})]}):s.jsxs("div",{style:{...W.row,marginTop:"14px"},children:[s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Min Points"}),s.jsx("input",{style:W.input,type:"number",min:"1",max:"30",value:r.minPoints,onChange:x=>p("minPoints",x.target.value)})]}),s.jsxs("div",{style:W.group,children:[s.jsx("label",{style:W.label,children:"Max Points"}),s.jsx("input",{style:W.input,type:"number",min:"1",max:"30",value:r.maxPoints,onChange:x=>p("maxPoints",x.target.value)})]})]})]}),s.jsxs("div",{style:W.section,children:[s.jsx("div",{style:W.secTitle,children:"Context Fields"}),s.jsx("div",{style:W.hint,children:"Select which additional fields appear on the violation form for this type."}),s.jsx("div",{style:W.fieldGrid,children:ly.map(({key:x,label:v})=>s.jsxs("label",{style:W.checkbox,children:[s.jsx("input",{type:"checkbox",checked:r.fields.includes(x),onChange:()=>m(x)}),v]},x))})]}),s.jsxs("div",{style:W.btnRow,children:[n&&s.jsx("button",{type:"button",style:W.btnDanger,onClick:S,disabled:a,children:a?"Deleting…":"Delete Type"}),s.jsx("button",{type:"button",style:W.btnCancel,onClick:e,children:"Cancel"}),s.jsx("button",{type:"button",style:W.btnSave,onClick:y,disabled:i,children:i?"Saving…":n?"Save Changes":"Add Violation Type"})]})]})})}const Rf=["Administrative","Business Development","Design and Content","Executive","Implementation and Support","Operations","Production"],D={content:{padding:"32px 40px",background:"#111217",borderRadius:"10px",color:"#f8f9fa"},section:{background:"#181924",borderLeft:"4px solid #d4af37",padding:"20px",marginBottom:"30px",borderRadius:"4px",border:"1px solid #2a2b3a"},sectionTitle:{color:"#f8f9fa",fontSize:"20px",marginBottom:"15px",fontWeight:700},grid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(250px, 1fr))",gap:"15px",marginTop:"15px"},item:{display:"flex",flexDirection:"column"},label:{fontWeight:600,color:"#e5e7f1",marginBottom:"5px",fontSize:"13px"},input:{padding:"10px",border:"1px solid #333544",borderRadius:"4px",fontSize:"14px",fontFamily:"inherit",background:"#050608",color:"#f8f9fa"},fullCol:{gridColumn:"1 / -1"},contextBox:{background:"#141623",border:"1px solid #333544",borderRadius:"4px",padding:"10px",fontSize:"12px",color:"#d1d3e0",marginTop:"4px"},repeatBadge:{display:"inline-block",marginLeft:"8px",padding:"1px 7px",borderRadius:"10px",fontSize:"11px",fontWeight:700,background:"#3b2e00",color:"#ffd666",border:"1px solid #d4af37"},repeatWarn:{background:"#3b2e00",border:"1px solid #d4af37",borderRadius:"4px",padding:"8px 12px",marginTop:"6px",fontSize:"12px",color:"#ffdf8a"},pointBox:{background:"#181200",border:"2px solid #d4af37",padding:"15px",borderRadius:"6px",marginTop:"15px",textAlign:"center"},pointValue:{fontSize:"24px",fontWeight:"bold",color:"#ffd666",margin:"10px 0"},scoreRow:{display:"flex",alignItems:"center",gap:"12px",marginBottom:"14px",flexWrap:"wrap"},btnRow:{display:"flex",gap:"15px",justifyContent:"center",marginTop:"30px",flexWrap:"wrap"},btnPrimary:{padding:"15px 40px",fontSize:"16px",fontWeight:600,border:"none",borderRadius:"6px",cursor:"pointer",background:"linear-gradient(135deg, #d4af37 0%, #ffdf8a 100%)",color:"#000",textTransform:"uppercase"},btnPdf:{padding:"15px 40px",fontSize:"16px",fontWeight:600,border:"none",borderRadius:"6px",cursor:"pointer",background:"linear-gradient(135deg, #e74c3c 0%, #c0392b 100%)",color:"white",textTransform:"uppercase"},btnSecondary:{padding:"15px 40px",fontSize:"16px",fontWeight:600,border:"1px solid #333544",borderRadius:"6px",cursor:"pointer",background:"#050608",color:"#f8f9fa",textTransform:"uppercase"},ackSection:{background:"#181924",borderLeft:"4px solid #2196F3",padding:"20px",marginBottom:"30px",borderRadius:"4px",border:"1px solid #2a2b3a"},ackHint:{fontSize:"12px",color:"#9ca0b8",marginTop:"4px",fontStyle:"italic"}},sl={employeeId:"",employeeName:"",department:"",supervisor:"",witnessName:"",violationType:"",incidentDate:"",incidentTime:"",amount:"",minutesLate:"",location:"",additionalDetails:"",points:1,acknowledgedBy:"",acknowledgedDate:""};function uy(){var L;const[e,t]=k.useState([]),[n,r]=k.useState(sl),[o,i]=k.useState(null),[l,a]=k.useState(null),[u,c]=k.useState(null),[p,m]=k.useState(!1),[y,S]=k.useState([]),[x,v]=k.useState(null),g=Pi(),f=Gg(n.employeeId||null);k.useEffect(()=>{F.get("/api/employees").then(R=>t(R.data)).catch(()=>{}),d()},[]);const d=()=>{F.get("/api/violation-types").then(R=>S(R.data)).catch(()=>{})},h=k.useMemo(()=>Object.fromEntries(y.map(R=>[R.type_key,R])),[y]),b=k.useMemo(()=>{const R={};return Object.entries(Xg).forEach(([P,$])=>{R[P]=[...$]}),y.forEach(P=>{const $={key:P.type_key,name:P.name,category:P.category,minPoints:P.min_points,maxPoints:P.max_points,chapter:P.chapter||"",description:P.description||"",fields:P.fields,isCustom:!0,customId:P.id};R[P.category]||(R[P.category]=[]),R[P.category].push($)}),R},[y]),C=R=>{if(Do[R])return Do[R];const P=h[R];return P?{name:P.name,category:P.category,chapter:P.chapter||"",description:P.description||"",minPoints:P.min_points,maxPoints:P.max_points,fields:P.fields,isCustom:!0,customId:P.id}:null};k.useEffect(()=>{if(!o||!n.violationType)return;const R=f.countsAllTime[n.violationType];R&&R.count>=1&&o.minPoints!==o.maxPoints?r(P=>({...P,points:o.maxPoints})):r(P=>({...P,points:o.minPoints}))},[n.violationType,o,f.countsAllTime]);const j=R=>{const P=e.find($=>$.id===parseInt(R.target.value));P&&r($=>({...$,employeeId:P.id,employeeName:P.name,department:P.department||"",supervisor:P.supervisor||""}))},T=R=>{const P=R.target.value,$=C(P);i($),r(z=>({...z,violationType:P,points:$?$.minPoints:1}))},_=R=>r(P=>({...P,[R.target.name]:R.target.value})),Q=async R=>{var P,$;if(R.preventDefault(),!n.violationType){g.warning("Please select a violation type.");return}if(!n.employeeName){g.warning("Please enter an employee name.");return}try{const B=(await F.post("/api/employees",{name:n.employeeName,department:n.department,supervisor:n.supervisor})).data.id,K=(await F.post("/api/violations",{employee_id:B,violation_type:n.violationType,violation_name:(o==null?void 0:o.name)||n.violationType,category:(o==null?void 0:o.category)||"General",points:parseInt(n.points),incident_date:n.incidentDate,incident_time:n.incidentTime||null,location:n.location||null,details:n.additionalDetails||null,witness_name:n.witnessName||null,acknowledged_by:n.acknowledgedBy||null,acknowledged_date:n.acknowledgedDate||null,amount:n.amount||null})).data.id;c(K);const le=await F.get("/api/employees");t(le.data),g.success(`Violation #${K} recorded — click Download PDF to save the document.`),a({ok:!0,msg:`✓ Violation #${K} recorded — click Download PDF to save the document.`}),r(sl),i(null)}catch(z){const B=(($=(P=z.response)==null?void 0:P.data)==null?void 0:$.error)||z.message;g.error(`Failed to submit: ${B}`),a({ok:!1,msg:"✗ Error: "+B})}},U=async()=>{if(u){m(!0);try{const R=await F.get(`/api/violations/${u}/pdf`,{responseType:"blob"}),P=window.URL.createObjectURL(new Blob([R.data],{type:"application/pdf"})),$=document.createElement("a");$.href=P,$.download=`CPAS_Violation_${u}.pdf`,document.body.appendChild($),$.click(),$.remove(),window.URL.revokeObjectURL(P),g.success("PDF downloaded successfully.")}catch(R){g.error("PDF generation failed: "+R.message)}finally{m(!1)}}},X=R=>{var P;return(P=o==null?void 0:o.fields)==null?void 0:P.includes(R)},H=R=>f.counts90[R]||0,N=R=>{var P;return(((P=f.countsAllTime[R])==null?void 0:P.count)||0)>=1};return s.jsxs("div",{style:D.content,children:[s.jsxs("div",{style:D.section,children:[s.jsx("h2",{style:D.sectionTitle,children:"Employee Information"}),f.score&&n.employeeId&&s.jsxs("div",{style:D.scoreRow,children:[s.jsx("span",{style:{fontSize:"13px",color:"#d1d3e0",fontWeight:600},children:"Current Standing:"}),s.jsx(Ti,{points:f.score.active_points}),s.jsxs("span",{style:{fontSize:"12px",color:"#9ca0b8"},children:[f.score.violation_count," violation",f.score.violation_count!==1?"s":""," in last 90 days"]})]}),e.length>0&&s.jsxs("div",{style:{marginBottom:"12px"},children:[s.jsx("label",{style:D.label,children:"Quick-Select Existing Employee:"}),s.jsxs("select",{style:D.input,onChange:j,value:n.employeeId||"",children:[s.jsx("option",{value:"",children:"-- Select existing or enter new below --"}),e.map(R=>s.jsxs("option",{value:R.id,children:[R.name,R.department?` — ${R.department}`:""]},R.id))]})]}),s.jsxs("div",{style:D.grid,children:[[["employeeName","Employee Name","John Doe"],["supervisor","Supervisor Name","Jane Smith"],["witnessName","Witness Name (Officer)","Officer Name"]].map(([R,P,$])=>s.jsxs("div",{style:D.item,children:[s.jsxs("label",{style:D.label,children:[P,":"]}),s.jsx("input",{style:D.input,type:"text",name:R,value:n[R],onChange:_,placeholder:$})]},R)),s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Department:"}),s.jsxs("select",{style:D.input,name:"department",value:n.department,onChange:_,children:[s.jsx("option",{value:"",children:"-- Select Department --"}),Rf.map(R=>s.jsx("option",{value:R,children:R},R))]})]})]})]}),s.jsxs("form",{onSubmit:Q,children:[s.jsxs("div",{style:D.section,children:[s.jsx("h2",{style:D.sectionTitle,children:"Violation Details"}),s.jsxs("div",{style:D.grid,children:[s.jsxs("div",{style:{...D.item,...D.fullCol},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"5px"},children:[s.jsx("label",{style:{...D.label,marginBottom:0},children:"Violation Type:"}),s.jsxs("div",{style:{display:"flex",gap:"6px"},children:[(o==null?void 0:o.isCustom)&&s.jsx("button",{type:"button",onClick:()=>v(h[n.violationType]),style:{fontSize:"11px",padding:"3px 10px",borderRadius:"4px",border:"1px solid #4caf50",background:"#1a2e1a",color:"#4caf50",cursor:"pointer",fontWeight:600},children:"Edit Type"}),s.jsx("button",{type:"button",onClick:()=>v("create"),style:{fontSize:"11px",padding:"3px 10px",borderRadius:"4px",border:"1px solid #d4af37",background:"#181200",color:"#ffd666",cursor:"pointer",fontWeight:600},title:"Add a new custom violation type",children:"+ Add Type"})]})]}),s.jsxs("select",{style:D.input,value:n.violationType,onChange:T,required:!0,children:[s.jsx("option",{value:"",children:"-- Select Violation Type --"}),Object.entries(b).map(([R,P])=>s.jsx("optgroup",{label:R,children:P.map($=>{const z=H($.key);return s.jsxs("option",{value:$.key,children:[$.name,$.isCustom?" ✦":"",z>0?` ★ ${z}x in 90 days`:""]},$.key)})},R))]}),o&&s.jsxs("div",{style:D.contextBox,children:[s.jsx("strong",{children:o.name}),o.isCustom&&s.jsx("span",{style:{display:"inline-block",marginLeft:"8px",padding:"1px 7px",borderRadius:"10px",fontSize:"10px",fontWeight:700,background:"#1a2e1a",color:"#4caf50",border:"1px solid #4caf50"},children:"Custom"}),N(n.violationType)&&n.employeeId&&s.jsxs("span",{style:D.repeatBadge,children:["★ Repeat — ",(L=f.countsAllTime[n.violationType])==null?void 0:L.count,"x prior"]}),s.jsx("br",{}),o.description,s.jsx("br",{}),s.jsx("span",{style:{fontSize:"11px",color:"#a0a3ba"},children:o.chapter})]}),o&&N(n.violationType)&&n.employeeId&&o.minPoints!==o.maxPoints&&s.jsxs("div",{style:D.repeatWarn,children:[s.jsx("strong",{children:"Repeat offense detected."})," Point slider set to maximum (",o.maxPoints," pts) per recidivist policy. Adjust if needed."]})]}),s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Incident Date:"}),s.jsx("input",{style:D.input,type:"date",name:"incidentDate",value:n.incidentDate,onChange:_,required:!0})]}),X("time")&&s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Incident Time:"}),s.jsx("input",{style:D.input,type:"time",name:"incidentTime",value:n.incidentTime,onChange:_})]}),X("minutes")&&s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Minutes Late:"}),s.jsx("input",{style:D.input,type:"number",name:"minutesLate",value:n.minutesLate,onChange:_,placeholder:"15"})]}),X("amount")&&s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Amount / Value:"}),s.jsx("input",{style:D.input,type:"text",name:"amount",value:n.amount,onChange:_,placeholder:"$150.00"})]}),X("location")&&s.jsxs("div",{style:{...D.item,...D.fullCol},children:[s.jsx("label",{style:D.label,children:"Location / Context:"}),s.jsx("input",{style:D.input,type:"text",name:"location",value:n.location,onChange:_,placeholder:"Office, vehicle, facility area, etc."})]}),X("description")&&s.jsxs("div",{style:{...D.item,...D.fullCol},children:[s.jsx("label",{style:D.label,children:"Additional Details:"}),s.jsx("textarea",{style:{...D.input,resize:"vertical",minHeight:"80px"},name:"additionalDetails",value:n.additionalDetails,onChange:_,placeholder:"Provide specific context, observations, or details..."})]})]}),f.score&&o&&s.jsx(Zg,{currentPoints:f.score.active_points,addingPoints:parseInt(n.points)||0}),o&&s.jsxs("div",{style:D.pointBox,children:[s.jsx("h4",{style:{color:"#ffdf8a",marginBottom:"10px"},children:"CPAS Point Assessment"}),s.jsxs("p",{style:{margin:0},children:[o.name,": ",o.minPoints===o.maxPoints?`${o.minPoints} Points (Fixed)`:`${o.minPoints}–${o.maxPoints} Points`]}),s.jsx("input",{style:{width:"100%",marginTop:"10px"},type:"range",name:"points",min:o.minPoints,max:o.maxPoints,value:n.points,onChange:_}),s.jsxs("div",{style:D.pointValue,children:[n.points," Points"]}),s.jsx("p",{style:{fontSize:"12px",color:"#d1d3e0"},children:"Adjust to reflect severity and context"})]})]}),s.jsxs("div",{style:D.ackSection,children:[s.jsx("h2",{style:{...D.sectionTitle,fontSize:"17px"},children:"Employee Acknowledgment"}),s.jsx("p",{style:{fontSize:"12px",color:"#9ca0b8",marginBottom:"14px",lineHeight:1.6},children:"If the employee is present and acknowledges receipt of this violation, enter their name and the date below. This replaces the blank signature line on the PDF with a recorded acknowledgment."}),s.jsxs("div",{style:D.grid,children:[s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Acknowledged By (Employee Name):"}),s.jsx("input",{style:D.input,type:"text",name:"acknowledgedBy",value:n.acknowledgedBy,onChange:_,placeholder:"Employee's printed name"}),s.jsx("div",{style:D.ackHint,children:"Leave blank if employee is not present or declines to sign"})]}),s.jsxs("div",{style:D.item,children:[s.jsx("label",{style:D.label,children:"Acknowledgment Date:"}),s.jsx("input",{style:D.input,type:"date",name:"acknowledgedDate",value:n.acknowledgedDate,onChange:_}),s.jsx("div",{style:D.ackHint,children:"Date the employee received and acknowledged this document"})]})]})]}),s.jsxs("div",{style:D.btnRow,children:[s.jsx("button",{type:"submit",style:D.btnPrimary,children:"Submit Violation"}),s.jsx("button",{type:"button",style:D.btnSecondary,onClick:()=>{r(sl),i(null),a(null),c(null)},children:"Clear Form"})]}),u&&(l==null?void 0:l.ok)&&s.jsxs("div",{style:{textAlign:"center",marginTop:"16px"},children:[s.jsx("button",{type:"button",style:{...D.btnPdf,opacity:p?.7:1},onClick:U,disabled:p,children:p?"⏳ Generating PDF...":"⬇ Download PDF"}),s.jsxs("p",{style:{fontSize:"11px",color:"#9ca0b8",marginTop:"6px"},children:["Violation #",u," — click to download the signed violation document"]})]}),l&&s.jsx("div",{style:l.ok?{marginTop:"15px",padding:"15px",borderRadius:"6px",textAlign:"center",fontWeight:600,background:"#053321",color:"#9ef7c1",border:"1px solid #0f5132"}:{marginTop:"15px",padding:"15px",borderRadius:"6px",textAlign:"center",fontWeight:600,background:"#3c1114",color:"#ffb3b8",border:"1px solid #f5c6cb"},children:l.msg})]}),n.employeeId&&s.jsxs("div",{style:D.section,children:[s.jsx("h2",{style:D.sectionTitle,children:"Violation History"}),s.jsx(ty,{history:f.history,loading:f.loading})]}),x&&s.jsx(ay,{editing:x==="create"?null:x,onClose:()=>v(null),onSaved:R=>{if(d(),v(null),R){const P={name:R.name,category:R.category,chapter:R.chapter||"",description:R.description||"",minPoints:R.min_points,maxPoints:R.max_points,fields:R.fields,isCustom:!0,customId:R.id};i(P),r($=>({...$,violationType:R.type_key,points:R.min_points}))}else r(P=>Do[P.violationType]||!1?P:{...P,violationType:"",points:1}),i(null)}})]})}const Re={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:2e3},modal:{width:"480px",maxWidth:"95vw",background:"#111217",borderRadius:"12px",boxShadow:"0 16px 40px rgba(0,0,0,0.8)",color:"#f8f9fa",overflow:"hidden",border:"1px solid #2a2b3a"},header:{padding:"18px 24px",borderBottom:"1px solid #222",background:"linear-gradient(135deg, #000000, #151622)"},title:{fontSize:"18px",fontWeight:700},subtitle:{fontSize:"12px",color:"#c0c2d6",marginTop:"4px"},body:{padding:"18px 24px 8px 24px"},pill:{background:"#3b2e00",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",color:"#ffd666",border:"1px solid #d4af37",marginBottom:"14px"},label:{fontSize:"13px",fontWeight:600,marginBottom:"4px",color:"#e5e7f1"},input:{width:"100%",padding:"9px 10px",borderRadius:"6px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontSize:"13px",fontFamily:"inherit",marginBottom:"14px",boxSizing:"border-box"},textarea:{width:"100%",minHeight:"80px",resize:"vertical",padding:"9px 10px",borderRadius:"6px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontSize:"13px",fontFamily:"inherit",marginBottom:"14px",boxSizing:"border-box"},footer:{display:"flex",justifyContent:"flex-end",gap:"10px",padding:"16px 24px 20px 24px",background:"#0c0d14",borderTop:"1px solid #222"},btnCancel:{padding:"10px 20px",borderRadius:"6px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontWeight:600,fontSize:"13px",cursor:"pointer"},btnConfirm:{padding:"10px 22px",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, #d4af37 0%, #ffdf8a 100%)",color:"#000",fontWeight:700,fontSize:"13px",cursor:"pointer",textTransform:"uppercase"}},cy=["Corrective Training Completed","Verbal Warning Issued","Written Warning Issued","Management Review","Policy Exception Approved","Data Entry Error","Other"];function dy({violation:e,onConfirm:t,onCancel:n}){const[r,o]=k.useState("Corrective Training Completed"),[i,l]=k.useState(""),[a,u]=k.useState("");if(!e)return null;const c=()=>{t&&t({resolution_type:r,details:i,resolved_by:a})},p=m=>{m.target===m.currentTarget&&n&&n()};return s.jsx("div",{style:Re.overlay,onClick:p,children:s.jsxs("div",{style:Re.modal,onClick:m=>m.stopPropagation(),children:[s.jsxs("div",{style:Re.header,children:[s.jsx("div",{style:Re.title,children:"Negate Violation"}),s.jsxs("div",{style:Re.subtitle,children:["Record resolution for: ",s.jsx("strong",{children:e.violation_name})]})]}),s.jsxs("div",{style:Re.body,children:[s.jsxs("div",{style:Re.pill,children:["⚠ ",e.points," pt",e.points!==1?"s":""," · ",e.incident_date," · ",e.category]}),s.jsx("div",{style:Re.label,children:"Resolution Type"}),s.jsx("select",{style:Re.input,value:r,onChange:m=>o(m.target.value),children:cy.map(m=>s.jsx("option",{value:m,children:m},m))}),s.jsx("div",{style:Re.label,children:"Details / Notes"}),s.jsx("textarea",{style:Re.textarea,placeholder:"Describe the resolution or context…",value:i,onChange:m=>l(m.target.value)}),s.jsx("div",{style:Re.label,children:"Resolved By"}),s.jsx("input",{style:Re.input,placeholder:"Manager or HR name…",value:a,onChange:m=>u(m.target.value)})]}),s.jsxs("div",{style:Re.footer,children:[s.jsx("button",{style:Re.btnCancel,onClick:n,children:"Cancel"}),s.jsx("button",{style:Re.btnConfirm,onClick:c,children:"Confirm Negation"})]})]})})}const G={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.8)",zIndex:2e3,display:"flex",alignItems:"center",justifyContent:"center"},modal:{background:"#111217",color:"#f8f9fa",width:"480px",maxWidth:"95vw",borderRadius:"10px",boxShadow:"0 8px 40px rgba(0,0,0,0.8)",border:"1px solid #222",overflow:"hidden"},header:{background:"linear-gradient(135deg, #000000, #151622)",color:"white",padding:"18px 22px",display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid #222"},title:{fontSize:"15px",fontWeight:700},closeBtn:{background:"none",border:"none",color:"white",fontSize:"20px",cursor:"pointer",lineHeight:1},body:{padding:"22px"},tabs:{display:"flex",gap:"4px",marginBottom:"20px"},tab:e=>({flex:1,padding:"8px",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:700,textAlign:"center",border:"1px solid",background:e?"#1a1c2e":"none",borderColor:e?"#667eea":"#2a2b3a",color:e?"#667eea":"#777"}),label:{fontSize:"11px",color:"#9ca0b8",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"5px"},input:{width:"100%",background:"#0d0e14",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#f8f9fa",padding:"9px 12px",fontSize:"13px",marginBottom:"14px",outline:"none",boxSizing:"border-box"},select:{width:"100%",background:"#0d0e14",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#f8f9fa",padding:"9px 12px",fontSize:"13px",marginBottom:"14px",outline:"none",boxSizing:"border-box"},row:{display:"flex",gap:"10px",justifyContent:"flex-end",marginTop:"6px"},btn:(e,t)=>({padding:"8px 18px",borderRadius:"6px",fontWeight:700,fontSize:"13px",cursor:"pointer",border:`1px solid ${e}`,color:e,background:t||"none"}),error:{background:"#3c1114",border:"1px solid #f5c6cb",borderRadius:"6px",padding:"10px 12px",fontSize:"12px",color:"#ffb3b8",marginBottom:"14px"},success:{background:"#0a2e1f",border:"1px solid #0f5132",borderRadius:"6px",padding:"10px 12px",fontSize:"12px",color:"#9ef7c1",marginBottom:"14px"},mergeWarning:{background:"#2a1f00",border:"1px solid #7a5000",borderRadius:"6px",padding:"12px",fontSize:"12px",color:"#ffc107",marginBottom:"14px",lineHeight:1.5}};function fy({employee:e,onClose:t,onSaved:n}){const[r,o]=k.useState("edit"),[i,l]=k.useState(e.name),[a,u]=k.useState(e.department||""),[c,p]=k.useState(e.supervisor||""),[m,y]=k.useState(""),[S,x]=k.useState(!1),[v,g]=k.useState([]),[f,d]=k.useState(""),[h,b]=k.useState(""),[C,j]=k.useState(null),[T,_]=k.useState(!1);k.useEffect(()=>{r==="merge"&&F.get("/api/employees").then(H=>g(H.data))},[r]);const Q=async()=>{var H,N;y(""),x(!0);try{await F.patch(`/api/employees/${e.id}`,{name:i,department:a,supervisor:c}),n(),t()}catch(L){y(((N=(H=L.response)==null?void 0:H.data)==null?void 0:N.error)||"Failed to save changes")}finally{x(!1)}},U=async()=>{var H,N;if(!f)return b("Select an employee to merge in");b(""),_(!0);try{const L=await F.post(`/api/employees/${e.id}/merge`,{source_id:parseInt(f)});j(L.data),n()}catch(L){b(((N=(H=L.response)==null?void 0:H.data)==null?void 0:N.error)||"Merge failed")}finally{_(!1)}},X=v.filter(H=>H.id!==e.id);return s.jsx("div",{style:G.overlay,onClick:H=>H.target===H.currentTarget&&t(),children:s.jsxs("div",{style:G.modal,children:[s.jsxs("div",{style:G.header,children:[s.jsx("div",{style:G.title,children:"Edit Employee"}),s.jsx("button",{style:G.closeBtn,onClick:t,children:"✕"})]}),s.jsxs("div",{style:G.body,children:[s.jsxs("div",{style:G.tabs,children:[s.jsx("button",{style:G.tab(r==="edit"),onClick:()=>o("edit"),children:"Edit Details"}),s.jsx("button",{style:G.tab(r==="merge"),onClick:()=>o("merge"),children:"Merge Duplicate"})]}),r==="edit"&&s.jsxs(s.Fragment,{children:[m&&s.jsx("div",{style:G.error,children:m}),s.jsx("div",{style:G.label,children:"Full Name"}),s.jsx("input",{style:G.input,value:i,onChange:H=>l(H.target.value)}),s.jsx("div",{style:G.label,children:"Department"}),s.jsxs("select",{style:G.select,value:a,onChange:H=>u(H.target.value),children:[s.jsx("option",{value:"",children:"-- Select Department --"}),Rf.map(H=>s.jsx("option",{value:H,children:H},H))]}),s.jsx("div",{style:G.label,children:"Supervisor"}),s.jsx("input",{style:G.input,value:c,onChange:H=>p(H.target.value),placeholder:"Optional"}),s.jsxs("div",{style:G.row,children:[s.jsx("button",{style:G.btn("#888"),onClick:t,children:"Cancel"}),s.jsx("button",{style:G.btn("#fff","#667eea"),onClick:Q,disabled:S,children:S?"Saving…":"Save Changes"})]})]}),r==="merge"&&s.jsxs(s.Fragment,{children:[C?s.jsxs("div",{style:G.success,children:["✓ Merge complete — ",C.violations_reassigned," violation",C.violations_reassigned!==1?"s":""," reassigned to ",s.jsx("strong",{children:e.name}),". The duplicate record has been removed."]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{style:G.mergeWarning,children:["⚠ This will reassign ",s.jsx("strong",{children:"all violations"})," from the selected employee into"," ",s.jsx("strong",{children:e.name}),", then permanently delete the duplicate record. This cannot be undone."]}),h&&s.jsx("div",{style:G.error,children:h}),s.jsxs("div",{style:G.label,children:["Duplicate to merge into ",e.name]}),s.jsxs("select",{style:G.select,value:f,onChange:H=>d(H.target.value),children:[s.jsx("option",{value:"",children:"— select employee —"}),X.map(H=>s.jsxs("option",{value:H.id,children:[H.name,H.department?` (${H.department})`:""]},H.id))]}),s.jsxs("div",{style:G.row,children:[s.jsx("button",{style:G.btn("#888"),onClick:t,children:"Cancel"}),s.jsx("button",{style:G.btn("#fff","#c0392b"),onClick:U,disabled:T||!f,children:T?"Merging…":"Merge & Delete Duplicate"})]})]}),C&&s.jsx("div",{style:G.row,children:s.jsx("button",{style:G.btn("#fff","#667eea"),onClick:t,children:"Done"})})]})]})]})})}const Bu={incident_time:"Incident Time",location:"Location / Context",details:"Incident Notes",submitted_by:"Submitted By",witness_name:"Witness / Documenting Officer",amount:"Amount in Question"},ne={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.8)",zIndex:2e3,display:"flex",alignItems:"center",justifyContent:"center"},modal:{background:"#111217",color:"#f8f9fa",width:"520px",maxWidth:"95vw",maxHeight:"90vh",overflowY:"auto",borderRadius:"10px",boxShadow:"0 8px 40px rgba(0,0,0,0.8)",border:"1px solid #222"},header:{background:"linear-gradient(135deg, #000000, #151622)",color:"white",padding:"18px 22px",display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid #222",position:"sticky",top:0,zIndex:10},headerLeft:{},title:{fontSize:"15px",fontWeight:700},subtitle:{fontSize:"11px",color:"#9ca0b8",marginTop:"2px"},closeBtn:{background:"none",border:"none",color:"white",fontSize:"20px",cursor:"pointer",lineHeight:1},body:{padding:"22px"},notice:{background:"#0e1a30",border:"1px solid #1e3a5f",borderRadius:"6px",padding:"10px 14px",fontSize:"12px",color:"#7eb8f7",marginBottom:"18px"},label:{fontSize:"11px",color:"#9ca0b8",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"5px"},input:{width:"100%",background:"#0d0e14",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#f8f9fa",padding:"9px 12px",fontSize:"13px",marginBottom:"14px",outline:"none",boxSizing:"border-box"},textarea:{width:"100%",background:"#0d0e14",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#f8f9fa",padding:"9px 12px",fontSize:"13px",marginBottom:"14px",outline:"none",boxSizing:"border-box",minHeight:"80px",resize:"vertical"},divider:{borderTop:"1px solid #1c1d29",margin:"16px 0"},sectionTitle:{fontSize:"11px",fontWeight:700,color:"#9ca0b8",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"12px"},amendRow:{background:"#0d0e14",border:"1px solid #1c1d29",borderRadius:"6px",padding:"10px 12px",marginBottom:"8px",fontSize:"12px"},amendField:{fontWeight:700,color:"#c0c2d6",marginBottom:"4px"},amendOld:{color:"#ff7070",textDecoration:"line-through",marginRight:"6px"},amendNew:{color:"#9ef7c1"},amendMeta:{fontSize:"10px",color:"#555a7a",marginTop:"4px"},row:{display:"flex",gap:"10px",justifyContent:"flex-end",marginTop:"6px"},btn:(e,t)=>({padding:"8px 18px",borderRadius:"6px",fontWeight:700,fontSize:"13px",cursor:"pointer",border:`1px solid ${e}`,color:e,background:t||"none"}),error:{background:"#3c1114",border:"1px solid #f5c6cb",borderRadius:"6px",padding:"10px 12px",fontSize:"12px",color:"#ffb3b8",marginBottom:"14px"}};function py(e){return e?new Date(e).toLocaleString("en-US",{timeZone:"America/Chicago",dateStyle:"medium",timeStyle:"short"}):"—"}function hy({violation:e,onClose:t,onSaved:n}){const[r,o]=k.useState({incident_time:e.incident_time||"",location:e.location||"",details:e.details||"",submitted_by:e.submitted_by||"",witness_name:e.witness_name||"",amount:e.amount||""}),[i,l]=k.useState(""),[a,u]=k.useState(!1),[c,p]=k.useState(""),[m,y]=k.useState([]);k.useEffect(()=>{F.get(`/api/violations/${e.id}/amendments`).then(g=>y(g.data)).catch(()=>{})},[e.id]);const S=Object.entries(r).some(([g,f])=>f!==(e[g]||"")),x=async()=>{var g,f;p(""),u(!0);try{const d=Object.fromEntries(Object.entries(r).filter(([h,b])=>b!==(e[h]||"")));await F.patch(`/api/violations/${e.id}/amend`,{...d,changed_by:i||null}),n(),t()}catch(d){p(((f=(g=d.response)==null?void 0:g.data)==null?void 0:f.error)||"Failed to save amendment")}finally{u(!1)}},v=(g,f)=>o(d=>({...d,[g]:f}));return s.jsx("div",{style:ne.overlay,onClick:g=>g.target===g.currentTarget&&t(),children:s.jsxs("div",{style:ne.modal,children:[s.jsxs("div",{style:ne.header,children:[s.jsxs("div",{style:ne.headerLeft,children:[s.jsx("div",{style:ne.title,children:"Amend Violation"}),s.jsxs("div",{style:ne.subtitle,children:["CPAS-",String(e.id).padStart(5,"0")," · ",e.violation_name," · ",e.incident_date]})]}),s.jsx("button",{style:ne.closeBtn,onClick:t,children:"✕"})]}),s.jsxs("div",{style:ne.body,children:[s.jsx("div",{style:ne.notice,children:"Only non-scoring fields can be amended. Point values, violation type, and incident date are immutable — delete and re-submit if those need to change."}),c&&s.jsx("div",{style:ne.error,children:c}),Object.entries(Bu).map(([g,f])=>s.jsxs("div",{children:[s.jsx("div",{style:ne.label,children:f}),g==="details"?s.jsx("textarea",{style:ne.textarea,value:r[g],onChange:d=>v(g,d.target.value)}):s.jsx("input",{style:ne.input,value:r[g],onChange:d=>v(g,d.target.value)})]},g)),s.jsx("div",{style:ne.label,children:"Your Name (recorded in amendment log)"}),s.jsx("input",{style:ne.input,value:i,onChange:g=>l(g.target.value),placeholder:"Optional but recommended"}),s.jsxs("div",{style:ne.row,children:[s.jsx("button",{style:ne.btn("#888"),onClick:t,children:"Cancel"}),s.jsx("button",{style:ne.btn("#fff",S?"#667eea":"#333"),onClick:x,disabled:!S||a,children:a?"Saving…":"Save Amendment"})]}),m.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{style:ne.divider}),s.jsxs("div",{style:ne.sectionTitle,children:["Amendment History (",m.length,")"]}),m.map(g=>s.jsxs("div",{style:ne.amendRow,children:[s.jsx("div",{style:ne.amendField,children:Bu[g.field_name]||g.field_name}),s.jsxs("div",{children:[s.jsx("span",{style:ne.amendOld,children:g.old_value||"(empty)"}),s.jsx("span",{style:{color:"#555",marginRight:"6px"},children:"→"}),s.jsx("span",{style:ne.amendNew,children:g.new_value||"(empty)"})]}),s.jsxs("div",{style:ne.amendMeta,children:[g.changed_by?`by ${g.changed_by} · `:"",py(g.created_at)]})]},g.id))]})]})]})})}const al=[{min:30,label:"Separation",color:"#ff1744"},{min:25,label:"Final Decision",color:"#ff6d00"},{min:20,label:"Risk Mitigation",color:"#ff9100"},{min:15,label:"Verification",color:"#ffc400"},{min:10,label:"Administrative Lockdown",color:"#ffea00"},{min:5,label:"Realignment",color:"#b2ff59"},{min:0,label:"Elite Standing",color:"#69f0ae"}];function Iu(e){return al.find(t=>e>=t.min)||al[al.length-1]}function my(e){return e<=7?"#ff4d4f":e<=14?"#ffa940":e<=30?"#fadb14":"#52c41a"}const Se={wrapper:{marginTop:"24px"},sectionHd:{fontSize:"13px",fontWeight:700,color:"#f8f9fa",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"10px"},empty:{color:"#777990",fontStyle:"italic",fontSize:"12px"},row:{display:"flex",alignItems:"center",gap:"12px",padding:"10px 12px",background:"#181924",borderRadius:"6px",border:"1px solid #2a2b3a",marginBottom:"6px"},bar:(e,t)=>({flex:1,height:"6px",background:"#2a2b3a",borderRadius:"3px",overflow:"hidden",position:"relative"}),barFill:(e,t)=>({position:"absolute",left:0,top:0,bottom:0,width:`${Math.min(100,Math.max(0,100-e))}%`,background:t,borderRadius:"3px",transition:"width 0.3s ease"}),pill:e=>({display:"inline-block",padding:"2px 8px",borderRadius:"10px",fontSize:"11px",fontWeight:700,background:`${e}22`,color:e,border:`1px solid ${e}55`,whiteSpace:"nowrap"}),pts:{fontSize:"13px",fontWeight:700,color:"#f8f9fa",minWidth:"28px",textAlign:"right"},name:{fontSize:"12px",color:"#f8f9fa",fontWeight:600,flex:"0 0 160px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},date:{fontSize:"11px",color:"#9ca0b8",minWidth:"88px"},projBox:{marginTop:"16px",padding:"12px 14px",background:"#0d1117",border:"1px solid #2a2b3a",borderRadius:"6px",fontSize:"12px",color:"#b5b5c0"},projRow:{display:"flex",justifyContent:"space-between",marginBottom:"4px"}};function gy({employeeId:e,currentPoints:t}){const[n,r]=k.useState([]),[o,i]=k.useState(!0);if(k.useEffect(()=>{i(!0),F.get(`/api/employees/${e}/expiration`).then(u=>r(u.data)).finally(()=>i(!1))},[e]),o)return s.jsxs("div",{style:Se.wrapper,children:[s.jsx("div",{style:Se.sectionHd,children:"Point Expiration Timeline"}),s.jsx("div",{style:{...Se.empty},children:"Loading…"})]});if(n.length===0)return s.jsxs("div",{style:Se.wrapper,children:[s.jsx("div",{style:Se.sectionHd,children:"Point Expiration Timeline"}),s.jsx("div",{style:Se.empty,children:"No active violations — nothing to expire."})]});let l=t||0;const a=n.map(u=>{const c=l;l=Math.max(0,l-u.points);const p=Iu(c),m=Iu(l),y=m.min{const c=my(u.days_remaining),p=u.days_remaining/90*100;return s.jsxs("div",{style:Se.row,children:[s.jsx("div",{style:Se.name,title:u.violation_name,children:u.violation_name}),s.jsxs("div",{style:Se.pts,children:["−",u.points]}),s.jsx("div",{style:Se.bar(p,c),children:s.jsx("div",{style:Se.barFill(p,c)})}),s.jsx("div",{style:Se.pill(c),children:u.days_remaining<=0?"Expiring today":`${u.days_remaining}d`}),s.jsx("div",{style:Se.date,children:u.expires_on}),u.tierDropped&&s.jsxs("div",{style:{fontSize:"10px",color:"#69f0ae",whiteSpace:"nowrap"},children:["↓ ",u.tierAfter.label]})]},u.id)}),s.jsxs("div",{style:Se.projBox,children:[s.jsx("div",{style:{fontWeight:700,color:"#f8f9fa",marginBottom:"8px",fontSize:"12px"},children:"Projected score after each expiration"}),a.map((u,c)=>s.jsxs("div",{style:Se.projRow,children:[s.jsxs("span",{style:{color:"#9ca0b8"},children:[u.expires_on," — ",u.violation_name]}),s.jsxs("span",{children:[s.jsxs("span",{style:{color:"#f8f9fa",fontWeight:700},children:[u.pointsAfter," pts"]}),u.tierDropped&&s.jsxs("span",{style:{marginLeft:"8px",color:u.tierAfter.color,fontWeight:700},children:["→ ",u.tierAfter.label]})]})]},u.id))]})]})}const Ie={wrapper:{marginTop:"20px"},sectionHd:{fontSize:"13px",fontWeight:700,color:"#f8f9fa",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"8px"},display:{background:"#181924",border:"1px solid #2a2b3a",borderRadius:"6px",padding:"10px 12px",fontSize:"13px",color:"#f8f9fa",minHeight:"36px",cursor:"pointer",position:"relative"},displayEmpty:{color:"#555770",fontStyle:"italic"},editHint:{position:"absolute",right:"8px",top:"8px",fontSize:"10px",color:"#555770"},textarea:{width:"100%",background:"#0d1117",border:"1px solid #4d6fa8",borderRadius:"6px",color:"#f8f9fa",fontSize:"13px",padding:"10px 12px",resize:"vertical",minHeight:"80px",boxSizing:"border-box",fontFamily:"inherit",outline:"none"},actions:{display:"flex",gap:"8px",marginTop:"8px"},saveBtn:{background:"#1a3a6b",border:"1px solid #4d6fa8",color:"#90caf9",borderRadius:"5px",padding:"5px 14px",fontSize:"12px",cursor:"pointer",fontWeight:600},cancelBtn:{background:"none",border:"1px solid #444",color:"#888",borderRadius:"5px",padding:"5px 14px",fontSize:"12px",cursor:"pointer"},saving:{fontSize:"12px",color:"#9ca0b8",alignSelf:"center"},tagRow:{display:"flex",flexWrap:"wrap",gap:"6px",marginBottom:"8px"},tag:{display:"inline-block",padding:"2px 8px",borderRadius:"10px",fontSize:"11px",fontWeight:600,background:"#1a2a3a",color:"#90caf9",border:"1px solid #2a3a5a",cursor:"default"}},yy=["On PIP","Union member","Probationary","Pending investigation","FMLA","ADA"];function xy({employeeId:e,initialNotes:t,onSaved:n}){const[r,o]=k.useState(!1),[i,l]=k.useState(t||""),[a,u]=k.useState(t||""),[c,p]=k.useState(!1),[m,y]=k.useState(""),S=Pi(),x=async()=>{var d,h;p(!0),y("");try{await F.patch(`/api/employees/${e}/notes`,{notes:i}),u(i),o(!1),n&&n(i)}catch(b){const C=((h=(d=b.response)==null?void 0:d.data)==null?void 0:h.error)||b.message||"Failed to save notes";y(C),S.error("Notes save failed: "+C)}finally{p(!1)}},v=()=>{l(a),o(!1)},g=d=>{const h=i.trim();h.includes(d)||l(h?`${h} +${d}`:d)},f=a?a.split(` +`).filter(Boolean):[];return s.jsxs("div",{style:Ie.wrapper,children:[s.jsx("div",{style:Ie.sectionHd,children:"Notes & Flags"}),r?s.jsxs("div",{children:[s.jsx("div",{style:{...Ie.tagRow,marginBottom:"6px"},children:yy.map(d=>s.jsxs("button",{style:{...Ie.tag,cursor:"pointer",background:i.includes(d)?"#0e2a3a":"#1a2a3a",opacity:i.includes(d)?.5:1},onClick:()=>g(d),title:"Add tag",children:["+ ",d]},d))}),s.jsx("textarea",{style:Ie.textarea,value:i,onChange:d=>l(d.target.value),placeholder:"Free-text notes — one per line or comma-separated. Does not affect CPAS scoring.",autoFocus:!0}),m&&s.jsxs("div",{style:{fontSize:"12px",color:"#ff7070",marginBottom:"6px"},children:["✗ ",m]}),s.jsxs("div",{style:Ie.actions,children:[s.jsx("button",{style:Ie.saveBtn,onClick:x,disabled:c,children:c?"Saving…":"Save Notes"}),s.jsx("button",{style:Ie.cancelBtn,onClick:v,disabled:c,children:"Cancel"}),c&&s.jsx("span",{style:Ie.saving,children:"Saving…"})]})]}):s.jsxs("div",{style:Ie.display,onClick:()=>{l(a),o(!0)},title:"Click to edit",children:[s.jsx("span",{style:Ie.editHint,children:"✎ edit"}),f.length===0?s.jsx("span",{style:Ie.displayEmpty,children:"No notes — click to add"}):s.jsx("div",{style:Ie.tagRow,children:f.map((d,h)=>s.jsx("span",{style:Ie.tag,children:d},h))})]})]})}const M={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",zIndex:1e3,display:"flex",alignItems:"flex-start",justifyContent:"flex-end"},panel:{background:"#111217",color:"#f8f9fa",width:"680px",maxWidth:"95vw",height:"100vh",overflowY:"auto",boxShadow:"-4px 0 24px rgba(0,0,0,0.7)",display:"flex",flexDirection:"column"},header:{background:"linear-gradient(135deg, #000000, #151622)",color:"white",padding:"24px 28px",position:"sticky",top:0,zIndex:10,borderBottom:"1px solid #222"},headerRow:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},closeBtn:{float:"right",background:"none",border:"none",color:"white",fontSize:"22px",cursor:"pointer",lineHeight:1,marginTop:"-2px"},editEmpBtn:{background:"none",border:"1px solid #555",color:"#ccc",borderRadius:"5px",padding:"4px 10px",fontSize:"11px",cursor:"pointer",marginTop:"8px",fontWeight:600},body:{padding:"24px 28px",flex:1},scoreRow:{display:"flex",gap:"12px",flexWrap:"wrap",marginBottom:"24px"},scoreCard:{flex:"1",minWidth:"100px",background:"#181924",borderRadius:"8px",padding:"14px",textAlign:"center",border:"1px solid #2a2b3a"},scoreNum:{fontSize:"26px",fontWeight:800},scoreLbl:{fontSize:"11px",color:"#b5b5c0",marginTop:"3px"},sectionHd:{fontSize:"13px",fontWeight:700,color:"#f8f9fa",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"10px",marginTop:"24px"},table:{width:"100%",borderCollapse:"collapse",fontSize:"12px",background:"#181924",borderRadius:"6px",overflow:"hidden",border:"1px solid #2a2b3a"},th:{background:"#050608",padding:"8px 10px",textAlign:"left",color:"#f8f9fa",fontWeight:600,fontSize:"11px",textTransform:"uppercase"},td:{padding:"9px 10px",borderBottom:"1px solid #202231",verticalAlign:"top",color:"#f8f9fa"},negatedRow:{background:"#151622",color:"#9ca0b8"},actionBtn:e=>({background:"none",border:`1px solid ${e}`,color:e,borderRadius:"4px",padding:"3px 8px",fontSize:"11px",cursor:"pointer",marginRight:"4px",fontWeight:600}),resTag:{display:"inline-block",padding:"2px 8px",borderRadius:"10px",fontSize:"10px",fontWeight:700,background:"#053321",color:"#9ef7c1",border:"1px solid #0f5132"},pdfBtn:{background:"none",border:"1px solid #d4af37",color:"#ffd666",borderRadius:"4px",padding:"3px 8px",fontSize:"11px",cursor:"pointer",fontWeight:600},amendBtn:{background:"none",border:"1px solid #4db6ac",color:"#4db6ac",borderRadius:"4px",padding:"3px 8px",fontSize:"11px",cursor:"pointer",marginRight:"4px",fontWeight:600},deleteConfirm:{background:"#3c1114",border:"1px solid #f5c6cb",borderRadius:"6px",padding:"12px",marginTop:"8px",fontSize:"12px",color:"#ffb3b8"},amendBadge:{display:"inline-block",marginLeft:"4px",padding:"1px 5px",borderRadius:"8px",fontSize:"9px",fontWeight:700,background:"#0e2a2a",color:"#4db6ac",border:"1px solid #1a4a4a",verticalAlign:"middle"},backfillBtn:{background:"none",border:"1px solid #d4af37",color:"#ffd666",borderRadius:"4px",padding:"4px 10px",fontSize:"11px",cursor:"pointer",fontWeight:600}};function vy({employeeId:e,onClose:t}){const[n,r]=k.useState(null),[o,i]=k.useState(null),[l,a]=k.useState([]),[u,c]=k.useState(!0),[p,m]=k.useState(null),[y,S]=k.useState(null),[x,v]=k.useState(!1),[g,f]=k.useState(null),d=Pi(),h=k.useCallback(()=>{c(!0),Promise.all([F.get(`/api/employees/${e}`),F.get(`/api/employees/${e}/score`),F.get(`/api/violations/employee/${e}?limit=100`)]).then(([N,L,R])=>{r(N.data||null),i(L.data),a(R.data)}).finally(()=>c(!1))},[e]);k.useEffect(()=>{h()},[h]);const b=async(N,L,R)=>{var P,$;try{const z=await F.get(`/api/violations/${N}/pdf`,{responseType:"blob"}),B=window.URL.createObjectURL(new Blob([z.data],{type:"application/pdf"})),I=document.createElement("a");I.href=B,I.download=`CPAS_${(L||"").replace(/[^a-z0-9]/gi,"_")}_${R}.pdf`,document.body.appendChild(I),I.click(),I.remove(),window.URL.revokeObjectURL(B),d.success("PDF downloaded.")}catch(z){d.error("PDF generation failed: "+((($=(P=z.response)==null?void 0:P.data)==null?void 0:$.error)||z.message))}},C=async N=>{var L,R;try{await F.delete(`/api/violations/${N}`),d.success("Violation permanently deleted."),S(null),h()}catch(P){d.error("Delete failed: "+(((R=(L=P.response)==null?void 0:L.data)==null?void 0:R.error)||P.message))}},j=async N=>{var L,R;try{await F.patch(`/api/violations/${N}/restore`),d.success("Violation restored to active."),S(null),h()}catch(P){d.error("Restore failed: "+(((R=(L=P.response)==null?void 0:L.data)==null?void 0:R.error)||P.message))}},T=async()=>{var N,L;if(window.confirm(`Rebuild the "Prior Active Points" snapshot on every violation for this employee? + +Use this after back-dating a violation if older PDFs no longer reflect the correct prior-points total. Existing PDFs will regenerate with up-to-date numbers.`))try{const R=await F.post(`/api/employees/${e}/recompute-snapshots`),{scanned:P,updated:$}=R.data;$===0?d.success(`Snapshots already up to date (${P} checked).`):d.success(`Updated ${$} of ${P} snapshot${$===1?"":"s"}.`),h()}catch(R){d.error("Backfill failed: "+(((L=(N=R.response)==null?void 0:N.data)==null?void 0:L.error)||R.message))}},_=async({resolution_type:N,details:L,resolved_by:R})=>{var P,$;try{await F.patch(`/api/violations/${p.id}/negate`,{resolution_type:N,details:L,resolved_by:R}),d.success("Violation negated."),m(null),S(null),h()}catch(z){d.error("Negate failed: "+((($=(P=z.response)==null?void 0:P.data)==null?void 0:$.error)||z.message))}},Q=o?Kt(o.active_points):null,U=l.filter(N=>!N.negated),X=l.filter(N=>N.negated),H=N=>{N.target===N.currentTarget&&t()};return s.jsxs("div",{style:M.overlay,onClick:H,children:[s.jsxs("div",{style:M.panel,onClick:N=>N.stopPropagation(),children:[s.jsx("div",{style:M.header,children:s.jsxs("div",{style:M.headerRow,children:[s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:"18px",fontWeight:700},children:n?n.name:"Employee"}),n&&s.jsxs("div",{style:{fontSize:"12px",color:"#b5b5c0",marginTop:"4px"},children:[n.department," ",n.supervisor&&`· Supervisor: ${n.supervisor}`]}),n&&s.jsx("button",{style:M.editEmpBtn,onClick:()=>v(!0),children:"✎ Edit Employee"})]}),s.jsx("button",{style:M.closeBtn,onClick:t,children:"✕"})]})}),s.jsx("div",{style:M.body,children:u?s.jsx("div",{style:{padding:"40px",textAlign:"center",color:"#b5b5c0"},children:"Loading…"}):s.jsxs(s.Fragment,{children:[o&&s.jsxs("div",{style:M.scoreRow,children:[s.jsxs("div",{style:M.scoreCard,children:[s.jsx("div",{style:{...M.scoreNum,color:(Q==null?void 0:Q.color)||"#f8f9fa"},children:o.active_points}),s.jsx("div",{style:M.scoreLbl,children:"Active Points"})]}),s.jsxs("div",{style:M.scoreCard,children:[s.jsx("div",{style:M.scoreNum,children:o.total_violations}),s.jsx("div",{style:M.scoreLbl,children:"Total Violations"})]}),s.jsxs("div",{style:M.scoreCard,children:[s.jsx("div",{style:M.scoreNum,children:o.negated_count}),s.jsx("div",{style:M.scoreLbl,children:"Negated"})]}),s.jsxs("div",{style:{...M.scoreCard,minWidth:"140px"},children:[s.jsx("div",{style:{fontSize:"13px",fontWeight:700,color:(Q==null?void 0:Q.color)||"#f8f9fa"},children:Q?Q.label:"—"}),s.jsx("div",{style:M.scoreLbl,children:"Current Tier"})]})]}),o&&s.jsx(Ti,{points:o.active_points,style:{marginBottom:"20px"}}),n&&s.jsx(xy,{employeeId:e,initialNotes:n.notes,onSaved:N=>r(L=>({...L,notes:N}))}),o&&o.active_points>0&&s.jsx(gy,{employeeId:e,currentPoints:o.active_points}),s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"24px",marginBottom:"10px"},children:[s.jsx("div",{style:{...M.sectionHd,marginTop:0,marginBottom:0},children:"Active Violations"}),l.length>0&&s.jsx("button",{style:M.backfillBtn,onClick:T,title:"Rebuild prior-points snapshot on each violation. Use after a back-dated insert if older PDFs show the wrong Prior Active Points.",children:"↻ Backfill Snapshots"})]}),U.length===0?s.jsx("div",{style:{color:"#777990",fontStyle:"italic",fontSize:"12px"},children:"No active violations on record."}):s.jsxs("table",{style:M.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:M.th,children:"Date"}),s.jsx("th",{style:M.th,children:"Violation"}),s.jsx("th",{style:M.th,children:"Pts"}),s.jsx("th",{style:M.th,children:"Actions"})]})}),s.jsx("tbody",{children:U.map(N=>s.jsxs("tr",{children:[s.jsx("td",{style:M.td,children:N.incident_date}),s.jsxs("td",{style:M.td,children:[s.jsxs("div",{style:{fontWeight:600},children:[N.violation_name,N.amendment_count>0&&s.jsxs("span",{style:M.amendBadge,children:[N.amendment_count," edit",N.amendment_count!==1?"s":""]})]}),s.jsx("div",{style:{fontSize:"10px",color:"#9ca0b8"},children:N.category}),N.details&&s.jsx("div",{style:{fontSize:"10px",color:"#b5b5c0",marginTop:"2px"},children:N.details})]}),s.jsx("td",{style:{...M.td,fontWeight:700},children:N.points}),s.jsxs("td",{style:M.td,children:[s.jsx("button",{style:M.amendBtn,onClick:L=>{L.stopPropagation(),f(N)},children:"Amend"}),s.jsx("button",{style:M.actionBtn("#ffc107"),onClick:L=>{L.stopPropagation(),m(N),S(null)},children:"Negate"}),s.jsx("button",{style:M.actionBtn("#ff4d4f"),onClick:L=>{L.stopPropagation(),S(y===N.id?null:N.id)},children:y===N.id?"Cancel":"Delete"}),s.jsx("button",{style:M.pdfBtn,onClick:L=>{L.stopPropagation(),b(N.id,n==null?void 0:n.name,N.incident_date)},children:"PDF"}),y===N.id&&s.jsxs("div",{style:M.deleteConfirm,children:["Permanently delete? This cannot be undone.",s.jsxs("div",{style:{marginTop:"8px"},children:[s.jsx("button",{style:M.actionBtn("#ff4d4f"),onClick:L=>{L.stopPropagation(),C(N.id)},children:"Confirm Delete"}),s.jsx("button",{style:M.actionBtn("#888"),onClick:L=>{L.stopPropagation(),S(null)},children:"Cancel"})]})]})]})]},N.id))})]}),X.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{style:M.sectionHd,children:"Negated / Resolved"}),s.jsxs("table",{style:M.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:M.th,children:"Date"}),s.jsx("th",{style:M.th,children:"Violation"}),s.jsx("th",{style:M.th,children:"Pts"}),s.jsx("th",{style:M.th,children:"Resolution"}),s.jsx("th",{style:M.th,children:"Actions"})]})}),s.jsx("tbody",{children:X.map(N=>s.jsxs("tr",{style:M.negatedRow,children:[s.jsx("td",{style:M.td,children:N.incident_date}),s.jsxs("td",{style:M.td,children:[s.jsx("div",{style:{fontWeight:600},children:N.violation_name}),s.jsx("div",{style:{fontSize:"10px",color:"#9ca0b8"},children:N.category})]}),s.jsx("td",{style:M.td,children:N.points}),s.jsxs("td",{style:M.td,children:[s.jsx("span",{style:M.resTag,children:N.resolution_type}),N.resolution_details&&s.jsx("div",{style:{fontSize:"10px",color:"#b5b5c0",marginTop:"2px"},children:N.resolution_details}),N.resolved_by&&s.jsxs("div",{style:{fontSize:"10px",color:"#9ca0b8"},children:["by ",N.resolved_by]})]}),s.jsxs("td",{style:M.td,children:[s.jsx("button",{style:M.actionBtn("#4db6ac"),onClick:L=>{L.stopPropagation(),j(N.id)},children:"Restore"}),s.jsx("button",{style:M.actionBtn("#ff4d4f"),onClick:L=>{L.stopPropagation(),S(y===N.id?null:N.id)},children:y===N.id?"Cancel":"Delete"}),s.jsx("button",{style:M.pdfBtn,onClick:L=>{L.stopPropagation(),b(N.id,n==null?void 0:n.name,N.incident_date)},children:"PDF"}),y===N.id&&s.jsxs("div",{style:M.deleteConfirm,children:["Permanently delete? This cannot be undone.",s.jsxs("div",{style:{marginTop:"8px"},children:[s.jsx("button",{style:M.actionBtn("#ff4d4f"),onClick:L=>{L.stopPropagation(),C(N.id)},children:"Confirm Delete"}),s.jsx("button",{style:M.actionBtn("#888"),onClick:L=>{L.stopPropagation(),S(null)},children:"Cancel"})]})]})]})]},N.id))})]})]})]})})]}),p&&s.jsx(dy,{violation:p,onConfirm:_,onCancel:()=>m(null)}),x&&n&&s.jsx(fy,{employee:n,onClose:()=>v(!1),onSaved:()=>{d.success("Employee updated."),h()}}),g&&s.jsx(hy,{violation:g,onClose:()=>f(null),onSaved:()=>{d.success("Violation amended."),h()}})]})}const xo={employee_created:"#667eea",employee_edited:"#9b8af8",employee_merged:"#f0a500",violation_created:"#28a745",violation_amended:"#4db6ac",violation_negated:"#ffc107",violation_restored:"#17a2b8",violation_deleted:"#dc3545"},Mu={employee_created:"Employee Created",employee_edited:"Employee Edited",employee_merged:"Employee Merged",violation_created:"Violation Logged",violation_amended:"Violation Amended",violation_negated:"Violation Negated",violation_restored:"Violation Restored",violation_deleted:"Violation Deleted"},Uu={employee:"Employee",violation:"Violation"},fe={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",zIndex:1e3,display:"flex",alignItems:"flex-start",justifyContent:"flex-end"},panel:{background:"#111217",color:"#f8f9fa",width:"680px",maxWidth:"95vw",height:"100vh",overflowY:"auto",boxShadow:"-4px 0 24px rgba(0,0,0,0.7)",display:"flex",flexDirection:"column"},header:{background:"linear-gradient(135deg, #000000, #151622)",color:"white",padding:"22px 26px",position:"sticky",top:0,zIndex:10,borderBottom:"1px solid #222"},headerRow:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontSize:"17px",fontWeight:700},subtitle:{fontSize:"12px",color:"#9ca0b8",marginTop:"3px"},closeBtn:{background:"none",border:"none",color:"white",fontSize:"22px",cursor:"pointer",lineHeight:1},filters:{padding:"14px 26px",borderBottom:"1px solid #1c1d29",display:"flex",gap:"10px",flexWrap:"wrap"},select:{background:"#0d0e14",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#f8f9fa",padding:"7px 12px",fontSize:"12px",outline:"none"},body:{padding:"16px 26px",flex:1},entry:{borderBottom:"1px solid #1c1d29",padding:"12px 0",display:"flex",gap:"12px",alignItems:"flex-start"},dot:e=>({width:"8px",height:"8px",borderRadius:"50%",marginTop:"5px",flexShrink:0,background:xo[e]||"#555"}),entryMain:{flex:1,minWidth:0},actionBadge:e=>({display:"inline-block",padding:"2px 8px",borderRadius:"10px",fontSize:"10px",fontWeight:700,letterSpacing:"0.3px",marginRight:"6px",background:(xo[e]||"#555")+"22",color:xo[e]||"#aaa",border:`1px solid ${xo[e]||"#555"}44`}),entityRef:{fontSize:"11px",color:"#9ca0b8"},details:{fontSize:"11px",color:"#667",marginTop:"4px",fontFamily:"monospace",wordBreak:"break-all"},meta:{fontSize:"10px",color:"#555a7a",marginTop:"4px"},empty:{textAlign:"center",color:"#555a7a",padding:"60px 0",fontSize:"13px"},loadMore:{width:"100%",background:"none",border:"1px solid #2a2b3a",borderRadius:"6px",color:"#9ca0b8",padding:"10px",cursor:"pointer",fontSize:"12px",marginTop:"16px"}};function wy(e){return e?new Date(e).toLocaleString("en-US",{timeZone:"America/Chicago",dateStyle:"medium",timeStyle:"short"}):"—"}function Sy(e){if(!e)return null;try{const t=JSON.parse(e);return JSON.stringify(t,null,0).replace(/^\{/,"").replace(/\}$/,"").replace(/","/g," ")}catch{return e}}function by({onClose:e}){const[t,n]=k.useState([]),[r,o]=k.useState(!0),[i,l]=k.useState(0),[a,u]=k.useState(!1),[c,p]=k.useState(""),[m,y]=k.useState(""),S=50,x=k.useCallback((g=!1)=>{o(!0);const f=g?0:i,d={limit:S,offset:f};c&&(d.entity_type=c),m&&(d.action=m),F.get("/api/audit",{params:d}).then(h=>{const b=h.data,C=m?b.filter(j=>j.action===m):b;n(j=>g?C:[...j,...C]),u(b.length===S),l(f+S)}).finally(()=>o(!1))},[i,c,m]);k.useEffect(()=>{x(!0)},[c,m]);const v=g=>{g.target===g.currentTarget&&e()};return s.jsx("div",{style:fe.overlay,onClick:v,children:s.jsxs("div",{style:fe.panel,onClick:g=>g.stopPropagation(),children:[s.jsx("div",{style:fe.header,children:s.jsxs("div",{style:fe.headerRow,children:[s.jsxs("div",{children:[s.jsx("div",{style:fe.title,children:"Audit Log"}),s.jsx("div",{style:fe.subtitle,children:"All system write actions — append-only"})]}),s.jsx("button",{style:fe.closeBtn,onClick:e,children:"✕"})]})}),s.jsxs("div",{style:fe.filters,children:[s.jsxs("select",{style:fe.select,value:c,onChange:g=>{p(g.target.value),l(0)},children:[s.jsx("option",{value:"",children:"All entity types"}),Object.entries(Uu).map(([g,f])=>s.jsx("option",{value:g,children:f},g))]}),s.jsxs("select",{style:fe.select,value:m,onChange:g=>{y(g.target.value),l(0)},children:[s.jsx("option",{value:"",children:"All actions"}),Object.entries(Mu).map(([g,f])=>s.jsx("option",{value:g,children:f},g))]})]}),s.jsxs("div",{style:fe.body,children:[r&&t.length===0?s.jsx("div",{style:fe.empty,children:"Loading…"}):t.length===0?s.jsx("div",{style:fe.empty,children:"No audit entries found."}):t.map(g=>s.jsxs("div",{style:fe.entry,children:[s.jsx("div",{style:fe.dot(g.action)}),s.jsxs("div",{style:fe.entryMain,children:[s.jsxs("div",{children:[s.jsx("span",{style:fe.actionBadge(g.action),children:Mu[g.action]||g.action}),s.jsxs("span",{style:fe.entityRef,children:[Uu[g.entity_type]||g.entity_type,g.entity_id?` #${g.entity_id}`:""]})]}),g.details&&s.jsx("div",{style:fe.details,children:Sy(g.details)}),s.jsxs("div",{style:fe.meta,children:[g.performed_by?`by ${g.performed_by} · `:"",wy(g.created_at)]})]})]},g.id)),a&&s.jsx("button",{style:fe.loadMore,onClick:()=>x(!1),children:"Load more"})]})]})})}const ky=2,jy=[{min:0,max:4},{min:5,max:9},{min:10,max:14},{min:15,max:19},{min:20,max:24},{min:25,max:29},{min:30,max:999}];function Tf(e){for(const t of jy)if(e>=t.min&&e<=t.max&&t.max<999)return t.max+1;return null}function Cy(e){const t=Tf(e);return t!==null&&t-e<=ky}const pe={card:{background:"#181924",border:"1px solid #2a2b3a",borderRadius:"10px",padding:"16px",marginBottom:"12px",boxShadow:"0 1px 4px rgba(0,0,0,0.4)"},cardAtRisk:{background:"#181200",border:"1px solid #d4af37"},row:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 0",borderBottom:"1px solid rgba(255,255,255,0.05)"},rowLast:{borderBottom:"none"},label:{fontSize:"11px",fontWeight:600,color:"#9ca0b8",textTransform:"uppercase",letterSpacing:"0.5px"},value:{fontSize:"14px",fontWeight:600,color:"#f8f9fa",textAlign:"right"},name:{fontSize:"16px",fontWeight:700,color:"#d4af37",marginBottom:"8px",cursor:"pointer",textDecoration:"underline dotted",background:"none",border:"none",padding:0,textAlign:"left",width:"100%"},atRiskBadge:{display:"inline-block",marginTop:"4px",padding:"3px 8px",borderRadius:"10px",fontSize:"10px",fontWeight:700,background:"#3b2e00",color:"#ffd666",border:"1px solid #d4af37"},points:{fontSize:"28px",fontWeight:800,textAlign:"center",margin:"8px 0"}};function Ey({employees:e,onEmployeeClick:t}){return!e||e.length===0?s.jsx("div",{style:{padding:"20px",textAlign:"center",color:"#77798a",fontStyle:"italic"},children:"No employees found."}):s.jsx("div",{style:{padding:"12px"},children:e.map(n=>{const r=Cy(n.active_points),o=Kt(n.active_points),i=Tf(n.active_points),l=r?{...pe.card,...pe.cardAtRisk}:pe.card;return s.jsxs("div",{style:l,children:[s.jsx("button",{style:pe.name,onClick:()=>t(n.id),children:n.name}),r&&s.jsxs("div",{style:pe.atRiskBadge,children:["⚠ ",i-n.active_points," pt",i-n.active_points>1?"s":""," to ",Kt(i).label.split("—")[0].trim()]}),s.jsxs("div",{style:{...pe.row,marginTop:"12px"},children:[s.jsx("span",{style:pe.label,children:"Tier / Standing"}),s.jsx("span",{style:pe.value,children:s.jsx(Ti,{points:n.active_points})})]}),s.jsxs("div",{style:pe.row,children:[s.jsx("span",{style:pe.label,children:"Active Points"}),s.jsx("span",{style:{...pe.points,color:o.color},children:n.active_points})]}),s.jsxs("div",{style:pe.row,children:[s.jsx("span",{style:pe.label,children:"90-Day Violations"}),s.jsx("span",{style:pe.value,children:n.violation_count})]}),n.department&&s.jsxs("div",{style:pe.row,children:[s.jsx("span",{style:pe.label,children:"Department"}),s.jsx("span",{style:{...pe.value,color:"#c0c2d6"},children:n.department})]}),n.supervisor&&s.jsxs("div",{style:{...pe.row,...pe.rowLast},children:[s.jsx("span",{style:pe.label,children:"Supervisor"}),s.jsx("span",{style:{...pe.value,color:"#c0c2d6"},children:n.supervisor})]})]},n.id)})})}const us=2,_y=[{min:0,max:4},{min:5,max:9},{min:10,max:14},{min:15,max:19},{min:20,max:24},{min:25,max:29},{min:30,max:999}];function Pf(e){for(const t of _y)if(e>=t.min&&e<=t.max&&t.max<999)return t.max+1;return null}function ul(e){const t=Pf(e);return t!==null&&t-e<=us}function Ry(e){const[t,n]=k.useState(!1);return k.useEffect(()=>{const r=window.matchMedia(e);r.matches!==t&&n(r.matches);const o=()=>n(r.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[t,e]),t}const vo=null,cl="total",sr="elite",ar="active",ur="at_risk",V={wrap:{padding:"32px 40px",color:"#f8f9fa"},header:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"24px",flexWrap:"wrap",gap:"12px"},title:{fontSize:"24px",fontWeight:700,color:"#f8f9fa"},subtitle:{fontSize:"13px",color:"#b5b5c0",marginTop:"3px"},statsRow:{display:"flex",gap:"16px",flexWrap:"wrap",marginBottom:"28px"},statCard:{flex:"1",minWidth:"140px",background:"#181924",border:"1px solid #303136",borderRadius:"8px",padding:"16px",textAlign:"center",cursor:"pointer",transition:"border-color 0.15s, box-shadow 0.15s"},statCardActive:{boxShadow:"0 0 0 2px #d4af37",border:"1px solid #d4af37"},statNum:{fontSize:"28px",fontWeight:800,color:"#f8f9fa"},statLbl:{fontSize:"11px",color:"#b5b5c0",marginTop:"4px"},filterBadge:{fontSize:"10px",color:"#d4af37",marginTop:"4px",fontWeight:600},search:{padding:"10px 14px",border:"1px solid #333544",borderRadius:"6px",fontSize:"14px",width:"260px",background:"#050608",color:"#f8f9fa"},table:{width:"100%",borderCollapse:"collapse",background:"#111217",borderRadius:"8px",overflow:"hidden",boxShadow:"0 1px 8px rgba(0,0,0,0.6)",border:"1px solid #222"},th:{background:"#000000",color:"#f8f9fa",padding:"10px 14px",textAlign:"left",fontSize:"12px",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.5px"},td:{padding:"11px 14px",borderBottom:"1px solid #1c1d29",fontSize:"13px",verticalAlign:"middle",color:"#f8f9fa"},nameBtn:{background:"none",border:"none",cursor:"pointer",fontWeight:600,color:"#d4af37",fontSize:"14px",padding:0,textDecoration:"underline dotted"},atRiskBadge:{display:"inline-block",marginLeft:"8px",padding:"2px 8px",borderRadius:"10px",fontSize:"10px",fontWeight:700,background:"#3b2e00",color:"#ffd666",border:"1px solid #d4af37",verticalAlign:"middle"},zeroRow:{color:"#77798a",fontStyle:"italic",fontSize:"12px"},toolbarRight:{display:"flex",gap:"10px",alignItems:"center"},refreshBtn:{padding:"9px 18px",background:"#d4af37",color:"#000",border:"none",borderRadius:"6px",cursor:"pointer",fontWeight:600,fontSize:"13px"},auditBtn:{padding:"9px 18px",background:"none",color:"#9ca0b8",border:"1px solid #2a2b3a",borderRadius:"6px",cursor:"pointer",fontWeight:600,fontSize:"13px"}},Ty=` + @media (max-width: 768px) { + .dashboard-wrap { + padding: 16px !important; + } + .dashboard-header { + flex-direction: column; + align-items: flex-start !important; + } + .dashboard-title { + font-size: 20px !important; + } + .dashboard-subtitle { + font-size: 12px !important; + } + .dashboard-stats { + gap: 10px !important; + } + .dashboard-stat-card { + min-width: calc(50% - 5px) !important; + padding: 12px !important; + } + .stat-num { + font-size: 24px !important; + } + .stat-lbl { + font-size: 10px !important; + } + .toolbar-right { + width: 100%; + flex-direction: column; + } + .search-input { + width: 100% !important; + } + .toolbar-btn { + width: 100%; + justify-content: center; + } + } + + @media (max-width: 480px) { + .dashboard-stat-card { + min-width: 100% !important; + } + } +`;function Py(){const[e,t]=k.useState([]),[n,r]=k.useState([]),[o,i]=k.useState(""),[l,a]=k.useState(null),[u,c]=k.useState(!1),[p,m]=k.useState(!0),[y,S]=k.useState(vo),x=Ry("(max-width: 768px)"),v=k.useCallback(()=>{m(!0),F.get("/api/dashboard").then(j=>{t(j.data),r(j.data)}).finally(()=>m(!1))},[]);k.useEffect(()=>{v()},[v]),k.useEffect(()=>{const j=o.toLowerCase();let T=e;y===sr?T=T.filter(_=>_.active_points>=0&&_.active_points<=4):y===ar?T=T.filter(_=>_.active_points>0):y===ur&&(T=T.filter(_=>ul(_.active_points))),j&&(T=T.filter(_=>_.name.toLowerCase().includes(j)||(_.department||"").toLowerCase().includes(j)||(_.supervisor||"").toLowerCase().includes(j))),r(T)},[o,e,y]);const g=e.filter(j=>ul(j.active_points)).length,f=e.filter(j=>j.active_points>0).length,d=e.filter(j=>j.active_points>=0&&j.active_points<=4).length,h=e.reduce((j,T)=>Math.max(j,T.active_points),0);function b(j){S(T=>T===j?vo:j)}function C(j,T={}){const _=y===j;return{...V.statCard,..._?V.statCardActive:{},...T}}return s.jsxs(s.Fragment,{children:[s.jsx("style",{children:Ty}),s.jsxs("div",{style:V.wrap,className:"dashboard-wrap",children:[s.jsxs("div",{style:V.header,className:"dashboard-header",children:[s.jsxs("div",{children:[s.jsx("div",{style:V.title,className:"dashboard-title",children:"Company Dashboard"}),s.jsxs("div",{style:V.subtitle,className:"dashboard-subtitle",children:["Click any employee name to view their full profile",y&&y!==vo&&s.jsxs("span",{style:{marginLeft:"10px",color:"#d4af37",fontWeight:600},children:["· Filtered: ",y===sr?"Elite Standing (0–4 pts)":y===ar?"With Active Points":y===ur?"At Risk":"All",s.jsx("button",{onClick:()=>S(vo),style:{marginLeft:"6px",background:"none",border:"none",color:"#9ca0b8",cursor:"pointer",fontSize:"12px"},title:"Clear filter",children:"✕"})]})]})]}),s.jsxs("div",{style:V.toolbarRight,className:"toolbar-right",children:[s.jsx("input",{style:V.search,className:"search-input",placeholder:"Search name, dept, supervisor…",value:o,onChange:j=>i(j.target.value)}),s.jsx("button",{style:V.auditBtn,className:"toolbar-btn",onClick:()=>c(!0),children:"📋 Audit Log"}),s.jsx("button",{style:V.refreshBtn,className:"toolbar-btn",onClick:v,children:"↻ Refresh"})]})]}),s.jsxs("div",{style:V.statsRow,className:"dashboard-stats",children:[s.jsxs("div",{style:C(cl),className:"dashboard-stat-card",onClick:()=>b(cl),title:"Click to show all employees",children:[s.jsx("div",{style:V.statNum,className:"stat-num",children:e.length}),s.jsx("div",{style:V.statLbl,className:"stat-lbl",children:"Total Employees"}),y===cl&&s.jsx("div",{style:V.filterBadge,children:"▼ Showing All"})]}),s.jsxs("div",{style:C(sr,{borderTop:"3px solid #28a745"}),className:"dashboard-stat-card",onClick:()=>b(sr),title:"Click to filter: Elite Standing (0–4 pts)",children:[s.jsx("div",{style:{...V.statNum,color:"#6ee7b7"},className:"stat-num",children:d}),s.jsx("div",{style:V.statLbl,className:"stat-lbl",children:"Elite Standing (0–4 pts)"}),y===sr&&s.jsx("div",{style:V.filterBadge,children:"▼ Filtered"})]}),s.jsxs("div",{style:C(ar,{borderTop:"3px solid #d4af37"}),className:"dashboard-stat-card",onClick:()=>b(ar),title:"Click to filter: employees with active points",children:[s.jsx("div",{style:{...V.statNum,color:"#ffd666"},className:"stat-num",children:f}),s.jsx("div",{style:V.statLbl,className:"stat-lbl",children:"With Active Points"}),y===ar&&s.jsx("div",{style:V.filterBadge,children:"▼ Filtered"})]}),s.jsxs("div",{style:C(ur,{borderTop:"3px solid #ffb020"}),className:"dashboard-stat-card",onClick:()=>b(ur),title:`Click to filter: at risk (≤${us} pts to next tier)`,children:[s.jsx("div",{style:{...V.statNum,color:"#ffdf8a"},className:"stat-num",children:g}),s.jsxs("div",{style:V.statLbl,className:"stat-lbl",children:["At Risk (≤",us," pts to next tier)"]}),y===ur&&s.jsx("div",{style:V.filterBadge,children:"▼ Filtered"})]}),s.jsxs("div",{style:{...V.statCard,borderTop:"3px solid #c0392b",cursor:"default"},className:"dashboard-stat-card",children:[s.jsx("div",{style:{...V.statNum,color:"#ff8a80"},className:"stat-num",children:h}),s.jsx("div",{style:V.statLbl,className:"stat-lbl",children:"Highest Active Score"})]})]}),p?s.jsx("p",{style:{color:"#77798a",textAlign:"center",padding:"40px"},children:"Loading…"}):x?s.jsx(Ey,{employees:n,onEmployeeClick:a}):s.jsxs("table",{style:V.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:V.th,children:"#"}),s.jsx("th",{style:V.th,children:"Employee"}),s.jsx("th",{style:V.th,children:"Department"}),s.jsx("th",{style:V.th,children:"Supervisor"}),s.jsx("th",{style:V.th,children:"Tier / Standing"}),s.jsx("th",{style:V.th,children:"Active Points"}),s.jsx("th",{style:V.th,children:"90-Day Violations"})]})}),s.jsxs("tbody",{children:[n.length===0&&s.jsx("tr",{children:s.jsx("td",{colSpan:7,style:{...V.td,textAlign:"center",...V.zeroRow},children:"No employees found."})}),n.map((j,T)=>{const _=ul(j.active_points),Q=Kt(j.active_points),U=Pf(j.active_points);return s.jsxs("tr",{style:{background:_?"#181200":T%2===0?"#111217":"#151622"},children:[s.jsx("td",{style:{...V.td,color:"#77798a",fontSize:"12px"},children:T+1}),s.jsxs("td",{style:V.td,children:[s.jsx("button",{style:V.nameBtn,onClick:()=>a(j.id),children:j.name}),_&&s.jsxs("span",{style:V.atRiskBadge,children:["⚠ ",U-j.active_points," pt",U-j.active_points>1?"s":""," to ",Kt(U).label.split("—")[0].trim()]})]}),s.jsx("td",{style:{...V.td,color:"#c0c2d6"},children:j.department||"—"}),s.jsx("td",{style:{...V.td,color:"#c0c2d6"},children:j.supervisor||"—"}),s.jsx("td",{style:V.td,children:s.jsx(Ti,{points:j.active_points})}),s.jsx("td",{style:{...V.td,fontWeight:700,color:Q.color,fontSize:"16px"},children:j.active_points}),s.jsx("td",{style:{...V.td,color:"#c0c2d6"},children:j.violation_count})]},j.id)})]})]})]}),l&&s.jsx(vy,{employeeId:l,onClose:()=>{a(null),v()}}),u&&s.jsx(by,{onClose:()=>c(!1)})]})}function zy(e){const t=e.split(` +`),n=[];let r=0,o=!1,i=!1,l=!1;const a=()=>{o&&(n.push(""),o=!1),i&&(n.push(""),i=!1),l&&(n.push(""),l=!1)},u=c=>c.replace(/&/g,"&").replace(//g,">").replace(/\*\*(.+?)\*\*/g,"$1").replace(/`([^`]+)`/g,"$1");for(;r"),r++;continue}const p=c.match(/^(#{1,4})\s+(.+)/);if(p){a();const S=p[1].length,x=p[2].toLowerCase().replace(/[^a-z0-9]+/g,"-");n.push(`${u(p[2])}`),r++;continue}if(c.trim().startsWith("|")){const S=c.trim().replace(/^\|||\|$/g,"").split("|").map(x=>x.trim());if(l){n.push(""),S.forEach(x=>n.push(`${u(x)}`)),n.push(""),r++;continue}else{a(),l=!0,n.push(""),S.forEach(x=>n.push(``)),n.push(""),r++,r"),i=!1),n.push("
    "),o=!0),n.push(`
  • ${u(m[1])}
  • `),r++;continue}const y=c.match(/^\d+\.\s+(.*)/);if(y){l&&a(),i||(o&&(n.push("
"),o=!1),n.push("
    "),i=!0),n.push(`
  1. ${u(y[1])}
  2. `),r++;continue}if(c.trim()===""){a(),r++;continue}a(),n.push(`

    ${u(c)}

    `),r++}return a(),n.join(` +`)}function Ny(e){return e.split(` +`).reduce((t,n)=>{const r=n.match(/^(#{1,2})\s+(.+)/);return r&&t.push({level:r[1].length,text:r[2],id:r[2].toLowerCase().replace(/[^a-z0-9]+/g,"-")}),t},[])}const Jt={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",zIndex:2e3,display:"flex",alignItems:"flex-start",justifyContent:"flex-end"},panel:{background:"#111217",color:"#f8f9fa",width:"760px",maxWidth:"95vw",height:"100vh",overflowY:"auto",boxShadow:"-4px 0 32px rgba(0,0,0,0.85)",display:"flex",flexDirection:"column"},header:{background:"linear-gradient(135deg,#000000,#151622)",color:"white",padding:"22px 28px",position:"sticky",top:0,zIndex:10,borderBottom:"1px solid #222",display:"flex",alignItems:"center",justifyContent:"space-between"},closeBtn:{background:"none",border:"none",color:"white",fontSize:"22px",cursor:"pointer",lineHeight:1},toc:{background:"#0d1117",borderBottom:"1px solid #1e1f2e",padding:"10px 32px",display:"flex",flexWrap:"wrap",gap:"4px 18px",fontSize:"11px"},body:{padding:"28px 32px",flex:1,fontSize:"13px",lineHeight:"1.75"},footer:{padding:"14px 32px",borderTop:"1px solid #1e1f2e",fontSize:"11px",color:"#555770",textAlign:"center"}},Ay=` +.adm h1 { font-size:21px; font-weight:800; color:#f8f9fa; margin:28px 0 10px; border-bottom:1px solid #2a2b3a; padding-bottom:8px } +.adm h2 { font-size:16px; font-weight:700; color:#d4af37; margin:28px 0 6px; letter-spacing:.2px } +.adm h3 { font-size:12px; font-weight:700; color:#90caf9; margin:18px 0 4px; text-transform:uppercase; letter-spacing:.5px } +.adm h4 { font-size:13px; font-weight:600; color:#b0b8d0; margin:14px 0 4px } +.adm p { color:#c8ccd8; margin:5px 0 10px } +.adm hr { border:none; border-top:1px solid #2a2b3a; margin:22px 0 } +.adm strong { color:#f8f9fa } +.adm code { background:#0d1117; color:#79c0ff; border:1px solid #2a2b3a; border-radius:4px; padding:1px 6px; font-family:'Consolas','Fira Code',monospace; font-size:12px } +.adm ul { padding-left:20px; margin:5px 0 10px; color:#c8ccd8 } +.adm ol { padding-left:20px; margin:5px 0 10px; color:#c8ccd8 } +.adm li { margin:4px 0 } +.adm table { width:100%; border-collapse:collapse; font-size:12px; background:#181924; border-radius:6px; overflow:hidden; border:1px solid #2a2b3a; margin:10px 0 16px } +.adm th { background:#050608; padding:8px 12px; text-align:left; color:#f8f9fa; font-weight:600; font-size:11px; text-transform:uppercase; border-bottom:1px solid #2a2b3a } +.adm td { padding:8px 12px; border-bottom:1px solid #202231; color:#c8ccd8 } +.adm tr:last-child td { border-bottom:none } +.adm tr:hover td { background:#1e1f2e } +`,$u=`# CPAS Tracker — Admin Guide + +Internal tool for CPAS violation documentation, workforce standing management, and audit compliance. All data is stored locally in the Docker container volume — there is no external dependency. + +--- + +## How Scoring Works + +Every violation carries a **point value** set at the time of submission. Points count toward an employee's score only within a **rolling 90-day window** — once a violation is older than 90 days it automatically drops off and the score recalculates. + +Negated (voided) violations are excluded from scoring immediately. Hard-deleted violations are removed from the record entirely. + +## Tier Reference + +| Points | Tier | Label | +|--------|------|-------| +| 0–4 | 0–1 | Elite Standing | +| 5–9 | 1 | Realignment | +| 10–14 | 2 | Administrative Lockdown | +| 15–19 | 3 | Verification | +| 20–24 | 4 | Risk Mitigation | +| 25–29 | 5 | Final Decision | +| 30+ | 6 | Separation | + +The **at-risk badge** on the dashboard flags anyone within 2 points of the next tier threshold so supervisors can act before escalation occurs. + +--- + +## Feature Map + +### Dashboard + +The main view. Employees are sorted by active CPAS points, highest first. + +- **Stat cards** — live counts: total employees, zero-point (elite), with active points, at-risk, highest score +- **Search / filter** — by name, department, or supervisor; narrows the table in real time +- **At-risk badge** — gold flag on rows where the employee is within 2 pts of the next tier +- **Audit Log button** — opens the filterable, paginated write-action log (top right of the dashboard toolbar) +- **Click any name** — opens that employee's full profile modal + +--- + +### Logging a Violation + +Use the **+ New Violation** tab. + +1. Select an existing employee from the dropdown, or type a new name to create a record on-the-fly. +2. The **employee intelligence panel** loads their current tier badge and 90-day violation count before you commit. +3. Choose a violation type. The dropdown is grouped by category and shows prior 90-day counts inline for each type. +4. If the employee has a prior violation of the same type, the **recidivist auto-escalation** rule triggers — the points slider jumps to the maximum allowed for that violation type. +5. The **tier crossing warning** previews what tier the submission would land the employee in. Review before submitting. +6. Adjust points using the slider if discretionary reduction is warranted (within the violation's allowed min/max range). +7. **Employee Acknowledgment** (optional): if the employee is present and acknowledges receipt, enter their printed name and the acknowledgment date. This replaces the blank signature line on the PDF with a recorded acknowledgment and an "Acknowledged" badge. Leave blank if the employee is not present or declines. +8. Submit. A **PDF download link** appears immediately — download it for the employee's file. +9. **Toast notifications** confirm success or surface errors at the top right of the screen. Toasts auto-dismiss after a few seconds. + +--- + +### Employee Profile Modal + +Click any name on the dashboard to open their profile. + +#### Overview section +Shows current tier badge, active points, and 90-day violation count. + +#### Notes & Flags +Free-text field for HR context (e.g. "On PIP", "Union member", "Pending investigation", "FMLA"). Quick-add tag buttons pre-fill common statuses. Notes are visible to anyone who opens the profile but **do not affect CPAS scoring**. Edit inline; saves on blur. + +#### Point Expiration Timeline +Visible when the employee has active points. Shows each active violation as a progress bar indicating how far through its 90-day window it is, days remaining until roll-off, and a **tier-drop indicator** for violations whose expiration would move the employee down a tier. + +#### Violation History +Full record of all submissions — active, negated, and resolved. + +- **Amend** — edit non-scoring fields (location, details, witness, submitted-by, incident time, acknowledged-by, acknowledged-date) on any active violation. Every change is logged as a field-level diff (old → new) with timestamp. Points, type, and incident date are immutable. +- **Negate** — soft-delete a violation with a resolution type and notes. The record is preserved in history; the points are immediately removed from the score. Fully reversible via **Restore**. +- **Hard delete** — permanent removal. Use only for genuine data entry errors. +- **PDF** — download the formal violation document for any historical record. If the violation has an employee acknowledgment on record, the PDF shows the filled-in name and date instead of blank signature lines. + +All actions trigger **toast notifications** confirming success or surfacing errors. + +#### Edit Employee +Update name, department, or supervisor. Changes are logged to the audit trail. + +#### Merge Duplicate +If the same employee exists under two names, use Merge to reassign all violations from the duplicate to the canonical record. The duplicate is then deleted. This cannot be undone. + +#### Backfill Snapshots (repair tool) + +Each violation stores a **prior-points snapshot** at submission time so its PDF always shows the score *as it was on the incident date*. Normally you never touch this — it's set on insert, refreshed automatically when a back-dated violation lands inside another violation's 90-day window, and otherwise locked. PDFs stay stable through negate/restore by design. + +The **↻ Backfill Snapshots** button sits next to the **Active Violations** header in the profile modal. It rebuilds the snapshot on every violation for that employee using current data. + +**When to use it:** + +- After back-dating a violation, an older PDF still shows "Prior Active Points: 0" even though an earlier violation now clearly exists in the timeline. +- More generally: any time a regenerated PDF disagrees with what you see in the Point Expiration Timeline (the timeline is computed live; PDFs use the snapshot). + +**When *not* to use it:** + +- After a negate, restore, amend, or hard delete in normal workflow. The system intentionally keeps existing PDFs stable through those operations. +- As a routine maintenance step. If you keep needing it after ordinary back-dated inserts, that's a bug worth reporting — the auto-refresh should already be covering you. + +**What clicking it does:** + +1. Iterates every violation belonging to the employee (active and negated). +2. Recomputes each row's prior-points snapshot from the current set of non-negated violations in the 90 days before its incident date. +3. Writes only the rows that actually changed. +4. Records one entry in the audit log (action: \`violation_snapshots_recomputed\`, reason: \`manual_backfill\`) with the per-row before/after values. + +A toast confirms the outcome — either *"Updated X of Y snapshots"* or *"Snapshots already up to date"*. Re-download any affected PDFs after running it; the new totals will appear immediately. + +--- + +### Audit Log + +Accessible from the dashboard toolbar (🔍 button). Append-only log of every write action in the system. + +- Filter by entity type: **employee** or **violation** +- Filter by action: created, edited, merged, negated, restored, amended, deleted, notes updated +- Paginated with load-more; most recent entries first + +The audit log is the authoritative record for compliance review. Nothing in it can be edited or deleted through the UI. + +--- + +### Violation Amendment + +Amendments allow corrections to a violation's non-scoring fields without deleting and re-submitting, which would disrupt the audit trail and the prior-points snapshot. + +**Amendable fields:** incident time, location, details, submitted-by, witness name, acknowledged-by, acknowledged-date. + +**Immutable fields:** violation type, incident date, point value. + +Each amendment stores a before/after diff for every changed field. Amendment history is accessible from the violation card in the employee's history. + +--- + +### Toast Notifications + +All user actions across the application produce **toast notifications** — small slide-in messages at the top right of the screen. + +- **Success** (green) — violation submitted, PDF downloaded, employee updated, etc. +- **Error** (red) — API failures, validation errors, PDF generation issues +- **Warning** (gold) — missing required fields, policy alerts +- **Info** (blue) — general informational messages + +Toasts auto-dismiss after a few seconds (errors persist longer). Each toast has a progress bar countdown and a manual dismiss button. Up to 5 toasts can stack simultaneously. + +--- + +## Immutability Rules — Quick Reference + +| Action | Allowed? | Notes | +|--------|----------|-------| +| Edit violation type | No | Immutable after submission | +| Edit incident date | No | Immutable after submission | +| Edit point value | No | Immutable after submission | +| Edit location / details / witness | Yes | Via Amend | +| Edit acknowledged-by / acknowledged-date | Yes | Via Amend | +| Negate (void) a violation | Yes | Soft delete; reversible | +| Hard delete a violation | Yes | Permanent; use sparingly | +| Edit employee name / dept / supervisor | Yes | Logged to audit trail | +| Merge duplicate employees | Yes | Irreversible | +| Add / edit employee notes | Yes | Does not affect score | +| Recompute prior-points snapshot | Yes | Two paths only: auto (back-dated insert) or **↻ Backfill Snapshots** button. Never touched by negate, restore, amend, or hard delete | + +--- + +## Roadmap + +### Shipped + +- Container scaffold, violation form, employee intelligence +- Recidivist auto-escalation, tier crossing warning +- PDF generation with prior-points snapshot +- Company dashboard, stat cards, at-risk badges +- Employee profile modal — full history, negate/restore, hard delete +- Employee edit and duplicate merge +- Violation amendment with field-level diff log +- Audit log — filterable, paginated, append-only +- Employee notes and flags with quick-add HR tags +- Point expiration timeline with tier-drop projections +- In-app admin guide (this panel) +- Acknowledgment signature field — employee name + date on form and PDF +- Toast notification system — global feedback for all user actions +- Backfill Snapshots — per-employee repair tool that rebuilds the prior-points snapshot on every violation when older PDFs drift from current data + +--- + +### Near-term + +These are well-scoped additions that fit the current architecture without major changes. + +- **CSV export** — one endpoint returning violations or dashboard data as a downloadable CSV for payroll or external reporting. +- **Supervisor-scoped view** — filter the dashboard to a single supervisor's team via URL param; useful in multi-supervisor environments without requiring full auth. + +--- + +### Planned + +Larger features that require more design work or infrastructure. + +- **Violation trends chart** — line/bar chart of violations over time, filterable by department or supervisor. Useful for identifying systemic patterns vs. isolated incidents. Recharts is already available in the frontend bundle. +- **Department heat map** — grid showing violation density and average CPAS score per department. Helps identify team-level risk early. +- **Draft / pending violations** — save a violation as a draft before it's officially logged. Useful when incidents need supervisor review or HR sign-off before they count toward the score. +- **At-risk threshold configuration** — make the 2-point at-risk warning threshold configurable per deployment rather than hardcoded. + +--- + +### Future Considerations + +These require meaningful infrastructure additions and should be evaluated against actual operational need before committing. + +- **Multi-user auth** — role-based login (admin, supervisor, read-only). Currently the app assumes a trusted internal network with no authentication layer. +- **Tier escalation alerts** — email or in-app notification when an employee crosses into Tier 2+, automatically routed to their supervisor. +- **Scheduled digest** — weekly email summary to supervisors showing their employees' current standings and any approaching thresholds. +- **Automated DB backup** — scheduled snapshot of the database to a mounted backup volume or remote destination. +- **Bulk CSV import** — migrate historical violation records from paper logs or a prior system. +- **Dark/light theme toggle** — UI is currently dark-only. +`;function Oy({onClose:e}){const t=k.useRef(null),n=zy($u),r=Ny($u);k.useEffect(()=>{const i=l=>{l.key==="Escape"&&e()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e]);const o=i=>{var a;const l=(a=t.current)==null?void 0:a.querySelector(`#${i}`);l&&l.scrollIntoView({behavior:"smooth",block:"start"})};return s.jsxs("div",{style:Jt.overlay,onClick:i=>{i.target===i.currentTarget&&e()},children:[s.jsx("style",{children:Ay}),s.jsxs("div",{style:Jt.panel,onClick:i=>i.stopPropagation(),children:[s.jsxs("div",{style:Jt.header,children:[s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:"17px",fontWeight:800,letterSpacing:".3px"},children:"📋 CPAS Tracker — Admin Guide"}),s.jsx("div",{style:{fontSize:"11px",color:"#9ca0b8",marginTop:"3px"},children:"Feature map · workflows · roadmap · Esc or click outside to close"})]}),s.jsx("button",{style:Jt.closeBtn,onClick:e,"aria-label":"Close",children:"✕"})]}),s.jsx("div",{style:Jt.toc,children:r.map(i=>s.jsxs("button",{onClick:()=>o(i.id),style:{background:"none",border:"none",cursor:"pointer",padding:"3px 0",color:i.level===1?"#f8f9fa":"#d4af37",fontWeight:i.level===1?700:500,fontSize:"11px"},children:[i.level===2?"↳ ":"",i.text]},i.id))}),s.jsx("div",{ref:t,style:Jt.body,className:"adm",dangerouslySetInnerHTML:{__html:n}}),s.jsx("div",{style:Jt.footer,children:"CPAS Violation Tracker · internal admin use only"})]})]})}const fa="cpas_token";function zf(){return localStorage.getItem(fa)}function Dy(e){localStorage.setItem(fa,e)}function cs(){localStorage.removeItem(fa)}F.interceptors.request.use(e=>{const t=zf();return t&&(e.headers.Authorization=`Bearer ${t}`),e});let ds=null;function Ly(e){ds=e}F.interceptors.response.use(e=>e,e=>(e.response&&e.response.status===401&&(cs(),ds&&ds()),Promise.reject(e)));const Me={overlay:{position:"fixed",inset:0,background:"#050608",display:"flex",alignItems:"center",justifyContent:"center",zIndex:3e3,fontFamily:"'Segoe UI', Arial, sans-serif"},modal:{width:"380px",maxWidth:"92vw",background:"#111217",borderRadius:"12px",boxShadow:"0 16px 40px rgba(0,0,0,0.8)",color:"#f8f9fa",overflow:"hidden",border:"1px solid #2a2b3a"},header:{padding:"24px",borderBottom:"1px solid #222",textAlign:"center",background:"linear-gradient(135deg, #000000, #151622)"},logo:{height:"34px",marginBottom:"12px"},title:{fontSize:"18px",fontWeight:800,letterSpacing:"0.5px"},subtitle:{fontSize:"12px",color:"#c0c2d6",marginTop:"4px"},body:{padding:"22px 24px 8px 24px"},label:{fontSize:"13px",fontWeight:600,marginBottom:"4px",color:"#e5e7f1"},input:{width:"100%",padding:"10px 12px",borderRadius:"6px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontSize:"14px",fontFamily:"inherit",marginBottom:"16px",boxSizing:"border-box"},error:{background:"#3a1414",borderRadius:"6px",padding:"9px 11px",fontSize:"12px",color:"#ff9b9b",border:"1px solid #c0392b",marginBottom:"14px"},footer:{padding:"0 24px 22px 24px"},btn:{width:"100%",padding:"11px",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, #d4af37 0%, #ffdf8a 100%)",color:"#000",fontWeight:700,fontSize:"14px",cursor:"pointer",textTransform:"uppercase",letterSpacing:"0.5px"}};function Fy({onSuccess:e}){const[t,n]=k.useState(""),[r,o]=k.useState(""),[i,l]=k.useState(""),[a,u]=k.useState(!1),c=async p=>{var m,y;p.preventDefault(),l(""),u(!0);try{const{data:S}=await F.post("/api/auth/login",{username:t,password:r});Dy(S.token),e(S.user)}catch(S){l(((y=(m=S.response)==null?void 0:m.data)==null?void 0:y.error)||"Login failed. Please try again."),u(!1)}};return s.jsx("div",{style:Me.overlay,children:s.jsxs("form",{style:Me.modal,onSubmit:c,children:[s.jsxs("div",{style:Me.header,children:[s.jsx("img",{src:"/static/mpm-logo.png",alt:"MPM",style:Me.logo}),s.jsx("div",{style:Me.title,children:"CPAS Tracker"}),s.jsx("div",{style:Me.subtitle,children:"Sign in to continue"})]}),s.jsxs("div",{style:Me.body,children:[i&&s.jsx("div",{style:Me.error,children:i}),s.jsx("div",{style:Me.label,children:"Username"}),s.jsx("input",{style:Me.input,value:t,onChange:p=>n(p.target.value),autoFocus:!0,autoComplete:"username"}),s.jsx("div",{style:Me.label,children:"Password"}),s.jsx("input",{style:Me.input,type:"password",value:r,onChange:p=>o(p.target.value),autoComplete:"current-password"})]}),s.jsx("div",{style:Me.footer,children:s.jsx("button",{style:{...Me.btn,opacity:a?.7:1},type:"submit",disabled:a,children:a?"Signing in…":"Sign In"})})]})})}const J={overlay:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:2500},modal:{width:"560px",maxWidth:"95vw",maxHeight:"90vh",background:"#111217",borderRadius:"12px",boxShadow:"0 16px 40px rgba(0,0,0,0.8)",color:"#f8f9fa",overflow:"hidden",border:"1px solid #2a2b3a",display:"flex",flexDirection:"column"},header:{padding:"18px 24px",borderBottom:"1px solid #222",background:"linear-gradient(135deg, #000000, #151622)",display:"flex",justifyContent:"space-between",alignItems:"center"},title:{fontSize:"18px",fontWeight:700},close:{background:"none",border:"none",color:"#9ca0b8",fontSize:"22px",cursor:"pointer",lineHeight:1},body:{padding:"18px 24px",overflowY:"auto"},error:{background:"#3a1414",borderRadius:"6px",padding:"9px 11px",fontSize:"12px",color:"#ff9b9b",border:"1px solid #c0392b",marginBottom:"14px"},table:{width:"100%",borderCollapse:"collapse",marginBottom:"20px",fontSize:"13px"},th:{textAlign:"left",padding:"8px 10px",color:"#9ca0b8",borderBottom:"1px solid #222",fontWeight:600},td:{padding:"8px 10px",borderBottom:"1px solid #1a1b22"},roleBadge:e=>({fontSize:"11px",fontWeight:700,padding:"2px 8px",borderRadius:"10px",background:e?"#3b2e00":"#1a2733",color:e?"#ffd666":"#7fc4ff",border:`1px solid ${e?"#d4af37":"#2a4a66"}`}),smallBtn:{padding:"4px 10px",borderRadius:"5px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontSize:"12px",cursor:"pointer",marginRight:"6px"},dangerBtn:{padding:"4px 10px",borderRadius:"5px",border:"1px solid #5a2020",background:"#2a1010",color:"#ff9b9b",fontSize:"12px",cursor:"pointer"},sectionTitle:{fontSize:"14px",fontWeight:700,margin:"6px 0 12px 0",color:"#e5e7f1"},row:{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-end"},field:{flex:"1 1 140px"},label:{fontSize:"12px",fontWeight:600,marginBottom:"4px",color:"#e5e7f1"},input:{width:"100%",padding:"8px 10px",borderRadius:"6px",border:"1px solid #333544",background:"#050608",color:"#f8f9fa",fontSize:"13px",fontFamily:"inherit",boxSizing:"border-box"},addBtn:{padding:"9px 18px",borderRadius:"6px",border:"none",background:"linear-gradient(135deg, #d4af37 0%, #ffdf8a 100%)",color:"#000",fontWeight:700,fontSize:"13px",cursor:"pointer"}};function By({currentUser:e,onClose:t}){const[n,r]=k.useState([]),[o,i]=k.useState(""),[l,a]=k.useState(""),[u,c]=k.useState(""),[p,m]=k.useState("user"),y=k.useCallback(async()=>{var g,f;try{const{data:d}=await F.get("/api/users");r(d)}catch(d){i(((f=(g=d.response)==null?void 0:g.data)==null?void 0:f.error)||"Failed to load users")}},[]);k.useEffect(()=>{y()},[y]);const S=async g=>{var f,d;g.preventDefault(),i("");try{await F.post("/api/users",{username:l,password:u,role:p}),a(""),c(""),m("user"),y()}catch(h){i(((d=(f=h.response)==null?void 0:f.data)==null?void 0:d.error)||"Failed to create user")}},x=async g=>{var f,d;if(window.confirm(`Delete user "${g.username}"? They will lose access immediately.`)){i("");try{await F.delete(`/api/users/${g.id}`),y()}catch(h){i(((d=(f=h.response)==null?void 0:f.data)==null?void 0:d.error)||"Failed to delete user")}}},v=async g=>{var d,h;const f=window.prompt(`Enter a new password for "${g.username}" (min 6 characters):`);if(f!=null){i("");try{await F.patch(`/api/users/${g.id}/password`,{password:f}),window.alert("Password updated.")}catch(b){i(((h=(d=b.response)==null?void 0:d.data)==null?void 0:h.error)||"Failed to update password")}}};return s.jsx("div",{style:J.overlay,onClick:g=>{g.target===g.currentTarget&&t()},children:s.jsxs("div",{style:J.modal,onClick:g=>g.stopPropagation(),children:[s.jsxs("div",{style:J.header,children:[s.jsx("div",{style:J.title,children:"User Management"}),s.jsx("button",{style:J.close,onClick:t,title:"Close",children:"×"})]}),s.jsxs("div",{style:J.body,children:[o&&s.jsx("div",{style:J.error,children:o}),s.jsxs("table",{style:J.table,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:J.th,children:"Username"}),s.jsx("th",{style:J.th,children:"Role"}),s.jsx("th",{style:J.th,children:"Actions"})]})}),s.jsx("tbody",{children:n.map(g=>s.jsxs("tr",{children:[s.jsxs("td",{style:J.td,children:[g.username,g.id===(e==null?void 0:e.id)&&s.jsx("span",{style:{color:"#9ca0b8"},children:" (you)"})]}),s.jsx("td",{style:J.td,children:s.jsx("span",{style:J.roleBadge(g.role==="admin"),children:g.role})}),s.jsxs("td",{style:J.td,children:[s.jsx("button",{style:J.smallBtn,onClick:()=>v(g),children:"Reset Password"}),g.id!==(e==null?void 0:e.id)&&s.jsx("button",{style:J.dangerBtn,onClick:()=>x(g),children:"Delete"})]})]},g.id))})]}),s.jsx("div",{style:J.sectionTitle,children:"Add New User"}),s.jsxs("form",{style:J.row,onSubmit:S,children:[s.jsxs("div",{style:J.field,children:[s.jsx("div",{style:J.label,children:"Username"}),s.jsx("input",{style:J.input,value:l,onChange:g=>a(g.target.value),required:!0})]}),s.jsxs("div",{style:J.field,children:[s.jsx("div",{style:J.label,children:"Password"}),s.jsx("input",{style:J.input,type:"password",value:u,onChange:g=>c(g.target.value),required:!0})]}),s.jsxs("div",{style:{...J.field,flex:"0 0 110px"},children:[s.jsx("div",{style:J.label,children:"Role"}),s.jsxs("select",{style:J.input,value:p,onChange:g=>m(g.target.value),children:[s.jsx("option",{value:"user",children:"User"}),s.jsx("option",{value:"admin",children:"Admin"})]})]}),s.jsx("button",{style:J.addBtn,type:"submit",children:"Add User"})]})]})]})})}const Wu="https://git.alwisp.com/jason/cpas",Hu=new Date("2026-03-06T11:33:32-06:00");function Vu(e){const t=Math.floor((Date.now()-e.getTime())/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),o=Math.floor(t%3600/60),i=t%60;return`${n}d ${String(r).padStart(2,"0")}h ${String(o).padStart(2,"0")}m ${String(i).padStart(2,"0")}s`}function Iy(){const[e,t]=k.useState(()=>Vu(Hu));return k.useEffect(()=>{const n=setInterval(()=>t(Vu(Hu)),1e3);return()=>clearInterval(n)},[]),s.jsxs("span",{title:"Time since first commit",style:{display:"inline-flex",alignItems:"center",gap:"5px"},children:[s.jsx("span",{style:{width:"7px",height:"7px",borderRadius:"50%",background:"#22c55e",display:"inline-block",animation:"cpas-pulse 1.4s ease-in-out infinite"}}),e]})}function My(){return s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:s.jsx("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})})}function Uy({version:e}){const t=new Date().getFullYear(),n=(e==null?void 0:e.shortSha)||null,r=e!=null&&e.buildTime?new Date(e.buildTime).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):null;return s.jsxs(s.Fragment,{children:[s.jsx("style",{children:` + @keyframes cpas-pulse { + 0%, 100% { opacity: 1; transform: scale(1); } + 50% { opacity: 0.4; transform: scale(0.75); } + } + + /* Mobile-specific footer adjustments */ + @media (max-width: 768px) { + .footer-content { + flex-wrap: wrap; + justify-content: center; + font-size: 10px; + padding: 10px 16px; + gap: 8px; + } + } + `}),s.jsxs("footer",{style:Zt.footer,className:"footer-content",children:[s.jsxs("span",{style:Zt.copy,children:["© ",t," Jason Stedwell"]}),s.jsx("span",{style:Zt.sep,children:"·"}),s.jsx(Iy,{}),s.jsx("span",{style:Zt.sep,children:"·"}),s.jsxs("a",{href:Wu,target:"_blank",rel:"noopener noreferrer",style:Zt.link,children:[s.jsx(My,{})," cpas"]}),n&&n!=="dev"&&s.jsxs(s.Fragment,{children:[s.jsx("span",{style:Zt.sep,children:"·"}),s.jsx("a",{href:`${Wu}/commit/${e.sha}`,target:"_blank",rel:"noopener noreferrer",style:Zt.link,title:r?`Built ${r}`:"View commit",children:n})]})]})]})}const $y=[{id:"dashboard",label:"📊 Dashboard"},{id:"violation",label:"+ New Violation"}];function Wy(e){const[t,n]=k.useState(!1);return k.useEffect(()=>{const r=window.matchMedia(e);r.matches!==t&&n(r.matches);const o=()=>n(r.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[t,e]),t}const et={app:{minHeight:"100vh",background:"#050608",fontFamily:"'Segoe UI', Arial, sans-serif",color:"#f8f9fa",display:"flex",flexDirection:"column"},nav:{background:"#000000",padding:"0 40px",display:"flex",alignItems:"center",gap:0,borderBottom:"1px solid #333"},logoWrap:{display:"flex",alignItems:"center",marginRight:"32px",padding:"14px 0"},logoImg:{height:"28px",marginRight:"10px"},logoText:{color:"#f8f9fa",fontWeight:800,fontSize:"18px",letterSpacing:"0.5px"},tab:e=>({padding:"18px 22px",color:e?"#f8f9fa":"rgba(248,249,250,0.6)",borderBottom:e?"3px solid #d4af37":"3px solid transparent",cursor:"pointer",fontWeight:e?700:400,fontSize:"14px",background:"none",border:"none"}),docsBtn:{marginLeft:"auto",background:"none",border:"1px solid #2a2b3a",color:"#9ca0b8",borderRadius:"6px",padding:"6px 14px",fontSize:"12px",cursor:"pointer",fontWeight:600,letterSpacing:"0.3px",display:"flex",alignItems:"center",gap:"6px"},navBtn:{background:"none",border:"1px solid #2a2b3a",color:"#9ca0b8",borderRadius:"6px",padding:"6px 14px",fontSize:"12px",cursor:"pointer",fontWeight:600,letterSpacing:"0.3px",display:"flex",alignItems:"center",gap:"6px"},userBadge:{fontSize:"12px",color:"#c0c2d6",fontWeight:600,display:"flex",alignItems:"center",gap:"5px"},main:{flex:1},card:{maxWidth:"1100px",margin:"30px auto",background:"#111217",borderRadius:"10px",boxShadow:"0 2px 16px rgba(0,0,0,0.6)",border:"1px solid #222"}},Hy=` + @media (max-width: 768px) { + .app-nav { + padding: 0 16px !important; + flex-wrap: wrap; + justify-content: center; + } + .logo-wrap { + margin-right: 0 !important; + padding: 12px 0 !important; + width: 100%; + justify-content: center; + border-bottom: 1px solid #1a1b22; + } + .nav-tabs { + display: flex; + width: 100%; + justify-content: space-around; + } + .nav-tab { + flex: 1; + text-align: center; + padding: 14px 8px !important; + font-size: 13px !important; + } + .docs-btn { + position: absolute; + top: 16px; + right: 16px; + padding: 4px 10px !important; + font-size: 11px !important; + } + .docs-btn span:first-child { + display: none; + } + .main-card { + margin: 12px !important; + border-radius: 8px !important; + } + } + + @media (max-width: 480px) { + .logo-text { + font-size: 16px !important; + } + .logo-img { + height: 24px !important; + } + } +`,Zt={footer:{borderTop:"1px solid #1a1b22",padding:"12px 40px",display:"flex",alignItems:"center",gap:"12px",fontSize:"11px",color:"rgba(248,249,250,0.35)",background:"#000",flexShrink:0},copy:{color:"rgba(248,249,250,0.35)"},sep:{color:"rgba(248,249,250,0.15)"},link:{color:"rgba(248,249,250,0.35)",textDecoration:"none",display:"inline-flex",alignItems:"center",gap:"4px",transition:"color 0.15s"}};function Vy(){const[e,t]=k.useState("dashboard"),[n,r]=k.useState(!1),[o,i]=k.useState(!1),[l,a]=k.useState(null),[u,c]=k.useState(null),[p,m]=k.useState(!1),y=Wy("(max-width: 768px)");k.useEffect(()=>{fetch("/version.json").then(x=>x.ok?x.json():null).then(x=>{x&&a(x)}).catch(()=>{})},[]),k.useEffect(()=>{if(Ly(()=>c(null)),!zf()){m(!0);return}F.get("/api/auth/me").then(x=>c(x.data.user)).catch(()=>cs()).finally(()=>m(!0))},[]);const S=async()=>{try{await F.post("/api/auth/logout")}catch{}cs(),c(null)};return p?u?s.jsxs(oy,{children:[s.jsx("style",{children:Hy}),s.jsxs("div",{style:et.app,children:[s.jsxs("nav",{style:et.nav,className:"app-nav",children:[s.jsxs("div",{style:et.logoWrap,className:"logo-wrap",children:[s.jsx("img",{src:"/static/mpm-logo.png",alt:"MPM",style:et.logoImg,className:"logo-img"}),s.jsx("div",{style:et.logoText,className:"logo-text",children:"CPAS Tracker"})]}),s.jsx("div",{className:"nav-tabs",children:$y.map(x=>s.jsx("button",{style:et.tab(e===x.id),className:"nav-tab",onClick:()=>t(x.id),children:y?x.label.replace("📊 ","📊 ").replace("+ New ","+ "):x.label},x.id))}),s.jsxs("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:"10px"},children:[s.jsxs("span",{style:et.userBadge,title:`Signed in as ${u.username} (${u.role})`,children:["👤 ",u.username]}),u.role==="admin"&&s.jsx("button",{style:et.navBtn,onClick:()=>i(!0),title:"Manage user accounts",children:"Users"}),s.jsxs("button",{style:{...et.docsBtn,marginLeft:0},className:"docs-btn",onClick:()=>r(!0),title:"Open admin documentation",children:[s.jsx("span",{children:"?"})," Docs"]}),s.jsx("button",{style:et.navBtn,onClick:S,title:"Sign out",children:"Logout"})]})]}),s.jsx("div",{style:et.main,children:s.jsx("div",{style:et.card,className:"main-card",children:e==="dashboard"?s.jsx(Py,{}):s.jsx(uy,{})})}),s.jsx(Uy,{version:l}),n&&s.jsx(Oy,{onClose:()=>r(!1)}),o&&s.jsx(By,{currentUser:u,onClose:()=>i(!1)})]})]}):s.jsx(Fy,{onSuccess:c}):null}dl.createRoot(document.getElementById("root")).render(s.jsx(Yf.StrictMode,{children:s.jsx(Vy,{})})); diff --git a/client/dist/index.html b/client/dist/index.html new file mode 100644 index 0000000..f881233 --- /dev/null +++ b/client/dist/index.html @@ -0,0 +1,18 @@ + + + + + + CPAS Violation Tracker + + + + + +
    + + diff --git a/client/dist/static/mpm-logo.png b/client/dist/static/mpm-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..02e50cc2a2713bdd2a2ade7301d92179d5b25707 GIT binary patch literal 4188 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 /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@" +else + exec node "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@" +fi diff --git a/client/node_modules/.bin/baseline-browser-mapping.cmd b/client/node_modules/.bin/baseline-browser-mapping.cmd new file mode 100644 index 0000000..724ac4d --- /dev/null +++ b/client/node_modules/.bin/baseline-browser-mapping.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\baseline-browser-mapping\dist\cli.cjs" %* diff --git a/client/node_modules/.bin/baseline-browser-mapping.ps1 b/client/node_modules/.bin/baseline-browser-mapping.ps1 new file mode 100644 index 0000000..049fe74 --- /dev/null +++ b/client/node_modules/.bin/baseline-browser-mapping.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args + } else { + & "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args + } else { + & "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/browserslist b/client/node_modules/.bin/browserslist new file mode 100644 index 0000000..60e71ad --- /dev/null +++ b/client/node_modules/.bin/browserslist @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@" +else + exec node "$basedir/../browserslist/cli.js" "$@" +fi diff --git a/client/node_modules/.bin/browserslist.cmd b/client/node_modules/.bin/browserslist.cmd new file mode 100644 index 0000000..f93c251 --- /dev/null +++ b/client/node_modules/.bin/browserslist.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\browserslist\cli.js" %* diff --git a/client/node_modules/.bin/browserslist.ps1 b/client/node_modules/.bin/browserslist.ps1 new file mode 100644 index 0000000..01e10a0 --- /dev/null +++ b/client/node_modules/.bin/browserslist.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../browserslist/cli.js" $args + } else { + & "node$exe" "$basedir/../browserslist/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/esbuild b/client/node_modules/.bin/esbuild new file mode 100644 index 0000000..63bb6d4 --- /dev/null +++ b/client/node_modules/.bin/esbuild @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@" +else + exec node "$basedir/../esbuild/bin/esbuild" "$@" +fi diff --git a/client/node_modules/.bin/esbuild.cmd b/client/node_modules/.bin/esbuild.cmd new file mode 100644 index 0000000..cc920c5 --- /dev/null +++ b/client/node_modules/.bin/esbuild.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %* diff --git a/client/node_modules/.bin/esbuild.ps1 b/client/node_modules/.bin/esbuild.ps1 new file mode 100644 index 0000000..81ffbf9 --- /dev/null +++ b/client/node_modules/.bin/esbuild.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args + } else { + & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args + } else { + & "node$exe" "$basedir/../esbuild/bin/esbuild" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/jsesc b/client/node_modules/.bin/jsesc new file mode 100644 index 0000000..879c413 --- /dev/null +++ b/client/node_modules/.bin/jsesc @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@" +else + exec node "$basedir/../jsesc/bin/jsesc" "$@" +fi diff --git a/client/node_modules/.bin/jsesc.cmd b/client/node_modules/.bin/jsesc.cmd new file mode 100644 index 0000000..eb41110 --- /dev/null +++ b/client/node_modules/.bin/jsesc.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jsesc\bin\jsesc" %* diff --git a/client/node_modules/.bin/jsesc.ps1 b/client/node_modules/.bin/jsesc.ps1 new file mode 100644 index 0000000..6007e02 --- /dev/null +++ b/client/node_modules/.bin/jsesc.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args + } else { + & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../jsesc/bin/jsesc" $args + } else { + & "node$exe" "$basedir/../jsesc/bin/jsesc" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/json5 b/client/node_modules/.bin/json5 new file mode 100644 index 0000000..abf72a4 --- /dev/null +++ b/client/node_modules/.bin/json5 @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@" +else + exec node "$basedir/../json5/lib/cli.js" "$@" +fi diff --git a/client/node_modules/.bin/json5.cmd b/client/node_modules/.bin/json5.cmd new file mode 100644 index 0000000..95c137f --- /dev/null +++ b/client/node_modules/.bin/json5.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %* diff --git a/client/node_modules/.bin/json5.ps1 b/client/node_modules/.bin/json5.ps1 new file mode 100644 index 0000000..8700ddb --- /dev/null +++ b/client/node_modules/.bin/json5.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../json5/lib/cli.js" $args + } else { + & "node$exe" "$basedir/../json5/lib/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/loose-envify b/client/node_modules/.bin/loose-envify new file mode 100644 index 0000000..076f91b --- /dev/null +++ b/client/node_modules/.bin/loose-envify @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../loose-envify/cli.js" "$@" +else + exec node "$basedir/../loose-envify/cli.js" "$@" +fi diff --git a/client/node_modules/.bin/loose-envify.cmd b/client/node_modules/.bin/loose-envify.cmd new file mode 100644 index 0000000..599576f --- /dev/null +++ b/client/node_modules/.bin/loose-envify.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\loose-envify\cli.js" %* diff --git a/client/node_modules/.bin/loose-envify.ps1 b/client/node_modules/.bin/loose-envify.ps1 new file mode 100644 index 0000000..eb866fc --- /dev/null +++ b/client/node_modules/.bin/loose-envify.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../loose-envify/cli.js" $args + } else { + & "node$exe" "$basedir/../loose-envify/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/nanoid b/client/node_modules/.bin/nanoid new file mode 100644 index 0000000..46220bd --- /dev/null +++ b/client/node_modules/.bin/nanoid @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@" +else + exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@" +fi diff --git a/client/node_modules/.bin/nanoid.cmd b/client/node_modules/.bin/nanoid.cmd new file mode 100644 index 0000000..9c40107 --- /dev/null +++ b/client/node_modules/.bin/nanoid.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %* diff --git a/client/node_modules/.bin/nanoid.ps1 b/client/node_modules/.bin/nanoid.ps1 new file mode 100644 index 0000000..d8a4d7a --- /dev/null +++ b/client/node_modules/.bin/nanoid.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } else { + & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } else { + & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/parser b/client/node_modules/.bin/parser new file mode 100644 index 0000000..7696ad4 --- /dev/null +++ b/client/node_modules/.bin/parser @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@" +else + exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@" +fi diff --git a/client/node_modules/.bin/parser.cmd b/client/node_modules/.bin/parser.cmd new file mode 100644 index 0000000..1ad5c81 --- /dev/null +++ b/client/node_modules/.bin/parser.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@babel\parser\bin\babel-parser.js" %* diff --git a/client/node_modules/.bin/parser.ps1 b/client/node_modules/.bin/parser.ps1 new file mode 100644 index 0000000..8926517 --- /dev/null +++ b/client/node_modules/.bin/parser.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } else { + & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } else { + & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/rollup b/client/node_modules/.bin/rollup new file mode 100644 index 0000000..998fc16 --- /dev/null +++ b/client/node_modules/.bin/rollup @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@" +else + exec node "$basedir/../rollup/dist/bin/rollup" "$@" +fi diff --git a/client/node_modules/.bin/rollup.cmd b/client/node_modules/.bin/rollup.cmd new file mode 100644 index 0000000..b3f110b --- /dev/null +++ b/client/node_modules/.bin/rollup.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %* diff --git a/client/node_modules/.bin/rollup.ps1 b/client/node_modules/.bin/rollup.ps1 new file mode 100644 index 0000000..10f657d --- /dev/null +++ b/client/node_modules/.bin/rollup.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } else { + & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } else { + & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/semver b/client/node_modules/.bin/semver new file mode 100644 index 0000000..97c5327 --- /dev/null +++ b/client/node_modules/.bin/semver @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@" +else + exec node "$basedir/../semver/bin/semver.js" "$@" +fi diff --git a/client/node_modules/.bin/semver.cmd b/client/node_modules/.bin/semver.cmd new file mode 100644 index 0000000..9913fa9 --- /dev/null +++ b/client/node_modules/.bin/semver.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %* diff --git a/client/node_modules/.bin/semver.ps1 b/client/node_modules/.bin/semver.ps1 new file mode 100644 index 0000000..314717a --- /dev/null +++ b/client/node_modules/.bin/semver.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../semver/bin/semver.js" $args + } else { + & "node$exe" "$basedir/../semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/update-browserslist-db b/client/node_modules/.bin/update-browserslist-db new file mode 100644 index 0000000..cced63c --- /dev/null +++ b/client/node_modules/.bin/update-browserslist-db @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@" +else + exec node "$basedir/../update-browserslist-db/cli.js" "$@" +fi diff --git a/client/node_modules/.bin/update-browserslist-db.cmd b/client/node_modules/.bin/update-browserslist-db.cmd new file mode 100644 index 0000000..2e14905 --- /dev/null +++ b/client/node_modules/.bin/update-browserslist-db.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\update-browserslist-db\cli.js" %* diff --git a/client/node_modules/.bin/update-browserslist-db.ps1 b/client/node_modules/.bin/update-browserslist-db.ps1 new file mode 100644 index 0000000..7abdf26 --- /dev/null +++ b/client/node_modules/.bin/update-browserslist-db.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } else { + & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } else { + & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.bin/vite b/client/node_modules/.bin/vite new file mode 100644 index 0000000..014463f --- /dev/null +++ b/client/node_modules/.bin/vite @@ -0,0 +1,16 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@" +else + exec node "$basedir/../vite/bin/vite.js" "$@" +fi diff --git a/client/node_modules/.bin/vite.cmd b/client/node_modules/.bin/vite.cmd new file mode 100644 index 0000000..f62e966 --- /dev/null +++ b/client/node_modules/.bin/vite.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vite\bin\vite.js" %* diff --git a/client/node_modules/.bin/vite.ps1 b/client/node_modules/.bin/vite.ps1 new file mode 100644 index 0000000..a7759bc --- /dev/null +++ b/client/node_modules/.bin/vite.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args + } else { + & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../vite/bin/vite.js" $args + } else { + & "node$exe" "$basedir/../vite/bin/vite.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/client/node_modules/.package-lock.json b/client/node_modules/.package-lock.json new file mode 100644 index 0000000..1ecc7a0 --- /dev/null +++ b/client/node_modules/.package-lock.json @@ -0,0 +1,1263 @@ +{ + "name": "cpas-frontend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "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.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", + "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.32", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz", + "integrity": "sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.362", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.362.tgz", + "integrity": "sha512-PUY2DrLvkjkUuWqq+KPL2iWshrJsZOcIojzRQ7eXFacc9dWga7MGMJAa15VbiejSZB1PAXaRLAiKgruHP8LB1w==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "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", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.46", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", + "integrity": "sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/client/node_modules/@babel/code-frame/LICENSE b/client/node_modules/@babel/code-frame/LICENSE new file mode 100644 index 0000000..f31575e --- /dev/null +++ b/client/node_modules/@babel/code-frame/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/client/node_modules/@babel/code-frame/README.md b/client/node_modules/@babel/code-frame/README.md new file mode 100644 index 0000000..7160755 --- /dev/null +++ b/client/node_modules/@babel/code-frame/README.md @@ -0,0 +1,19 @@ +# @babel/code-frame + +> Generate errors that contain a code frame that point to source locations. + +See our website [@babel/code-frame](https://babeljs.io/docs/babel-code-frame) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/code-frame +``` + +or using yarn: + +```sh +yarn add @babel/code-frame --dev +``` diff --git a/client/node_modules/@babel/code-frame/lib/index.js b/client/node_modules/@babel/code-frame/lib/index.js new file mode 100644 index 0000000..9c5db40 --- /dev/null +++ b/client/node_modules/@babel/code-frame/lib/index.js @@ -0,0 +1,217 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var picocolors = require('picocolors'); +var jsTokens = require('js-tokens'); +var helperValidatorIdentifier = require('@babel/helper-validator-identifier'); + +function isColorSupported() { + return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported + ); +} +const compose = (f, g) => v => f(g(v)); +function buildDefs(colors) { + return { + keyword: colors.cyan, + capitalized: colors.yellow, + jsxIdentifier: colors.yellow, + punctuator: colors.yellow, + number: colors.magenta, + string: colors.green, + regex: colors.magenta, + comment: colors.gray, + invalid: compose(compose(colors.white, colors.bgRed), colors.bold), + gutter: colors.gray, + marker: compose(colors.red, colors.bold), + message: compose(colors.red, colors.bold), + reset: colors.reset + }; +} +const defsOn = buildDefs(picocolors.createColors(true)); +const defsOff = buildDefs(picocolors.createColors(false)); +function getDefs(enabled) { + return enabled ? defsOn : defsOff; +} + +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); +const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/; +const BRACKET = /^[()[\]{}]$/; +let tokenize; +const JSX_TAG = /^[a-z][\w-]*$/i; +const getTokenType = function (token, offset, text) { + if (token.type === "name") { + const tokenValue = token.value; + if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) { + return "keyword"; + } + if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === " defs[type](str)).join("\n"); + } else { + highlighted += value; + } + } + return highlighted; +} + +let deprecationWarningShown = false; +const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; +function getMarkerLines(loc, source, opts, startLineBaseZero) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line - startLineBaseZero; + const startColumn = startLoc.column; + const endLine = endLoc.line - startLineBaseZero; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source.length, endLine + linesBelow); + if (startLine === -1) { + start = 0; + } + if (endLine === -1) { + end = source.length; + } + const lineDiff = endLine - startLine; + const markerLines = {}; + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; + } + } + } else { + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; + } + } else { + markerLines[startLine] = [startColumn, endColumn - startColumn]; + } + } + return { + start, + end, + markerLines + }; +} +function codeFrameColumns(rawLines, loc, opts = {}) { + const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode; + const startLineBaseZero = (opts.startLine || 1) - 1; + const defs = getDefs(shouldHighlight); + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts, startLineBaseZero); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end + startLineBaseZero).length; + const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines; + let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => { + const number = start + 1 + index; + const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; + if (hasMarker) { + let markerLine = ""; + if (Array.isArray(hasMarker)) { + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join(""); + if (lastMarkerLine && opts.message) { + markerLine += " " + defs.message(opts.message); + } + } + return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); + } else { + return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`; + } + }).join("\n"); + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`; + } + if (shouldHighlight) { + return defs.reset(frame); + } else { + return frame; + } +} +function index (rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } + } + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber + } + }; + return codeFrameColumns(rawLines, location, opts); +} + +exports.codeFrameColumns = codeFrameColumns; +exports.default = index; +exports.highlight = highlight; +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/code-frame/lib/index.js.map b/client/node_modules/@babel/code-frame/lib/index.js.map new file mode 100644 index 0000000..6b85ae4 --- /dev/null +++ b/client/node_modules/@babel/code-frame/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../src/defs.ts","../src/highlight.ts","../src/index.ts"],"sourcesContent":["import picocolors, { createColors } from \"picocolors\";\nimport type { Colors, Formatter } from \"picocolors/types\";\n\nexport function isColorSupported() {\n return (\n // See https://github.com/alexeyraspopov/picocolors/issues/62\n typeof process === \"object\" &&\n (process.env.FORCE_COLOR === \"0\" || process.env.FORCE_COLOR === \"false\")\n ? false\n : picocolors.isColorSupported\n );\n}\n\nexport type InternalTokenType =\n | \"keyword\"\n | \"capitalized\"\n | \"jsxIdentifier\"\n | \"punctuator\"\n | \"number\"\n | \"string\"\n | \"regex\"\n | \"comment\"\n | \"invalid\";\n\ntype UITokens = \"gutter\" | \"marker\" | \"message\";\n\nexport type Defs = Record;\n\nconst compose: (f: (gv: U) => V, g: (v: T) => U) => (v: T) => V =\n (f, g) => v =>\n f(g(v));\n\n/**\n * Styles for token types.\n */\nfunction buildDefs(colors: Colors): Defs {\n return {\n keyword: colors.cyan,\n capitalized: colors.yellow,\n jsxIdentifier: colors.yellow,\n punctuator: colors.yellow,\n number: colors.magenta,\n string: colors.green,\n regex: colors.magenta,\n comment: colors.gray,\n invalid: compose(compose(colors.white, colors.bgRed), colors.bold),\n\n gutter: colors.gray,\n marker: compose(colors.red, colors.bold),\n message: compose(colors.red, colors.bold),\n\n reset: colors.reset,\n };\n}\n\nconst defsOn = buildDefs(createColors(true));\nconst defsOff = buildDefs(createColors(false));\n\nexport function getDefs(enabled: boolean): Defs {\n return enabled ? defsOn : defsOff;\n}\n","import type { Token as JSToken, JSXToken } from \"js-tokens\";\nimport jsTokens from \"js-tokens\";\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nimport {\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nimport { getDefs, type InternalTokenType } from \"./defs.ts\";\n\n/**\n * Names that are always allowed as identifiers, but also appear as keywords\n * within certain syntactic productions.\n *\n * https://tc39.es/ecma262/#sec-keywords-and-reserved-words\n *\n * `target` has been omitted since it is very likely going to be a false\n * positive.\n */\nconst sometimesKeywords = new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\n\ntype Token = {\n type: InternalTokenType | \"uncolored\";\n value: string;\n};\n\n/**\n * RegExp to test for newlines in terminal.\n */\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * RegExp to test for the three types of brackets.\n */\nconst BRACKET = /^[()[\\]{}]$/;\n\nlet tokenize: (\n text: string,\n) => Generator<{ type: InternalTokenType | \"uncolored\"; value: string }>;\n\nif (process.env.BABEL_8_BREAKING) {\n /**\n * Get the type of token, specifying punctuator type.\n */\n const getTokenType = function (\n token: JSToken | JSXToken,\n ): InternalTokenType | \"uncolored\" {\n if (token.type === \"IdentifierName\") {\n const tokenValue = token.value;\n if (\n isKeyword(tokenValue) ||\n isStrictReservedWord(tokenValue, true) ||\n sometimesKeywords.has(tokenValue)\n ) {\n return \"keyword\";\n }\n\n const firstChar = tokenValue.charCodeAt(0);\n if (firstChar < 128) {\n // ASCII characters\n if (\n firstChar >= charCodes.uppercaseA &&\n firstChar <= charCodes.uppercaseZ\n ) {\n return \"capitalized\";\n }\n } else {\n const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));\n if (firstChar !== firstChar.toLowerCase()) {\n return \"capitalized\";\n }\n }\n }\n\n if (token.type === \"Punctuator\" && BRACKET.test(token.value)) {\n return \"uncolored\";\n }\n\n if (token.type === \"Invalid\" && token.value === \"@\") {\n return \"punctuator\";\n }\n\n switch (token.type) {\n case \"NumericLiteral\":\n return \"number\";\n\n case \"StringLiteral\":\n case \"JSXString\":\n case \"NoSubstitutionTemplate\":\n return \"string\";\n\n case \"RegularExpressionLiteral\":\n return \"regex\";\n\n case \"Punctuator\":\n case \"JSXPunctuator\":\n return \"punctuator\";\n\n case \"MultiLineComment\":\n case \"SingleLineComment\":\n return \"comment\";\n\n case \"Invalid\":\n case \"JSXInvalid\":\n return \"invalid\";\n\n case \"JSXIdentifier\":\n return \"jsxIdentifier\";\n\n default:\n return \"uncolored\";\n }\n };\n\n /**\n * Turn a string of JS into an array of objects.\n */\n tokenize = function* (text: string): Generator {\n for (const token of jsTokens(text, { jsx: true })) {\n switch (token.type) {\n case \"TemplateHead\":\n yield { type: \"string\", value: token.value.slice(0, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateMiddle\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1, -2) };\n yield { type: \"punctuator\", value: \"${\" };\n break;\n\n case \"TemplateTail\":\n yield { type: \"punctuator\", value: \"}\" };\n yield { type: \"string\", value: token.value.slice(1) };\n break;\n\n default:\n yield {\n type: getTokenType(token),\n value: token.value,\n };\n }\n }\n };\n} else {\n /**\n * RegExp to test for what seems to be a JSX tag name.\n */\n const JSX_TAG = /^[a-z][\\w-]*$/i;\n\n // The token here is defined in js-tokens@4. However we don't bother\n // typing it since the whole block will be removed in Babel 8\n const getTokenType = function (token: any, offset: number, text: string) {\n if (token.type === \"name\") {\n const tokenValue = token.value;\n if (\n isKeyword(tokenValue) ||\n isStrictReservedWord(tokenValue, true) ||\n sometimesKeywords.has(tokenValue)\n ) {\n return \"keyword\";\n }\n\n if (\n JSX_TAG.test(tokenValue) &&\n (text[offset - 1] === \"<\" || text.slice(offset - 2, offset) === \" defs[type as InternalTokenType](str))\n .join(\"\\n\");\n } else {\n highlighted += value;\n }\n }\n\n return highlighted;\n}\n","import { getDefs, isColorSupported } from \"./defs.ts\";\nimport { highlight } from \"./highlight.ts\";\n\nexport { highlight };\n\nlet deprecationWarningShown = false;\n\ntype Location = {\n column: number;\n line: number;\n};\n\ntype NodeLocation = {\n end?: Location;\n start: Location;\n};\n\nexport interface Options {\n /** Syntax highlight the code as JavaScript for terminals. default: false */\n highlightCode?: boolean;\n /** The number of lines to show above the error. default: 2 */\n linesAbove?: number;\n /** The number of lines to show below the error. default: 3 */\n linesBelow?: number;\n /** The line number corresponding to the first line in `rawLines`. default: 1 */\n startLine?: number;\n /**\n * Forcibly syntax highlight the code as JavaScript (for non-terminals);\n * overrides highlightCode.\n * default: false\n */\n forceColor?: boolean;\n /**\n * Pass in a string to be displayed inline (if possible) next to the\n * highlighted location in the code. If it can't be positioned inline,\n * it will be placed above the code frame.\n * default: nothing\n */\n message?: string;\n}\n\n/**\n * RegExp to test for newlines in terminal.\n */\n\nconst NEWLINE = /\\r\\n|[\\n\\r\\u2028\\u2029]/;\n\n/**\n * Extract what lines should be marked and highlighted.\n */\n\ntype MarkerLines = Record;\n\nfunction getMarkerLines(\n loc: NodeLocation,\n source: string[],\n opts: Options,\n startLineBaseZero: number,\n): {\n start: number;\n end: number;\n markerLines: MarkerLines;\n} {\n const startLoc: Location = {\n column: 0,\n line: -1,\n ...loc.start,\n };\n const endLoc: Location = {\n ...startLoc,\n ...loc.end,\n };\n const { linesAbove = 2, linesBelow = 3 } = opts || {};\n const startLine = startLoc.line - startLineBaseZero;\n const startColumn = startLoc.column;\n const endLine = endLoc.line - startLineBaseZero;\n const endColumn = endLoc.column;\n\n let start = Math.max(startLine - (linesAbove + 1), 0);\n let end = Math.min(source.length, endLine + linesBelow);\n\n if (startLine === -1) {\n start = 0;\n }\n\n if (endLine === -1) {\n end = source.length;\n }\n\n const lineDiff = endLine - startLine;\n const markerLines: MarkerLines = {};\n\n if (lineDiff) {\n for (let i = 0; i <= lineDiff; i++) {\n const lineNumber = i + startLine;\n\n if (!startColumn) {\n markerLines[lineNumber] = true;\n } else if (i === 0) {\n const sourceLength = source[lineNumber - 1].length;\n\n markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];\n } else if (i === lineDiff) {\n markerLines[lineNumber] = [0, endColumn];\n } else {\n const sourceLength = source[lineNumber - i].length;\n\n markerLines[lineNumber] = [0, sourceLength];\n }\n }\n } else {\n if (startColumn === endColumn) {\n if (startColumn) {\n markerLines[startLine] = [startColumn, 0];\n } else {\n markerLines[startLine] = true;\n }\n } else {\n markerLines[startLine] = [startColumn, endColumn - startColumn];\n }\n }\n\n return { start, end, markerLines };\n}\n\nexport function codeFrameColumns(\n rawLines: string,\n loc: NodeLocation,\n opts: Options = {},\n): string {\n const shouldHighlight =\n opts.forceColor || (isColorSupported() && opts.highlightCode);\n const startLineBaseZero = (opts.startLine || 1) - 1;\n const defs = getDefs(shouldHighlight);\n\n const lines = rawLines.split(NEWLINE);\n const { start, end, markerLines } = getMarkerLines(\n loc,\n lines,\n opts,\n startLineBaseZero,\n );\n const hasColumns = loc.start && typeof loc.start.column === \"number\";\n\n const numberMaxWidth = String(end + startLineBaseZero).length;\n\n const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;\n\n let frame = highlightedLines\n .split(NEWLINE, end)\n .slice(start, end)\n .map((line, index) => {\n const number = start + 1 + index;\n const paddedNumber = ` ${number + startLineBaseZero}`.slice(\n -numberMaxWidth,\n );\n const gutter = ` ${paddedNumber} |`;\n const hasMarker = markerLines[number];\n const lastMarkerLine = !markerLines[number + 1];\n if (hasMarker) {\n let markerLine = \"\";\n if (Array.isArray(hasMarker)) {\n const markerSpacing = line\n .slice(0, Math.max(hasMarker[0] - 1, 0))\n .replace(/[^\\t]/g, \" \");\n const numberOfMarkers = hasMarker[1] || 1;\n\n markerLine = [\n \"\\n \",\n defs.gutter(gutter.replace(/\\d/g, \" \")),\n \" \",\n markerSpacing,\n defs.marker(\"^\").repeat(numberOfMarkers),\n ].join(\"\");\n\n if (lastMarkerLine && opts.message) {\n markerLine += \" \" + defs.message(opts.message);\n }\n }\n return [\n defs.marker(\">\"),\n defs.gutter(gutter),\n line.length > 0 ? ` ${line}` : \"\",\n markerLine,\n ].join(\"\");\n } else {\n return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : \"\"}`;\n }\n })\n .join(\"\\n\");\n\n if (opts.message && !hasColumns) {\n frame = `${\" \".repeat(numberMaxWidth + 1)}${opts.message}\\n${frame}`;\n }\n\n if (shouldHighlight) {\n return defs.reset(frame);\n } else {\n return frame;\n }\n}\n\n/**\n * Create a code frame, adding line numbers, code highlighting, and pointing to a given position.\n */\n\nexport default function (\n rawLines: string,\n lineNumber: number,\n colNumber?: number | null,\n opts: Options = {},\n): string {\n if (!deprecationWarningShown) {\n deprecationWarningShown = true;\n\n const message =\n \"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";\n\n if (process.emitWarning) {\n // A string is directly supplied to emitWarning, because when supplying an\n // Error object node throws in the tests because of different contexts\n process.emitWarning(message, \"DeprecationWarning\");\n } else {\n const deprecationError = new Error(message);\n deprecationError.name = \"DeprecationWarning\";\n console.warn(new Error(message));\n }\n }\n\n colNumber = Math.max(colNumber, 0);\n\n const location: NodeLocation = {\n start: { column: colNumber, line: lineNumber },\n };\n\n return codeFrameColumns(rawLines, location, opts);\n}\n"],"names":["isColorSupported","process","env","FORCE_COLOR","picocolors","compose","f","g","v","buildDefs","colors","keyword","cyan","capitalized","yellow","jsxIdentifier","punctuator","number","magenta","string","green","regex","comment","gray","invalid","white","bgRed","bold","gutter","marker","red","message","reset","defsOn","createColors","defsOff","getDefs","enabled","sometimesKeywords","Set","NEWLINE","BRACKET","tokenize","JSX_TAG","getTokenType","token","offset","text","type","tokenValue","value","isKeyword","isStrictReservedWord","has","test","slice","firstChar","String","fromCodePoint","codePointAt","toLowerCase","match","jsTokens","default","exec","matchToToken","index","highlight","defs","highlighted","split","map","str","join","deprecationWarningShown","getMarkerLines","loc","source","opts","startLineBaseZero","startLoc","Object","assign","column","line","start","endLoc","end","linesAbove","linesBelow","startLine","startColumn","endLine","endColumn","Math","max","min","length","lineDiff","markerLines","i","lineNumber","sourceLength","codeFrameColumns","rawLines","shouldHighlight","forceColor","highlightCode","lines","hasColumns","numberMaxWidth","highlightedLines","frame","paddedNumber","hasMarker","lastMarkerLine","markerLine","Array","isArray","markerSpacing","replace","numberOfMarkers","repeat","colNumber","emitWarning","deprecationError","Error","name","console","warn","location"],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@babel/code-frame/package.json b/client/node_modules/@babel/code-frame/package.json new file mode 100644 index 0000000..1f21a37 --- /dev/null +++ b/client/node_modules/@babel/code-frame/package.json @@ -0,0 +1,32 @@ +{ + "name": "@babel/code-frame", + "version": "7.29.7", + "description": "Generate errors that contain a code frame that point to source locations.", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-code-frame", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-code-frame" + }, + "main": "./lib/index.js", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "devDependencies": { + "charcodes": "^0.2.0", + "import-meta-resolve": "^4.1.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/client/node_modules/@babel/compat-data/LICENSE b/client/node_modules/@babel/compat-data/LICENSE new file mode 100644 index 0000000..f31575e --- /dev/null +++ b/client/node_modules/@babel/compat-data/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/client/node_modules/@babel/compat-data/README.md b/client/node_modules/@babel/compat-data/README.md new file mode 100644 index 0000000..c191898 --- /dev/null +++ b/client/node_modules/@babel/compat-data/README.md @@ -0,0 +1,19 @@ +# @babel/compat-data + +> The compat-data to determine required Babel plugins + +See our website [@babel/compat-data](https://babeljs.io/docs/babel-compat-data) for more information. + +## Install + +Using npm: + +```sh +npm install --save @babel/compat-data +``` + +or using yarn: + +```sh +yarn add @babel/compat-data +``` diff --git a/client/node_modules/@babel/compat-data/corejs2-built-ins.js b/client/node_modules/@babel/compat-data/corejs2-built-ins.js new file mode 100644 index 0000000..ed19e0b --- /dev/null +++ b/client/node_modules/@babel/compat-data/corejs2-built-ins.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2 +module.exports = require("./data/corejs2-built-ins.json"); diff --git a/client/node_modules/@babel/compat-data/corejs3-shipped-proposals.js b/client/node_modules/@babel/compat-data/corejs3-shipped-proposals.js new file mode 100644 index 0000000..7909b8c --- /dev/null +++ b/client/node_modules/@babel/compat-data/corejs3-shipped-proposals.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3 +module.exports = require("./data/corejs3-shipped-proposals.json"); diff --git a/client/node_modules/@babel/compat-data/data/corejs2-built-ins.json b/client/node_modules/@babel/compat-data/data/corejs2-built-ins.json new file mode 100644 index 0000000..c7fd188 --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/corejs2-built-ins.json @@ -0,0 +1,2120 @@ +{ + "es6.array.copy-within": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.31" + }, + "es6.array.every": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.fill": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "31", + "safari": "7.1", + "node": "4", + "deno": "1", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.31" + }, + "es6.array.filter": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.array.find": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "deno": "1", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.31" + }, + "es6.array.find-index": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "deno": "1", + "ios": "8", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.31" + }, + "es7.array.flat-map": { + "chrome": "69", + "opera": "56", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "11", + "deno": "1", + "ios": "12", + "samsung": "10", + "rhino": "1.7.15", + "opera_mobile": "48", + "electron": "4.0" + }, + "es6.array.for-each": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.from": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "36", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "41", + "electron": "1.2" + }, + "es7.array.includes": { + "chrome": "47", + "opera": "34", + "edge": "14", + "firefox": "102", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "34", + "electron": "0.36" + }, + "es6.array.index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.is-array": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.iterator": { + "chrome": "66", + "opera": "53", + "edge": "12", + "firefox": "60", + "safari": "9", + "node": "10", + "deno": "1", + "ios": "9", + "samsung": "9", + "rhino": "1.7.13", + "opera_mobile": "47", + "electron": "3.0" + }, + "es6.array.last-index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.map": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.array.of": { + "chrome": "45", + "opera": "32", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.31" + }, + "es6.array.reduce": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.reduce-right": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.slice": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.array.some": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.array.sort": { + "chrome": "63", + "opera": "50", + "edge": "12", + "firefox": "5", + "safari": "12", + "node": "10", + "deno": "1", + "ie": "9", + "ios": "12", + "samsung": "8", + "rhino": "1.7.13", + "opera_mobile": "46", + "electron": "3.0" + }, + "es6.array.species": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.date.now": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.date.to-iso-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.date.to-json": { + "chrome": "5", + "opera": "12.10", + "edge": "12", + "firefox": "4", + "safari": "10", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "10", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12.1", + "electron": "0.20" + }, + "es6.date.to-primitive": { + "chrome": "47", + "opera": "34", + "edge": "15", + "firefox": "44", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "34", + "electron": "0.36" + }, + "es6.date.to-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.4", + "deno": "1", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.function.bind": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "es6.function.has-instance": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "50", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.function.name": { + "chrome": "5", + "opera": "10.50", + "edge": "14", + "firefox": "2", + "safari": "4", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es6.map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.math.acosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.asinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.atanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.cbrt": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.clz32": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.cosh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.expm1": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.fround": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "26", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.hypot": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "27", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.imul": { + "chrome": "30", + "opera": "17", + "edge": "12", + "firefox": "23", + "safari": "7", + "node": "0.12", + "deno": "1", + "android": "4.4", + "ios": "7", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "18", + "electron": "0.20" + }, + "es6.math.log1p": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.log10": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.log2": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.sign": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.sinh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.tanh": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.math.trunc": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "deno": "1", + "ios": "8", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.number.constructor": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.number.epsilon": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.14", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.is-finite": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.8", + "deno": "1", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.number.is-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.is-nan": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "15", + "safari": "9", + "node": "0.8", + "deno": "1", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.number.is-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.max-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.min-safe-integer": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.parse-float": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.14", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.number.parse-int": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "2", + "rhino": "1.7.14", + "opera_mobile": "21", + "electron": "0.20" + }, + "es6.object.assign": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "36", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.object.create": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "es7.object.define-getter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "deno": "1", + "ios": "9", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es7.object.define-setter": { + "chrome": "62", + "opera": "49", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "deno": "1", + "ios": "9", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es6.object.define-property": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "es6.object.define-properties": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "es7.object.entries": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "deno": "1", + "ios": "10.3", + "samsung": "6", + "rhino": "1.7.14", + "opera_mobile": "41", + "electron": "1.4" + }, + "es6.object.freeze": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.get-own-property-descriptor": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es7.object.get-own-property-descriptors": { + "chrome": "54", + "opera": "41", + "edge": "15", + "firefox": "50", + "safari": "10.1", + "node": "7", + "deno": "1", + "ios": "10.3", + "samsung": "6", + "rhino": "1.8", + "opera_mobile": "41", + "electron": "1.4" + }, + "es6.object.get-own-property-names": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "27", + "electron": "0.21" + }, + "es6.object.get-prototype-of": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es7.object.lookup-getter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "deno": "1", + "ios": "9", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es7.object.lookup-setter": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "36", + "safari": "9", + "node": "8.10", + "deno": "1", + "ios": "9", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es6.object.prevent-extensions": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.to-string": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "51", + "safari": "10", + "node": "8", + "deno": "1", + "ios": "10", + "samsung": "7", + "rhino": "1.9", + "opera_mobile": "43", + "electron": "1.7" + }, + "es6.object.is": { + "chrome": "19", + "opera": "15", + "edge": "12", + "firefox": "22", + "safari": "9", + "node": "0.8", + "deno": "1", + "android": "4.1", + "ios": "9", + "samsung": "1.5", + "rhino": "1.7.13", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.object.is-frozen": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.is-sealed": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.is-extensible": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.keys": { + "chrome": "40", + "opera": "27", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "27", + "electron": "0.21" + }, + "es6.object.seal": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.13", + "opera_mobile": "32", + "electron": "0.30" + }, + "es6.object.set-prototype-of": { + "chrome": "34", + "opera": "21", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "deno": "1", + "ie": "11", + "ios": "9", + "samsung": "2", + "rhino": "1.7.13", + "opera_mobile": "21", + "electron": "0.20" + }, + "es7.object.values": { + "chrome": "54", + "opera": "41", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "deno": "1", + "ios": "10.3", + "samsung": "6", + "rhino": "1.7.14", + "opera_mobile": "41", + "electron": "1.4" + }, + "es6.promise": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "45", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "41", + "electron": "1.2" + }, + "es7.promise.finally": { + "chrome": "63", + "opera": "50", + "edge": "18", + "firefox": "58", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es6.reflect.apply": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.construct": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "49", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.define-property": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.delete-property": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.get": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.get-own-property-descriptor": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.get-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.has": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.is-extensible": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.own-keys": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.prevent-extensions": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.set": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.reflect.set-prototype-of": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.regexp.constructor": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "40", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.regexp.flags": { + "chrome": "49", + "opera": "36", + "edge": "79", + "firefox": "37", + "safari": "9", + "node": "6", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "36", + "electron": "0.37" + }, + "es6.regexp.match": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.regexp.replace": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.regexp.split": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.regexp.search": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "49", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.regexp.to-string": { + "chrome": "50", + "opera": "37", + "edge": "79", + "firefox": "39", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "37", + "electron": "1.1" + }, + "es6.set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.symbol": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "51", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "es7.symbol.async-iterator": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "es6.string.anchor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.big": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.blink": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.bold": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.code-point-at": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.ends-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.fixed": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.fontcolor": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.fontsize": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.from-code-point": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.includes": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "40", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.italics": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.iterator": { + "chrome": "38", + "opera": "25", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "deno": "1", + "ios": "9", + "samsung": "3", + "rhino": "1.7.13", + "opera_mobile": "25", + "electron": "0.20" + }, + "es6.string.link": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es7.string.pad-start": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "deno": "1", + "ios": "10", + "samsung": "7", + "rhino": "1.7.13", + "opera_mobile": "43", + "electron": "1.7" + }, + "es7.string.pad-end": { + "chrome": "57", + "opera": "44", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "deno": "1", + "ios": "10", + "samsung": "7", + "rhino": "1.7.13", + "opera_mobile": "43", + "electron": "1.7" + }, + "es6.string.raw": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.14", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.repeat": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "24", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.small": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.starts-with": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.7.13", + "opera_mobile": "28", + "electron": "0.21" + }, + "es6.string.strike": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.sub": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.sup": { + "chrome": "5", + "opera": "15", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.4", + "deno": "1", + "android": "4", + "ios": "7", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.14", + "opera_mobile": "14", + "electron": "0.20" + }, + "es6.string.trim": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "es7.string.trim-left": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "9", + "rhino": "1.7.13", + "opera_mobile": "47", + "electron": "3.0" + }, + "es7.string.trim-right": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "61", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "9", + "rhino": "1.7.13", + "opera_mobile": "47", + "electron": "3.0" + }, + "es6.typed.array-buffer": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.data-view": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "15", + "safari": "5.1", + "node": "0.4", + "deno": "1", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "es6.typed.int8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.uint8-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.uint8-clamped-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.int16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.uint16-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.int32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.uint32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.float32-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.typed.float64-array": { + "chrome": "51", + "opera": "38", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.weak-map": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "41", + "electron": "1.2" + }, + "es6.weak-set": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "41", + "electron": "1.2" + } +} diff --git a/client/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json b/client/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json new file mode 100644 index 0000000..d03b698 --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json @@ -0,0 +1,5 @@ +[ + "esnext.promise.all-settled", + "esnext.string.match-all", + "esnext.global-this" +] diff --git a/client/node_modules/@babel/compat-data/data/native-modules.json b/client/node_modules/@babel/compat-data/data/native-modules.json new file mode 100644 index 0000000..2328d21 --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/native-modules.json @@ -0,0 +1,18 @@ +{ + "es6.module": { + "chrome": "61", + "and_chr": "61", + "edge": "16", + "firefox": "60", + "and_ff": "60", + "node": "13.2.0", + "opera": "48", + "op_mob": "45", + "safari": "10.1", + "ios": "10.3", + "samsung": "8.2", + "android": "61", + "electron": "2.0", + "ios_saf": "10.3" + } +} diff --git a/client/node_modules/@babel/compat-data/data/overlapping-plugins.json b/client/node_modules/@babel/compat-data/data/overlapping-plugins.json new file mode 100644 index 0000000..c0df4bd --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/overlapping-plugins.json @@ -0,0 +1,38 @@ +{ + "transform-async-to-generator": [ + "bugfix/transform-async-arrows-in-class" + ], + "transform-parameters": [ + "bugfix/transform-edge-default-parameters", + "bugfix/transform-safari-id-destructuring-collision-in-function-expression" + ], + "transform-function-name": [ + "bugfix/transform-edge-function-name" + ], + "transform-block-scoping": [ + "bugfix/transform-safari-block-shadowing", + "bugfix/transform-safari-for-shadowing" + ], + "transform-destructuring": [ + "bugfix/transform-safari-rest-destructuring-rhs-array" + ], + "transform-template-literals": [ + "bugfix/transform-tagged-template-caching" + ], + "transform-optional-chaining": [ + "bugfix/transform-v8-spread-parameters-in-optional-chaining" + ], + "proposal-optional-chaining": [ + "bugfix/transform-v8-spread-parameters-in-optional-chaining" + ], + "transform-class-properties": [ + "bugfix/transform-v8-static-class-fields-redefine-readonly", + "bugfix/transform-firefox-class-in-computed-class-key", + "bugfix/transform-safari-class-field-initializer-scope" + ], + "proposal-class-properties": [ + "bugfix/transform-v8-static-class-fields-redefine-readonly", + "bugfix/transform-firefox-class-in-computed-class-key", + "bugfix/transform-safari-class-field-initializer-scope" + ] +} diff --git a/client/node_modules/@babel/compat-data/data/plugin-bugfixes.json b/client/node_modules/@babel/compat-data/data/plugin-bugfixes.json new file mode 100644 index 0000000..7b6589a --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/plugin-bugfixes.json @@ -0,0 +1,231 @@ +{ + "bugfix/transform-async-arrows-in-class": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "deno": "1", + "ios": "11", + "samsung": "6", + "opera_mobile": "42", + "electron": "1.6" + }, + "bugfix/transform-edge-default-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "52", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "bugfix/transform-edge-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.9", + "opera_mobile": "41", + "electron": "1.2" + }, + "bugfix/transform-safari-block-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "44", + "safari": "11", + "node": "6", + "deno": "1", + "ie": "11", + "ios": "11", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "bugfix/transform-safari-for-shadowing": { + "chrome": "49", + "opera": "36", + "edge": "12", + "firefox": "4", + "safari": "11", + "node": "6", + "deno": "1", + "ie": "11", + "ios": "11", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "36", + "electron": "0.37" + }, + "bugfix/transform-safari-id-destructuring-collision-in-function-expression": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "2", + "safari": "16.3", + "node": "6", + "deno": "1", + "ios": "16.3", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "bugfix/transform-safari-rest-destructuring-rhs-array": { + "chrome": "49", + "opera": "36", + "edge": "14", + "firefox": "34", + "safari": "14.1", + "node": "6", + "deno": "1", + "ios": "14.5", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "bugfix/transform-tagged-template-caching": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "34", + "safari": "13", + "node": "4", + "deno": "1", + "ios": "13", + "samsung": "3.4", + "rhino": "1.7.14", + "opera_mobile": "28", + "electron": "0.21" + }, + "bugfix/transform-v8-spread-parameters-in-optional-chaining": { + "chrome": "91", + "opera": "77", + "edge": "91", + "firefox": "74", + "safari": "13.1", + "node": "16.9", + "deno": "1.9", + "ios": "13.4", + "samsung": "16", + "opera_mobile": "64", + "electron": "13.0" + }, + "transform-optional-chaining": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "74", + "safari": "13.1", + "node": "14", + "deno": "1", + "ios": "13.4", + "samsung": "13", + "rhino": "1.8", + "opera_mobile": "57", + "electron": "8.0" + }, + "proposal-optional-chaining": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "74", + "safari": "13.1", + "node": "14", + "deno": "1", + "ios": "13.4", + "samsung": "13", + "rhino": "1.8", + "opera_mobile": "57", + "electron": "8.0" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "15", + "firefox": "52", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "10.1", + "node": "7.6", + "deno": "1", + "ios": "10.3", + "samsung": "6", + "opera_mobile": "42", + "electron": "1.6" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "rhino": "1.9", + "opera_mobile": "28", + "electron": "0.21" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "14", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "transform-destructuring": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "50", + "opera": "37", + "edge": "14", + "firefox": "53", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "37", + "electron": "1.1" + } +} diff --git a/client/node_modules/@babel/compat-data/data/plugins.json b/client/node_modules/@babel/compat-data/data/plugins.json new file mode 100644 index 0000000..81e6de4 --- /dev/null +++ b/client/node_modules/@babel/compat-data/data/plugins.json @@ -0,0 +1,843 @@ +{ + "transform-explicit-resource-management": { + "chrome": "141", + "edge": "141", + "firefox": "141", + "node": "25", + "electron": "39.0" + }, + "transform-duplicate-named-capturing-groups-regex": { + "chrome": "126", + "opera": "112", + "edge": "126", + "firefox": "129", + "safari": "17.4", + "node": "23", + "ios": "17.4", + "rhino": "1.9", + "electron": "31.0" + }, + "transform-regexp-modifiers": { + "chrome": "125", + "opera": "111", + "edge": "125", + "firefox": "132", + "node": "23", + "samsung": "27", + "electron": "31.0" + }, + "transform-unicode-sets-regex": { + "chrome": "112", + "opera": "98", + "edge": "112", + "firefox": "116", + "safari": "17", + "node": "20", + "deno": "1.32", + "ios": "17", + "samsung": "23", + "opera_mobile": "75", + "electron": "24.0" + }, + "bugfix/transform-v8-static-class-fields-redefine-readonly": { + "chrome": "98", + "opera": "84", + "edge": "98", + "firefox": "75", + "safari": "15", + "node": "12", + "deno": "1.18", + "ios": "15", + "samsung": "11", + "opera_mobile": "52", + "electron": "17.0" + }, + "bugfix/transform-firefox-class-in-computed-class-key": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "126", + "safari": "16", + "node": "12", + "deno": "1", + "ios": "16", + "samsung": "11", + "opera_mobile": "53", + "electron": "6.0" + }, + "bugfix/transform-safari-class-field-initializer-scope": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "69", + "safari": "16", + "node": "12", + "deno": "1", + "ios": "16", + "samsung": "11", + "opera_mobile": "53", + "electron": "6.0" + }, + "transform-class-static-block": { + "chrome": "94", + "opera": "80", + "edge": "94", + "firefox": "93", + "safari": "16.4", + "node": "16.11", + "deno": "1.14", + "ios": "16.4", + "samsung": "17", + "opera_mobile": "66", + "electron": "15.0" + }, + "proposal-class-static-block": { + "chrome": "94", + "opera": "80", + "edge": "94", + "firefox": "93", + "safari": "16.4", + "node": "16.11", + "deno": "1.14", + "ios": "16.4", + "samsung": "17", + "opera_mobile": "66", + "electron": "15.0" + }, + "transform-private-property-in-object": { + "chrome": "91", + "opera": "77", + "edge": "91", + "firefox": "90", + "safari": "15", + "node": "16.9", + "deno": "1.9", + "ios": "15", + "samsung": "16", + "opera_mobile": "64", + "electron": "13.0" + }, + "proposal-private-property-in-object": { + "chrome": "91", + "opera": "77", + "edge": "91", + "firefox": "90", + "safari": "15", + "node": "16.9", + "deno": "1.9", + "ios": "15", + "samsung": "16", + "opera_mobile": "64", + "electron": "13.0" + }, + "transform-class-properties": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "90", + "safari": "14.1", + "node": "12", + "deno": "1", + "ios": "14.5", + "samsung": "11", + "opera_mobile": "53", + "electron": "6.0" + }, + "proposal-class-properties": { + "chrome": "74", + "opera": "62", + "edge": "79", + "firefox": "90", + "safari": "14.1", + "node": "12", + "deno": "1", + "ios": "14.5", + "samsung": "11", + "opera_mobile": "53", + "electron": "6.0" + }, + "transform-private-methods": { + "chrome": "84", + "opera": "70", + "edge": "84", + "firefox": "90", + "safari": "15", + "node": "14.6", + "deno": "1", + "ios": "15", + "samsung": "14", + "opera_mobile": "60", + "electron": "10.0" + }, + "proposal-private-methods": { + "chrome": "84", + "opera": "70", + "edge": "84", + "firefox": "90", + "safari": "15", + "node": "14.6", + "deno": "1", + "ios": "15", + "samsung": "14", + "opera_mobile": "60", + "electron": "10.0" + }, + "transform-numeric-separator": { + "chrome": "75", + "opera": "62", + "edge": "79", + "firefox": "70", + "safari": "13", + "node": "12.5", + "deno": "1", + "ios": "13", + "samsung": "11", + "rhino": "1.7.14", + "opera_mobile": "54", + "electron": "6.0" + }, + "proposal-numeric-separator": { + "chrome": "75", + "opera": "62", + "edge": "79", + "firefox": "70", + "safari": "13", + "node": "12.5", + "deno": "1", + "ios": "13", + "samsung": "11", + "rhino": "1.7.14", + "opera_mobile": "54", + "electron": "6.0" + }, + "transform-logical-assignment-operators": { + "chrome": "85", + "opera": "71", + "edge": "85", + "firefox": "79", + "safari": "14", + "node": "15", + "deno": "1.2", + "ios": "14", + "samsung": "14", + "opera_mobile": "60", + "electron": "10.0" + }, + "proposal-logical-assignment-operators": { + "chrome": "85", + "opera": "71", + "edge": "85", + "firefox": "79", + "safari": "14", + "node": "15", + "deno": "1.2", + "ios": "14", + "samsung": "14", + "opera_mobile": "60", + "electron": "10.0" + }, + "transform-nullish-coalescing-operator": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "72", + "safari": "13.1", + "node": "14", + "deno": "1", + "ios": "13.4", + "samsung": "13", + "rhino": "1.8", + "opera_mobile": "57", + "electron": "8.0" + }, + "proposal-nullish-coalescing-operator": { + "chrome": "80", + "opera": "67", + "edge": "80", + "firefox": "72", + "safari": "13.1", + "node": "14", + "deno": "1", + "ios": "13.4", + "samsung": "13", + "rhino": "1.8", + "opera_mobile": "57", + "electron": "8.0" + }, + "transform-optional-chaining": { + "chrome": "91", + "opera": "77", + "edge": "91", + "firefox": "74", + "safari": "13.1", + "node": "16.9", + "deno": "1.9", + "ios": "13.4", + "samsung": "16", + "opera_mobile": "64", + "electron": "13.0" + }, + "proposal-optional-chaining": { + "chrome": "91", + "opera": "77", + "edge": "91", + "firefox": "74", + "safari": "13.1", + "node": "16.9", + "deno": "1.9", + "ios": "13.4", + "samsung": "16", + "opera_mobile": "64", + "electron": "13.0" + }, + "transform-json-strings": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "9", + "rhino": "1.7.14", + "opera_mobile": "47", + "electron": "3.0" + }, + "proposal-json-strings": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "62", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "9", + "rhino": "1.7.14", + "opera_mobile": "47", + "electron": "3.0" + }, + "transform-optional-catch-binding": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "58", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "9", + "opera_mobile": "47", + "electron": "3.0" + }, + "proposal-optional-catch-binding": { + "chrome": "66", + "opera": "53", + "edge": "79", + "firefox": "58", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "9", + "opera_mobile": "47", + "electron": "3.0" + }, + "transform-parameters": { + "chrome": "49", + "opera": "36", + "edge": "18", + "firefox": "52", + "safari": "16.3", + "node": "6", + "deno": "1", + "ios": "16.3", + "samsung": "5", + "opera_mobile": "36", + "electron": "0.37" + }, + "transform-async-generator-functions": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "proposal-async-generator-functions": { + "chrome": "63", + "opera": "50", + "edge": "79", + "firefox": "57", + "safari": "12", + "node": "10", + "deno": "1", + "ios": "12", + "samsung": "8", + "opera_mobile": "46", + "electron": "3.0" + }, + "transform-object-rest-spread": { + "chrome": "60", + "opera": "47", + "edge": "79", + "firefox": "55", + "safari": "11.1", + "node": "8.3", + "deno": "1", + "ios": "11.3", + "samsung": "8", + "opera_mobile": "44", + "electron": "2.0" + }, + "proposal-object-rest-spread": { + "chrome": "60", + "opera": "47", + "edge": "79", + "firefox": "55", + "safari": "11.1", + "node": "8.3", + "deno": "1", + "ios": "11.3", + "samsung": "8", + "opera_mobile": "44", + "electron": "2.0" + }, + "transform-dotall-regex": { + "chrome": "62", + "opera": "49", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "8.10", + "deno": "1", + "ios": "11.3", + "samsung": "8", + "rhino": "1.7.15", + "opera_mobile": "46", + "electron": "3.0" + }, + "transform-unicode-property-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "9", + "rhino": "1.9", + "opera_mobile": "47", + "electron": "3.0" + }, + "proposal-unicode-property-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "9", + "rhino": "1.9", + "opera_mobile": "47", + "electron": "3.0" + }, + "transform-named-capturing-groups-regex": { + "chrome": "64", + "opera": "51", + "edge": "79", + "firefox": "78", + "safari": "11.1", + "node": "10", + "deno": "1", + "ios": "11.3", + "samsung": "9", + "rhino": "1.9", + "opera_mobile": "47", + "electron": "3.0" + }, + "transform-async-to-generator": { + "chrome": "55", + "opera": "42", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "deno": "1", + "ios": "11", + "samsung": "6", + "opera_mobile": "42", + "electron": "1.6" + }, + "transform-exponentiation-operator": { + "chrome": "52", + "opera": "39", + "edge": "14", + "firefox": "52", + "safari": "10.1", + "node": "7", + "deno": "1", + "ios": "10.3", + "samsung": "6", + "rhino": "1.7.14", + "opera_mobile": "41", + "electron": "1.3" + }, + "transform-template-literals": { + "chrome": "41", + "opera": "28", + "edge": "13", + "firefox": "34", + "safari": "13", + "node": "4", + "deno": "1", + "ios": "13", + "samsung": "3.4", + "rhino": "1.9", + "opera_mobile": "28", + "electron": "0.21" + }, + "transform-literals": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.15", + "opera_mobile": "32", + "electron": "0.30" + }, + "transform-function-name": { + "chrome": "51", + "opera": "38", + "edge": "79", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "transform-arrow-functions": { + "chrome": "47", + "opera": "34", + "edge": "13", + "firefox": "43", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.13", + "opera_mobile": "34", + "electron": "0.36" + }, + "transform-block-scoped-functions": { + "chrome": "41", + "opera": "28", + "edge": "12", + "firefox": "46", + "safari": "10", + "node": "4", + "deno": "1", + "ie": "11", + "ios": "10", + "samsung": "3.4", + "opera_mobile": "28", + "electron": "0.21" + }, + "transform-classes": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "33", + "electron": "0.36" + }, + "transform-object-super": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "33", + "electron": "0.36" + }, + "transform-shorthand-properties": { + "chrome": "43", + "opera": "30", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.14", + "opera_mobile": "30", + "electron": "0.27" + }, + "transform-duplicate-keys": { + "chrome": "42", + "opera": "29", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "3.4", + "opera_mobile": "29", + "electron": "0.25" + }, + "transform-computed-properties": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "34", + "safari": "7.1", + "node": "4", + "deno": "1", + "ios": "8", + "samsung": "4", + "rhino": "1.8", + "opera_mobile": "32", + "electron": "0.30" + }, + "transform-for-of": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "transform-sticky-regex": { + "chrome": "49", + "opera": "36", + "edge": "13", + "firefox": "3", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "rhino": "1.7.15", + "opera_mobile": "36", + "electron": "0.37" + }, + "transform-unicode-escapes": { + "chrome": "44", + "opera": "31", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "deno": "1", + "ios": "9", + "samsung": "4", + "rhino": "1.7.15", + "opera_mobile": "32", + "electron": "0.30" + }, + "transform-unicode-regex": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "46", + "safari": "12", + "node": "6", + "deno": "1", + "ios": "12", + "samsung": "5", + "opera_mobile": "37", + "electron": "1.1" + }, + "transform-spread": { + "chrome": "46", + "opera": "33", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "33", + "electron": "0.36" + }, + "transform-destructuring": { + "chrome": "51", + "opera": "38", + "edge": "15", + "firefox": "53", + "safari": "14.1", + "node": "6.5", + "deno": "1", + "ios": "14.5", + "samsung": "5", + "opera_mobile": "41", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "50", + "opera": "37", + "edge": "14", + "firefox": "53", + "safari": "11", + "node": "6", + "deno": "1", + "ios": "11", + "samsung": "5", + "opera_mobile": "37", + "electron": "1.1" + }, + "transform-typeof-symbol": { + "chrome": "48", + "opera": "35", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "6", + "deno": "1", + "ios": "9", + "samsung": "5", + "rhino": "1.8", + "opera_mobile": "35", + "electron": "0.37" + }, + "transform-new-target": { + "chrome": "46", + "opera": "33", + "edge": "14", + "firefox": "41", + "safari": "10", + "node": "5", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "33", + "electron": "0.36" + }, + "transform-regenerator": { + "chrome": "50", + "opera": "37", + "edge": "13", + "firefox": "53", + "safari": "10", + "node": "6", + "deno": "1", + "ios": "10", + "samsung": "5", + "opera_mobile": "37", + "electron": "1.1" + }, + "transform-member-expression-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "transform-property-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.4", + "deno": "1", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "12", + "electron": "0.20" + }, + "transform-reserved-words": { + "chrome": "13", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.6", + "deno": "1", + "ie": "9", + "android": "4.4", + "ios": "6", + "phantom": "1.9", + "samsung": "1", + "rhino": "1.7.13", + "opera_mobile": "10.1", + "electron": "0.20" + }, + "transform-export-namespace-from": { + "chrome": "72", + "deno": "1.0", + "edge": "79", + "firefox": "80", + "node": "13.2.0", + "opera": "60", + "opera_mobile": "51", + "safari": "14.1", + "ios": "14.5", + "samsung": "11.0", + "android": "72", + "electron": "5.0" + }, + "proposal-export-namespace-from": { + "chrome": "72", + "deno": "1.0", + "edge": "79", + "firefox": "80", + "node": "13.2.0", + "opera": "60", + "opera_mobile": "51", + "safari": "14.1", + "ios": "14.5", + "samsung": "11.0", + "android": "72", + "electron": "5.0" + } +} diff --git a/client/node_modules/@babel/compat-data/native-modules.js b/client/node_modules/@babel/compat-data/native-modules.js new file mode 100644 index 0000000..f8c25fa --- /dev/null +++ b/client/node_modules/@babel/compat-data/native-modules.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly +module.exports = require("./data/native-modules.json"); diff --git a/client/node_modules/@babel/compat-data/overlapping-plugins.js b/client/node_modules/@babel/compat-data/overlapping-plugins.js new file mode 100644 index 0000000..0dd35f1 --- /dev/null +++ b/client/node_modules/@babel/compat-data/overlapping-plugins.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly +module.exports = require("./data/overlapping-plugins.json"); diff --git a/client/node_modules/@babel/compat-data/package.json b/client/node_modules/@babel/compat-data/package.json new file mode 100644 index 0000000..9a59bd0 --- /dev/null +++ b/client/node_modules/@babel/compat-data/package.json @@ -0,0 +1,40 @@ +{ + "name": "@babel/compat-data", + "version": "7.29.7", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "description": "The compat-data to determine required Babel plugins", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-compat-data" + }, + "publishConfig": { + "access": "public" + }, + "exports": { + "./plugins": "./plugins.js", + "./native-modules": "./native-modules.js", + "./corejs2-built-ins": "./corejs2-built-ins.js", + "./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js", + "./overlapping-plugins": "./overlapping-plugins.js", + "./plugin-bugfixes": "./plugin-bugfixes.js" + }, + "scripts": { + "build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.mjs && node ./scripts/build-modules-support.mjs && node ./scripts/build-bugfixes-targets.mjs" + }, + "keywords": [ + "babel", + "compat-table", + "compat-data" + ], + "devDependencies": { + "@mdn/browser-compat-data": "^6.0.8", + "core-js-compat": "^3.48.0", + "electron-to-chromium": "^1.5.278" + }, + "engines": { + "node": ">=6.9.0" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/client/node_modules/@babel/compat-data/plugin-bugfixes.js b/client/node_modules/@babel/compat-data/plugin-bugfixes.js new file mode 100644 index 0000000..9aaf364 --- /dev/null +++ b/client/node_modules/@babel/compat-data/plugin-bugfixes.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly +module.exports = require("./data/plugin-bugfixes.json"); diff --git a/client/node_modules/@babel/compat-data/plugins.js b/client/node_modules/@babel/compat-data/plugins.js new file mode 100644 index 0000000..b191017 --- /dev/null +++ b/client/node_modules/@babel/compat-data/plugins.js @@ -0,0 +1,2 @@ +// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly +module.exports = require("./data/plugins.json"); diff --git a/client/node_modules/@babel/core/LICENSE b/client/node_modules/@babel/core/LICENSE new file mode 100644 index 0000000..f31575e --- /dev/null +++ b/client/node_modules/@babel/core/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/client/node_modules/@babel/core/README.md b/client/node_modules/@babel/core/README.md new file mode 100644 index 0000000..2903543 --- /dev/null +++ b/client/node_modules/@babel/core/README.md @@ -0,0 +1,19 @@ +# @babel/core + +> Babel compiler core. + +See our website [@babel/core](https://babeljs.io/docs/babel-core) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/core +``` + +or using yarn: + +```sh +yarn add @babel/core --dev +``` diff --git a/client/node_modules/@babel/core/lib/config/cache-contexts.js b/client/node_modules/@babel/core/lib/config/cache-contexts.js new file mode 100644 index 0000000..f2ececd --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/cache-contexts.js @@ -0,0 +1,5 @@ +"use strict"; + +0 && 0; + +//# sourceMappingURL=cache-contexts.js.map diff --git a/client/node_modules/@babel/core/lib/config/cache-contexts.js.map b/client/node_modules/@babel/core/lib/config/cache-contexts.js.map new file mode 100644 index 0000000..39b1898 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/cache-contexts.js.map @@ -0,0 +1 @@ +{"version":3,"names":[],"sources":["../../src/config/cache-contexts.ts"],"sourcesContent":["import type { ConfigContext } from \"./config-chain.ts\";\nimport type {\n CallerMetadata,\n TargetsListOrObject,\n} from \"./validation/options.ts\";\n\nexport type { ConfigContext as FullConfig };\n\nexport type FullPreset = {\n targets: TargetsListOrObject;\n} & ConfigContext;\nexport type FullPlugin = {\n assumptions: Record;\n} & FullPreset;\n\n// Context not including filename since it is used in places that cannot\n// process 'ignore'/'only' and other filename-based logic.\nexport type SimpleConfig = {\n envName: string;\n caller: CallerMetadata | undefined;\n};\nexport type SimplePreset = {\n targets: TargetsListOrObject;\n} & SimpleConfig;\nexport type SimplePlugin = {\n assumptions: Record;\n} & SimplePreset;\n"],"mappings":"","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/caching.js b/client/node_modules/@babel/core/lib/config/caching.js new file mode 100644 index 0000000..344c839 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/caching.js @@ -0,0 +1,261 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.assertSimpleType = assertSimpleType; +exports.makeStrongCache = makeStrongCache; +exports.makeStrongCacheSync = makeStrongCacheSync; +exports.makeWeakCache = makeWeakCache; +exports.makeWeakCacheSync = makeWeakCacheSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _async = require("../gensync-utils/async.js"); +var _util = require("./util.js"); +const synchronize = gen => { + return _gensync()(gen).sync; +}; +function* genTrue() { + return true; +} +function makeWeakCache(handler) { + return makeCachedFunction(WeakMap, handler); +} +function makeWeakCacheSync(handler) { + return synchronize(makeWeakCache(handler)); +} +function makeStrongCache(handler) { + return makeCachedFunction(Map, handler); +} +function makeStrongCacheSync(handler) { + return synchronize(makeStrongCache(handler)); +} +function makeCachedFunction(CallCache, handler) { + const callCacheSync = new CallCache(); + const callCacheAsync = new CallCache(); + const futureCache = new CallCache(); + return function* cachedFunction(arg, data) { + const asyncContext = yield* (0, _async.isAsync)(); + const callCache = asyncContext ? callCacheAsync : callCacheSync; + const cached = yield* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data); + if (cached.valid) return cached.value; + const cache = new CacheConfigurator(data); + const handlerResult = handler(arg, cache); + let finishLock; + let value; + if ((0, _util.isIterableIterator)(handlerResult)) { + value = yield* (0, _async.onFirstPause)(handlerResult, () => { + finishLock = setupAsyncLocks(cache, futureCache, arg); + }); + } else { + value = handlerResult; + } + updateFunctionCache(callCache, cache, arg, value); + if (finishLock) { + futureCache.delete(arg); + finishLock.release(value); + } + return value; + }; +} +function* getCachedValue(cache, arg, data) { + const cachedValue = cache.get(arg); + if (cachedValue) { + for (const { + value, + valid + } of cachedValue) { + if (yield* valid(data)) return { + valid: true, + value + }; + } + } + return { + valid: false, + value: null + }; +} +function* getCachedValueOrWait(asyncContext, callCache, futureCache, arg, data) { + const cached = yield* getCachedValue(callCache, arg, data); + if (cached.valid) { + return cached; + } + if (asyncContext) { + const cached = yield* getCachedValue(futureCache, arg, data); + if (cached.valid) { + const value = yield* (0, _async.waitFor)(cached.value.promise); + return { + valid: true, + value + }; + } + } + return { + valid: false, + value: null + }; +} +function setupAsyncLocks(config, futureCache, arg) { + const finishLock = new Lock(); + updateFunctionCache(futureCache, config, arg, finishLock); + return finishLock; +} +function updateFunctionCache(cache, config, arg, value) { + if (!config.configured()) config.forever(); + let cachedValue = cache.get(arg); + config.deactivate(); + switch (config.mode()) { + case "forever": + cachedValue = [{ + value, + valid: genTrue + }]; + cache.set(arg, cachedValue); + break; + case "invalidate": + cachedValue = [{ + value, + valid: config.validator() + }]; + cache.set(arg, cachedValue); + break; + case "valid": + if (cachedValue) { + cachedValue.push({ + value, + valid: config.validator() + }); + } else { + cachedValue = [{ + value, + valid: config.validator() + }]; + cache.set(arg, cachedValue); + } + } +} +class CacheConfigurator { + constructor(data) { + this._active = true; + this._never = false; + this._forever = false; + this._invalidate = false; + this._configured = false; + this._pairs = []; + this._data = void 0; + this._data = data; + } + simple() { + return makeSimpleConfigurator(this); + } + mode() { + if (this._never) return "never"; + if (this._forever) return "forever"; + if (this._invalidate) return "invalidate"; + return "valid"; + } + forever() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + if (this._never) { + throw new Error("Caching has already been configured with .never()"); + } + this._forever = true; + this._configured = true; + } + never() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + if (this._forever) { + throw new Error("Caching has already been configured with .forever()"); + } + this._never = true; + this._configured = true; + } + using(handler) { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + if (this._never || this._forever) { + throw new Error("Caching has already been configured with .never or .forever()"); + } + this._configured = true; + const key = handler(this._data); + const fn = (0, _async.maybeAsync)(handler, `You appear to be using an async cache handler, but Babel has been called synchronously`); + if ((0, _async.isThenable)(key)) { + return key.then(key => { + this._pairs.push([key, fn]); + return key; + }); + } + this._pairs.push([key, fn]); + return key; + } + invalidate(handler) { + this._invalidate = true; + return this.using(handler); + } + validator() { + const pairs = this._pairs; + return function* (data) { + for (const [key, fn] of pairs) { + if (key !== (yield* fn(data))) return false; + } + return true; + }; + } + deactivate() { + this._active = false; + } + configured() { + return this._configured; + } +} +function makeSimpleConfigurator(cache) { + function cacheFn(val) { + if (typeof val === "boolean") { + if (val) cache.forever();else cache.never(); + return; + } + return cache.using(() => assertSimpleType(val())); + } + cacheFn.forever = () => cache.forever(); + cacheFn.never = () => cache.never(); + cacheFn.using = cb => cache.using(() => assertSimpleType(cb())); + cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb())); + return cacheFn; +} +function assertSimpleType(value) { + if ((0, _async.isThenable)(value)) { + throw new Error(`You appear to be using an async cache handler, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously handle your caching logic.`); + } + if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") { + throw new Error("Cache keys must be either string, boolean, number, null, or undefined."); + } + return value; +} +class Lock { + constructor() { + this.released = false; + this.promise = void 0; + this._resolve = void 0; + this.promise = new Promise(resolve => { + this._resolve = resolve; + }); + } + release(value) { + this.released = true; + this._resolve(value); + } +} +0 && 0; + +//# sourceMappingURL=caching.js.map diff --git a/client/node_modules/@babel/core/lib/config/caching.js.map b/client/node_modules/@babel/core/lib/config/caching.js.map new file mode 100644 index 0000000..c9a69fd --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/caching.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_async","_util","synchronize","gen","gensync","sync","genTrue","makeWeakCache","handler","makeCachedFunction","WeakMap","makeWeakCacheSync","makeStrongCache","Map","makeStrongCacheSync","CallCache","callCacheSync","callCacheAsync","futureCache","cachedFunction","arg","asyncContext","isAsync","callCache","cached","getCachedValueOrWait","valid","value","cache","CacheConfigurator","handlerResult","finishLock","isIterableIterator","onFirstPause","setupAsyncLocks","updateFunctionCache","delete","release","getCachedValue","cachedValue","get","waitFor","promise","config","Lock","configured","forever","deactivate","mode","set","validator","push","constructor","_active","_never","_forever","_invalidate","_configured","_pairs","_data","simple","makeSimpleConfigurator","Error","never","using","key","fn","maybeAsync","isThenable","then","invalidate","pairs","cacheFn","val","assertSimpleType","cb","released","_resolve","Promise","resolve"],"sources":["../../src/config/caching.ts"],"sourcesContent":["import gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport {\n maybeAsync,\n isAsync,\n onFirstPause,\n waitFor,\n isThenable,\n} from \"../gensync-utils/async.ts\";\nimport { isIterableIterator } from \"./util.ts\";\n\nexport type { CacheConfigurator };\n\nexport type SimpleCacheConfigurator = {\n (forever: boolean): void;\n (handler: () => T): T;\n\n forever: () => void;\n never: () => void;\n using: (handler: () => T) => T;\n invalidate: (handler: () => T) => T;\n};\n\nexport type CacheEntry = {\n value: ResultT;\n valid: (channel: SideChannel) => Handler;\n}[];\n\nconst synchronize = (\n gen: (...args: ArgsT) => Handler,\n): ((...args: ArgsT) => ResultT) => {\n return gensync(gen).sync;\n};\n\n// eslint-disable-next-line require-yield\nfunction* genTrue() {\n return true;\n}\n\nexport function makeWeakCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(WeakMap, handler);\n}\n\nexport function makeWeakCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeWeakCache(handler),\n );\n}\n\nexport function makeStrongCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(Map, handler);\n}\n\nexport function makeStrongCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeStrongCache(handler),\n );\n}\n\n/* NOTE: Part of the logic explained in this comment is explained in the\n * getCachedValueOrWait and setupAsyncLocks functions.\n *\n * > There are only two hard things in Computer Science: cache invalidation and naming things.\n * > -- Phil Karlton\n *\n * I don't know if Phil was also thinking about handling a cache whose invalidation function is\n * defined asynchronously is considered, but it is REALLY hard to do correctly.\n *\n * The implemented logic (only when gensync is run asynchronously) is the following:\n * 1. If there is a valid cache associated to the current \"arg\" parameter,\n * a. RETURN the cached value\n * 3. If there is a FinishLock associated to the current \"arg\" parameter representing a valid cache,\n * a. Wait for that lock to be released\n * b. RETURN the value associated with that lock\n * 5. Start executing the function to be cached\n * a. If it pauses on a promise, then\n * i. Let FinishLock be a new lock\n * ii. Store FinishLock as associated to the current \"arg\" parameter\n * iii. Wait for the function to finish executing\n * iv. Release FinishLock\n * v. Send the function result to anyone waiting on FinishLock\n * 6. Store the result in the cache\n * 7. RETURN the result\n */\nfunction makeCachedFunction(\n CallCache: new () => CacheMap,\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n const callCacheSync = new CallCache();\n const callCacheAsync = new CallCache();\n const futureCache = new CallCache>();\n\n return function* cachedFunction(arg: ArgT, data: SideChannel) {\n const asyncContext = yield* isAsync();\n const callCache = asyncContext ? callCacheAsync : callCacheSync;\n\n const cached = yield* getCachedValueOrWait(\n asyncContext,\n callCache,\n futureCache,\n arg,\n data,\n );\n if (cached.valid) return cached.value;\n\n const cache = new CacheConfigurator(data);\n\n const handlerResult: Handler | ResultT = handler(arg, cache);\n\n let finishLock: Lock;\n let value: ResultT;\n\n if (isIterableIterator(handlerResult)) {\n value = yield* onFirstPause(handlerResult, () => {\n finishLock = setupAsyncLocks(cache, futureCache, arg);\n });\n } else {\n value = handlerResult;\n }\n\n updateFunctionCache(callCache, cache, arg, value);\n\n if (finishLock) {\n futureCache.delete(arg);\n finishLock.release(value);\n }\n\n return value;\n };\n}\n\ntype CacheMap =\n | Map>\n // @ts-expect-error todo(flow->ts): add `extends object` constraint to ArgT\n | WeakMap>;\n\nfunction* getCachedValue(\n cache: CacheMap,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cachedValue: CacheEntry | void = cache.get(arg);\n\n if (cachedValue) {\n for (const { value, valid } of cachedValue) {\n if (yield* valid(data)) return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction* getCachedValueOrWait(\n asyncContext: boolean,\n callCache: CacheMap,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cached = yield* getCachedValue(callCache, arg, data);\n if (cached.valid) {\n return cached;\n }\n\n if (asyncContext) {\n const cached = yield* getCachedValue(futureCache, arg, data);\n if (cached.valid) {\n const value = yield* waitFor(cached.value.promise);\n return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction setupAsyncLocks(\n config: CacheConfigurator,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n): Lock {\n const finishLock = new Lock();\n\n updateFunctionCache(futureCache, config, arg, finishLock);\n\n return finishLock;\n}\n\nfunction updateFunctionCache<\n ArgT,\n ResultT,\n SideChannel,\n Cache extends CacheMap,\n>(\n cache: Cache,\n config: CacheConfigurator,\n arg: ArgT,\n value: ResultT,\n) {\n if (!config.configured()) config.forever();\n\n let cachedValue: CacheEntry | void = cache.get(arg);\n\n config.deactivate();\n\n switch (config.mode()) {\n case \"forever\":\n cachedValue = [{ value, valid: genTrue }];\n cache.set(arg, cachedValue);\n break;\n case \"invalidate\":\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n break;\n case \"valid\":\n if (cachedValue) {\n cachedValue.push({ value, valid: config.validator() });\n } else {\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n }\n }\n}\n\nclass CacheConfigurator {\n _active: boolean = true;\n _never: boolean = false;\n _forever: boolean = false;\n _invalidate: boolean = false;\n\n _configured: boolean = false;\n\n _pairs: [\n cachedValue: unknown,\n handler: (data: SideChannel) => Handler,\n ][] = [];\n\n _data: SideChannel;\n\n constructor(data: SideChannel) {\n this._data = data;\n }\n\n simple() {\n return makeSimpleConfigurator(this);\n }\n\n mode() {\n if (this._never) return \"never\";\n if (this._forever) return \"forever\";\n if (this._invalidate) return \"invalidate\";\n return \"valid\";\n }\n\n forever() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never) {\n throw new Error(\"Caching has already been configured with .never()\");\n }\n this._forever = true;\n this._configured = true;\n }\n\n never() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._forever) {\n throw new Error(\"Caching has already been configured with .forever()\");\n }\n this._never = true;\n this._configured = true;\n }\n\n using(handler: (data: SideChannel) => T): T {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never || this._forever) {\n throw new Error(\n \"Caching has already been configured with .never or .forever()\",\n );\n }\n this._configured = true;\n\n const key = handler(this._data);\n\n const fn = maybeAsync(\n handler,\n `You appear to be using an async cache handler, but Babel has been called synchronously`,\n );\n\n if (isThenable(key)) {\n // @ts-expect-error todo(flow->ts): improve function return type annotation\n return key.then((key: unknown) => {\n this._pairs.push([key, fn]);\n return key;\n });\n }\n\n this._pairs.push([key, fn]);\n return key;\n }\n\n invalidate(handler: (data: SideChannel) => T): T {\n this._invalidate = true;\n return this.using(handler);\n }\n\n validator(): (data: SideChannel) => Handler {\n const pairs = this._pairs;\n return function* (data: SideChannel) {\n for (const [key, fn] of pairs) {\n if (key !== (yield* fn(data))) return false;\n }\n return true;\n };\n }\n\n deactivate() {\n this._active = false;\n }\n\n configured() {\n return this._configured;\n }\n}\n\nfunction makeSimpleConfigurator(\n cache: CacheConfigurator,\n): SimpleCacheConfigurator {\n function cacheFn(val: any) {\n if (typeof val === \"boolean\") {\n if (val) cache.forever();\n else cache.never();\n return;\n }\n\n return cache.using(() => assertSimpleType(val()));\n }\n cacheFn.forever = () => cache.forever();\n cacheFn.never = () => cache.never();\n cacheFn.using = (cb: () => SimpleType) =>\n cache.using(() => assertSimpleType(cb()));\n cacheFn.invalidate = (cb: () => SimpleType) =>\n cache.invalidate(() => assertSimpleType(cb()));\n\n return cacheFn as any;\n}\n\n// Types are limited here so that in the future these values can be used\n// as part of Babel's caching logic.\nexport type SimpleType =\n | string\n | boolean\n | number\n | null\n | void\n | Promise;\nexport function assertSimpleType(value: unknown): SimpleType {\n if (isThenable(value)) {\n throw new Error(\n `You appear to be using an async cache handler, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously handle your caching logic.`,\n );\n }\n\n if (\n value != null &&\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\"\n ) {\n throw new Error(\n \"Cache keys must be either string, boolean, number, null, or undefined.\",\n );\n }\n // @ts-expect-error Type 'unknown' is not assignable to type 'SimpleType'. This can be removed\n // when strictNullCheck is enabled\n return value;\n}\n\nclass Lock {\n released: boolean = false;\n promise: Promise;\n _resolve: (value: T) => void;\n\n constructor() {\n this.promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n release(value: T) {\n this.released = true;\n this._resolve(value);\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/config-chain.js b/client/node_modules/@babel/core/lib/config/config-chain.js new file mode 100644 index 0000000..5fded8e --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/config-chain.js @@ -0,0 +1,469 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.buildPresetChain = buildPresetChain; +exports.buildPresetChainWalker = void 0; +exports.buildRootChain = buildRootChain; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +var _options = require("./validation/options.js"); +var _patternToRegex = require("./pattern-to-regex.js"); +var _printer = require("./printer.js"); +var _rewriteStackTrace = require("../errors/rewrite-stack-trace.js"); +var _configError = require("../errors/config-error.js"); +var _index = require("./files/index.js"); +var _caching = require("./caching.js"); +var _configDescriptors = require("./config-descriptors.js"); +const debug = _debug()("babel:config:config-chain"); +function* buildPresetChain(arg, context) { + const chain = yield* buildPresetChainWalker(arg, context); + if (!chain) return null; + return { + plugins: dedupDescriptors(chain.plugins), + presets: dedupDescriptors(chain.presets), + options: chain.options.map(o => createConfigChainOptions(o)), + files: new Set() + }; +} +const buildPresetChainWalker = exports.buildPresetChainWalker = makeChainWalker({ + root: preset => loadPresetDescriptors(preset), + env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName), + overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index), + overridesEnv: (preset, index, envName) => loadPresetOverridesEnvDescriptors(preset)(index)(envName), + createLogger: () => () => {} +}); +const loadPresetDescriptors = (0, _caching.makeWeakCacheSync)(preset => buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors)); +const loadPresetEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName))); +const loadPresetOverridesDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index))); +const loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(preset => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName)))); +function* buildRootChain(opts, context) { + let configReport, babelRcReport; + const programmaticLogger = new _printer.ConfigPrinter(); + const programmaticChain = yield* loadProgrammaticChain({ + options: opts, + dirname: context.cwd + }, context, undefined, programmaticLogger); + if (!programmaticChain) return null; + const programmaticReport = yield* programmaticLogger.output(); + let configFile; + if (typeof opts.configFile === "string") { + configFile = yield* (0, _index.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller); + } else if (opts.configFile !== false) { + configFile = yield* (0, _index.findRootConfig)(context.root, context.envName, context.caller); + } + let { + babelrc, + babelrcRoots + } = opts; + let babelrcRootsDirectory = context.cwd; + const configFileChain = emptyChain(); + const configFileLogger = new _printer.ConfigPrinter(); + if (configFile) { + const validatedFile = validateConfigFile(configFile); + const result = yield* loadFileChain(validatedFile, context, undefined, configFileLogger); + if (!result) return null; + configReport = yield* configFileLogger.output(); + if (babelrc === undefined) { + babelrc = validatedFile.options.babelrc; + } + if (babelrcRoots === undefined) { + babelrcRootsDirectory = validatedFile.dirname; + babelrcRoots = validatedFile.options.babelrcRoots; + } + mergeChain(configFileChain, result); + } + let ignoreFile, babelrcFile; + let isIgnored = false; + const fileChain = emptyChain(); + if ((babelrc === true || babelrc === undefined) && typeof context.filename === "string") { + const pkgData = yield* (0, _index.findPackageData)(context.filename); + if (pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { + ({ + ignore: ignoreFile, + config: babelrcFile + } = yield* (0, _index.findRelativeConfig)(pkgData, context.envName, context.caller)); + if (ignoreFile) { + fileChain.files.add(ignoreFile.filepath); + } + if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { + isIgnored = true; + } + if (babelrcFile && !isIgnored) { + const validatedFile = validateBabelrcFile(babelrcFile); + const babelrcLogger = new _printer.ConfigPrinter(); + const result = yield* loadFileChain(validatedFile, context, undefined, babelrcLogger); + if (!result) { + isIgnored = true; + } else { + babelRcReport = yield* babelrcLogger.output(); + mergeChain(fileChain, result); + } + } + if (babelrcFile && isIgnored) { + fileChain.files.add(babelrcFile.filepath); + } + } + } + if (context.showConfig) { + console.log(`Babel configs on "${context.filename}" (ascending priority):\n` + [configReport, babelRcReport, programmaticReport].filter(x => !!x).join("\n\n") + "\n-----End Babel configs-----"); + } + const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain); + return { + plugins: isIgnored ? [] : dedupDescriptors(chain.plugins), + presets: isIgnored ? [] : dedupDescriptors(chain.presets), + options: isIgnored ? [] : chain.options.map(o => createConfigChainOptions(o)), + fileHandling: isIgnored ? "ignored" : "transpile", + ignore: ignoreFile || undefined, + babelrc: babelrcFile || undefined, + config: configFile || undefined, + files: chain.files + }; +} +function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) { + if (typeof babelrcRoots === "boolean") return babelrcRoots; + const absoluteRoot = context.root; + if (babelrcRoots === undefined) { + return pkgData.directories.includes(absoluteRoot); + } + let babelrcPatterns = babelrcRoots; + if (!Array.isArray(babelrcPatterns)) { + babelrcPatterns = [babelrcPatterns]; + } + babelrcPatterns = babelrcPatterns.map(pat => { + return typeof pat === "string" ? _path().resolve(babelrcRootsDirectory, pat) : pat; + }); + if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) { + return pkgData.directories.includes(absoluteRoot); + } + return babelrcPatterns.some(pat => { + if (typeof pat === "string") { + pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory); + } + return pkgData.directories.some(directory => { + return matchPattern(pat, babelrcRootsDirectory, directory, context); + }); + }); +} +const validateConfigFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("configfile", file.options, file.filepath) +})); +const validateBabelrcFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("babelrcfile", file.options, file.filepath) +})); +const validateExtendFile = (0, _caching.makeWeakCacheSync)(file => ({ + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("extendsfile", file.options, file.filepath) +})); +const loadProgrammaticChain = makeChainWalker({ + root: input => buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors), + env: (input, envName) => buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName), + overrides: (input, index) => buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index), + overridesEnv: (input, index, envName) => buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName), + createLogger: (input, context, baseLogger) => buildProgrammaticLogger(input, context, baseLogger) +}); +const loadFileChainWalker = makeChainWalker({ + root: file => loadFileDescriptors(file), + env: (file, envName) => loadFileEnvDescriptors(file)(envName), + overrides: (file, index) => loadFileOverridesDescriptors(file)(index), + overridesEnv: (file, index, envName) => loadFileOverridesEnvDescriptors(file)(index)(envName), + createLogger: (file, context, baseLogger) => buildFileLogger(file.filepath, context, baseLogger) +}); +function* loadFileChain(input, context, files, baseLogger) { + const chain = yield* loadFileChainWalker(input, context, files, baseLogger); + chain == null || chain.files.add(input.filepath); + return chain; +} +const loadFileDescriptors = (0, _caching.makeWeakCacheSync)(file => buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors)); +const loadFileEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(envName => buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName))); +const loadFileOverridesDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index))); +const loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCacheSync)(file => (0, _caching.makeStrongCacheSync)(index => (0, _caching.makeStrongCacheSync)(envName => buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName)))); +function buildFileLogger(filepath, context, baseLogger) { + if (!baseLogger) { + return () => {}; + } + return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Config, { + filepath + }); +} +function buildRootDescriptors({ + dirname, + options +}, alias, descriptors) { + return descriptors(dirname, options, alias); +} +function buildProgrammaticLogger(_, context, baseLogger) { + var _context$caller; + if (!baseLogger) { + return () => {}; + } + return baseLogger.configure(context.showConfig, _printer.ChainFormatter.Programmatic, { + callerName: (_context$caller = context.caller) == null ? void 0 : _context$caller.name + }); +} +function buildEnvDescriptors({ + dirname, + options +}, alias, descriptors, envName) { + var _options$env; + const opts = (_options$env = options.env) == null ? void 0 : _options$env[envName]; + return opts ? descriptors(dirname, opts, `${alias}.env["${envName}"]`) : null; +} +function buildOverrideDescriptors({ + dirname, + options +}, alias, descriptors, index) { + var _options$overrides; + const opts = (_options$overrides = options.overrides) == null ? void 0 : _options$overrides[index]; + if (!opts) throw new Error("Assertion failure - missing override"); + return descriptors(dirname, opts, `${alias}.overrides[${index}]`); +} +function buildOverrideEnvDescriptors({ + dirname, + options +}, alias, descriptors, index, envName) { + var _options$overrides2, _override$env; + const override = (_options$overrides2 = options.overrides) == null ? void 0 : _options$overrides2[index]; + if (!override) throw new Error("Assertion failure - missing override"); + const opts = (_override$env = override.env) == null ? void 0 : _override$env[envName]; + return opts ? descriptors(dirname, opts, `${alias}.overrides[${index}].env["${envName}"]`) : null; +} +function makeChainWalker({ + root, + env, + overrides, + overridesEnv, + createLogger +}) { + return function* chainWalker(input, context, files = new Set(), baseLogger) { + const { + dirname + } = input; + const flattenedConfigs = []; + const rootOpts = root(input); + if (configIsApplicable(rootOpts, dirname, context, input.filepath)) { + flattenedConfigs.push({ + config: rootOpts, + envName: undefined, + index: undefined + }); + const envOpts = env(input, context.envName); + if (envOpts && configIsApplicable(envOpts, dirname, context, input.filepath)) { + flattenedConfigs.push({ + config: envOpts, + envName: context.envName, + index: undefined + }); + } + (rootOpts.options.overrides || []).forEach((_, index) => { + const overrideOps = overrides(input, index); + if (configIsApplicable(overrideOps, dirname, context, input.filepath)) { + flattenedConfigs.push({ + config: overrideOps, + index, + envName: undefined + }); + const overrideEnvOpts = overridesEnv(input, index, context.envName); + if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context, input.filepath)) { + flattenedConfigs.push({ + config: overrideEnvOpts, + index, + envName: context.envName + }); + } + } + }); + } + if (flattenedConfigs.some(({ + config: { + options: { + ignore, + only + } + } + }) => shouldIgnore(context, ignore, only, dirname))) { + return null; + } + const chain = emptyChain(); + const logger = createLogger(input, context, baseLogger); + for (const { + config, + index, + envName + } of flattenedConfigs) { + if (!(yield* mergeExtendsChain(chain, config.options, dirname, context, files, baseLogger))) { + return null; + } + logger(config, index, envName); + yield* mergeChainOpts(chain, config); + } + return chain; + }; +} +function* mergeExtendsChain(chain, opts, dirname, context, files, baseLogger) { + if (opts.extends === undefined) return true; + const file = yield* (0, _index.loadConfig)(opts.extends, dirname, context.envName, context.caller); + if (files.has(file)) { + throw new Error(`Configuration cycle detected loading ${file.filepath}.\n` + `File already loaded following the config chain:\n` + Array.from(files, file => ` - ${file.filepath}`).join("\n")); + } + files.add(file); + const fileChain = yield* loadFileChain(validateExtendFile(file), context, files, baseLogger); + files.delete(file); + if (!fileChain) return false; + mergeChain(chain, fileChain); + return true; +} +function mergeChain(target, source) { + target.options.push(...source.options); + target.plugins.push(...source.plugins); + target.presets.push(...source.presets); + for (const file of source.files) { + target.files.add(file); + } + return target; +} +function* mergeChainOpts(target, { + options, + plugins, + presets +}) { + target.options.push(options); + target.plugins.push(...(yield* plugins())); + target.presets.push(...(yield* presets())); + return target; +} +function emptyChain() { + return { + options: [], + presets: [], + plugins: [], + files: new Set() + }; +} +function createConfigChainOptions(opts) { + const options = Object.assign({}, opts); + delete options.extends; + delete options.env; + delete options.overrides; + delete options.plugins; + delete options.presets; + delete options.passPerPreset; + delete options.ignore; + delete options.only; + delete options.test; + delete options.include; + delete options.exclude; + if (hasOwnProperty.call(options, "sourceMap")) { + options.sourceMaps = options.sourceMap; + delete options.sourceMap; + } + return options; +} +function dedupDescriptors(items) { + const map = new Map(); + const descriptors = []; + for (const item of items) { + if (typeof item.value === "function") { + const fnKey = item.value; + let nameMap = map.get(fnKey); + if (!nameMap) { + nameMap = new Map(); + map.set(fnKey, nameMap); + } + let desc = nameMap.get(item.name); + if (!desc) { + desc = { + value: item + }; + descriptors.push(desc); + if (!item.ownPass) nameMap.set(item.name, desc); + } else { + desc.value = item; + } + } else { + descriptors.push({ + value: item + }); + } + } + return descriptors.reduce((acc, desc) => { + acc.push(desc.value); + return acc; + }, []); +} +function configIsApplicable({ + options +}, dirname, context, configName) { + return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname, configName)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname, configName)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname, configName)); +} +function configFieldIsApplicable(context, test, dirname, configName) { + const patterns = Array.isArray(test) ? test : [test]; + return matchesPatterns(context, patterns, dirname, configName); +} +function ignoreListReplacer(_key, value) { + if (value instanceof RegExp) { + return String(value); + } + return value; +} +function shouldIgnore(context, ignore, only, dirname) { + if (ignore && matchesPatterns(context, ignore, dirname)) { + var _context$filename; + const message = `No config is applied to "${(_context$filename = context.filename) != null ? _context$filename : "(unknown)"}" because it matches one of \`ignore: ${JSON.stringify(ignore, ignoreListReplacer)}\` from "${dirname}"`; + debug(message); + if (context.showConfig) { + console.log(message); + } + return true; + } + if (only && !matchesPatterns(context, only, dirname)) { + var _context$filename2; + const message = `No config is applied to "${(_context$filename2 = context.filename) != null ? _context$filename2 : "(unknown)"}" because it fails to match one of \`only: ${JSON.stringify(only, ignoreListReplacer)}\` from "${dirname}"`; + debug(message); + if (context.showConfig) { + console.log(message); + } + return true; + } + return false; +} +function matchesPatterns(context, patterns, dirname, configName) { + return patterns.some(pattern => matchPattern(pattern, dirname, context.filename, context, configName)); +} +function matchPattern(pattern, dirname, pathToTest, context, configName) { + if (typeof pattern === "function") { + return !!(0, _rewriteStackTrace.endHiddenCallStack)(pattern)(pathToTest, { + dirname, + envName: context.envName, + caller: context.caller + }); + } + if (typeof pathToTest !== "string") { + throw new _configError.default(`Configuration contains string/RegExp pattern, but no filename was passed to Babel`, configName); + } + if (typeof pattern === "string") { + pattern = (0, _patternToRegex.default)(pattern, dirname); + } + return pattern.test(pathToTest); +} +0 && 0; + +//# sourceMappingURL=config-chain.js.map diff --git a/client/node_modules/@babel/core/lib/config/config-chain.js.map b/client/node_modules/@babel/core/lib/config/config-chain.js.map new file mode 100644 index 0000000..92414e5 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/config-chain.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","_debug","_options","_patternToRegex","_printer","_rewriteStackTrace","_configError","_index","_caching","_configDescriptors","debug","buildDebug","buildPresetChain","arg","context","chain","buildPresetChainWalker","plugins","dedupDescriptors","presets","options","map","o","createConfigChainOptions","files","Set","exports","makeChainWalker","root","preset","loadPresetDescriptors","env","envName","loadPresetEnvDescriptors","overrides","index","loadPresetOverridesDescriptors","overridesEnv","loadPresetOverridesEnvDescriptors","createLogger","makeWeakCacheSync","buildRootDescriptors","alias","createUncachedDescriptors","makeStrongCacheSync","buildEnvDescriptors","buildOverrideDescriptors","buildOverrideEnvDescriptors","buildRootChain","opts","configReport","babelRcReport","programmaticLogger","ConfigPrinter","programmaticChain","loadProgrammaticChain","dirname","cwd","undefined","programmaticReport","output","configFile","loadConfig","caller","findRootConfig","babelrc","babelrcRoots","babelrcRootsDirectory","configFileChain","emptyChain","configFileLogger","validatedFile","validateConfigFile","result","loadFileChain","mergeChain","ignoreFile","babelrcFile","isIgnored","fileChain","filename","pkgData","findPackageData","babelrcLoadEnabled","ignore","config","findRelativeConfig","add","filepath","shouldIgnore","validateBabelrcFile","babelrcLogger","showConfig","console","log","filter","x","join","fileHandling","absoluteRoot","directories","includes","babelrcPatterns","Array","isArray","pat","path","resolve","length","some","pathPatternToRegex","directory","matchPattern","file","validate","validateExtendFile","input","createCachedDescriptors","baseLogger","buildProgrammaticLogger","loadFileChainWalker","loadFileDescriptors","loadFileEnvDescriptors","loadFileOverridesDescriptors","loadFileOverridesEnvDescriptors","buildFileLogger","configure","ChainFormatter","Config","descriptors","_","_context$caller","Programmatic","callerName","name","_options$env","_options$overrides","Error","_options$overrides2","_override$env","override","chainWalker","flattenedConfigs","rootOpts","configIsApplicable","push","envOpts","forEach","overrideOps","overrideEnvOpts","only","logger","mergeExtendsChain","mergeChainOpts","extends","has","from","delete","target","source","Object","assign","passPerPreset","test","include","exclude","hasOwnProperty","call","sourceMaps","sourceMap","items","Map","item","value","fnKey","nameMap","get","set","desc","ownPass","reduce","acc","configName","configFieldIsApplicable","patterns","matchesPatterns","ignoreListReplacer","_key","RegExp","String","_context$filename","message","JSON","stringify","_context$filename2","pattern","pathToTest","endHiddenCallStack","ConfigError"],"sources":["../../src/config/config-chain.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\n\nimport path from \"node:path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { validate } from \"./validation/options.ts\";\nimport type {\n ConfigApplicableTest,\n BabelrcSearch,\n CallerMetadata,\n MatchItem,\n InputOptions,\n ConfigChainOptions,\n} from \"./validation/options.ts\";\nimport pathPatternToRegex from \"./pattern-to-regex.ts\";\nimport { ConfigPrinter, ChainFormatter } from \"./printer.ts\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\n\nimport { endHiddenCallStack } from \"../errors/rewrite-stack-trace.ts\";\nimport ConfigError from \"../errors/config-error.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\nconst debug = buildDebug(\"babel:config:config-chain\");\n\nimport {\n findPackageData,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n} from \"./files/index.ts\";\nimport type { ConfigFile, IgnoreFile, FilePackageData } from \"./files/index.ts\";\n\nimport { makeWeakCacheSync, makeStrongCacheSync } from \"./caching.ts\";\n\nimport {\n createCachedDescriptors,\n createUncachedDescriptors,\n} from \"./config-descriptors.ts\";\nimport type {\n UnloadedDescriptor,\n OptionsAndDescriptors,\n ValidatedFile,\n} from \"./config-descriptors.ts\";\n\nexport type ConfigChain = {\n plugins: UnloadedDescriptor[];\n presets: UnloadedDescriptor[];\n options: ConfigChainOptions[];\n files: Set;\n};\n\nexport type PresetInstance = {\n options: InputOptions;\n alias: string;\n dirname: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type ConfigContext = {\n filename: string | undefined;\n cwd: string;\n root: string;\n envName: string;\n caller: CallerMetadata | undefined;\n showConfig: boolean;\n};\n\n/**\n * Build a config chain for a given preset.\n */\nexport function* buildPresetChain(\n arg: PresetInstance,\n context: any,\n): Handler {\n const chain = yield* buildPresetChainWalker(arg, context);\n if (!chain) return null;\n\n return {\n plugins: dedupDescriptors(chain.plugins),\n presets: dedupDescriptors(chain.presets),\n options: chain.options.map(o => createConfigChainOptions(o)),\n files: new Set(),\n };\n}\n\nexport const buildPresetChainWalker = makeChainWalker({\n root: preset => loadPresetDescriptors(preset),\n env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),\n overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),\n overridesEnv: (preset, index, envName) =>\n loadPresetOverridesEnvDescriptors(preset)(index)(envName),\n createLogger: () => () => {}, // Currently we don't support logging how preset is expanded\n});\nconst loadPresetDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n buildRootDescriptors(preset, preset.alias, createUncachedDescriptors),\n);\nconst loadPresetEnvDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadPresetOverridesDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadPresetOverridesEnvDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nexport type FileHandling = \"transpile\" | \"ignored\" | \"unsupported\";\nexport type RootConfigChain = ConfigChain & {\n babelrc: ConfigFile | undefined;\n config: ConfigFile | undefined;\n ignore: IgnoreFile | undefined;\n fileHandling: FileHandling;\n files: Set;\n};\n\n/**\n * Build a config chain for Babel's full root configuration.\n */\nexport function* buildRootChain(\n opts: InputOptions,\n context: ConfigContext,\n): Handler {\n let configReport, babelRcReport;\n const programmaticLogger = new ConfigPrinter();\n const programmaticChain = yield* loadProgrammaticChain(\n {\n options: opts,\n dirname: context.cwd,\n },\n context,\n undefined,\n programmaticLogger,\n );\n if (!programmaticChain) return null;\n const programmaticReport = yield* programmaticLogger.output();\n\n let configFile;\n if (typeof opts.configFile === \"string\") {\n configFile = yield* loadConfig(\n opts.configFile,\n context.cwd,\n context.envName,\n context.caller,\n );\n } else if (opts.configFile !== false) {\n configFile = yield* findRootConfig(\n context.root,\n context.envName,\n context.caller,\n );\n }\n\n let { babelrc, babelrcRoots } = opts;\n let babelrcRootsDirectory = context.cwd;\n\n const configFileChain = emptyChain();\n const configFileLogger = new ConfigPrinter();\n if (configFile) {\n const validatedFile = validateConfigFile(configFile);\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n configFileLogger,\n );\n if (!result) return null;\n configReport = yield* configFileLogger.output();\n\n // Allow config files to toggle `.babelrc` resolution on and off and\n // specify where the roots are.\n if (babelrc === undefined) {\n babelrc = validatedFile.options.babelrc;\n }\n if (babelrcRoots === undefined) {\n babelrcRootsDirectory = validatedFile.dirname;\n babelrcRoots = validatedFile.options.babelrcRoots;\n }\n\n mergeChain(configFileChain, result);\n }\n\n let ignoreFile, babelrcFile;\n let isIgnored = false;\n const fileChain = emptyChain();\n // resolve all .babelrc files\n if (\n (babelrc === true || babelrc === undefined) &&\n typeof context.filename === \"string\"\n ) {\n const pkgData = yield* findPackageData(context.filename);\n\n if (\n pkgData &&\n babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)\n ) {\n ({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(\n pkgData,\n context.envName,\n context.caller,\n ));\n\n if (ignoreFile) {\n fileChain.files.add(ignoreFile.filepath);\n }\n\n if (\n ignoreFile &&\n shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)\n ) {\n isIgnored = true;\n }\n\n if (babelrcFile && !isIgnored) {\n const validatedFile = validateBabelrcFile(babelrcFile);\n const babelrcLogger = new ConfigPrinter();\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n babelrcLogger,\n );\n if (!result) {\n isIgnored = true;\n } else {\n babelRcReport = yield* babelrcLogger.output();\n mergeChain(fileChain, result);\n }\n }\n\n if (babelrcFile && isIgnored) {\n fileChain.files.add(babelrcFile.filepath);\n }\n }\n }\n\n if (context.showConfig) {\n console.log(\n `Babel configs on \"${context.filename}\" (ascending priority):\\n` +\n // print config by the order of ascending priority\n [configReport, babelRcReport, programmaticReport]\n .filter(x => !!x)\n .join(\"\\n\\n\") +\n \"\\n-----End Babel configs-----\",\n );\n }\n // Insert file chain in front so programmatic options have priority\n // over configuration file chain items.\n const chain = mergeChain(\n mergeChain(mergeChain(emptyChain(), configFileChain), fileChain),\n programmaticChain,\n );\n\n return {\n plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),\n presets: isIgnored ? [] : dedupDescriptors(chain.presets),\n options: isIgnored\n ? []\n : chain.options.map(o => createConfigChainOptions(o)),\n fileHandling: isIgnored ? \"ignored\" : \"transpile\",\n ignore: ignoreFile || undefined,\n babelrc: babelrcFile || undefined,\n config: configFile || undefined,\n files: chain.files,\n };\n}\n\nfunction babelrcLoadEnabled(\n context: ConfigContext,\n pkgData: FilePackageData,\n babelrcRoots: BabelrcSearch | undefined,\n babelrcRootsDirectory: string,\n): boolean {\n if (typeof babelrcRoots === \"boolean\") return babelrcRoots;\n\n const absoluteRoot = context.root;\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcRoots === undefined) {\n return pkgData.directories.includes(absoluteRoot);\n }\n\n let babelrcPatterns = babelrcRoots;\n if (!Array.isArray(babelrcPatterns)) {\n babelrcPatterns = [babelrcPatterns];\n }\n babelrcPatterns = babelrcPatterns.map(pat => {\n return typeof pat === \"string\"\n ? path.resolve(babelrcRootsDirectory, pat)\n : pat;\n });\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {\n return pkgData.directories.includes(absoluteRoot);\n }\n\n return babelrcPatterns.some(pat => {\n if (typeof pat === \"string\") {\n pat = pathPatternToRegex(pat, babelrcRootsDirectory);\n }\n\n return pkgData.directories.some(directory => {\n return matchPattern(pat, babelrcRootsDirectory, directory, context);\n });\n });\n}\n\nconst validateConfigFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"configfile\", file.options, file.filepath),\n }),\n);\n\nconst validateBabelrcFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"babelrcfile\", file.options, file.filepath),\n }),\n);\n\nconst validateExtendFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"extendsfile\", file.options, file.filepath),\n }),\n);\n\n/**\n * Build a config chain for just the programmatic options passed into Babel.\n */\nconst loadProgrammaticChain = makeChainWalker({\n root: input => buildRootDescriptors(input, \"base\", createCachedDescriptors),\n env: (input, envName) =>\n buildEnvDescriptors(input, \"base\", createCachedDescriptors, envName),\n overrides: (input, index) =>\n buildOverrideDescriptors(input, \"base\", createCachedDescriptors, index),\n overridesEnv: (input, index, envName) =>\n buildOverrideEnvDescriptors(\n input,\n \"base\",\n createCachedDescriptors,\n index,\n envName,\n ),\n createLogger: (input, context, baseLogger) =>\n buildProgrammaticLogger(input, context, baseLogger),\n});\n\n/**\n * Build a config chain for a given file.\n */\nconst loadFileChainWalker = makeChainWalker({\n root: file => loadFileDescriptors(file),\n env: (file, envName) => loadFileEnvDescriptors(file)(envName),\n overrides: (file, index) => loadFileOverridesDescriptors(file)(index),\n overridesEnv: (file, index, envName) =>\n loadFileOverridesEnvDescriptors(file)(index)(envName),\n createLogger: (file, context, baseLogger) =>\n buildFileLogger(file.filepath, context, baseLogger),\n});\n\nfunction* loadFileChain(\n input: ValidatedFile,\n context: ConfigContext,\n files: Set,\n baseLogger: ConfigPrinter,\n) {\n const chain = yield* loadFileChainWalker(input, context, files, baseLogger);\n chain?.files.add(input.filepath);\n\n return chain;\n}\n\nconst loadFileDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n buildRootDescriptors(file, file.filepath, createUncachedDescriptors),\n);\nconst loadFileEnvDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadFileOverridesDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadFileOverridesEnvDescriptors = makeWeakCacheSync(\n (file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nfunction buildFileLogger(\n filepath: string,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Config, {\n filepath,\n });\n}\n\nfunction buildRootDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: InputOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n) {\n return descriptors(dirname, options, alias);\n}\n\nfunction buildProgrammaticLogger(\n _: unknown,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {\n callerName: context.caller?.name,\n });\n}\n\nfunction buildEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: InputOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n envName: string,\n) {\n const opts = options.env?.[envName];\n return opts ? descriptors(dirname, opts, `${alias}.env[\"${envName}\"]`) : null;\n}\n\nfunction buildOverrideDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: InputOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n) {\n const opts = options.overrides?.[index];\n if (!opts) throw new Error(\"Assertion failure - missing override\");\n\n return descriptors(dirname, opts, `${alias}.overrides[${index}]`);\n}\n\nfunction buildOverrideEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: InputOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n envName: string,\n) {\n const override = options.overrides?.[index];\n if (!override) throw new Error(\"Assertion failure - missing override\");\n\n const opts = override.env?.[envName];\n return opts\n ? descriptors(\n dirname,\n opts,\n `${alias}.overrides[${index}].env[\"${envName}\"]`,\n )\n : null;\n}\n\nfunction makeChainWalker<\n ArgT extends {\n options: InputOptions;\n dirname: string;\n filepath?: string;\n },\n>({\n root,\n env,\n overrides,\n overridesEnv,\n createLogger,\n}: {\n root: (configEntry: ArgT) => OptionsAndDescriptors;\n env: (configEntry: ArgT, env: string) => OptionsAndDescriptors | null;\n overrides: (configEntry: ArgT, index: number) => OptionsAndDescriptors;\n overridesEnv: (\n configEntry: ArgT,\n index: number,\n env: string,\n ) => OptionsAndDescriptors | null;\n createLogger: (\n configEntry: ArgT,\n context: ConfigContext,\n printer: ConfigPrinter | void,\n ) => (\n opts: OptionsAndDescriptors,\n index?: number | null,\n env?: string | null,\n ) => void;\n}): (\n configEntry: ArgT,\n context: ConfigContext,\n files?: Set,\n baseLogger?: ConfigPrinter,\n) => Handler {\n return function* chainWalker(input, context, files = new Set(), baseLogger) {\n const { dirname } = input;\n\n const flattenedConfigs: {\n config: OptionsAndDescriptors;\n index: number | undefined | null;\n envName: string | undefined | null;\n }[] = [];\n\n const rootOpts = root(input);\n if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: rootOpts,\n envName: undefined,\n index: undefined,\n });\n\n const envOpts = env(input, context.envName);\n if (\n envOpts &&\n configIsApplicable(envOpts, dirname, context, input.filepath)\n ) {\n flattenedConfigs.push({\n config: envOpts,\n envName: context.envName,\n index: undefined,\n });\n }\n\n (rootOpts.options.overrides || []).forEach((_, index) => {\n const overrideOps = overrides(input, index);\n if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideOps,\n index,\n envName: undefined,\n });\n\n const overrideEnvOpts = overridesEnv(input, index, context.envName);\n if (\n overrideEnvOpts &&\n configIsApplicable(\n overrideEnvOpts,\n dirname,\n context,\n input.filepath,\n )\n ) {\n flattenedConfigs.push({\n config: overrideEnvOpts,\n index,\n envName: context.envName,\n });\n }\n }\n });\n }\n\n // Process 'ignore' and 'only' before 'extends' items are processed so\n // that we don't do extra work loading extended configs if a file is\n // ignored.\n if (\n flattenedConfigs.some(\n ({\n config: {\n options: { ignore, only },\n },\n }) => shouldIgnore(context, ignore, only, dirname),\n )\n ) {\n return null;\n }\n\n const chain = emptyChain();\n const logger = createLogger(input, context, baseLogger);\n\n for (const { config, index, envName } of flattenedConfigs) {\n if (\n !(yield* mergeExtendsChain(\n chain,\n config.options,\n dirname,\n context,\n files,\n baseLogger,\n ))\n ) {\n return null;\n }\n\n logger(config, index, envName);\n yield* mergeChainOpts(chain, config);\n }\n return chain;\n };\n}\n\nfunction* mergeExtendsChain(\n chain: ConfigChain,\n opts: InputOptions,\n dirname: string,\n context: ConfigContext,\n files: Set,\n baseLogger?: ConfigPrinter,\n): Handler {\n if (opts.extends === undefined) return true;\n\n const file = yield* loadConfig(\n opts.extends,\n dirname,\n context.envName,\n context.caller,\n );\n\n if (files.has(file)) {\n throw new Error(\n `Configuration cycle detected loading ${file.filepath}.\\n` +\n `File already loaded following the config chain:\\n` +\n Array.from(files, file => ` - ${file.filepath}`).join(\"\\n\"),\n );\n }\n\n files.add(file);\n const fileChain = yield* loadFileChain(\n validateExtendFile(file),\n context,\n files,\n baseLogger,\n );\n files.delete(file);\n\n if (!fileChain) return false;\n\n mergeChain(chain, fileChain);\n\n return true;\n}\n\nfunction mergeChain(target: ConfigChain, source: ConfigChain): ConfigChain {\n target.options.push(...source.options);\n target.plugins.push(...source.plugins);\n target.presets.push(...source.presets);\n for (const file of source.files) {\n target.files.add(file);\n }\n\n return target;\n}\n\nfunction* mergeChainOpts(\n target: ConfigChain,\n { options, plugins, presets }: OptionsAndDescriptors,\n): Handler {\n target.options.push(options);\n target.plugins.push(...(yield* plugins()));\n target.presets.push(...(yield* presets()));\n\n return target;\n}\n\nfunction emptyChain(): ConfigChain {\n return {\n options: [],\n presets: [],\n plugins: [],\n files: new Set(),\n };\n}\n\nfunction createConfigChainOptions(opts: InputOptions): ConfigChainOptions {\n const options = {\n ...opts,\n };\n delete options.extends;\n delete options.env;\n delete options.overrides;\n delete options.plugins;\n delete options.presets;\n delete options.passPerPreset;\n delete options.ignore;\n delete options.only;\n delete options.test;\n delete options.include;\n delete options.exclude;\n\n // \"sourceMap\" is just aliased to sourceMap, so copy it over as\n // we merge the options together.\n if (Object.hasOwn(options, \"sourceMap\")) {\n options.sourceMaps = options.sourceMap;\n delete options.sourceMap;\n }\n return options;\n}\n\nfunction dedupDescriptors(\n items: UnloadedDescriptor[],\n): UnloadedDescriptor[] {\n const map = new Map<\n Function,\n Map }>\n >();\n\n const descriptors = [];\n\n for (const item of items) {\n if (typeof item.value === \"function\") {\n const fnKey = item.value;\n let nameMap = map.get(fnKey);\n if (!nameMap) {\n nameMap = new Map();\n map.set(fnKey, nameMap);\n }\n let desc = nameMap.get(item.name);\n if (!desc) {\n desc = { value: item };\n descriptors.push(desc);\n\n // Treat passPerPreset presets as unique, skipping them\n // in the merge processing steps.\n if (!item.ownPass) nameMap.set(item.name, desc);\n } else {\n desc.value = item;\n }\n } else {\n descriptors.push({ value: item });\n }\n }\n\n return descriptors.reduce((acc, desc) => {\n acc.push(desc.value);\n return acc;\n }, []);\n}\n\nfunction configIsApplicable(\n { options }: OptionsAndDescriptors,\n dirname: string,\n context: ConfigContext,\n configName: string,\n): boolean {\n return (\n (options.test === undefined ||\n configFieldIsApplicable(context, options.test, dirname, configName)) &&\n (options.include === undefined ||\n configFieldIsApplicable(context, options.include, dirname, configName)) &&\n (options.exclude === undefined ||\n !configFieldIsApplicable(context, options.exclude, dirname, configName))\n );\n}\n\nfunction configFieldIsApplicable(\n context: ConfigContext,\n test: ConfigApplicableTest,\n dirname: string,\n configName: string,\n): boolean {\n const patterns = Array.isArray(test) ? test : [test];\n\n return matchesPatterns(context, patterns, dirname, configName);\n}\n\n/**\n * Print the ignoreList-values in a more helpful way than the default.\n */\nfunction ignoreListReplacer(\n _key: string,\n value: MatchItem[] | MatchItem,\n): MatchItem[] | MatchItem | string {\n if (value instanceof RegExp) {\n return String(value);\n }\n\n return value;\n}\n\n/**\n * Tests if a filename should be ignored based on \"ignore\" and \"only\" options.\n */\nfunction shouldIgnore(\n context: ConfigContext,\n ignore: MatchItem[] | undefined | null,\n only: MatchItem[] | undefined | null,\n dirname: string,\n): boolean {\n if (ignore && matchesPatterns(context, ignore, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it matches one of \\`ignore: ${JSON.stringify(\n ignore,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n if (only && !matchesPatterns(context, only, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it fails to match one of \\`only: ${JSON.stringify(\n only,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns result of calling function with filename if pattern is a function.\n * Otherwise returns result of matching pattern Regex with filename.\n */\nfunction matchesPatterns(\n context: ConfigContext,\n patterns: MatchItem[],\n dirname: string,\n configName?: string,\n): boolean {\n return patterns.some(pattern =>\n matchPattern(pattern, dirname, context.filename, context, configName),\n );\n}\n\nfunction matchPattern(\n pattern: MatchItem,\n dirname: string,\n pathToTest: string | undefined,\n context: ConfigContext,\n configName?: string,\n): boolean {\n if (typeof pattern === \"function\") {\n return !!endHiddenCallStack(pattern)(pathToTest, {\n dirname,\n envName: context.envName,\n caller: context.caller,\n });\n }\n\n if (typeof pathToTest !== \"string\") {\n throw new ConfigError(\n `Configuration contains string/RegExp pattern, but no filename was passed to Babel`,\n configName,\n );\n }\n\n if (typeof pattern === \"string\") {\n pattern = pathPatternToRegex(pattern, dirname);\n }\n return pattern.test(pathToTest);\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/config-descriptors.js b/client/node_modules/@babel/core/lib/config/config-descriptors.js new file mode 100644 index 0000000..21fb414 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/config-descriptors.js @@ -0,0 +1,190 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createCachedDescriptors = createCachedDescriptors; +exports.createDescriptor = createDescriptor; +exports.createUncachedDescriptors = createUncachedDescriptors; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _functional = require("../gensync-utils/functional.js"); +var _index = require("./files/index.js"); +var _item = require("./item.js"); +var _caching = require("./caching.js"); +var _resolveTargets = require("./resolve-targets.js"); +function isEqualDescriptor(a, b) { + var _a$file, _b$file, _a$file2, _b$file2; + return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && ((_a$file = a.file) == null ? void 0 : _a$file.request) === ((_b$file = b.file) == null ? void 0 : _b$file.request) && ((_a$file2 = a.file) == null ? void 0 : _a$file2.resolved) === ((_b$file2 = b.file) == null ? void 0 : _b$file2.resolved); +} +function* handlerOf(value) { + return value; +} +function optionsWithResolvedBrowserslistConfigFile(options, dirname) { + if (typeof options.browserslistConfigFile === "string") { + options.browserslistConfigFile = (0, _resolveTargets.resolveBrowserslistConfigFile)(options.browserslistConfigFile, dirname); + } + return options; +} +function createCachedDescriptors(dirname, options, alias) { + const { + plugins, + presets, + passPerPreset + } = options; + return { + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => handlerOf([]), + presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => handlerOf([]) + }; +} +function createUncachedDescriptors(dirname, options, alias) { + return { + options: optionsWithResolvedBrowserslistConfigFile(options, dirname), + plugins: (0, _functional.once)(() => createPluginDescriptors(options.plugins || [], dirname, alias)), + presets: (0, _functional.once)(() => createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset)) + }; +} +const PRESET_DESCRIPTOR_CACHE = new WeakMap(); +const createCachedPresetDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { + const dirname = cache.using(dir => dir); + return (0, _caching.makeStrongCacheSync)(alias => (0, _caching.makeStrongCache)(function* (passPerPreset) { + const descriptors = yield* createPresetDescriptors(items, dirname, alias, passPerPreset); + return descriptors.map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc)); + })); +}); +const PLUGIN_DESCRIPTOR_CACHE = new WeakMap(); +const createCachedPluginDescriptors = (0, _caching.makeWeakCacheSync)((items, cache) => { + const dirname = cache.using(dir => dir); + return (0, _caching.makeStrongCache)(function* (alias) { + const descriptors = yield* createPluginDescriptors(items, dirname, alias); + return descriptors.map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc)); + }); +}); +const DEFAULT_OPTIONS = {}; +function loadCachedDescriptor(cache, desc) { + const { + value, + options = DEFAULT_OPTIONS + } = desc; + if (options === false) return desc; + let cacheByOptions = cache.get(value); + if (!cacheByOptions) { + cacheByOptions = new WeakMap(); + cache.set(value, cacheByOptions); + } + let possibilities = cacheByOptions.get(options); + if (!possibilities) { + possibilities = []; + cacheByOptions.set(options, possibilities); + } + if (!possibilities.includes(desc)) { + const matches = possibilities.filter(possibility => isEqualDescriptor(possibility, desc)); + if (matches.length > 0) { + return matches[0]; + } + possibilities.push(desc); + } + return desc; +} +function* createPresetDescriptors(items, dirname, alias, passPerPreset) { + return yield* createDescriptors("preset", items, dirname, alias, passPerPreset); +} +function* createPluginDescriptors(items, dirname, alias) { + return yield* createDescriptors("plugin", items, dirname, alias); +} +function* createDescriptors(type, items, dirname, alias, ownPass) { + const descriptors = yield* _gensync().all(items.map((item, index) => createDescriptor(item, dirname, { + type, + alias: `${alias}$${index}`, + ownPass: !!ownPass + }))); + assertNoDuplicates(descriptors); + return descriptors; +} +function* createDescriptor(pair, dirname, { + type, + alias, + ownPass +}) { + const desc = (0, _item.getItemDescriptor)(pair); + if (desc) { + return desc; + } + let name; + let options; + let value = pair; + if (Array.isArray(value)) { + if (value.length === 3) { + [value, options, name] = value; + } else { + [value, options] = value; + } + } + let file = undefined; + let filepath = null; + if (typeof value === "string") { + if (typeof type !== "string") { + throw new Error("To resolve a string-based item, the type of item must be given"); + } + const resolver = type === "plugin" ? _index.loadPlugin : _index.loadPreset; + const request = value; + ({ + filepath, + value + } = yield* resolver(value, dirname)); + file = { + request, + resolved: filepath + }; + } + if (!value) { + throw new Error(`Unexpected falsy value: ${String(value)}`); + } + if (typeof value === "object" && value.__esModule) { + if (value.default) { + value = value.default; + } else { + throw new Error("Must export a default export when using ES6 modules."); + } + } + if (typeof value !== "object" && typeof value !== "function") { + throw new Error(`Unsupported format: ${typeof value}. Expected an object or a function.`); + } + if (filepath !== null && typeof value === "object" && value) { + throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`); + } + return { + name, + alias: filepath || alias, + value, + options, + dirname, + ownPass, + file + }; +} +function assertNoDuplicates(items) { + const map = new Map(); + for (const item of items) { + if (typeof item.value !== "function") continue; + let nameMap = map.get(item.value); + if (!nameMap) { + nameMap = new Set(); + map.set(item.value, nameMap); + } + if (nameMap.has(item.name)) { + const conflicts = items.filter(i => i.value === item.value); + throw new Error([`Duplicate plugin/preset detected.`, `If you'd like to use two separate instances of a plugin,`, `they need separate names, e.g.`, ``, ` plugins: [`, ` ['some-plugin', {}],`, ` ['some-plugin', {}, 'some unique name'],`, ` ]`, ``, `Duplicates detected are:`, `${JSON.stringify(conflicts, null, 2)}`].join("\n")); + } + nameMap.add(item.name); + } +} +0 && 0; + +//# sourceMappingURL=config-descriptors.js.map diff --git a/client/node_modules/@babel/core/lib/config/config-descriptors.js.map b/client/node_modules/@babel/core/lib/config/config-descriptors.js.map new file mode 100644 index 0000000..b51b2cb --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/config-descriptors.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_functional","_index","_item","_caching","_resolveTargets","isEqualDescriptor","a","b","_a$file","_b$file","_a$file2","_b$file2","name","value","options","dirname","alias","ownPass","file","request","resolved","handlerOf","optionsWithResolvedBrowserslistConfigFile","browserslistConfigFile","resolveBrowserslistConfigFile","createCachedDescriptors","plugins","presets","passPerPreset","createCachedPluginDescriptors","createCachedPresetDescriptors","createUncachedDescriptors","once","createPluginDescriptors","createPresetDescriptors","PRESET_DESCRIPTOR_CACHE","WeakMap","makeWeakCacheSync","items","cache","using","dir","makeStrongCacheSync","makeStrongCache","descriptors","map","desc","loadCachedDescriptor","PLUGIN_DESCRIPTOR_CACHE","DEFAULT_OPTIONS","cacheByOptions","get","set","possibilities","includes","matches","filter","possibility","length","push","createDescriptors","type","gensync","all","item","index","createDescriptor","assertNoDuplicates","pair","getItemDescriptor","Array","isArray","undefined","filepath","Error","resolver","loadPlugin","loadPreset","String","__esModule","default","Map","nameMap","Set","has","conflicts","i","JSON","stringify","join","add"],"sources":["../../src/config/config-descriptors.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport { once } from \"../gensync-utils/functional.ts\";\n\nimport { loadPlugin, loadPreset } from \"./files/index.ts\";\n\nimport { getItemDescriptor } from \"./item.ts\";\n\nimport {\n makeWeakCacheSync,\n makeStrongCacheSync,\n makeStrongCache,\n} from \"./caching.ts\";\nimport type { CacheConfigurator } from \"./caching.ts\";\n\nimport type {\n PluginItem,\n InputOptions,\n PresetItem,\n} from \"./validation/options.ts\";\n\nimport { resolveBrowserslistConfigFile } from \"./resolve-targets.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\n// Represents a config object and functions to lazily load the descriptors\n// for the plugins and presets so we don't load the plugins/presets unless\n// the options object actually ends up being applicable.\nexport type OptionsAndDescriptors = {\n options: InputOptions;\n plugins: () => Handler[]>;\n presets: () => Handler[]>;\n};\n\n// Represents a plugin or presets at a given location in a config object.\n// At this point these have been resolved to a specific object or function,\n// but have not yet been executed to call functions with options.\nexport interface UnloadedDescriptor {\n name: string | undefined;\n value: object | ((api: API, options: Options, dirname: string) => unknown);\n options: Options;\n dirname: string;\n alias: string;\n ownPass?: boolean;\n file?: {\n request: string;\n resolved: string;\n };\n}\n\nfunction isEqualDescriptor(\n a: UnloadedDescriptor,\n b: UnloadedDescriptor,\n): boolean {\n return (\n a.name === b.name &&\n a.value === b.value &&\n a.options === b.options &&\n a.dirname === b.dirname &&\n a.alias === b.alias &&\n a.ownPass === b.ownPass &&\n a.file?.request === b.file?.request &&\n a.file?.resolved === b.file?.resolved\n );\n}\n\nexport type ValidatedFile = {\n filepath: string;\n dirname: string;\n options: InputOptions;\n};\n\n// eslint-disable-next-line require-yield\nfunction* handlerOf(value: T): Handler {\n return value;\n}\n\nfunction optionsWithResolvedBrowserslistConfigFile(\n options: InputOptions,\n dirname: string,\n): InputOptions {\n if (typeof options.browserslistConfigFile === \"string\") {\n options.browserslistConfigFile = resolveBrowserslistConfigFile(\n options.browserslistConfigFile,\n dirname,\n );\n }\n return options;\n}\n\n/**\n * Create a set of descriptors from a given options object, preserving\n * descriptor identity based on the identity of the plugin/preset arrays\n * themselves, and potentially on the identity of the plugins/presets + options.\n */\nexport function createCachedDescriptors(\n dirname: string,\n options: InputOptions,\n alias: string,\n): OptionsAndDescriptors {\n const { plugins, presets, passPerPreset } = options;\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: plugins\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPluginDescriptors(plugins, dirname)(alias)\n : () => handlerOf([]),\n presets: presets\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPresetDescriptors(presets, dirname)(alias)(\n !!passPerPreset,\n )\n : () => handlerOf([]),\n };\n}\n\n/**\n * Create a set of descriptors from a given options object, with consistent\n * identity for the descriptors, but not caching based on any specific identity.\n */\nexport function createUncachedDescriptors(\n dirname: string,\n options: InputOptions,\n alias: string,\n): OptionsAndDescriptors {\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n // The returned result here is cached to represent a config object in\n // memory, so we build and memoize the descriptors to ensure the same\n // values are returned consistently.\n plugins: once(() =>\n createPluginDescriptors(options.plugins || [], dirname, alias),\n ),\n presets: once(() =>\n createPresetDescriptors(\n options.presets || [],\n dirname,\n alias,\n !!options.passPerPreset,\n ),\n ),\n };\n}\n\nconst PRESET_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPresetDescriptors = makeWeakCacheSync(\n (items: PresetItem[], cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCacheSync((alias: string) =>\n makeStrongCache(function* (\n passPerPreset: boolean,\n ): Handler[]> {\n const descriptors = yield* createPresetDescriptors(\n items,\n dirname,\n alias,\n passPerPreset,\n );\n return descriptors.map(\n // Items are cached using the overall preset array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc),\n );\n }),\n );\n },\n);\n\nconst PLUGIN_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPluginDescriptors = makeWeakCacheSync(\n (items: PluginItem[], cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCache(function* (\n alias: string,\n ): Handler[]> {\n const descriptors = yield* createPluginDescriptors(items, dirname, alias);\n return descriptors.map(\n // Items are cached using the overall plugin array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc),\n );\n });\n },\n);\n\n/**\n * When no options object is given in a descriptor, this object is used\n * as a WeakMap key in order to have consistent identity.\n */\nconst DEFAULT_OPTIONS = {};\n\n/**\n * Given the cache and a descriptor, returns a matching descriptor from the\n * cache, or else returns the input descriptor and adds it to the cache for\n * next time.\n */\nfunction loadCachedDescriptor(\n cache: WeakMap[]>>,\n desc: UnloadedDescriptor,\n) {\n const { value, options = DEFAULT_OPTIONS } = desc;\n if (options === false) return desc;\n\n let cacheByOptions = cache.get(value);\n if (!cacheByOptions) {\n cacheByOptions = new WeakMap();\n cache.set(value, cacheByOptions);\n }\n\n let possibilities = cacheByOptions.get(options);\n if (!possibilities) {\n possibilities = [];\n cacheByOptions.set(options, possibilities);\n }\n\n if (!possibilities.includes(desc)) {\n const matches = possibilities.filter(possibility =>\n isEqualDescriptor(possibility, desc),\n );\n if (matches.length > 0) {\n return matches[0];\n }\n\n possibilities.push(desc);\n }\n\n return desc;\n}\n\nfunction* createPresetDescriptors(\n items: PresetItem[],\n dirname: string,\n alias: string,\n passPerPreset: boolean,\n): Handler[]> {\n return yield* createDescriptors(\n \"preset\",\n items,\n dirname,\n alias,\n passPerPreset,\n );\n}\n\nfunction* createPluginDescriptors(\n items: PluginItem[],\n dirname: string,\n alias: string,\n): Handler[]> {\n return yield* createDescriptors(\"plugin\", items, dirname, alias);\n}\n\nfunction* createDescriptors(\n type: Type,\n items: Type extends \"plugin\" ? PluginItem[] : PresetItem[],\n dirname: string,\n alias: string,\n ownPass?: boolean,\n): Handler<\n UnloadedDescriptor[]\n> {\n const descriptors = yield* gensync.all(\n items.map((item, index) =>\n createDescriptor(item, dirname, {\n type,\n alias: `${alias}$${index}`,\n ownPass: !!ownPass,\n }),\n ),\n );\n\n assertNoDuplicates(descriptors);\n\n return descriptors;\n}\n\n/**\n * Given a plugin/preset item, resolve it into a standard format.\n */\nexport function* createDescriptor(\n pair: PluginItem | PresetItem,\n dirname: string,\n {\n type,\n alias,\n ownPass,\n }: {\n type?: \"plugin\" | \"preset\";\n alias: string;\n ownPass?: boolean;\n },\n): Handler> {\n const desc = getItemDescriptor(pair);\n if (desc) {\n return desc;\n }\n\n let name;\n let options;\n let value = pair;\n if (Array.isArray(value)) {\n if (value.length === 3) {\n [value, options, name] = value;\n } else {\n [value, options] = value;\n }\n }\n\n let file = undefined;\n let filepath = null;\n if (typeof value === \"string\") {\n if (typeof type !== \"string\") {\n throw new Error(\n \"To resolve a string-based item, the type of item must be given\",\n );\n }\n const resolver = type === \"plugin\" ? loadPlugin : loadPreset;\n const request = value;\n\n // @ts-expect-error value must be a PluginItem\n ({ filepath, value } = yield* resolver(value, dirname));\n\n file = {\n request,\n resolved: filepath,\n };\n }\n\n if (!value) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n throw new Error(`Unexpected falsy value: ${String(value)}`);\n }\n\n // @ts-expect-error Handle transpiled ES6 modules.\n if (typeof value === \"object\" && value.__esModule) {\n // @ts-expect-error Handle transpiled ES6 modules.\n if (value.default) {\n // @ts-expect-error Handle transpiled ES6 modules.\n value = value.default;\n } else {\n throw new Error(\"Must export a default export when using ES6 modules.\");\n }\n }\n\n if (typeof value !== \"object\" && typeof value !== \"function\") {\n throw new Error(\n `Unsupported format: ${typeof value}. Expected an object or a function.`,\n );\n }\n\n if (filepath !== null && typeof value === \"object\" && value) {\n // We allow object values for plugins/presets nested directly within a\n // config object, because it can be useful to define them in nested\n // configuration contexts.\n throw new Error(\n `Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`,\n );\n }\n\n return {\n name,\n alias: filepath || alias,\n value,\n options,\n dirname,\n ownPass,\n file,\n };\n}\n\nfunction assertNoDuplicates(items: UnloadedDescriptor[]): void {\n const map = new Map();\n\n for (const item of items) {\n if (typeof item.value !== \"function\") continue;\n\n let nameMap = map.get(item.value);\n if (!nameMap) {\n nameMap = new Set();\n map.set(item.value, nameMap);\n }\n\n if (nameMap.has(item.name)) {\n const conflicts = items.filter(i => i.value === item.value);\n throw new Error(\n [\n `Duplicate plugin/preset detected.`,\n `If you'd like to use two separate instances of a plugin,`,\n `they need separate names, e.g.`,\n ``,\n ` plugins: [`,\n ` ['some-plugin', {}],`,\n ` ['some-plugin', {}, 'some unique name'],`,\n ` ]`,\n ``,\n `Duplicates detected are:`,\n `${JSON.stringify(conflicts, null, 2)}`,\n ].join(\"\\n\"),\n );\n }\n\n nameMap.add(item.name);\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/configuration.js b/client/node_modules/@babel/core/lib/config/files/configuration.js new file mode 100644 index 0000000..582fc32 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/configuration.js @@ -0,0 +1,290 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ROOT_CONFIG_FILENAMES = void 0; +exports.findConfigUpwards = findConfigUpwards; +exports.findRelativeConfig = findRelativeConfig; +exports.findRootConfig = findRootConfig; +exports.loadConfig = loadConfig; +exports.resolveShowConfigPath = resolveShowConfigPath; +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +function _fs() { + const data = require("fs"); + _fs = function () { + return data; + }; + return data; +} +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _json() { + const data = require("json5"); + _json = function () { + return data; + }; + return data; +} +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _caching = require("../caching.js"); +var _configApi = require("../helpers/config-api.js"); +var _utils = require("./utils.js"); +var _moduleTypes = require("./module-types.js"); +var _patternToRegex = require("../pattern-to-regex.js"); +var _configError = require("../../errors/config-error.js"); +var fs = require("../../gensync-utils/fs.js"); +require("module"); +var _rewriteStackTrace = require("../../errors/rewrite-stack-trace.js"); +var _async = require("../../gensync-utils/async.js"); +const debug = _debug()("babel:config:loading:files:configuration"); +const ROOT_CONFIG_FILENAMES = exports.ROOT_CONFIG_FILENAMES = ["babel.config.js", "babel.config.cjs", "babel.config.mjs", "babel.config.json", "babel.config.cts", "babel.config.ts", "babel.config.mts"]; +const RELATIVE_CONFIG_FILENAMES = [".babelrc", ".babelrc.js", ".babelrc.cjs", ".babelrc.mjs", ".babelrc.json", ".babelrc.cts"]; +const BABELIGNORE_FILENAME = ".babelignore"; +const runConfig = (0, _caching.makeWeakCache)(function* runConfig(options, cache) { + yield* []; + return { + options: (0, _rewriteStackTrace.endHiddenCallStack)(options)((0, _configApi.makeConfigAPI)(cache)), + cacheNeedsConfiguration: !cache.configured() + }; +}); +function* readConfigCode(filepath, data) { + if (!_fs().existsSync(filepath)) return null; + let options = yield* (0, _moduleTypes.default)(filepath, (yield* (0, _async.isAsync)()) ? "auto" : "require", "You appear to be using a native ECMAScript module configuration " + "file, which is only supported when running Babel asynchronously " + "or when using the Node.js `--experimental-require-module` flag.", "You appear to be using a configuration file that contains top-level " + "await, which is only supported when running Babel asynchronously."); + let cacheNeedsConfiguration = false; + if (typeof options === "function") { + ({ + options, + cacheNeedsConfiguration + } = yield* runConfig(options, data)); + } + if (!options || typeof options !== "object" || Array.isArray(options)) { + throw new _configError.default(`Configuration should be an exported JavaScript object.`, filepath); + } + if (typeof options.then === "function") { + options.catch == null || options.catch(() => {}); + throw new _configError.default(`You appear to be using an async configuration, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously return your config.`, filepath); + } + if (cacheNeedsConfiguration) throwConfigError(filepath); + return buildConfigFileObject(options, filepath); +} +const cfboaf = new WeakMap(); +function buildConfigFileObject(options, filepath) { + let configFilesByFilepath = cfboaf.get(options); + if (!configFilesByFilepath) { + cfboaf.set(options, configFilesByFilepath = new Map()); + } + let configFile = configFilesByFilepath.get(filepath); + if (!configFile) { + configFile = { + filepath, + dirname: _path().dirname(filepath), + options + }; + configFilesByFilepath.set(filepath, configFile); + } + return configFile; +} +const packageToBabelConfig = (0, _caching.makeWeakCacheSync)(file => { + const babel = file.options.babel; + if (babel === undefined) return null; + if (typeof babel !== "object" || Array.isArray(babel) || babel === null) { + throw new _configError.default(`.babel property must be an object`, file.filepath); + } + return { + filepath: file.filepath, + dirname: file.dirname, + options: babel + }; +}); +const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => { + let options; + try { + options = _json().parse(content); + } catch (err) { + throw new _configError.default(`Error while parsing config - ${err.message}`, filepath); + } + if (!options) throw new _configError.default(`No config detected`, filepath); + if (typeof options !== "object") { + throw new _configError.default(`Config returned typeof ${typeof options}`, filepath); + } + if (Array.isArray(options)) { + throw new _configError.default(`Expected config object but found array`, filepath); + } + delete options.$schema; + return { + filepath, + dirname: _path().dirname(filepath), + options + }; +}); +const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => { + const ignoreDir = _path().dirname(filepath); + const ignorePatterns = content.split("\n").map(line => line.replace(/#.*$/, "").trim()).filter(Boolean); + for (const pattern of ignorePatterns) { + if (pattern.startsWith("!")) { + throw new _configError.default(`Negation of file paths is not supported.`, filepath); + } + } + return { + filepath, + dirname: _path().dirname(filepath), + ignore: ignorePatterns.map(pattern => (0, _patternToRegex.default)(pattern, ignoreDir)) + }; +}); +function findConfigUpwards(rootDir) { + let dirname = rootDir; + for (;;) { + for (const filename of ROOT_CONFIG_FILENAMES) { + if (_fs().existsSync(_path().join(dirname, filename))) { + return dirname; + } + } + const nextDir = _path().dirname(dirname); + if (dirname === nextDir) break; + dirname = nextDir; + } + return null; +} +function* findRelativeConfig(packageData, envName, caller) { + let config = null; + let ignore = null; + const dirname = _path().dirname(packageData.filepath); + for (const loc of packageData.directories) { + if (!config) { + var _packageData$pkg; + config = yield* loadOneConfig(RELATIVE_CONFIG_FILENAMES, loc, envName, caller, ((_packageData$pkg = packageData.pkg) == null ? void 0 : _packageData$pkg.dirname) === loc ? packageToBabelConfig(packageData.pkg) : null); + } + if (!ignore) { + const ignoreLoc = _path().join(loc, BABELIGNORE_FILENAME); + ignore = yield* readIgnoreConfig(ignoreLoc); + if (ignore) { + debug("Found ignore %o from %o.", ignore.filepath, dirname); + } + } + } + return { + config, + ignore + }; +} +function findRootConfig(dirname, envName, caller) { + return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller); +} +function* loadOneConfig(names, dirname, envName, caller, previousConfig = null) { + const configs = yield* _gensync().all(names.map(filename => readConfig(_path().join(dirname, filename), envName, caller))); + const config = configs.reduce((previousConfig, config) => { + if (config && previousConfig) { + throw new _configError.default(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().basename(previousConfig.filepath)}\n` + ` - ${config.filepath}\n` + `from ${dirname}`); + } + return config || previousConfig; + }, previousConfig); + if (config) { + debug("Found configuration %o from %o.", config.filepath, dirname); + } + return config; +} +function* loadConfig(name, dirname, envName, caller) { + const filepath = (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(name, { + paths: [dirname] + }); + const conf = yield* readConfig(filepath, envName, caller); + if (!conf) { + throw new _configError.default(`Config file contains no configuration data`, filepath); + } + debug("Loaded config %o from %o.", name, dirname); + return conf; +} +function readConfig(filepath, envName, caller) { + const ext = _path().extname(filepath); + switch (ext) { + case ".js": + case ".cjs": + case ".mjs": + case ".ts": + case ".cts": + case ".mts": + return readConfigCode(filepath, { + envName, + caller + }); + default: + return readConfigJSON5(filepath); + } +} +function* resolveShowConfigPath(dirname) { + const targetPath = process.env.BABEL_SHOW_CONFIG_FOR; + if (targetPath != null) { + const absolutePath = _path().resolve(dirname, targetPath); + const stats = yield* fs.stat(absolutePath); + if (!stats.isFile()) { + throw new Error(`${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`); + } + return absolutePath; + } + return null; +} +function throwConfigError(filepath) { + throw new _configError.default(`\ +Caching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured +for various types of caching, using the first param of their handler functions: + +module.exports = function(api) { + // The API exposes the following: + + // Cache the returned value forever and don't call this function again. + api.cache(true); + + // Don't cache at all. Not recommended because it will be very slow. + api.cache(false); + + // Cached based on the value of some function. If this function returns a value different from + // a previously-encountered value, the plugins will re-evaluate. + var env = api.cache(() => process.env.NODE_ENV); + + // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for + // any possible NODE_ENV value that might come up during plugin execution. + var isProd = api.cache(() => process.env.NODE_ENV === "production"); + + // .cache(fn) will perform a linear search though instances to find the matching plugin based + // based on previous instantiated plugins. If you want to recreate the plugin and discard the + // previous instance whenever something changes, you may use: + var isProd = api.cache.invalidate(() => process.env.NODE_ENV === "production"); + + // Note, we also expose the following more-verbose versions of the above examples: + api.cache.forever(); // api.cache(true) + api.cache.never(); // api.cache(false) + api.cache.using(fn); // api.cache(fn) + + // Return the value that will be cached. + return { }; +};`, filepath); +} +0 && 0; + +//# sourceMappingURL=configuration.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/configuration.js.map b/client/node_modules/@babel/core/lib/config/files/configuration.js.map new file mode 100644 index 0000000..07c99ef --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/configuration.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_debug","data","require","_fs","_path","_json","_gensync","_caching","_configApi","_utils","_moduleTypes","_patternToRegex","_configError","fs","_rewriteStackTrace","_async","debug","buildDebug","ROOT_CONFIG_FILENAMES","exports","RELATIVE_CONFIG_FILENAMES","BABELIGNORE_FILENAME","runConfig","makeWeakCache","options","cache","endHiddenCallStack","makeConfigAPI","cacheNeedsConfiguration","configured","readConfigCode","filepath","nodeFs","existsSync","loadCodeDefault","isAsync","Array","isArray","ConfigError","then","catch","throwConfigError","buildConfigFileObject","cfboaf","WeakMap","configFilesByFilepath","get","set","Map","configFile","dirname","path","packageToBabelConfig","makeWeakCacheSync","file","babel","undefined","readConfigJSON5","makeStaticFileCache","content","json5","parse","err","message","$schema","readIgnoreConfig","ignoreDir","ignorePatterns","split","map","line","replace","trim","filter","Boolean","pattern","startsWith","ignore","pathPatternToRegex","findConfigUpwards","rootDir","filename","join","nextDir","findRelativeConfig","packageData","envName","caller","config","loc","directories","_packageData$pkg","loadOneConfig","pkg","ignoreLoc","findRootConfig","names","previousConfig","configs","gensync","all","readConfig","reduce","basename","loadConfig","name","v","w","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","conf","ext","extname","resolveShowConfigPath","targetPath","env","BABEL_SHOW_CONFIG_FOR","absolutePath","stats","stat","isFile"],"sources":["../../../src/config/files/configuration.ts"],"sourcesContent":["import buildDebug from \"debug\";\nimport nodeFs from \"node:fs\";\nimport path from \"node:path\";\nimport json5 from \"json5\";\nimport gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport { makeWeakCache, makeWeakCacheSync } from \"../caching.ts\";\nimport type { CacheConfigurator } from \"../caching.ts\";\nimport { makeConfigAPI } from \"../helpers/config-api.ts\";\nimport type { ConfigAPI } from \"../helpers/config-api.ts\";\nimport { makeStaticFileCache } from \"./utils.ts\";\nimport loadCodeDefault from \"./module-types.ts\";\nimport pathPatternToRegex from \"../pattern-to-regex.ts\";\nimport type { FilePackageData, RelativeConfig, ConfigFile } from \"./types.ts\";\nimport type { CallerMetadata, InputOptions } from \"../validation/options.ts\";\nimport ConfigError from \"../../errors/config-error.ts\";\n\nimport * as fs from \"../../gensync-utils/fs.ts\";\n\nimport { createRequire } from \"node:module\";\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace.ts\";\nimport { isAsync } from \"../../gensync-utils/async.ts\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:configuration\");\n\nexport const ROOT_CONFIG_FILENAMES = [\n \"babel.config.js\",\n \"babel.config.cjs\",\n \"babel.config.mjs\",\n \"babel.config.json\",\n \"babel.config.cts\",\n \"babel.config.ts\",\n \"babel.config.mts\",\n];\nconst RELATIVE_CONFIG_FILENAMES = [\n \".babelrc\",\n \".babelrc.js\",\n \".babelrc.cjs\",\n \".babelrc.mjs\",\n \".babelrc.json\",\n \".babelrc.cts\",\n];\n\nconst BABELIGNORE_FILENAME = \".babelignore\";\n\ntype ConfigCacheData = {\n envName: string;\n caller: CallerMetadata | undefined;\n};\n\nconst runConfig = makeWeakCache(function* runConfig(\n options: Function,\n cache: CacheConfigurator,\n): Handler<{\n options: InputOptions | null;\n cacheNeedsConfiguration: boolean;\n}> {\n // if we want to make it possible to use async configs\n yield* [];\n\n return {\n options: endHiddenCallStack(options as any as (api: ConfigAPI) => unknown)(\n makeConfigAPI(cache),\n ),\n cacheNeedsConfiguration: !cache.configured(),\n };\n});\n\nfunction* readConfigCode(\n filepath: string,\n data: ConfigCacheData,\n): Handler {\n if (!nodeFs.existsSync(filepath)) return null;\n\n let options = yield* loadCodeDefault(\n filepath,\n (yield* isAsync()) ? \"auto\" : \"require\",\n \"You appear to be using a native ECMAScript module configuration \" +\n \"file, which is only supported when running Babel asynchronously \" +\n \"or when using the Node.js `--experimental-require-module` flag.\",\n \"You appear to be using a configuration file that contains top-level \" +\n \"await, which is only supported when running Babel asynchronously.\",\n );\n\n let cacheNeedsConfiguration = false;\n if (typeof options === \"function\") {\n ({ options, cacheNeedsConfiguration } = yield* runConfig(options, data));\n }\n\n if (!options || typeof options !== \"object\" || Array.isArray(options)) {\n throw new ConfigError(\n `Configuration should be an exported JavaScript object.`,\n filepath,\n );\n }\n\n // @ts-expect-error todo(flow->ts)\n if (typeof options.then === \"function\") {\n // @ts-expect-error We use ?. in case options is a thenable but not a promise\n options.catch?.(() => {});\n throw new ConfigError(\n `You appear to be using an async configuration, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously return your config.`,\n filepath,\n );\n }\n\n if (cacheNeedsConfiguration) throwConfigError(filepath);\n\n return buildConfigFileObject(options, filepath);\n}\n\n// We cache the generated ConfigFile object rather than creating a new one\n// every time, so that it can be used as a cache key in other functions.\nconst cfboaf /* configFilesByOptionsAndFilepath */ = new WeakMap<\n InputOptions,\n Map\n>();\nfunction buildConfigFileObject(\n options: InputOptions,\n filepath: string,\n): ConfigFile {\n let configFilesByFilepath = cfboaf.get(options);\n if (!configFilesByFilepath) {\n cfboaf.set(options, (configFilesByFilepath = new Map()));\n }\n\n let configFile = configFilesByFilepath.get(filepath);\n if (!configFile) {\n configFile = {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n configFilesByFilepath.set(filepath, configFile);\n }\n\n return configFile;\n}\n\nconst packageToBabelConfig = makeWeakCacheSync(\n (file: ConfigFile): ConfigFile | null => {\n const babel: unknown = file.options.babel;\n\n if (babel === undefined) return null;\n\n if (typeof babel !== \"object\" || Array.isArray(babel) || babel === null) {\n throw new ConfigError(`.babel property must be an object`, file.filepath);\n }\n\n return {\n filepath: file.filepath,\n dirname: file.dirname,\n options: babel,\n };\n },\n);\n\nconst readConfigJSON5 = makeStaticFileCache((filepath, content): ConfigFile => {\n let options;\n try {\n options = json5.parse(content);\n } catch (err) {\n throw new ConfigError(\n `Error while parsing config - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new ConfigError(`No config detected`, filepath);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(`Config returned typeof ${typeof options}`, filepath);\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n delete options.$schema;\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n});\n\nconst readIgnoreConfig = makeStaticFileCache((filepath, content) => {\n const ignoreDir = path.dirname(filepath);\n const ignorePatterns = content\n .split(\"\\n\")\n .map(line =>\n line.replace(process.env.BABEL_8_BREAKING ? /^#.*$/ : /#.*$/, \"\").trim(),\n )\n .filter(Boolean);\n\n for (const pattern of ignorePatterns) {\n if (pattern.startsWith(\"!\")) {\n throw new ConfigError(\n `Negation of file paths is not supported.`,\n filepath,\n );\n }\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n ignore: ignorePatterns.map(pattern =>\n pathPatternToRegex(pattern, ignoreDir),\n ),\n };\n});\n\nexport function findConfigUpwards(rootDir: string): string | null {\n let dirname = rootDir;\n for (;;) {\n for (const filename of ROOT_CONFIG_FILENAMES) {\n if (nodeFs.existsSync(path.join(dirname, filename))) {\n return dirname;\n }\n }\n\n const nextDir = path.dirname(dirname);\n if (dirname === nextDir) break;\n dirname = nextDir;\n }\n\n return null;\n}\n\nexport function* findRelativeConfig(\n packageData: FilePackageData,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n let config = null;\n let ignore = null;\n\n const dirname = path.dirname(packageData.filepath);\n\n for (const loc of packageData.directories) {\n if (!config) {\n config = yield* loadOneConfig(\n RELATIVE_CONFIG_FILENAMES,\n loc,\n envName,\n caller,\n packageData.pkg?.dirname === loc\n ? packageToBabelConfig(packageData.pkg)\n : null,\n );\n }\n\n if (!ignore) {\n const ignoreLoc = path.join(loc, BABELIGNORE_FILENAME);\n ignore = yield* readIgnoreConfig(ignoreLoc);\n\n if (ignore) {\n debug(\"Found ignore %o from %o.\", ignore.filepath, dirname);\n }\n }\n }\n\n return { config, ignore };\n}\n\nexport function findRootConfig(\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n return loadOneConfig(ROOT_CONFIG_FILENAMES, dirname, envName, caller);\n}\n\nfunction* loadOneConfig(\n names: string[],\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n previousConfig: ConfigFile | null = null,\n): Handler {\n const configs = yield* gensync.all(\n names.map(filename =>\n readConfig(path.join(dirname, filename), envName, caller),\n ),\n );\n const config = configs.reduce((previousConfig: ConfigFile | null, config) => {\n if (config && previousConfig) {\n throw new ConfigError(\n `Multiple configuration files found. Please remove one:\\n` +\n ` - ${path.basename(previousConfig.filepath)}\\n` +\n ` - ${config.filepath}\\n` +\n `from ${dirname}`,\n );\n }\n\n return config || previousConfig;\n }, previousConfig);\n\n if (config) {\n debug(\"Found configuration %o from %o.\", config.filepath, dirname);\n }\n return config;\n}\n\nexport function* loadConfig(\n name: string,\n dirname: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const filepath = require.resolve(name, { paths: [dirname] });\n\n const conf = yield* readConfig(filepath, envName, caller);\n if (!conf) {\n throw new ConfigError(\n `Config file contains no configuration data`,\n filepath,\n );\n }\n\n debug(\"Loaded config %o from %o.\", name, dirname);\n return conf;\n}\n\n/**\n * Read the given config file, returning the result. Returns null if no config was found, but will\n * throw if there are parsing errors while loading a config.\n */\nfunction readConfig(\n filepath: string,\n envName: string,\n caller: CallerMetadata | undefined,\n): Handler {\n const ext = path.extname(filepath);\n switch (ext) {\n case \".js\":\n case \".cjs\":\n case \".mjs\":\n case \".ts\":\n case \".cts\":\n case \".mts\":\n return readConfigCode(filepath, { envName, caller });\n default:\n return readConfigJSON5(filepath);\n }\n}\n\nexport function* resolveShowConfigPath(\n dirname: string,\n): Handler {\n const targetPath = process.env.BABEL_SHOW_CONFIG_FOR;\n if (targetPath != null) {\n const absolutePath = path.resolve(dirname, targetPath);\n const stats = yield* fs.stat(absolutePath);\n if (!stats.isFile()) {\n throw new Error(\n `${absolutePath}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`,\n );\n }\n return absolutePath;\n }\n return null;\n}\n\nfunction throwConfigError(filepath: string): never {\n throw new ConfigError(\n `\\\nCaching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured\nfor various types of caching, using the first param of their handler functions:\n\nmodule.exports = function(api) {\n // The API exposes the following:\n\n // Cache the returned value forever and don't call this function again.\n api.cache(true);\n\n // Don't cache at all. Not recommended because it will be very slow.\n api.cache(false);\n\n // Cached based on the value of some function. If this function returns a value different from\n // a previously-encountered value, the plugins will re-evaluate.\n var env = api.cache(() => process.env.NODE_ENV);\n\n // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for\n // any possible NODE_ENV value that might come up during plugin execution.\n var isProd = api.cache(() => process.env.NODE_ENV === \"production\");\n\n // .cache(fn) will perform a linear search though instances to find the matching plugin based\n // based on previous instantiated plugins. If you want to recreate the plugin and discard the\n // previous instance whenever something changes, you may use:\n var isProd = api.cache.invalidate(() => process.env.NODE_ENV === \"production\");\n\n // Note, we also expose the following more-verbose versions of the above examples:\n api.cache.forever(); // api.cache(true)\n api.cache.never(); // api.cache(false)\n api.cache.using(fn); // api.cache(fn)\n\n // Return the value that will be cached.\n return { };\n};`,\n filepath,\n );\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/import.cjs b/client/node_modules/@babel/core/lib/config/files/import.cjs new file mode 100644 index 0000000..46fa5d5 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/import.cjs @@ -0,0 +1,6 @@ +module.exports = function import_(filepath) { + return import(filepath); +}; +0 && 0; + +//# sourceMappingURL=import.cjs.map diff --git a/client/node_modules/@babel/core/lib/config/files/import.cjs.map b/client/node_modules/@babel/core/lib/config/files/import.cjs.map new file mode 100644 index 0000000..2200da8 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/import.cjs.map @@ -0,0 +1 @@ +{"version":3,"names":["module","exports","import_","filepath"],"sources":["../../../src/config/files/import.cjs"],"sourcesContent":["// We keep this in a separate file so that in older node versions, where\n// import() isn't supported, we can try/catch around the require() call\n// when loading this file.\n\nmodule.exports = function import_(filepath) {\n return import(filepath);\n};\n"],"mappings":"AAIAA,MAAM,CAACC,OAAO,GAAG,SAASC,OAAOA,CAACC,QAAQ,EAAE;EAC1C,OAAO,OAAOA,QAAQ,CAAC;AACzB,CAAC;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/index-browser.js b/client/node_modules/@babel/core/lib/config/files/index-browser.js new file mode 100644 index 0000000..d8ba7db --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/index-browser.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ROOT_CONFIG_FILENAMES = void 0; +exports.findConfigUpwards = findConfigUpwards; +exports.findPackageData = findPackageData; +exports.findRelativeConfig = findRelativeConfig; +exports.findRootConfig = findRootConfig; +exports.loadConfig = loadConfig; +exports.loadPlugin = loadPlugin; +exports.loadPreset = loadPreset; +exports.resolvePlugin = resolvePlugin; +exports.resolvePreset = resolvePreset; +exports.resolveShowConfigPath = resolveShowConfigPath; +function findConfigUpwards(rootDir) { + return null; +} +function* findPackageData(filepath) { + return { + filepath, + directories: [], + pkg: null, + isPackage: false + }; +} +function* findRelativeConfig(pkgData, envName, caller) { + return { + config: null, + ignore: null + }; +} +function* findRootConfig(dirname, envName, caller) { + return null; +} +function* loadConfig(name, dirname, envName, caller) { + throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`); +} +function* resolveShowConfigPath(dirname) { + return null; +} +const ROOT_CONFIG_FILENAMES = exports.ROOT_CONFIG_FILENAMES = []; +function resolvePlugin(name, dirname) { + return null; +} +function resolvePreset(name, dirname) { + return null; +} +function loadPlugin(name, dirname) { + throw new Error(`Cannot load plugin ${name} relative to ${dirname} in a browser`); +} +function loadPreset(name, dirname) { + throw new Error(`Cannot load preset ${name} relative to ${dirname} in a browser`); +} +0 && 0; + +//# sourceMappingURL=index-browser.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/index-browser.js.map b/client/node_modules/@babel/core/lib/config/files/index-browser.js.map new file mode 100644 index 0000000..e10ddee --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/index-browser.js.map @@ -0,0 +1 @@ +{"version":3,"names":["findConfigUpwards","rootDir","findPackageData","filepath","directories","pkg","isPackage","findRelativeConfig","pkgData","envName","caller","config","ignore","findRootConfig","dirname","loadConfig","name","Error","resolveShowConfigPath","ROOT_CONFIG_FILENAMES","exports","resolvePlugin","resolvePreset","loadPlugin","loadPreset"],"sources":["../../../src/config/files/index-browser.ts"],"sourcesContent":["/* c8 ignore start */\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types.ts\";\n\nimport type { CallerMetadata } from \"../validation/options.ts\";\n\nexport type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };\n\nexport function findConfigUpwards(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n rootDir: string,\n): string | null {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* findPackageData(filepath: string): Handler {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false,\n };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRelativeConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pkgData: FilePackageData,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return { config: null, ignore: null };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRootConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* loadConfig(\n name: string,\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\n\n// eslint-disable-next-line require-yield\nexport function* resolveShowConfigPath(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n): Handler {\n return null;\n}\n\nexport const ROOT_CONFIG_FILENAMES: string[] = [];\n\ntype Resolved =\n | { loader: \"require\"; filepath: string }\n | { loader: \"import\"; filepath: string };\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePlugin(name: string, dirname: string): Resolved | null {\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePreset(name: string, dirname: string): Resolved | null {\n return null;\n}\n\nexport function loadPlugin(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load plugin ${name} relative to ${dirname} in a browser`,\n );\n}\n\nexport function loadPreset(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load preset ${name} relative to ${dirname} in a browser`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAeO,SAASA,iBAAiBA,CAE/BC,OAAe,EACA;EACf,OAAO,IAAI;AACb;AAGO,UAAUC,eAAeA,CAACC,QAAgB,EAA4B;EAC3E,OAAO;IACLA,QAAQ;IACRC,WAAW,EAAE,EAAE;IACfC,GAAG,EAAE,IAAI;IACTC,SAAS,EAAE;EACb,CAAC;AACH;AAGO,UAAUC,kBAAkBA,CAEjCC,OAAwB,EAExBC,OAAe,EAEfC,MAAkC,EACT;EACzB,OAAO;IAAEC,MAAM,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC;AACvC;AAGO,UAAUC,cAAcA,CAE7BC,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACN;EAC5B,OAAO,IAAI;AACb;AAGO,UAAUK,UAAUA,CACzBC,IAAY,EACZF,OAAe,EAEfL,OAAe,EAEfC,MAAkC,EACb;EACrB,MAAM,IAAIO,KAAK,CAAC,eAAeD,IAAI,gBAAgBF,OAAO,eAAe,CAAC;AAC5E;AAGO,UAAUI,qBAAqBA,CAEpCJ,OAAe,EACS;EACxB,OAAO,IAAI;AACb;AAEO,MAAMK,qBAA+B,GAAAC,OAAA,CAAAD,qBAAA,GAAG,EAAE;AAO1C,SAASE,aAAaA,CAACL,IAAY,EAAEF,OAAe,EAAmB;EAC5E,OAAO,IAAI;AACb;AAGO,SAASQ,aAAaA,CAACN,IAAY,EAAEF,OAAe,EAAmB;EAC5E,OAAO,IAAI;AACb;AAEO,SAASS,UAAUA,CACxBP,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACb,sBAAsBD,IAAI,gBAAgBF,OAAO,eACnD,CAAC;AACH;AAEO,SAASU,UAAUA,CACxBR,IAAY,EACZF,OAAe,EAId;EACD,MAAM,IAAIG,KAAK,CACb,sBAAsBD,IAAI,gBAAgBF,OAAO,eACnD,CAAC;AACH;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/index.js b/client/node_modules/@babel/core/lib/config/files/index.js new file mode 100644 index 0000000..8750f40 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/index.js @@ -0,0 +1,78 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "ROOT_CONFIG_FILENAMES", { + enumerable: true, + get: function () { + return _configuration.ROOT_CONFIG_FILENAMES; + } +}); +Object.defineProperty(exports, "findConfigUpwards", { + enumerable: true, + get: function () { + return _configuration.findConfigUpwards; + } +}); +Object.defineProperty(exports, "findPackageData", { + enumerable: true, + get: function () { + return _package.findPackageData; + } +}); +Object.defineProperty(exports, "findRelativeConfig", { + enumerable: true, + get: function () { + return _configuration.findRelativeConfig; + } +}); +Object.defineProperty(exports, "findRootConfig", { + enumerable: true, + get: function () { + return _configuration.findRootConfig; + } +}); +Object.defineProperty(exports, "loadConfig", { + enumerable: true, + get: function () { + return _configuration.loadConfig; + } +}); +Object.defineProperty(exports, "loadPlugin", { + enumerable: true, + get: function () { + return _plugins.loadPlugin; + } +}); +Object.defineProperty(exports, "loadPreset", { + enumerable: true, + get: function () { + return _plugins.loadPreset; + } +}); +Object.defineProperty(exports, "resolvePlugin", { + enumerable: true, + get: function () { + return _plugins.resolvePlugin; + } +}); +Object.defineProperty(exports, "resolvePreset", { + enumerable: true, + get: function () { + return _plugins.resolvePreset; + } +}); +Object.defineProperty(exports, "resolveShowConfigPath", { + enumerable: true, + get: function () { + return _configuration.resolveShowConfigPath; + } +}); +var _package = require("./package.js"); +var _configuration = require("./configuration.js"); +var _plugins = require("./plugins.js"); +({}); +0 && 0; + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/index.js.map b/client/node_modules/@babel/core/lib/config/files/index.js.map new file mode 100644 index 0000000..832135f --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_package","require","_configuration","_plugins"],"sources":["../../../src/config/files/index.ts"],"sourcesContent":["type indexBrowserType = typeof import(\"./index-browser\");\ntype indexType = typeof import(\"./index\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n({}) as any as indexBrowserType as indexType;\n\nexport { findPackageData } from \"./package.ts\";\n\nexport {\n findConfigUpwards,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./configuration.ts\";\nexport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types.ts\";\nexport {\n loadPlugin,\n loadPreset,\n resolvePlugin,\n resolvePreset,\n} from \"./plugins.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAcA,IAAAE,QAAA,GAAAF,OAAA;AAlBA,CAAC,CAAC,CAAC;AAA0C","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/module-types.js b/client/node_modules/@babel/core/lib/config/files/module-types.js new file mode 100644 index 0000000..e29a82f --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/module-types.js @@ -0,0 +1,203 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadCodeDefault; +exports.supportsESM = void 0; +var _async = require("../../gensync-utils/async.js"); +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _url() { + const data = require("url"); + _url = function () { + return data; + }; + return data; +} +require("module"); +function _semver() { + const data = require("semver"); + _semver = function () { + return data; + }; + return data; +} +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +var _rewriteStackTrace = require("../../errors/rewrite-stack-trace.js"); +var _configError = require("../../errors/config-error.js"); +var _transformFile = require("../../transform-file.js"); +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +const debug = _debug()("babel:config:loading:files:module-types"); +try { + var import_ = require("./import.cjs"); +} catch (_unused) {} +const supportsESM = exports.supportsESM = _semver().satisfies(process.versions.node, "^12.17 || >=13.2"); +const LOADING_CJS_FILES = new Set(); +function loadCjsDefault(filepath) { + if (LOADING_CJS_FILES.has(filepath)) { + debug("Auto-ignoring usage of config %o.", filepath); + return {}; + } + let module; + try { + LOADING_CJS_FILES.add(filepath); + module = (0, _rewriteStackTrace.endHiddenCallStack)(require)(filepath); + } finally { + LOADING_CJS_FILES.delete(filepath); + } + return module != null && (module.__esModule || module[Symbol.toStringTag] === "Module") ? module.default || (arguments[1] ? module : undefined) : module; +} +const loadMjsFromPath = (0, _rewriteStackTrace.endHiddenCallStack)(function () { + var _loadMjsFromPath = _asyncToGenerator(function* (filepath) { + const url = (0, _url().pathToFileURL)(filepath).toString() + "?import"; + if (!import_) { + throw new _configError.default("Internal error: Native ECMAScript modules aren't supported by this platform.\n", filepath); + } + return yield import_(url); + }); + function loadMjsFromPath(_x) { + return _loadMjsFromPath.apply(this, arguments); + } + return loadMjsFromPath; +}()); +const tsNotSupportedError = ext => `\ +You are using a ${ext} config file, but Babel only supports transpiling .cts configs. Either: +- Use a .cts config file +- Update to Node.js 23.6.0, which has native TypeScript support +- Install tsx to transpile ${ext} files on the fly\ +`; +const SUPPORTED_EXTENSIONS = { + ".js": "unknown", + ".mjs": "esm", + ".cjs": "cjs", + ".ts": "unknown", + ".mts": "esm", + ".cts": "cjs" +}; +const asyncModules = new Set(); +function* loadCodeDefault(filepath, loader, esmError, tlaError) { + let async; + const ext = _path().extname(filepath); + const isTS = ext === ".ts" || ext === ".cts" || ext === ".mts"; + const type = SUPPORTED_EXTENSIONS[hasOwnProperty.call(SUPPORTED_EXTENSIONS, ext) ? ext : ".js"]; + const pattern = `${loader} ${type}`; + switch (pattern) { + case "require cjs": + case "auto cjs": + if (isTS) { + return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath)); + } else { + return loadCjsDefault(filepath, arguments[2]); + } + case "auto unknown": + case "require unknown": + case "require esm": + try { + if (isTS) { + return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath)); + } else { + return loadCjsDefault(filepath, arguments[2]); + } + } catch (e) { + if (e.code === "ERR_REQUIRE_ASYNC_MODULE" || e.code === "ERR_REQUIRE_CYCLE_MODULE" && asyncModules.has(filepath)) { + asyncModules.add(filepath); + if (!(async != null ? async : async = yield* (0, _async.isAsync)())) { + throw new _configError.default(tlaError, filepath); + } + } else if (e.code === "ERR_REQUIRE_ESM" || type === "esm") {} else { + throw e; + } + } + case "auto esm": + if (async != null ? async : async = yield* (0, _async.isAsync)()) { + const promise = isTS ? ensureTsSupport(filepath, ext, () => loadMjsFromPath(filepath)) : loadMjsFromPath(filepath); + return (yield* (0, _async.waitFor)(promise)).default; + } + if (isTS) { + throw new _configError.default(tsNotSupportedError(ext), filepath); + } else { + throw new _configError.default(esmError, filepath); + } + default: + throw new Error("Internal Babel error: unreachable code."); + } +} +function ensureTsSupport(filepath, ext, callback) { + if (process.features.typescript || require.extensions[".ts"] || require.extensions[".cts"] || require.extensions[".mts"]) { + return callback(); + } + if (ext !== ".cts") { + throw new _configError.default(tsNotSupportedError(ext), filepath); + } + const opts = { + babelrc: false, + configFile: false, + sourceType: "unambiguous", + sourceMaps: "inline", + sourceFileName: _path().basename(filepath), + presets: [[getTSPreset(filepath), Object.assign({ + onlyRemoveTypeImports: true, + optimizeConstEnums: true + }, { + allowDeclareFields: true + })]] + }; + let handler = function (m, filename) { + if (handler && filename.endsWith(".cts")) { + try { + return m._compile((0, _transformFile.transformFileSync)(filename, Object.assign({}, opts, { + filename + })).code, filename); + } catch (error) { + const packageJson = require("@babel/preset-typescript/package.json"); + if (_semver().lt(packageJson.version, "7.21.4")) { + console.error("`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`."); + } + throw error; + } + } + return require.extensions[".js"](m, filename); + }; + require.extensions[ext] = handler; + try { + return callback(); + } finally { + if (require.extensions[ext] === handler) delete require.extensions[ext]; + handler = undefined; + } +} +function getTSPreset(filepath) { + try { + return require("@babel/preset-typescript"); + } catch (error) { + if (error.code !== "MODULE_NOT_FOUND") throw error; + let message = "You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!"; + if (process.versions.pnp) { + message += ` +If you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file: + +packageExtensions: +\t"@babel/core@*": +\t\tpeerDependencies: +\t\t\t"@babel/preset-typescript": "*" +`; + } + throw new _configError.default(message, filepath); + } +} +0 && 0; + +//# sourceMappingURL=module-types.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/module-types.js.map b/client/node_modules/@babel/core/lib/config/files/module-types.js.map new file mode 100644 index 0000000..eafb5e6 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/module-types.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_async","require","_path","data","_url","_semver","_debug","_rewriteStackTrace","_configError","_transformFile","asyncGeneratorStep","n","t","e","r","o","a","c","i","u","value","done","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","debug","buildDebug","import_","_unused","supportsESM","exports","semver","satisfies","process","versions","node","LOADING_CJS_FILES","Set","loadCjsDefault","filepath","has","module","add","endHiddenCallStack","delete","__esModule","Symbol","toStringTag","default","undefined","loadMjsFromPath","_loadMjsFromPath","url","pathToFileURL","toString","ConfigError","_x","tsNotSupportedError","ext","SUPPORTED_EXTENSIONS","asyncModules","loadCodeDefault","loader","esmError","tlaError","async","path","extname","isTS","type","hasOwnProperty","call","pattern","ensureTsSupport","code","isAsync","promise","waitFor","Error","callback","features","typescript","extensions","opts","babelrc","configFile","sourceType","sourceMaps","sourceFileName","basename","presets","getTSPreset","Object","assign","onlyRemoveTypeImports","optimizeConstEnums","allowDeclareFields","handler","m","filename","endsWith","_compile","transformFileSync","error","packageJson","lt","version","console","message","pnp"],"sources":["../../../src/config/files/module-types.ts"],"sourcesContent":["import { isAsync, waitFor } from \"../../gensync-utils/async.ts\";\nimport type { Handler } from \"gensync\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { createRequire } from \"node:module\";\nimport semver from \"semver\";\nimport buildDebug from \"debug\";\n\nimport { endHiddenCallStack } from \"../../errors/rewrite-stack-trace.ts\";\nimport ConfigError from \"../../errors/config-error.ts\";\n\nimport type { InputOptions } from \"../index.ts\";\nimport { transformFileSync } from \"../../transform-file.ts\";\n\nconst debug = buildDebug(\"babel:config:loading:files:module-types\");\n\nconst require = createRequire(import.meta.url);\n\nif (!process.env.BABEL_8_BREAKING) {\n try {\n // Old Node.js versions don't support import() syntax.\n // eslint-disable-next-line no-var\n var import_:\n | ((specifier: string | URL) => any)\n | undefined = require(\"./import.cjs\");\n } catch {}\n}\n\nexport const supportsESM = semver.satisfies(\n process.versions.node,\n // older versions, starting from 10, support the dynamic\n // import syntax but always return a rejected promise.\n \"^12.17 || >=13.2\",\n);\n\nconst LOADING_CJS_FILES = new Set();\n\nfunction loadCjsDefault(filepath: string) {\n // The `require()` call below can make this code reentrant if a require hook\n // like @babel/register has been loaded into the system. That would cause\n // Babel to attempt to compile the `.babelrc.js` file as it loads below. To\n // cover this case, we auto-ignore re-entrant config processing. ESM loaders\n // do not have this problem, because loaders do not apply to themselves.\n if (LOADING_CJS_FILES.has(filepath)) {\n debug(\"Auto-ignoring usage of config %o.\", filepath);\n return {};\n }\n\n let module;\n try {\n LOADING_CJS_FILES.add(filepath);\n module = endHiddenCallStack(require)(filepath);\n } finally {\n LOADING_CJS_FILES.delete(filepath);\n }\n\n if (process.env.BABEL_8_BREAKING) {\n return module != null &&\n (module.__esModule || module[Symbol.toStringTag] === \"Module\")\n ? module.default\n : module;\n } else {\n return module != null &&\n (module.__esModule || module[Symbol.toStringTag] === \"Module\")\n ? module.default ||\n /* fallbackToTranspiledModule */ (arguments[1] ? module : undefined)\n : module;\n }\n}\n\nconst loadMjsFromPath = endHiddenCallStack(async function loadMjsFromPath(\n filepath: string,\n) {\n // Add ?import as a workaround for https://github.com/nodejs/node/issues/55500\n const url = pathToFileURL(filepath).toString() + \"?import\";\n\n if (process.env.BABEL_8_BREAKING) {\n return await import(url);\n } else {\n if (!import_) {\n throw new ConfigError(\n \"Internal error: Native ECMAScript modules aren't supported by this platform.\\n\",\n filepath,\n );\n }\n\n return await import_(url);\n }\n});\n\nconst tsNotSupportedError = (ext: string) => `\\\nYou are using a ${ext} config file, but Babel only supports transpiling .cts configs. Either:\n- Use a .cts config file\n- Update to Node.js 23.6.0, which has native TypeScript support\n- Install tsx to transpile ${ext} files on the fly\\\n`;\n\nconst SUPPORTED_EXTENSIONS = {\n \".js\": \"unknown\",\n \".mjs\": \"esm\",\n \".cjs\": \"cjs\",\n \".ts\": \"unknown\",\n \".mts\": \"esm\",\n \".cts\": \"cjs\",\n} as const;\n\nconst asyncModules = new Set();\n\nexport default function* loadCodeDefault(\n filepath: string,\n loader: \"require\" | \"auto\",\n esmError: string,\n tlaError: string,\n): Handler {\n let async;\n\n const ext = path.extname(filepath);\n const isTS = ext === \".ts\" || ext === \".cts\" || ext === \".mts\";\n\n const type =\n SUPPORTED_EXTENSIONS[\n Object.hasOwn(SUPPORTED_EXTENSIONS, ext)\n ? (ext as keyof typeof SUPPORTED_EXTENSIONS)\n : (\".js\" as const)\n ];\n\n const pattern = `${loader} ${type}` as const;\n switch (pattern) {\n case \"require cjs\":\n case \"auto cjs\":\n if (isTS) {\n return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath));\n } else if (process.env.BABEL_8_BREAKING) {\n return loadCjsDefault(filepath);\n } else {\n return loadCjsDefault(\n filepath,\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n /* fallbackToTranspiledModule */ arguments[2],\n );\n }\n case \"auto unknown\":\n case \"require unknown\":\n case \"require esm\":\n try {\n if (isTS) {\n return ensureTsSupport(filepath, ext, () => loadCjsDefault(filepath));\n } else if (process.env.BABEL_8_BREAKING) {\n return loadCjsDefault(filepath);\n } else {\n return loadCjsDefault(\n filepath,\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n /* fallbackToTranspiledModule */ arguments[2],\n );\n }\n } catch (e) {\n if (\n e.code === \"ERR_REQUIRE_ASYNC_MODULE\" ||\n // Node.js 13.0.0 throws ERR_REQUIRE_CYCLE_MODULE instead of\n // ERR_REQUIRE_ASYNC_MODULE when requiring a module a second time\n // https://github.com/nodejs/node/issues/55516\n // This `asyncModules` won't catch all of such cases, but it will\n // at least catch those caused by Babel trying to load a module twice.\n (e.code === \"ERR_REQUIRE_CYCLE_MODULE\" && asyncModules.has(filepath))\n ) {\n asyncModules.add(filepath);\n if (!(async ??= yield* isAsync())) {\n throw new ConfigError(tlaError, filepath);\n }\n // fall through: require() failed due to TLA\n } else if (\n e.code === \"ERR_REQUIRE_ESM\" ||\n (!process.env.BABEL_8_BREAKING && type === \"esm\")\n ) {\n // fall through: require() failed due to ESM\n } else {\n throw e;\n }\n }\n // fall through: require() failed due to ESM or TLA, try import()\n case \"auto esm\":\n if ((async ??= yield* isAsync())) {\n const promise = isTS\n ? ensureTsSupport(filepath, ext, () => loadMjsFromPath(filepath))\n : loadMjsFromPath(filepath);\n\n return (yield* waitFor(promise)).default;\n }\n if (isTS) {\n throw new ConfigError(tsNotSupportedError(ext), filepath);\n } else {\n throw new ConfigError(esmError, filepath);\n }\n default:\n throw new Error(\"Internal Babel error: unreachable code.\");\n }\n}\n\nfunction ensureTsSupport(\n filepath: string,\n ext: string,\n callback: () => T,\n): T {\n if (\n process.features.typescript ||\n require.extensions[\".ts\"] ||\n require.extensions[\".cts\"] ||\n require.extensions[\".mts\"]\n ) {\n return callback();\n }\n\n if (ext !== \".cts\") {\n throw new ConfigError(tsNotSupportedError(ext), filepath);\n }\n\n const opts: InputOptions = {\n babelrc: false,\n configFile: false,\n sourceType: \"unambiguous\",\n sourceMaps: \"inline\",\n sourceFileName: path.basename(filepath),\n presets: [\n [\n getTSPreset(filepath),\n {\n onlyRemoveTypeImports: true,\n optimizeConstEnums: true,\n ...(process.env.BABEL_8_BREAKING ? {} : { allowDeclareFields: true }),\n },\n ],\n ],\n };\n\n let handler: NodeJS.RequireExtensions[\"\"] = function (m, filename) {\n // If we want to support `.ts`, `.d.ts` must be handled specially.\n if (handler && filename.endsWith(\".cts\")) {\n try {\n // @ts-expect-error Undocumented API\n return m._compile(\n transformFileSync(filename, {\n ...opts,\n filename,\n }).code,\n filename,\n );\n } catch (error) {\n // TODO(Babel 8): Add this as an optional peer dependency\n // eslint-disable-next-line import/no-extraneous-dependencies\n const packageJson = require(\"@babel/preset-typescript/package.json\");\n if (semver.lt(packageJson.version, \"7.21.4\")) {\n console.error(\n \"`.cts` configuration file failed to load, please try to update `@babel/preset-typescript`.\",\n );\n }\n throw error;\n }\n }\n return require.extensions[\".js\"](m, filename);\n };\n require.extensions[ext] = handler;\n\n try {\n return callback();\n } finally {\n if (require.extensions[ext] === handler) delete require.extensions[ext];\n handler = undefined;\n }\n}\n\nfunction getTSPreset(filepath: string) {\n try {\n // eslint-disable-next-line import/no-extraneous-dependencies\n return require(\"@babel/preset-typescript\");\n } catch (error) {\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n let message =\n \"You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please install it!\";\n\n if (!process.env.BABEL_8_BREAKING) {\n if (process.versions.pnp) {\n // Using Yarn PnP, which doesn't allow requiring packages that are not\n // explicitly specified as dependencies.\n message += `\nIf you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file:\n\npackageExtensions:\n\\t\"@babel/core@*\":\n\\t\\tpeerDependencies:\n\\t\\t\\t\"@babel/preset-typescript\": \"*\"\n`;\n }\n }\n\n throw new ConfigError(message, filepath);\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/package.js b/client/node_modules/@babel/core/lib/config/files/package.js new file mode 100644 index 0000000..eed8ab8 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/package.js @@ -0,0 +1,61 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findPackageData = findPackageData; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +var _utils = require("./utils.js"); +var _configError = require("../../errors/config-error.js"); +const PACKAGE_FILENAME = "package.json"; +const readConfigPackage = (0, _utils.makeStaticFileCache)((filepath, content) => { + let options; + try { + options = JSON.parse(content); + } catch (err) { + throw new _configError.default(`Error while parsing JSON - ${err.message}`, filepath); + } + if (!options) throw new Error(`${filepath}: No config detected`); + if (typeof options !== "object") { + throw new _configError.default(`Config returned typeof ${typeof options}`, filepath); + } + if (Array.isArray(options)) { + throw new _configError.default(`Expected config object but found array`, filepath); + } + return { + filepath, + dirname: _path().dirname(filepath), + options + }; +}); +function* findPackageData(filepath) { + let pkg = null; + const directories = []; + let isPackage = true; + let dirname = _path().dirname(filepath); + while (!pkg && _path().basename(dirname) !== "node_modules") { + directories.push(dirname); + pkg = yield* readConfigPackage(_path().join(dirname, PACKAGE_FILENAME)); + const nextLoc = _path().dirname(dirname); + if (dirname === nextLoc) { + isPackage = false; + break; + } + dirname = nextLoc; + } + return { + filepath, + directories, + pkg, + isPackage + }; +} +0 && 0; + +//# sourceMappingURL=package.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/package.js.map b/client/node_modules/@babel/core/lib/config/files/package.js.map new file mode 100644 index 0000000..38aeb2c --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/package.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","_utils","_configError","PACKAGE_FILENAME","readConfigPackage","makeStaticFileCache","filepath","content","options","JSON","parse","err","ConfigError","message","Error","Array","isArray","dirname","path","findPackageData","pkg","directories","isPackage","basename","push","join","nextLoc"],"sources":["../../../src/config/files/package.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { Handler } from \"gensync\";\nimport { makeStaticFileCache } from \"./utils.ts\";\n\nimport type { ConfigFile, FilePackageData } from \"./types.ts\";\n\nimport ConfigError from \"../../errors/config-error.ts\";\n\nconst PACKAGE_FILENAME = \"package.json\";\n\nconst readConfigPackage = makeStaticFileCache(\n (filepath, content): ConfigFile => {\n let options;\n try {\n options = JSON.parse(content) as unknown;\n } catch (err) {\n throw new ConfigError(\n `Error while parsing JSON - ${err.message}`,\n filepath,\n );\n }\n\n if (!options) throw new Error(`${filepath}: No config detected`);\n\n if (typeof options !== \"object\") {\n throw new ConfigError(\n `Config returned typeof ${typeof options}`,\n filepath,\n );\n }\n if (Array.isArray(options)) {\n throw new ConfigError(`Expected config object but found array`, filepath);\n }\n\n return {\n filepath,\n dirname: path.dirname(filepath),\n options,\n };\n },\n);\n\n/**\n * Find metadata about the package that this file is inside of. Resolution\n * of Babel's config requires general package information to decide when to\n * search for .babelrc files\n */\nexport function* findPackageData(filepath: string): Handler {\n let pkg = null;\n const directories = [];\n let isPackage = true;\n\n let dirname = path.dirname(filepath);\n while (!pkg && path.basename(dirname) !== \"node_modules\") {\n directories.push(dirname);\n\n pkg = yield* readConfigPackage(path.join(dirname, PACKAGE_FILENAME));\n\n const nextLoc = path.dirname(dirname);\n if (dirname === nextLoc) {\n isPackage = false;\n break;\n }\n dirname = nextLoc;\n }\n\n return { filepath, directories, pkg, isPackage };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AAEA,MAAMG,gBAAgB,GAAG,cAAc;AAEvC,MAAMC,iBAAiB,GAAG,IAAAC,0BAAmB,EAC3C,CAACC,QAAQ,EAAEC,OAAO,KAAiB;EACjC,IAAIC,OAAO;EACX,IAAI;IACFA,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAAY;EAC1C,CAAC,CAAC,OAAOI,GAAG,EAAE;IACZ,MAAM,IAAIC,oBAAW,CACnB,8BAA8BD,GAAG,CAACE,OAAO,EAAE,EAC3CP,QACF,CAAC;EACH;EAEA,IAAI,CAACE,OAAO,EAAE,MAAM,IAAIM,KAAK,CAAC,GAAGR,QAAQ,sBAAsB,CAAC;EAEhE,IAAI,OAAOE,OAAO,KAAK,QAAQ,EAAE;IAC/B,MAAM,IAAII,oBAAW,CACnB,0BAA0B,OAAOJ,OAAO,EAAE,EAC1CF,QACF,CAAC;EACH;EACA,IAAIS,KAAK,CAACC,OAAO,CAACR,OAAO,CAAC,EAAE;IAC1B,MAAM,IAAII,oBAAW,CAAC,wCAAwC,EAAEN,QAAQ,CAAC;EAC3E;EAEA,OAAO;IACLA,QAAQ;IACRW,OAAO,EAAEC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;IAC/BE;EACF,CAAC;AACH,CACF,CAAC;AAOM,UAAUW,eAAeA,CAACb,QAAgB,EAA4B;EAC3E,IAAIc,GAAG,GAAG,IAAI;EACd,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIC,SAAS,GAAG,IAAI;EAEpB,IAAIL,OAAO,GAAGC,MAAGA,CAAC,CAACD,OAAO,CAACX,QAAQ,CAAC;EACpC,OAAO,CAACc,GAAG,IAAIF,MAAGA,CAAC,CAACK,QAAQ,CAACN,OAAO,CAAC,KAAK,cAAc,EAAE;IACxDI,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC;IAEzBG,GAAG,GAAG,OAAOhB,iBAAiB,CAACc,MAAGA,CAAC,CAACO,IAAI,CAACR,OAAO,EAAEd,gBAAgB,CAAC,CAAC;IAEpE,MAAMuB,OAAO,GAAGR,MAAGA,CAAC,CAACD,OAAO,CAACA,OAAO,CAAC;IACrC,IAAIA,OAAO,KAAKS,OAAO,EAAE;MACvBJ,SAAS,GAAG,KAAK;MACjB;IACF;IACAL,OAAO,GAAGS,OAAO;EACnB;EAEA,OAAO;IAAEpB,QAAQ;IAAEe,WAAW;IAAED,GAAG;IAAEE;EAAU,CAAC;AAClD;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/plugins.js b/client/node_modules/@babel/core/lib/config/files/plugins.js new file mode 100644 index 0000000..caad07f --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/plugins.js @@ -0,0 +1,220 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.loadPlugin = loadPlugin; +exports.loadPreset = loadPreset; +exports.resolvePreset = exports.resolvePlugin = void 0; +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +var _async = require("../../gensync-utils/async.js"); +var _moduleTypes = require("./module-types.js"); +function _url() { + const data = require("url"); + _url = function () { + return data; + }; + return data; +} +var _importMetaResolve = require("../../vendor/import-meta-resolve.js"); +require("module"); +function _fs() { + const data = require("fs"); + _fs = function () { + return data; + }; + return data; +} +const debug = _debug()("babel:config:loading:files:plugins"); +const EXACT_RE = /^module:/; +const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/; +const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/; +const BABEL_PLUGIN_ORG_RE = /^(@babel\/)(?!plugin-|[^/]+\/)/; +const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/; +const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/; +const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/; +const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/; +const resolvePlugin = exports.resolvePlugin = resolveStandardizedName.bind(null, "plugin"); +const resolvePreset = exports.resolvePreset = resolveStandardizedName.bind(null, "preset"); +function* loadPlugin(name, dirname) { + const { + filepath, + loader + } = resolvePlugin(name, dirname, yield* (0, _async.isAsync)()); + const value = yield* requireModule("plugin", loader, filepath); + debug("Loaded plugin %o from %o.", name, dirname); + return { + filepath, + value + }; +} +function* loadPreset(name, dirname) { + const { + filepath, + loader + } = resolvePreset(name, dirname, yield* (0, _async.isAsync)()); + const value = yield* requireModule("preset", loader, filepath); + debug("Loaded preset %o from %o.", name, dirname); + return { + filepath, + value + }; +} +function standardizeName(type, name) { + if (_path().isAbsolute(name)) return name; + const isPreset = type === "preset"; + return name.replace(isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE, `babel-${type}-`).replace(isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE, `$1${type}-`).replace(isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE, `$1babel-${type}-`).replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`).replace(EXACT_RE, ""); +} +function* resolveAlternativesHelper(type, name) { + const standardizedName = standardizeName(type, name); + const { + error, + value + } = yield standardizedName; + if (!error) return value; + if (error.code !== "MODULE_NOT_FOUND") throw error; + if (standardizedName !== name && !(yield name).error) { + error.message += `\n- If you want to resolve "${name}", use "module:${name}"`; + } + if (!(yield standardizeName(type, "@babel/" + name)).error) { + error.message += `\n- Did you mean "@babel/${name}"?`; + } + const oppositeType = type === "preset" ? "plugin" : "preset"; + if (!(yield standardizeName(oppositeType, name)).error) { + error.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`; + } + if (type === "plugin") { + const transformName = standardizedName.replace("-proposal-", "-transform-"); + if (transformName !== standardizedName && !(yield transformName).error) { + error.message += `\n- Did you mean "${transformName}"?`; + } + } + error.message += `\n +Make sure that all the Babel plugins and presets you are using +are defined as dependencies or devDependencies in your package.json +file. It's possible that the missing plugin is loaded by a preset +you are using that forgot to add the plugin to its dependencies: you +can workaround this problem by explicitly adding the missing package +to your top-level package.json. +`; + throw error; +} +function tryRequireResolve(id, dirname) { + try { + if (dirname) { + return { + error: null, + value: (((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, { + paths: [b] + }, M = require("module")) => { + let f = M._findPath(r, M._nodeModulePaths(b).concat(b)); + if (f) return f; + f = new Error(`Cannot resolve module '${r}'`); + f.code = "MODULE_NOT_FOUND"; + throw f; + })(id, { + paths: [dirname] + }) + }; + } else { + return { + error: null, + value: require.resolve(id) + }; + } + } catch (error) { + return { + error, + value: null + }; + } +} +function tryImportMetaResolve(id, options) { + try { + return { + error: null, + value: (0, _importMetaResolve.resolve)(id, options) + }; + } catch (error) { + return { + error, + value: null + }; + } +} +function resolveStandardizedNameForRequire(type, name, dirname) { + const it = resolveAlternativesHelper(type, name); + let res = it.next(); + while (!res.done) { + res = it.next(tryRequireResolve(res.value, dirname)); + } + return { + loader: "require", + filepath: res.value + }; +} +function resolveStandardizedNameForImport(type, name, dirname) { + const parentUrl = (0, _url().pathToFileURL)(_path().join(dirname, "./babel-virtual-resolve-base.js")).href; + const it = resolveAlternativesHelper(type, name); + let res = it.next(); + while (!res.done) { + res = it.next(tryImportMetaResolve(res.value, parentUrl)); + } + return { + loader: "auto", + filepath: (0, _url().fileURLToPath)(res.value) + }; +} +function resolveStandardizedName(type, name, dirname, allowAsync) { + if (!_moduleTypes.supportsESM || !allowAsync) { + return resolveStandardizedNameForRequire(type, name, dirname); + } + try { + const resolved = resolveStandardizedNameForImport(type, name, dirname); + if (!(0, _fs().existsSync)(resolved.filepath)) { + throw Object.assign(new Error(`Could not resolve "${name}" in file ${dirname}.`), { + type: "MODULE_NOT_FOUND" + }); + } + return resolved; + } catch (e) { + try { + return resolveStandardizedNameForRequire(type, name, dirname); + } catch (e2) { + if (e.type === "MODULE_NOT_FOUND") throw e; + if (e2.type === "MODULE_NOT_FOUND") throw e2; + throw e; + } + } +} +var LOADING_MODULES = new Set(); +function* requireModule(type, loader, name) { + if (!(yield* (0, _async.isAsync)()) && LOADING_MODULES.has(name)) { + throw new Error(`Reentrant ${type} detected trying to load "${name}". This module is not ignored ` + "and is trying to load itself while compiling itself, leading to a dependency cycle. " + 'We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.'); + } + try { + LOADING_MODULES.add(name); + return yield* (0, _moduleTypes.default)(name, loader, `You appear to be using a native ECMAScript module ${type}, ` + "which is only supported when running Babel asynchronously " + "or when using the Node.js `--experimental-require-module` flag.", `You appear to be using a ${type} that contains top-level await, ` + "which is only supported when running Babel asynchronously.", true); + } catch (err) { + err.message = `[BABEL]: ${err.message} (While processing: ${name})`; + throw err; + } finally { + LOADING_MODULES.delete(name); + } +} +0 && 0; + +//# sourceMappingURL=plugins.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/plugins.js.map b/client/node_modules/@babel/core/lib/config/files/plugins.js.map new file mode 100644 index 0000000..f3879e3 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/plugins.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_debug","data","require","_path","_async","_moduleTypes","_url","_importMetaResolve","_fs","debug","buildDebug","EXACT_RE","BABEL_PLUGIN_PREFIX_RE","BABEL_PRESET_PREFIX_RE","BABEL_PLUGIN_ORG_RE","BABEL_PRESET_ORG_RE","OTHER_PLUGIN_ORG_RE","OTHER_PRESET_ORG_RE","OTHER_ORG_DEFAULT_RE","resolvePlugin","exports","resolveStandardizedName","bind","resolvePreset","loadPlugin","name","dirname","filepath","loader","isAsync","value","requireModule","loadPreset","standardizeName","type","path","isAbsolute","isPreset","replace","resolveAlternativesHelper","standardizedName","error","code","message","oppositeType","transformName","tryRequireResolve","id","v","w","split","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","tryImportMetaResolve","options","importMetaResolve","resolveStandardizedNameForRequire","it","res","next","done","resolveStandardizedNameForImport","parentUrl","pathToFileURL","join","href","fileURLToPath","allowAsync","supportsESM","resolved","existsSync","Object","assign","e","e2","LOADING_MODULES","Set","has","add","loadCodeDefault","err","delete"],"sources":["../../../src/config/files/plugins.ts"],"sourcesContent":["/**\n * This file handles all logic for converting string-based configuration references into loaded objects.\n */\n\nimport buildDebug from \"debug\";\nimport path from \"node:path\";\nimport type { Handler } from \"gensync\";\nimport { isAsync } from \"../../gensync-utils/async.ts\";\nimport loadCodeDefault, { supportsESM } from \"./module-types.ts\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\n\nimport { resolve as importMetaResolve } from \"../../vendor/import-meta-resolve.js\";\n\nimport { createRequire } from \"node:module\";\nimport { existsSync } from \"node:fs\";\nconst require = createRequire(import.meta.url);\n\nconst debug = buildDebug(\"babel:config:loading:files:plugins\");\n\nconst EXACT_RE = /^module:/;\nconst BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-plugin-)/;\nconst BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\\/|babel-preset-)/;\nconst BABEL_PLUGIN_ORG_RE = /^(@babel\\/)(?!plugin-|[^/]+\\/)/;\nconst BABEL_PRESET_ORG_RE = /^(@babel\\/)(?!preset-|[^/]+\\/)/;\nconst OTHER_PLUGIN_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-plugin(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_PRESET_ORG_RE =\n /^(@(?!babel\\/)[^/]+\\/)(?![^/]*babel-preset(?:-|\\/|$)|[^/]+\\/)/;\nconst OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;\n\nexport const resolvePlugin = resolveStandardizedName.bind(null, \"plugin\");\nexport const resolvePreset = resolveStandardizedName.bind(null, \"preset\");\n\nexport function* loadPlugin(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const { filepath, loader } = resolvePlugin(name, dirname, yield* isAsync());\n\n const value = yield* requireModule(\"plugin\", loader, filepath);\n debug(\"Loaded plugin %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nexport function* loadPreset(\n name: string,\n dirname: string,\n): Handler<{ filepath: string; value: unknown }> {\n const { filepath, loader } = resolvePreset(name, dirname, yield* isAsync());\n\n const value = yield* requireModule(\"preset\", loader, filepath);\n\n debug(\"Loaded preset %o from %o.\", name, dirname);\n\n return { filepath, value };\n}\n\nfunction standardizeName(type: \"plugin\" | \"preset\", name: string) {\n // Let absolute and relative paths through.\n if (path.isAbsolute(name)) return name;\n\n const isPreset = type === \"preset\";\n\n return (\n name\n // foo -> babel-preset-foo\n .replace(\n isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE,\n `babel-${type}-`,\n )\n // @babel/es2015 -> @babel/preset-es2015\n .replace(\n isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE,\n `$1${type}-`,\n )\n // @foo/mypreset -> @foo/babel-preset-mypreset\n .replace(\n isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE,\n `$1babel-${type}-`,\n )\n // @foo -> @foo/babel-preset\n .replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`)\n // module:mypreset -> mypreset\n .replace(EXACT_RE, \"\")\n );\n}\n\ntype Result = { error: Error; value: null } | { error: null; value: T };\n\nfunction* resolveAlternativesHelper(\n type: \"plugin\" | \"preset\",\n name: string,\n): Iterator> {\n const standardizedName = standardizeName(type, name);\n const { error, value } = yield standardizedName;\n if (!error) return value;\n\n // @ts-expect-error code may not index error\n if (error.code !== \"MODULE_NOT_FOUND\") throw error;\n\n if (standardizedName !== name && !(yield name).error) {\n error.message += `\\n- If you want to resolve \"${name}\", use \"module:${name}\"`;\n }\n\n if (!(yield standardizeName(type, \"@babel/\" + name)).error) {\n error.message += `\\n- Did you mean \"@babel/${name}\"?`;\n }\n\n const oppositeType = type === \"preset\" ? \"plugin\" : \"preset\";\n if (!(yield standardizeName(oppositeType, name)).error) {\n error.message += `\\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;\n }\n\n if (type === \"plugin\") {\n const transformName = standardizedName.replace(\"-proposal-\", \"-transform-\");\n if (transformName !== standardizedName && !(yield transformName).error) {\n error.message += `\\n- Did you mean \"${transformName}\"?`;\n }\n }\n\n error.message += `\\n\nMake sure that all the Babel plugins and presets you are using\nare defined as dependencies or devDependencies in your package.json\nfile. It's possible that the missing plugin is loaded by a preset\nyou are using that forgot to add the plugin to its dependencies: you\ncan workaround this problem by explicitly adding the missing package\nto your top-level package.json.\n`;\n\n throw error;\n}\n\nfunction tryRequireResolve(\n id: string,\n dirname: string | undefined,\n): Result {\n try {\n if (dirname) {\n return { error: null, value: require.resolve(id, { paths: [dirname] }) };\n } else {\n return { error: null, value: require.resolve(id) };\n }\n } catch (error) {\n return { error, value: null };\n }\n}\n\nfunction tryImportMetaResolve(\n id: Parameters[0],\n options: Parameters[1],\n): Result {\n try {\n return { error: null, value: importMetaResolve(id, options) };\n } catch (error) {\n return { error, value: null };\n }\n}\n\nfunction resolveStandardizedNameForRequire(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(tryRequireResolve(res.value, dirname));\n }\n return { loader: \"require\" as const, filepath: res.value };\n}\nfunction resolveStandardizedNameForImport(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n) {\n const parentUrl = pathToFileURL(\n path.join(dirname, \"./babel-virtual-resolve-base.js\"),\n ).href;\n\n const it = resolveAlternativesHelper(type, name);\n let res = it.next();\n while (!res.done) {\n res = it.next(tryImportMetaResolve(res.value, parentUrl));\n }\n return { loader: \"auto\" as const, filepath: fileURLToPath(res.value) };\n}\n\nfunction resolveStandardizedName(\n type: \"plugin\" | \"preset\",\n name: string,\n dirname: string,\n allowAsync: boolean,\n) {\n if (!supportsESM || !allowAsync) {\n return resolveStandardizedNameForRequire(type, name, dirname);\n }\n\n try {\n const resolved = resolveStandardizedNameForImport(type, name, dirname);\n // import-meta-resolve 4.0 does not throw if the module is not found.\n if (!existsSync(resolved.filepath)) {\n throw Object.assign(\n new Error(`Could not resolve \"${name}\" in file ${dirname}.`),\n { type: \"MODULE_NOT_FOUND\" },\n );\n }\n return resolved;\n } catch (e) {\n try {\n return resolveStandardizedNameForRequire(type, name, dirname);\n } catch (e2) {\n if (e.type === \"MODULE_NOT_FOUND\") throw e;\n if (e2.type === \"MODULE_NOT_FOUND\") throw e2;\n throw e;\n }\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var LOADING_MODULES = new Set();\n}\nfunction* requireModule(\n type: string,\n loader: \"require\" | \"auto\",\n name: string,\n): Handler {\n if (!process.env.BABEL_8_BREAKING) {\n if (!(yield* isAsync()) && LOADING_MODULES.has(name)) {\n throw new Error(\n `Reentrant ${type} detected trying to load \"${name}\". This module is not ignored ` +\n \"and is trying to load itself while compiling itself, leading to a dependency cycle. \" +\n 'We recommend adding it to your \"ignore\" list in your babelrc, or to a .babelignore.',\n );\n }\n }\n\n try {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.add(name);\n }\n\n if (process.env.BABEL_8_BREAKING) {\n return yield* loadCodeDefault(\n name,\n loader,\n `You appear to be using a native ECMAScript module ${type}, ` +\n \"which is only supported when running Babel asynchronously \" +\n \"or when using the Node.js `--experimental-require-module` flag.\",\n `You appear to be using a ${type} that contains top-level await, ` +\n \"which is only supported when running Babel asynchronously.\",\n );\n } else {\n return yield* loadCodeDefault(\n name,\n loader,\n `You appear to be using a native ECMAScript module ${type}, ` +\n \"which is only supported when running Babel asynchronously \" +\n \"or when using the Node.js `--experimental-require-module` flag.\",\n `You appear to be using a ${type} that contains top-level await, ` +\n \"which is only supported when running Babel asynchronously.\",\n // For backward compatibility, we need to support malformed presets\n // defined as separate named exports rather than a single default\n // export.\n // See packages/babel-core/test/fixtures/option-manager/presets/es2015_named.js\n // @ts-ignore(Babel 7 vs Babel 8) This param has been removed\n true,\n );\n }\n } catch (err) {\n err.message = `[BABEL]: ${err.message} (While processing: ${name})`;\n throw err;\n } finally {\n if (!process.env.BABEL_8_BREAKING) {\n LOADING_MODULES.delete(name);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/types.js b/client/node_modules/@babel/core/lib/config/files/types.js new file mode 100644 index 0000000..8fd1422 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/types.js @@ -0,0 +1,5 @@ +"use strict"; + +0 && 0; + +//# sourceMappingURL=types.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/types.js.map b/client/node_modules/@babel/core/lib/config/files/types.js.map new file mode 100644 index 0000000..a2ac40b --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/types.js.map @@ -0,0 +1 @@ +{"version":3,"names":[],"sources":["../../../src/config/files/types.ts"],"sourcesContent":["import type { InputOptions } from \"../index.ts\";\n\nexport type ConfigFile = {\n filepath: string;\n dirname: string;\n options: InputOptions & { babel?: unknown };\n};\n\nexport type IgnoreFile = {\n filepath: string;\n dirname: string;\n ignore: RegExp[];\n};\n\nexport type RelativeConfig = {\n // The actual config, either from package.json#babel, .babelrc, or\n // .babelrc.js, if there was one.\n config: ConfigFile | null;\n // The .babelignore, if there was one.\n ignore: IgnoreFile | null;\n};\n\nexport type FilePackageData = {\n // The file in the package.\n filepath: string;\n // Any ancestor directories of the file that are within the package.\n directories: string[];\n // The contents of the package.json. May not be found if the package just\n // terminated at a node_modules folder without finding one.\n pkg: ConfigFile | null;\n // True if a package.json or node_modules folder was found while traversing\n // the directory structure.\n isPackage: boolean;\n};\n"],"mappings":"","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/files/utils.js b/client/node_modules/@babel/core/lib/config/files/utils.js new file mode 100644 index 0000000..406aab9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/utils.js @@ -0,0 +1,36 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeStaticFileCache = makeStaticFileCache; +var _caching = require("../caching.js"); +var fs = require("../../gensync-utils/fs.js"); +function _fs2() { + const data = require("fs"); + _fs2 = function () { + return data; + }; + return data; +} +function makeStaticFileCache(fn) { + return (0, _caching.makeStrongCache)(function* (filepath, cache) { + const cached = cache.invalidate(() => fileMtime(filepath)); + if (cached === null) { + return null; + } + return fn(filepath, yield* fs.readFile(filepath, "utf8")); + }); +} +function fileMtime(filepath) { + if (!_fs2().existsSync(filepath)) return null; + try { + return +_fs2().statSync(filepath).mtime; + } catch (e) { + if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw e; + } + return null; +} +0 && 0; + +//# sourceMappingURL=utils.js.map diff --git a/client/node_modules/@babel/core/lib/config/files/utils.js.map b/client/node_modules/@babel/core/lib/config/files/utils.js.map new file mode 100644 index 0000000..f3be225 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/files/utils.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_caching","require","fs","_fs2","data","makeStaticFileCache","fn","makeStrongCache","filepath","cache","cached","invalidate","fileMtime","readFile","nodeFs","existsSync","statSync","mtime","e","code"],"sources":["../../../src/config/files/utils.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { makeStrongCache } from \"../caching.ts\";\nimport type { CacheConfigurator } from \"../caching.ts\";\nimport * as fs from \"../../gensync-utils/fs.ts\";\nimport nodeFs from \"node:fs\";\n\nexport function makeStaticFileCache(\n fn: (filepath: string, contents: string) => T,\n) {\n return makeStrongCache(function* (\n filepath: string,\n cache: CacheConfigurator,\n ): Handler {\n const cached = cache.invalidate(() => fileMtime(filepath));\n\n if (cached === null) {\n return null;\n }\n\n return fn(filepath, yield* fs.readFile(filepath, \"utf8\"));\n });\n}\n\nfunction fileMtime(filepath: string): number | null {\n if (!nodeFs.existsSync(filepath)) return null;\n\n try {\n return +nodeFs.statSync(filepath).mtime;\n } catch (e) {\n if (e.code !== \"ENOENT\" && e.code !== \"ENOTDIR\") throw e;\n }\n\n return null;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,EAAA,GAAAD,OAAA;AACA,SAAAE,KAAA;EAAA,MAAAC,IAAA,GAAAH,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASC,mBAAmBA,CACjCC,EAA6C,EAC7C;EACA,OAAO,IAAAC,wBAAe,EAAC,WACrBC,QAAgB,EAChBC,KAA8B,EACX;IACnB,MAAMC,MAAM,GAAGD,KAAK,CAACE,UAAU,CAAC,MAAMC,SAAS,CAACJ,QAAQ,CAAC,CAAC;IAE1D,IAAIE,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,OAAOJ,EAAE,CAACE,QAAQ,EAAE,OAAON,EAAE,CAACW,QAAQ,CAACL,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC3D,CAAC,CAAC;AACJ;AAEA,SAASI,SAASA,CAACJ,QAAgB,EAAiB;EAClD,IAAI,CAACM,KAAKA,CAAC,CAACC,UAAU,CAACP,QAAQ,CAAC,EAAE,OAAO,IAAI;EAE7C,IAAI;IACF,OAAO,CAACM,KAAKA,CAAC,CAACE,QAAQ,CAACR,QAAQ,CAAC,CAACS,KAAK;EACzC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAIA,CAAC,CAACC,IAAI,KAAK,QAAQ,IAAID,CAAC,CAACC,IAAI,KAAK,SAAS,EAAE,MAAMD,CAAC;EAC1D;EAEA,OAAO,IAAI;AACb;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/full.js b/client/node_modules/@babel/core/lib/config/full.js new file mode 100644 index 0000000..614caa9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/full.js @@ -0,0 +1,312 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _async = require("../gensync-utils/async.js"); +var _util = require("./util.js"); +var context = require("../index.js"); +var _plugin = require("./plugin.js"); +var _item = require("./item.js"); +var _configChain = require("./config-chain.js"); +var _deepArray = require("./helpers/deep-array.js"); +function _traverse() { + const data = require("@babel/traverse"); + _traverse = function () { + return data; + }; + return data; +} +var _caching = require("./caching.js"); +var _options = require("./validation/options.js"); +var _plugins = require("./validation/plugins.js"); +var _configApi = require("./helpers/config-api.js"); +var _partial = require("./partial.js"); +var _configError = require("../errors/config-error.js"); +var _default = exports.default = _gensync()(function* loadFullConfig(inputOpts) { + var _opts$assumptions; + const result = yield* (0, _partial.default)(inputOpts); + if (!result) { + return null; + } + const { + options, + context, + fileHandling + } = result; + if (fileHandling === "ignored") { + return null; + } + const optionDefaults = {}; + const { + plugins, + presets + } = options; + if (!plugins || !presets) { + throw new Error("Assertion failure - plugins and presets exist"); + } + const presetContext = Object.assign({}, context, { + targets: options.targets + }); + const toDescriptor = item => { + const desc = (0, _item.getItemDescriptor)(item); + if (!desc) { + throw new Error("Assertion failure - must be config item"); + } + return desc; + }; + const presetsDescriptors = presets.map(toDescriptor); + const initialPluginsDescriptors = plugins.map(toDescriptor); + const pluginDescriptorsByPass = [[]]; + const passes = []; + const externalDependencies = []; + const ignored = yield* enhanceError(context, function* recursePresetDescriptors(rawPresets, pluginDescriptorsPass) { + const presets = []; + for (let i = 0; i < rawPresets.length; i++) { + const descriptor = rawPresets[i]; + if (descriptor.options !== false) { + try { + var preset = yield* loadPresetDescriptor(descriptor, presetContext); + } catch (e) { + if (e.code === "BABEL_UNKNOWN_OPTION") { + (0, _options.checkNoUnwrappedItemOptionPairs)(rawPresets, i, "preset", e); + } + throw e; + } + externalDependencies.push(preset.externalDependencies); + if (descriptor.ownPass) { + presets.push({ + preset: preset.chain, + pass: [] + }); + } else { + presets.unshift({ + preset: preset.chain, + pass: pluginDescriptorsPass + }); + } + } + } + if (presets.length > 0) { + pluginDescriptorsByPass.splice(1, 0, ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass)); + for (const { + preset, + pass + } of presets) { + if (!preset) return true; + pass.push(...preset.plugins); + const ignored = yield* recursePresetDescriptors(preset.presets, pass); + if (ignored) return true; + preset.options.forEach(opts => { + (0, _util.mergeOptions)(optionDefaults, opts); + }); + } + } + })(presetsDescriptors, pluginDescriptorsByPass[0]); + if (ignored) return null; + const opts = optionDefaults; + (0, _util.mergeOptions)(opts, options); + const pluginContext = Object.assign({}, presetContext, { + assumptions: (_opts$assumptions = opts.assumptions) != null ? _opts$assumptions : {} + }); + yield* enhanceError(context, function* loadPluginDescriptors() { + pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors); + for (const descs of pluginDescriptorsByPass) { + const pass = []; + passes.push(pass); + for (let i = 0; i < descs.length; i++) { + const descriptor = descs[i]; + if (descriptor.options !== false) { + try { + var plugin = yield* loadPluginDescriptor(descriptor, pluginContext); + } catch (e) { + if (e.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY") { + (0, _options.checkNoUnwrappedItemOptionPairs)(descs, i, "plugin", e); + } + throw e; + } + pass.push(plugin); + externalDependencies.push(plugin.externalDependencies); + } + } + } + })(); + opts.plugins = passes[0]; + opts.presets = passes.slice(1).filter(plugins => plugins.length > 0).map(plugins => ({ + plugins + })); + opts.passPerPreset = opts.presets.length > 0; + return { + options: opts, + passes: passes, + externalDependencies: (0, _deepArray.finalize)(externalDependencies) + }; +}); +function enhanceError(context, fn) { + return function* (arg1, arg2) { + try { + return yield* fn(arg1, arg2); + } catch (e) { + if (!e.message.startsWith("[BABEL]")) { + var _context$filename; + e.message = `[BABEL] ${(_context$filename = context.filename) != null ? _context$filename : "unknown file"}: ${e.message}`; + } + throw e; + } + }; +} +const makeDescriptorLoader = apiFactory => (0, _caching.makeWeakCache)(function* ({ + value, + options, + dirname, + alias +}, cache) { + if (options === false) throw new Error("Assertion failure"); + options = options || {}; + const externalDependencies = []; + let item = value; + if (typeof value === "function") { + const factory = (0, _async.maybeAsync)(value, `You appear to be using an async plugin/preset, but Babel has been called synchronously`); + const api = Object.assign({}, context, apiFactory(cache, externalDependencies)); + try { + item = yield* factory(api, options, dirname); + } catch (e) { + if (alias) { + e.message += ` (While processing: ${JSON.stringify(alias)})`; + } + throw e; + } + } + if (!item || typeof item !== "object") { + throw new Error("Plugin/Preset did not return an object."); + } + if ((0, _async.isThenable)(item)) { + yield* []; + throw new Error(`You appear to be using a promise as a plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version. ` + `As an alternative, you can prefix the promise with "await". ` + `(While processing: ${JSON.stringify(alias)})`); + } + if (externalDependencies.length > 0 && (!cache.configured() || cache.mode() === "forever")) { + let error = `A plugin/preset has external untracked dependencies ` + `(${externalDependencies[0]}), but the cache `; + if (!cache.configured()) { + error += `has not been configured to be invalidated when the external dependencies change. `; + } else { + error += ` has been configured to never be invalidated. `; + } + error += `Plugins/presets should configure their cache to be invalidated when the external ` + `dependencies change, for example using \`api.cache.invalidate(() => ` + `statSync(filepath).mtimeMs)\` or \`api.cache.never()\`\n` + `(While processing: ${JSON.stringify(alias)})`; + throw new Error(error); + } + return { + value: item, + options, + dirname, + alias, + externalDependencies: (0, _deepArray.finalize)(externalDependencies) + }; +}); +const pluginDescriptorLoader = makeDescriptorLoader(_configApi.makePluginAPI); +const presetDescriptorLoader = makeDescriptorLoader(_configApi.makePresetAPI); +const instantiatePlugin = (0, _caching.makeWeakCache)(function* ({ + value, + options, + dirname, + alias, + externalDependencies +}, cache) { + const pluginObj = (0, _plugins.validatePluginObject)(value); + const plugin = Object.assign({}, pluginObj); + if (plugin.visitor) { + plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor)); + } + if (plugin.inherits) { + const inheritsDescriptor = { + name: undefined, + alias: `${alias}$inherits`, + value: plugin.inherits, + options, + dirname + }; + const inherits = yield* (0, _async.forwardAsync)(loadPluginDescriptor, run => { + return cache.invalidate(data => run(inheritsDescriptor, data)); + }); + plugin.pre = chainMaybeAsync(inherits.pre, plugin.pre); + plugin.post = chainMaybeAsync(inherits.post, plugin.post); + plugin.manipulateOptions = chainMaybeAsync(inherits.manipulateOptions, plugin.manipulateOptions); + plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]); + if (inherits.externalDependencies.length > 0) { + if (externalDependencies.length === 0) { + externalDependencies = inherits.externalDependencies; + } else { + externalDependencies = (0, _deepArray.finalize)([externalDependencies, inherits.externalDependencies]); + } + } + } + return new _plugin.default(plugin, options, alias, externalDependencies); +}); +function* loadPluginDescriptor(descriptor, context) { + if (descriptor.value instanceof _plugin.default) { + if (descriptor.options) { + throw new Error("Passed options to an existing Plugin instance will not work."); + } + return descriptor.value; + } + return yield* instantiatePlugin(yield* pluginDescriptorLoader(descriptor, context), context); +} +const needsFilename = val => val && typeof val !== "function"; +const validateIfOptionNeedsFilename = (options, descriptor) => { + if (needsFilename(options.test) || needsFilename(options.include) || needsFilename(options.exclude)) { + const formattedPresetName = descriptor.name ? `"${descriptor.name}"` : "/* your preset */"; + throw new _configError.default([`Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`, `\`\`\``, `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`, `\`\`\``, `See https://babeljs.io/docs/en/options#filename for more information.`].join("\n")); + } +}; +const validatePreset = (preset, context, descriptor) => { + if (!context.filename) { + var _options$overrides; + const { + options + } = preset; + validateIfOptionNeedsFilename(options, descriptor); + (_options$overrides = options.overrides) == null || _options$overrides.forEach(overrideOptions => validateIfOptionNeedsFilename(overrideOptions, descriptor)); + } +}; +const instantiatePreset = (0, _caching.makeWeakCacheSync)(({ + value, + dirname, + alias, + externalDependencies +}) => { + return { + options: (0, _options.validate)("preset", value), + alias, + dirname, + externalDependencies + }; +}); +function* loadPresetDescriptor(descriptor, context) { + const preset = instantiatePreset(yield* presetDescriptorLoader(descriptor, context)); + validatePreset(preset, context, descriptor); + return { + chain: yield* (0, _configChain.buildPresetChain)(preset, context), + externalDependencies: preset.externalDependencies + }; +} +function chainMaybeAsync(a, b) { + if (!a) return b; + if (!b) return a; + return function (...args) { + const res = a.apply(this, args); + if (res && typeof res.then === "function") { + return res.then(() => b.apply(this, args)); + } + return b.apply(this, args); + }; +} +0 && 0; + +//# sourceMappingURL=full.js.map diff --git a/client/node_modules/@babel/core/lib/config/full.js.map b/client/node_modules/@babel/core/lib/config/full.js.map new file mode 100644 index 0000000..55e99b8 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/full.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_async","_util","context","_plugin","_item","_configChain","_deepArray","_traverse","_caching","_options","_plugins","_configApi","_partial","_configError","_default","exports","default","gensync","loadFullConfig","inputOpts","_opts$assumptions","result","loadPrivatePartialConfig","options","fileHandling","optionDefaults","plugins","presets","Error","presetContext","Object","assign","targets","toDescriptor","item","desc","getItemDescriptor","presetsDescriptors","map","initialPluginsDescriptors","pluginDescriptorsByPass","passes","externalDependencies","ignored","enhanceError","recursePresetDescriptors","rawPresets","pluginDescriptorsPass","i","length","descriptor","preset","loadPresetDescriptor","e","code","checkNoUnwrappedItemOptionPairs","push","ownPass","chain","pass","unshift","splice","o","filter","p","forEach","opts","mergeOptions","pluginContext","assumptions","loadPluginDescriptors","descs","plugin","loadPluginDescriptor","slice","passPerPreset","freezeDeepArray","fn","arg1","arg2","message","startsWith","_context$filename","filename","makeDescriptorLoader","apiFactory","makeWeakCache","value","dirname","alias","cache","factory","maybeAsync","api","JSON","stringify","isThenable","configured","mode","error","pluginDescriptorLoader","makePluginAPI","presetDescriptorLoader","makePresetAPI","instantiatePlugin","pluginObj","validatePluginObject","visitor","traverse","explode","inherits","inheritsDescriptor","name","undefined","forwardAsync","run","invalidate","pre","chainMaybeAsync","post","manipulateOptions","visitors","merge","Plugin","needsFilename","val","validateIfOptionNeedsFilename","test","include","exclude","formattedPresetName","ConfigError","join","validatePreset","_options$overrides","overrides","overrideOptions","instantiatePreset","makeWeakCacheSync","validate","buildPresetChain","a","b","args","res","apply","then"],"sources":["../../src/config/full.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\nimport {\n forwardAsync,\n maybeAsync,\n isThenable,\n} from \"../gensync-utils/async.ts\";\n\nimport { mergeOptions } from \"./util.ts\";\nimport * as context from \"../index.ts\";\nimport Plugin from \"./plugin.ts\";\nimport { getItemDescriptor } from \"./item.ts\";\nimport { buildPresetChain } from \"./config-chain.ts\";\nimport { finalize as freezeDeepArray } from \"./helpers/deep-array.ts\";\nimport type { DeepArray, ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\nimport type {\n ConfigContext,\n ConfigChain,\n PresetInstance,\n} from \"./config-chain.ts\";\nimport type { UnloadedDescriptor } from \"./config-descriptors.ts\";\nimport traverse from \"@babel/traverse\";\nimport { makeWeakCache, makeWeakCacheSync } from \"./caching.ts\";\nimport type { CacheConfigurator } from \"./caching.ts\";\nimport {\n validate,\n checkNoUnwrappedItemOptionPairs,\n} from \"./validation/options.ts\";\nimport type { InputOptions, PluginItem } from \"./validation/options.ts\";\nimport { validatePluginObject } from \"./validation/plugins.ts\";\nimport { makePluginAPI, makePresetAPI } from \"./helpers/config-api.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\nimport loadPrivatePartialConfig from \"./partial.ts\";\nimport type { ResolvedOptions } from \"./validation/options.ts\";\n\nimport type * as Context from \"./cache-contexts.ts\";\nimport ConfigError from \"../errors/config-error.ts\";\n\ntype LoadedDescriptor = {\n value: any;\n options: object;\n dirname: string;\n alias: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { InputOptions } from \"./validation/options.ts\";\n\nexport type ResolvedConfig = {\n options: ResolvedOptions;\n passes: PluginPasses;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { Plugin };\nexport type PluginPassList = Plugin[];\nexport type PluginPasses = PluginPassList[];\n\nexport default gensync(function* loadFullConfig(\n inputOpts: InputOptions,\n): Handler {\n const result = yield* loadPrivatePartialConfig(inputOpts);\n if (!result) {\n return null;\n }\n const { options, context, fileHandling } = result;\n\n if (fileHandling === \"ignored\") {\n return null;\n }\n\n const optionDefaults = {};\n\n const { plugins, presets } = options;\n\n if (!plugins || !presets) {\n throw new Error(\"Assertion failure - plugins and presets exist\");\n }\n\n const presetContext: Context.FullPreset = {\n ...context,\n targets: options.targets,\n };\n\n const toDescriptor = (item: PluginItem) => {\n const desc = getItemDescriptor(item);\n if (!desc) {\n throw new Error(\"Assertion failure - must be config item\");\n }\n\n return desc;\n };\n\n const presetsDescriptors = presets.map(toDescriptor);\n const initialPluginsDescriptors = plugins.map(toDescriptor);\n const pluginDescriptorsByPass: UnloadedDescriptor[][] = [[]];\n const passes: Plugin[][] = [];\n\n const externalDependencies: DeepArray = [];\n\n const ignored = yield* enhanceError(\n context,\n function* recursePresetDescriptors(\n rawPresets: UnloadedDescriptor[],\n pluginDescriptorsPass: UnloadedDescriptor[],\n ): Handler {\n const presets: {\n preset: ConfigChain | null;\n pass: UnloadedDescriptor[];\n }[] = [];\n\n for (let i = 0; i < rawPresets.length; i++) {\n const descriptor = rawPresets[i];\n // @ts-expect-error TODO: disallow false\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var preset = yield* loadPresetDescriptor(descriptor, presetContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_OPTION\") {\n checkNoUnwrappedItemOptionPairs(rawPresets, i, \"preset\", e);\n }\n throw e;\n }\n\n externalDependencies.push(preset.externalDependencies);\n\n // Presets normally run in reverse order, but if they\n // have their own pass they run after the presets\n // in the previous pass.\n if (descriptor.ownPass) {\n presets.push({ preset: preset.chain, pass: [] });\n } else {\n presets.unshift({\n preset: preset.chain,\n pass: pluginDescriptorsPass,\n });\n }\n }\n }\n\n // resolve presets\n if (presets.length > 0) {\n // The passes are created in the same order as the preset list, but are inserted before any\n // existing additional passes.\n pluginDescriptorsByPass.splice(\n 1,\n 0,\n ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass),\n );\n\n for (const { preset, pass } of presets) {\n if (!preset) return true;\n\n pass.push(...preset.plugins);\n\n const ignored = yield* recursePresetDescriptors(preset.presets, pass);\n if (ignored) return true;\n\n preset.options.forEach(opts => {\n mergeOptions(optionDefaults, opts);\n });\n }\n }\n },\n )(presetsDescriptors, pluginDescriptorsByPass[0]);\n\n if (ignored) return null;\n\n const opts = optionDefaults as ResolvedOptions;\n mergeOptions(opts, options);\n\n const pluginContext: Context.FullPlugin = {\n ...presetContext,\n assumptions: opts.assumptions ?? {},\n };\n\n yield* enhanceError(context, function* loadPluginDescriptors() {\n pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);\n\n for (const descs of pluginDescriptorsByPass) {\n const pass: Plugin[] = [];\n passes.push(pass);\n\n for (let i = 0; i < descs.length; i++) {\n const descriptor = descs[i];\n // @ts-expect-error TODO: disallow false\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_PLUGIN_PROPERTY\") {\n // print special message for `plugins: [\"@babel/foo\", { foo: \"option\" }]`\n checkNoUnwrappedItemOptionPairs(descs, i, \"plugin\", e);\n }\n throw e;\n }\n pass.push(plugin);\n\n externalDependencies.push(plugin.externalDependencies);\n }\n }\n }\n })();\n\n opts.plugins = passes[0];\n opts.presets = passes\n .slice(1)\n .filter(plugins => plugins.length > 0)\n .map(plugins => ({ plugins }));\n opts.passPerPreset = opts.presets.length > 0;\n\n return {\n options: opts,\n passes: passes,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n});\n\nfunction enhanceError(context: ConfigContext, fn: T): T {\n return function* (arg1: unknown, arg2: unknown) {\n try {\n return yield* fn(arg1, arg2);\n } catch (e) {\n // There are a few case where thrown errors will try to annotate themselves multiple times, so\n // to keep things simple we just bail out if re-wrapping the message.\n if (!e.message.startsWith(\"[BABEL]\")) {\n e.message = `[BABEL] ${context.filename ?? \"unknown file\"}: ${\n e.message\n }`;\n }\n\n throw e;\n }\n } as any;\n}\n\n/**\n * Load a generic plugin/preset from the given descriptor loaded from the config object.\n */\nconst makeDescriptorLoader = (\n apiFactory: (\n cache: CacheConfigurator,\n externalDependencies: string[],\n ) => API,\n) =>\n makeWeakCache(function* (\n { value, options, dirname, alias }: UnloadedDescriptor,\n cache: CacheConfigurator,\n ): Handler {\n // Disabled presets should already have been filtered out\n // @ts-expect-error expected\n if (options === false) throw new Error(\"Assertion failure\");\n\n options = options || {};\n\n const externalDependencies: string[] = [];\n\n let item: unknown = value;\n if (typeof value === \"function\") {\n const factory = maybeAsync(\n value as (api: API, options: object, dirname: string) => unknown,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n const api = {\n ...context,\n ...apiFactory(cache, externalDependencies),\n };\n try {\n item = yield* factory(api, options, dirname);\n } catch (e) {\n if (alias) {\n e.message += ` (While processing: ${JSON.stringify(alias)})`;\n }\n throw e;\n }\n }\n\n if (!item || typeof item !== \"object\") {\n throw new Error(\"Plugin/Preset did not return an object.\");\n }\n\n if (isThenable(item)) {\n // if we want to support async plugins\n yield* [];\n\n throw new Error(\n `You appear to be using a promise as a plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version. ` +\n `As an alternative, you can prefix the promise with \"await\". ` +\n `(While processing: ${JSON.stringify(alias)})`,\n );\n }\n\n if (\n externalDependencies.length > 0 &&\n (!cache.configured() || cache.mode() === \"forever\")\n ) {\n let error =\n `A plugin/preset has external untracked dependencies ` +\n `(${externalDependencies[0]}), but the cache `;\n if (!cache.configured()) {\n error += `has not been configured to be invalidated when the external dependencies change. `;\n } else {\n error += ` has been configured to never be invalidated. `;\n }\n error +=\n `Plugins/presets should configure their cache to be invalidated when the external ` +\n `dependencies change, for example using \\`api.cache.invalidate(() => ` +\n `statSync(filepath).mtimeMs)\\` or \\`api.cache.never()\\`\\n` +\n `(While processing: ${JSON.stringify(alias)})`;\n\n throw new Error(error);\n }\n\n return {\n value: item,\n options,\n dirname,\n alias,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n });\n\nconst pluginDescriptorLoader = makeDescriptorLoader<\n Context.SimplePlugin,\n PluginAPI\n>(makePluginAPI);\nconst presetDescriptorLoader = makeDescriptorLoader<\n Context.SimplePreset,\n PresetAPI\n>(makePresetAPI);\n\nconst instantiatePlugin = makeWeakCache(function* (\n { value, options, dirname, alias, externalDependencies }: LoadedDescriptor,\n cache: CacheConfigurator,\n): Handler {\n const pluginObj = validatePluginObject(value);\n\n const plugin = {\n ...pluginObj,\n };\n if (plugin.visitor) {\n plugin.visitor = traverse.explode({\n ...plugin.visitor,\n });\n }\n\n if (plugin.inherits) {\n const inheritsDescriptor: UnloadedDescriptor = {\n name: undefined,\n alias: `${alias}$inherits`,\n value: plugin.inherits,\n options,\n dirname,\n };\n\n const inherits = yield* forwardAsync(loadPluginDescriptor, run => {\n // If the inherited plugin changes, reinstantiate this plugin.\n return cache.invalidate(data => run(inheritsDescriptor, data));\n });\n\n plugin.pre = chainMaybeAsync(inherits.pre, plugin.pre);\n plugin.post = chainMaybeAsync(inherits.post, plugin.post);\n plugin.manipulateOptions = chainMaybeAsync(\n inherits.manipulateOptions,\n plugin.manipulateOptions,\n );\n plugin.visitor = traverse.visitors.merge([\n inherits.visitor || {},\n plugin.visitor || {},\n ]);\n\n if (inherits.externalDependencies.length > 0) {\n if (externalDependencies.length === 0) {\n externalDependencies = inherits.externalDependencies;\n } else {\n externalDependencies = freezeDeepArray([\n externalDependencies,\n inherits.externalDependencies,\n ]);\n }\n }\n }\n\n return new Plugin(plugin, options, alias, externalDependencies);\n});\n\n/**\n * Instantiate a plugin for the given descriptor, returning the plugin/options pair.\n */\nfunction* loadPluginDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.SimplePlugin,\n): Handler {\n if (descriptor.value instanceof Plugin) {\n if (descriptor.options) {\n throw new Error(\n \"Passed options to an existing Plugin instance will not work.\",\n );\n }\n\n return descriptor.value;\n }\n\n return yield* instantiatePlugin(\n yield* pluginDescriptorLoader(descriptor, context),\n context,\n );\n}\n\nconst needsFilename = (val: unknown) => val && typeof val !== \"function\";\n\nconst validateIfOptionNeedsFilename = (\n options: InputOptions,\n descriptor: UnloadedDescriptor,\n): void => {\n if (\n needsFilename(options.test) ||\n needsFilename(options.include) ||\n needsFilename(options.exclude)\n ) {\n const formattedPresetName = descriptor.name\n ? `\"${descriptor.name}\"`\n : \"/* your preset */\";\n throw new ConfigError(\n [\n `Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`,\n `\\`\\`\\``,\n `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`,\n `\\`\\`\\``,\n `See https://babeljs.io/docs/en/options#filename for more information.`,\n ].join(\"\\n\"),\n );\n }\n};\n\nconst validatePreset = (\n preset: PresetInstance,\n context: ConfigContext,\n descriptor: UnloadedDescriptor,\n): void => {\n if (!context.filename) {\n const { options } = preset;\n validateIfOptionNeedsFilename(options, descriptor);\n options.overrides?.forEach(overrideOptions =>\n validateIfOptionNeedsFilename(overrideOptions, descriptor),\n );\n }\n};\n\nconst instantiatePreset = makeWeakCacheSync(\n ({\n value,\n dirname,\n alias,\n externalDependencies,\n }: LoadedDescriptor): PresetInstance => {\n return {\n options: validate(\"preset\", value),\n alias,\n dirname,\n externalDependencies,\n };\n },\n);\n\n/**\n * Generate a config object that will act as the root of a new nested config.\n */\nfunction* loadPresetDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.FullPreset,\n): Handler<{\n chain: ConfigChain | null;\n externalDependencies: ReadonlyDeepArray;\n}> {\n const preset = instantiatePreset(\n yield* presetDescriptorLoader(descriptor, context),\n );\n validatePreset(preset, context, descriptor);\n return {\n chain: yield* buildPresetChain(preset, context),\n externalDependencies: preset.externalDependencies,\n };\n}\n\nfunction chainMaybeAsync>(\n a: undefined | ((...args: Args) => R),\n b: undefined | ((...args: Args) => R),\n): (...args: Args) => R {\n if (!a) return b;\n if (!b) return a;\n\n return function (this: unknown, ...args: Args) {\n const res = a.apply(this, args);\n if (res && typeof res.then === \"function\") {\n return res.then(() => b.apply(this, args));\n }\n return b.apply(this, args);\n } as (...args: Args) => R;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/helpers/config-api.js b/client/node_modules/@babel/core/lib/config/helpers/config-api.js new file mode 100644 index 0000000..192ebcf --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/config-api.js @@ -0,0 +1,85 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeConfigAPI = makeConfigAPI; +exports.makePluginAPI = makePluginAPI; +exports.makePresetAPI = makePresetAPI; +function _semver() { + const data = require("semver"); + _semver = function () { + return data; + }; + return data; +} +var _index = require("../../index.js"); +var _caching = require("../caching.js"); +function makeConfigAPI(cache) { + const env = value => cache.using(data => { + if (value === undefined) return data.envName; + if (typeof value === "function") { + return (0, _caching.assertSimpleType)(value(data.envName)); + } + return (Array.isArray(value) ? value : [value]).some(entry => { + if (typeof entry !== "string") { + throw new Error("Unexpected non-string value"); + } + return entry === data.envName; + }); + }); + const caller = cb => cache.using(data => (0, _caching.assertSimpleType)(cb(data.caller))); + return { + version: _index.version, + cache: cache.simple(), + env, + async: () => false, + caller, + assertVersion + }; +} +function makePresetAPI(cache, externalDependencies) { + const targets = () => JSON.parse(cache.using(data => JSON.stringify(data.targets))); + const addExternalDependency = ref => { + externalDependencies.push(ref); + }; + return Object.assign({}, makeConfigAPI(cache), { + targets, + addExternalDependency + }); +} +function makePluginAPI(cache, externalDependencies) { + const assumption = name => cache.using(data => data.assumptions[name]); + return Object.assign({}, makePresetAPI(cache, externalDependencies), { + assumption + }); +} +function assertVersion(range) { + if (typeof range === "number") { + if (!Number.isInteger(range)) { + throw new Error("Expected string or integer value."); + } + range = `^${range}.0.0-0`; + } + if (typeof range !== "string") { + throw new Error("Expected string or integer value."); + } + if (range === "*" || _semver().satisfies(_index.version, range)) return; + const message = `Requires Babel "${range}", but was loaded with "${_index.version}". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention "@babel/core" or "babel-core" ` + `to see what is calling Babel.`; + const limit = Error.stackTraceLimit; + if (typeof limit === "number" && limit < 25) { + Error.stackTraceLimit = 25; + } + const err = new Error(message); + if (typeof limit === "number") { + Error.stackTraceLimit = limit; + } + throw Object.assign(err, { + code: "BABEL_VERSION_UNSUPPORTED", + version: _index.version, + range + }); +} +0 && 0; + +//# sourceMappingURL=config-api.js.map diff --git a/client/node_modules/@babel/core/lib/config/helpers/config-api.js.map b/client/node_modules/@babel/core/lib/config/helpers/config-api.js.map new file mode 100644 index 0000000..b88d9f7 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/config-api.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_semver","data","require","_index","_caching","makeConfigAPI","cache","env","value","using","undefined","envName","assertSimpleType","Array","isArray","some","entry","Error","caller","cb","version","coreVersion","simple","async","assertVersion","makePresetAPI","externalDependencies","targets","JSON","parse","stringify","addExternalDependency","ref","push","Object","assign","makePluginAPI","assumption","name","assumptions","range","Number","isInteger","semver","satisfies","message","limit","stackTraceLimit","err","code"],"sources":["../../../src/config/helpers/config-api.ts"],"sourcesContent":["import semver from \"semver\";\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nimport { version as coreVersion } from \"../../index.ts\";\nimport { assertSimpleType } from \"../caching.ts\";\nimport type {\n CacheConfigurator,\n SimpleCacheConfigurator,\n SimpleType,\n} from \"../caching.ts\";\n\nimport type {\n AssumptionName,\n CallerMetadata,\n InputOptions,\n} from \"../validation/options.ts\";\n\nimport type * as Context from \"../cache-contexts\";\n\ntype EnvName = NonNullable;\ntype EnvFunction = {\n (): string;\n (extractor: (envName: EnvName) => T): T;\n (envVar: string): boolean;\n (envVars: string[]): boolean;\n};\n\ntype CallerFactory = {\n (\n extractor: (callerMetadata: CallerMetadata | undefined) => T,\n ): T;\n (\n extractor: (callerMetadata: CallerMetadata | undefined) => unknown,\n ): SimpleType;\n};\ntype TargetsFunction = () => Targets;\ntype AssumptionFunction = (name: AssumptionName) => boolean | undefined;\n\nexport type ConfigAPI = {\n version: string;\n cache: SimpleCacheConfigurator;\n env: EnvFunction;\n async: () => boolean;\n assertVersion: typeof assertVersion;\n caller?: CallerFactory;\n};\n\nexport type PresetAPI = {\n targets: TargetsFunction;\n addExternalDependency: (ref: string) => void;\n} & ConfigAPI;\n\nexport type PluginAPI = {\n assumption: AssumptionFunction;\n} & PresetAPI;\n\nexport function makeConfigAPI(\n cache: CacheConfigurator,\n): ConfigAPI {\n // TODO(@nicolo-ribaudo): If we remove the explicit type from `value`\n // and the `as any` type cast, TypeScript crashes in an infinite\n // recursion. After upgrading to TS4.7 and finishing the noImplicitAny\n // PR, we should check if it still crashes and report it to the TS team.\n const env: EnvFunction = ((\n value: string | string[] | ((babelEnv: string) => T),\n ) =>\n cache.using(data => {\n if (value === undefined) return data.envName;\n if (typeof value === \"function\") {\n return assertSimpleType(value(data.envName));\n }\n return (Array.isArray(value) ? value : [value]).some(entry => {\n if (typeof entry !== \"string\") {\n throw new Error(\"Unexpected non-string value\");\n }\n return entry === data.envName;\n });\n })) as any;\n\n const caller = (\n cb: (CallerMetadata: CallerMetadata | undefined) => SimpleType,\n ) => cache.using(data => assertSimpleType(cb(data.caller)));\n\n return {\n version: coreVersion,\n cache: cache.simple(),\n // Expose \".env()\" so people can easily get the same env that we expose using the \"env\" key.\n env,\n async: () => false,\n caller,\n assertVersion,\n };\n}\n\nexport function makePresetAPI(\n cache: CacheConfigurator,\n externalDependencies: string[],\n): PresetAPI {\n const targets = () =>\n // We are using JSON.parse/JSON.stringify because it's only possible to cache\n // primitive values. We can safely stringify the targets object because it\n // only contains strings as its properties.\n // Please make the Record and Tuple proposal happen!\n JSON.parse(cache.using(data => JSON.stringify(data.targets)));\n\n const addExternalDependency = (ref: string) => {\n externalDependencies.push(ref);\n };\n\n return { ...makeConfigAPI(cache), targets, addExternalDependency };\n}\n\nexport function makePluginAPI(\n cache: CacheConfigurator,\n externalDependencies: string[],\n): PluginAPI {\n const assumption = (name: string) =>\n cache.using(data => data.assumptions[name]);\n\n return { ...makePresetAPI(cache, externalDependencies), assumption };\n}\n\nfunction assertVersion(range: string | number): void {\n if (typeof range === \"number\") {\n if (!Number.isInteger(range)) {\n throw new Error(\"Expected string or integer value.\");\n }\n range = `^${range}.0.0-0`;\n }\n if (typeof range !== \"string\") {\n throw new Error(\"Expected string or integer value.\");\n }\n\n // We want \"*\" to also allow any pre-release, but we do not pass\n // the includePrerelease option to semver.satisfies because we\n // do not want ^7.0.0 to match 8.0.0-alpha.1.\n if (range === \"*\" || semver.satisfies(coreVersion, range)) return;\n\n const message =\n `Requires Babel \"${range}\", but was loaded with \"${coreVersion}\". ` +\n `If you are sure you have a compatible version of @babel/core, ` +\n `it is likely that something in your build process is loading the ` +\n `wrong version. Inspect the stack trace of this error to look for ` +\n `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` +\n `to see what is calling Babel.`;\n\n if (\n typeof process !== \"undefined\" &&\n process.env.BABEL_8_BREAKING &&\n process.env.BABEL_7_TO_8_DANGEROUSLY_DISABLE_VERSION_CHECK\n ) {\n console.warn(message);\n return;\n }\n\n const limit = Error.stackTraceLimit;\n\n if (typeof limit === \"number\" && limit < 25) {\n // Bump up the limit if needed so that users are more likely\n // to be able to see what is calling Babel.\n Error.stackTraceLimit = 25;\n }\n\n const err = new Error(message);\n\n if (typeof limit === \"number\") {\n Error.stackTraceLimit = limit;\n }\n\n throw Object.assign(err, {\n code: \"BABEL_VERSION_UNSUPPORTED\",\n version: coreVersion,\n range,\n });\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/helpers/deep-array.js b/client/node_modules/@babel/core/lib/config/helpers/deep-array.js new file mode 100644 index 0000000..c611db2 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/deep-array.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.finalize = finalize; +exports.flattenToSet = flattenToSet; +function finalize(deepArr) { + return Object.freeze(deepArr); +} +function flattenToSet(arr) { + const result = new Set(); + const stack = [arr]; + while (stack.length > 0) { + for (const el of stack.pop()) { + if (Array.isArray(el)) stack.push(el);else result.add(el); + } + } + return result; +} +0 && 0; + +//# sourceMappingURL=deep-array.js.map diff --git a/client/node_modules/@babel/core/lib/config/helpers/deep-array.js.map b/client/node_modules/@babel/core/lib/config/helpers/deep-array.js.map new file mode 100644 index 0000000..57239da --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/deep-array.js.map @@ -0,0 +1 @@ +{"version":3,"names":["finalize","deepArr","Object","freeze","flattenToSet","arr","result","Set","stack","length","el","pop","Array","isArray","push","add"],"sources":["../../../src/config/helpers/deep-array.ts"],"sourcesContent":["export type DeepArray = (T | ReadonlyDeepArray)[];\n\n// Just to make sure that DeepArray is not assignable to ReadonlyDeepArray\ndeclare const __marker: unique symbol;\nexport type ReadonlyDeepArray = readonly (T | ReadonlyDeepArray)[] & {\n [__marker]: true;\n};\n\nexport function finalize(deepArr: DeepArray): ReadonlyDeepArray {\n return Object.freeze(deepArr) as ReadonlyDeepArray;\n}\n\nexport function flattenToSet(\n arr: ReadonlyDeepArray,\n): Set {\n const result = new Set();\n const stack = [arr];\n while (stack.length > 0) {\n for (const el of stack.pop()) {\n if (Array.isArray(el)) stack.push(el as ReadonlyDeepArray);\n else result.add(el as T);\n }\n }\n return result;\n}\n"],"mappings":";;;;;;;AAQO,SAASA,QAAQA,CAAIC,OAAqB,EAAwB;EACvE,OAAOC,MAAM,CAACC,MAAM,CAACF,OAAO,CAAC;AAC/B;AAEO,SAASG,YAAYA,CAC1BC,GAAyB,EACjB;EACR,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAAI,CAAC;EAC3B,MAAMC,KAAK,GAAG,CAACH,GAAG,CAAC;EACnB,OAAOG,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;IACvB,KAAK,MAAMC,EAAE,IAAIF,KAAK,CAACG,GAAG,CAAC,CAAC,EAAE;MAC5B,IAAIC,KAAK,CAACC,OAAO,CAACH,EAAE,CAAC,EAAEF,KAAK,CAACM,IAAI,CAACJ,EAA0B,CAAC,CAAC,KACzDJ,MAAM,CAACS,GAAG,CAACL,EAAO,CAAC;IAC1B;EACF;EACA,OAAOJ,MAAM;AACf;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/helpers/environment.js b/client/node_modules/@babel/core/lib/config/helpers/environment.js new file mode 100644 index 0000000..a23b80b --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/environment.js @@ -0,0 +1,12 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getEnv = getEnv; +function getEnv(defaultValue = "development") { + return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue; +} +0 && 0; + +//# sourceMappingURL=environment.js.map diff --git a/client/node_modules/@babel/core/lib/config/helpers/environment.js.map b/client/node_modules/@babel/core/lib/config/helpers/environment.js.map new file mode 100644 index 0000000..c34fc17 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/helpers/environment.js.map @@ -0,0 +1 @@ +{"version":3,"names":["getEnv","defaultValue","process","env","BABEL_ENV","NODE_ENV"],"sources":["../../../src/config/helpers/environment.ts"],"sourcesContent":["export function getEnv(defaultValue: string = \"development\"): string {\n return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue;\n}\n"],"mappings":";;;;;;AAAO,SAASA,MAAMA,CAACC,YAAoB,GAAG,aAAa,EAAU;EACnE,OAAOC,OAAO,CAACC,GAAG,CAACC,SAAS,IAAIF,OAAO,CAACC,GAAG,CAACE,QAAQ,IAAIJ,YAAY;AACtE;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/index.js b/client/node_modules/@babel/core/lib/config/index.js new file mode 100644 index 0000000..cebfe23 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/index.js @@ -0,0 +1,87 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createConfigItem = createConfigItem; +exports.createConfigItemAsync = createConfigItemAsync; +exports.createConfigItemSync = createConfigItemSync; +Object.defineProperty(exports, "default", { + enumerable: true, + get: function () { + return _full.default; + } +}); +exports.loadOptions = loadOptions; +exports.loadOptionsAsync = loadOptionsAsync; +exports.loadOptionsSync = loadOptionsSync; +exports.loadPartialConfig = loadPartialConfig; +exports.loadPartialConfigAsync = loadPartialConfigAsync; +exports.loadPartialConfigSync = loadPartialConfigSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _full = require("./full.js"); +var _partial = require("./partial.js"); +var _item = require("./item.js"); +var _rewriteStackTrace = require("../errors/rewrite-stack-trace.js"); +const loadPartialConfigRunner = _gensync()(_partial.loadPartialConfig); +function loadPartialConfigAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.async)(...args); +} +function loadPartialConfigSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.sync)(...args); +} +function loadPartialConfig(opts, callback) { + if (callback !== undefined) { + (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(opts, callback); + } else if (typeof opts === "function") { + (0, _rewriteStackTrace.beginHiddenCallStack)(loadPartialConfigRunner.errback)(undefined, opts); + } else { + return loadPartialConfigSync(opts); + } +} +function* loadOptionsImpl(opts) { + var _config$options; + const config = yield* (0, _full.default)(opts); + return (_config$options = config == null ? void 0 : config.options) != null ? _config$options : null; +} +const loadOptionsRunner = _gensync()(loadOptionsImpl); +function loadOptionsAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.async)(...args); +} +function loadOptionsSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.sync)(...args); +} +function loadOptions(opts, callback) { + if (callback !== undefined) { + (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(opts, callback); + } else if (typeof opts === "function") { + (0, _rewriteStackTrace.beginHiddenCallStack)(loadOptionsRunner.errback)(undefined, opts); + } else { + return loadOptionsSync(opts); + } +} +const createConfigItemRunner = _gensync()(_item.createConfigItem); +function createConfigItemAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.async)(...args); +} +function createConfigItemSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.sync)(...args); +} +function createConfigItem(target, options, callback) { + if (callback !== undefined) { + (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, options, callback); + } else if (typeof options === "function") { + (0, _rewriteStackTrace.beginHiddenCallStack)(createConfigItemRunner.errback)(target, undefined, callback); + } else { + return createConfigItemSync(target, options); + } +} +0 && 0; + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/core/lib/config/index.js.map b/client/node_modules/@babel/core/lib/config/index.js.map new file mode 100644 index 0000000..32f94ed --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_full","_partial","_item","_rewriteStackTrace","loadPartialConfigRunner","gensync","loadPartialConfigImpl","loadPartialConfigAsync","args","beginHiddenCallStack","async","loadPartialConfigSync","sync","loadPartialConfig","opts","callback","undefined","errback","loadOptionsImpl","_config$options","config","loadFullConfig","options","loadOptionsRunner","loadOptionsAsync","loadOptionsSync","loadOptions","createConfigItemRunner","createConfigItemImpl","createConfigItemAsync","createConfigItemSync","createConfigItem","target"],"sources":["../../src/config/index.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nexport type {\n ResolvedConfig,\n InputOptions,\n PluginPasses,\n Plugin,\n} from \"./full.ts\";\n\nimport type {\n InputOptions,\n PluginTarget,\n ResolvedOptions,\n} from \"./validation/options.ts\";\nexport type { ConfigAPI } from \"./helpers/config-api.ts\";\nimport type {\n PluginAPI as basePluginAPI,\n PresetAPI as basePresetAPI,\n} from \"./helpers/config-api.ts\";\nexport type { PluginObject } from \"./validation/plugins.ts\";\ntype PluginAPI = basePluginAPI & typeof import(\"..\");\ntype PresetAPI = basePresetAPI & typeof import(\"..\");\nexport type { PluginAPI, PresetAPI };\nexport type {\n CallerMetadata,\n NormalizedOptions,\n} from \"./validation/options.ts\";\n\nimport loadFullConfig from \"./full.ts\";\nimport {\n type PartialConfig,\n loadPartialConfig as loadPartialConfigImpl,\n} from \"./partial.ts\";\n\nexport { loadFullConfig as default };\nexport type { PartialConfig } from \"./partial.ts\";\n\nimport { createConfigItem as createConfigItemImpl } from \"./item.ts\";\nimport type { ConfigItem } from \"./item.ts\";\nexport type { ConfigItem };\n\nimport { beginHiddenCallStack } from \"../errors/rewrite-stack-trace.ts\";\n\nconst loadPartialConfigRunner = gensync(loadPartialConfigImpl);\nexport function loadPartialConfigAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadPartialConfigRunner.async)(...args);\n}\nexport function loadPartialConfigSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadPartialConfigRunner.sync)(...args);\n}\nexport function loadPartialConfig(\n opts: Parameters[0],\n callback?: (err: Error, val: PartialConfig | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(loadPartialConfigRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n beginHiddenCallStack(loadPartialConfigRunner.errback)(\n undefined,\n opts as (err: Error, val: PartialConfig | null) => void,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'loadPartialConfig' function expects a callback. If you need to call it synchronously, please use 'loadPartialConfigSync'.\",\n );\n } else {\n return loadPartialConfigSync(opts);\n }\n }\n}\n\nfunction* loadOptionsImpl(opts: InputOptions): Handler {\n const config = yield* loadFullConfig(opts);\n // NOTE: We want to return \"null\" explicitly, while ?. alone returns undefined\n return config?.options ?? null;\n}\nconst loadOptionsRunner = gensync(loadOptionsImpl);\nexport function loadOptionsAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadOptionsRunner.async)(...args);\n}\nexport function loadOptionsSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadOptionsRunner.sync)(...args);\n}\nexport function loadOptions(\n opts: Parameters[0],\n callback?: (err: Error, val: ResolvedOptions | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(loadOptionsRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n beginHiddenCallStack(loadOptionsRunner.errback)(\n undefined,\n opts as (err: Error, val: ResolvedOptions | null) => void,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'loadOptions' function expects a callback. If you need to call it synchronously, please use 'loadOptionsSync'.\",\n );\n } else {\n return loadOptionsSync(opts);\n }\n }\n}\n\nconst createConfigItemRunner = gensync(createConfigItemImpl);\nexport function createConfigItemAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(createConfigItemRunner.async)(...args);\n}\nexport function createConfigItemSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(createConfigItemRunner.sync)(...args);\n}\nexport function createConfigItem(\n target: PluginTarget,\n options: Parameters[1],\n callback?: (err: Error, val: ConfigItem | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(createConfigItemRunner.errback)(\n target,\n options,\n callback,\n );\n } else if (typeof options === \"function\") {\n beginHiddenCallStack(createConfigItemRunner.errback)(\n target,\n undefined,\n callback,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'createConfigItem' function expects a callback. If you need to call it synchronously, please use 'createConfigItemSync'.\",\n );\n } else {\n return createConfigItemSync(target, options);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/item.js b/client/node_modules/@babel/core/lib/config/item.js new file mode 100644 index 0000000..69cf01f --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/item.js @@ -0,0 +1,67 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createConfigItem = createConfigItem; +exports.createItemFromDescriptor = createItemFromDescriptor; +exports.getItemDescriptor = getItemDescriptor; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +var _configDescriptors = require("./config-descriptors.js"); +function createItemFromDescriptor(desc) { + return new ConfigItem(desc); +} +function* createConfigItem(value, { + dirname = ".", + type +} = {}) { + const descriptor = yield* (0, _configDescriptors.createDescriptor)(value, _path().resolve(dirname), { + type, + alias: "programmatic item" + }); + return createItemFromDescriptor(descriptor); +} +const CONFIG_ITEM_BRAND = Symbol.for("@babel/core@7 - ConfigItem"); +function getItemDescriptor(item) { + if (item != null && item[CONFIG_ITEM_BRAND]) { + return item._descriptor; + } + return undefined; +} +class ConfigItem { + constructor(descriptor) { + this._descriptor = void 0; + this[CONFIG_ITEM_BRAND] = true; + this.value = void 0; + this.options = void 0; + this.dirname = void 0; + this.name = void 0; + this.file = void 0; + this._descriptor = descriptor; + Object.defineProperty(this, "_descriptor", { + enumerable: false + }); + Object.defineProperty(this, CONFIG_ITEM_BRAND, { + enumerable: false + }); + this.value = this._descriptor.value; + this.options = this._descriptor.options; + this.dirname = this._descriptor.dirname; + this.name = this._descriptor.name; + this.file = this._descriptor.file ? { + request: this._descriptor.file.request, + resolved: this._descriptor.file.resolved + } : undefined; + Object.freeze(this); + } +} +Object.freeze(ConfigItem.prototype); +0 && 0; + +//# sourceMappingURL=item.js.map diff --git a/client/node_modules/@babel/core/lib/config/item.js.map b/client/node_modules/@babel/core/lib/config/item.js.map new file mode 100644 index 0000000..6bdc806 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/item.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","_configDescriptors","createItemFromDescriptor","desc","ConfigItem","createConfigItem","value","dirname","type","descriptor","createDescriptor","path","resolve","alias","CONFIG_ITEM_BRAND","Symbol","for","getItemDescriptor","item","_descriptor","undefined","constructor","options","name","file","Object","defineProperty","enumerable","request","resolved","freeze","prototype"],"sources":["../../src/config/item.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport type { PluginItem, PresetItem } from \"./validation/options.ts\";\n\nimport path from \"node:path\";\nimport { createDescriptor } from \"./config-descriptors.ts\";\n\nimport type { UnloadedDescriptor } from \"./config-descriptors.ts\";\n\nexport function createItemFromDescriptor(\n desc: UnloadedDescriptor,\n): ConfigItem {\n return new ConfigItem(desc);\n}\n\n/**\n * Create a config item using the same value format used in Babel's config\n * files. Items returned from this function should be cached by the caller\n * ideally, as recreating the config item will mean re-resolving the item\n * and re-evaluating the plugin/preset function.\n */\nexport function* createConfigItem(\n value: PluginItem | PresetItem,\n {\n dirname = \".\",\n type,\n }: {\n dirname?: string;\n type?: \"preset\" | \"plugin\";\n } = {},\n): Handler> {\n const descriptor = yield* createDescriptor(value, path.resolve(dirname), {\n type,\n alias: \"programmatic item\",\n });\n\n return createItemFromDescriptor(descriptor);\n}\n\nconst CONFIG_ITEM_BRAND = Symbol.for(\"@babel/core@7 - ConfigItem\");\n\nexport function getItemDescriptor(\n item: unknown,\n): UnloadedDescriptor | void {\n if ((item as any)?.[CONFIG_ITEM_BRAND]) {\n return (item as ConfigItem)._descriptor;\n }\n\n return undefined;\n}\n\nexport type { ConfigItem };\n\n/**\n * A public representation of a plugin/preset that will _eventually_ be load.\n * Users can use this to interact with the results of a loaded Babel\n * configuration.\n *\n * Any changes to public properties of this class should be considered a\n * breaking change to Babel's API.\n */\nclass ConfigItem {\n /**\n * The private underlying descriptor that Babel actually cares about.\n * If you access this, you are a bad person.\n */\n _descriptor: UnloadedDescriptor;\n\n // TODO(Babel 9): Check if this symbol needs to be updated\n /**\n * Used to detect ConfigItem instances from other Babel instances.\n */\n [CONFIG_ITEM_BRAND] = true;\n\n /**\n * The resolved value of the item itself.\n */\n value: object | Function;\n\n /**\n * The options, if any, that were passed to the item.\n * Mutating this will lead to undefined behavior.\n *\n * \"false\" means that this item has been disabled.\n */\n options: object | void | false;\n\n /**\n * The directory that the options for this item are relative to.\n */\n dirname: string;\n\n /**\n * Get the name of the plugin, if the user gave it one.\n */\n name: string | void;\n\n /**\n * Data about the file that the item was loaded from, if Babel knows it.\n */\n file: {\n // The requested path, e.g. \"@babel/env\".\n request: string;\n // The resolved absolute path of the file.\n resolved: string;\n } | void;\n\n constructor(descriptor: UnloadedDescriptor) {\n // Make people less likely to stumble onto this if they are exploring\n // programmatically, and also make sure that if people happen to\n // pass the item through JSON.stringify, it doesn't show up.\n this._descriptor = descriptor;\n Object.defineProperty(this, \"_descriptor\", { enumerable: false });\n\n Object.defineProperty(this, CONFIG_ITEM_BRAND, { enumerable: false });\n\n this.value = this._descriptor.value;\n this.options = this._descriptor.options;\n this.dirname = this._descriptor.dirname;\n this.name = this._descriptor.name;\n this.file = this._descriptor.file\n ? {\n request: this._descriptor.file.request,\n resolved: this._descriptor.file.resolved,\n }\n : undefined;\n\n // Freeze the object to make it clear that people shouldn't expect mutating\n // this object to do anything. A new item should be created if they want\n // to change something.\n Object.freeze(this);\n }\n}\n\nObject.freeze(ConfigItem.prototype);\n"],"mappings":";;;;;;;;AAGA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAE,kBAAA,GAAAD,OAAA;AAIO,SAASE,wBAAwBA,CACtCC,IAA6B,EACZ;EACjB,OAAO,IAAIC,UAAU,CAACD,IAAI,CAAC;AAC7B;AAQO,UAAUE,gBAAgBA,CAC/BC,KAA8B,EAC9B;EACEC,OAAO,GAAG,GAAG;EACbC;AAIF,CAAC,GAAG,CAAC,CAAC,EACoB;EAC1B,MAAMC,UAAU,GAAG,OAAO,IAAAC,mCAAgB,EAACJ,KAAK,EAAEK,MAAGA,CAAC,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;IACvEC,IAAI;IACJK,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,OAAOX,wBAAwB,CAACO,UAAU,CAAC;AAC7C;AAEA,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAE3D,SAASC,iBAAiBA,CAC/BC,IAAa,EACmB;EAChC,IAAKA,IAAI,YAAJA,IAAI,CAAWJ,iBAAiB,CAAC,EAAE;IACtC,OAAQI,IAAI,CAAqBC,WAAW;EAC9C;EAEA,OAAOC,SAAS;AAClB;AAYA,MAAMhB,UAAU,CAAM;EA8CpBiB,WAAWA,CAACZ,UAAmC,EAAE;IAAA,KAzCjDU,WAAW;IAAA,KAMVL,iBAAiB,IAAI,IAAI;IAAA,KAK1BR,KAAK;IAAA,KAQLgB,OAAO;IAAA,KAKPf,OAAO;IAAA,KAKPgB,IAAI;IAAA,KAKJC,IAAI;IAWF,IAAI,CAACL,WAAW,GAAGV,UAAU;IAC7BgB,MAAM,CAACC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;MAAEC,UAAU,EAAE;IAAM,CAAC,CAAC;IAEjEF,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEZ,iBAAiB,EAAE;MAAEa,UAAU,EAAE;IAAM,CAAC,CAAC;IAErE,IAAI,CAACrB,KAAK,GAAG,IAAI,CAACa,WAAW,CAACb,KAAK;IACnC,IAAI,CAACgB,OAAO,GAAG,IAAI,CAACH,WAAW,CAACG,OAAO;IACvC,IAAI,CAACf,OAAO,GAAG,IAAI,CAACY,WAAW,CAACZ,OAAO;IACvC,IAAI,CAACgB,IAAI,GAAG,IAAI,CAACJ,WAAW,CAACI,IAAI;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACL,WAAW,CAACK,IAAI,GAC7B;MACEI,OAAO,EAAE,IAAI,CAACT,WAAW,CAACK,IAAI,CAACI,OAAO;MACtCC,QAAQ,EAAE,IAAI,CAACV,WAAW,CAACK,IAAI,CAACK;IAClC,CAAC,GACDT,SAAS;IAKbK,MAAM,CAACK,MAAM,CAAC,IAAI,CAAC;EACrB;AACF;AAEAL,MAAM,CAACK,MAAM,CAAC1B,UAAU,CAAC2B,SAAS,CAAC;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/partial.js b/client/node_modules/@babel/core/lib/config/partial.js new file mode 100644 index 0000000..a5a2f65 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/partial.js @@ -0,0 +1,158 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadPrivatePartialConfig; +exports.loadPartialConfig = loadPartialConfig; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +var _plugin = require("./plugin.js"); +var _util = require("./util.js"); +var _item = require("./item.js"); +var _configChain = require("./config-chain.js"); +var _environment = require("./helpers/environment.js"); +var _options = require("./validation/options.js"); +var _index = require("./files/index.js"); +var _resolveTargets = require("./resolve-targets.js"); +const _excluded = ["showIgnoredFiles"]; +function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } +function resolveRootMode(rootDir, rootMode) { + switch (rootMode) { + case "root": + return rootDir; + case "upward-optional": + { + const upwardRootDir = (0, _index.findConfigUpwards)(rootDir); + return upwardRootDir === null ? rootDir : upwardRootDir; + } + case "upward": + { + const upwardRootDir = (0, _index.findConfigUpwards)(rootDir); + if (upwardRootDir !== null) return upwardRootDir; + throw Object.assign(new Error(`Babel was run with rootMode:"upward" but a root could not ` + `be found when searching upward from "${rootDir}".\n` + `One of the following config files must be in the directory tree: ` + `"${_index.ROOT_CONFIG_FILENAMES.join(", ")}".`), { + code: "BABEL_ROOT_NOT_FOUND", + dirname: rootDir + }); + } + default: + throw new Error(`Assertion failure - unknown rootMode value.`); + } +} +function* loadPrivatePartialConfig(inputOpts) { + if (inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts))) { + throw new Error("Babel options must be an object, null, or undefined"); + } + const args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {}; + const { + envName = (0, _environment.getEnv)(), + cwd = ".", + root: rootDir = ".", + rootMode = "root", + caller, + cloneInputAst = true + } = args; + const absoluteCwd = _path().resolve(cwd); + const absoluteRootDir = resolveRootMode(_path().resolve(absoluteCwd, rootDir), rootMode); + const filename = typeof args.filename === "string" ? _path().resolve(cwd, args.filename) : undefined; + const showConfigPath = yield* (0, _index.resolveShowConfigPath)(absoluteCwd); + const context = { + filename, + cwd: absoluteCwd, + root: absoluteRootDir, + envName, + caller, + showConfig: showConfigPath === filename + }; + const configChain = yield* (0, _configChain.buildRootChain)(args, context); + if (!configChain) return null; + const merged = { + assumptions: {} + }; + configChain.options.forEach(opts => { + (0, _util.mergeOptions)(merged, opts); + }); + const options = Object.assign({}, merged, { + targets: (0, _resolveTargets.resolveTargets)(merged, absoluteRootDir), + cloneInputAst, + babelrc: false, + configFile: false, + browserslistConfigFile: false, + passPerPreset: false, + envName: context.envName, + cwd: context.cwd, + root: context.root, + rootMode: "root", + filename: typeof context.filename === "string" ? context.filename : undefined, + plugins: configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)), + presets: configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor)) + }); + return { + options, + context, + fileHandling: configChain.fileHandling, + ignore: configChain.ignore, + babelrc: configChain.babelrc, + config: configChain.config, + files: configChain.files + }; +} +function* loadPartialConfig(opts) { + let showIgnoredFiles = false; + if (typeof opts === "object" && opts !== null && !Array.isArray(opts)) { + var _opts = opts; + ({ + showIgnoredFiles + } = _opts); + opts = _objectWithoutPropertiesLoose(_opts, _excluded); + _opts; + } + const result = yield* loadPrivatePartialConfig(opts); + if (!result) return null; + const { + options, + babelrc, + ignore, + config, + fileHandling, + files + } = result; + if (fileHandling === "ignored" && !showIgnoredFiles) { + return null; + } + (options.plugins || []).forEach(item => { + if (item.value instanceof _plugin.default) { + throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()"); + } + }); + return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined, fileHandling, files); +} +class PartialConfig { + constructor(options, babelrc, ignore, config, fileHandling, files) { + this.options = void 0; + this.babelrc = void 0; + this.babelignore = void 0; + this.config = void 0; + this.fileHandling = void 0; + this.files = void 0; + this.options = options; + this.babelignore = ignore; + this.babelrc = babelrc; + this.config = config; + this.fileHandling = fileHandling; + this.files = files; + Object.freeze(this); + } + hasFilesystemConfig() { + return this.babelrc !== undefined || this.config !== undefined; + } +} +Object.freeze(PartialConfig.prototype); +0 && 0; + +//# sourceMappingURL=partial.js.map diff --git a/client/node_modules/@babel/core/lib/config/partial.js.map b/client/node_modules/@babel/core/lib/config/partial.js.map new file mode 100644 index 0000000..e54684d --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/partial.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","_plugin","_util","_item","_configChain","_environment","_options","_index","_resolveTargets","_excluded","_objectWithoutPropertiesLoose","r","e","t","n","hasOwnProperty","call","indexOf","resolveRootMode","rootDir","rootMode","upwardRootDir","findConfigUpwards","Object","assign","Error","ROOT_CONFIG_FILENAMES","join","code","dirname","loadPrivatePartialConfig","inputOpts","Array","isArray","args","validate","envName","getEnv","cwd","root","caller","cloneInputAst","absoluteCwd","path","resolve","absoluteRootDir","filename","undefined","showConfigPath","resolveShowConfigPath","context","showConfig","configChain","buildRootChain","merged","assumptions","options","forEach","opts","mergeOptions","targets","resolveTargets","babelrc","configFile","browserslistConfigFile","passPerPreset","plugins","map","descriptor","createItemFromDescriptor","presets","fileHandling","ignore","config","files","loadPartialConfig","showIgnoredFiles","_opts","result","item","value","Plugin","PartialConfig","filepath","constructor","babelignore","freeze","hasFilesystemConfig","prototype"],"sources":["../../src/config/partial.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { Handler } from \"gensync\";\nimport Plugin from \"./plugin.ts\";\nimport { mergeOptions } from \"./util.ts\";\nimport { createItemFromDescriptor } from \"./item.ts\";\nimport { buildRootChain } from \"./config-chain.ts\";\nimport type { ConfigContext, FileHandling } from \"./config-chain.ts\";\nimport { getEnv } from \"./helpers/environment.ts\";\nimport { validate } from \"./validation/options.ts\";\n\nimport type {\n RootMode,\n InputOptions,\n NormalizedOptions,\n} from \"./validation/options.ts\";\n\nimport {\n findConfigUpwards,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./files/index.ts\";\nimport type { ConfigFile, IgnoreFile } from \"./files/index.ts\";\nimport { resolveTargets } from \"./resolve-targets.ts\";\n\nfunction resolveRootMode(rootDir: string, rootMode: RootMode): string {\n switch (rootMode) {\n case \"root\":\n return rootDir;\n\n case \"upward-optional\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n return upwardRootDir === null ? rootDir : upwardRootDir;\n }\n\n case \"upward\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n if (upwardRootDir !== null) return upwardRootDir;\n\n throw Object.assign(\n new Error(\n `Babel was run with rootMode:\"upward\" but a root could not ` +\n `be found when searching upward from \"${rootDir}\".\\n` +\n `One of the following config files must be in the directory tree: ` +\n `\"${ROOT_CONFIG_FILENAMES.join(\", \")}\".`,\n ) as any,\n {\n code: \"BABEL_ROOT_NOT_FOUND\",\n dirname: rootDir,\n },\n );\n }\n default:\n throw new Error(`Assertion failure - unknown rootMode value.`);\n }\n}\n\nexport type PrivPartialConfig = {\n showIgnoredFiles?: boolean;\n options: NormalizedOptions;\n context: ConfigContext;\n babelrc: ConfigFile | undefined;\n config: ConfigFile | undefined;\n ignore: IgnoreFile | undefined;\n fileHandling: FileHandling;\n files: Set;\n};\n\nexport default function* loadPrivatePartialConfig(\n inputOpts: InputOptions,\n): Handler {\n if (\n inputOpts != null &&\n (typeof inputOpts !== \"object\" || Array.isArray(inputOpts))\n ) {\n throw new Error(\"Babel options must be an object, null, or undefined\");\n }\n\n const args = inputOpts ? validate(\"arguments\", inputOpts) : {};\n\n const {\n envName = getEnv(),\n cwd = \".\",\n root: rootDir = \".\",\n rootMode = \"root\",\n caller,\n cloneInputAst = true,\n } = args;\n const absoluteCwd = path.resolve(cwd);\n const absoluteRootDir = resolveRootMode(\n path.resolve(absoluteCwd, rootDir),\n rootMode,\n );\n\n const filename =\n typeof args.filename === \"string\"\n ? path.resolve(cwd, args.filename)\n : undefined;\n\n const showConfigPath = yield* resolveShowConfigPath(absoluteCwd);\n\n const context: ConfigContext = {\n filename,\n cwd: absoluteCwd,\n root: absoluteRootDir,\n envName,\n caller,\n showConfig: showConfigPath === filename,\n };\n\n const configChain = yield* buildRootChain(args, context);\n if (!configChain) return null;\n\n const merged = {\n assumptions: {},\n };\n configChain.options.forEach(opts => {\n mergeOptions(merged as any, opts);\n });\n\n const options: NormalizedOptions = {\n ...merged,\n targets: resolveTargets(merged, absoluteRootDir),\n\n // Tack the passes onto the object itself so that, if this object is\n // passed back to Babel a second time, it will be in the right structure\n // to not change behavior.\n cloneInputAst,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n passPerPreset: false,\n envName: context.envName,\n cwd: context.cwd,\n root: context.root,\n rootMode: \"root\",\n filename:\n typeof context.filename === \"string\" ? context.filename : undefined,\n\n plugins: configChain.plugins.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n presets: configChain.presets.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n };\n\n return {\n options,\n context,\n fileHandling: configChain.fileHandling,\n ignore: configChain.ignore,\n babelrc: configChain.babelrc,\n config: configChain.config,\n files: configChain.files,\n };\n}\n\nexport function* loadPartialConfig(\n opts?: InputOptions,\n): Handler {\n let showIgnoredFiles = false;\n // We only extract showIgnoredFiles if opts is an object, so that\n // loadPrivatePartialConfig can throw the appropriate error if it's not.\n if (typeof opts === \"object\" && opts !== null && !Array.isArray(opts)) {\n ({ showIgnoredFiles, ...opts } = opts);\n }\n\n const result: PrivPartialConfig | undefined | null =\n yield* loadPrivatePartialConfig(opts);\n if (!result) return null;\n\n const { options, babelrc, ignore, config, fileHandling, files } = result;\n\n if (fileHandling === \"ignored\" && !showIgnoredFiles) {\n return null;\n }\n\n (options.plugins || []).forEach(item => {\n if (item.value instanceof Plugin) {\n throw new Error(\n \"Passing cached plugin instances is not supported in \" +\n \"babel.loadPartialConfig()\",\n );\n }\n });\n\n return new PartialConfig(\n options,\n babelrc ? babelrc.filepath : undefined,\n ignore ? ignore.filepath : undefined,\n config ? config.filepath : undefined,\n fileHandling,\n files,\n );\n}\n\nexport type { PartialConfig };\n\nclass PartialConfig {\n /**\n * These properties are public, so any changes to them should be considered\n * a breaking change to Babel's API.\n */\n options: NormalizedOptions;\n babelrc: string | undefined;\n babelignore: string | undefined;\n config: string | undefined;\n fileHandling: FileHandling;\n files: Set;\n\n constructor(\n options: NormalizedOptions,\n babelrc: string | undefined,\n ignore: string | undefined,\n config: string | undefined,\n fileHandling: FileHandling,\n files: Set,\n ) {\n this.options = options;\n this.babelignore = ignore;\n this.babelrc = babelrc;\n this.config = config;\n this.fileHandling = fileHandling;\n this.files = files;\n\n // Freeze since this is a public API and it should be extremely obvious that\n // reassigning properties on here does nothing.\n Object.freeze(this);\n }\n\n /**\n * Returns true if there is a config file in the filesystem for this config.\n */\n hasFilesystemConfig(): boolean {\n return this.babelrc !== undefined || this.config !== undefined;\n }\n}\nObject.freeze(PartialConfig.prototype);\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/pattern-to-regex.js b/client/node_modules/@babel/core/lib/config/pattern-to-regex.js new file mode 100644 index 0000000..32de02d --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/pattern-to-regex.js @@ -0,0 +1,38 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = pathToPattern; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +const sep = `\\${_path().sep}`; +const endSep = `(?:${sep}|$)`; +const substitution = `[^${sep}]+`; +const starPat = `(?:${substitution}${sep})`; +const starPatLast = `(?:${substitution}${endSep})`; +const starStarPat = `${starPat}*?`; +const starStarPatLast = `${starPat}*?${starPatLast}?`; +function escapeRegExp(string) { + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); +} +function pathToPattern(pattern, dirname) { + const parts = _path().resolve(dirname, pattern).split(_path().sep); + return new RegExp(["^", ...parts.map((part, i) => { + const last = i === parts.length - 1; + if (part === "**") return last ? starStarPatLast : starStarPat; + if (part === "*") return last ? starPatLast : starPat; + if (part.startsWith("*.")) { + return substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep); + } + return escapeRegExp(part) + (last ? endSep : sep); + })].join("")); +} +0 && 0; + +//# sourceMappingURL=pattern-to-regex.js.map diff --git a/client/node_modules/@babel/core/lib/config/pattern-to-regex.js.map b/client/node_modules/@babel/core/lib/config/pattern-to-regex.js.map new file mode 100644 index 0000000..0da14ff --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/pattern-to-regex.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","sep","path","endSep","substitution","starPat","starPatLast","starStarPat","starStarPatLast","escapeRegExp","string","replace","pathToPattern","pattern","dirname","parts","resolve","split","RegExp","map","part","i","last","length","startsWith","slice","join"],"sources":["../../src/config/pattern-to-regex.ts"],"sourcesContent":["import path from \"node:path\";\n\nconst sep = `\\\\${path.sep}`;\nconst endSep = `(?:${sep}|$)`;\n\nconst substitution = `[^${sep}]+`;\n\nconst starPat = `(?:${substitution}${sep})`;\nconst starPatLast = `(?:${substitution}${endSep})`;\n\nconst starStarPat = `${starPat}*?`;\nconst starStarPatLast = `${starPat}*?${starPatLast}?`;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n}\n\n/**\n * Implement basic pattern matching that will allow users to do the simple\n * tests with * and **. If users want full complex pattern matching, then can\n * always use regex matching, or function validation.\n */\nexport default function pathToPattern(\n pattern: string,\n dirname: string,\n): RegExp {\n const parts = path.resolve(dirname, pattern).split(path.sep);\n\n return new RegExp(\n [\n \"^\",\n ...parts.map((part, i) => {\n const last = i === parts.length - 1;\n\n // ** matches 0 or more path parts.\n if (part === \"**\") return last ? starStarPatLast : starStarPat;\n\n // * matches 1 path part.\n if (part === \"*\") return last ? starPatLast : starPat;\n\n // *.ext matches a wildcard with an extension.\n if (part.startsWith(\"*.\")) {\n return (\n substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep)\n );\n }\n\n // Otherwise match the pattern text.\n return escapeRegExp(part) + (last ? endSep : sep);\n }),\n ].join(\"\"),\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAME,GAAG,GAAG,KAAKC,MAAGA,CAAC,CAACD,GAAG,EAAE;AAC3B,MAAME,MAAM,GAAG,MAAMF,GAAG,KAAK;AAE7B,MAAMG,YAAY,GAAG,KAAKH,GAAG,IAAI;AAEjC,MAAMI,OAAO,GAAG,MAAMD,YAAY,GAAGH,GAAG,GAAG;AAC3C,MAAMK,WAAW,GAAG,MAAMF,YAAY,GAAGD,MAAM,GAAG;AAElD,MAAMI,WAAW,GAAG,GAAGF,OAAO,IAAI;AAClC,MAAMG,eAAe,GAAG,GAAGH,OAAO,KAAKC,WAAW,GAAG;AAErD,SAASG,YAAYA,CAACC,MAAc,EAAE;EACpC,OAAOA,MAAM,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;AAOe,SAASC,aAAaA,CACnCC,OAAe,EACfC,OAAe,EACP;EACR,MAAMC,KAAK,GAAGb,MAAGA,CAAC,CAACc,OAAO,CAACF,OAAO,EAAED,OAAO,CAAC,CAACI,KAAK,CAACf,MAAGA,CAAC,CAACD,GAAG,CAAC;EAE5D,OAAO,IAAIiB,MAAM,CACf,CACE,GAAG,EACH,GAAGH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IACxB,MAAMC,IAAI,GAAGD,CAAC,KAAKN,KAAK,CAACQ,MAAM,GAAG,CAAC;IAGnC,IAAIH,IAAI,KAAK,IAAI,EAAE,OAAOE,IAAI,GAAGd,eAAe,GAAGD,WAAW;IAG9D,IAAIa,IAAI,KAAK,GAAG,EAAE,OAAOE,IAAI,GAAGhB,WAAW,GAAGD,OAAO;IAGrD,IAAIe,IAAI,CAACI,UAAU,CAAC,IAAI,CAAC,EAAE;MACzB,OACEpB,YAAY,GAAGK,YAAY,CAACW,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIH,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;IAEtE;IAGA,OAAOQ,YAAY,CAACW,IAAI,CAAC,IAAIE,IAAI,GAAGnB,MAAM,GAAGF,GAAG,CAAC;EACnD,CAAC,CAAC,CACH,CAACyB,IAAI,CAAC,EAAE,CACX,CAAC;AACH;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/plugin.js b/client/node_modules/@babel/core/lib/config/plugin.js new file mode 100644 index 0000000..21a28cd --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/plugin.js @@ -0,0 +1,33 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _deepArray = require("./helpers/deep-array.js"); +class Plugin { + constructor(plugin, options, key, externalDependencies = (0, _deepArray.finalize)([])) { + this.key = void 0; + this.manipulateOptions = void 0; + this.post = void 0; + this.pre = void 0; + this.visitor = void 0; + this.parserOverride = void 0; + this.generatorOverride = void 0; + this.options = void 0; + this.externalDependencies = void 0; + this.key = plugin.name || key; + this.manipulateOptions = plugin.manipulateOptions; + this.post = plugin.post; + this.pre = plugin.pre; + this.visitor = plugin.visitor || {}; + this.parserOverride = plugin.parserOverride; + this.generatorOverride = plugin.generatorOverride; + this.options = options; + this.externalDependencies = externalDependencies; + } +} +exports.default = Plugin; +0 && 0; + +//# sourceMappingURL=plugin.js.map diff --git a/client/node_modules/@babel/core/lib/config/plugin.js.map b/client/node_modules/@babel/core/lib/config/plugin.js.map new file mode 100644 index 0000000..c3bccb5 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/plugin.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_deepArray","require","Plugin","constructor","plugin","options","key","externalDependencies","finalize","manipulateOptions","post","pre","visitor","parserOverride","generatorOverride","name","exports","default"],"sources":["../../src/config/plugin.ts"],"sourcesContent":["import { finalize } from \"./helpers/deep-array.ts\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\nimport type { PluginObject } from \"./validation/plugins.ts\";\n\nexport default class Plugin {\n key: string | undefined | null;\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n post?: PluginObject[\"post\"];\n pre?: PluginObject[\"pre\"];\n visitor: PluginObject[\"visitor\"];\n\n parserOverride?: PluginObject[\"parserOverride\"];\n generatorOverride?: PluginObject[\"generatorOverride\"];\n\n options: object;\n\n externalDependencies: ReadonlyDeepArray;\n\n constructor(\n plugin: PluginObject,\n options: object,\n key?: string,\n externalDependencies: ReadonlyDeepArray = finalize([]),\n ) {\n this.key = plugin.name || key;\n\n this.manipulateOptions = plugin.manipulateOptions;\n this.post = plugin.post;\n this.pre = plugin.pre;\n this.visitor = plugin.visitor || {};\n this.parserOverride = plugin.parserOverride;\n this.generatorOverride = plugin.generatorOverride;\n\n this.options = options;\n this.externalDependencies = externalDependencies;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAIe,MAAMC,MAAM,CAAC;EAc1BC,WAAWA,CACTC,MAAoB,EACpBC,OAAe,EACfC,GAAY,EACZC,oBAA+C,GAAG,IAAAC,mBAAQ,EAAC,EAAE,CAAC,EAC9D;IAAA,KAlBFF,GAAG;IAAA,KACHG,iBAAiB;IAAA,KACjBC,IAAI;IAAA,KACJC,GAAG;IAAA,KACHC,OAAO;IAAA,KAEPC,cAAc;IAAA,KACdC,iBAAiB;IAAA,KAEjBT,OAAO;IAAA,KAEPE,oBAAoB;IAQlB,IAAI,CAACD,GAAG,GAAGF,MAAM,CAACW,IAAI,IAAIT,GAAG;IAE7B,IAAI,CAACG,iBAAiB,GAAGL,MAAM,CAACK,iBAAiB;IACjD,IAAI,CAACC,IAAI,GAAGN,MAAM,CAACM,IAAI;IACvB,IAAI,CAACC,GAAG,GAAGP,MAAM,CAACO,GAAG;IACrB,IAAI,CAACC,OAAO,GAAGR,MAAM,CAACQ,OAAO,IAAI,CAAC,CAAC;IACnC,IAAI,CAACC,cAAc,GAAGT,MAAM,CAACS,cAAc;IAC3C,IAAI,CAACC,iBAAiB,GAAGV,MAAM,CAACU,iBAAiB;IAEjD,IAAI,CAACT,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,oBAAoB,GAAGA,oBAAoB;EAClD;AACF;AAACS,OAAA,CAAAC,OAAA,GAAAf,MAAA;AAAA","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/printer.js b/client/node_modules/@babel/core/lib/config/printer.js new file mode 100644 index 0000000..3ac2c07 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/printer.js @@ -0,0 +1,113 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ConfigPrinter = exports.ChainFormatter = void 0; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +const ChainFormatter = exports.ChainFormatter = { + Programmatic: 0, + Config: 1 +}; +const Formatter = { + title(type, callerName, filepath) { + let title = ""; + if (type === ChainFormatter.Programmatic) { + title = "programmatic options"; + if (callerName) { + title += " from " + callerName; + } + } else { + title = "config " + filepath; + } + return title; + }, + loc(index, envName) { + let loc = ""; + if (index != null) { + loc += `.overrides[${index}]`; + } + if (envName != null) { + loc += `.env["${envName}"]`; + } + return loc; + }, + *optionsAndDescriptors(opt) { + const content = Object.assign({}, opt.options); + delete content.overrides; + delete content.env; + const pluginDescriptors = [...(yield* opt.plugins())]; + if (pluginDescriptors.length) { + content.plugins = pluginDescriptors.map(d => descriptorToConfig(d)); + } + const presetDescriptors = [...(yield* opt.presets())]; + if (presetDescriptors.length) { + content.presets = [...presetDescriptors].map(d => descriptorToConfig(d)); + } + return JSON.stringify(content, undefined, 2); + } +}; +function descriptorToConfig(d) { + var _d$file; + let name = (_d$file = d.file) == null ? void 0 : _d$file.request; + if (name == null) { + if (typeof d.value === "object") { + name = d.value; + } else if (typeof d.value === "function") { + name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`; + } + } + if (name == null) { + name = "[Unknown]"; + } + if (d.options === undefined) { + return name; + } else if (d.name == null) { + return [name, d.options]; + } else { + return [name, d.options, d.name]; + } +} +class ConfigPrinter { + constructor() { + this._stack = []; + } + configure(enabled, type, { + callerName, + filepath + }) { + if (!enabled) return () => {}; + return (content, index, envName) => { + this._stack.push({ + type, + callerName, + filepath, + content, + index, + envName + }); + }; + } + static *format(config) { + let title = Formatter.title(config.type, config.callerName, config.filepath); + const loc = Formatter.loc(config.index, config.envName); + if (loc) title += ` ${loc}`; + const content = yield* Formatter.optionsAndDescriptors(config.content); + return `${title}\n${content}`; + } + *output() { + if (this._stack.length === 0) return ""; + const configs = yield* _gensync().all(this._stack.map(s => ConfigPrinter.format(s))); + return configs.join("\n\n"); + } +} +exports.ConfigPrinter = ConfigPrinter; +0 && 0; + +//# sourceMappingURL=printer.js.map diff --git a/client/node_modules/@babel/core/lib/config/printer.js.map b/client/node_modules/@babel/core/lib/config/printer.js.map new file mode 100644 index 0000000..de47394 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/printer.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","ChainFormatter","exports","Programmatic","Config","Formatter","title","type","callerName","filepath","loc","index","envName","optionsAndDescriptors","opt","content","Object","assign","options","overrides","env","pluginDescriptors","plugins","length","map","d","descriptorToConfig","presetDescriptors","presets","JSON","stringify","undefined","_d$file","name","file","request","value","toString","slice","ConfigPrinter","constructor","_stack","configure","enabled","push","format","config","output","configs","gensync","all","s","join"],"sources":["../../src/config/printer.ts"],"sourcesContent":["import gensync from \"gensync\";\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n OptionsAndDescriptors,\n UnloadedDescriptor,\n} from \"./config-descriptors.ts\";\n\n// todo: Use flow enums when @babel/transform-flow-types supports it\nexport const ChainFormatter = {\n Programmatic: 0,\n Config: 1,\n};\n\ntype PrintableConfig = {\n content: OptionsAndDescriptors;\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter];\n callerName: string | undefined | null;\n filepath: string | undefined | null;\n index: number | undefined | null;\n envName: string | undefined | null;\n};\n\nconst Formatter = {\n title(\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n callerName?: string | null,\n filepath?: string | null,\n ): string {\n let title = \"\";\n if (type === ChainFormatter.Programmatic) {\n title = \"programmatic options\";\n if (callerName) {\n title += \" from \" + callerName;\n }\n } else {\n title = \"config \" + filepath;\n }\n return title;\n },\n loc(index?: number | null, envName?: string | null): string {\n let loc = \"\";\n if (index != null) {\n loc += `.overrides[${index}]`;\n }\n if (envName != null) {\n loc += `.env[\"${envName}\"]`;\n }\n return loc;\n },\n\n *optionsAndDescriptors(opt: OptionsAndDescriptors) {\n const content = { ...opt.options };\n // overrides and env will be printed as separated config items\n delete content.overrides;\n delete content.env;\n // resolve to descriptors\n const pluginDescriptors = [...(yield* opt.plugins())];\n if (pluginDescriptors.length) {\n content.plugins = pluginDescriptors.map(d => descriptorToConfig(d));\n }\n const presetDescriptors = [...(yield* opt.presets())];\n if (presetDescriptors.length) {\n content.presets = [...presetDescriptors].map(d => descriptorToConfig(d));\n }\n return JSON.stringify(content, undefined, 2);\n },\n};\n\nfunction descriptorToConfig(\n d: UnloadedDescriptor,\n): string | [string, object] | [string, object, string] {\n let name: string = d.file?.request;\n if (name == null) {\n if (typeof d.value === \"object\") {\n // @ts-expect-error FIXME\n name = d.value;\n } else if (typeof d.value === \"function\") {\n // If the unloaded descriptor is a function, i.e. `plugins: [ require(\"my-plugin\") ]`,\n // we print the first 50 characters of the function source code and hopefully we can see\n // `name: 'my-plugin'` in the source\n name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`;\n }\n }\n if (name == null) {\n name = \"[Unknown]\";\n }\n if (d.options === undefined) {\n return name;\n } else if (d.name == null) {\n return [name, d.options];\n } else {\n return [name, d.options, d.name];\n }\n}\n\nexport class ConfigPrinter {\n _stack: PrintableConfig[] = [];\n configure(\n enabled: boolean,\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n {\n callerName,\n filepath,\n }: {\n callerName?: string;\n filepath?: string;\n },\n ) {\n if (!enabled) return () => {};\n return (\n content: OptionsAndDescriptors,\n index?: number | null,\n envName?: string | null,\n ) => {\n this._stack.push({\n type,\n callerName,\n filepath,\n content,\n index,\n envName,\n });\n };\n }\n static *format(config: PrintableConfig): Handler {\n let title = Formatter.title(\n config.type,\n config.callerName,\n config.filepath,\n );\n const loc = Formatter.loc(config.index, config.envName);\n if (loc) title += ` ${loc}`;\n const content = yield* Formatter.optionsAndDescriptors(config.content);\n return `${title}\\n${content}`;\n }\n\n *output(): Handler {\n if (this._stack.length === 0) return \"\";\n const configs = yield* gensync.all(\n this._stack.map(s => ConfigPrinter.format(s)),\n );\n return configs.join(\"\\n\\n\");\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js b/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js new file mode 100644 index 0000000..3fdbd88 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + _helperCompilationTargets = function () { + return data; + }; + return data; +} +function resolveBrowserslistConfigFile(browserslistConfigFile, configFilePath) { + return undefined; +} +function resolveTargets(options, root) { + const optTargets = options.targets; + let targets; + if (typeof optTargets === "string" || Array.isArray(optTargets)) { + targets = { + browsers: optTargets + }; + } else if (optTargets) { + if ("esmodules" in optTargets) { + targets = Object.assign({}, optTargets, { + esmodules: "intersect" + }); + } else { + targets = optTargets; + } + } + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig: true, + browserslistEnv: options.browserslistEnv + }); +} +0 && 0; + +//# sourceMappingURL=resolve-targets-browser.js.map diff --git a/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map b/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map new file mode 100644 index 0000000..57b49e3 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_helperCompilationTargets","data","require","resolveBrowserslistConfigFile","browserslistConfigFile","configFilePath","undefined","resolveTargets","options","root","optTargets","targets","Array","isArray","browsers","Object","assign","esmodules","getTargets","ignoreBrowserslistConfig","browserslistEnv"],"sources":["../../src/config/resolve-targets-browser.ts"],"sourcesContent":["/* c8 ignore start */\n\nimport type { InputOptions } from \"./validation/options.ts\";\nimport getTargets, {\n type InputTargets,\n} from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nexport function resolveBrowserslistConfigFile(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n browserslistConfigFile: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n configFilePath: string,\n): string | void {\n return undefined;\n}\n\nexport function resolveTargets(\n options: InputOptions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n root: string,\n): Targets {\n const optTargets = options.targets;\n let targets: InputTargets;\n\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = { browsers: optTargets };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = { ...optTargets, esmodules: \"intersect\" };\n } else {\n // https://github.com/microsoft/TypeScript/issues/17002\n targets = optTargets as InputTargets;\n }\n }\n\n return getTargets(targets, {\n ignoreBrowserslistConfig: true,\n browserslistEnv: options.browserslistEnv,\n });\n}\n"],"mappings":";;;;;;;AAGA,SAAAA,0BAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,yBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMO,SAASE,6BAA6BA,CAE3CC,sBAA8B,EAE9BC,cAAsB,EACP;EACf,OAAOC,SAAS;AAClB;AAEO,SAASC,cAAcA,CAC5BC,OAAqB,EAErBC,IAAY,EACH;EACT,MAAMC,UAAU,GAAGF,OAAO,CAACG,OAAO;EAClC,IAAIA,OAAqB;EAEzB,IAAI,OAAOD,UAAU,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;IAC/DC,OAAO,GAAG;MAAEG,QAAQ,EAAEJ;IAAW,CAAC;EACpC,CAAC,MAAM,IAAIA,UAAU,EAAE;IACrB,IAAI,WAAW,IAAIA,UAAU,EAAE;MAC7BC,OAAO,GAAAI,MAAA,CAAAC,MAAA,KAAQN,UAAU;QAAEO,SAAS,EAAE;MAAW,EAAE;IACrD,CAAC,MAAM;MAELN,OAAO,GAAGD,UAA0B;IACtC;EACF;EAEA,OAAO,IAAAQ,mCAAU,EAACP,OAAO,EAAE;IACzBQ,wBAAwB,EAAE,IAAI;IAC9BC,eAAe,EAAEZ,OAAO,CAACY;EAC3B,CAAC,CAAC;AACJ;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/resolve-targets.js b/client/node_modules/@babel/core/lib/config/resolve-targets.js new file mode 100644 index 0000000..1fc539a --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/resolve-targets.js @@ -0,0 +1,61 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.resolveBrowserslistConfigFile = resolveBrowserslistConfigFile; +exports.resolveTargets = resolveTargets; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + _helperCompilationTargets = function () { + return data; + }; + return data; +} +({}); +function resolveBrowserslistConfigFile(browserslistConfigFile, configFileDir) { + return _path().resolve(configFileDir, browserslistConfigFile); +} +function resolveTargets(options, root) { + const optTargets = options.targets; + let targets; + if (typeof optTargets === "string" || Array.isArray(optTargets)) { + targets = { + browsers: optTargets + }; + } else if (optTargets) { + if ("esmodules" in optTargets) { + targets = Object.assign({}, optTargets, { + esmodules: "intersect" + }); + } else { + targets = optTargets; + } + } + const { + browserslistConfigFile + } = options; + let configFile; + let ignoreBrowserslistConfig = false; + if (typeof browserslistConfigFile === "string") { + configFile = browserslistConfigFile; + } else { + ignoreBrowserslistConfig = browserslistConfigFile === false; + } + return (0, _helperCompilationTargets().default)(targets, { + ignoreBrowserslistConfig, + configFile, + configPath: root, + browserslistEnv: options.browserslistEnv + }); +} +0 && 0; + +//# sourceMappingURL=resolve-targets.js.map diff --git a/client/node_modules/@babel/core/lib/config/resolve-targets.js.map b/client/node_modules/@babel/core/lib/config/resolve-targets.js.map new file mode 100644 index 0000000..575fd4f --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/resolve-targets.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","_helperCompilationTargets","resolveBrowserslistConfigFile","browserslistConfigFile","configFileDir","path","resolve","resolveTargets","options","root","optTargets","targets","Array","isArray","browsers","Object","assign","esmodules","configFile","ignoreBrowserslistConfig","getTargets","configPath","browserslistEnv"],"sources":["../../src/config/resolve-targets.ts"],"sourcesContent":["type browserType = typeof import(\"./resolve-targets-browser\");\ntype nodeType = typeof import(\"./resolve-targets\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of index-browser, since this file may be replaced at bundle time with index-browser.\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n({}) as any as browserType as nodeType;\n\nimport type { InputOptions } from \"./validation/options.ts\";\nimport path from \"node:path\";\nimport getTargets, {\n type InputTargets,\n} from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nexport function resolveBrowserslistConfigFile(\n browserslistConfigFile: string,\n configFileDir: string,\n): string | undefined {\n return path.resolve(configFileDir, browserslistConfigFile);\n}\n\nexport function resolveTargets(options: InputOptions, root: string): Targets {\n const optTargets = options.targets;\n let targets: InputTargets;\n\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = { browsers: optTargets };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = { ...optTargets, esmodules: \"intersect\" };\n } else {\n // https://github.com/microsoft/TypeScript/issues/17002\n targets = optTargets as InputTargets;\n }\n }\n\n const { browserslistConfigFile } = options;\n let configFile;\n let ignoreBrowserslistConfig = false;\n if (typeof browserslistConfigFile === \"string\") {\n configFile = browserslistConfigFile;\n } else {\n ignoreBrowserslistConfig = browserslistConfigFile === false;\n }\n\n return getTargets(targets, {\n ignoreBrowserslistConfig,\n configFile,\n configPath: root,\n browserslistEnv: options.browserslistEnv,\n });\n}\n"],"mappings":";;;;;;;AASA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,0BAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,yBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAJA,CAAC,CAAC,CAAC;AAUI,SAASG,6BAA6BA,CAC3CC,sBAA8B,EAC9BC,aAAqB,EACD;EACpB,OAAOC,MAAGA,CAAC,CAACC,OAAO,CAACF,aAAa,EAAED,sBAAsB,CAAC;AAC5D;AAEO,SAASI,cAAcA,CAACC,OAAqB,EAAEC,IAAY,EAAW;EAC3E,MAAMC,UAAU,GAAGF,OAAO,CAACG,OAAO;EAClC,IAAIA,OAAqB;EAEzB,IAAI,OAAOD,UAAU,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;IAC/DC,OAAO,GAAG;MAAEG,QAAQ,EAAEJ;IAAW,CAAC;EACpC,CAAC,MAAM,IAAIA,UAAU,EAAE;IACrB,IAAI,WAAW,IAAIA,UAAU,EAAE;MAC7BC,OAAO,GAAAI,MAAA,CAAAC,MAAA,KAAQN,UAAU;QAAEO,SAAS,EAAE;MAAW,EAAE;IACrD,CAAC,MAAM;MAELN,OAAO,GAAGD,UAA0B;IACtC;EACF;EAEA,MAAM;IAAEP;EAAuB,CAAC,GAAGK,OAAO;EAC1C,IAAIU,UAAU;EACd,IAAIC,wBAAwB,GAAG,KAAK;EACpC,IAAI,OAAOhB,sBAAsB,KAAK,QAAQ,EAAE;IAC9Ce,UAAU,GAAGf,sBAAsB;EACrC,CAAC,MAAM;IACLgB,wBAAwB,GAAGhB,sBAAsB,KAAK,KAAK;EAC7D;EAEA,OAAO,IAAAiB,mCAAU,EAACT,OAAO,EAAE;IACzBQ,wBAAwB;IACxBD,UAAU;IACVG,UAAU,EAAEZ,IAAI;IAChBa,eAAe,EAAEd,OAAO,CAACc;EAC3B,CAAC,CAAC;AACJ;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/util.js b/client/node_modules/@babel/core/lib/config/util.js new file mode 100644 index 0000000..077f1af --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/util.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isIterableIterator = isIterableIterator; +exports.mergeOptions = mergeOptions; +function mergeOptions(target, source) { + for (const k of Object.keys(source)) { + if ((k === "parserOpts" || k === "generatorOpts" || k === "assumptions") && source[k]) { + const parserOpts = source[k]; + const targetObj = target[k] || (target[k] = {}); + mergeDefaultFields(targetObj, parserOpts); + } else { + const val = source[k]; + if (val !== undefined) target[k] = val; + } + } +} +function mergeDefaultFields(target, source) { + for (const k of Object.keys(source)) { + const val = source[k]; + if (val !== undefined) target[k] = val; + } +} +function isIterableIterator(value) { + return !!value && typeof value.next === "function" && typeof value[Symbol.iterator] === "function"; +} +0 && 0; + +//# sourceMappingURL=util.js.map diff --git a/client/node_modules/@babel/core/lib/config/util.js.map b/client/node_modules/@babel/core/lib/config/util.js.map new file mode 100644 index 0000000..2bdc742 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/util.js.map @@ -0,0 +1 @@ +{"version":3,"names":["mergeOptions","target","source","k","Object","keys","parserOpts","targetObj","mergeDefaultFields","val","undefined","isIterableIterator","value","next","Symbol","iterator"],"sources":["../../src/config/util.ts"],"sourcesContent":["import type { InputOptions, ResolvedOptions } from \"./validation/options.ts\";\n\nexport function mergeOptions(\n target: InputOptions | ResolvedOptions,\n source: InputOptions,\n): void {\n for (const k of Object.keys(source)) {\n if (\n (k === \"parserOpts\" || k === \"generatorOpts\" || k === \"assumptions\") &&\n source[k]\n ) {\n const parserOpts = source[k];\n const targetObj = target[k] || (target[k] = {});\n mergeDefaultFields(targetObj, parserOpts);\n } else {\n //@ts-expect-error k must index source\n const val = source[k];\n //@ts-expect-error assigning source to target\n if (val !== undefined) target[k] = val as any;\n }\n }\n}\n\nfunction mergeDefaultFields(target: T, source: T) {\n for (const k of Object.keys(source) as (keyof T)[]) {\n const val = source[k];\n if (val !== undefined) target[k] = val;\n }\n}\n\nexport function isIterableIterator(value: any): value is IterableIterator {\n return (\n !!value &&\n typeof value.next === \"function\" &&\n typeof value[Symbol.iterator] === \"function\"\n );\n}\n"],"mappings":";;;;;;;AAEO,SAASA,YAAYA,CAC1BC,MAAsC,EACtCC,MAAoB,EACd;EACN,KAAK,MAAMC,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,EAAE;IACnC,IACE,CAACC,CAAC,KAAK,YAAY,IAAIA,CAAC,KAAK,eAAe,IAAIA,CAAC,KAAK,aAAa,KACnED,MAAM,CAACC,CAAC,CAAC,EACT;MACA,MAAMG,UAAU,GAAGJ,MAAM,CAACC,CAAC,CAAC;MAC5B,MAAMI,SAAS,GAAGN,MAAM,CAACE,CAAC,CAAC,KAAKF,MAAM,CAACE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/CK,kBAAkB,CAACD,SAAS,EAAED,UAAU,CAAC;IAC3C,CAAC,MAAM;MAEL,MAAMG,GAAG,GAAGP,MAAM,CAACC,CAAC,CAAC;MAErB,IAAIM,GAAG,KAAKC,SAAS,EAAET,MAAM,CAACE,CAAC,CAAC,GAAGM,GAAU;IAC/C;EACF;AACF;AAEA,SAASD,kBAAkBA,CAAmBP,MAAS,EAAEC,MAAS,EAAE;EAClE,KAAK,MAAMC,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,EAAiB;IAClD,MAAMO,GAAG,GAAGP,MAAM,CAACC,CAAC,CAAC;IACrB,IAAIM,GAAG,KAAKC,SAAS,EAAET,MAAM,CAACE,CAAC,CAAC,GAAGM,GAAG;EACxC;AACF;AAEO,SAASE,kBAAkBA,CAACC,KAAU,EAAkC;EAC7E,OACE,CAAC,CAACA,KAAK,IACP,OAAOA,KAAK,CAACC,IAAI,KAAK,UAAU,IAChC,OAAOD,KAAK,CAACE,MAAM,CAACC,QAAQ,CAAC,KAAK,UAAU;AAEhD;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/validation/option-assertions.js b/client/node_modules/@babel/core/lib/config/validation/option-assertions.js new file mode 100644 index 0000000..0227971 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/option-assertions.js @@ -0,0 +1,277 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.access = access; +exports.assertArray = assertArray; +exports.assertAssumptions = assertAssumptions; +exports.assertBabelrcSearch = assertBabelrcSearch; +exports.assertBoolean = assertBoolean; +exports.assertCallerMetadata = assertCallerMetadata; +exports.assertCompact = assertCompact; +exports.assertConfigApplicableTest = assertConfigApplicableTest; +exports.assertConfigFileSearch = assertConfigFileSearch; +exports.assertFunction = assertFunction; +exports.assertIgnoreList = assertIgnoreList; +exports.assertInputSourceMap = assertInputSourceMap; +exports.assertObject = assertObject; +exports.assertPluginList = assertPluginList; +exports.assertRootMode = assertRootMode; +exports.assertSourceMaps = assertSourceMaps; +exports.assertSourceType = assertSourceType; +exports.assertString = assertString; +exports.assertTargets = assertTargets; +exports.msg = msg; +function _helperCompilationTargets() { + const data = require("@babel/helper-compilation-targets"); + _helperCompilationTargets = function () { + return data; + }; + return data; +} +var _options = require("./options.js"); +function msg(loc) { + switch (loc.type) { + case "root": + return ``; + case "env": + return `${msg(loc.parent)}.env["${loc.name}"]`; + case "overrides": + return `${msg(loc.parent)}.overrides[${loc.index}]`; + case "option": + return `${msg(loc.parent)}.${loc.name}`; + case "access": + return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`; + default: + throw new Error(`Assertion failure: Unknown type ${loc.type}`); + } +} +function access(loc, name) { + return { + type: "access", + name, + parent: loc + }; +} +function assertRootMode(loc, value) { + if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") { + throw new Error(`${msg(loc)} must be a "root", "upward", "upward-optional" or undefined`); + } + return value; +} +function assertSourceMaps(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") { + throw new Error(`${msg(loc)} must be a boolean, "inline", "both", or undefined`); + } + return value; +} +function assertCompact(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "auto") { + throw new Error(`${msg(loc)} must be a boolean, "auto", or undefined`); + } + return value; +} +function assertSourceType(loc, value) { + if (value !== undefined && value !== "module" && value !== "commonjs" && value !== "script" && value !== "unambiguous") { + throw new Error(`${msg(loc)} must be "module", "commonjs", "script", "unambiguous", or undefined`); + } + return value; +} +function assertCallerMetadata(loc, value) { + const obj = assertObject(loc, value); + if (obj) { + if (typeof obj.name !== "string") { + throw new Error(`${msg(loc)} set but does not contain "name" property string`); + } + for (const prop of Object.keys(obj)) { + const propLoc = access(loc, prop); + const value = obj[prop]; + if (value != null && typeof value !== "boolean" && typeof value !== "string" && typeof value !== "number") { + throw new Error(`${msg(propLoc)} must be null, undefined, a boolean, a string, or a number.`); + } + } + } + return value; +} +function assertInputSourceMap(loc, value) { + if (value !== undefined && typeof value !== "boolean" && (typeof value !== "object" || !value)) { + throw new Error(`${msg(loc)} must be a boolean, object, or undefined`); + } + return value; +} +function assertString(loc, value) { + if (value !== undefined && typeof value !== "string") { + throw new Error(`${msg(loc)} must be a string, or undefined`); + } + return value; +} +function assertFunction(loc, value) { + if (value !== undefined && typeof value !== "function") { + throw new Error(`${msg(loc)} must be a function, or undefined`); + } + return value; +} +function assertBoolean(loc, value) { + if (value !== undefined && typeof value !== "boolean") { + throw new Error(`${msg(loc)} must be a boolean, or undefined`); + } + return value; +} +function assertObject(loc, value) { + if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || !value)) { + throw new Error(`${msg(loc)} must be an object, or undefined`); + } + return value; +} +function assertArray(loc, value) { + if (value != null && !Array.isArray(value)) { + throw new Error(`${msg(loc)} must be an array, or undefined`); + } + return value; +} +function assertIgnoreList(loc, value) { + const arr = assertArray(loc, value); + arr == null || arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item)); + return arr; +} +function assertIgnoreItem(loc, value) { + if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) { + throw new Error(`${msg(loc)} must be an array of string/Function/RegExp values, or undefined`); + } + return value; +} +function assertConfigApplicableTest(loc, value) { + if (value === undefined) { + return value; + } + if (Array.isArray(value)) { + value.forEach((item, i) => { + if (!checkValidTest(item)) { + throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`); + } + }); + } else if (!checkValidTest(value)) { + throw new Error(`${msg(loc)} must be a string/Function/RegExp, or an array of those`); + } + return value; +} +function checkValidTest(value) { + return typeof value === "string" || typeof value === "function" || value instanceof RegExp; +} +function assertConfigFileSearch(loc, value) { + if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") { + throw new Error(`${msg(loc)} must be a undefined, a boolean, a string, ` + `got ${JSON.stringify(value)}`); + } + return value; +} +function assertBabelrcSearch(loc, value) { + if (value === undefined || typeof value === "boolean") { + return value; + } + if (Array.isArray(value)) { + value.forEach((item, i) => { + if (!checkValidTest(item)) { + throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`); + } + }); + } else if (!checkValidTest(value)) { + throw new Error(`${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` + `or an array of those, got ${JSON.stringify(value)}`); + } + return value; +} +function assertPluginList(loc, value) { + const arr = assertArray(loc, value); + if (arr) { + arr.forEach((item, i) => assertPluginItem(access(loc, i), item)); + } + return arr; +} +function assertPluginItem(loc, value) { + if (Array.isArray(value)) { + if (value.length === 0) { + throw new Error(`${msg(loc)} must include an object`); + } + if (value.length > 3) { + throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`); + } + assertPluginTarget(access(loc, 0), value[0]); + if (value.length > 1) { + const opts = value[1]; + if (opts !== undefined && opts !== false && (typeof opts !== "object" || Array.isArray(opts) || opts === null)) { + throw new Error(`${msg(access(loc, 1))} must be an object, false, or undefined`); + } + } + if (value.length === 3) { + const name = value[2]; + if (name !== undefined && typeof name !== "string") { + throw new Error(`${msg(access(loc, 2))} must be a string, or undefined`); + } + } + } else { + assertPluginTarget(loc, value); + } + return value; +} +function assertPluginTarget(loc, value) { + if ((typeof value !== "object" || !value) && typeof value !== "string" && typeof value !== "function") { + throw new Error(`${msg(loc)} must be a string, object, function`); + } + return value; +} +function assertTargets(loc, value) { + if ((0, _helperCompilationTargets().isBrowsersQueryValid)(value)) return value; + if (typeof value !== "object" || !value || Array.isArray(value)) { + throw new Error(`${msg(loc)} must be a string, an array of strings or an object`); + } + const browsersLoc = access(loc, "browsers"); + const esmodulesLoc = access(loc, "esmodules"); + assertBrowsersList(browsersLoc, value.browsers); + assertBoolean(esmodulesLoc, value.esmodules); + for (const key of Object.keys(value)) { + const val = value[key]; + const subLoc = access(loc, key); + if (key === "esmodules") assertBoolean(subLoc, val);else if (key === "browsers") assertBrowsersList(subLoc, val);else if (!hasOwnProperty.call(_helperCompilationTargets().TargetNames, key)) { + const validTargets = Object.keys(_helperCompilationTargets().TargetNames).join(", "); + throw new Error(`${msg(subLoc)} is not a valid target. Supported targets are ${validTargets}`); + } else assertBrowserVersion(subLoc, val); + } + return value; +} +function assertBrowsersList(loc, value) { + if (value !== undefined && !(0, _helperCompilationTargets().isBrowsersQueryValid)(value)) { + throw new Error(`${msg(loc)} must be undefined, a string or an array of strings`); + } +} +function assertBrowserVersion(loc, value) { + if (typeof value === "number" && Math.round(value) === value) return; + if (typeof value === "string") return; + throw new Error(`${msg(loc)} must be a string or an integer number`); +} +function assertAssumptions(loc, value) { + if (value === undefined) return; + if (typeof value !== "object" || value === null) { + throw new Error(`${msg(loc)} must be an object or undefined.`); + } + let root = loc; + do { + root = root.parent; + } while (root.type !== "root"); + const inPreset = root.source === "preset"; + for (const name of Object.keys(value)) { + const subLoc = access(loc, name); + if (!_options.assumptionsNames.has(name)) { + throw new Error(`${msg(subLoc)} is not a supported assumption.`); + } + if (typeof value[name] !== "boolean") { + throw new Error(`${msg(subLoc)} must be a boolean.`); + } + if (inPreset && value[name] === false) { + throw new Error(`${msg(subLoc)} cannot be set to 'false' inside presets.`); + } + } + return value; +} +0 && 0; + +//# sourceMappingURL=option-assertions.js.map diff --git a/client/node_modules/@babel/core/lib/config/validation/option-assertions.js.map b/client/node_modules/@babel/core/lib/config/validation/option-assertions.js.map new file mode 100644 index 0000000..38ba554 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/option-assertions.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_helperCompilationTargets","data","require","_options","msg","loc","type","parent","name","index","JSON","stringify","Error","access","assertRootMode","value","undefined","assertSourceMaps","assertCompact","assertSourceType","assertCallerMetadata","obj","assertObject","prop","Object","keys","propLoc","assertInputSourceMap","assertString","assertFunction","assertBoolean","Array","isArray","assertArray","assertIgnoreList","arr","forEach","item","i","assertIgnoreItem","RegExp","assertConfigApplicableTest","checkValidTest","assertConfigFileSearch","assertBabelrcSearch","assertPluginList","assertPluginItem","length","assertPluginTarget","opts","assertTargets","isBrowsersQueryValid","browsersLoc","esmodulesLoc","assertBrowsersList","browsers","esmodules","key","val","subLoc","hasOwnProperty","call","TargetNames","validTargets","join","assertBrowserVersion","Math","round","assertAssumptions","root","inPreset","source","assumptionsNames","has"],"sources":["../../../src/config/validation/option-assertions.ts"],"sourcesContent":["import {\n isBrowsersQueryValid,\n TargetNames,\n} from \"@babel/helper-compilation-targets\";\n\nimport type {\n ConfigFileSearch,\n BabelrcSearch,\n MatchItem,\n PluginTarget,\n ConfigApplicableTest,\n SourceMapsOption,\n SourceTypeOption,\n CompactOption,\n RootInputSourceMapOption,\n NestingPath,\n CallerMetadata,\n RootMode,\n TargetsListOrObject,\n AssumptionName,\n PluginItem,\n} from \"./options.ts\";\n\nimport { assumptionsNames } from \"./options.ts\";\n\nexport type { RootPath } from \"./options.ts\";\n\nexport type ValidatorSet = Record>;\n\nexport type Validator = (loc: OptionPath, value: unknown) => T;\n\nexport function msg(loc: NestingPath | GeneralPath): string {\n switch (loc.type) {\n case \"root\":\n return ``;\n case \"env\":\n return `${msg(loc.parent)}.env[\"${loc.name}\"]`;\n case \"overrides\":\n return `${msg(loc.parent)}.overrides[${loc.index}]`;\n case \"option\":\n return `${msg(loc.parent)}.${loc.name}`;\n case \"access\":\n return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;\n default:\n // @ts-expect-error should not happen when code is type checked\n throw new Error(`Assertion failure: Unknown type ${loc.type}`);\n }\n}\n\nexport function access(loc: GeneralPath, name: string | number): AccessPath {\n return {\n type: \"access\",\n name,\n parent: loc,\n };\n}\n\nexport type OptionPath = Readonly<{\n type: \"option\";\n name: string;\n parent: NestingPath;\n}>;\ntype AccessPath = Readonly<{\n type: \"access\";\n name: string | number;\n parent: GeneralPath;\n}>;\ntype GeneralPath = OptionPath | AccessPath;\n\nexport function assertRootMode(\n loc: OptionPath,\n value: unknown,\n): RootMode | void {\n if (\n value !== undefined &&\n value !== \"root\" &&\n value !== \"upward\" &&\n value !== \"upward-optional\"\n ) {\n throw new Error(\n `${msg(loc)} must be a \"root\", \"upward\", \"upward-optional\" or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceMaps(\n loc: OptionPath,\n value: unknown,\n): SourceMapsOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n value !== \"inline\" &&\n value !== \"both\"\n ) {\n throw new Error(\n `${msg(loc)} must be a boolean, \"inline\", \"both\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCompact(\n loc: OptionPath,\n value: unknown,\n): CompactOption | void {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"auto\") {\n throw new Error(`${msg(loc)} must be a boolean, \"auto\", or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceType(\n loc: OptionPath,\n value: unknown,\n): SourceTypeOption | void {\n if (\n value !== undefined &&\n value !== \"module\" &&\n value !== \"commonjs\" &&\n value !== \"script\" &&\n value !== \"unambiguous\"\n ) {\n throw new Error(\n `${msg(loc)} must be \"module\", \"commonjs\", \"script\", \"unambiguous\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCallerMetadata(\n loc: OptionPath,\n value: unknown,\n): CallerMetadata | undefined {\n const obj = assertObject(loc, value);\n if (obj) {\n if (typeof obj.name !== \"string\") {\n throw new Error(\n `${msg(loc)} set but does not contain \"name\" property string`,\n );\n }\n\n for (const prop of Object.keys(obj)) {\n const propLoc = access(loc, prop);\n const value = obj[prop];\n if (\n value != null &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n typeof value !== \"number\"\n ) {\n // NOTE(logan): I'm limiting the type here so that we can guarantee that\n // the \"caller\" value will serialize to JSON nicely. We can always\n // allow more complex structures later though.\n throw new Error(\n `${msg(\n propLoc,\n )} must be null, undefined, a boolean, a string, or a number.`,\n );\n }\n }\n }\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n\nexport function assertInputSourceMap(\n loc: OptionPath,\n value: unknown,\n): RootInputSourceMapOption {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n (typeof value !== \"object\" || !value)\n ) {\n throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);\n }\n return value as RootInputSourceMapOption;\n}\n\nexport function assertString(loc: GeneralPath, value: unknown): string | void {\n if (value !== undefined && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a string, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertFunction(\n loc: GeneralPath,\n value: unknown,\n): Function | void {\n if (value !== undefined && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a function, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBoolean(\n loc: GeneralPath,\n value: unknown,\n): boolean | void {\n if (value !== undefined && typeof value !== \"boolean\") {\n throw new Error(`${msg(loc)} must be a boolean, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertObject(\n loc: GeneralPath,\n value: unknown,\n): Readonly> | void {\n if (\n value !== undefined &&\n (typeof value !== \"object\" || Array.isArray(value) || !value)\n ) {\n throw new Error(`${msg(loc)} must be an object, or undefined`);\n }\n // @ts-expect-error todo(flow->ts) value is still typed as unknown, also assert function typically should not return a value\n return value;\n}\n\nexport function assertArray(\n loc: GeneralPath,\n value: T[] | undefined | null,\n): T[] | undefined | null {\n if (value != null && !Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be an array, or undefined`);\n }\n return value;\n}\n\nexport function assertIgnoreList(\n loc: OptionPath,\n value: unknown[] | undefined,\n): MatchItem[] | void {\n const arr = assertArray(loc, value);\n arr?.forEach((item, i) => assertIgnoreItem(access(loc, i), item));\n // @ts-expect-error todo(flow->ts)\n return arr;\n}\nfunction assertIgnoreItem(loc: GeneralPath, value: unknown): MatchItem {\n if (\n typeof value !== \"string\" &&\n typeof value !== \"function\" &&\n !(value instanceof RegExp)\n ) {\n throw new Error(\n `${msg(\n loc,\n )} must be an array of string/Function/RegExp values, or undefined`,\n );\n }\n return value as MatchItem;\n}\n\nexport function assertConfigApplicableTest(\n loc: OptionPath,\n value: unknown,\n): ConfigApplicableTest | void {\n if (value === undefined) {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a string/Function/RegExp, or an array of those`,\n );\n }\n return value as ConfigApplicableTest;\n}\n\nfunction checkValidTest(value: unknown): value is string | Function | RegExp {\n return (\n typeof value === \"string\" ||\n typeof value === \"function\" ||\n value instanceof RegExp\n );\n}\n\nexport function assertConfigFileSearch(\n loc: OptionPath,\n value: unknown,\n): ConfigFileSearch | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\"\n ) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string, ` +\n `got ${JSON.stringify(value)}`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBabelrcSearch(\n loc: OptionPath,\n value: unknown,\n): BabelrcSearch | void {\n if (value === undefined || typeof value === \"boolean\") {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` +\n `or an array of those, got ${JSON.stringify(value as any)}`,\n );\n }\n return value as BabelrcSearch;\n}\n\nexport function assertPluginList(\n loc: OptionPath,\n value: unknown[] | null | undefined,\n): PluginItem[] {\n const arr = assertArray(loc, value);\n if (arr) {\n // Loop instead of using `.map` in order to preserve object identity\n // for plugin array for use during config chain processing.\n arr.forEach((item, i) => assertPluginItem(access(loc, i), item));\n }\n return arr as PluginItem[];\n}\nfunction assertPluginItem(loc: GeneralPath, value: unknown): PluginItem {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new Error(`${msg(loc)} must include an object`);\n }\n\n if (value.length > 3) {\n throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);\n }\n\n assertPluginTarget(access(loc, 0), value[0]);\n\n if (value.length > 1) {\n const opts = value[1];\n if (\n opts !== undefined &&\n opts !== false &&\n (typeof opts !== \"object\" || Array.isArray(opts) || opts === null)\n ) {\n throw new Error(\n `${msg(access(loc, 1))} must be an object, false, or undefined`,\n );\n }\n }\n if (value.length === 3) {\n const name = value[2];\n if (name !== undefined && typeof name !== \"string\") {\n throw new Error(\n `${msg(access(loc, 2))} must be a string, or undefined`,\n );\n }\n }\n } else {\n assertPluginTarget(loc, value);\n }\n\n return value as PluginItem;\n}\nfunction assertPluginTarget(loc: GeneralPath, value: unknown): PluginTarget {\n if (\n (typeof value !== \"object\" || !value) &&\n typeof value !== \"string\" &&\n typeof value !== \"function\"\n ) {\n throw new Error(`${msg(loc)} must be a string, object, function`);\n }\n return value as PluginTarget;\n}\n\nexport function assertTargets(\n loc: GeneralPath,\n value: any,\n): TargetsListOrObject {\n if (isBrowsersQueryValid(value)) return value;\n\n if (typeof value !== \"object\" || !value || Array.isArray(value)) {\n throw new Error(\n `${msg(loc)} must be a string, an array of strings or an object`,\n );\n }\n\n const browsersLoc = access(loc, \"browsers\");\n const esmodulesLoc = access(loc, \"esmodules\");\n\n assertBrowsersList(browsersLoc, value.browsers);\n assertBoolean(esmodulesLoc, value.esmodules);\n\n for (const key of Object.keys(value)) {\n const val = value[key];\n const subLoc = access(loc, key);\n\n if (key === \"esmodules\") assertBoolean(subLoc, val);\n else if (key === \"browsers\") assertBrowsersList(subLoc, val);\n else if (!Object.hasOwn(TargetNames, key)) {\n const validTargets = Object.keys(TargetNames).join(\", \");\n throw new Error(\n `${msg(\n subLoc,\n )} is not a valid target. Supported targets are ${validTargets}`,\n );\n } else assertBrowserVersion(subLoc, val);\n }\n\n return value;\n}\n\nfunction assertBrowsersList(loc: GeneralPath, value: unknown) {\n if (value !== undefined && !isBrowsersQueryValid(value)) {\n throw new Error(\n `${msg(loc)} must be undefined, a string or an array of strings`,\n );\n }\n}\n\nfunction assertBrowserVersion(loc: GeneralPath, value: unknown) {\n if (typeof value === \"number\" && Math.round(value) === value) return;\n if (typeof value === \"string\") return;\n\n throw new Error(`${msg(loc)} must be a string or an integer number`);\n}\n\nexport function assertAssumptions(\n loc: GeneralPath,\n value: Record,\n): Record | void {\n if (value === undefined) return;\n\n if (typeof value !== \"object\" || value === null) {\n throw new Error(`${msg(loc)} must be an object or undefined.`);\n }\n\n // todo(flow->ts): remove any\n let root: any = loc;\n do {\n root = root.parent;\n } while (root.type !== \"root\");\n const inPreset = root.source === \"preset\";\n\n for (const name of Object.keys(value)) {\n const subLoc = access(loc, name);\n if (!assumptionsNames.has(name as AssumptionName)) {\n throw new Error(`${msg(subLoc)} is not a supported assumption.`);\n }\n if (typeof value[name] !== \"boolean\") {\n throw new Error(`${msg(subLoc)} must be a boolean.`);\n }\n if (inPreset && value[name] === false) {\n throw new Error(\n `${msg(subLoc)} cannot be set to 'false' inside presets.`,\n );\n }\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/validation/options.js b/client/node_modules/@babel/core/lib/config/validation/options.js new file mode 100644 index 0000000..d694170 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/options.js @@ -0,0 +1,187 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.assumptionsNames = void 0; +exports.checkNoUnwrappedItemOptionPairs = checkNoUnwrappedItemOptionPairs; +exports.validate = validate; +var _removed = require("./removed.js"); +var _optionAssertions = require("./option-assertions.js"); +var _configError = require("../../errors/config-error.js"); +const ROOT_VALIDATORS = { + cwd: _optionAssertions.assertString, + root: _optionAssertions.assertString, + rootMode: _optionAssertions.assertRootMode, + configFile: _optionAssertions.assertConfigFileSearch, + caller: _optionAssertions.assertCallerMetadata, + filename: _optionAssertions.assertString, + filenameRelative: _optionAssertions.assertString, + code: _optionAssertions.assertBoolean, + ast: _optionAssertions.assertBoolean, + cloneInputAst: _optionAssertions.assertBoolean, + envName: _optionAssertions.assertString +}; +const BABELRC_VALIDATORS = { + babelrc: _optionAssertions.assertBoolean, + babelrcRoots: _optionAssertions.assertBabelrcSearch +}; +const NONPRESET_VALIDATORS = { + extends: _optionAssertions.assertString, + ignore: _optionAssertions.assertIgnoreList, + only: _optionAssertions.assertIgnoreList, + targets: _optionAssertions.assertTargets, + browserslistConfigFile: _optionAssertions.assertConfigFileSearch, + browserslistEnv: _optionAssertions.assertString +}; +const COMMON_VALIDATORS = { + inputSourceMap: _optionAssertions.assertInputSourceMap, + presets: _optionAssertions.assertPluginList, + plugins: _optionAssertions.assertPluginList, + passPerPreset: _optionAssertions.assertBoolean, + assumptions: _optionAssertions.assertAssumptions, + env: assertEnvSet, + overrides: assertOverridesList, + test: _optionAssertions.assertConfigApplicableTest, + include: _optionAssertions.assertConfigApplicableTest, + exclude: _optionAssertions.assertConfigApplicableTest, + retainLines: _optionAssertions.assertBoolean, + comments: _optionAssertions.assertBoolean, + shouldPrintComment: _optionAssertions.assertFunction, + compact: _optionAssertions.assertCompact, + minified: _optionAssertions.assertBoolean, + auxiliaryCommentBefore: _optionAssertions.assertString, + auxiliaryCommentAfter: _optionAssertions.assertString, + sourceType: _optionAssertions.assertSourceType, + wrapPluginVisitorMethod: _optionAssertions.assertFunction, + highlightCode: _optionAssertions.assertBoolean, + sourceMaps: _optionAssertions.assertSourceMaps, + sourceMap: _optionAssertions.assertSourceMaps, + sourceFileName: _optionAssertions.assertString, + sourceRoot: _optionAssertions.assertString, + parserOpts: _optionAssertions.assertObject, + generatorOpts: _optionAssertions.assertObject +}; +Object.assign(COMMON_VALIDATORS, { + getModuleId: _optionAssertions.assertFunction, + moduleRoot: _optionAssertions.assertString, + moduleIds: _optionAssertions.assertBoolean, + moduleId: _optionAssertions.assertString +}); +const knownAssumptions = ["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitiveHint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noIncompleteNsImportDetection", "noNewArrows", "noUninitializedPrivateFieldAccess", "objectRestNoSymbols", "privateFieldsAsSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods", "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"]; +const assumptionsNames = exports.assumptionsNames = new Set(knownAssumptions); +function getSource(loc) { + return loc.type === "root" ? loc.source : getSource(loc.parent); +} +function validate(type, opts, filename) { + try { + return validateNested({ + type: "root", + source: type + }, opts); + } catch (error) { + const configError = new _configError.default(error.message, filename); + if (error.code) configError.code = error.code; + throw configError; + } +} +function validateNested(loc, opts) { + const type = getSource(loc); + assertNoDuplicateSourcemap(opts); + Object.keys(opts).forEach(key => { + const optLoc = { + type: "option", + name: key, + parent: loc + }; + if (type === "preset" && NONPRESET_VALIDATORS[key]) { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in preset options`); + } + if (type !== "arguments" && ROOT_VALIDATORS[key]) { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options`); + } + if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) { + if (type === "babelrcfile" || type === "extendsfile") { + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in .babelrc or "extends"ed files, only in root programmatic options, ` + `or babel.config.js/config file options`); + } + throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options, or babel.config.js/config file options`); + } + const validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError; + validator(optLoc, opts[key]); + }); + return opts; +} +function throwUnknownError(loc) { + const key = loc.name; + if (_removed.default[key]) { + const { + message, + version = 5 + } = _removed.default[key]; + throw new Error(`Using removed Babel ${version} option: ${(0, _optionAssertions.msg)(loc)} - ${message}`); + } else { + const unknownOptErr = new Error(`Unknown option: ${(0, _optionAssertions.msg)(loc)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`); + unknownOptErr.code = "BABEL_UNKNOWN_OPTION"; + throw unknownOptErr; + } +} +function assertNoDuplicateSourcemap(opts) { + if (hasOwnProperty.call(opts, "sourceMap") && hasOwnProperty.call(opts, "sourceMaps")) { + throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both"); + } +} +function assertEnvSet(loc, value) { + if (loc.parent.type === "env") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside of another .env block`); + } + const parent = loc.parent; + const obj = (0, _optionAssertions.assertObject)(loc, value); + if (obj) { + for (const envName of Object.keys(obj)) { + const env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]); + if (!env) continue; + const envLoc = { + type: "env", + name: envName, + parent + }; + validateNested(envLoc, env); + } + } + return obj; +} +function assertOverridesList(loc, value) { + if (loc.parent.type === "env") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .env block`); + } + if (loc.parent.type === "overrides") { + throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .overrides block`); + } + const parent = loc.parent; + const arr = (0, _optionAssertions.assertArray)(loc, value); + if (arr) { + for (const [index, item] of arr.entries()) { + const objLoc = (0, _optionAssertions.access)(loc, index); + const env = (0, _optionAssertions.assertObject)(objLoc, item); + if (!env) throw new Error(`${(0, _optionAssertions.msg)(objLoc)} must be an object`); + const overridesLoc = { + type: "overrides", + index, + parent + }; + validateNested(overridesLoc, env); + } + } + return arr; +} +function checkNoUnwrappedItemOptionPairs(items, index, type, e) { + if (index === 0) return; + const lastItem = items[index - 1]; + const thisItem = items[index]; + if (lastItem.file && lastItem.options === undefined && typeof thisItem.value === "object") { + e.message += `\n- Maybe you meant to use\n` + `"${type}s": [\n ["${lastItem.file.request}", ${JSON.stringify(thisItem.value, undefined, 2)}]\n]\n` + `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`; + } +} +0 && 0; + +//# sourceMappingURL=options.js.map diff --git a/client/node_modules/@babel/core/lib/config/validation/options.js.map b/client/node_modules/@babel/core/lib/config/validation/options.js.map new file mode 100644 index 0000000..a1a5185 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/options.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_removed","require","_optionAssertions","_configError","ROOT_VALIDATORS","cwd","assertString","root","rootMode","assertRootMode","configFile","assertConfigFileSearch","caller","assertCallerMetadata","filename","filenameRelative","code","assertBoolean","ast","cloneInputAst","envName","BABELRC_VALIDATORS","babelrc","babelrcRoots","assertBabelrcSearch","NONPRESET_VALIDATORS","extends","ignore","assertIgnoreList","only","targets","assertTargets","browserslistConfigFile","browserslistEnv","COMMON_VALIDATORS","inputSourceMap","assertInputSourceMap","presets","assertPluginList","plugins","passPerPreset","assumptions","assertAssumptions","env","assertEnvSet","overrides","assertOverridesList","test","assertConfigApplicableTest","include","exclude","retainLines","comments","shouldPrintComment","assertFunction","compact","assertCompact","minified","auxiliaryCommentBefore","auxiliaryCommentAfter","sourceType","assertSourceType","wrapPluginVisitorMethod","highlightCode","sourceMaps","assertSourceMaps","sourceMap","sourceFileName","sourceRoot","parserOpts","assertObject","generatorOpts","Object","assign","getModuleId","moduleRoot","moduleIds","moduleId","knownAssumptions","assumptionsNames","exports","Set","getSource","loc","type","source","parent","validate","opts","validateNested","error","configError","ConfigError","message","assertNoDuplicateSourcemap","keys","forEach","key","optLoc","name","Error","msg","validator","throwUnknownError","removed","version","unknownOptErr","hasOwnProperty","call","value","obj","access","envLoc","arr","assertArray","index","item","entries","objLoc","overridesLoc","checkNoUnwrappedItemOptionPairs","items","e","lastItem","thisItem","file","options","undefined","request","JSON","stringify"],"sources":["../../../src/config/validation/options.ts"],"sourcesContent":["import type { InputTargets, Targets } from \"@babel/helper-compilation-targets\";\n\nimport type { ConfigItem } from \"../item.ts\";\n\nimport removed from \"./removed.ts\";\nimport {\n msg,\n access,\n assertString,\n assertBoolean,\n assertObject,\n assertArray,\n assertCallerMetadata,\n assertInputSourceMap,\n assertIgnoreList,\n assertPluginList,\n assertConfigApplicableTest,\n assertConfigFileSearch,\n assertBabelrcSearch,\n assertFunction,\n assertRootMode,\n assertSourceMaps,\n assertCompact,\n assertSourceType,\n assertTargets,\n assertAssumptions,\n} from \"./option-assertions.ts\";\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n} from \"./option-assertions.ts\";\nimport type { UnloadedDescriptor } from \"../config-descriptors.ts\";\nimport type { PluginAPI } from \"../helpers/config-api.ts\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { GeneratorOptions } from \"@babel/generator\";\nimport type { VisitWrapper } from \"@babel/traverse\";\nimport ConfigError from \"../../errors/config-error.ts\";\nimport type { PluginObject } from \"./plugins.ts\";\nimport type Plugin from \"../plugin.ts\";\nimport type { PresetAPI } from \"../index.ts\";\nimport type { PresetObject } from \"../../index.ts\";\n\nconst ROOT_VALIDATORS: ValidatorSet = {\n cwd: assertString as Validator,\n root: assertString as Validator,\n rootMode: assertRootMode as Validator,\n configFile: assertConfigFileSearch as Validator,\n\n caller: assertCallerMetadata as Validator,\n filename: assertString as Validator,\n filenameRelative: assertString as Validator,\n code: assertBoolean as Validator,\n ast: assertBoolean as Validator,\n\n cloneInputAst: assertBoolean as Validator,\n\n envName: assertString as Validator,\n};\n\nconst BABELRC_VALIDATORS: ValidatorSet = {\n babelrc: assertBoolean as Validator,\n babelrcRoots: assertBabelrcSearch as Validator,\n};\n\nconst NONPRESET_VALIDATORS: ValidatorSet = {\n extends: assertString as Validator,\n ignore: assertIgnoreList as Validator,\n only: assertIgnoreList as Validator,\n\n targets: assertTargets as Validator,\n browserslistConfigFile: assertConfigFileSearch as Validator<\n InputOptions[\"browserslistConfigFile\"]\n >,\n browserslistEnv: assertString as Validator,\n};\n\nconst COMMON_VALIDATORS: ValidatorSet = {\n // TODO: Should 'inputSourceMap' be moved to be a root-only option?\n // We may want a boolean-only version to be a common option, with the\n // object only allowed as a root config argument.\n inputSourceMap: assertInputSourceMap as Validator<\n InputOptions[\"inputSourceMap\"]\n >,\n presets: assertPluginList as Validator,\n plugins: assertPluginList as Validator,\n passPerPreset: assertBoolean as Validator,\n assumptions: assertAssumptions as Validator,\n\n env: assertEnvSet as Validator,\n overrides: assertOverridesList as Validator,\n\n // We could limit these to 'overrides' blocks, but it's not clear why we'd\n // bother, when the ability to limit a config to a specific set of files\n // is a fairly general useful feature.\n test: assertConfigApplicableTest as Validator,\n include: assertConfigApplicableTest as Validator,\n exclude: assertConfigApplicableTest as Validator,\n\n retainLines: assertBoolean as Validator,\n comments: assertBoolean as Validator,\n shouldPrintComment: assertFunction as Validator<\n InputOptions[\"shouldPrintComment\"]\n >,\n compact: assertCompact as Validator,\n minified: assertBoolean as Validator,\n auxiliaryCommentBefore: assertString as Validator<\n InputOptions[\"auxiliaryCommentBefore\"]\n >,\n auxiliaryCommentAfter: assertString as Validator<\n InputOptions[\"auxiliaryCommentAfter\"]\n >,\n sourceType: assertSourceType as Validator,\n wrapPluginVisitorMethod: assertFunction as Validator<\n InputOptions[\"wrapPluginVisitorMethod\"]\n >,\n highlightCode: assertBoolean as Validator,\n sourceMaps: assertSourceMaps as Validator,\n sourceMap: assertSourceMaps as Validator,\n sourceFileName: assertString as Validator,\n sourceRoot: assertString as Validator,\n parserOpts: assertObject as Validator,\n generatorOpts: assertObject as Validator,\n};\nif (!process.env.BABEL_8_BREAKING) {\n Object.assign(COMMON_VALIDATORS, {\n getModuleId: assertFunction,\n moduleRoot: assertString,\n moduleIds: assertBoolean,\n moduleId: assertString,\n });\n}\n\ntype Assumptions = {\n arrayLikeIsIterable?: boolean;\n constantReexports?: boolean;\n constantSuper?: boolean;\n enumerableModuleMeta?: boolean;\n ignoreFunctionLength?: boolean;\n ignoreToPrimitiveHint?: boolean;\n iterableIsArray?: boolean;\n mutableTemplateObject?: boolean;\n noClassCalls?: boolean;\n noDocumentAll?: boolean;\n noIncompleteNsImportDetection?: boolean;\n noNewArrows?: boolean;\n noUninitializedPrivateFieldAccess?: boolean;\n objectRestNoSymbols?: boolean;\n privateFieldsAsProperties?: boolean;\n privateFieldsAsSymbols?: boolean;\n pureGetters?: boolean;\n setClassMethods?: boolean;\n setComputedProperties?: boolean;\n setPublicClassFields?: boolean;\n setSpreadProperties?: boolean;\n skipForOfIteratorClosing?: boolean;\n superIsCallableConstructor?: boolean;\n};\n\nexport type AssumptionName = keyof Assumptions;\n\nexport type InputOptions = {\n cwd?: string;\n filename?: string;\n filenameRelative?: string;\n babelrc?: boolean;\n babelrcRoots?: BabelrcSearch;\n configFile?: ConfigFileSearch;\n root?: string;\n rootMode?: RootMode;\n code?: boolean;\n ast?: boolean;\n cloneInputAst?: boolean;\n inputSourceMap?: RootInputSourceMapOption;\n envName?: string;\n caller?: CallerMetadata;\n extends?: string;\n env?: EnvSet;\n ignore?: MatchItem[];\n only?: MatchItem[];\n overrides?: InputOptions[];\n showIgnoredFiles?: boolean;\n // Generally verify if a given config object should be applied to the given file.\n test?: ConfigApplicableTest;\n include?: ConfigApplicableTest;\n exclude?: ConfigApplicableTest;\n presets?: PresetItem[];\n plugins?: PluginItem[];\n passPerPreset?: boolean;\n assumptions?: Assumptions;\n // browserslists-related options\n targets?: TargetsListOrObject;\n browserslistConfigFile?: ConfigFileSearch;\n browserslistEnv?: string;\n // Options for @babel/generator\n retainLines?: GeneratorOptions[\"retainLines\"];\n comments?: GeneratorOptions[\"comments\"];\n shouldPrintComment?: GeneratorOptions[\"shouldPrintComment\"];\n compact?: GeneratorOptions[\"compact\"];\n minified?: GeneratorOptions[\"minified\"];\n auxiliaryCommentBefore?: GeneratorOptions[\"auxiliaryCommentBefore\"];\n auxiliaryCommentAfter?: GeneratorOptions[\"auxiliaryCommentAfter\"];\n // Parser\n sourceType?: SourceTypeOption;\n wrapPluginVisitorMethod?: VisitWrapper | null;\n highlightCode?: boolean;\n // Sourcemap generation options.\n sourceMaps?: SourceMapsOption;\n sourceMap?: SourceMapsOption;\n sourceFileName?: string;\n sourceRoot?: string;\n // Todo(Babel 9): Deprecate top level parserOpts\n parserOpts?: ParserOptions;\n // Todo(Babel 9): Deprecate top level generatorOpts\n generatorOpts?: GeneratorOptions;\n};\n\nexport type NormalizedOptions = Omit & {\n assumptions: Assumptions;\n targets: Targets;\n cloneInputAst: boolean;\n babelrc: false;\n configFile: false;\n browserslistConfigFile: false;\n passPerPreset: false;\n envName: string;\n cwd: string;\n root: string;\n rootMode: \"root\";\n filename: string | undefined;\n presets: ConfigItem[];\n plugins: ConfigItem[];\n};\n\nexport type ResolvedOptions = Omit<\n NormalizedOptions,\n \"presets\" | \"plugins\" | \"passPerPreset\"\n> & {\n presets: { plugins: Plugin[] }[];\n plugins: Plugin[];\n passPerPreset: boolean;\n};\n\nexport type ConfigChainOptions = Omit<\n InputOptions,\n | \"extends\"\n | \"env\"\n | \"overrides\"\n | \"plugins\"\n | \"presets\"\n | \"passPerPreset\"\n | \"ignore\"\n | \"only\"\n | \"test\"\n | \"include\"\n | \"exclude\"\n | \"sourceMap\"\n>;\n\nexport type CallerMetadata = {\n // If 'caller' is specified, require that the name is given for debugging\n // messages.\n name: string;\n supportsStaticESM?: boolean;\n supportsDynamicImport?: boolean;\n supportsTopLevelAwait?: boolean;\n supportsExportNamespaceFrom?: boolean;\n};\nexport type EnvSet = Record;\nexport type MatchItem =\n | string\n | RegExp\n | ((\n path: string | undefined,\n context: { dirname: string; caller: CallerMetadata; envName: string },\n ) => unknown);\n\nexport type MaybeDefaultProperty = T | { default: T };\n\nexport type PluginTarget =\n | string\n | MaybeDefaultProperty<\n (api: PluginAPI, options?: object, dirname?: string) => PluginObject\n >;\nexport type PluginItem =\n | ConfigItem\n | PluginTarget\n | [PluginTarget, object]\n | [PluginTarget, object, string];\n\nexport type PresetTarget =\n | string\n | MaybeDefaultProperty<\n (api: PresetAPI, options?: object, dirname?: string) => PresetObject\n >;\nexport type PresetItem =\n | ConfigItem\n | PresetTarget\n | [PresetTarget, object]\n | [PresetTarget, object, string];\n\nexport type ConfigApplicableTest = MatchItem | MatchItem[];\n\nexport type ConfigFileSearch = string | boolean;\nexport type BabelrcSearch = boolean | MatchItem | MatchItem[];\nexport type SourceMapsOption = boolean | \"inline\" | \"both\";\nexport type SourceTypeOption = \"module\" | \"commonjs\" | \"script\" | \"unambiguous\";\nexport type CompactOption = boolean | \"auto\";\n// https://github.com/mozilla/source-map/blob/801be934007c3ed0ef66c620641b1668e92c891d/source-map.d.ts#L15C8-L23C2\ninterface InputSourceMap {\n version: number;\n sources: string[];\n names: string[];\n sourceRoot?: string | undefined;\n sourcesContent?: string[] | undefined;\n mappings: string;\n file: string;\n}\nexport type RootInputSourceMapOption = InputSourceMap | boolean;\nexport type RootMode = \"root\" | \"upward\" | \"upward-optional\";\n\nexport type TargetsListOrObject =\n | Targets\n | InputTargets\n | InputTargets[\"browsers\"];\n\nexport type OptionsSource =\n | \"arguments\"\n | \"configfile\"\n | \"babelrcfile\"\n | \"extendsfile\"\n | \"preset\"\n | \"plugin\";\n\nexport type RootPath = Readonly<{\n type: \"root\";\n source: OptionsSource;\n}>;\n\ntype OverridesPath = Readonly<{\n type: \"overrides\";\n index: number;\n parent: RootPath;\n}>;\n\ntype EnvPath = Readonly<{\n type: \"env\";\n name: string;\n parent: RootPath | OverridesPath;\n}>;\n\nexport type NestingPath = RootPath | OverridesPath | EnvPath;\n\nconst knownAssumptions = [\n \"arrayLikeIsIterable\",\n \"constantReexports\",\n \"constantSuper\",\n \"enumerableModuleMeta\",\n \"ignoreFunctionLength\",\n \"ignoreToPrimitiveHint\",\n \"iterableIsArray\",\n \"mutableTemplateObject\",\n \"noClassCalls\",\n \"noDocumentAll\",\n \"noIncompleteNsImportDetection\",\n \"noNewArrows\",\n \"noUninitializedPrivateFieldAccess\",\n \"objectRestNoSymbols\",\n \"privateFieldsAsSymbols\",\n \"privateFieldsAsProperties\",\n \"pureGetters\",\n \"setClassMethods\",\n \"setComputedProperties\",\n \"setPublicClassFields\",\n \"setSpreadProperties\",\n \"skipForOfIteratorClosing\",\n \"superIsCallableConstructor\",\n] as const;\nexport const assumptionsNames = new Set(knownAssumptions);\n\nfunction getSource(loc: NestingPath): OptionsSource {\n return loc.type === \"root\" ? loc.source : getSource(loc.parent);\n}\n\nexport function validate(\n type: OptionsSource,\n opts: any,\n filename?: string,\n): InputOptions {\n try {\n return validateNested(\n {\n type: \"root\",\n source: type,\n },\n opts,\n );\n } catch (error) {\n const configError = new ConfigError(error.message, filename);\n // @ts-expect-error TODO: .code is not defined on ConfigError or Error\n if (error.code) configError.code = error.code;\n throw configError;\n }\n}\n\nfunction validateNested(loc: NestingPath, opts: Record) {\n const type = getSource(loc);\n assertNoDuplicateSourcemap(opts);\n\n Object.keys(opts).forEach((key: string) => {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: loc,\n } as const;\n\n if (type === \"preset\" && NONPRESET_VALIDATORS[key]) {\n throw new Error(`${msg(optLoc)} is not allowed in preset options`);\n }\n if (type !== \"arguments\" && ROOT_VALIDATORS[key]) {\n throw new Error(\n `${msg(optLoc)} is only allowed in root programmatic options`,\n );\n }\n if (\n type !== \"arguments\" &&\n type !== \"configfile\" &&\n BABELRC_VALIDATORS[key]\n ) {\n if (type === \"babelrcfile\" || type === \"extendsfile\") {\n throw new Error(\n `${msg(\n optLoc,\n )} is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ` +\n `or babel.config.js/config file options`,\n );\n }\n\n throw new Error(\n `${msg(\n optLoc,\n )} is only allowed in root programmatic options, or babel.config.js/config file options`,\n );\n }\n\n const validator =\n COMMON_VALIDATORS[key] ||\n NONPRESET_VALIDATORS[key] ||\n BABELRC_VALIDATORS[key] ||\n ROOT_VALIDATORS[key] ||\n (throwUnknownError as Validator);\n\n validator(optLoc, opts[key]);\n });\n\n return opts;\n}\n\nfunction throwUnknownError(loc: OptionPath) {\n const key = loc.name;\n\n if (removed[key]) {\n const { message, version = 5 } = removed[key];\n\n throw new Error(\n `Using removed Babel ${version} option: ${msg(loc)} - ${message}`,\n );\n } else {\n const unknownOptErr = new Error(\n `Unknown option: ${msg(\n loc,\n )}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`,\n );\n // @ts-expect-error todo(flow->ts): consider creating something like BabelConfigError with code field in it\n unknownOptErr.code = \"BABEL_UNKNOWN_OPTION\";\n\n throw unknownOptErr;\n }\n}\n\nfunction assertNoDuplicateSourcemap(opts: any): void {\n if (Object.hasOwn(opts, \"sourceMap\") && Object.hasOwn(opts, \"sourceMaps\")) {\n throw new Error(\".sourceMap is an alias for .sourceMaps, cannot use both\");\n }\n}\n\nfunction assertEnvSet(\n loc: OptionPath,\n value: unknown,\n): void | EnvSet {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside of another .env block`);\n }\n const parent: RootPath | OverridesPath = loc.parent;\n\n const obj = assertObject(loc, value);\n if (obj) {\n // Validate but don't copy the .env object in order to preserve\n // object identity for use during config chain processing.\n for (const envName of Object.keys(obj)) {\n const env = assertObject(access(loc, envName), obj[envName]);\n if (!env) continue;\n\n const envLoc = {\n type: \"env\",\n name: envName,\n parent,\n } as const;\n validateNested(envLoc, env);\n }\n }\n return obj;\n}\n\nfunction assertOverridesList(\n loc: OptionPath,\n value: unknown[],\n): undefined | InputOptions[] {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside an .env block`);\n }\n if (loc.parent.type === \"overrides\") {\n throw new Error(`${msg(loc)} is not allowed inside an .overrides block`);\n }\n const parent: RootPath = loc.parent;\n\n const arr = assertArray(loc, value);\n if (arr) {\n for (const [index, item] of arr.entries()) {\n const objLoc = access(loc, index);\n const env = assertObject(objLoc, item);\n if (!env) throw new Error(`${msg(objLoc)} must be an object`);\n\n const overridesLoc = {\n type: \"overrides\",\n index,\n parent,\n } as const;\n validateNested(overridesLoc, env);\n }\n }\n return arr;\n}\n\nexport function checkNoUnwrappedItemOptionPairs(\n items: UnloadedDescriptor[],\n index: number,\n type: \"plugin\" | \"preset\",\n e: Error,\n): void {\n if (index === 0) return;\n\n const lastItem = items[index - 1];\n const thisItem = items[index];\n\n if (\n lastItem.file &&\n lastItem.options === undefined &&\n typeof thisItem.value === \"object\"\n ) {\n e.message +=\n `\\n- Maybe you meant to use\\n` +\n `\"${type}s\": [\\n [\"${lastItem.file.request}\", ${JSON.stringify(\n thisItem.value,\n undefined,\n 2,\n )}]\\n]\\n` +\n `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/validation/plugins.js b/client/node_modules/@babel/core/lib/config/validation/plugins.js new file mode 100644 index 0000000..d744ecc --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/plugins.js @@ -0,0 +1,67 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validatePluginObject = validatePluginObject; +var _optionAssertions = require("./option-assertions.js"); +const VALIDATORS = { + name: _optionAssertions.assertString, + manipulateOptions: _optionAssertions.assertFunction, + pre: _optionAssertions.assertFunction, + post: _optionAssertions.assertFunction, + inherits: _optionAssertions.assertFunction, + visitor: assertVisitorMap, + parserOverride: _optionAssertions.assertFunction, + generatorOverride: _optionAssertions.assertFunction +}; +function assertVisitorMap(loc, value) { + const obj = (0, _optionAssertions.assertObject)(loc, value); + if (obj) { + Object.keys(obj).forEach(prop => { + if (prop !== "_exploded" && prop !== "_verified") { + assertVisitorHandler(prop, obj[prop]); + } + }); + if (obj.enter || obj.exit) { + throw new Error(`${(0, _optionAssertions.msg)(loc)} cannot contain catch-all "enter" or "exit" handlers. Please target individual nodes.`); + } + } + return obj; +} +function assertVisitorHandler(key, value) { + if (value && typeof value === "object") { + Object.keys(value).forEach(handler => { + if (handler !== "enter" && handler !== "exit") { + throw new Error(`.visitor["${key}"] may only have .enter and/or .exit handlers.`); + } + }); + } else if (typeof value !== "function") { + throw new Error(`.visitor["${key}"] must be a function`); + } +} +function validatePluginObject(obj) { + const rootPath = { + type: "root", + source: "plugin" + }; + Object.keys(obj).forEach(key => { + const validator = VALIDATORS[key]; + if (validator) { + const optLoc = { + type: "option", + name: key, + parent: rootPath + }; + validator(optLoc, obj[key]); + } else { + const invalidPluginPropertyError = new Error(`.${key} is not a valid Plugin property`); + invalidPluginPropertyError.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY"; + throw invalidPluginPropertyError; + } + }); + return obj; +} +0 && 0; + +//# sourceMappingURL=plugins.js.map diff --git a/client/node_modules/@babel/core/lib/config/validation/plugins.js.map b/client/node_modules/@babel/core/lib/config/validation/plugins.js.map new file mode 100644 index 0000000..a11be98 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/plugins.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_optionAssertions","require","VALIDATORS","name","assertString","manipulateOptions","assertFunction","pre","post","inherits","visitor","assertVisitorMap","parserOverride","generatorOverride","loc","value","obj","assertObject","Object","keys","forEach","prop","assertVisitorHandler","enter","exit","Error","msg","key","handler","validatePluginObject","rootPath","type","source","validator","optLoc","parent","invalidPluginPropertyError","code"],"sources":["../../../src/config/validation/plugins.ts"],"sourcesContent":["import {\n assertString,\n assertFunction,\n assertObject,\n msg,\n} from \"./option-assertions.ts\";\n\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n RootPath,\n} from \"./option-assertions.ts\";\nimport type { parse, ParserOptions } from \"@babel/parser\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type { ResolvedOptions } from \"./options.ts\";\nimport type { File, PluginAPI, PluginPass } from \"../../index.ts\";\nimport type { GeneratorOptions, GeneratorResult } from \"@babel/generator\";\nimport type babelGenerator from \"@babel/generator\";\n\n// Note: The casts here are just meant to be static assertions to make sure\n// that the assertion functions actually assert that the value's type matches\n// the declared types.\nconst VALIDATORS: ValidatorSet = {\n name: assertString as Validator,\n manipulateOptions: assertFunction as Validator<\n PluginObject[\"manipulateOptions\"]\n >,\n pre: assertFunction as Validator,\n post: assertFunction as Validator,\n inherits: assertFunction as Validator,\n visitor: assertVisitorMap as Validator,\n\n parserOverride: assertFunction as Validator,\n generatorOverride: assertFunction as Validator<\n PluginObject[\"generatorOverride\"]\n >,\n};\n\nfunction assertVisitorMap(loc: OptionPath, value: unknown): Visitor {\n const obj = assertObject(loc, value);\n if (obj) {\n Object.keys(obj).forEach(prop => {\n if (prop !== \"_exploded\" && prop !== \"_verified\") {\n assertVisitorHandler(prop, obj[prop]);\n }\n });\n\n if (obj.enter || obj.exit) {\n throw new Error(\n `${msg(\n loc,\n )} cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.`,\n );\n }\n }\n return obj as Visitor;\n}\n\nfunction assertVisitorHandler(\n key: string,\n value: unknown,\n): asserts value is VisitorHandler {\n if (value && typeof value === \"object\") {\n Object.keys(value).forEach((handler: string) => {\n if (handler !== \"enter\" && handler !== \"exit\") {\n throw new Error(\n `.visitor[\"${key}\"] may only have .enter and/or .exit handlers.`,\n );\n }\n });\n } else if (typeof value !== \"function\") {\n throw new Error(`.visitor[\"${key}\"] must be a function`);\n }\n}\n\ntype VisitorHandler =\n | Function\n | {\n enter?: Function;\n exit?: Function;\n };\n\nexport type PluginObject = {\n name?: string;\n manipulateOptions?: (\n options: ResolvedOptions,\n parserOpts: ParserOptions,\n ) => void;\n pre?: (this: S, file: File) => void | Promise;\n post?: (this: S, file: File) => void | Promise;\n inherits?: (\n api: PluginAPI,\n options: unknown,\n dirname: string,\n ) => PluginObject;\n visitor?: Visitor;\n parserOverride?: (\n ...args: [...Parameters, typeof parse]\n ) => ReturnType;\n generatorOverride?: (\n ast: File[\"ast\"],\n generatorOpts: GeneratorOptions,\n code: File[\"code\"],\n generate: typeof babelGenerator,\n ) => GeneratorResult;\n};\n\nexport function validatePluginObject(\n obj: Record,\n): PluginObject {\n const rootPath: RootPath = {\n type: \"root\",\n source: \"plugin\",\n };\n Object.keys(obj).forEach((key: string) => {\n const validator = VALIDATORS[key];\n\n if (validator) {\n const optLoc: OptionPath = {\n type: \"option\",\n name: key,\n parent: rootPath,\n };\n validator(optLoc, obj[key]);\n } else {\n const invalidPluginPropertyError = new Error(\n `.${key} is not a valid Plugin property`,\n );\n // @ts-expect-error todo(flow->ts) consider adding BabelConfigError with code field\n invalidPluginPropertyError.code = \"BABEL_UNKNOWN_PLUGIN_PROPERTY\";\n throw invalidPluginPropertyError;\n }\n });\n\n return obj as any;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAuBA,MAAMC,UAAwB,GAAG;EAC/BC,IAAI,EAAEC,8BAA+C;EACrDC,iBAAiB,EAAEC,gCAElB;EACDC,GAAG,EAAED,gCAAgD;EACrDE,IAAI,EAAEF,gCAAiD;EACvDG,QAAQ,EAAEH,gCAAqD;EAC/DI,OAAO,EAAEC,gBAAsD;EAE/DC,cAAc,EAAEN,gCAA2D;EAC3EO,iBAAiB,EAAEP;AAGrB,CAAC;AAED,SAASK,gBAAgBA,CAACG,GAAe,EAAEC,KAAc,EAAW;EAClE,MAAMC,GAAG,GAAG,IAAAC,8BAAY,EAACH,GAAG,EAAEC,KAAK,CAAC;EACpC,IAAIC,GAAG,EAAE;IACPE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAACC,IAAI,IAAI;MAC/B,IAAIA,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,WAAW,EAAE;QAChDC,oBAAoB,CAACD,IAAI,EAAEL,GAAG,CAACK,IAAI,CAAC,CAAC;MACvC;IACF,CAAC,CAAC;IAEF,IAAIL,GAAG,CAACO,KAAK,IAAIP,GAAG,CAACQ,IAAI,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,GAAG,IAAAC,qBAAG,EACJZ,GACF,CAAC,uFACH,CAAC;IACH;EACF;EACA,OAAOE,GAAG;AACZ;AAEA,SAASM,oBAAoBA,CAC3BK,GAAW,EACXZ,KAAc,EACmB;EACjC,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtCG,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEQ,OAAe,IAAK;MAC9C,IAAIA,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,MAAM,EAAE;QAC7C,MAAM,IAAIH,KAAK,CACb,aAAaE,GAAG,gDAClB,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC,MAAM,IAAI,OAAOZ,KAAK,KAAK,UAAU,EAAE;IACtC,MAAM,IAAIU,KAAK,CAAC,aAAaE,GAAG,uBAAuB,CAAC;EAC1D;AACF;AAkCO,SAASE,oBAAoBA,CAClCb,GAA4B,EACd;EACd,MAAMc,QAAkB,GAAG;IACzBC,IAAI,EAAE,MAAM;IACZC,MAAM,EAAE;EACV,CAAC;EACDd,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAAEO,GAAW,IAAK;IACxC,MAAMM,SAAS,GAAG/B,UAAU,CAACyB,GAAG,CAAC;IAEjC,IAAIM,SAAS,EAAE;MACb,MAAMC,MAAkB,GAAG;QACzBH,IAAI,EAAE,QAAQ;QACd5B,IAAI,EAAEwB,GAAG;QACTQ,MAAM,EAAEL;MACV,CAAC;MACDG,SAAS,CAACC,MAAM,EAAElB,GAAG,CAACW,GAAG,CAAC,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMS,0BAA0B,GAAG,IAAIX,KAAK,CAC1C,IAAIE,GAAG,iCACT,CAAC;MAEDS,0BAA0B,CAACC,IAAI,GAAG,+BAA+B;MACjE,MAAMD,0BAA0B;IAClC;EACF,CAAC,CAAC;EAEF,OAAOpB,GAAG;AACZ;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/config/validation/removed.js b/client/node_modules/@babel/core/lib/config/validation/removed.js new file mode 100644 index 0000000..9bd436e --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/removed.js @@ -0,0 +1,68 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = exports.default = { + auxiliaryComment: { + message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`" + }, + blacklist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + breakConfig: { + message: "This is not a necessary option in Babel 6" + }, + experimental: { + message: "Put the specific transforms you want in the `plugins` option" + }, + externalHelpers: { + message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/" + }, + extra: { + message: "" + }, + jsxPragma: { + message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/" + }, + loose: { + message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option." + }, + metadataUsedHelpers: { + message: "Not required anymore as this is enabled by default" + }, + modules: { + message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules" + }, + nonStandard: { + message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/" + }, + optional: { + message: "Put the specific transforms you want in the `plugins` option" + }, + sourceMapName: { + message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves." + }, + stage: { + message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets" + }, + whitelist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + resolveModuleSource: { + version: 6, + message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options" + }, + metadata: { + version: 6, + message: "Generated plugin metadata is always included in the output result" + }, + sourceMapTarget: { + version: 6, + message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves." + } +}; +0 && 0; + +//# sourceMappingURL=removed.js.map diff --git a/client/node_modules/@babel/core/lib/config/validation/removed.js.map b/client/node_modules/@babel/core/lib/config/validation/removed.js.map new file mode 100644 index 0000000..e1aa740 --- /dev/null +++ b/client/node_modules/@babel/core/lib/config/validation/removed.js.map @@ -0,0 +1 @@ +{"version":3,"names":["auxiliaryComment","message","blacklist","breakConfig","experimental","externalHelpers","extra","jsxPragma","loose","metadataUsedHelpers","modules","nonStandard","optional","sourceMapName","stage","whitelist","resolveModuleSource","version","metadata","sourceMapTarget"],"sources":["../../../src/config/validation/removed.ts"],"sourcesContent":["export default {\n auxiliaryComment: {\n message: \"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`\",\n },\n blacklist: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n breakConfig: {\n message: \"This is not a necessary option in Babel 6\",\n },\n experimental: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n externalHelpers: {\n message:\n \"Use the `external-helpers` plugin instead. \" +\n \"Check out http://babeljs.io/docs/plugins/external-helpers/\",\n },\n extra: {\n message: \"\",\n },\n jsxPragma: {\n message:\n \"use the `pragma` option in the `react-jsx` plugin. \" +\n \"Check out http://babeljs.io/docs/plugins/transform-react-jsx/\",\n },\n loose: {\n message:\n \"Specify the `loose` option for the relevant plugin you are using \" +\n \"or use a preset that sets the option.\",\n },\n metadataUsedHelpers: {\n message: \"Not required anymore as this is enabled by default\",\n },\n modules: {\n message:\n \"Use the corresponding module transform plugin in the `plugins` option. \" +\n \"Check out http://babeljs.io/docs/plugins/#modules\",\n },\n nonStandard: {\n message:\n \"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. \" +\n \"Also check out the react preset http://babeljs.io/docs/plugins/preset-react/\",\n },\n optional: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n sourceMapName: {\n message:\n \"The `sourceMapName` option has been removed because it makes more sense for the \" +\n \"tooling that calls Babel to assign `map.file` themselves.\",\n },\n stage: {\n message:\n \"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets\",\n },\n whitelist: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n\n resolveModuleSource: {\n version: 6,\n message: \"Use `babel-plugin-module-resolver@3`'s 'resolvePath' options\",\n },\n metadata: {\n version: 6,\n message:\n \"Generated plugin metadata is always included in the output result\",\n },\n sourceMapTarget: {\n version: 6,\n message:\n \"The `sourceMapTarget` option has been removed because it makes more sense for the tooling \" +\n \"that calls Babel to assign `map.file` themselves.\",\n },\n} as Record;\n"],"mappings":";;;;;;iCAAe;EACbA,gBAAgB,EAAE;IAChBC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTD,OAAO,EAAE;EACX,CAAC;EACDE,WAAW,EAAE;IACXF,OAAO,EAAE;EACX,CAAC;EACDG,YAAY,EAAE;IACZH,OAAO,EAAE;EACX,CAAC;EACDI,eAAe,EAAE;IACfJ,OAAO,EACL,6CAA6C,GAC7C;EACJ,CAAC;EACDK,KAAK,EAAE;IACLL,OAAO,EAAE;EACX,CAAC;EACDM,SAAS,EAAE;IACTN,OAAO,EACL,qDAAqD,GACrD;EACJ,CAAC;EACDO,KAAK,EAAE;IACLP,OAAO,EACL,mEAAmE,GACnE;EACJ,CAAC;EACDQ,mBAAmB,EAAE;IACnBR,OAAO,EAAE;EACX,CAAC;EACDS,OAAO,EAAE;IACPT,OAAO,EACL,yEAAyE,GACzE;EACJ,CAAC;EACDU,WAAW,EAAE;IACXV,OAAO,EACL,8EAA8E,GAC9E;EACJ,CAAC;EACDW,QAAQ,EAAE;IACRX,OAAO,EAAE;EACX,CAAC;EACDY,aAAa,EAAE;IACbZ,OAAO,EACL,kFAAkF,GAClF;EACJ,CAAC;EACDa,KAAK,EAAE;IACLb,OAAO,EACL;EACJ,CAAC;EACDc,SAAS,EAAE;IACTd,OAAO,EAAE;EACX,CAAC;EAEDe,mBAAmB,EAAE;IACnBC,OAAO,EAAE,CAAC;IACVhB,OAAO,EAAE;EACX,CAAC;EACDiB,QAAQ,EAAE;IACRD,OAAO,EAAE,CAAC;IACVhB,OAAO,EACL;EACJ,CAAC;EACDkB,eAAe,EAAE;IACfF,OAAO,EAAE,CAAC;IACVhB,OAAO,EACL,4FAA4F,GAC5F;EACJ;AACF,CAAC;AAAA","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/errors/config-error.js b/client/node_modules/@babel/core/lib/errors/config-error.js new file mode 100644 index 0000000..c290804 --- /dev/null +++ b/client/node_modules/@babel/core/lib/errors/config-error.js @@ -0,0 +1,18 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _rewriteStackTrace = require("./rewrite-stack-trace.js"); +class ConfigError extends Error { + constructor(message, filename) { + super(message); + (0, _rewriteStackTrace.expectedError)(this); + if (filename) (0, _rewriteStackTrace.injectVirtualStackFrame)(this, filename); + } +} +exports.default = ConfigError; +0 && 0; + +//# sourceMappingURL=config-error.js.map diff --git a/client/node_modules/@babel/core/lib/errors/config-error.js.map b/client/node_modules/@babel/core/lib/errors/config-error.js.map new file mode 100644 index 0000000..0045ded --- /dev/null +++ b/client/node_modules/@babel/core/lib/errors/config-error.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_rewriteStackTrace","require","ConfigError","Error","constructor","message","filename","expectedError","injectVirtualStackFrame","exports","default"],"sources":["../../src/errors/config-error.ts"],"sourcesContent":["import {\n injectVirtualStackFrame,\n expectedError,\n} from \"./rewrite-stack-trace.ts\";\n\nexport default class ConfigError extends Error {\n constructor(message: string, filename?: string) {\n super(message);\n expectedError(this);\n if (filename) injectVirtualStackFrame(this, filename);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAKe,MAAMC,WAAW,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAACC,OAAe,EAAEC,QAAiB,EAAE;IAC9C,KAAK,CAACD,OAAO,CAAC;IACd,IAAAE,gCAAa,EAAC,IAAI,CAAC;IACnB,IAAID,QAAQ,EAAE,IAAAE,0CAAuB,EAAC,IAAI,EAAEF,QAAQ,CAAC;EACvD;AACF;AAACG,OAAA,CAAAC,OAAA,GAAAR,WAAA;AAAA","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js b/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js new file mode 100644 index 0000000..68896d3 --- /dev/null +++ b/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js @@ -0,0 +1,98 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.beginHiddenCallStack = beginHiddenCallStack; +exports.endHiddenCallStack = endHiddenCallStack; +exports.expectedError = expectedError; +exports.injectVirtualStackFrame = injectVirtualStackFrame; +var _Object$getOwnPropert; +const ErrorToString = Function.call.bind(Error.prototype.toString); +const SUPPORTED = !!Error.captureStackTrace && ((_Object$getOwnPropert = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit")) == null ? void 0 : _Object$getOwnPropert.writable) === true; +const START_HIDING = "startHiding - secret - don't use this - v1"; +const STOP_HIDING = "stopHiding - secret - don't use this - v1"; +const expectedErrors = new WeakSet(); +const virtualFrames = new WeakMap(); +function CallSite(filename) { + return Object.create({ + isNative: () => false, + isConstructor: () => false, + isToplevel: () => true, + getFileName: () => filename, + getLineNumber: () => undefined, + getColumnNumber: () => undefined, + getFunctionName: () => undefined, + getMethodName: () => undefined, + getTypeName: () => undefined, + toString: () => filename + }); +} +function injectVirtualStackFrame(error, filename) { + if (!SUPPORTED) return; + let frames = virtualFrames.get(error); + if (!frames) virtualFrames.set(error, frames = []); + frames.push(CallSite(filename)); + return error; +} +function expectedError(error) { + if (!SUPPORTED) return; + expectedErrors.add(error); + return error; +} +function beginHiddenCallStack(fn) { + if (!SUPPORTED) return fn; + return Object.defineProperty(function (...args) { + setupPrepareStackTrace(); + return fn(...args); + }, "name", { + value: STOP_HIDING + }); +} +function endHiddenCallStack(fn) { + if (!SUPPORTED) return fn; + return Object.defineProperty(function (...args) { + return fn(...args); + }, "name", { + value: START_HIDING + }); +} +function setupPrepareStackTrace() { + setupPrepareStackTrace = () => {}; + const { + prepareStackTrace = defaultPrepareStackTrace + } = Error; + const MIN_STACK_TRACE_LIMIT = 50; + Error.stackTraceLimit && (Error.stackTraceLimit = Math.max(Error.stackTraceLimit, MIN_STACK_TRACE_LIMIT)); + Error.prepareStackTrace = function stackTraceRewriter(err, trace) { + let newTrace = []; + const isExpected = expectedErrors.has(err); + let status = isExpected ? "hiding" : "unknown"; + for (let i = 0; i < trace.length; i++) { + const name = trace[i].getFunctionName(); + if (name === START_HIDING) { + status = "hiding"; + } else if (name === STOP_HIDING) { + if (status === "hiding") { + status = "showing"; + if (virtualFrames.has(err)) { + newTrace.unshift(...virtualFrames.get(err)); + } + } else if (status === "unknown") { + newTrace = trace; + break; + } + } else if (status !== "hiding") { + newTrace.push(trace[i]); + } + } + return prepareStackTrace(err, newTrace); + }; +} +function defaultPrepareStackTrace(err, trace) { + if (trace.length === 0) return ErrorToString(err); + return `${ErrorToString(err)}\n at ${trace.join("\n at ")}`; +} +0 && 0; + +//# sourceMappingURL=rewrite-stack-trace.js.map diff --git a/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map b/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map new file mode 100644 index 0000000..25cce7a --- /dev/null +++ b/client/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map @@ -0,0 +1 @@ +{"version":3,"names":["ErrorToString","Function","call","bind","Error","prototype","toString","SUPPORTED","captureStackTrace","_Object$getOwnPropert","Object","getOwnPropertyDescriptor","writable","START_HIDING","STOP_HIDING","expectedErrors","WeakSet","virtualFrames","WeakMap","CallSite","filename","create","isNative","isConstructor","isToplevel","getFileName","getLineNumber","undefined","getColumnNumber","getFunctionName","getMethodName","getTypeName","injectVirtualStackFrame","error","frames","get","set","push","expectedError","add","beginHiddenCallStack","fn","defineProperty","args","setupPrepareStackTrace","value","endHiddenCallStack","prepareStackTrace","defaultPrepareStackTrace","MIN_STACK_TRACE_LIMIT","stackTraceLimit","Math","max","stackTraceRewriter","err","trace","newTrace","isExpected","has","status","i","length","name","unshift","join"],"sources":["../../src/errors/rewrite-stack-trace.ts"],"sourcesContent":["/**\n * This file uses the internal V8 Stack Trace API (https://v8.dev/docs/stack-trace-api)\n * to provide utilities to rewrite the stack trace.\n * When this API is not present, all the functions in this file become noops.\n *\n * beginHiddenCallStack(fn) and endHiddenCallStack(fn) wrap their parameter to\n * mark an hidden portion of the stack trace. The function passed to\n * beginHiddenCallStack is the first hidden function, while the function passed\n * to endHiddenCallStack is the first shown function.\n *\n * When an error is thrown _outside_ of the hidden zone, everything between\n * beginHiddenCallStack and endHiddenCallStack will not be shown.\n * If an error is thrown _inside_ the hidden zone, then the whole stack trace\n * will be visible: this is to avoid hiding real bugs.\n * However, if an error inside the hidden zone is expected, it can be marked\n * with the expectedError(error) function to keep the hidden frames hidden.\n *\n * Consider this call stack (the outer function is the bottom one):\n *\n * 1. a()\n * 2. endHiddenCallStack(b)()\n * 3. c()\n * 4. beginHiddenCallStack(d)()\n * 5. e()\n * 6. f()\n *\n * - If a() throws an error, then its shown call stack will be \"a, b, e, f\"\n * - If b() throws an error, then its shown call stack will be \"b, e, f\"\n * - If c() throws an expected error, then its shown call stack will be \"e, f\"\n * - If c() throws an unexpected error, then its shown call stack will be \"c, d, e, f\"\n * - If d() throws an expected error, then its shown call stack will be \"e, f\"\n * - If d() throws an unexpected error, then its shown call stack will be \"d, e, f\"\n * - If e() throws an error, then its shown call stack will be \"e, f\"\n *\n * Additionally, an error can inject additional \"virtual\" stack frames using the\n * injectVirtualStackFrame(error, filename) function: those are injected as a\n * replacement of the hidden frames.\n * In the example above, if we called injectVirtualStackFrame(err, \"h\") and\n * injectVirtualStackFrame(err, \"i\") on the expected error thrown by c(), its\n * shown call stack would have been \"h, i, e, f\".\n * This can be useful, for example, to report config validation errors as if they\n * were directly thrown in the config file.\n */\n\nconst ErrorToString = Function.call.bind(Error.prototype.toString);\n\nconst SUPPORTED =\n !!Error.captureStackTrace &&\n Object.getOwnPropertyDescriptor(Error, \"stackTraceLimit\")?.writable === true;\n\nconst START_HIDING = \"startHiding - secret - don't use this - v1\";\nconst STOP_HIDING = \"stopHiding - secret - don't use this - v1\";\n\ntype CallSite = NodeJS.CallSite;\n\nconst expectedErrors = new WeakSet();\nconst virtualFrames = new WeakMap();\n\nfunction CallSite(filename: string): CallSite {\n // We need to use a prototype otherwise it breaks source-map-support's internals\n return Object.create({\n isNative: () => false,\n isConstructor: () => false,\n isToplevel: () => true,\n getFileName: () => filename,\n getLineNumber: () => undefined,\n getColumnNumber: () => undefined,\n getFunctionName: () => undefined,\n getMethodName: () => undefined,\n getTypeName: () => undefined,\n toString: () => filename,\n } as CallSite);\n}\n\nexport function injectVirtualStackFrame(error: Error, filename: string) {\n if (!SUPPORTED) return;\n\n let frames = virtualFrames.get(error);\n if (!frames) virtualFrames.set(error, (frames = []));\n frames.push(CallSite(filename));\n\n return error;\n}\n\nexport function expectedError(error: Error) {\n if (!SUPPORTED) return;\n expectedErrors.add(error);\n return error;\n}\n\nexport function beginHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n setupPrepareStackTrace();\n return fn(...args);\n },\n \"name\",\n { value: STOP_HIDING },\n );\n}\n\nexport function endHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n return fn(...args);\n },\n \"name\",\n { value: START_HIDING },\n );\n}\n\nfunction setupPrepareStackTrace() {\n // @ts-expect-error This function is a singleton\n setupPrepareStackTrace = () => {};\n\n const { prepareStackTrace = defaultPrepareStackTrace } = Error;\n\n // We add some extra frames to Error.stackTraceLimit, so that we can\n // always show some useful frames even after deleting ours.\n // STACK_TRACE_LIMIT_DELTA should be around the maximum expected number\n // of internal frames, and not too big because capturing the stack trace\n // is slow (this is why Error.stackTraceLimit does not default to Infinity!).\n // Increase it if needed.\n // However, we only do it if the user did not explicitly set it to 0.\n const MIN_STACK_TRACE_LIMIT = 50;\n Error.stackTraceLimit &&= Math.max(\n Error.stackTraceLimit,\n MIN_STACK_TRACE_LIMIT,\n );\n\n Error.prepareStackTrace = function stackTraceRewriter(err, trace) {\n let newTrace = [];\n\n const isExpected = expectedErrors.has(err);\n let status: \"showing\" | \"hiding\" | \"unknown\" = isExpected\n ? \"hiding\"\n : \"unknown\";\n for (let i = 0; i < trace.length; i++) {\n const name = trace[i].getFunctionName();\n if (name === START_HIDING) {\n status = \"hiding\";\n } else if (name === STOP_HIDING) {\n if (status === \"hiding\") {\n status = \"showing\";\n if (virtualFrames.has(err)) {\n newTrace.unshift(...virtualFrames.get(err));\n }\n } else if (status === \"unknown\") {\n // Unexpected internal error, show the full stack trace\n newTrace = trace;\n break;\n }\n } else if (status !== \"hiding\") {\n newTrace.push(trace[i]);\n }\n }\n\n return prepareStackTrace(err, newTrace);\n };\n}\n\nfunction defaultPrepareStackTrace(err: Error, trace: CallSite[]) {\n if (trace.length === 0) return ErrorToString(err);\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return `${ErrorToString(err)}\\n at ${trace.join(\"\\n at \")}`;\n}\n"],"mappings":";;;;;;;;;;AA4CA,MAAMA,aAAa,GAAGC,QAAQ,CAACC,IAAI,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAACC,QAAQ,CAAC;AAElE,MAAMC,SAAS,GACb,CAAC,CAACH,KAAK,CAACI,iBAAiB,IACzB,EAAAC,qBAAA,GAAAC,MAAM,CAACC,wBAAwB,CAACP,KAAK,EAAE,iBAAiB,CAAC,qBAAzDK,qBAAA,CAA2DG,QAAQ,MAAK,IAAI;AAE9E,MAAMC,YAAY,GAAG,4CAA4C;AACjE,MAAMC,WAAW,GAAG,2CAA2C;AAI/D,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAQ,CAAC;AAC3C,MAAMC,aAAa,GAAG,IAAIC,OAAO,CAAoB,CAAC;AAEtD,SAASC,QAAQA,CAACC,QAAgB,EAAY;EAE5C,OAAOV,MAAM,CAACW,MAAM,CAAC;IACnBC,QAAQ,EAAEA,CAAA,KAAM,KAAK;IACrBC,aAAa,EAAEA,CAAA,KAAM,KAAK;IAC1BC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,WAAW,EAAEA,CAAA,KAAML,QAAQ;IAC3BM,aAAa,EAAEA,CAAA,KAAMC,SAAS;IAC9BC,eAAe,EAAEA,CAAA,KAAMD,SAAS;IAChCE,eAAe,EAAEA,CAAA,KAAMF,SAAS;IAChCG,aAAa,EAAEA,CAAA,KAAMH,SAAS;IAC9BI,WAAW,EAAEA,CAAA,KAAMJ,SAAS;IAC5BrB,QAAQ,EAAEA,CAAA,KAAMc;EAClB,CAAa,CAAC;AAChB;AAEO,SAASY,uBAAuBA,CAACC,KAAY,EAAEb,QAAgB,EAAE;EACtE,IAAI,CAACb,SAAS,EAAE;EAEhB,IAAI2B,MAAM,GAAGjB,aAAa,CAACkB,GAAG,CAACF,KAAK,CAAC;EACrC,IAAI,CAACC,MAAM,EAAEjB,aAAa,CAACmB,GAAG,CAACH,KAAK,EAAGC,MAAM,GAAG,EAAG,CAAC;EACpDA,MAAM,CAACG,IAAI,CAAClB,QAAQ,CAACC,QAAQ,CAAC,CAAC;EAE/B,OAAOa,KAAK;AACd;AAEO,SAASK,aAAaA,CAACL,KAAY,EAAE;EAC1C,IAAI,CAAC1B,SAAS,EAAE;EAChBQ,cAAc,CAACwB,GAAG,CAACN,KAAK,CAAC;EACzB,OAAOA,KAAK;AACd;AAEO,SAASO,oBAAoBA,CAClCC,EAAqB,EACrB;EACA,IAAI,CAAClC,SAAS,EAAE,OAAOkC,EAAE;EAEzB,OAAO/B,MAAM,CAACgC,cAAc,CAC1B,UAAU,GAAGC,IAAO,EAAE;IACpBC,sBAAsB,CAAC,CAAC;IACxB,OAAOH,EAAE,CAAC,GAAGE,IAAI,CAAC;EACpB,CAAC,EACD,MAAM,EACN;IAAEE,KAAK,EAAE/B;EAAY,CACvB,CAAC;AACH;AAEO,SAASgC,kBAAkBA,CAChCL,EAAqB,EACrB;EACA,IAAI,CAAClC,SAAS,EAAE,OAAOkC,EAAE;EAEzB,OAAO/B,MAAM,CAACgC,cAAc,CAC1B,UAAU,GAAGC,IAAO,EAAE;IACpB,OAAOF,EAAE,CAAC,GAAGE,IAAI,CAAC;EACpB,CAAC,EACD,MAAM,EACN;IAAEE,KAAK,EAAEhC;EAAa,CACxB,CAAC;AACH;AAEA,SAAS+B,sBAAsBA,CAAA,EAAG;EAEhCA,sBAAsB,GAAGA,CAAA,KAAM,CAAC,CAAC;EAEjC,MAAM;IAAEG,iBAAiB,GAAGC;EAAyB,CAAC,GAAG5C,KAAK;EAS9D,MAAM6C,qBAAqB,GAAG,EAAE;EAChC7C,KAAK,CAAC8C,eAAe,KAArB9C,KAAK,CAAC8C,eAAe,GAAKC,IAAI,CAACC,GAAG,CAChChD,KAAK,CAAC8C,eAAe,EACrBD,qBACF,CAAC;EAED7C,KAAK,CAAC2C,iBAAiB,GAAG,SAASM,kBAAkBA,CAACC,GAAG,EAAEC,KAAK,EAAE;IAChE,IAAIC,QAAQ,GAAG,EAAE;IAEjB,MAAMC,UAAU,GAAG1C,cAAc,CAAC2C,GAAG,CAACJ,GAAG,CAAC;IAC1C,IAAIK,MAAwC,GAAGF,UAAU,GACrD,QAAQ,GACR,SAAS;IACb,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,KAAK,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;MACrC,MAAME,IAAI,GAAGP,KAAK,CAACK,CAAC,CAAC,CAAC/B,eAAe,CAAC,CAAC;MACvC,IAAIiC,IAAI,KAAKjD,YAAY,EAAE;QACzB8C,MAAM,GAAG,QAAQ;MACnB,CAAC,MAAM,IAAIG,IAAI,KAAKhD,WAAW,EAAE;QAC/B,IAAI6C,MAAM,KAAK,QAAQ,EAAE;UACvBA,MAAM,GAAG,SAAS;UAClB,IAAI1C,aAAa,CAACyC,GAAG,CAACJ,GAAG,CAAC,EAAE;YAC1BE,QAAQ,CAACO,OAAO,CAAC,GAAG9C,aAAa,CAACkB,GAAG,CAACmB,GAAG,CAAC,CAAC;UAC7C;QACF,CAAC,MAAM,IAAIK,MAAM,KAAK,SAAS,EAAE;UAE/BH,QAAQ,GAAGD,KAAK;UAChB;QACF;MACF,CAAC,MAAM,IAAII,MAAM,KAAK,QAAQ,EAAE;QAC9BH,QAAQ,CAACnB,IAAI,CAACkB,KAAK,CAACK,CAAC,CAAC,CAAC;MACzB;IACF;IAEA,OAAOb,iBAAiB,CAACO,GAAG,EAAEE,QAAQ,CAAC;EACzC,CAAC;AACH;AAEA,SAASR,wBAAwBA,CAACM,GAAU,EAAEC,KAAiB,EAAE;EAC/D,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE,OAAO7D,aAAa,CAACsD,GAAG,CAAC;EAEjD,OAAO,GAAGtD,aAAa,CAACsD,GAAG,CAAC,YAAYC,KAAK,CAACS,IAAI,CAAC,WAAW,CAAC,EAAE;AACnE;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/gensync-utils/async.js b/client/node_modules/@babel/core/lib/gensync-utils/async.js new file mode 100644 index 0000000..42946c6 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/async.js @@ -0,0 +1,90 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.forwardAsync = forwardAsync; +exports.isAsync = void 0; +exports.isThenable = isThenable; +exports.maybeAsync = maybeAsync; +exports.waitFor = exports.onFirstPause = void 0; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } +const runGenerator = _gensync()(function* (item) { + return yield* item; +}); +const isAsync = exports.isAsync = _gensync()({ + sync: () => false, + errback: cb => cb(null, true) +}); +function maybeAsync(fn, message) { + return _gensync()({ + sync(...args) { + const result = fn.apply(this, args); + if (isThenable(result)) throw new Error(message); + return result; + }, + async(...args) { + return Promise.resolve(fn.apply(this, args)); + } + }); +} +const withKind = _gensync()({ + sync: cb => cb("sync"), + async: function () { + var _ref = _asyncToGenerator(function* (cb) { + return cb("async"); + }); + return function async(_x) { + return _ref.apply(this, arguments); + }; + }() +}); +function forwardAsync(action, cb) { + const g = _gensync()(action); + return withKind(kind => { + const adapted = g[kind]; + return cb(adapted); + }); +} +const onFirstPause = exports.onFirstPause = _gensync()({ + name: "onFirstPause", + arity: 2, + sync: function (item) { + return runGenerator.sync(item); + }, + errback: function (item, firstPause, cb) { + let completed = false; + runGenerator.errback(item, (err, value) => { + completed = true; + cb(err, value); + }); + if (!completed) { + firstPause(); + } + } +}); +const waitFor = exports.waitFor = _gensync()({ + sync: x => x, + async: function () { + var _ref2 = _asyncToGenerator(function* (x) { + return x; + }); + return function async(_x2) { + return _ref2.apply(this, arguments); + }; + }() +}); +function isThenable(val) { + return !!val && (typeof val === "object" || typeof val === "function") && !!val.then && typeof val.then === "function"; +} +0 && 0; + +//# sourceMappingURL=async.js.map diff --git a/client/node_modules/@babel/core/lib/gensync-utils/async.js.map b/client/node_modules/@babel/core/lib/gensync-utils/async.js.map new file mode 100644 index 0000000..595d757 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/async.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","asyncGeneratorStep","n","t","e","r","o","a","c","i","u","value","done","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","runGenerator","gensync","item","isAsync","exports","sync","errback","cb","maybeAsync","fn","message","args","result","isThenable","Error","async","withKind","_ref","_x","forwardAsync","action","g","kind","adapted","onFirstPause","name","arity","firstPause","completed","err","waitFor","x","_ref2","_x2","val"],"sources":["../../src/gensync-utils/async.ts"],"sourcesContent":["import gensync, { type Gensync, type Handler, type Callback } from \"gensync\";\n\ntype MaybePromise = T | Promise;\n\nconst runGenerator: {\n sync(gen: Handler): Return;\n async(gen: Handler): Promise;\n errback(gen: Handler, cb: Callback): void;\n} = gensync(function* (item: Handler): Handler {\n return yield* item;\n});\n\n// This Gensync returns true if the current execution context is\n// asynchronous, otherwise it returns false.\nexport const isAsync = gensync({\n sync: () => false,\n errback: cb => cb(null, true),\n});\n\n// This function wraps any functions (which could be either synchronous or\n// asynchronous) with a Gensync. If the wrapped function returns a promise\n// but the current execution context is synchronous, it will throw the\n// provided error.\n// This is used to handle user-provided functions which could be asynchronous.\nexport function maybeAsync(\n fn: (...args: Args) => Return,\n message: string,\n): Gensync {\n return gensync({\n sync(...args) {\n const result = fn.apply(this, args);\n if (isThenable(result)) throw new Error(message);\n return result;\n },\n async(...args) {\n return Promise.resolve(fn.apply(this, args));\n },\n });\n}\n\nconst withKind = gensync({\n sync: cb => cb(\"sync\"),\n async: async cb => cb(\"async\"),\n}) as (cb: (kind: \"sync\" | \"async\") => MaybePromise) => Handler;\n\n// This function wraps a generator (or a Gensync) into another function which,\n// when called, will run the provided generator in a sync or async way, depending\n// on the execution context where this forwardAsync function is called.\n// This is useful, for example, when passing a callback to a function which isn't\n// aware of gensync, but it only knows about synchronous and asynchronous functions.\n// An example is cache.using, which being exposed to the user must be as simple as\n// possible:\n// yield* forwardAsync(gensyncFn, wrappedFn =>\n// cache.using(x => {\n// // Here we don't know about gensync. wrappedFn is a\n// // normal sync or async function\n// return wrappedFn(x);\n// })\n// )\nexport function forwardAsync(\n action: (...args: Args) => Handler,\n cb: (\n adapted: (...args: Args) => MaybePromise,\n ) => MaybePromise,\n): Handler {\n const g = gensync(action);\n return withKind(kind => {\n const adapted = g[kind];\n return cb(adapted);\n });\n}\n\n// If the given generator is executed asynchronously, the first time that it\n// is paused (i.e. When it yields a gensync generator which can't be run\n// synchronously), call the \"firstPause\" callback.\nexport const onFirstPause = gensync<\n [gen: Handler, firstPause: () => void],\n unknown\n>({\n name: \"onFirstPause\",\n arity: 2,\n sync: function (item) {\n return runGenerator.sync(item);\n },\n errback: function (item, firstPause, cb) {\n let completed = false;\n\n runGenerator.errback(item, (err, value) => {\n completed = true;\n cb(err, value);\n });\n\n if (!completed) {\n firstPause();\n }\n },\n}) as (gen: Handler, firstPause: () => void) => Handler;\n\n// Wait for the given promise to be resolved\nexport const waitFor = gensync({\n sync: x => x,\n async: async x => x,\n}) as (p: T | Promise) => Handler;\n\nexport function isThenable(val: any): val is PromiseLike {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/gensync-utils/fs.js b/client/node_modules/@babel/core/lib/gensync-utils/fs.js new file mode 100644 index 0000000..b842df8 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/fs.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.stat = exports.readFile = void 0; +function _fs() { + const data = require("fs"); + _fs = function () { + return data; + }; + return data; +} +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +const readFile = exports.readFile = _gensync()({ + sync: _fs().readFileSync, + errback: _fs().readFile +}); +const stat = exports.stat = _gensync()({ + sync: _fs().statSync, + errback: _fs().stat +}); +0 && 0; + +//# sourceMappingURL=fs.js.map diff --git a/client/node_modules/@babel/core/lib/gensync-utils/fs.js.map b/client/node_modules/@babel/core/lib/gensync-utils/fs.js.map new file mode 100644 index 0000000..ef4e8d9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/fs.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_fs","data","require","_gensync","readFile","exports","gensync","sync","fs","readFileSync","errback","stat","statSync"],"sources":["../../src/gensync-utils/fs.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport gensync from \"gensync\";\n\nexport const readFile = gensync<[filepath: string, encoding: \"utf8\"], string>({\n sync: fs.readFileSync,\n errback: fs.readFile,\n});\n\nexport const stat = gensync({\n sync: fs.statSync,\n errback: fs.stat,\n});\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAGE,SAAMA,CAAC,CAA+C;EAC5EC,IAAI,EAAEC,IAACA,CAAC,CAACC,YAAY;EACrBC,OAAO,EAAEF,IAACA,CAAC,CAACJ;AACd,CAAC,CAAC;AAEK,MAAMO,IAAI,GAAAN,OAAA,CAAAM,IAAA,GAAGL,SAAMA,CAAC,CAAC;EAC1BC,IAAI,EAAEC,IAACA,CAAC,CAACI,QAAQ;EACjBF,OAAO,EAAEF,IAACA,CAAC,CAACG;AACd,CAAC,CAAC;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/gensync-utils/functional.js b/client/node_modules/@babel/core/lib/gensync-utils/functional.js new file mode 100644 index 0000000..d7f7755 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/functional.js @@ -0,0 +1,58 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.once = once; +var _async = require("./async.js"); +function once(fn) { + let result; + let resultP; + let promiseReferenced = false; + return function* () { + if (!result) { + if (resultP) { + promiseReferenced = true; + return yield* (0, _async.waitFor)(resultP); + } + if (!(yield* (0, _async.isAsync)())) { + try { + result = { + ok: true, + value: yield* fn() + }; + } catch (error) { + result = { + ok: false, + value: error + }; + } + } else { + let resolve, reject; + resultP = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + try { + result = { + ok: true, + value: yield* fn() + }; + resultP = null; + if (promiseReferenced) resolve(result.value); + } catch (error) { + result = { + ok: false, + value: error + }; + resultP = null; + if (promiseReferenced) reject(error); + } + } + } + if (result.ok) return result.value;else throw result.value; + }; +} +0 && 0; + +//# sourceMappingURL=functional.js.map diff --git a/client/node_modules/@babel/core/lib/gensync-utils/functional.js.map b/client/node_modules/@babel/core/lib/gensync-utils/functional.js.map new file mode 100644 index 0000000..e8c5ed0 --- /dev/null +++ b/client/node_modules/@babel/core/lib/gensync-utils/functional.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_async","require","once","fn","result","resultP","promiseReferenced","waitFor","isAsync","ok","value","error","resolve","reject","Promise","res","rej"],"sources":["../../src/gensync-utils/functional.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\n\nimport { isAsync, waitFor } from \"./async.ts\";\n\nexport function once(fn: () => Handler): () => Handler {\n let result: { ok: true; value: R } | { ok: false; value: unknown };\n let resultP: Promise;\n let promiseReferenced = false;\n return function* () {\n if (!result) {\n if (resultP) {\n promiseReferenced = true;\n return yield* waitFor(resultP);\n }\n\n if (!(yield* isAsync())) {\n try {\n result = { ok: true, value: yield* fn() };\n } catch (error) {\n result = { ok: false, value: error };\n }\n } else {\n let resolve: (result: R) => void, reject: (error: unknown) => void;\n resultP = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n try {\n result = { ok: true, value: yield* fn() };\n // Avoid keeping the promise around\n // now that we have the result.\n resultP = null;\n // We only resolve/reject the promise if it has been actually\n // referenced. If there are no listeners we can forget about it.\n // In the reject case, this avoid uncatchable unhandledRejection\n // events.\n if (promiseReferenced) resolve(result.value);\n } catch (error) {\n result = { ok: false, value: error };\n resultP = null;\n if (promiseReferenced) reject(error);\n }\n }\n }\n\n if (result.ok) return result.value;\n else throw result.value;\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,IAAIA,CAAIC,EAAoB,EAAoB;EAC9D,IAAIC,MAA8D;EAClE,IAAIC,OAAmB;EACvB,IAAIC,iBAAiB,GAAG,KAAK;EAC7B,OAAO,aAAa;IAClB,IAAI,CAACF,MAAM,EAAE;MACX,IAAIC,OAAO,EAAE;QACXC,iBAAiB,GAAG,IAAI;QACxB,OAAO,OAAO,IAAAC,cAAO,EAACF,OAAO,CAAC;MAChC;MAEA,IAAI,EAAE,OAAO,IAAAG,cAAO,EAAC,CAAC,CAAC,EAAE;QACvB,IAAI;UACFJ,MAAM,GAAG;YAAEK,EAAE,EAAE,IAAI;YAAEC,KAAK,EAAE,OAAOP,EAAE,CAAC;UAAE,CAAC;QAC3C,CAAC,CAAC,OAAOQ,KAAK,EAAE;UACdP,MAAM,GAAG;YAAEK,EAAE,EAAE,KAAK;YAAEC,KAAK,EAAEC;UAAM,CAAC;QACtC;MACF,CAAC,MAAM;QACL,IAAIC,OAA4B,EAAEC,MAAgC;QAClER,OAAO,GAAG,IAAIS,OAAO,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;UAClCJ,OAAO,GAAGG,GAAG;UACbF,MAAM,GAAGG,GAAG;QACd,CAAC,CAAC;QAEF,IAAI;UACFZ,MAAM,GAAG;YAAEK,EAAE,EAAE,IAAI;YAAEC,KAAK,EAAE,OAAOP,EAAE,CAAC;UAAE,CAAC;UAGzCE,OAAO,GAAG,IAAI;UAKd,IAAIC,iBAAiB,EAAEM,OAAO,CAACR,MAAM,CAACM,KAAK,CAAC;QAC9C,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdP,MAAM,GAAG;YAAEK,EAAE,EAAE,KAAK;YAAEC,KAAK,EAAEC;UAAM,CAAC;UACpCN,OAAO,GAAG,IAAI;UACd,IAAIC,iBAAiB,EAAEO,MAAM,CAACF,KAAK,CAAC;QACtC;MACF;IACF;IAEA,IAAIP,MAAM,CAACK,EAAE,EAAE,OAAOL,MAAM,CAACM,KAAK,CAAC,KAC9B,MAAMN,MAAM,CAACM,KAAK;EACzB,CAAC;AACH;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/index.js b/client/node_modules/@babel/core/lib/index.js new file mode 100644 index 0000000..0bc972a --- /dev/null +++ b/client/node_modules/@babel/core/lib/index.js @@ -0,0 +1,230 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.DEFAULT_EXTENSIONS = void 0; +Object.defineProperty(exports, "File", { + enumerable: true, + get: function () { + return _file.default; + } +}); +Object.defineProperty(exports, "buildExternalHelpers", { + enumerable: true, + get: function () { + return _buildExternalHelpers.default; + } +}); +Object.defineProperty(exports, "createConfigItem", { + enumerable: true, + get: function () { + return _index2.createConfigItem; + } +}); +Object.defineProperty(exports, "createConfigItemAsync", { + enumerable: true, + get: function () { + return _index2.createConfigItemAsync; + } +}); +Object.defineProperty(exports, "createConfigItemSync", { + enumerable: true, + get: function () { + return _index2.createConfigItemSync; + } +}); +Object.defineProperty(exports, "getEnv", { + enumerable: true, + get: function () { + return _environment.getEnv; + } +}); +Object.defineProperty(exports, "loadOptions", { + enumerable: true, + get: function () { + return _index2.loadOptions; + } +}); +Object.defineProperty(exports, "loadOptionsAsync", { + enumerable: true, + get: function () { + return _index2.loadOptionsAsync; + } +}); +Object.defineProperty(exports, "loadOptionsSync", { + enumerable: true, + get: function () { + return _index2.loadOptionsSync; + } +}); +Object.defineProperty(exports, "loadPartialConfig", { + enumerable: true, + get: function () { + return _index2.loadPartialConfig; + } +}); +Object.defineProperty(exports, "loadPartialConfigAsync", { + enumerable: true, + get: function () { + return _index2.loadPartialConfigAsync; + } +}); +Object.defineProperty(exports, "loadPartialConfigSync", { + enumerable: true, + get: function () { + return _index2.loadPartialConfigSync; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _parse.parse; + } +}); +Object.defineProperty(exports, "parseAsync", { + enumerable: true, + get: function () { + return _parse.parseAsync; + } +}); +Object.defineProperty(exports, "parseSync", { + enumerable: true, + get: function () { + return _parse.parseSync; + } +}); +exports.resolvePreset = exports.resolvePlugin = void 0; +Object.defineProperty((0, exports), "template", { + enumerable: true, + get: function () { + return _template().default; + } +}); +Object.defineProperty((0, exports), "tokTypes", { + enumerable: true, + get: function () { + return _parser().tokTypes; + } +}); +Object.defineProperty(exports, "transform", { + enumerable: true, + get: function () { + return _transform.transform; + } +}); +Object.defineProperty(exports, "transformAsync", { + enumerable: true, + get: function () { + return _transform.transformAsync; + } +}); +Object.defineProperty(exports, "transformFile", { + enumerable: true, + get: function () { + return _transformFile.transformFile; + } +}); +Object.defineProperty(exports, "transformFileAsync", { + enumerable: true, + get: function () { + return _transformFile.transformFileAsync; + } +}); +Object.defineProperty(exports, "transformFileSync", { + enumerable: true, + get: function () { + return _transformFile.transformFileSync; + } +}); +Object.defineProperty(exports, "transformFromAst", { + enumerable: true, + get: function () { + return _transformAst.transformFromAst; + } +}); +Object.defineProperty(exports, "transformFromAstAsync", { + enumerable: true, + get: function () { + return _transformAst.transformFromAstAsync; + } +}); +Object.defineProperty(exports, "transformFromAstSync", { + enumerable: true, + get: function () { + return _transformAst.transformFromAstSync; + } +}); +Object.defineProperty(exports, "transformSync", { + enumerable: true, + get: function () { + return _transform.transformSync; + } +}); +Object.defineProperty((0, exports), "traverse", { + enumerable: true, + get: function () { + return _traverse().default; + } +}); +exports.version = exports.types = void 0; +var _file = require("./transformation/file/file.js"); +var _buildExternalHelpers = require("./tools/build-external-helpers.js"); +var resolvers = require("./config/files/index.js"); +var _environment = require("./config/helpers/environment.js"); +function _types() { + const data = require("@babel/types"); + _types = function () { + return data; + }; + return data; +} +Object.defineProperty((0, exports), "types", { + enumerable: true, + get: function () { + return _types(); + } +}); +function _parser() { + const data = require("@babel/parser"); + _parser = function () { + return data; + }; + return data; +} +function _traverse() { + const data = require("@babel/traverse"); + _traverse = function () { + return data; + }; + return data; +} +function _template() { + const data = require("@babel/template"); + _template = function () { + return data; + }; + return data; +} +var _index2 = require("./config/index.js"); +var _transform = require("./transform.js"); +var _transformFile = require("./transform-file.js"); +var _transformAst = require("./transform-ast.js"); +var _parse = require("./parse.js"); +const version = exports.version = "7.29.7"; +const resolvePlugin = (name, dirname) => resolvers.resolvePlugin(name, dirname, false).filepath; +exports.resolvePlugin = resolvePlugin; +const resolvePreset = (name, dirname) => resolvers.resolvePreset(name, dirname, false).filepath; +exports.resolvePreset = resolvePreset; +const DEFAULT_EXTENSIONS = exports.DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); +exports.OptionManager = class OptionManager { + init(opts) { + return (0, _index2.loadOptionsSync)(opts); + } +}; +exports.Plugin = function Plugin(alias) { + throw new Error(`The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`); +}; +0 && (exports.types = exports.traverse = exports.tokTypes = exports.template = 0); + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/core/lib/index.js.map b/client/node_modules/@babel/core/lib/index.js.map new file mode 100644 index 0000000..a5f9ea5 --- /dev/null +++ b/client/node_modules/@babel/core/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_file","require","_buildExternalHelpers","resolvers","_environment","_types","data","Object","defineProperty","exports","enumerable","get","_parser","_traverse","_template","_index2","_transform","_transformFile","_transformAst","_parse","version","resolvePlugin","name","dirname","filepath","resolvePreset","DEFAULT_EXTENSIONS","freeze","OptionManager","init","opts","loadOptionsSync","Plugin","alias","Error","types","traverse","tokTypes","template"],"sources":["../src/index.ts"],"sourcesContent":["if (!process.env.IS_PUBLISH && !USE_ESM && process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"BABEL_8_BREAKING is only supported in ESM. Please run `make use-esm`.\",\n );\n}\n\nexport const version = PACKAGE_JSON.version;\n\nexport { default as File } from \"./transformation/file/file.ts\";\nexport type { default as PluginPass } from \"./transformation/plugin-pass.ts\";\nexport { default as buildExternalHelpers } from \"./tools/build-external-helpers.ts\";\n\nimport * as resolvers from \"./config/files/index.ts\";\n// For backwards-compatibility, we expose the resolvers\n// with the old API.\nexport const resolvePlugin = (name: string, dirname: string) =>\n resolvers.resolvePlugin(name, dirname, false).filepath;\nexport const resolvePreset = (name: string, dirname: string) =>\n resolvers.resolvePreset(name, dirname, false).filepath;\n\nexport { getEnv } from \"./config/helpers/environment.ts\";\n\n// NOTE: Lazy re-exports aren't detected by the Node.js CJS-ESM interop.\n// These are handled by pluginInjectNodeReexportsHints in our babel.config.js\n// so that they can work well.\nexport * as types from \"@babel/types\";\nexport { tokTypes } from \"@babel/parser\";\nexport { default as traverse } from \"@babel/traverse\";\nexport { default as template } from \"@babel/template\";\n\n// rollup-plugin-dts assumes that all re-exported types are also valid values\n// Visitor is only a type, so we need to use this workaround to prevent\n// rollup-plugin-dts from breaking it.\n// TODO: Figure out how to fix this upstream.\nexport type { NodePath, Scope } from \"@babel/traverse\";\nexport type Visitor = import(\"@babel/traverse\").Visitor;\n\nexport {\n createConfigItem,\n createConfigItemAsync,\n createConfigItemSync,\n} from \"./config/index.ts\";\n\nexport {\n loadOptions,\n loadOptionsAsync,\n loadPartialConfig,\n loadPartialConfigAsync,\n loadPartialConfigSync,\n} from \"./config/index.ts\";\nimport { loadOptionsSync } from \"./config/index.ts\";\nimport type {\n ConfigApplicableTest,\n PluginItem,\n} from \"./config/validation/options.ts\";\nexport { loadOptionsSync };\nexport type { PluginItem };\n\nexport type PresetObject = {\n overrides?: PresetObject[];\n test?: ConfigApplicableTest;\n plugins?: PluginItem[];\n};\n\nexport type {\n CallerMetadata,\n ConfigAPI,\n ConfigItem,\n InputOptions,\n NormalizedOptions,\n PartialConfig,\n PluginAPI,\n PluginObject,\n PresetAPI,\n} from \"./config/index.ts\";\n\nexport {\n type FileResult,\n transform,\n transformAsync,\n transformSync,\n} from \"./transform.ts\";\nexport {\n transformFile,\n transformFileAsync,\n transformFileSync,\n} from \"./transform-file.ts\";\nexport {\n transformFromAst,\n transformFromAstAsync,\n transformFromAstSync,\n} from \"./transform-ast.ts\";\nexport { parse, parseAsync, parseSync } from \"./parse.ts\";\n\n/**\n * Recommended set of compilable extensions. Not used in @babel/core directly, but meant as\n * as an easy source for tooling making use of @babel/core.\n */\nexport const DEFAULT_EXTENSIONS = Object.freeze([\n \".js\",\n \".jsx\",\n \".es6\",\n \".es\",\n \".mjs\",\n \".cjs\",\n] as const);\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n // For easier backward-compatibility, provide an API like the one we exposed in Babel 6.\n // eslint-disable-next-line no-restricted-globals\n exports.OptionManager = class OptionManager {\n init(opts: any) {\n return loadOptionsSync(opts);\n }\n };\n\n // eslint-disable-next-line no-restricted-globals\n exports.Plugin = function Plugin(alias: string) {\n throw new Error(\n `The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`,\n );\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAQA,IAAAG,YAAA,GAAAH,OAAA;AAAyD,SAAAI,OAAA;EAAA,MAAAC,IAAA,GAAAL,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAAC,MAAA,CAAAC,cAAA,KAAAC,OAAA;EAAAC,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAN,MAAA;EAAA;AAAA;AAMzD,SAAAO,QAAA;EAAA,MAAAN,IAAA,GAAAL,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAL,OAAA;EAAAY,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAL,OAAA;EAAAa,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AASA,IAAAS,OAAA,GAAAd,OAAA;AAuCA,IAAAe,UAAA,GAAAf,OAAA;AAMA,IAAAgB,cAAA,GAAAhB,OAAA;AAKA,IAAAiB,aAAA,GAAAjB,OAAA;AAKA,IAAAkB,MAAA,GAAAlB,OAAA;AAtFO,MAAMmB,OAAO,GAAAX,OAAA,CAAAW,OAAA,WAAuB;AASpC,MAAMC,aAAa,GAAGA,CAACC,IAAY,EAAEC,OAAe,KACzDpB,SAAS,CAACkB,aAAa,CAACC,IAAI,EAAEC,OAAO,EAAE,KAAK,CAAC,CAACC,QAAQ;AAACf,OAAA,CAAAY,aAAA,GAAAA,aAAA;AAClD,MAAMI,aAAa,GAAGA,CAACH,IAAY,EAAEC,OAAe,KACzDpB,SAAS,CAACsB,aAAa,CAACH,IAAI,EAAEC,OAAO,EAAE,KAAK,CAAC,CAACC,QAAQ;AAACf,OAAA,CAAAgB,aAAA,GAAAA,aAAA;AAgFlD,MAAMC,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAGnB,MAAM,CAACoB,MAAM,CAAC,CAC9C,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,CACE,CAAC;AAKTlB,OAAO,CAACmB,aAAa,GAAG,MAAMA,aAAa,CAAC;EAC1CC,IAAIA,CAACC,IAAS,EAAE;IACd,OAAO,IAAAC,uBAAe,EAACD,IAAI,CAAC;EAC9B;AACF,CAAC;AAGDrB,OAAO,CAACuB,MAAM,GAAG,SAASA,MAAMA,CAACC,KAAa,EAAE;EAC9C,MAAM,IAAIC,KAAK,CACb,QAAQD,KAAK,kEACf,CAAC;AACH,CAAC;AAAC,MAAAxB,OAAA,CAAA0B,KAAA,GAAA1B,OAAA,CAAA2B,QAAA,GAAA3B,OAAA,CAAA4B,QAAA,GAAA5B,OAAA,CAAA6B,QAAA","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/parse.js b/client/node_modules/@babel/core/lib/parse.js new file mode 100644 index 0000000..5c4db4c --- /dev/null +++ b/client/node_modules/@babel/core/lib/parse.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parse = void 0; +exports.parseAsync = parseAsync; +exports.parseSync = parseSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _index = require("./config/index.js"); +var _index2 = require("./parser/index.js"); +var _normalizeOpts = require("./transformation/normalize-opts.js"); +var _rewriteStackTrace = require("./errors/rewrite-stack-trace.js"); +const parseRunner = _gensync()(function* parse(code, opts) { + const config = yield* (0, _index.default)(opts); + if (config === null) { + return null; + } + return yield* (0, _index2.default)(config.passes, (0, _normalizeOpts.default)(config), code); +}); +const parse = exports.parse = function parse(code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + if (callback === undefined) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.sync)(code, opts); + } + (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.errback)(code, opts, callback); +}; +function parseSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.sync)(...args); +} +function parseAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(parseRunner.async)(...args); +} +0 && 0; + +//# sourceMappingURL=parse.js.map diff --git a/client/node_modules/@babel/core/lib/parse.js.map b/client/node_modules/@babel/core/lib/parse.js.map new file mode 100644 index 0000000..91434fc --- /dev/null +++ b/client/node_modules/@babel/core/lib/parse.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_index","_index2","_normalizeOpts","_rewriteStackTrace","parseRunner","gensync","parse","code","opts","config","loadConfig","parser","passes","normalizeOptions","exports","callback","undefined","beginHiddenCallStack","sync","errback","parseSync","args","parseAsync","async"],"sources":["../src/parse.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig, { type InputOptions } from \"./config/index.ts\";\nimport parser, { type ParseResult } from \"./parser/index.ts\";\nimport normalizeOptions from \"./transformation/normalize-opts.ts\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\ntype FileParseCallback = {\n (err: Error, ast: null): void;\n (err: null, ast: ParseResult | null): void;\n};\n\ntype Parse = {\n (code: string, callback: FileParseCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileParseCallback,\n ): void;\n (code: string, opts?: InputOptions | null): ParseResult | null;\n};\n\nconst parseRunner = gensync(function* parse(\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config = yield* loadConfig(opts);\n\n if (config === null) {\n return null;\n }\n\n return yield* parser(config.passes, normalizeOptions(config), code);\n});\n\nexport const parse: Parse = function parse(\n code,\n opts?,\n callback?: FileParseCallback,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n opts = undefined as InputOptions;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'parse' function expects a callback. If you need to call it synchronously, please use 'parseSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'parse' function will expect a callback. If you need to call it synchronously, please use 'parseSync'.\",\n // );\n return beginHiddenCallStack(parseRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(parseRunner.errback)(code, opts, callback);\n};\n\nexport function parseSync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.sync)(...args);\n}\nexport function parseAsync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,kBAAA,GAAAJ,OAAA;AAiBA,MAAMK,WAAW,GAAGC,SAAMA,CAAC,CAAC,UAAUC,KAAKA,CACzCC,IAAY,EACZC,IAAqC,EACR;EAC7B,MAAMC,MAAM,GAAG,OAAO,IAAAC,cAAU,EAACF,IAAI,CAAC;EAEtC,IAAIC,MAAM,KAAK,IAAI,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,OAAO,OAAO,IAAAE,eAAM,EAACF,MAAM,CAACG,MAAM,EAAE,IAAAC,sBAAgB,EAACJ,MAAM,CAAC,EAAEF,IAAI,CAAC;AACrE,CAAC,CAAC;AAEK,MAAMD,KAAY,GAAAQ,OAAA,CAAAR,KAAA,GAAG,SAASA,KAAKA,CACxCC,IAAI,EACJC,IAAK,EACLO,QAA4B,EAC5B;EACA,IAAI,OAAOP,IAAI,KAAK,UAAU,EAAE;IAC9BO,QAAQ,GAAGP,IAAI;IACfA,IAAI,GAAGQ,SAAyB;EAClC;EAEA,IAAID,QAAQ,KAAKC,SAAS,EAAE;IASxB,OAAO,IAAAC,uCAAoB,EAACb,WAAW,CAACc,IAAI,CAAC,CAACX,IAAI,EAAEC,IAAI,CAAC;EAE7D;EAEA,IAAAS,uCAAoB,EAACb,WAAW,CAACe,OAAO,CAAC,CAACZ,IAAI,EAAEC,IAAI,EAAEO,QAAQ,CAAC;AACjE,CAAC;AAEM,SAASK,SAASA,CAAC,GAAGC,IAAyC,EAAE;EACtE,OAAO,IAAAJ,uCAAoB,EAACb,WAAW,CAACc,IAAI,CAAC,CAAC,GAAGG,IAAI,CAAC;AACxD;AACO,SAASC,UAAUA,CAAC,GAAGD,IAA0C,EAAE;EACxE,OAAO,IAAAJ,uCAAoB,EAACb,WAAW,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACzD;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/parser/index.js b/client/node_modules/@babel/core/lib/parser/index.js new file mode 100644 index 0000000..690b343 --- /dev/null +++ b/client/node_modules/@babel/core/lib/parser/index.js @@ -0,0 +1,85 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = parser; +function _parser() { + const data = require("@babel/parser"); + _parser = function () { + return data; + }; + return data; +} +function _codeFrame() { + const data = require("@babel/code-frame"); + _codeFrame = function () { + return data; + }; + return data; +} +var _missingPluginHelper = require("./util/missing-plugin-helper.js"); +function* parser(pluginPasses, { + parserOpts, + highlightCode = true, + filename = "unknown" +}, code) { + try { + const results = []; + for (const plugins of pluginPasses) { + for (const plugin of plugins) { + const { + parserOverride + } = plugin; + if (parserOverride) { + const ast = parserOverride(code, parserOpts, _parser().parse); + if (ast !== undefined) results.push(ast); + } + } + } + if (results.length === 0) { + return (0, _parser().parse)(code, parserOpts); + } else if (results.length === 1) { + yield* []; + if (typeof results[0].then === "function") { + throw new Error(`You appear to be using an async parser plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`); + } + return results[0]; + } + throw new Error("More than one plugin attempted to override parsing."); + } catch (err) { + if (err.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") { + err.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file."; + } + const startLine = parserOpts == null ? void 0 : parserOpts.startLine; + const startColumn = parserOpts == null ? void 0 : parserOpts.startColumn; + if (startColumn != null) { + code = " ".repeat(startColumn) + code; + } + const { + loc, + missingPlugin + } = err; + if (loc) { + const codeFrame = (0, _codeFrame().codeFrameColumns)(code, { + start: { + line: loc.line, + column: loc.column + 1 + } + }, { + highlightCode, + startLine + }); + if (missingPlugin) { + err.message = `${filename}: ` + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame, filename); + } else { + err.message = `${filename}: ${err.message}\n\n` + codeFrame; + } + err.code = "BABEL_PARSE_ERROR"; + } + throw err; + } +} +0 && 0; + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/core/lib/parser/index.js.map b/client/node_modules/@babel/core/lib/parser/index.js.map new file mode 100644 index 0000000..d173041 --- /dev/null +++ b/client/node_modules/@babel/core/lib/parser/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_parser","data","require","_codeFrame","_missingPluginHelper","parser","pluginPasses","parserOpts","highlightCode","filename","code","results","plugins","plugin","parserOverride","ast","parse","undefined","push","length","then","Error","err","message","startLine","startColumn","repeat","loc","missingPlugin","codeFrame","codeFrameColumns","start","line","column","generateMissingPluginMessage"],"sources":["../../src/parser/index.ts"],"sourcesContent":["import type { Handler } from \"gensync\";\nimport { parse, type ParseResult } from \"@babel/parser\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport generateMissingPluginMessage from \"./util/missing-plugin-helper.ts\";\nimport type { PluginPasses } from \"../config/index.ts\";\nimport type { ResolvedOptions } from \"../config/validation/options.ts\";\n\nexport type { ParseResult };\n\nexport default function* parser(\n pluginPasses: PluginPasses,\n { parserOpts, highlightCode = true, filename = \"unknown\" }: ResolvedOptions,\n code: string,\n): Handler {\n try {\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { parserOverride } = plugin;\n if (parserOverride) {\n const ast = parserOverride(code, parserOpts, parse);\n\n if (ast !== undefined) results.push(ast);\n }\n }\n }\n\n if (results.length === 0) {\n return parse(code, parserOpts);\n } else if (results.length === 1) {\n // If we want to allow async parsers\n yield* [];\n if (typeof (results[0] as any).then === \"function\") {\n throw new Error(\n `You appear to be using an async parser plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n return results[0];\n }\n // TODO: Add an error code\n throw new Error(\"More than one plugin attempted to override parsing.\");\n } catch (err) {\n if (err.code === \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\") {\n err.message +=\n \"\\nConsider renaming the file to '.mjs', or setting sourceType:module \" +\n \"or sourceType:unambiguous in your Babel config for this file.\";\n // err.code will be changed to BABEL_PARSE_ERROR later.\n }\n\n const startLine = parserOpts?.startLine;\n const startColumn = parserOpts?.startColumn;\n\n if (startColumn != null) {\n code = \" \".repeat(startColumn) + code;\n }\n\n const { loc, missingPlugin } = err;\n if (loc) {\n const codeFrame = codeFrameColumns(\n code,\n {\n start: {\n line: loc.line,\n column: loc.column + 1,\n },\n },\n {\n highlightCode,\n startLine,\n },\n );\n if (missingPlugin) {\n err.message =\n `${filename}: ` +\n generateMissingPluginMessage(\n missingPlugin[0],\n loc,\n codeFrame,\n filename,\n );\n } else {\n err.message = `${filename}: ${err.message}\\n\\n` + codeFrame;\n }\n err.code = \"BABEL_PARSE_ERROR\";\n }\n throw err;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAG,oBAAA,GAAAF,OAAA;AAMe,UAAUG,MAAMA,CAC7BC,YAA0B,EAC1B;EAAEC,UAAU;EAAEC,aAAa,GAAG,IAAI;EAAEC,QAAQ,GAAG;AAA2B,CAAC,EAC3EC,IAAY,EACU;EACtB,IAAI;IACF,MAAMC,OAAO,GAAG,EAAE;IAClB,KAAK,MAAMC,OAAO,IAAIN,YAAY,EAAE;MAClC,KAAK,MAAMO,MAAM,IAAID,OAAO,EAAE;QAC5B,MAAM;UAAEE;QAAe,CAAC,GAAGD,MAAM;QACjC,IAAIC,cAAc,EAAE;UAClB,MAAMC,GAAG,GAAGD,cAAc,CAACJ,IAAI,EAAEH,UAAU,EAAES,eAAK,CAAC;UAEnD,IAAID,GAAG,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,GAAG,CAAC;QAC1C;MACF;IACF;IAEA,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO,IAAAH,eAAK,EAACN,IAAI,EAAEH,UAAU,CAAC;IAChC,CAAC,MAAM,IAAII,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;MAE/B,OAAO,EAAE;MACT,IAAI,OAAQR,OAAO,CAAC,CAAC,CAAC,CAASS,IAAI,KAAK,UAAU,EAAE;QAClD,MAAM,IAAIC,KAAK,CACb,iDAAiD,GAC/C,wDAAwD,GACxD,8DAA8D,GAC9D,2BACJ,CAAC;MACH;MACA,OAAOV,OAAO,CAAC,CAAC,CAAC;IACnB;IAEA,MAAM,IAAIU,KAAK,CAAC,qDAAqD,CAAC;EACxE,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,IAAIA,GAAG,CAACZ,IAAI,KAAK,yCAAyC,EAAE;MAC1DY,GAAG,CAACC,OAAO,IACT,uEAAuE,GACvE,+DAA+D;IAEnE;IAEA,MAAMC,SAAS,GAAGjB,UAAU,oBAAVA,UAAU,CAAEiB,SAAS;IACvC,MAAMC,WAAW,GAAGlB,UAAU,oBAAVA,UAAU,CAAEkB,WAAW;IAE3C,IAAIA,WAAW,IAAI,IAAI,EAAE;MACvBf,IAAI,GAAG,GAAG,CAACgB,MAAM,CAACD,WAAW,CAAC,GAAGf,IAAI;IACvC;IAEA,MAAM;MAAEiB,GAAG;MAAEC;IAAc,CAAC,GAAGN,GAAG;IAClC,IAAIK,GAAG,EAAE;MACP,MAAME,SAAS,GAAG,IAAAC,6BAAgB,EAChCpB,IAAI,EACJ;QACEqB,KAAK,EAAE;UACLC,IAAI,EAAEL,GAAG,CAACK,IAAI;UACdC,MAAM,EAAEN,GAAG,CAACM,MAAM,GAAG;QACvB;MACF,CAAC,EACD;QACEzB,aAAa;QACbgB;MACF,CACF,CAAC;MACD,IAAII,aAAa,EAAE;QACjBN,GAAG,CAACC,OAAO,GACT,GAAGd,QAAQ,IAAI,GACf,IAAAyB,4BAA4B,EAC1BN,aAAa,CAAC,CAAC,CAAC,EAChBD,GAAG,EACHE,SAAS,EACTpB,QACF,CAAC;MACL,CAAC,MAAM;QACLa,GAAG,CAACC,OAAO,GAAG,GAAGd,QAAQ,KAAKa,GAAG,CAACC,OAAO,MAAM,GAAGM,SAAS;MAC7D;MACAP,GAAG,CAACZ,IAAI,GAAG,mBAAmB;IAChC;IACA,MAAMY,GAAG;EACX;AACF;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js b/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js new file mode 100644 index 0000000..0eb294c --- /dev/null +++ b/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js @@ -0,0 +1,337 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateMissingPluginMessage; +const pluginNameMap = { + asyncDoExpressions: { + syntax: { + name: "@babel/plugin-syntax-async-do-expressions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions" + } + }, + decimal: { + syntax: { + name: "@babel/plugin-syntax-decimal", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal" + } + }, + decorators: { + syntax: { + name: "@babel/plugin-syntax-decorators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators" + }, + transform: { + name: "@babel/plugin-proposal-decorators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators" + } + }, + doExpressions: { + syntax: { + name: "@babel/plugin-syntax-do-expressions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions" + }, + transform: { + name: "@babel/plugin-proposal-do-expressions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions" + } + }, + exportDefaultFrom: { + syntax: { + name: "@babel/plugin-syntax-export-default-from", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from" + }, + transform: { + name: "@babel/plugin-proposal-export-default-from", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from" + } + }, + flow: { + syntax: { + name: "@babel/plugin-syntax-flow", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow" + }, + transform: { + name: "@babel/preset-flow", + url: "https://github.com/babel/babel/tree/main/packages/babel-preset-flow" + } + }, + functionBind: { + syntax: { + name: "@babel/plugin-syntax-function-bind", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind" + }, + transform: { + name: "@babel/plugin-proposal-function-bind", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind" + } + }, + functionSent: { + syntax: { + name: "@babel/plugin-syntax-function-sent", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent" + }, + transform: { + name: "@babel/plugin-proposal-function-sent", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent" + } + }, + jsx: { + syntax: { + name: "@babel/plugin-syntax-jsx", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx" + }, + transform: { + name: "@babel/preset-react", + url: "https://github.com/babel/babel/tree/main/packages/babel-preset-react" + } + }, + pipelineOperator: { + syntax: { + name: "@babel/plugin-syntax-pipeline-operator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator" + }, + transform: { + name: "@babel/plugin-proposal-pipeline-operator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator" + } + }, + recordAndTuple: { + syntax: { + name: "@babel/plugin-syntax-record-and-tuple", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple" + } + }, + throwExpressions: { + syntax: { + name: "@babel/plugin-syntax-throw-expressions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions" + }, + transform: { + name: "@babel/plugin-proposal-throw-expressions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions" + } + }, + typescript: { + syntax: { + name: "@babel/plugin-syntax-typescript", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript" + }, + transform: { + name: "@babel/preset-typescript", + url: "https://github.com/babel/babel/tree/main/packages/babel-preset-typescript" + } + } +}; +Object.assign(pluginNameMap, { + asyncGenerators: { + syntax: { + name: "@babel/plugin-syntax-async-generators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators" + }, + transform: { + name: "@babel/plugin-transform-async-generator-functions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions" + } + }, + classProperties: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" + }, + transform: { + name: "@babel/plugin-transform-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties" + } + }, + classPrivateProperties: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" + }, + transform: { + name: "@babel/plugin-transform-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties" + } + }, + classPrivateMethods: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties" + }, + transform: { + name: "@babel/plugin-transform-private-methods", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods" + } + }, + classStaticBlock: { + syntax: { + name: "@babel/plugin-syntax-class-static-block", + url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block" + }, + transform: { + name: "@babel/plugin-transform-class-static-block", + url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block" + } + }, + dynamicImport: { + syntax: { + name: "@babel/plugin-syntax-dynamic-import", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import" + } + }, + exportNamespaceFrom: { + syntax: { + name: "@babel/plugin-syntax-export-namespace-from", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from" + }, + transform: { + name: "@babel/plugin-transform-export-namespace-from", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from" + } + }, + importAssertions: { + syntax: { + name: "@babel/plugin-syntax-import-assertions", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions" + } + }, + importAttributes: { + syntax: { + name: "@babel/plugin-syntax-import-attributes", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes" + } + }, + importMeta: { + syntax: { + name: "@babel/plugin-syntax-import-meta", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta" + } + }, + logicalAssignment: { + syntax: { + name: "@babel/plugin-syntax-logical-assignment-operators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators" + }, + transform: { + name: "@babel/plugin-transform-logical-assignment-operators", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators" + } + }, + moduleStringNames: { + syntax: { + name: "@babel/plugin-syntax-module-string-names", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names" + } + }, + numericSeparator: { + syntax: { + name: "@babel/plugin-syntax-numeric-separator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator" + }, + transform: { + name: "@babel/plugin-transform-numeric-separator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator" + } + }, + nullishCoalescingOperator: { + syntax: { + name: "@babel/plugin-syntax-nullish-coalescing-operator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator" + }, + transform: { + name: "@babel/plugin-transform-nullish-coalescing-operator", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator" + } + }, + objectRestSpread: { + syntax: { + name: "@babel/plugin-syntax-object-rest-spread", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread" + }, + transform: { + name: "@babel/plugin-transform-object-rest-spread", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread" + } + }, + optionalCatchBinding: { + syntax: { + name: "@babel/plugin-syntax-optional-catch-binding", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding" + }, + transform: { + name: "@babel/plugin-transform-optional-catch-binding", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding" + } + }, + optionalChaining: { + syntax: { + name: "@babel/plugin-syntax-optional-chaining", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining" + }, + transform: { + name: "@babel/plugin-transform-optional-chaining", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining" + } + }, + privateIn: { + syntax: { + name: "@babel/plugin-syntax-private-property-in-object", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object" + }, + transform: { + name: "@babel/plugin-transform-private-property-in-object", + url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object" + } + }, + regexpUnicodeSets: { + syntax: { + name: "@babel/plugin-syntax-unicode-sets-regex", + url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md" + }, + transform: { + name: "@babel/plugin-transform-unicode-sets-regex", + url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md" + } + } +}); +const getNameURLCombination = ({ + name, + url +}) => `${name} (${url})`; +function generateMissingPluginMessage(missingPluginName, loc, codeFrame, filename) { + let helpMessage = `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` + `(${loc.line}:${loc.column + 1}):\n\n` + codeFrame; + const pluginInfo = pluginNameMap[missingPluginName]; + if (pluginInfo) { + const { + syntax: syntaxPlugin, + transform: transformPlugin + } = pluginInfo; + if (syntaxPlugin) { + const syntaxPluginInfo = getNameURLCombination(syntaxPlugin); + if (transformPlugin) { + const transformPluginInfo = getNameURLCombination(transformPlugin); + const sectionType = transformPlugin.name.startsWith("@babel/plugin") ? "plugins" : "presets"; + helpMessage += `\n\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation. +If you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`; + } else { + helpMessage += `\n\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` + `to enable parsing.`; + } + } + } + const msgFilename = filename === "unknown" ? "" : filename; + helpMessage += ` + +If you already added the plugin for this syntax to your config, it's possible that your config \ +isn't being loaded. +You can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded \ +configuration: +\tnpx cross-env BABEL_SHOW_CONFIG_FOR=${msgFilename} +See https://babeljs.io/docs/configuration#print-effective-configs for more info. +`; + return helpMessage; +} +0 && 0; + +//# sourceMappingURL=missing-plugin-helper.js.map diff --git a/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map b/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map new file mode 100644 index 0000000..b032bff --- /dev/null +++ b/client/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map @@ -0,0 +1 @@ +{"version":3,"names":["pluginNameMap","asyncDoExpressions","syntax","name","url","decimal","decorators","transform","doExpressions","exportDefaultFrom","flow","functionBind","functionSent","jsx","pipelineOperator","recordAndTuple","throwExpressions","typescript","Object","assign","asyncGenerators","classProperties","classPrivateProperties","classPrivateMethods","classStaticBlock","dynamicImport","exportNamespaceFrom","importAssertions","importAttributes","importMeta","logicalAssignment","moduleStringNames","numericSeparator","nullishCoalescingOperator","objectRestSpread","optionalCatchBinding","optionalChaining","privateIn","regexpUnicodeSets","getNameURLCombination","generateMissingPluginMessage","missingPluginName","loc","codeFrame","filename","helpMessage","line","column","pluginInfo","syntaxPlugin","transformPlugin","syntaxPluginInfo","transformPluginInfo","sectionType","startsWith","msgFilename"],"sources":["../../../src/parser/util/missing-plugin-helper.ts"],"sourcesContent":["const pluginNameMap: Record<\n string,\n Partial>>\n> = {\n asyncDoExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-async-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions\",\n },\n },\n decimal: {\n syntax: {\n name: \"@babel/plugin-syntax-decimal\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal\",\n },\n },\n decorators: {\n syntax: {\n name: \"@babel/plugin-syntax-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators\",\n },\n },\n doExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions\",\n },\n },\n exportDefaultFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from\",\n },\n transform: {\n name: \"@babel/plugin-proposal-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from\",\n },\n },\n flow: {\n syntax: {\n name: \"@babel/plugin-syntax-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow\",\n },\n transform: {\n name: \"@babel/preset-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-flow\",\n },\n },\n functionBind: {\n syntax: {\n name: \"@babel/plugin-syntax-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind\",\n },\n },\n functionSent: {\n syntax: {\n name: \"@babel/plugin-syntax-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent\",\n },\n },\n jsx: {\n syntax: {\n name: \"@babel/plugin-syntax-jsx\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx\",\n },\n transform: {\n name: \"@babel/preset-react\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-react\",\n },\n },\n pipelineOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator\",\n },\n },\n recordAndTuple: {\n syntax: {\n name: \"@babel/plugin-syntax-record-and-tuple\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple\",\n },\n },\n throwExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions\",\n },\n },\n typescript: {\n syntax: {\n name: \"@babel/plugin-syntax-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript\",\n },\n transform: {\n name: \"@babel/preset-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript\",\n },\n },\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n // TODO: This plugins are now supported by default by @babel/parser.\n Object.assign(pluginNameMap, {\n asyncGenerators: {\n syntax: {\n name: \"@babel/plugin-syntax-async-generators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators\",\n },\n transform: {\n name: \"@babel/plugin-transform-async-generator-functions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions\",\n },\n },\n classProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateMethods: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-methods\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods\",\n },\n },\n classStaticBlock: {\n syntax: {\n name: \"@babel/plugin-syntax-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block\",\n },\n },\n dynamicImport: {\n syntax: {\n name: \"@babel/plugin-syntax-dynamic-import\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import\",\n },\n },\n exportNamespaceFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from\",\n },\n transform: {\n name: \"@babel/plugin-transform-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from\",\n },\n },\n // Will be removed\n importAssertions: {\n syntax: {\n name: \"@babel/plugin-syntax-import-assertions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions\",\n },\n },\n importAttributes: {\n syntax: {\n name: \"@babel/plugin-syntax-import-attributes\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes\",\n },\n },\n importMeta: {\n syntax: {\n name: \"@babel/plugin-syntax-import-meta\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta\",\n },\n },\n logicalAssignment: {\n syntax: {\n name: \"@babel/plugin-syntax-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators\",\n },\n transform: {\n name: \"@babel/plugin-transform-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators\",\n },\n },\n moduleStringNames: {\n syntax: {\n name: \"@babel/plugin-syntax-module-string-names\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names\",\n },\n },\n numericSeparator: {\n syntax: {\n name: \"@babel/plugin-syntax-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator\",\n },\n transform: {\n name: \"@babel/plugin-transform-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator\",\n },\n },\n nullishCoalescingOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator\",\n },\n transform: {\n name: \"@babel/plugin-transform-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator\",\n },\n },\n objectRestSpread: {\n syntax: {\n name: \"@babel/plugin-syntax-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread\",\n },\n transform: {\n name: \"@babel/plugin-transform-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread\",\n },\n },\n optionalCatchBinding: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding\",\n },\n },\n optionalChaining: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining\",\n },\n },\n privateIn: {\n syntax: {\n name: \"@babel/plugin-syntax-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object\",\n },\n },\n regexpUnicodeSets: {\n syntax: {\n name: \"@babel/plugin-syntax-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md\",\n },\n transform: {\n name: \"@babel/plugin-transform-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md\",\n },\n },\n });\n}\n\nconst getNameURLCombination = ({ name, url }: { name: string; url: string }) =>\n `${name} (${url})`;\n\n/*\nReturns a string of the format:\nSupport for the experimental syntax [@babel/parser plugin name] isn't currently enabled ([loc]):\n\n[code frame]\n\nAdd [npm package name] ([url]) to the 'plugins' section of your Babel config\nto enable [parsing|transformation].\n*/\nexport default function generateMissingPluginMessage(\n missingPluginName: string,\n loc: {\n line: number;\n column: number;\n },\n codeFrame: string,\n filename: string,\n): string {\n let helpMessage =\n `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` +\n `(${loc.line}:${loc.column + 1}):\\n\\n` +\n codeFrame;\n const pluginInfo = pluginNameMap[missingPluginName];\n if (pluginInfo) {\n const { syntax: syntaxPlugin, transform: transformPlugin } = pluginInfo;\n if (syntaxPlugin) {\n const syntaxPluginInfo = getNameURLCombination(syntaxPlugin);\n if (transformPlugin) {\n const transformPluginInfo = getNameURLCombination(transformPlugin);\n const sectionType = transformPlugin.name.startsWith(\"@babel/plugin\")\n ? \"plugins\"\n : \"presets\";\n helpMessage += `\\n\\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`;\n } else {\n helpMessage +=\n `\\n\\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` +\n `to enable parsing.`;\n }\n }\n }\n\n const msgFilename =\n filename === \"unknown\" ? \"\" : filename;\n helpMessage += `\n\nIf you already added the plugin for this syntax to your config, it's possible that your config \\\nisn't being loaded.\nYou can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded \\\nconfiguration:\n\\tnpx cross-env BABEL_SHOW_CONFIG_FOR=${msgFilename} \nSee https://babeljs.io/docs/configuration#print-effective-configs for more info.\n`;\n return helpMessage;\n}\n"],"mappings":";;;;;;AAAA,MAAMA,aAGL,GAAG;EACFC,kBAAkB,EAAE;IAClBC,MAAM,EAAE;MACNC,IAAI,EAAE,2CAA2C;MACjDC,GAAG,EAAE;IACP;EACF,CAAC;EACDC,OAAO,EAAE;IACPH,MAAM,EAAE;MACNC,IAAI,EAAE,8BAA8B;MACpCC,GAAG,EAAE;IACP;EACF,CAAC;EACDE,UAAU,EAAE;IACVJ,MAAM,EAAE;MACNC,IAAI,EAAE,iCAAiC;MACvCC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,mCAAmC;MACzCC,GAAG,EAAE;IACP;EACF,CAAC;EACDI,aAAa,EAAE;IACbN,MAAM,EAAE;MACNC,IAAI,EAAE,qCAAqC;MAC3CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP;EACF,CAAC;EACDK,iBAAiB,EAAE;IACjBP,MAAM,EAAE;MACNC,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,4CAA4C;MAClDC,GAAG,EAAE;IACP;EACF,CAAC;EACDM,IAAI,EAAE;IACJR,MAAM,EAAE;MACNC,IAAI,EAAE,2BAA2B;MACjCC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,oBAAoB;MAC1BC,GAAG,EAAE;IACP;EACF,CAAC;EACDO,YAAY,EAAE;IACZT,MAAM,EAAE;MACNC,IAAI,EAAE,oCAAoC;MAC1CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,sCAAsC;MAC5CC,GAAG,EAAE;IACP;EACF,CAAC;EACDQ,YAAY,EAAE;IACZV,MAAM,EAAE;MACNC,IAAI,EAAE,oCAAoC;MAC1CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,sCAAsC;MAC5CC,GAAG,EAAE;IACP;EACF,CAAC;EACDS,GAAG,EAAE;IACHX,MAAM,EAAE;MACNC,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,qBAAqB;MAC3BC,GAAG,EAAE;IACP;EACF,CAAC;EACDU,gBAAgB,EAAE;IAChBZ,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP;EACF,CAAC;EACDW,cAAc,EAAE;IACdb,MAAM,EAAE;MACNC,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP;EACF,CAAC;EACDY,gBAAgB,EAAE;IAChBd,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP;EACF,CAAC;EACDa,UAAU,EAAE;IACVf,MAAM,EAAE;MACNC,IAAI,EAAE,iCAAiC;MACvCC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,0BAA0B;MAChCC,GAAG,EAAE;IACP;EACF;AACF,CAAC;AAICc,MAAM,CAACC,MAAM,CAACnB,aAAa,EAAE;EAC3BoB,eAAe,EAAE;IACflB,MAAM,EAAE;MACNC,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,mDAAmD;MACzDC,GAAG,EAAE;IACP;EACF,CAAC;EACDiB,eAAe,EAAE;IACfnB,MAAM,EAAE;MACNC,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP;EACF,CAAC;EACDkB,sBAAsB,EAAE;IACtBpB,MAAM,EAAE;MACNC,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP;EACF,CAAC;EACDmB,mBAAmB,EAAE;IACnBrB,MAAM,EAAE;MACNC,IAAI,EAAE,uCAAuC;MAC7CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,yCAAyC;MAC/CC,GAAG,EAAE;IACP;EACF,CAAC;EACDoB,gBAAgB,EAAE;IAChBtB,MAAM,EAAE;MACNC,IAAI,EAAE,yCAAyC;MAC/CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,4CAA4C;MAClDC,GAAG,EAAE;IACP;EACF,CAAC;EACDqB,aAAa,EAAE;IACbvB,MAAM,EAAE;MACNC,IAAI,EAAE,qCAAqC;MAC3CC,GAAG,EAAE;IACP;EACF,CAAC;EACDsB,mBAAmB,EAAE;IACnBxB,MAAM,EAAE;MACNC,IAAI,EAAE,4CAA4C;MAClDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,+CAA+C;MACrDC,GAAG,EAAE;IACP;EACF,CAAC;EAEDuB,gBAAgB,EAAE;IAChBzB,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP;EACF,CAAC;EACDwB,gBAAgB,EAAE;IAChB1B,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP;EACF,CAAC;EACDyB,UAAU,EAAE;IACV3B,MAAM,EAAE;MACNC,IAAI,EAAE,kCAAkC;MACxCC,GAAG,EAAE;IACP;EACF,CAAC;EACD0B,iBAAiB,EAAE;IACjB5B,MAAM,EAAE;MACNC,IAAI,EAAE,mDAAmD;MACzDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,sDAAsD;MAC5DC,GAAG,EAAE;IACP;EACF,CAAC;EACD2B,iBAAiB,EAAE;IACjB7B,MAAM,EAAE;MACNC,IAAI,EAAE,0CAA0C;MAChDC,GAAG,EAAE;IACP;EACF,CAAC;EACD4B,gBAAgB,EAAE;IAChB9B,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,2CAA2C;MACjDC,GAAG,EAAE;IACP;EACF,CAAC;EACD6B,yBAAyB,EAAE;IACzB/B,MAAM,EAAE;MACNC,IAAI,EAAE,kDAAkD;MACxDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,qDAAqD;MAC3DC,GAAG,EAAE;IACP;EACF,CAAC;EACD8B,gBAAgB,EAAE;IAChBhC,MAAM,EAAE;MACNC,IAAI,EAAE,yCAAyC;MAC/CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,4CAA4C;MAClDC,GAAG,EAAE;IACP;EACF,CAAC;EACD+B,oBAAoB,EAAE;IACpBjC,MAAM,EAAE;MACNC,IAAI,EAAE,6CAA6C;MACnDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,gDAAgD;MACtDC,GAAG,EAAE;IACP;EACF,CAAC;EACDgC,gBAAgB,EAAE;IAChBlC,MAAM,EAAE;MACNC,IAAI,EAAE,wCAAwC;MAC9CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,2CAA2C;MACjDC,GAAG,EAAE;IACP;EACF,CAAC;EACDiC,SAAS,EAAE;IACTnC,MAAM,EAAE;MACNC,IAAI,EAAE,iDAAiD;MACvDC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,oDAAoD;MAC1DC,GAAG,EAAE;IACP;EACF,CAAC;EACDkC,iBAAiB,EAAE;IACjBpC,MAAM,EAAE;MACNC,IAAI,EAAE,yCAAyC;MAC/CC,GAAG,EAAE;IACP,CAAC;IACDG,SAAS,EAAE;MACTJ,IAAI,EAAE,4CAA4C;MAClDC,GAAG,EAAE;IACP;EACF;AACF,CAAC,CAAC;AAGJ,MAAMmC,qBAAqB,GAAGA,CAAC;EAAEpC,IAAI;EAAEC;AAAmC,CAAC,KACzE,GAAGD,IAAI,KAAKC,GAAG,GAAG;AAWL,SAASoC,4BAA4BA,CAClDC,iBAAyB,EACzBC,GAGC,EACDC,SAAiB,EACjBC,QAAgB,EACR;EACR,IAAIC,WAAW,GACb,wCAAwCJ,iBAAiB,4BAA4B,GACrF,IAAIC,GAAG,CAACI,IAAI,IAAIJ,GAAG,CAACK,MAAM,GAAG,CAAC,QAAQ,GACtCJ,SAAS;EACX,MAAMK,UAAU,GAAGhD,aAAa,CAACyC,iBAAiB,CAAC;EACnD,IAAIO,UAAU,EAAE;IACd,MAAM;MAAE9C,MAAM,EAAE+C,YAAY;MAAE1C,SAAS,EAAE2C;IAAgB,CAAC,GAAGF,UAAU;IACvE,IAAIC,YAAY,EAAE;MAChB,MAAME,gBAAgB,GAAGZ,qBAAqB,CAACU,YAAY,CAAC;MAC5D,IAAIC,eAAe,EAAE;QACnB,MAAME,mBAAmB,GAAGb,qBAAqB,CAACW,eAAe,CAAC;QAClE,MAAMG,WAAW,GAAGH,eAAe,CAAC/C,IAAI,CAACmD,UAAU,CAAC,eAAe,CAAC,GAChE,SAAS,GACT,SAAS;QACbT,WAAW,IAAI,WAAWO,mBAAmB,YAAYC,WAAW;AAC5E,qCAAqCF,gBAAgB,8CAA8C;MAC7F,CAAC,MAAM;QACLN,WAAW,IACT,WAAWM,gBAAgB,iDAAiD,GAC5E,oBAAoB;MACxB;IACF;EACF;EAEA,MAAMI,WAAW,GACfX,QAAQ,KAAK,SAAS,GAAG,0BAA0B,GAAGA,QAAQ;EAChEC,WAAW,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,wCAAwCU,WAAW;AACnD;AACA,CAAC;EACC,OAAOV,WAAW;AACpB;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/tools/build-external-helpers.js b/client/node_modules/@babel/core/lib/tools/build-external-helpers.js new file mode 100644 index 0000000..88c90dc --- /dev/null +++ b/client/node_modules/@babel/core/lib/tools/build-external-helpers.js @@ -0,0 +1,144 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +function helpers() { + const data = require("@babel/helpers"); + helpers = function () { + return data; + }; + return data; +} +function _generator() { + const data = require("@babel/generator"); + _generator = function () { + return data; + }; + return data; +} +function _template() { + const data = require("@babel/template"); + _template = function () { + return data; + }; + return data; +} +function _t() { + const data = require("@babel/types"); + _t = function () { + return data; + }; + return data; +} +const { + arrayExpression, + assignmentExpression, + binaryExpression, + blockStatement, + callExpression, + cloneNode, + conditionalExpression, + exportNamedDeclaration, + exportSpecifier, + expressionStatement, + functionExpression, + identifier, + memberExpression, + objectExpression, + program, + stringLiteral, + unaryExpression, + variableDeclaration, + variableDeclarator +} = _t(); +const buildUmdWrapper = replacements => _template().default.statement` + (function (root, factory) { + if (typeof define === "function" && define.amd) { + define(AMD_ARGUMENTS, factory); + } else if (typeof exports === "object") { + factory(COMMON_ARGUMENTS); + } else { + factory(BROWSER_ARGUMENTS); + } + })(UMD_ROOT, function (FACTORY_PARAMETERS) { + FACTORY_BODY + }); + `(replacements); +function buildGlobal(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + const container = functionExpression(null, [identifier("global")], blockStatement(body)); + const tree = program([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression("===", unaryExpression("typeof", identifier("global")), stringLiteral("undefined")), identifier("self"), identifier("global"))]))]); + body.push(variableDeclaration("var", [variableDeclarator(namespace, assignmentExpression("=", memberExpression(identifier("global"), namespace), objectExpression([])))])); + buildHelpers(body, namespace, allowlist); + return tree; +} +function buildModule(allowlist) { + const body = []; + const refs = buildHelpers(body, null, allowlist); + body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(name => { + return exportSpecifier(cloneNode(refs[name]), identifier(name)); + }))); + return program(body, [], "module"); +} +function buildUmd(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + body.push(variableDeclaration("var", [variableDeclarator(namespace, identifier("global"))])); + buildHelpers(body, namespace, allowlist); + return program([buildUmdWrapper({ + FACTORY_PARAMETERS: identifier("global"), + BROWSER_ARGUMENTS: assignmentExpression("=", memberExpression(identifier("root"), namespace), objectExpression([])), + COMMON_ARGUMENTS: identifier("exports"), + AMD_ARGUMENTS: arrayExpression([stringLiteral("exports")]), + FACTORY_BODY: body, + UMD_ROOT: identifier("this") + })]); +} +function buildVar(allowlist) { + const namespace = identifier("babelHelpers"); + const body = []; + body.push(variableDeclaration("var", [variableDeclarator(namespace, objectExpression([]))])); + const tree = program(body); + buildHelpers(body, namespace, allowlist); + body.push(expressionStatement(namespace)); + return tree; +} +function buildHelpers(body, namespace, allowlist) { + const getHelperReference = name => { + return namespace ? memberExpression(namespace, identifier(name)) : identifier(`_${name}`); + }; + const refs = {}; + helpers().list.forEach(function (name) { + if (allowlist && !allowlist.includes(name)) return; + const ref = refs[name] = getHelperReference(name); + const { + nodes + } = helpers().get(name, getHelperReference, namespace ? null : `_${name}`, [], namespace ? (ast, exportName, mapExportBindingAssignments) => { + mapExportBindingAssignments(node => assignmentExpression("=", ref, node)); + ast.body.push(expressionStatement(assignmentExpression("=", ref, identifier(exportName)))); + } : null); + body.push(...nodes); + }); + return refs; +} +function _default(allowlist, outputType = "global") { + let tree; + const build = { + global: buildGlobal, + module: buildModule, + umd: buildUmd, + var: buildVar + }[outputType]; + if (build) { + tree = build(allowlist); + } else { + throw new Error(`Unsupported output type ${outputType}`); + } + return (0, _generator().default)(tree).code; +} +0 && 0; + +//# sourceMappingURL=build-external-helpers.js.map diff --git a/client/node_modules/@babel/core/lib/tools/build-external-helpers.js.map b/client/node_modules/@babel/core/lib/tools/build-external-helpers.js.map new file mode 100644 index 0000000..f856480 --- /dev/null +++ b/client/node_modules/@babel/core/lib/tools/build-external-helpers.js.map @@ -0,0 +1 @@ +{"version":3,"names":["helpers","data","require","_generator","_template","_t","arrayExpression","assignmentExpression","binaryExpression","blockStatement","callExpression","cloneNode","conditionalExpression","exportNamedDeclaration","exportSpecifier","expressionStatement","functionExpression","identifier","memberExpression","objectExpression","program","stringLiteral","unaryExpression","variableDeclaration","variableDeclarator","buildUmdWrapper","replacements","template","statement","buildGlobal","allowlist","namespace","body","container","tree","push","buildHelpers","buildModule","refs","unshift","Object","keys","map","name","buildUmd","FACTORY_PARAMETERS","BROWSER_ARGUMENTS","COMMON_ARGUMENTS","AMD_ARGUMENTS","FACTORY_BODY","UMD_ROOT","buildVar","getHelperReference","list","forEach","includes","ref","nodes","get","ast","exportName","mapExportBindingAssignments","node","_default","outputType","build","global","module","umd","var","Error","generator","code"],"sources":["../../src/tools/build-external-helpers.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport generator from \"@babel/generator\";\nimport template from \"@babel/template\";\nimport {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { Replacements } from \"@babel/template\";\n\n// Wrapped to avoid wasting time parsing this when almost no-one uses\n// build-external-helpers.\nconst buildUmdWrapper = (replacements: Replacements) =>\n template.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\n\nfunction buildGlobal(allowlist?: string[]) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n const container = functionExpression(\n null,\n [identifier(\"global\")],\n blockStatement(body),\n );\n const tree = program([\n expressionStatement(\n callExpression(container, [\n // typeof global === \"undefined\" ? self : global\n conditionalExpression(\n binaryExpression(\n \"===\",\n unaryExpression(\"typeof\", identifier(\"global\")),\n stringLiteral(\"undefined\"),\n ),\n identifier(\"self\"),\n identifier(\"global\"),\n ),\n ]),\n ),\n ]);\n\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(\n namespace,\n assignmentExpression(\n \"=\",\n memberExpression(identifier(\"global\"), namespace),\n objectExpression([]),\n ),\n ),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return tree;\n}\n\nfunction buildModule(allowlist?: string[]) {\n const body: t.Statement[] = [];\n const refs = buildHelpers(body, null, allowlist);\n\n body.unshift(\n exportNamedDeclaration(\n null,\n Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n }),\n ),\n );\n\n return program(body, [], \"module\");\n}\n\nfunction buildUmd(allowlist?: string[]) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, identifier(\"global\")),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return program([\n buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\n \"=\",\n memberExpression(identifier(\"root\"), namespace),\n objectExpression([]),\n ),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\"),\n }),\n ]);\n}\n\nfunction buildVar(allowlist?: string[]) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, objectExpression([])),\n ]),\n );\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression,\n allowlist?: string[],\n): Record;\nfunction buildHelpers(\n body: t.Statement[],\n namespace: null,\n allowlist?: string[],\n): Record;\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression | null,\n allowlist?: string[],\n) {\n const getHelperReference = (name: string) => {\n return namespace\n ? memberExpression(namespace, identifier(name))\n : identifier(`_${name}`);\n };\n\n const refs: Record = {};\n helpers.list.forEach(function (name) {\n if (allowlist && !allowlist.includes(name)) return;\n\n const ref = (refs[name] = getHelperReference(name));\n\n const { nodes } = helpers.get(\n name,\n getHelperReference,\n namespace ? null : `_${name}`,\n [],\n namespace\n ? (ast, exportName, mapExportBindingAssignments) => {\n mapExportBindingAssignments(node =>\n assignmentExpression(\"=\", ref, node),\n );\n ast.body.push(\n expressionStatement(\n assignmentExpression(\"=\", ref, identifier(exportName)),\n ),\n );\n }\n : null,\n );\n\n body.push(...nodes);\n });\n return refs;\n}\nexport default function (\n allowlist?: string[],\n outputType: \"global\" | \"module\" | \"umd\" | \"var\" = \"global\",\n) {\n let tree: t.Program;\n\n const build = {\n global: buildGlobal,\n module: buildModule,\n umd: buildUmd,\n var: buildVar,\n }[outputType];\n\n if (build) {\n tree = build(allowlist);\n } else {\n throw new Error(`Unsupported output type ${outputType}`);\n }\n\n return generator(tree).code;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transform-ast.js b/client/node_modules/@babel/core/lib/transform-ast.js new file mode 100644 index 0000000..f54b9c9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-ast.js @@ -0,0 +1,48 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFromAst = void 0; +exports.transformFromAstAsync = transformFromAstAsync; +exports.transformFromAstSync = transformFromAstSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _index = require("./config/index.js"); +var _index2 = require("./transformation/index.js"); +var _rewriteStackTrace = require("./errors/rewrite-stack-trace.js"); +const transformFromAstRunner = _gensync()(function* (ast, code, opts) { + const config = yield* (0, _index.default)(opts); + if (config === null) return null; + if (!ast) throw new Error("No AST given"); + return yield* (0, _index2.run)(config, code, ast); +}); +const transformFromAst = exports.transformFromAst = function transformFromAst(ast, code, optsOrCallback, maybeCallback) { + let opts; + let callback; + if (typeof optsOrCallback === "function") { + callback = optsOrCallback; + opts = undefined; + } else { + opts = optsOrCallback; + callback = maybeCallback; + } + if (callback === undefined) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.sync)(ast, code, opts); + } + (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.errback)(ast, code, opts, callback); +}; +function transformFromAstSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.sync)(...args); +} +function transformFromAstAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformFromAstRunner.async)(...args); +} +0 && 0; + +//# sourceMappingURL=transform-ast.js.map diff --git a/client/node_modules/@babel/core/lib/transform-ast.js.map b/client/node_modules/@babel/core/lib/transform-ast.js.map new file mode 100644 index 0000000..e83787e --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-ast.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_index","_index2","_rewriteStackTrace","transformFromAstRunner","gensync","ast","code","opts","config","loadConfig","Error","run","transformFromAst","exports","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","transformFromAstSync","args","transformFromAstAsync","async"],"sources":["../src/transform-ast.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config/index.ts\";\nimport type { InputOptions, ResolvedConfig } from \"./config/index.ts\";\nimport { run } from \"./transformation/index.ts\";\nimport type * as t from \"@babel/types\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation/index.ts\";\ntype AstRoot = t.File | t.Program;\n\ntype TransformFromAst = {\n (ast: AstRoot, code: string, callback: FileResultCallback): void;\n (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (ast: AstRoot, code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformFromAstRunner = gensync(function* (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n if (!ast) throw new Error(\"No AST given\");\n\n return yield* run(config, code, ast);\n});\n\nexport const transformFromAst: TransformFromAst = function transformFromAst(\n ast,\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transformFromAst' function expects a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transformFromAst' function will expect a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n // );\n return beginHiddenCallStack(transformFromAstRunner.sync)(ast, code, opts);\n }\n }\n\n beginHiddenCallStack(transformFromAstRunner.errback)(\n ast,\n code,\n opts,\n callback,\n );\n};\n\nexport function transformFromAstSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.sync)(...args);\n}\n\nexport function transformFromAstAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAgBA,MAAMI,sBAAsB,GAAGC,SAAMA,CAAC,CAAC,WACrCC,GAAY,EACZC,IAAY,EACZC,IAAqC,EACT;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,cAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,IAAI,CAACH,GAAG,EAAE,MAAM,IAAIK,KAAK,CAAC,cAAc,CAAC;EAEzC,OAAO,OAAO,IAAAC,WAAG,EAACH,MAAM,EAAEF,IAAI,EAAED,GAAG,CAAC;AACtC,CAAC,CAAC;AAEK,MAAMO,gBAAkC,GAAAC,OAAA,CAAAD,gBAAA,GAAG,SAASA,gBAAgBA,CACzEP,GAAG,EACHC,IAAI,EACJQ,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIR,IAAqC;EACzC,IAAIS,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBP,IAAI,GAAGU,SAAS;EAClB,CAAC,MAAM;IACLV,IAAI,GAAGO,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IASxB,OAAO,IAAAC,uCAAoB,EAACf,sBAAsB,CAACgB,IAAI,CAAC,CAACd,GAAG,EAAEC,IAAI,EAAEC,IAAI,CAAC;EAE7E;EAEA,IAAAW,uCAAoB,EAACf,sBAAsB,CAACiB,OAAO,CAAC,CAClDf,GAAG,EACHC,IAAI,EACJC,IAAI,EACJS,QACF,CAAC;AACH,CAAC;AAEM,SAASK,oBAAoBA,CAClC,GAAGC,IAAoD,EACvD;EACA,OAAO,IAAAJ,uCAAoB,EAACf,sBAAsB,CAACgB,IAAI,CAAC,CAAC,GAAGG,IAAI,CAAC;AACnE;AAEO,SAASC,qBAAqBA,CACnC,GAAGD,IAAqD,EACxD;EACA,OAAO,IAAAJ,uCAAoB,EAACf,sBAAsB,CAACqB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AACpE;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transform-file-browser.js b/client/node_modules/@babel/core/lib/transform-file-browser.js new file mode 100644 index 0000000..8576809 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-file-browser.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFile = void 0; +exports.transformFileAsync = transformFileAsync; +exports.transformFileSync = transformFileSync; +const transformFile = exports.transformFile = function transformFile(filename, opts, callback) { + if (typeof opts === "function") { + callback = opts; + } + callback(new Error("Transforming files is not supported in browsers"), null); +}; +function transformFileSync() { + throw new Error("Transforming files is not supported in browsers"); +} +function transformFileAsync() { + return Promise.reject(new Error("Transforming files is not supported in browsers")); +} +0 && 0; + +//# sourceMappingURL=transform-file-browser.js.map diff --git a/client/node_modules/@babel/core/lib/transform-file-browser.js.map b/client/node_modules/@babel/core/lib/transform-file-browser.js.map new file mode 100644 index 0000000..b632a42 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-file-browser.js.map @@ -0,0 +1 @@ +{"version":3,"names":["transformFile","exports","filename","opts","callback","Error","transformFileSync","transformFileAsync","Promise","reject"],"sources":["../src/transform-file-browser.ts"],"sourcesContent":["/* c8 ignore start */\n\n// duplicated from transform-file so we do not have to import anything here\ntype TransformFile = {\n (filename: string, callback: (error: Error, file: null) => void): void;\n (\n filename: string,\n opts: any,\n callback: (error: Error, file: null) => void,\n ): void;\n};\n\nexport const transformFile: TransformFile = function transformFile(\n filename,\n opts,\n callback?: (error: Error, file: null) => void,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n }\n\n callback(new Error(\"Transforming files is not supported in browsers\"), null);\n};\n\nexport function transformFileSync(): never {\n throw new Error(\"Transforming files is not supported in browsers\");\n}\n\nexport function transformFileAsync() {\n return Promise.reject(\n new Error(\"Transforming files is not supported in browsers\"),\n );\n}\n"],"mappings":";;;;;;;;AAYO,MAAMA,aAA4B,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAASA,aAAaA,CAChEE,QAAQ,EACRC,IAAI,EACJC,QAA6C,EAC7C;EACA,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9BC,QAAQ,GAAGD,IAAI;EACjB;EAEAC,QAAQ,CAAC,IAAIC,KAAK,CAAC,iDAAiD,CAAC,EAAE,IAAI,CAAC;AAC9E,CAAC;AAEM,SAASC,iBAAiBA,CAAA,EAAU;EACzC,MAAM,IAAID,KAAK,CAAC,iDAAiD,CAAC;AACpE;AAEO,SAASE,kBAAkBA,CAAA,EAAG;EACnC,OAAOC,OAAO,CAACC,MAAM,CACnB,IAAIJ,KAAK,CAAC,iDAAiD,CAC7D,CAAC;AACH;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transform-file.js b/client/node_modules/@babel/core/lib/transform-file.js new file mode 100644 index 0000000..ce7f9f9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-file.js @@ -0,0 +1,40 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFile = transformFile; +exports.transformFileAsync = transformFileAsync; +exports.transformFileSync = transformFileSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _index = require("./config/index.js"); +var _index2 = require("./transformation/index.js"); +var fs = require("./gensync-utils/fs.js"); +({}); +const transformFileRunner = _gensync()(function* (filename, opts) { + const options = Object.assign({}, opts, { + filename + }); + const config = yield* (0, _index.default)(options); + if (config === null) return null; + const code = yield* fs.readFile(filename, "utf8"); + return yield* (0, _index2.run)(config, code); +}); +function transformFile(...args) { + transformFileRunner.errback(...args); +} +function transformFileSync(...args) { + return transformFileRunner.sync(...args); +} +function transformFileAsync(...args) { + return transformFileRunner.async(...args); +} +0 && 0; + +//# sourceMappingURL=transform-file.js.map diff --git a/client/node_modules/@babel/core/lib/transform-file.js.map b/client/node_modules/@babel/core/lib/transform-file.js.map new file mode 100644 index 0000000..36a85b1 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform-file.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_index","_index2","fs","transformFileRunner","gensync","filename","opts","options","Object","assign","config","loadConfig","code","readFile","run","transformFile","args","errback","transformFileSync","sync","transformFileAsync","async"],"sources":["../src/transform-file.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config/index.ts\";\nimport type { InputOptions, ResolvedConfig } from \"./config/index.ts\";\nimport { run } from \"./transformation/index.ts\";\nimport type { FileResult, FileResultCallback } from \"./transformation/index.ts\";\nimport * as fs from \"./gensync-utils/fs.ts\";\n\ntype transformFileBrowserType = typeof import(\"./transform-file-browser\");\ntype transformFileType = typeof import(\"./transform-file\");\n\n// Kind of gross, but essentially asserting that the exports of this module are the same as the\n// exports of transform-file-browser, since this file may be replaced at bundle time with\n// transform-file-browser.\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n({}) as any as transformFileBrowserType as transformFileType;\n\nconst transformFileRunner = gensync(function* (\n filename: string,\n opts?: InputOptions,\n): Handler {\n const options = { ...opts, filename };\n\n const config: ResolvedConfig | null = yield* loadConfig(options);\n if (config === null) return null;\n\n const code = yield* fs.readFile(filename, \"utf8\");\n return yield* run(config, code);\n});\n\n// @ts-expect-error TS doesn't detect that this signature is compatible\nexport function transformFile(\n filename: string,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n filename: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n): void;\nexport function transformFile(\n ...args: Parameters\n) {\n transformFileRunner.errback(...args);\n}\n\nexport function transformFileSync(\n ...args: Parameters\n) {\n return transformFileRunner.sync(...args);\n}\nexport function transformFileAsync(\n ...args: Parameters\n) {\n return transformFileRunner.async(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,EAAA,GAAAH,OAAA;AASA,CAAC,CAAC,CAAC;AAEH,MAAMI,mBAAmB,GAAGC,SAAMA,CAAC,CAAC,WAClCC,QAAgB,EAChBC,IAAmB,EACS;EAC5B,MAAMC,OAAO,GAAAC,MAAA,CAAAC,MAAA,KAAQH,IAAI;IAAED;EAAQ,EAAE;EAErC,MAAMK,MAA6B,GAAG,OAAO,IAAAC,cAAU,EAACJ,OAAO,CAAC;EAChE,IAAIG,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,MAAME,IAAI,GAAG,OAAOV,EAAE,CAACW,QAAQ,CAACR,QAAQ,EAAE,MAAM,CAAC;EACjD,OAAO,OAAO,IAAAS,WAAG,EAACJ,MAAM,EAAEE,IAAI,CAAC;AACjC,CAAC,CAAC;AAYK,SAASG,aAAaA,CAC3B,GAAGC,IAAoD,EACvD;EACAb,mBAAmB,CAACc,OAAO,CAAC,GAAGD,IAAI,CAAC;AACtC;AAEO,SAASE,iBAAiBA,CAC/B,GAAGF,IAAiD,EACpD;EACA,OAAOb,mBAAmB,CAACgB,IAAI,CAAC,GAAGH,IAAI,CAAC;AAC1C;AACO,SAASI,kBAAkBA,CAChC,GAAGJ,IAAkD,EACrD;EACA,OAAOb,mBAAmB,CAACkB,KAAK,CAAC,GAAGL,IAAI,CAAC;AAC3C;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transform.js b/client/node_modules/@babel/core/lib/transform.js new file mode 100644 index 0000000..3b496db --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transform = void 0; +exports.transformAsync = transformAsync; +exports.transformSync = transformSync; +function _gensync() { + const data = require("gensync"); + _gensync = function () { + return data; + }; + return data; +} +var _index = require("./config/index.js"); +var _index2 = require("./transformation/index.js"); +var _rewriteStackTrace = require("./errors/rewrite-stack-trace.js"); +const transformRunner = _gensync()(function* transform(code, opts) { + const config = yield* (0, _index.default)(opts); + if (config === null) return null; + return yield* (0, _index2.run)(config, code); +}); +const transform = exports.transform = function transform(code, optsOrCallback, maybeCallback) { + let opts; + let callback; + if (typeof optsOrCallback === "function") { + callback = optsOrCallback; + opts = undefined; + } else { + opts = optsOrCallback; + callback = maybeCallback; + } + if (callback === undefined) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(code, opts); + } + (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.errback)(code, opts, callback); +}; +function transformSync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(...args); +} +function transformAsync(...args) { + return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.async)(...args); +} +0 && 0; + +//# sourceMappingURL=transform.js.map diff --git a/client/node_modules/@babel/core/lib/transform.js.map b/client/node_modules/@babel/core/lib/transform.js.map new file mode 100644 index 0000000..6f3e9f0 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transform.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_gensync","data","require","_index","_index2","_rewriteStackTrace","transformRunner","gensync","transform","code","opts","config","loadConfig","run","exports","optsOrCallback","maybeCallback","callback","undefined","beginHiddenCallStack","sync","errback","transformSync","args","transformAsync","async"],"sources":["../src/transform.ts"],"sourcesContent":["import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config/index.ts\";\nimport type { InputOptions, ResolvedConfig } from \"./config/index.ts\";\nimport { run } from \"./transformation/index.ts\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation/index.ts\";\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\nexport type { FileResult } from \"./transformation/index.ts\";\n\ntype Transform = {\n (code: string, callback: FileResultCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformRunner = gensync(function* transform(\n code: string,\n opts?: InputOptions,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n return yield* run(config, code);\n});\n\nexport const transform: Transform = function transform(\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transform' function expects a callback. If you need to call it synchronously, please use 'transformSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transform' function will expect a callback. If you need to call it synchronously, please use 'transformSync'.\",\n // );\n return beginHiddenCallStack(transformRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(transformRunner.errback)(code, opts, callback);\n};\n\nexport function transformSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.sync)(...args);\n}\nexport function transformAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.async)(...args);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AAcA,MAAMI,eAAe,GAAGC,SAAMA,CAAC,CAAC,UAAUC,SAASA,CACjDC,IAAY,EACZC,IAAmB,EACS;EAC5B,MAAMC,MAA6B,GAAG,OAAO,IAAAC,cAAU,EAACF,IAAI,CAAC;EAC7D,IAAIC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI;EAEhC,OAAO,OAAO,IAAAE,WAAG,EAACF,MAAM,EAAEF,IAAI,CAAC;AACjC,CAAC,CAAC;AAEK,MAAMD,SAAoB,GAAAM,OAAA,CAAAN,SAAA,GAAG,SAASA,SAASA,CACpDC,IAAI,EACJM,cAAqE,EACrEC,aAAkC,EAClC;EACA,IAAIN,IAAqC;EACzC,IAAIO,QAAwC;EAC5C,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;IACxCE,QAAQ,GAAGF,cAAc;IACzBL,IAAI,GAAGQ,SAAS;EAClB,CAAC,MAAM;IACLR,IAAI,GAAGK,cAAc;IACrBE,QAAQ,GAAGD,aAAa;EAC1B;EAEA,IAAIC,QAAQ,KAAKC,SAAS,EAAE;IASxB,OAAO,IAAAC,uCAAoB,EAACb,eAAe,CAACc,IAAI,CAAC,CAACX,IAAI,EAAEC,IAAI,CAAC;EAEjE;EAEA,IAAAS,uCAAoB,EAACb,eAAe,CAACe,OAAO,CAAC,CAACZ,IAAI,EAAEC,IAAI,EAAEO,QAAQ,CAAC;AACrE,CAAC;AAEM,SAASK,aAAaA,CAC3B,GAAGC,IAA6C,EAChD;EACA,OAAO,IAAAJ,uCAAoB,EAACb,eAAe,CAACc,IAAI,CAAC,CAAC,GAAGG,IAAI,CAAC;AAC5D;AACO,SAASC,cAAcA,CAC5B,GAAGD,IAA8C,EACjD;EACA,OAAO,IAAAJ,uCAAoB,EAACb,eAAe,CAACmB,KAAK,CAAC,CAAC,GAAGF,IAAI,CAAC;AAC7D;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js b/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js new file mode 100644 index 0000000..ec22ee3 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js @@ -0,0 +1,84 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadBlockHoistPlugin; +function _traverse() { + const data = require("@babel/traverse"); + _traverse = function () { + return data; + }; + return data; +} +var _plugin = require("../config/plugin.js"); +let LOADED_PLUGIN; +const blockHoistPlugin = { + name: "internal.blockHoist", + visitor: { + Block: { + exit({ + node + }) { + node.body = performHoisting(node.body); + } + }, + SwitchCase: { + exit({ + node + }) { + node.consequent = performHoisting(node.consequent); + } + } + } +}; +function performHoisting(body) { + let max = Math.pow(2, 30) - 1; + let hasChange = false; + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); + if (p > max) { + hasChange = true; + break; + } + max = p; + } + if (!hasChange) return body; + return stableSort(body.slice()); +} +function loadBlockHoistPlugin() { + if (!LOADED_PLUGIN) { + LOADED_PLUGIN = new _plugin.default(Object.assign({}, blockHoistPlugin, { + visitor: _traverse().default.explode(blockHoistPlugin.visitor) + }), {}); + } + return LOADED_PLUGIN; +} +function priority(bodyNode) { + const priority = bodyNode == null ? void 0 : bodyNode._blockHoist; + if (priority == null) return 1; + if (priority === true) return 2; + return priority; +} +function stableSort(body) { + const buckets = Object.create(null); + for (let i = 0; i < body.length; i++) { + const n = body[i]; + const p = priority(n); + const bucket = buckets[p] || (buckets[p] = []); + bucket.push(n); + } + const keys = Object.keys(buckets).map(k => +k).sort((a, b) => b - a); + let index = 0; + for (const key of keys) { + const bucket = buckets[key]; + for (const n of bucket) { + body[index++] = n; + } + } + return body; +} +0 && 0; + +//# sourceMappingURL=block-hoist-plugin.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map b/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map new file mode 100644 index 0000000..028e36a --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_traverse","data","require","_plugin","LOADED_PLUGIN","blockHoistPlugin","name","visitor","Block","exit","node","body","performHoisting","SwitchCase","consequent","max","Math","pow","hasChange","i","length","n","p","priority","stableSort","slice","loadBlockHoistPlugin","Plugin","Object","assign","traverse","explode","bodyNode","_blockHoist","buckets","create","bucket","push","keys","map","k","sort","a","b","index","key"],"sources":["../../src/transformation/block-hoist-plugin.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type { Statement } from \"@babel/types\";\nimport type { PluginObject } from \"../config/index.ts\";\nimport Plugin from \"../config/plugin.ts\";\n\nlet LOADED_PLUGIN: Plugin | void;\n\nconst blockHoistPlugin: PluginObject = {\n /**\n * [Please add a description.]\n *\n * Priority:\n *\n * - 0 We want this to be at the **very** bottom\n * - 1 Default node position\n * - 2 Priority over normal nodes\n * - 3 We want this to be at the **very** top\n * - 4 Reserved for the helpers used to implement module imports.\n */\n\n name: \"internal.blockHoist\",\n\n visitor: {\n Block: {\n exit({ node }) {\n node.body = performHoisting(node.body);\n },\n },\n SwitchCase: {\n exit({ node }) {\n // In case statements, hoisting is difficult to perform correctly due to\n // functions that are declared and referenced in different blocks.\n // Nevertheless, hoisting the statements *inside* of each case should at\n // least mitigate the failure cases.\n node.consequent = performHoisting(node.consequent);\n },\n },\n },\n};\n\nfunction performHoisting(body: Statement[]): Statement[] {\n // Largest SMI\n let max = 2 ** 30 - 1;\n let hasChange = false;\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n if (p > max) {\n hasChange = true;\n break;\n }\n max = p;\n }\n if (!hasChange) return body;\n\n // My kingdom for a stable sort!\n return stableSort(body.slice());\n}\n\nexport default function loadBlockHoistPlugin(): Plugin {\n if (!LOADED_PLUGIN) {\n // cache the loaded blockHoist plugin plugin\n LOADED_PLUGIN = new Plugin(\n {\n ...blockHoistPlugin,\n visitor: traverse.explode(blockHoistPlugin.visitor),\n },\n {},\n );\n }\n\n return LOADED_PLUGIN;\n}\n\nfunction priority(bodyNode: Statement & { _blockHoist?: number | true }) {\n const priority = bodyNode?._blockHoist;\n if (priority == null) return 1;\n if (priority === true) return 2;\n return priority;\n}\n\nfunction stableSort(body: Statement[]) {\n // By default, we use priorities of 0-4.\n const buckets = Object.create(null);\n\n // By collecting into buckets, we can guarantee a stable sort.\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n\n // In case some plugin is setting an unexpected priority.\n const bucket = buckets[p] || (buckets[p] = []);\n bucket.push(n);\n }\n\n // Sort our keys in descending order. Keys are unique, so we don't have to\n // worry about stability.\n const keys = Object.keys(buckets)\n .map(k => +k)\n .sort((a, b) => b - a);\n\n let index = 0;\n for (const key of keys) {\n const bucket = buckets[key];\n for (const n of bucket) {\n body[index++] = n;\n }\n }\n return body;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs b/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs new file mode 100644 index 0000000..a532ff1 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs @@ -0,0 +1,4 @@ +exports.getModuleName = () => require("@babel/helper-module-transforms").getModuleName; +0 && 0; + +//# sourceMappingURL=babel-7-helpers.cjs.map diff --git a/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs.map b/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs.map new file mode 100644 index 0000000..241ae7e --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs.map @@ -0,0 +1 @@ +{"version":3,"names":["exports","getModuleName","require"],"sources":["../../../src/transformation/file/babel-7-helpers.cjs"],"sourcesContent":["// TODO(Babel 8): Remove this file\n\nif (!process.env.BABEL_8_BREAKING) {\n exports.getModuleName = () =>\n require(\"@babel/helper-module-transforms\").getModuleName;\n} else if (process.env.IS_PUBLISH) {\n throw new Error(\n \"Internal Babel error: This file should only be loaded in Babel 7\",\n );\n}\n"],"mappings":"AAGEA,OAAO,CAACC,aAAa,GAAG,MACtBC,OAAO,CAAC,iCAAiC,CAAC,CAACD,aAAa;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/file/file.js b/client/node_modules/@babel/core/lib/transformation/file/file.js new file mode 100644 index 0000000..a17be42 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/file.js @@ -0,0 +1,204 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +function helpers() { + const data = require("@babel/helpers"); + helpers = function () { + return data; + }; + return data; +} +function _traverse() { + const data = require("@babel/traverse"); + _traverse = function () { + return data; + }; + return data; +} +function _codeFrame() { + const data = require("@babel/code-frame"); + _codeFrame = function () { + return data; + }; + return data; +} +function _t() { + const data = require("@babel/types"); + _t = function () { + return data; + }; + return data; +} +function _semver() { + const data = require("semver"); + _semver = function () { + return data; + }; + return data; +} +var _babel7Helpers = require("./babel-7-helpers.cjs"); +const { + cloneNode, + interpreterDirective, + traverseFast +} = _t(); +class File { + constructor(options, { + code, + ast, + inputMap + }) { + this._map = new Map(); + this.opts = void 0; + this.declarations = {}; + this.path = void 0; + this.ast = void 0; + this.scope = void 0; + this.metadata = {}; + this.code = ""; + this.inputMap = void 0; + this.hub = { + file: this, + getCode: () => this.code, + getScope: () => this.scope, + addHelper: this.addHelper.bind(this), + buildError: this.buildCodeFrameError.bind(this) + }; + this.opts = options; + this.code = code; + this.ast = ast; + this.inputMap = inputMap; + this.path = _traverse().NodePath.get({ + hub: this.hub, + parentPath: null, + parent: this.ast, + container: this.ast, + key: "program" + }).setContext(); + this.scope = this.path.scope; + } + get shebang() { + const { + interpreter + } = this.path.node; + return interpreter ? interpreter.value : ""; + } + set shebang(value) { + if (value) { + this.path.get("interpreter").replaceWith(interpreterDirective(value)); + } else { + this.path.get("interpreter").remove(); + } + } + set(key, val) { + if (key === "helpersNamespace") { + throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'."); + } + this._map.set(key, val); + } + get(key) { + return this._map.get(key); + } + has(key) { + return this._map.has(key); + } + availableHelper(name, versionRange) { + if (helpers().isInternal(name)) return false; + let minVersion; + try { + minVersion = helpers().minVersion(name); + } catch (err) { + if (err.code !== "BABEL_HELPER_UNKNOWN") throw err; + return false; + } + if (typeof versionRange !== "string") return true; + if (_semver().valid(versionRange)) versionRange = `^${versionRange}`; + return !_semver().intersects(`<${minVersion}`, versionRange) && !_semver().intersects(`>=8.0.0`, versionRange); + } + addHelper(name) { + if (helpers().isInternal(name)) { + throw new Error("Cannot use internal helper " + name); + } + return this._addHelper(name); + } + _addHelper(name) { + const declar = this.declarations[name]; + if (declar) return cloneNode(declar); + const generator = this.get("helperGenerator"); + if (generator) { + const res = generator(name); + if (res) return res; + } + helpers().minVersion(name); + const uid = this.declarations[name] = this.scope.generateUidIdentifier(name); + const dependencies = {}; + for (const dep of helpers().getDependencies(name)) { + dependencies[dep] = this._addHelper(dep); + } + const { + nodes, + globals + } = helpers().get(name, dep => dependencies[dep], uid.name, Object.keys(this.scope.getAllBindings())); + globals.forEach(name => { + if (this.path.scope.hasBinding(name, true)) { + this.path.scope.rename(name); + } + }); + nodes.forEach(node => { + node._compact = true; + }); + const added = this.path.unshiftContainer("body", nodes); + for (const path of added) { + if (path.isVariableDeclaration()) this.scope.registerDeclaration(path); + } + return uid; + } + buildCodeFrameError(node, msg, _Error = SyntaxError) { + let loc = node == null ? void 0 : node.loc; + if (!loc && node) { + traverseFast(node, function (node) { + if (node.loc) { + loc = node.loc; + return traverseFast.stop; + } + }); + let txt = "This is an error on an internal node. Probably an internal error."; + if (loc) txt += " Location has been estimated."; + msg += ` (${txt})`; + } + if (loc) { + const { + highlightCode = true + } = this.opts; + msg += "\n" + (0, _codeFrame().codeFrameColumns)(this.code, { + start: { + line: loc.start.line, + column: loc.start.column + 1 + }, + end: loc.end && loc.start.line === loc.end.line ? { + line: loc.end.line, + column: loc.end.column + 1 + } : undefined + }, { + highlightCode + }); + } + return new _Error(msg); + } +} +exports.default = File; +File.prototype.addImport = function addImport() { + throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'."); +}; +File.prototype.addTemplateObject = function addTemplateObject() { + throw new Error("This function has been moved into the template literal transform itself."); +}; +File.prototype.getModuleName = function getModuleName() { + return _babel7Helpers.getModuleName()(this.opts, this.opts); +}; +0 && 0; + +//# sourceMappingURL=file.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/file/file.js.map b/client/node_modules/@babel/core/lib/transformation/file/file.js.map new file mode 100644 index 0000000..f20e621 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/file.js.map @@ -0,0 +1 @@ +{"version":3,"names":["helpers","data","require","_traverse","_codeFrame","_t","_semver","_babel7Helpers","cloneNode","interpreterDirective","traverseFast","File","constructor","options","code","ast","inputMap","_map","Map","opts","declarations","path","scope","metadata","hub","file","getCode","getScope","addHelper","bind","buildError","buildCodeFrameError","NodePath","get","parentPath","parent","container","key","setContext","shebang","interpreter","node","value","replaceWith","remove","set","val","Error","has","availableHelper","name","versionRange","isInternal","minVersion","err","semver","valid","intersects","_addHelper","declar","generator","res","uid","generateUidIdentifier","dependencies","dep","getDependencies","nodes","globals","Object","keys","getAllBindings","forEach","hasBinding","rename","_compact","added","unshiftContainer","isVariableDeclaration","registerDeclaration","msg","_Error","SyntaxError","loc","stop","txt","highlightCode","codeFrameColumns","start","line","column","end","undefined","exports","default","prototype","addImport","addTemplateObject","getModuleName","babel7"],"sources":["../../../src/transformation/file/file.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport { NodePath } from \"@babel/traverse\";\nimport type { HubInterface, Scope } from \"@babel/traverse\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport { cloneNode, interpreterDirective, traverseFast } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport semver from \"semver\";\n\nimport type { NormalizedFile } from \"../normalize-file.ts\";\n\n// @ts-expect-error This file is `any`\nimport babel7 from \"./babel-7-helpers.cjs\" with { if: \"!process.env.BABEL_8_BREAKING && (!USE_ESM || IS_STANDALONE)\" };\nimport type { ResolvedOptions } from \"../../config/validation/options.ts\";\nimport type { SourceMapConverter } from \"convert-source-map\";\n\nexport default class File {\n _map = new Map();\n opts: ResolvedOptions;\n declarations: Record = {};\n path: NodePath;\n ast: t.File;\n scope: Scope;\n metadata: Record = {};\n code: string = \"\";\n inputMap: SourceMapConverter;\n\n hub: HubInterface & { file: File } = {\n // keep it for the usage in babel-core, ex: path.hub.file.opts.filename\n file: this,\n getCode: () => this.code,\n getScope: () => this.scope,\n addHelper: this.addHelper.bind(this),\n buildError: this.buildCodeFrameError.bind(this),\n };\n\n constructor(\n options: ResolvedOptions,\n { code, ast, inputMap }: NormalizedFile,\n ) {\n this.opts = options;\n this.code = code;\n this.ast = ast;\n this.inputMap = inputMap;\n\n this.path = NodePath.get({\n hub: this.hub,\n parentPath: null,\n parent: this.ast,\n container: this.ast,\n key: \"program\",\n }).setContext() as NodePath;\n this.scope = this.path.scope;\n }\n\n /**\n * Provide backward-compatible access to the interpreter directive handling\n * in Babel 6.x. If you are writing a plugin for Babel 7.x, it would be\n * best to use 'program.interpreter' directly.\n */\n get shebang(): string {\n const { interpreter } = this.path.node;\n return interpreter ? interpreter.value : \"\";\n }\n set shebang(value: string) {\n if (value) {\n this.path.get(\"interpreter\").replaceWith(interpreterDirective(value));\n } else {\n this.path.get(\"interpreter\").remove();\n }\n }\n\n set(key: unknown, val: unknown) {\n if (!process.env.BABEL_8_BREAKING) {\n if (key === \"helpersNamespace\") {\n throw new Error(\n \"Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.\" +\n \"If you are using @babel/plugin-external-helpers you will need to use a newer \" +\n \"version than the one you currently have installed. \" +\n \"If you have your own implementation, you'll want to explore using 'helperGenerator' \" +\n \"alongside 'file.availableHelper()'.\",\n );\n }\n }\n\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n has(key: unknown): boolean {\n return this._map.has(key);\n }\n\n /**\n * Check if a given helper is available in @babel/core's helper list.\n *\n * This _also_ allows you to pass a Babel version specifically. If the\n * helper exists, but was not available for the full given range, it will be\n * considered unavailable.\n */\n availableHelper(name: string, versionRange?: string | null): boolean {\n if (helpers.isInternal(name)) return false;\n\n let minVersion;\n try {\n minVersion = helpers.minVersion(name);\n } catch (err) {\n if (err.code !== \"BABEL_HELPER_UNKNOWN\") throw err;\n\n return false;\n }\n\n if (typeof versionRange !== \"string\") return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with pre-release versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revisit the logic in\n // transform-runtime's definitions.js file.\n if (semver.valid(versionRange)) versionRange = `^${versionRange}`;\n\n if (process.env.BABEL_8_BREAKING) {\n return (\n !semver.intersects(`<${minVersion}`, versionRange) &&\n !semver.intersects(`>=9.0.0`, versionRange)\n );\n } else {\n return (\n !semver.intersects(`<${minVersion}`, versionRange) &&\n !semver.intersects(`>=8.0.0`, versionRange)\n );\n }\n }\n\n addHelper(name: string): t.Identifier {\n if (helpers.isInternal(name)) {\n throw new Error(\"Cannot use internal helper \" + name);\n }\n return this._addHelper(name);\n }\n\n _addHelper(name: string): t.Identifier {\n const declar = this.declarations[name];\n if (declar) return cloneNode(declar);\n\n const generator = this.get(\"helperGenerator\");\n if (generator) {\n const res = generator(name);\n if (res) return res;\n }\n\n // make sure that the helper exists\n helpers.minVersion(name);\n\n const uid = (this.declarations[name] =\n this.scope.generateUidIdentifier(name));\n\n const dependencies: Record = {};\n for (const dep of helpers.getDependencies(name)) {\n dependencies[dep] = this._addHelper(dep);\n }\n\n const { nodes, globals } = helpers.get(\n name,\n dep => dependencies[dep],\n uid.name,\n Object.keys(this.scope.getAllBindings()),\n );\n\n globals.forEach(name => {\n if (this.path.scope.hasBinding(name, true /* noGlobals */)) {\n this.path.scope.rename(name);\n }\n });\n\n nodes.forEach(node => {\n // @ts-expect-error Fixme: document _compact node property\n node._compact = true;\n });\n\n const added = this.path.unshiftContainer(\"body\", nodes);\n // TODO: NodePath#unshiftContainer should automatically register new\n // bindings.\n for (const path of added) {\n if (path.isVariableDeclaration()) this.scope.registerDeclaration(path);\n }\n\n return uid;\n }\n\n buildCodeFrameError(\n node: t.Node | undefined | null,\n msg: string,\n _Error: typeof Error = SyntaxError,\n ): Error {\n let loc = node?.loc;\n\n if (!loc && node) {\n traverseFast(node, function (node) {\n if (node.loc) {\n loc = node.loc;\n return traverseFast.stop;\n }\n });\n\n let txt =\n \"This is an error on an internal node. Probably an internal error.\";\n if (loc) txt += \" Location has been estimated.\";\n\n msg += ` (${txt})`;\n }\n\n if (loc) {\n const { highlightCode = true } = this.opts;\n\n msg +=\n \"\\n\" +\n codeFrameColumns(\n this.code,\n {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1,\n },\n end:\n loc.end && loc.start.line === loc.end.line\n ? {\n line: loc.end.line,\n column: loc.end.column + 1,\n }\n : undefined,\n },\n { highlightCode },\n );\n }\n\n return new _Error(msg);\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // @ts-expect-error Babel 7\n File.prototype.addImport = function addImport() {\n throw new Error(\n \"This API has been removed. If you're looking for this \" +\n \"functionality in Babel 7, you should import the \" +\n \"'@babel/helper-module-imports' module and use the functions exposed \" +\n \" from that module, such as 'addNamed' or 'addDefault'.\",\n );\n };\n // @ts-expect-error Babel 7\n File.prototype.addTemplateObject = function addTemplateObject() {\n throw new Error(\n \"This function has been moved into the template literal transform itself.\",\n );\n };\n\n if (!USE_ESM || IS_STANDALONE) {\n // @ts-expect-error Babel 7\n File.prototype.getModuleName = function getModuleName() {\n return babel7.getModuleName()(this.opts, this.opts);\n };\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/file/generate.js b/client/node_modules/@babel/core/lib/transformation/file/generate.js new file mode 100644 index 0000000..10b5b29 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/generate.js @@ -0,0 +1,84 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateCode; +function _convertSourceMap() { + const data = require("convert-source-map"); + _convertSourceMap = function () { + return data; + }; + return data; +} +function _generator() { + const data = require("@babel/generator"); + _generator = function () { + return data; + }; + return data; +} +var _mergeMap = require("./merge-map.js"); +function generateCode(pluginPasses, file) { + const { + opts, + ast, + code, + inputMap + } = file; + const { + generatorOpts + } = opts; + generatorOpts.inputSourceMap = inputMap == null ? void 0 : inputMap.toObject(); + const results = []; + for (const plugins of pluginPasses) { + for (const plugin of plugins) { + const { + generatorOverride + } = plugin; + if (generatorOverride) { + const result = generatorOverride(ast, generatorOpts, code, _generator().default); + if (result !== undefined) results.push(result); + } + } + } + let result; + if (results.length === 0) { + result = (0, _generator().default)(ast, generatorOpts, code); + } else if (results.length === 1) { + result = results[0]; + if (typeof result.then === "function") { + throw new Error(`You appear to be using an async codegen plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version.`); + } + } else { + throw new Error("More than one plugin attempted to override codegen."); + } + let { + code: outputCode, + decodedMap: outputMap = result.map + } = result; + if (result.__mergedMap) { + outputMap = Object.assign({}, result.map); + } else { + if (outputMap) { + if (inputMap) { + outputMap = (0, _mergeMap.default)(inputMap.toObject(), outputMap, generatorOpts.sourceFileName); + } else { + outputMap = result.map; + } + } + } + if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") { + outputCode += "\n" + _convertSourceMap().fromObject(outputMap).toComment(); + } + if (opts.sourceMaps === "inline") { + outputMap = null; + } + return { + outputCode, + outputMap + }; +} +0 && 0; + +//# sourceMappingURL=generate.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/file/generate.js.map b/client/node_modules/@babel/core/lib/transformation/file/generate.js.map new file mode 100644 index 0000000..d857215 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/generate.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_convertSourceMap","data","require","_generator","_mergeMap","generateCode","pluginPasses","file","opts","ast","code","inputMap","generatorOpts","inputSourceMap","toObject","results","plugins","plugin","generatorOverride","result","generate","undefined","push","length","then","Error","outputCode","decodedMap","outputMap","map","__mergedMap","Object","assign","mergeSourceMap","sourceFileName","sourceMaps","convertSourceMap","fromObject","toComment"],"sources":["../../../src/transformation/file/generate.ts"],"sourcesContent":["import type { PluginPasses } from \"../../config/index.ts\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { GeneratorResult } from \"@babel/generator\";\nimport generate from \"@babel/generator\";\n\nimport type File from \"./file.ts\";\nimport mergeSourceMap from \"./merge-map.ts\";\n\nexport default function generateCode(\n pluginPasses: PluginPasses,\n file: File,\n): {\n outputCode: string;\n outputMap: GeneratorResult[\"map\"] | null;\n} {\n const { opts, ast, code, inputMap } = file;\n const { generatorOpts } = opts;\n\n generatorOpts.inputSourceMap = inputMap?.toObject();\n\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { generatorOverride } = plugin;\n if (generatorOverride) {\n const result = generatorOverride(ast, generatorOpts, code, generate);\n\n if (result !== undefined) results.push(result);\n }\n }\n }\n\n let result;\n if (results.length === 0) {\n result = generate(ast, generatorOpts, code);\n } else if (results.length === 1) {\n result = results[0];\n\n // @ts-expect-error check if generatorOverride returned a promise\n if (typeof result.then === \"function\") {\n throw new Error(\n `You appear to be using an async codegen plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version.`,\n );\n }\n } else {\n throw new Error(\"More than one plugin attempted to override codegen.\");\n }\n\n // Decoded maps are faster to merge, so we attempt to get use the decodedMap\n // first. But to preserve backwards compat with older Generator, we'll fall\n // back to the encoded map.\n let { code: outputCode, decodedMap: outputMap = result.map } = result;\n\n // @ts-expect-error For backwards compat.\n if (result.__mergedMap) {\n /**\n * @see mergeSourceMap\n */\n outputMap = { ...result.map };\n } else {\n if (outputMap) {\n if (inputMap) {\n // mergeSourceMap returns an encoded map\n outputMap = mergeSourceMap(\n inputMap.toObject(),\n outputMap,\n generatorOpts.sourceFileName,\n );\n } else {\n // We cannot output a decoded map, so retrieve the encoded form. Because\n // the decoded form is free, it's fine to prioritize decoded first.\n outputMap = result.map;\n }\n }\n }\n\n if (opts.sourceMaps === \"inline\" || opts.sourceMaps === \"both\") {\n outputCode += \"\\n\" + convertSourceMap.fromObject(outputMap).toComment();\n }\n\n if (opts.sourceMaps === \"inline\") {\n outputMap = null;\n }\n\n // @ts-expect-error outputMap must be an EncodedSourceMap or null\n return { outputCode, outputMap };\n}\n"],"mappings":";;;;;;AACA,SAAAA,kBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,iBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,IAAAG,SAAA,GAAAF,OAAA;AAEe,SAASG,YAAYA,CAClCC,YAA0B,EAC1BC,IAAU,EAIV;EACA,MAAM;IAAEC,IAAI;IAAEC,GAAG;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGJ,IAAI;EAC1C,MAAM;IAAEK;EAAc,CAAC,GAAGJ,IAAI;EAE9BI,aAAa,CAACC,cAAc,GAAGF,QAAQ,oBAARA,QAAQ,CAAEG,QAAQ,CAAC,CAAC;EAEnD,MAAMC,OAAO,GAAG,EAAE;EAClB,KAAK,MAAMC,OAAO,IAAIV,YAAY,EAAE;IAClC,KAAK,MAAMW,MAAM,IAAID,OAAO,EAAE;MAC5B,MAAM;QAAEE;MAAkB,CAAC,GAAGD,MAAM;MACpC,IAAIC,iBAAiB,EAAE;QACrB,MAAMC,MAAM,GAAGD,iBAAiB,CAACT,GAAG,EAAEG,aAAa,EAAEF,IAAI,EAAEU,oBAAQ,CAAC;QAEpE,IAAID,MAAM,KAAKE,SAAS,EAAEN,OAAO,CAACO,IAAI,CAACH,MAAM,CAAC;MAChD;IACF;EACF;EAEA,IAAIA,MAAM;EACV,IAAIJ,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IACxBJ,MAAM,GAAG,IAAAC,oBAAQ,EAACX,GAAG,EAAEG,aAAa,EAAEF,IAAI,CAAC;EAC7C,CAAC,MAAM,IAAIK,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IAC/BJ,MAAM,GAAGJ,OAAO,CAAC,CAAC,CAAC;IAGnB,IAAI,OAAOI,MAAM,CAACK,IAAI,KAAK,UAAU,EAAE;MACrC,MAAM,IAAIC,KAAK,CACb,kDAAkD,GAChD,wDAAwD,GACxD,sCAAsC,GACtC,mDACJ,CAAC;IACH;EACF,CAAC,MAAM;IACL,MAAM,IAAIA,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAKA,IAAI;IAAEf,IAAI,EAAEgB,UAAU;IAAEC,UAAU,EAAEC,SAAS,GAAGT,MAAM,CAACU;EAAI,CAAC,GAAGV,MAAM;EAGrE,IAAIA,MAAM,CAACW,WAAW,EAAE;IAItBF,SAAS,GAAAG,MAAA,CAAAC,MAAA,KAAQb,MAAM,CAACU,GAAG,CAAE;EAC/B,CAAC,MAAM;IACL,IAAID,SAAS,EAAE;MACb,IAAIjB,QAAQ,EAAE;QAEZiB,SAAS,GAAG,IAAAK,iBAAc,EACxBtB,QAAQ,CAACG,QAAQ,CAAC,CAAC,EACnBc,SAAS,EACThB,aAAa,CAACsB,cAChB,CAAC;MACH,CAAC,MAAM;QAGLN,SAAS,GAAGT,MAAM,CAACU,GAAG;MACxB;IACF;EACF;EAEA,IAAIrB,IAAI,CAAC2B,UAAU,KAAK,QAAQ,IAAI3B,IAAI,CAAC2B,UAAU,KAAK,MAAM,EAAE;IAC9DT,UAAU,IAAI,IAAI,GAAGU,kBAAeA,CAAC,CAACC,UAAU,CAACT,SAAS,CAAC,CAACU,SAAS,CAAC,CAAC;EACzE;EAEA,IAAI9B,IAAI,CAAC2B,UAAU,KAAK,QAAQ,EAAE;IAChCP,SAAS,GAAG,IAAI;EAClB;EAGA,OAAO;IAAEF,UAAU;IAAEE;EAAU,CAAC;AAClC;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/file/merge-map.js b/client/node_modules/@babel/core/lib/transformation/file/merge-map.js new file mode 100644 index 0000000..1b60d5c --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/merge-map.js @@ -0,0 +1,37 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = mergeSourceMap; +function _remapping() { + const data = require("@jridgewell/remapping"); + _remapping = function () { + return data; + }; + return data; +} +function mergeSourceMap(inputMap, map, sourceFileName) { + const source = sourceFileName.replace(/\\/g, "/"); + let found = false; + const result = _remapping()(rootless(map), (s, ctx) => { + if (s === source && !found) { + found = true; + ctx.source = ""; + return rootless(inputMap); + } + return null; + }); + if (typeof inputMap.sourceRoot === "string") { + result.sourceRoot = inputMap.sourceRoot; + } + return Object.assign({}, result); +} +function rootless(map) { + return Object.assign({}, map, { + sourceRoot: null + }); +} +0 && 0; + +//# sourceMappingURL=merge-map.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/file/merge-map.js.map b/client/node_modules/@babel/core/lib/transformation/file/merge-map.js.map new file mode 100644 index 0000000..5afc533 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/file/merge-map.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_remapping","data","require","mergeSourceMap","inputMap","map","sourceFileName","source","replace","found","result","remapping","rootless","s","ctx","sourceRoot","Object","assign"],"sources":["../../../src/transformation/file/merge-map.ts"],"sourcesContent":["type SourceMap = any;\nimport remapping from \"@jridgewell/remapping\";\n\nexport default function mergeSourceMap(\n inputMap: SourceMap,\n map: SourceMap,\n sourceFileName: string,\n): SourceMap {\n // On win32 machines, the sourceFileName uses backslash paths like\n // `C:\\foo\\bar.js`. But sourcemaps are always posix paths, so we need to\n // normalize to regular slashes before we can merge (else we won't find the\n // source associated with our input map).\n // This mirrors code done while generating the output map at\n // https://github.com/babel/babel/blob/5c2fcadc9ae34fd20dd72b1111d5cf50476d700d/packages/babel-generator/src/source-map.ts#L102\n const source = sourceFileName.replace(/\\\\/g, \"/\");\n\n // Prevent an infinite recursion if one of the input map's sources has the\n // same resolved path as the input map. In the case, it would keep find the\n // input map, then get it's sources which will include a path like the input\n // map, on and on.\n let found = false;\n const result = remapping(rootless(map), (s, ctx) => {\n if (s === source && !found) {\n found = true;\n // We empty the source location, which will prevent the sourcemap from\n // becoming relative to the input's location. Eg, if we're transforming a\n // file 'foo/bar.js', and it is a transformation of a `baz.js` file in the\n // same directory, the expected output is just `baz.js`. Without this step,\n // it would become `foo/baz.js`.\n ctx.source = \"\";\n\n return rootless(inputMap);\n }\n\n return null;\n });\n\n if (typeof inputMap.sourceRoot === \"string\") {\n result.sourceRoot = inputMap.sourceRoot;\n }\n\n // remapping returns a SourceMap class type, but this breaks code downstream in\n // @babel/traverse and @babel/types that relies on data being plain objects.\n // When it encounters the sourcemap type it outputs a \"don't know how to turn\n // this value into a node\" error. As a result, we are converting the merged\n // sourcemap to a plain js object.\n return { ...result };\n}\n\nfunction rootless(map: SourceMap): SourceMap {\n return {\n ...map,\n\n // This is a bit hack. Remapping will create absolute sources in our\n // sourcemap, but we want to maintain sources relative to the sourceRoot.\n // We'll re-add the sourceRoot after remapping.\n sourceRoot: null,\n };\n}\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,SAASE,cAAcA,CACpCC,QAAmB,EACnBC,GAAc,EACdC,cAAsB,EACX;EAOX,MAAMC,MAAM,GAAGD,cAAc,CAACE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAMjD,IAAIC,KAAK,GAAG,KAAK;EACjB,MAAMC,MAAM,GAAGC,WAAQA,CAAC,CAACC,QAAQ,CAACP,GAAG,CAAC,EAAE,CAACQ,CAAC,EAAEC,GAAG,KAAK;IAClD,IAAID,CAAC,KAAKN,MAAM,IAAI,CAACE,KAAK,EAAE;MAC1BA,KAAK,GAAG,IAAI;MAMZK,GAAG,CAACP,MAAM,GAAG,EAAE;MAEf,OAAOK,QAAQ,CAACR,QAAQ,CAAC;IAC3B;IAEA,OAAO,IAAI;EACb,CAAC,CAAC;EAEF,IAAI,OAAOA,QAAQ,CAACW,UAAU,KAAK,QAAQ,EAAE;IAC3CL,MAAM,CAACK,UAAU,GAAGX,QAAQ,CAACW,UAAU;EACzC;EAOA,OAAAC,MAAA,CAAAC,MAAA,KAAYP,MAAM;AACpB;AAEA,SAASE,QAAQA,CAACP,GAAc,EAAa;EAC3C,OAAAW,MAAA,CAAAC,MAAA,KACKZ,GAAG;IAKNU,UAAU,EAAE;EAAI;AAEpB;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/index.js b/client/node_modules/@babel/core/lib/transformation/index.js new file mode 100644 index 0000000..3e4f5a5 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/index.js @@ -0,0 +1,90 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.run = run; +function _traverse() { + const data = require("@babel/traverse"); + _traverse = function () { + return data; + }; + return data; +} +var _pluginPass = require("./plugin-pass.js"); +var _blockHoistPlugin = require("./block-hoist-plugin.js"); +var _normalizeOpts = require("./normalize-opts.js"); +var _normalizeFile = require("./normalize-file.js"); +var _generate = require("./file/generate.js"); +var _deepArray = require("../config/helpers/deep-array.js"); +var _async = require("../gensync-utils/async.js"); +function* run(config, code, ast) { + const file = yield* (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast); + const opts = file.opts; + try { + yield* transformFile(file, config.passes); + } catch (e) { + var _opts$filename; + e.message = `${(_opts$filename = opts.filename) != null ? _opts$filename : "unknown file"}: ${e.message}`; + if (!e.code) { + e.code = "BABEL_TRANSFORM_ERROR"; + } + throw e; + } + let outputCode, outputMap; + try { + if (opts.code !== false) { + ({ + outputCode, + outputMap + } = (0, _generate.default)(config.passes, file)); + } + } catch (e) { + var _opts$filename2; + e.message = `${(_opts$filename2 = opts.filename) != null ? _opts$filename2 : "unknown file"}: ${e.message}`; + if (!e.code) { + e.code = "BABEL_GENERATE_ERROR"; + } + throw e; + } + return { + metadata: file.metadata, + options: opts, + ast: opts.ast === true ? file.ast : null, + code: outputCode === undefined ? null : outputCode, + map: outputMap === undefined ? null : outputMap, + sourceType: file.ast.program.sourceType, + externalDependencies: (0, _deepArray.flattenToSet)(config.externalDependencies) + }; +} +function* transformFile(file, pluginPasses) { + const async = yield* (0, _async.isAsync)(); + for (const pluginPairs of pluginPasses) { + const passPairs = []; + const passes = []; + const visitors = []; + for (const plugin of pluginPairs.concat([(0, _blockHoistPlugin.default)()])) { + const pass = new _pluginPass.default(file, plugin.key, plugin.options, async); + passPairs.push([plugin, pass]); + passes.push(pass); + visitors.push(plugin.visitor); + } + for (const [plugin, pass] of passPairs) { + if (plugin.pre) { + const fn = (0, _async.maybeAsync)(plugin.pre, `You appear to be using an async plugin/preset, but Babel has been called synchronously`); + yield* fn.call(pass, file); + } + } + const visitor = _traverse().default.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod); + (0, _traverse().default)(file.ast, visitor, file.scope); + for (const [plugin, pass] of passPairs) { + if (plugin.post) { + const fn = (0, _async.maybeAsync)(plugin.post, `You appear to be using an async plugin/preset, but Babel has been called synchronously`); + yield* fn.call(pass, file); + } + } + } +} +0 && 0; + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/index.js.map b/client/node_modules/@babel/core/lib/transformation/index.js.map new file mode 100644 index 0000000..9f816e0 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_traverse","data","require","_pluginPass","_blockHoistPlugin","_normalizeOpts","_normalizeFile","_generate","_deepArray","_async","run","config","code","ast","file","normalizeFile","passes","normalizeOptions","opts","transformFile","e","_opts$filename","message","filename","outputCode","outputMap","generateCode","_opts$filename2","metadata","options","undefined","map","sourceType","program","externalDependencies","flattenToSet","pluginPasses","async","isAsync","pluginPairs","passPairs","visitors","plugin","concat","loadBlockHoistPlugin","pass","PluginPass","key","push","visitor","pre","fn","maybeAsync","call","traverse","merge","wrapPluginVisitorMethod","scope","post"],"sources":["../../src/transformation/index.ts"],"sourcesContent":["import traverse from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type { GeneratorResult } from \"@babel/generator\";\n\nimport type { Handler } from \"gensync\";\n\nimport type { ResolvedConfig, Plugin, PluginPasses } from \"../config/index.ts\";\n\nimport PluginPass from \"./plugin-pass.ts\";\nimport loadBlockHoistPlugin from \"./block-hoist-plugin.ts\";\nimport normalizeOptions from \"./normalize-opts.ts\";\nimport normalizeFile from \"./normalize-file.ts\";\n\nimport generateCode from \"./file/generate.ts\";\nimport type File from \"./file/file.ts\";\n\nimport { flattenToSet } from \"../config/helpers/deep-array.ts\";\nimport { isAsync, maybeAsync } from \"../gensync-utils/async.ts\";\nimport type { SourceTypeOption } from \"../config/validation/options.ts\";\n\nexport type FileResultCallback = {\n (err: Error, file: null): void;\n (err: null, file: FileResult | null): void;\n};\n\nexport type FileResult = {\n metadata: Record;\n options: Record;\n ast: t.File | null;\n code: string | null;\n map: GeneratorResult[\"map\"];\n sourceType: Exclude;\n externalDependencies: Set;\n};\n\nexport function* run(\n config: ResolvedConfig,\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n const file = yield* normalizeFile(\n config.passes,\n normalizeOptions(config),\n code,\n ast,\n );\n\n const opts = file.opts;\n try {\n yield* transformFile(file, config.passes);\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_TRANSFORM_ERROR\";\n }\n throw e;\n }\n\n let outputCode, outputMap;\n try {\n if (opts.code !== false) {\n ({ outputCode, outputMap } = generateCode(config.passes, file));\n }\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_GENERATE_ERROR\";\n }\n throw e;\n }\n\n return {\n metadata: file.metadata,\n options: opts,\n ast: opts.ast === true ? file.ast : null,\n code: outputCode === undefined ? null : outputCode,\n map: outputMap === undefined ? null : outputMap,\n sourceType: file.ast.program.sourceType,\n externalDependencies: flattenToSet(config.externalDependencies),\n };\n}\n\nfunction* transformFile(file: File, pluginPasses: PluginPasses): Handler {\n const async = yield* isAsync();\n\n for (const pluginPairs of pluginPasses) {\n const passPairs: [Plugin, PluginPass][] = [];\n const passes = [];\n const visitors = [];\n\n for (const plugin of pluginPairs.concat([loadBlockHoistPlugin()])) {\n const pass = new PluginPass(file, plugin.key, plugin.options, async);\n\n passPairs.push([plugin, pass]);\n passes.push(pass);\n visitors.push(plugin.visitor);\n }\n\n for (const [plugin, pass] of passPairs) {\n if (plugin.pre) {\n const fn = maybeAsync(\n plugin.pre,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n yield* fn.call(pass, file);\n }\n }\n\n // merge all plugin visitors into a single visitor\n const visitor = traverse.visitors.merge(\n visitors,\n passes,\n file.opts.wrapPluginVisitorMethod,\n );\n if (process.env.BABEL_8_BREAKING) {\n traverse(file.ast.program, visitor, file.scope, null, file.path, true);\n } else {\n traverse(file.ast, visitor, file.scope);\n }\n\n for (const [plugin, pass] of passPairs) {\n if (plugin.post) {\n const fn = maybeAsync(\n plugin.post,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n yield* fn.call(pass, file);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/normalize-file.js b/client/node_modules/@babel/core/lib/transformation/normalize-file.js new file mode 100644 index 0000000..096d242 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/normalize-file.js @@ -0,0 +1,113 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeFile; +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +function _t() { + const data = require("@babel/types"); + _t = function () { + return data; + }; + return data; +} +function _convertSourceMap() { + const data = require("convert-source-map"); + _convertSourceMap = function () { + return data; + }; + return data; +} +var _readInputSourceMapFile = require("./read-input-source-map-file.js"); +var _file = require("./file/file.js"); +var _index = require("../parser/index.js"); +var _cloneDeep = require("./util/clone-deep.js"); +const { + file, + traverseFast +} = _t(); +const debug = _debug()("babel:transform:file"); +const INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,.*$/; +const EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/; +function* normalizeFile(pluginPasses, options, code, ast) { + code = `${code || ""}`; + if (ast) { + if (ast.type === "Program") { + ast = file(ast, [], []); + } else if (ast.type !== "File") { + throw new Error("AST root must be a Program or File node"); + } + if (options.cloneInputAst) { + ast = (0, _cloneDeep.default)(ast); + } + } else { + ast = yield* (0, _index.default)(pluginPasses, options, code); + } + let inputMap = null; + if (options.inputSourceMap !== false) { + if (typeof options.inputSourceMap === "object") { + inputMap = _convertSourceMap().fromObject(options.inputSourceMap); + } + if (!inputMap) { + const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast); + if (lastComment) { + try { + inputMap = _convertSourceMap().fromComment("//" + lastComment); + } catch (err) { + debug("discarding unknown inline input sourcemap"); + } + } + } + if (!inputMap) { + const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast); + if (typeof options.filename === "string" && lastComment) { + try { + const inputMapURL = EXTERNAL_SOURCEMAP_REGEX.exec(lastComment)[1]; + inputMap = (0, _readInputSourceMapFile.default)(options.filename, options.root, inputMapURL); + } catch (err) { + debug("discarding unknown file input sourcemap", err); + } + } else if (lastComment) { + debug("discarding un-loadable file input sourcemap"); + } + } + } + return new _file.default(options, { + code, + ast: ast, + inputMap + }); +} +function extractCommentsFromList(regex, comments, lastComment) { + if (comments) { + comments = comments.filter(({ + value + }) => { + if (regex.test(value)) { + lastComment = value; + return false; + } + return true; + }); + } + return [comments, lastComment]; +} +function extractComments(regex, ast) { + let lastComment = null; + traverseFast(ast, node => { + [node.leadingComments, lastComment] = extractCommentsFromList(regex, node.leadingComments, lastComment); + [node.innerComments, lastComment] = extractCommentsFromList(regex, node.innerComments, lastComment); + [node.trailingComments, lastComment] = extractCommentsFromList(regex, node.trailingComments, lastComment); + }); + return lastComment; +} +0 && 0; + +//# sourceMappingURL=normalize-file.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/normalize-file.js.map b/client/node_modules/@babel/core/lib/transformation/normalize-file.js.map new file mode 100644 index 0000000..5e4ab06 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/normalize-file.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_debug","data","require","_t","_convertSourceMap","_readInputSourceMapFile","_file","_index","_cloneDeep","file","traverseFast","debug","buildDebug","INLINE_SOURCEMAP_REGEX","EXTERNAL_SOURCEMAP_REGEX","normalizeFile","pluginPasses","options","code","ast","type","Error","cloneInputAst","cloneDeep","parser","inputMap","inputSourceMap","convertSourceMap","fromObject","lastComment","extractComments","fromComment","err","filename","inputMapURL","exec","readInputSourceMapFile","root","File","extractCommentsFromList","regex","comments","filter","value","test","node","leadingComments","innerComments","trailingComments"],"sources":["../../src/transformation/normalize-file.ts"],"sourcesContent":["import buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { file, traverseFast } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { PluginPasses } from \"../config/index.ts\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { SourceMapConverter as Converter } from \"convert-source-map\";\nimport readInputSourceMapFile from \"./read-input-source-map-file.ts\";\nimport File from \"./file/file.ts\";\nimport parser from \"../parser/index.ts\";\nimport cloneDeep from \"./util/clone-deep.ts\";\nimport type { ResolvedOptions } from \"../config/validation/options.ts\";\n\nconst debug = buildDebug(\"babel:transform:file\");\n\n// These regexps are copied from the convert-source-map package,\n// but without // or /* at the beginning of the comment.\n\nconst INLINE_SOURCEMAP_REGEX =\n /^[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,.*$/;\nconst EXTERNAL_SOURCEMAP_REGEX =\n /^[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+)[ \\t]*$/;\n\nexport type NormalizedFile = {\n code: string;\n ast: t.File;\n inputMap: Converter | null;\n};\n\nexport default function* normalizeFile(\n pluginPasses: PluginPasses,\n options: ResolvedOptions,\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n code = `${code || \"\"}`;\n\n if (ast) {\n if (ast.type === \"Program\") {\n ast = file(ast, [], []);\n } else if (ast.type !== \"File\") {\n throw new Error(\"AST root must be a Program or File node\");\n }\n\n if (options.cloneInputAst) {\n ast = cloneDeep(ast);\n }\n } else {\n ast = yield* parser(pluginPasses, options, code);\n }\n\n let inputMap = null;\n if (options.inputSourceMap !== false) {\n // If an explicit object is passed in, it overrides the processing of\n // source maps that may be in the file itself.\n if (typeof options.inputSourceMap === \"object\") {\n inputMap = convertSourceMap.fromObject(options.inputSourceMap);\n }\n\n if (!inputMap) {\n const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);\n if (lastComment) {\n try {\n inputMap = convertSourceMap.fromComment(\"//\" + lastComment);\n } catch (err) {\n if (process.env.BABEL_8_BREAKING) {\n console.warn(\n \"discarding unknown inline input sourcemap\",\n options.filename,\n err,\n );\n } else {\n debug(\"discarding unknown inline input sourcemap\");\n }\n }\n }\n }\n\n if (!inputMap) {\n const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);\n if (typeof options.filename === \"string\" && lastComment) {\n try {\n // when `lastComment` is non-null, EXTERNAL_SOURCEMAP_REGEX must have matches\n const inputMapURL: string =\n EXTERNAL_SOURCEMAP_REGEX.exec(lastComment)[1];\n inputMap = readInputSourceMapFile(\n options.filename,\n options.root,\n inputMapURL,\n );\n } catch (err) {\n debug(\"discarding unknown file input sourcemap\", err);\n }\n } else if (lastComment) {\n debug(\"discarding un-loadable file input sourcemap\");\n }\n }\n }\n\n return new File(options, {\n code,\n ast: ast,\n inputMap,\n });\n}\n\nfunction extractCommentsFromList(\n regex: RegExp,\n comments: t.Comment[],\n lastComment: string | null,\n): [t.Comment[], string | null] {\n if (comments) {\n comments = comments.filter(({ value }) => {\n if (regex.test(value)) {\n lastComment = value;\n return false;\n }\n return true;\n });\n }\n return [comments, lastComment];\n}\n\nfunction extractComments(regex: RegExp, ast: t.Node) {\n let lastComment: string = null;\n traverseFast(ast, node => {\n [node.leadingComments, lastComment] = extractCommentsFromList(\n regex,\n node.leadingComments,\n lastComment,\n );\n [node.innerComments, lastComment] = extractCommentsFromList(\n regex,\n node.innerComments,\n lastComment,\n );\n [node.trailingComments, lastComment] = extractCommentsFromList(\n regex,\n node.trailingComments,\n lastComment,\n );\n });\n return lastComment;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/normalize-opts.js b/client/node_modules/@babel/core/lib/transformation/normalize-opts.js new file mode 100644 index 0000000..c4d9d8b --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/normalize-opts.js @@ -0,0 +1,59 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeOptions; +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function normalizeOptions(config) { + const { + filename, + cwd, + filenameRelative = typeof filename === "string" ? _path().relative(cwd, filename) : "unknown", + sourceType = "module", + inputSourceMap, + sourceMaps = !!inputSourceMap, + sourceRoot = config.options.moduleRoot, + sourceFileName = _path().basename(filenameRelative), + comments = true, + compact = "auto" + } = config.options; + const opts = config.options; + const options = Object.assign({}, opts, { + parserOpts: Object.assign({ + sourceType: _path().extname(filenameRelative) === ".mjs" ? "module" : sourceType, + sourceFileName: filename, + plugins: [] + }, opts.parserOpts), + generatorOpts: Object.assign({ + filename, + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + retainLines: opts.retainLines, + comments, + shouldPrintComment: opts.shouldPrintComment, + compact, + minified: opts.minified, + sourceMaps: !!sourceMaps, + sourceRoot, + sourceFileName + }, opts.generatorOpts) + }); + for (const plugins of config.passes) { + for (const plugin of plugins) { + if (plugin.manipulateOptions) { + plugin.manipulateOptions(options, options.parserOpts); + } + } + } + return options; +} +0 && 0; + +//# sourceMappingURL=normalize-opts.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/normalize-opts.js.map b/client/node_modules/@babel/core/lib/transformation/normalize-opts.js.map new file mode 100644 index 0000000..1439fa9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/normalize-opts.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_path","data","require","normalizeOptions","config","filename","cwd","filenameRelative","path","relative","sourceType","inputSourceMap","sourceMaps","sourceRoot","options","moduleRoot","sourceFileName","basename","comments","compact","opts","Object","assign","parserOpts","extname","plugins","generatorOpts","auxiliaryCommentBefore","auxiliaryCommentAfter","retainLines","shouldPrintComment","minified","passes","plugin","manipulateOptions"],"sources":["../../src/transformation/normalize-opts.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { ResolvedConfig } from \"../config/index.ts\";\nimport type { ResolvedOptions } from \"../config/validation/options.ts\";\n\nexport default function normalizeOptions(\n config: ResolvedConfig,\n): ResolvedOptions {\n const {\n filename,\n cwd,\n filenameRelative = typeof filename === \"string\"\n ? path.relative(cwd, filename)\n : \"unknown\",\n sourceType = \"module\",\n inputSourceMap,\n sourceMaps = !!inputSourceMap,\n sourceRoot = process.env.BABEL_8_BREAKING\n ? undefined\n : // @ts-ignore(Babel 7 vs Babel 8) moduleRoot is a Babel 7 option\n config.options.moduleRoot,\n\n sourceFileName = path.basename(filenameRelative),\n\n comments = true,\n compact = \"auto\",\n } = config.options;\n\n const opts = config.options;\n\n const options: ResolvedOptions = {\n ...opts,\n\n parserOpts: {\n sourceType:\n path.extname(filenameRelative) === \".mjs\" ? \"module\" : sourceType,\n\n // @ts-expect-error We should have passed `sourceFilename` here\n // pending https://github.com/babel/babel/issues/15917#issuecomment-2789278964\n sourceFileName: filename,\n plugins: [],\n ...opts.parserOpts,\n },\n\n generatorOpts: {\n // General generator flags.\n filename,\n\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n retainLines: opts.retainLines,\n comments,\n shouldPrintComment: opts.shouldPrintComment,\n compact,\n minified: opts.minified,\n\n // Source-map generation flags.\n // babel-generator does not differentiate between `true`, `\"inline\"` or `\"both\"`\n sourceMaps: !!sourceMaps,\n sourceRoot,\n sourceFileName,\n\n ...opts.generatorOpts,\n },\n };\n\n for (const plugins of config.passes) {\n for (const plugin of plugins) {\n if (plugin.manipulateOptions) {\n plugin.manipulateOptions(options, options.parserOpts);\n }\n }\n }\n\n return options;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIe,SAASE,gBAAgBA,CACtCC,MAAsB,EACL;EACjB,MAAM;IACJC,QAAQ;IACRC,GAAG;IACHC,gBAAgB,GAAG,OAAOF,QAAQ,KAAK,QAAQ,GAC3CG,MAAGA,CAAC,CAACC,QAAQ,CAACH,GAAG,EAAED,QAAQ,CAAC,GAC5B,SAAS;IACbK,UAAU,GAAG,QAAQ;IACrBC,cAAc;IACdC,UAAU,GAAG,CAAC,CAACD,cAAc;IAC7BE,UAAU,GAGNT,MAAM,CAACU,OAAO,CAACC,UAAU;IAE7BC,cAAc,GAAGR,MAAGA,CAAC,CAACS,QAAQ,CAACV,gBAAgB,CAAC;IAEhDW,QAAQ,GAAG,IAAI;IACfC,OAAO,GAAG;EACZ,CAAC,GAAGf,MAAM,CAACU,OAAO;EAElB,MAAMM,IAAI,GAAGhB,MAAM,CAACU,OAAO;EAE3B,MAAMA,OAAwB,GAAAO,MAAA,CAAAC,MAAA,KACzBF,IAAI;IAEPG,UAAU,EAAAF,MAAA,CAAAC,MAAA;MACRZ,UAAU,EACRF,MAAGA,CAAC,CAACgB,OAAO,CAACjB,gBAAgB,CAAC,KAAK,MAAM,GAAG,QAAQ,GAAGG,UAAU;MAInEM,cAAc,EAAEX,QAAQ;MACxBoB,OAAO,EAAE;IAAE,GACRL,IAAI,CAACG,UAAU,CACnB;IAEDG,aAAa,EAAAL,MAAA,CAAAC,MAAA;MAEXjB,QAAQ;MAERsB,sBAAsB,EAAEP,IAAI,CAACO,sBAAsB;MACnDC,qBAAqB,EAAER,IAAI,CAACQ,qBAAqB;MACjDC,WAAW,EAAET,IAAI,CAACS,WAAW;MAC7BX,QAAQ;MACRY,kBAAkB,EAAEV,IAAI,CAACU,kBAAkB;MAC3CX,OAAO;MACPY,QAAQ,EAAEX,IAAI,CAACW,QAAQ;MAIvBnB,UAAU,EAAE,CAAC,CAACA,UAAU;MACxBC,UAAU;MACVG;IAAc,GAEXI,IAAI,CAACM,aAAa;EACtB,EACF;EAED,KAAK,MAAMD,OAAO,IAAIrB,MAAM,CAAC4B,MAAM,EAAE;IACnC,KAAK,MAAMC,MAAM,IAAIR,OAAO,EAAE;MAC5B,IAAIQ,MAAM,CAACC,iBAAiB,EAAE;QAC5BD,MAAM,CAACC,iBAAiB,CAACpB,OAAO,EAAEA,OAAO,CAACS,UAAU,CAAC;MACvD;IACF;EACF;EAEA,OAAOT,OAAO;AAChB;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/plugin-pass.js b/client/node_modules/@babel/core/lib/transformation/plugin-pass.js new file mode 100644 index 0000000..1b91307 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/plugin-pass.js @@ -0,0 +1,48 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +class PluginPass { + constructor(file, key, options, isAsync) { + this._map = new Map(); + this.key = void 0; + this.file = void 0; + this.opts = void 0; + this.cwd = void 0; + this.filename = void 0; + this.isAsync = void 0; + this.key = key; + this.file = file; + this.opts = options || {}; + this.cwd = file.opts.cwd; + this.filename = file.opts.filename; + this.isAsync = isAsync; + } + set(key, val) { + this._map.set(key, val); + } + get(key) { + return this._map.get(key); + } + availableHelper(name, versionRange) { + return this.file.availableHelper(name, versionRange); + } + addHelper(name) { + return this.file.addHelper(name); + } + buildCodeFrameError(node, msg, _Error) { + return this.file.buildCodeFrameError(node, msg, _Error); + } +} +exports.default = PluginPass; +PluginPass.prototype.getModuleName = function getModuleName() { + return this.file.getModuleName(); +}; +PluginPass.prototype.addImport = function addImport() { + this.file.addImport(); +}; +0 && 0; + +//# sourceMappingURL=plugin-pass.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/plugin-pass.js.map b/client/node_modules/@babel/core/lib/transformation/plugin-pass.js.map new file mode 100644 index 0000000..888f99e --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/plugin-pass.js.map @@ -0,0 +1 @@ +{"version":3,"names":["PluginPass","constructor","file","key","options","isAsync","_map","Map","opts","cwd","filename","set","val","get","availableHelper","name","versionRange","addHelper","buildCodeFrameError","node","msg","_Error","exports","default","prototype","getModuleName","addImport"],"sources":["../../src/transformation/plugin-pass.ts"],"sourcesContent":["import type * as t from \"@babel/types\";\nimport type File from \"./file/file.ts\";\n\nexport default class PluginPass {\n _map = new Map();\n key: string | undefined | null;\n file: File;\n opts: Partial;\n\n /**\n * The working directory that Babel's programmatic options are loaded\n * relative to.\n */\n cwd: string;\n\n /** The absolute path of the file being compiled. */\n filename: string | void;\n\n /**\n * Is Babel executed in async mode or not.\n */\n isAsync: boolean;\n\n constructor(\n file: File,\n key: string | null,\n options: Options | undefined,\n isAsync: boolean,\n ) {\n this.key = key;\n this.file = file;\n this.opts = options || {};\n this.cwd = file.opts.cwd;\n this.filename = file.opts.filename;\n this.isAsync = isAsync;\n }\n\n set(key: unknown, val: unknown) {\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n availableHelper(name: string, versionRange?: string | null) {\n return this.file.availableHelper(name, versionRange);\n }\n\n addHelper(name: string) {\n return this.file.addHelper(name);\n }\n\n buildCodeFrameError(\n node: t.Node | undefined | null,\n msg: string,\n _Error?: typeof Error,\n ) {\n return this.file.buildCodeFrameError(node, msg, _Error);\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n (PluginPass as any).prototype.getModuleName = function getModuleName(\n this: PluginPass,\n ): string | undefined {\n // @ts-expect-error only exists in Babel 7\n return this.file.getModuleName();\n };\n (PluginPass as any).prototype.addImport = function addImport(\n this: PluginPass,\n ): void {\n // @ts-expect-error only exists in Babel 7\n this.file.addImport();\n };\n}\n"],"mappings":";;;;;;AAGe,MAAMA,UAAU,CAAmB;EAoBhDC,WAAWA,CACTC,IAAU,EACVC,GAAkB,EAClBC,OAA4B,EAC5BC,OAAgB,EAChB;IAAA,KAxBFC,IAAI,GAAG,IAAIC,GAAG,CAAmB,CAAC;IAAA,KAClCJ,GAAG;IAAA,KACHD,IAAI;IAAA,KACJM,IAAI;IAAA,KAMJC,GAAG;IAAA,KAGHC,QAAQ;IAAA,KAKRL,OAAO;IAQL,IAAI,CAACF,GAAG,GAAGA,GAAG;IACd,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACM,IAAI,GAAGJ,OAAO,IAAI,CAAC,CAAC;IACzB,IAAI,CAACK,GAAG,GAAGP,IAAI,CAACM,IAAI,CAACC,GAAG;IACxB,IAAI,CAACC,QAAQ,GAAGR,IAAI,CAACM,IAAI,CAACE,QAAQ;IAClC,IAAI,CAACL,OAAO,GAAGA,OAAO;EACxB;EAEAM,GAAGA,CAACR,GAAY,EAAES,GAAY,EAAE;IAC9B,IAAI,CAACN,IAAI,CAACK,GAAG,CAACR,GAAG,EAAES,GAAG,CAAC;EACzB;EAEAC,GAAGA,CAACV,GAAY,EAAO;IACrB,OAAO,IAAI,CAACG,IAAI,CAACO,GAAG,CAACV,GAAG,CAAC;EAC3B;EAEAW,eAAeA,CAACC,IAAY,EAAEC,YAA4B,EAAE;IAC1D,OAAO,IAAI,CAACd,IAAI,CAACY,eAAe,CAACC,IAAI,EAAEC,YAAY,CAAC;EACtD;EAEAC,SAASA,CAACF,IAAY,EAAE;IACtB,OAAO,IAAI,CAACb,IAAI,CAACe,SAAS,CAACF,IAAI,CAAC;EAClC;EAEAG,mBAAmBA,CACjBC,IAA+B,EAC/BC,GAAW,EACXC,MAAqB,EACrB;IACA,OAAO,IAAI,CAACnB,IAAI,CAACgB,mBAAmB,CAACC,IAAI,EAAEC,GAAG,EAAEC,MAAM,CAAC;EACzD;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAvB,UAAA;AAGEA,UAAU,CAASwB,SAAS,CAACC,aAAa,GAAG,SAASA,aAAaA,CAAA,EAE9C;EAEpB,OAAO,IAAI,CAACvB,IAAI,CAACuB,aAAa,CAAC,CAAC;AAClC,CAAC;AACAzB,UAAU,CAASwB,SAAS,CAACE,SAAS,GAAG,SAASA,SAASA,CAAA,EAEpD;EAEN,IAAI,CAACxB,IAAI,CAACwB,SAAS,CAAC,CAAC;AACvB,CAAC;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js new file mode 100644 index 0000000..38d0893 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js @@ -0,0 +1,12 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = readInputSourceMapFile; +function readInputSourceMapFile() { + throw new Error("Reading input source map files is not supported in browsers"); +} +0 && 0; + +//# sourceMappingURL=read-input-source-map-file-browser.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js.map b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js.map new file mode 100644 index 0000000..7166968 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file-browser.js.map @@ -0,0 +1 @@ +{"version":3,"names":["readInputSourceMapFile","Error"],"sources":["../../src/transformation/read-input-source-map-file-browser.ts"],"sourcesContent":["export default function readInputSourceMapFile(): never {\n throw new Error(\n \"Reading input source map files is not supported in browsers\",\n );\n}\n"],"mappings":";;;;;;AAAe,SAASA,sBAAsBA,CAAA,EAAU;EACtD,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;AACH;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js new file mode 100644 index 0000000..0890fe8 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js @@ -0,0 +1,88 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = readInputSourceMapFile; +function _fs() { + const data = require("fs"); + _fs = function () { + return data; + }; + return data; +} +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _debug() { + const data = require("debug"); + _debug = function () { + return data; + }; + return data; +} +function _convertSourceMap() { + const data = require("convert-source-map"); + _convertSourceMap = function () { + return data; + }; + return data; +} +const debug = _debug()("babel:transform:file"); +function findUpSync(name, { + cwd, + stopAt +} = {}) { + let directory = _path().resolve(cwd || ""); + const { + root + } = _path().parse(directory); + stopAt = _path().resolve(directory, stopAt || root); + const isAbsoluteName = _path().isAbsolute(name); + while (directory) { + const filePath = isAbsoluteName ? name : _path().join(directory, name); + try { + const stats = _fs().statSync(filePath); + if (stats.isFile()) { + return filePath; + } + } catch (_) {} + if (directory === stopAt || directory === root) { + break; + } + directory = _path().dirname(directory); + } +} +function getInputMapPath(filename, root, inputMapURL) { + const inputFileDir = _path().dirname(filename); + const inputMapPath = _path().resolve(inputFileDir, inputMapURL); + const relativeToInputFileDir = _path().relative(inputFileDir, inputMapPath); + if (relativeToInputFileDir.startsWith("..") || _path().isAbsolute(relativeToInputFileDir)) { + const inputPackageJSONPath = findUpSync("package.json", { + cwd: inputFileDir, + stopAt: root + }); + const inputFileRoot = inputPackageJSONPath ? _path().dirname(inputPackageJSONPath) : root; + const relativeInputMapPath = _path().relative(inputFileRoot, inputMapPath); + if (relativeInputMapPath.startsWith("..") || _path().isAbsolute(relativeInputMapPath)) { + debug(`discarding input sourcemap "${inputMapPath}" outside of package root "${inputFileRoot}"`); + return null; + } + } + return inputMapPath; +} +function readInputSourceMapFile(filename, root, inputMapURL) { + const inputMapPath = getInputMapPath(filename, root, inputMapURL); + if (inputMapPath) { + const inputMapContent = _fs().readFileSync(inputMapPath, "utf8"); + return _convertSourceMap().fromJSON(inputMapContent); + } + return null; +} +0 && 0; + +//# sourceMappingURL=read-input-source-map-file.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js.map b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js.map new file mode 100644 index 0000000..2aa5381 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/read-input-source-map-file.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_fs","data","require","_path","_debug","_convertSourceMap","debug","buildDebug","findUpSync","name","cwd","stopAt","directory","path","resolve","root","parse","isAbsoluteName","isAbsolute","filePath","join","stats","fs","statSync","isFile","_","dirname","getInputMapPath","filename","inputMapURL","inputFileDir","inputMapPath","relativeToInputFileDir","relative","startsWith","inputPackageJSONPath","inputFileRoot","relativeInputMapPath","readInputSourceMapFile","inputMapContent","readFileSync","convertSourceMap","fromJSON"],"sources":["../../src/transformation/read-input-source-map-file.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport buildDebug from \"debug\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { SourceMapConverter } from \"convert-source-map\";\n\nconst debug = buildDebug(\"babel:transform:file\");\n\n// Revised from https://github.com/sindresorhus/find-up-simple/blob/f10133c55dcbf36f84a246c6f1bbfed178dcb774/index.js#L36\n// for Node.js 6 compatibility\nfunction findUpSync(\n name: string,\n {\n cwd,\n stopAt,\n }: {\n cwd?: string;\n stopAt?: string;\n } = {},\n) {\n let directory = path.resolve(cwd || \"\");\n const { root } = path.parse(directory);\n stopAt = path.resolve(directory, stopAt || root);\n const isAbsoluteName = path.isAbsolute(name);\n\n while (directory) {\n const filePath = isAbsoluteName ? name : path.join(directory, name);\n\n try {\n const stats = fs.statSync(filePath);\n if (stats.isFile()) {\n return filePath;\n }\n } catch (_) {}\n\n if (directory === stopAt || directory === root) {\n break;\n }\n\n directory = path.dirname(directory);\n }\n}\n\nfunction getInputMapPath(\n filename: string,\n root: string,\n inputMapURL: string,\n): string | null {\n const inputFileDir = path.dirname(filename);\n const inputMapPath = path.resolve(inputFileDir, inputMapURL);\n const relativeToInputFileDir = path.relative(inputFileDir, inputMapPath);\n\n if (\n relativeToInputFileDir.startsWith(\"..\") ||\n path.isAbsolute(relativeToInputFileDir)\n ) {\n const inputPackageJSONPath = findUpSync(\"package.json\", {\n cwd: inputFileDir,\n stopAt: root,\n });\n const inputFileRoot = inputPackageJSONPath\n ? path.dirname(inputPackageJSONPath)\n : root;\n const relativeInputMapPath = path.relative(inputFileRoot, inputMapPath);\n if (\n relativeInputMapPath.startsWith(\"..\") ||\n path.isAbsolute(relativeInputMapPath)\n ) {\n debug(\n `discarding input sourcemap \"${inputMapPath}\" outside of package root \"${inputFileRoot}\"`,\n );\n return null;\n }\n }\n return inputMapPath;\n}\n\nexport default function readInputSourceMapFile(\n filename: string,\n root: string,\n inputMapURL: string,\n): SourceMapConverter | null {\n const inputMapPath = getInputMapPath(filename, root, inputMapURL);\n if (inputMapPath) {\n const inputMapContent = fs.readFileSync(inputMapPath, \"utf8\");\n return convertSourceMap.fromJSON(inputMapContent);\n }\n return null;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js b/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js new file mode 100644 index 0000000..a915149 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js @@ -0,0 +1,54 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +const circleSet = new Set(); +let depth = 0; +function deepClone(value, cache, allowCircle) { + if (value !== null) { + if (allowCircle) { + if (cache.has(value)) return cache.get(value); + } else if (++depth > 250) { + if (circleSet.has(value)) { + depth = 0; + circleSet.clear(); + throw new Error("Babel-deepClone: Cycles are not allowed in AST"); + } + circleSet.add(value); + } + let cloned; + if (Array.isArray(value)) { + cloned = new Array(value.length); + if (allowCircle) cache.set(value, cloned); + for (let i = 0; i < value.length; i++) { + cloned[i] = typeof value[i] !== "object" ? value[i] : deepClone(value[i], cache, allowCircle); + } + } else { + cloned = {}; + if (allowCircle) cache.set(value, cloned); + const keys = Object.keys(value); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + cloned[key] = typeof value[key] !== "object" ? value[key] : deepClone(value[key], cache, allowCircle || key === "leadingComments" || key === "innerComments" || key === "trailingComments" || key === "extra"); + } + } + if (!allowCircle) { + if (depth-- > 250) circleSet.delete(value); + } + return cloned; + } + return value; +} +function _default(value) { + if (typeof value !== "object") return value; + try { + return deepClone(value, new Map(), true); + } catch (_) { + return structuredClone(value); + } +} +0 && 0; + +//# sourceMappingURL=clone-deep.js.map diff --git a/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map b/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map new file mode 100644 index 0000000..947b6c9 --- /dev/null +++ b/client/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map @@ -0,0 +1 @@ +{"version":3,"names":["circleSet","Set","depth","deepClone","value","cache","allowCircle","has","get","clear","Error","add","cloned","Array","isArray","length","set","i","keys","Object","key","delete","_default","Map","_","structuredClone"],"sources":["../../../src/transformation/util/clone-deep.ts"],"sourcesContent":["const circleSet = new Set();\nlet depth = 0;\n// https://github.com/babel/babel/pull/14583#discussion_r882828856\nfunction deepClone(\n value: any,\n cache: Map,\n allowCircle: boolean,\n): any {\n if (value !== null) {\n if (allowCircle) {\n if (cache.has(value)) return cache.get(value);\n } else if (++depth > 250) {\n if (circleSet.has(value)) {\n depth = 0;\n circleSet.clear();\n throw new Error(\"Babel-deepClone: Cycles are not allowed in AST\");\n }\n circleSet.add(value);\n }\n let cloned: any;\n if (Array.isArray(value)) {\n cloned = new Array(value.length);\n if (allowCircle) cache.set(value, cloned);\n for (let i = 0; i < value.length; i++) {\n cloned[i] =\n typeof value[i] !== \"object\"\n ? value[i]\n : deepClone(value[i], cache, allowCircle);\n }\n } else {\n cloned = {};\n if (allowCircle) cache.set(value, cloned);\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n cloned[key] =\n typeof value[key] !== \"object\"\n ? value[key]\n : deepClone(\n value[key],\n cache,\n allowCircle ||\n key === \"leadingComments\" ||\n key === \"innerComments\" ||\n key === \"trailingComments\" ||\n key === \"extra\",\n );\n }\n }\n if (!allowCircle) {\n if (depth-- > 250) circleSet.delete(value);\n }\n return cloned;\n }\n return value;\n}\n\nexport default function (value: T): T {\n if (typeof value !== \"object\") return value;\n\n if (process.env.BABEL_8_BREAKING) {\n if (!process.env.IS_PUBLISH && depth > 0) {\n throw new Error(\"depth > 0\");\n }\n return deepClone(value, new Map(), false);\n } else {\n try {\n return deepClone(value, new Map(), true);\n } catch (_) {\n return structuredClone(value);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,MAAMA,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;AAC3B,IAAIC,KAAK,GAAG,CAAC;AAEb,SAASC,SAASA,CAChBC,KAAU,EACVC,KAAoB,EACpBC,WAAoB,EACf;EACL,IAAIF,KAAK,KAAK,IAAI,EAAE;IAClB,IAAIE,WAAW,EAAE;MACf,IAAID,KAAK,CAACE,GAAG,CAACH,KAAK,CAAC,EAAE,OAAOC,KAAK,CAACG,GAAG,CAACJ,KAAK,CAAC;IAC/C,CAAC,MAAM,IAAI,EAAEF,KAAK,GAAG,GAAG,EAAE;MACxB,IAAIF,SAAS,CAACO,GAAG,CAACH,KAAK,CAAC,EAAE;QACxBF,KAAK,GAAG,CAAC;QACTF,SAAS,CAACS,KAAK,CAAC,CAAC;QACjB,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;MACnE;MACAV,SAAS,CAACW,GAAG,CAACP,KAAK,CAAC;IACtB;IACA,IAAIQ,MAAW;IACf,IAAIC,KAAK,CAACC,OAAO,CAACV,KAAK,CAAC,EAAE;MACxBQ,MAAM,GAAG,IAAIC,KAAK,CAACT,KAAK,CAACW,MAAM,CAAC;MAChC,IAAIT,WAAW,EAAED,KAAK,CAACW,GAAG,CAACZ,KAAK,EAAEQ,MAAM,CAAC;MACzC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,KAAK,CAACW,MAAM,EAAEE,CAAC,EAAE,EAAE;QACrCL,MAAM,CAACK,CAAC,CAAC,GACP,OAAOb,KAAK,CAACa,CAAC,CAAC,KAAK,QAAQ,GACxBb,KAAK,CAACa,CAAC,CAAC,GACRd,SAAS,CAACC,KAAK,CAACa,CAAC,CAAC,EAAEZ,KAAK,EAAEC,WAAW,CAAC;MAC/C;IACF,CAAC,MAAM;MACLM,MAAM,GAAG,CAAC,CAAC;MACX,IAAIN,WAAW,EAAED,KAAK,CAACW,GAAG,CAACZ,KAAK,EAAEQ,MAAM,CAAC;MACzC,MAAMM,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACd,KAAK,CAAC;MAC/B,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACH,MAAM,EAAEE,CAAC,EAAE,EAAE;QACpC,MAAMG,GAAG,GAAGF,IAAI,CAACD,CAAC,CAAC;QACnBL,MAAM,CAACQ,GAAG,CAAC,GACT,OAAOhB,KAAK,CAACgB,GAAG,CAAC,KAAK,QAAQ,GAC1BhB,KAAK,CAACgB,GAAG,CAAC,GACVjB,SAAS,CACPC,KAAK,CAACgB,GAAG,CAAC,EACVf,KAAK,EACLC,WAAW,IACTc,GAAG,KAAK,iBAAiB,IACzBA,GAAG,KAAK,eAAe,IACvBA,GAAG,KAAK,kBAAkB,IAC1BA,GAAG,KAAK,OACZ,CAAC;MACT;IACF;IACA,IAAI,CAACd,WAAW,EAAE;MAChB,IAAIJ,KAAK,EAAE,GAAG,GAAG,EAAEF,SAAS,CAACqB,MAAM,CAACjB,KAAK,CAAC;IAC5C;IACA,OAAOQ,MAAM;EACf;EACA,OAAOR,KAAK;AACd;AAEe,SAAAkB,SAAalB,KAAQ,EAAK;EACvC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAQzC,IAAI;IACF,OAAOD,SAAS,CAACC,KAAK,EAAE,IAAImB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;EAC1C,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,OAAOC,eAAe,CAACrB,KAAK,CAAC;EAC/B;AAEJ;AAAC","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js b/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js new file mode 100644 index 0000000..90a5911 --- /dev/null +++ b/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js @@ -0,0 +1,1042 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.moduleResolve = moduleResolve; +exports.resolve = resolve; +function _assert() { + const data = require("assert"); + _assert = function () { + return data; + }; + return data; +} +function _fs() { + const data = _interopRequireWildcard(require("fs"), true); + _fs = function () { + return data; + }; + return data; +} +function _process() { + const data = require("process"); + _process = function () { + return data; + }; + return data; +} +function _url() { + const data = require("url"); + _url = function () { + return data; + }; + return data; +} +function _path() { + const data = require("path"); + _path = function () { + return data; + }; + return data; +} +function _module() { + const data = require("module"); + _module = function () { + return data; + }; + return data; +} +function _v() { + const data = require("v8"); + _v = function () { + return data; + }; + return data; +} +function _util() { + const data = require("util"); + _util = function () { + return data; + }; + return data; +} +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } +const own$1 = {}.hasOwnProperty; +const classRegExp = /^([A-Z][a-z\d]*)+$/; +const kTypes = new Set(['string', 'function', 'number', 'object', 'Function', 'Object', 'boolean', 'bigint', 'symbol']); +const codes = {}; +function formatList(array, type = 'and') { + return array.length < 3 ? array.join(` ${type} `) : `${array.slice(0, -1).join(', ')}, ${type} ${array[array.length - 1]}`; +} +const messages = new Map(); +const nodeInternalPrefix = '__node_internal_'; +let userStackTraceLimit; +codes.ERR_INVALID_ARG_TYPE = createError('ERR_INVALID_ARG_TYPE', (name, expected, actual) => { + _assert()(typeof name === 'string', "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let message = 'The '; + if (name.endsWith(' argument')) { + message += `${name} `; + } else { + const type = name.includes('.') ? 'property' : 'argument'; + message += `"${name}" ${type} `; + } + message += 'must be '; + const types = []; + const instances = []; + const other = []; + for (const value of expected) { + _assert()(typeof value === 'string', 'All expected entries have to be of type string'); + if (kTypes.has(value)) { + types.push(value.toLowerCase()); + } else if (classRegExp.exec(value) === null) { + _assert()(value !== 'object', 'The value "object" should be written as "Object"'); + other.push(value); + } else { + instances.push(value); + } + } + if (instances.length > 0) { + const pos = types.indexOf('object'); + if (pos !== -1) { + types.slice(pos, 1); + instances.push('Object'); + } + } + if (types.length > 0) { + message += `${types.length > 1 ? 'one of type' : 'of type'} ${formatList(types, 'or')}`; + if (instances.length > 0 || other.length > 0) message += ' or '; + } + if (instances.length > 0) { + message += `an instance of ${formatList(instances, 'or')}`; + if (other.length > 0) message += ' or '; + } + if (other.length > 0) { + if (other.length > 1) { + message += `one of ${formatList(other, 'or')}`; + } else { + if (other[0].toLowerCase() !== other[0]) message += 'an '; + message += `${other[0]}`; + } + } + message += `. Received ${determineSpecificType(actual)}`; + return message; +}, TypeError); +codes.ERR_INVALID_MODULE_SPECIFIER = createError('ERR_INVALID_MODULE_SPECIFIER', (request, reason, base = undefined) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ''}`; +}, TypeError); +codes.ERR_INVALID_PACKAGE_CONFIG = createError('ERR_INVALID_PACKAGE_CONFIG', (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ''}${message ? `. ${message}` : ''}`; +}, Error); +codes.ERR_INVALID_PACKAGE_TARGET = createError('ERR_INVALID_PACKAGE_TARGET', (packagePath, key, target, isImport = false, base = undefined) => { + const relatedError = typeof target === 'string' && !isImport && target.length > 0 && !target.startsWith('./'); + if (key === '.') { + _assert()(isImport === false); + return `Invalid "exports" main target ${JSON.stringify(target)} defined ` + `in the package config ${packagePath}package.json${base ? ` imported from ${base}` : ''}${relatedError ? '; targets must start with "./"' : ''}`; + } + return `Invalid "${isImport ? 'imports' : 'exports'}" target ${JSON.stringify(target)} defined for '${key}' in the package config ${packagePath}package.json${base ? ` imported from ${base}` : ''}${relatedError ? '; targets must start with "./"' : ''}`; +}, Error); +codes.ERR_MODULE_NOT_FOUND = createError('ERR_MODULE_NOT_FOUND', (path, base, exactUrl = false) => { + return `Cannot find ${exactUrl ? 'module' : 'package'} '${path}' imported from ${base}`; +}, Error); +codes.ERR_NETWORK_IMPORT_DISALLOWED = createError('ERR_NETWORK_IMPORT_DISALLOWED', "import of '%s' by %s is not supported: %s", Error); +codes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError('ERR_PACKAGE_IMPORT_NOT_DEFINED', (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ''} imported from ${base}`; +}, TypeError); +codes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError('ERR_PACKAGE_PATH_NOT_EXPORTED', (packagePath, subpath, base = undefined) => { + if (subpath === '.') return `No "exports" main defined in ${packagePath}package.json${base ? ` imported from ${base}` : ''}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${packagePath}package.json${base ? ` imported from ${base}` : ''}`; +}, Error); +codes.ERR_UNSUPPORTED_DIR_IMPORT = createError('ERR_UNSUPPORTED_DIR_IMPORT', "Directory import '%s' is not supported " + 'resolving ES modules imported from %s', Error); +codes.ERR_UNSUPPORTED_RESOLVE_REQUEST = createError('ERR_UNSUPPORTED_RESOLVE_REQUEST', 'Failed to resolve module specifier "%s" from "%s": Invalid relative URL or base scheme is not hierarchical.', TypeError); +codes.ERR_UNKNOWN_FILE_EXTENSION = createError('ERR_UNKNOWN_FILE_EXTENSION', (extension, path) => { + return `Unknown file extension "${extension}" for ${path}`; +}, TypeError); +codes.ERR_INVALID_ARG_VALUE = createError('ERR_INVALID_ARG_VALUE', (name, value, reason = 'is invalid') => { + let inspected = (0, _util().inspect)(value); + if (inspected.length > 128) { + inspected = `${inspected.slice(0, 128)}...`; + } + const type = name.includes('.') ? 'property' : 'argument'; + return `The ${type} '${name}' ${reason}. Received ${inspected}`; +}, TypeError); +function createError(sym, value, constructor) { + messages.set(sym, value); + return makeNodeErrorWithCode(constructor, sym); +} +function makeNodeErrorWithCode(Base, key) { + return NodeError; + function NodeError(...parameters) { + const limit = Error.stackTraceLimit; + if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = 0; + const error = new Base(); + if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = limit; + const message = getMessage(key, parameters, error); + Object.defineProperties(error, { + message: { + value: message, + enumerable: false, + writable: true, + configurable: true + }, + toString: { + value() { + return `${this.name} [${key}]: ${this.message}`; + }, + enumerable: false, + writable: true, + configurable: true + } + }); + captureLargerStackTrace(error); + error.code = key; + return error; + } +} +function isErrorStackTraceLimitWritable() { + try { + if (_v().startupSnapshot.isBuildingSnapshot()) { + return false; + } + } catch (_unused) {} + const desc = Object.getOwnPropertyDescriptor(Error, 'stackTraceLimit'); + if (desc === undefined) { + return Object.isExtensible(Error); + } + return own$1.call(desc, 'writable') && desc.writable !== undefined ? desc.writable : desc.set !== undefined; +} +function hideStackFrames(wrappedFunction) { + const hidden = nodeInternalPrefix + wrappedFunction.name; + Object.defineProperty(wrappedFunction, 'name', { + value: hidden + }); + return wrappedFunction; +} +const captureLargerStackTrace = hideStackFrames(function (error) { + const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable(); + if (stackTraceLimitIsWritable) { + userStackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = Number.POSITIVE_INFINITY; + } + Error.captureStackTrace(error); + if (stackTraceLimitIsWritable) Error.stackTraceLimit = userStackTraceLimit; + return error; +}); +function getMessage(key, parameters, self) { + const message = messages.get(key); + _assert()(message !== undefined, 'expected `message` to be found'); + if (typeof message === 'function') { + _assert()(message.length <= parameters.length, `Code: ${key}; The provided arguments length (${parameters.length}) does not ` + `match the required ones (${message.length}).`); + return Reflect.apply(message, self, parameters); + } + const regex = /%[dfijoOs]/g; + let expectedLength = 0; + while (regex.exec(message) !== null) expectedLength++; + _assert()(expectedLength === parameters.length, `Code: ${key}; The provided arguments length (${parameters.length}) does not ` + `match the required ones (${expectedLength}).`); + if (parameters.length === 0) return message; + parameters.unshift(message); + return Reflect.apply(_util().format, null, parameters); +} +function determineSpecificType(value) { + if (value === null || value === undefined) { + return String(value); + } + if (typeof value === 'function' && value.name) { + return `function ${value.name}`; + } + if (typeof value === 'object') { + if (value.constructor && value.constructor.name) { + return `an instance of ${value.constructor.name}`; + } + return `${(0, _util().inspect)(value, { + depth: -1 + })}`; + } + let inspected = (0, _util().inspect)(value, { + colors: false + }); + if (inspected.length > 28) { + inspected = `${inspected.slice(0, 25)}...`; + } + return `type ${typeof value} (${inspected})`; +} +const hasOwnProperty$1 = {}.hasOwnProperty; +const { + ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG$1 +} = codes; +const cache = new Map(); +function read(jsonPath, { + base, + specifier +}) { + const existing = cache.get(jsonPath); + if (existing) { + return existing; + } + let string; + try { + string = _fs().default.readFileSync(_path().toNamespacedPath(jsonPath), 'utf8'); + } catch (error) { + const exception = error; + if (exception.code !== 'ENOENT') { + throw exception; + } + } + const result = { + exists: false, + pjsonPath: jsonPath, + main: undefined, + name: undefined, + type: 'none', + exports: undefined, + imports: undefined + }; + if (string !== undefined) { + let parsed; + try { + parsed = JSON.parse(string); + } catch (error_) { + const cause = error_; + const error = new ERR_INVALID_PACKAGE_CONFIG$1(jsonPath, (base ? `"${specifier}" from ` : '') + (0, _url().fileURLToPath)(base || specifier), cause.message); + error.cause = cause; + throw error; + } + result.exists = true; + if (hasOwnProperty$1.call(parsed, 'name') && typeof parsed.name === 'string') { + result.name = parsed.name; + } + if (hasOwnProperty$1.call(parsed, 'main') && typeof parsed.main === 'string') { + result.main = parsed.main; + } + if (hasOwnProperty$1.call(parsed, 'exports')) { + result.exports = parsed.exports; + } + if (hasOwnProperty$1.call(parsed, 'imports')) { + result.imports = parsed.imports; + } + if (hasOwnProperty$1.call(parsed, 'type') && (parsed.type === 'commonjs' || parsed.type === 'module')) { + result.type = parsed.type; + } + } + cache.set(jsonPath, result); + return result; +} +function getPackageScopeConfig(resolved) { + let packageJSONUrl = new URL('package.json', resolved); + while (true) { + const packageJSONPath = packageJSONUrl.pathname; + if (packageJSONPath.endsWith('node_modules/package.json')) { + break; + } + const packageConfig = read((0, _url().fileURLToPath)(packageJSONUrl), { + specifier: resolved + }); + if (packageConfig.exists) { + return packageConfig; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL('../package.json', packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = (0, _url().fileURLToPath)(packageJSONUrl); + return { + pjsonPath: packageJSONPath, + exists: false, + type: 'none' + }; +} +function getPackageType(url) { + return getPackageScopeConfig(url).type; +} +const { + ERR_UNKNOWN_FILE_EXTENSION +} = codes; +const hasOwnProperty = {}.hasOwnProperty; +const extensionFormatMap = { + __proto__: null, + '.cjs': 'commonjs', + '.js': 'module', + '.json': 'json', + '.mjs': 'module' +}; +function mimeToFormat(mime) { + if (mime && /\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(mime)) return 'module'; + if (mime === 'application/json') return 'json'; + return null; +} +const protocolHandlers = { + __proto__: null, + 'data:': getDataProtocolModuleFormat, + 'file:': getFileProtocolModuleFormat, + 'http:': getHttpProtocolModuleFormat, + 'https:': getHttpProtocolModuleFormat, + 'node:'() { + return 'builtin'; + } +}; +function getDataProtocolModuleFormat(parsed) { + const { + 1: mime + } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(parsed.pathname) || [null, null, null]; + return mimeToFormat(mime); +} +function extname(url) { + const pathname = url.pathname; + let index = pathname.length; + while (index--) { + const code = pathname.codePointAt(index); + if (code === 47) { + return ''; + } + if (code === 46) { + return pathname.codePointAt(index - 1) === 47 ? '' : pathname.slice(index); + } + } + return ''; +} +function getFileProtocolModuleFormat(url, _context, ignoreErrors) { + const value = extname(url); + if (value === '.js') { + const packageType = getPackageType(url); + if (packageType !== 'none') { + return packageType; + } + return 'commonjs'; + } + if (value === '') { + const packageType = getPackageType(url); + if (packageType === 'none' || packageType === 'commonjs') { + return 'commonjs'; + } + return 'module'; + } + const format = extensionFormatMap[value]; + if (format) return format; + if (ignoreErrors) { + return undefined; + } + const filepath = (0, _url().fileURLToPath)(url); + throw new ERR_UNKNOWN_FILE_EXTENSION(value, filepath); +} +function getHttpProtocolModuleFormat() {} +function defaultGetFormatWithoutErrors(url, context) { + const protocol = url.protocol; + if (!hasOwnProperty.call(protocolHandlers, protocol)) { + return null; + } + return protocolHandlers[protocol](url, context, true) || null; +} +const { + ERR_INVALID_ARG_VALUE +} = codes; +const DEFAULT_CONDITIONS = Object.freeze(['node', 'import']); +const DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS); +function getDefaultConditions() { + return DEFAULT_CONDITIONS; +} +function getDefaultConditionsSet() { + return DEFAULT_CONDITIONS_SET; +} +function getConditionsSet(conditions) { + if (conditions !== undefined && conditions !== getDefaultConditions()) { + if (!Array.isArray(conditions)) { + throw new ERR_INVALID_ARG_VALUE('conditions', conditions, 'expected an array'); + } + return new Set(conditions); + } + return getDefaultConditionsSet(); +} +const RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace]; +const { + ERR_NETWORK_IMPORT_DISALLOWED, + ERR_INVALID_MODULE_SPECIFIER, + ERR_INVALID_PACKAGE_CONFIG, + ERR_INVALID_PACKAGE_TARGET, + ERR_MODULE_NOT_FOUND, + ERR_PACKAGE_IMPORT_NOT_DEFINED, + ERR_PACKAGE_PATH_NOT_EXPORTED, + ERR_UNSUPPORTED_DIR_IMPORT, + ERR_UNSUPPORTED_RESOLVE_REQUEST +} = codes; +const own = {}.hasOwnProperty; +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i; +const deprecatedInvalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const invalidPackageNameRegEx = /^\.|%|\\/; +const patternRegEx = /\*/g; +const encodedSeparatorRegEx = /%2f|%5c/i; +const emittedPackageWarnings = new Set(); +const doubleSlashRegEx = /[/\\]{2}/; +function emitInvalidSegmentDeprecation(target, request, match, packageJsonUrl, internal, base, isTarget) { + if (_process().noDeprecation) { + return; + } + const pjsonPath = (0, _url().fileURLToPath)(packageJsonUrl); + const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null; + _process().emitWarning(`Use of deprecated ${double ? 'double slash' : 'leading or trailing slash matching'} resolving "${target}" for module ` + `request "${request}" ${request === match ? '' : `matched to "${match}" `}in the "${internal ? 'imports' : 'exports'}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${(0, _url().fileURLToPath)(base)}` : ''}.`, 'DeprecationWarning', 'DEP0166'); +} +function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) { + if (_process().noDeprecation) { + return; + } + const format = defaultGetFormatWithoutErrors(url, { + parentURL: base.href + }); + if (format !== 'module') return; + const urlPath = (0, _url().fileURLToPath)(url.href); + const packagePath = (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)); + const basePath = (0, _url().fileURLToPath)(base); + if (!main) { + _process().emitWarning(`No "main" or "exports" field defined in the package.json for ${packagePath} resolving the main entry point "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\nDefault "index" lookups for the main are deprecated for ES modules.`, 'DeprecationWarning', 'DEP0151'); + } else if (_path().resolve(packagePath, main) !== urlPath) { + _process().emitWarning(`Package ${packagePath} has a "main" field set to "${main}", ` + `excluding the full filename and extension to the resolved file at "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\n Automatic extension resolution of the "main" field is ` + 'deprecated for ES modules.', 'DeprecationWarning', 'DEP0151'); + } +} +function tryStatSync(path) { + try { + return (0, _fs().statSync)(path); + } catch (_unused2) {} +} +function fileExists(url) { + const stats = (0, _fs().statSync)(url, { + throwIfNoEntry: false + }); + const isFile = stats ? stats.isFile() : undefined; + return isFile === null || isFile === undefined ? false : isFile; +} +function legacyMainResolve(packageJsonUrl, packageConfig, base) { + let guess; + if (packageConfig.main !== undefined) { + guess = new (_url().URL)(packageConfig.main, packageJsonUrl); + if (fileExists(guess)) return guess; + const tries = [`./${packageConfig.main}.js`, `./${packageConfig.main}.json`, `./${packageConfig.main}.node`, `./${packageConfig.main}/index.js`, `./${packageConfig.main}/index.json`, `./${packageConfig.main}/index.node`]; + let i = -1; + while (++i < tries.length) { + guess = new (_url().URL)(tries[i], packageJsonUrl); + if (fileExists(guess)) break; + guess = undefined; + } + if (guess) { + emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main); + return guess; + } + } + const tries = ['./index.js', './index.json', './index.node']; + let i = -1; + while (++i < tries.length) { + guess = new (_url().URL)(tries[i], packageJsonUrl); + if (fileExists(guess)) break; + guess = undefined; + } + if (guess) { + emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main); + return guess; + } + throw new ERR_MODULE_NOT_FOUND((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), (0, _url().fileURLToPath)(base)); +} +function finalizeResolution(resolved, base, preserveSymlinks) { + if (encodedSeparatorRegEx.exec(resolved.pathname) !== null) { + throw new ERR_INVALID_MODULE_SPECIFIER(resolved.pathname, 'must not include encoded "/" or "\\" characters', (0, _url().fileURLToPath)(base)); + } + let filePath; + try { + filePath = (0, _url().fileURLToPath)(resolved); + } catch (error) { + const cause = error; + Object.defineProperty(cause, 'input', { + value: String(resolved) + }); + Object.defineProperty(cause, 'module', { + value: String(base) + }); + throw cause; + } + const stats = tryStatSync(filePath.endsWith('/') ? filePath.slice(-1) : filePath); + if (stats && stats.isDirectory()) { + const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, (0, _url().fileURLToPath)(base)); + error.url = String(resolved); + throw error; + } + if (!stats || !stats.isFile()) { + const error = new ERR_MODULE_NOT_FOUND(filePath || resolved.pathname, base && (0, _url().fileURLToPath)(base), true); + error.url = String(resolved); + throw error; + } + if (!preserveSymlinks) { + const real = (0, _fs().realpathSync)(filePath); + const { + search, + hash + } = resolved; + resolved = (0, _url().pathToFileURL)(real + (filePath.endsWith(_path().sep) ? '/' : '')); + resolved.search = search; + resolved.hash = hash; + } + return resolved; +} +function importNotDefined(specifier, packageJsonUrl, base) { + return new ERR_PACKAGE_IMPORT_NOT_DEFINED(specifier, packageJsonUrl && (0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), (0, _url().fileURLToPath)(base)); +} +function exportsNotFound(subpath, packageJsonUrl, base) { + return new ERR_PACKAGE_PATH_NOT_EXPORTED((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, base && (0, _url().fileURLToPath)(base)); +} +function throwInvalidSubpath(request, match, packageJsonUrl, internal, base) { + const reason = `request is not a valid match in pattern "${match}" for the "${internal ? 'imports' : 'exports'}" resolution of ${(0, _url().fileURLToPath)(packageJsonUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER(request, reason, base && (0, _url().fileURLToPath)(base)); +} +function invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) { + target = typeof target === 'object' && target !== null ? JSON.stringify(target, null, '') : `${target}`; + return new ERR_INVALID_PACKAGE_TARGET((0, _url().fileURLToPath)(new (_url().URL)('.', packageJsonUrl)), subpath, target, internal, base && (0, _url().fileURLToPath)(base)); +} +function resolvePackageTargetString(target, subpath, match, packageJsonUrl, base, pattern, internal, isPathMap, conditions) { + if (subpath !== '' && !pattern && target[target.length - 1] !== '/') throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + if (!target.startsWith('./')) { + if (internal && !target.startsWith('../') && !target.startsWith('/')) { + let isURL = false; + try { + new (_url().URL)(target); + isURL = true; + } catch (_unused3) {} + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target + subpath; + return packageResolve(exportTarget, packageJsonUrl, conditions); + } + } + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } + if (invalidSegmentRegEx.exec(target.slice(2)) !== null) { + if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) { + if (!isPathMap) { + const request = pattern ? match.replace('*', () => subpath) : match + subpath; + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target; + emitInvalidSegmentDeprecation(resolvedTarget, request, match, packageJsonUrl, internal, base, true); + } + } else { + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } + } + const resolved = new (_url().URL)(target, packageJsonUrl); + const resolvedPath = resolved.pathname; + const packagePath = new (_url().URL)('.', packageJsonUrl).pathname; + if (!resolvedPath.startsWith(packagePath)) throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + if (subpath === '') return resolved; + if (invalidSegmentRegEx.exec(subpath) !== null) { + const request = pattern ? match.replace('*', () => subpath) : match + subpath; + if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) { + if (!isPathMap) { + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call(patternRegEx, target, () => subpath) : target; + emitInvalidSegmentDeprecation(resolvedTarget, request, match, packageJsonUrl, internal, base, false); + } + } else { + throwInvalidSubpath(request, match, packageJsonUrl, internal, base); + } + } + if (pattern) { + return new (_url().URL)(RegExpPrototypeSymbolReplace.call(patternRegEx, resolved.href, () => subpath)); + } + return new (_url().URL)(subpath, resolved); +} +function isArrayIndex(key) { + const keyNumber = Number(key); + if (`${keyNumber}` !== key) return false; + return keyNumber >= 0 && keyNumber < 0xffffffff; +} +function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions) { + if (typeof target === 'string') { + return resolvePackageTargetString(target, subpath, packageSubpath, packageJsonUrl, base, pattern, internal, isPathMap, conditions); + } + if (Array.isArray(target)) { + const targetList = target; + if (targetList.length === 0) return null; + let lastException; + let i = -1; + while (++i < targetList.length) { + const targetItem = targetList[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget(packageJsonUrl, targetItem, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions); + } catch (error) { + const exception = error; + lastException = exception; + if (exception.code === 'ERR_INVALID_PACKAGE_TARGET') continue; + throw error; + } + if (resolveResult === undefined) continue; + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === undefined || lastException === null) { + return null; + } + throw lastException; + } + if (typeof target === 'object' && target !== null) { + const keys = Object.getOwnPropertyNames(target); + let i = -1; + while (++i < keys.length) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG((0, _url().fileURLToPath)(packageJsonUrl), base, '"exports" cannot contain numeric property keys.'); + } + } + i = -1; + while (++i < keys.length) { + const key = keys[i]; + if (key === 'default' || conditions && conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget(packageJsonUrl, conditionalTarget, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions); + if (resolveResult === undefined) continue; + return resolveResult; + } + } + return null; + } + if (target === null) { + return null; + } + throw invalidPackageTarget(packageSubpath, target, packageJsonUrl, internal, base); +} +function isConditionalExportsMainSugar(exports, packageJsonUrl, base) { + if (typeof exports === 'string' || Array.isArray(exports)) return true; + if (typeof exports !== 'object' || exports === null) return false; + const keys = Object.getOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + let keyIndex = -1; + while (++keyIndex < keys.length) { + const key = keys[keyIndex]; + const currentIsConditionalSugar = key === '' || key[0] !== '.'; + if (i++ === 0) { + isConditionalSugar = currentIsConditionalSugar; + } else if (isConditionalSugar !== currentIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG((0, _url().fileURLToPath)(packageJsonUrl), base, '"exports" cannot contain some keys starting with \'.\' and some not.' + ' The exports object must either be an object of package subpath keys' + ' or an object of main entry condition name keys only.'); + } + } + return isConditionalSugar; +} +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + if (_process().noDeprecation) { + return; + } + const pjsonPath = (0, _url().fileURLToPath)(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return; + emittedPackageWarnings.add(pjsonPath + '|' + match); + _process().emitWarning(`Use of deprecated trailing slash pattern mapping "${match}" in the ` + `"exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${(0, _url().fileURLToPath)(base)}` : ''}. Mapping specifiers ending in "/" is no longer supported.`, 'DeprecationWarning', 'DEP0155'); +} +function packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions) { + let exports = packageConfig.exports; + if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) { + exports = { + '.': exports + }; + } + if (own.call(exports, packageSubpath) && !packageSubpath.includes('*') && !packageSubpath.endsWith('/')) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget(packageJsonUrl, target, '', packageSubpath, base, false, false, false, conditions); + if (resolveResult === null || resolveResult === undefined) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } + let bestMatch = ''; + let bestMatchSubpath = ''; + const keys = Object.getOwnPropertyNames(exports); + let i = -1; + while (++i < keys.length) { + const key = keys[i]; + const patternIndex = key.indexOf('*'); + if (patternIndex !== -1 && packageSubpath.startsWith(key.slice(0, patternIndex))) { + if (packageSubpath.endsWith('/')) { + emitTrailingSlashPatternDeprecation(packageSubpath, packageJsonUrl, base); + } + const patternTrailer = key.slice(patternIndex + 1); + if (packageSubpath.length >= key.length && packageSubpath.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf('*') === patternIndex) { + bestMatch = key; + bestMatchSubpath = packageSubpath.slice(patternIndex, packageSubpath.length - patternTrailer.length); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget(packageJsonUrl, target, bestMatchSubpath, bestMatch, base, true, false, packageSubpath.endsWith('/'), conditions); + if (resolveResult === null || resolveResult === undefined) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } + throw exportsNotFound(packageSubpath, packageJsonUrl, base); +} +function patternKeyCompare(a, b) { + const aPatternIndex = a.indexOf('*'); + const bPatternIndex = b.indexOf('*'); + const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLengthA > baseLengthB) return -1; + if (baseLengthB > baseLengthA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; +} +function packageImportsResolve(name, base, conditions) { + if (name === '#' || name.startsWith('#/') || name.endsWith('/')) { + const reason = 'is not a valid internal imports specifier name'; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, (0, _url().fileURLToPath)(base)); + } + let packageJsonUrl; + const packageConfig = getPackageScopeConfig(base); + if (packageConfig.exists) { + packageJsonUrl = (0, _url().pathToFileURL)(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (own.call(imports, name) && !name.includes('*')) { + const resolveResult = resolvePackageTarget(packageJsonUrl, imports[name], '', name, base, false, true, false, conditions); + if (resolveResult !== null && resolveResult !== undefined) { + return resolveResult; + } + } else { + let bestMatch = ''; + let bestMatchSubpath = ''; + const keys = Object.getOwnPropertyNames(imports); + let i = -1; + while (++i < keys.length) { + const key = keys[i]; + const patternIndex = key.indexOf('*'); + if (patternIndex !== -1 && name.startsWith(key.slice(0, -1))) { + const patternTrailer = key.slice(patternIndex + 1); + if (name.length >= key.length && name.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf('*') === patternIndex) { + bestMatch = key; + bestMatchSubpath = name.slice(patternIndex, name.length - patternTrailer.length); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget(packageJsonUrl, target, bestMatchSubpath, bestMatch, base, true, true, false, conditions); + if (resolveResult !== null && resolveResult !== undefined) { + return resolveResult; + } + } + } + } + } + throw importNotDefined(name, packageJsonUrl, base); +} +function parsePackageName(specifier, base) { + let separatorIndex = specifier.indexOf('/'); + let validPackageName = true; + let isScoped = false; + if (specifier[0] === '@') { + isScoped = true; + if (separatorIndex === -1 || specifier.length === 0) { + validPackageName = false; + } else { + separatorIndex = specifier.indexOf('/', separatorIndex + 1); + } + } + const packageName = separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex); + if (invalidPackageNameRegEx.exec(packageName) !== null) { + validPackageName = false; + } + if (!validPackageName) { + throw new ERR_INVALID_MODULE_SPECIFIER(specifier, 'is not a valid package name', (0, _url().fileURLToPath)(base)); + } + const packageSubpath = '.' + (separatorIndex === -1 ? '' : specifier.slice(separatorIndex)); + return { + packageName, + packageSubpath, + isScoped + }; +} +function packageResolve(specifier, base, conditions) { + if (_module().builtinModules.includes(specifier)) { + return new (_url().URL)('node:' + specifier); + } + const { + packageName, + packageSubpath, + isScoped + } = parsePackageName(specifier, base); + const packageConfig = getPackageScopeConfig(base); + if (packageConfig.exists) { + const packageJsonUrl = (0, _url().pathToFileURL)(packageConfig.pjsonPath); + if (packageConfig.name === packageName && packageConfig.exports !== undefined && packageConfig.exports !== null) { + return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions); + } + } + let packageJsonUrl = new (_url().URL)('./node_modules/' + packageName + '/package.json', base); + let packageJsonPath = (0, _url().fileURLToPath)(packageJsonUrl); + let lastPath; + do { + const stat = tryStatSync(packageJsonPath.slice(0, -13)); + if (!stat || !stat.isDirectory()) { + lastPath = packageJsonPath; + packageJsonUrl = new (_url().URL)((isScoped ? '../../../../node_modules/' : '../../../node_modules/') + packageName + '/package.json', packageJsonUrl); + packageJsonPath = (0, _url().fileURLToPath)(packageJsonUrl); + continue; + } + const packageConfig = read(packageJsonPath, { + base, + specifier + }); + if (packageConfig.exports !== undefined && packageConfig.exports !== null) { + return packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions); + } + if (packageSubpath === '.') { + return legacyMainResolve(packageJsonUrl, packageConfig, base); + } + return new (_url().URL)(packageSubpath, packageJsonUrl); + } while (packageJsonPath.length !== lastPath.length); + throw new ERR_MODULE_NOT_FOUND(packageName, (0, _url().fileURLToPath)(base), false); +} +function isRelativeSpecifier(specifier) { + if (specifier[0] === '.') { + if (specifier.length === 1 || specifier[1] === '/') return true; + if (specifier[1] === '.' && (specifier.length === 2 || specifier[2] === '/')) { + return true; + } + } + return false; +} +function shouldBeTreatedAsRelativeOrAbsolutePath(specifier) { + if (specifier === '') return false; + if (specifier[0] === '/') return true; + return isRelativeSpecifier(specifier); +} +function moduleResolve(specifier, base, conditions, preserveSymlinks) { + const protocol = base.protocol; + const isData = protocol === 'data:'; + const isRemote = isData || protocol === 'http:' || protocol === 'https:'; + let resolved; + if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { + try { + resolved = new (_url().URL)(specifier, base); + } catch (error_) { + const error = new ERR_UNSUPPORTED_RESOLVE_REQUEST(specifier, base); + error.cause = error_; + throw error; + } + } else if (protocol === 'file:' && specifier[0] === '#') { + resolved = packageImportsResolve(specifier, base, conditions); + } else { + try { + resolved = new (_url().URL)(specifier); + } catch (error_) { + if (isRemote && !_module().builtinModules.includes(specifier)) { + const error = new ERR_UNSUPPORTED_RESOLVE_REQUEST(specifier, base); + error.cause = error_; + throw error; + } + resolved = packageResolve(specifier, base, conditions); + } + } + _assert()(resolved !== undefined, 'expected to be defined'); + if (resolved.protocol !== 'file:') { + return resolved; + } + return finalizeResolution(resolved, base, preserveSymlinks); +} +function checkIfDisallowedImport(specifier, parsed, parsedParentURL) { + if (parsedParentURL) { + const parentProtocol = parsedParentURL.protocol; + if (parentProtocol === 'http:' || parentProtocol === 'https:') { + if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { + const parsedProtocol = parsed == null ? void 0 : parsed.protocol; + if (parsedProtocol && parsedProtocol !== 'https:' && parsedProtocol !== 'http:') { + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'remote imports cannot import from a local location.'); + } + return { + url: (parsed == null ? void 0 : parsed.href) || '' + }; + } + if (_module().builtinModules.includes(specifier)) { + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'remote imports cannot import from a local location.'); + } + throw new ERR_NETWORK_IMPORT_DISALLOWED(specifier, parsedParentURL, 'only relative and absolute specifiers are supported.'); + } + } +} +function isURL(self) { + return Boolean(self && typeof self === 'object' && 'href' in self && typeof self.href === 'string' && 'protocol' in self && typeof self.protocol === 'string' && self.href && self.protocol); +} +function throwIfInvalidParentURL(parentURL) { + if (parentURL === undefined) { + return; + } + if (typeof parentURL !== 'string' && !isURL(parentURL)) { + throw new codes.ERR_INVALID_ARG_TYPE('parentURL', ['string', 'URL'], parentURL); + } +} +function defaultResolve(specifier, context = {}) { + const { + parentURL + } = context; + _assert()(parentURL !== undefined, 'expected `parentURL` to be defined'); + throwIfInvalidParentURL(parentURL); + let parsedParentURL; + if (parentURL) { + try { + parsedParentURL = new (_url().URL)(parentURL); + } catch (_unused4) {} + } + let parsed; + let protocol; + try { + parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier) ? new (_url().URL)(specifier, parsedParentURL) : new (_url().URL)(specifier); + protocol = parsed.protocol; + if (protocol === 'data:') { + return { + url: parsed.href, + format: null + }; + } + } catch (_unused5) {} + const maybeReturn = checkIfDisallowedImport(specifier, parsed, parsedParentURL); + if (maybeReturn) return maybeReturn; + if (protocol === undefined && parsed) { + protocol = parsed.protocol; + } + if (protocol === 'node:') { + return { + url: specifier + }; + } + if (parsed && parsed.protocol === 'node:') return { + url: specifier + }; + const conditions = getConditionsSet(context.conditions); + const url = moduleResolve(specifier, new (_url().URL)(parentURL), conditions, false); + return { + url: url.href, + format: defaultGetFormatWithoutErrors(url, { + parentURL + }) + }; +} +function resolve(specifier, parent) { + if (!parent) { + throw new Error('Please pass `parent`: `import-meta-resolve` cannot ponyfill that'); + } + try { + return defaultResolve(specifier, { + parentURL: parent + }).url; + } catch (error) { + const exception = error; + if ((exception.code === 'ERR_UNSUPPORTED_DIR_IMPORT' || exception.code === 'ERR_MODULE_NOT_FOUND') && typeof exception.url === 'string') { + return exception.url; + } + throw error; + } +} +0 && 0; + +//# sourceMappingURL=import-meta-resolve.js.map diff --git a/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map b/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map new file mode 100644 index 0000000..d9e5b42 --- /dev/null +++ b/client/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_assert","data","require","_fs","_interopRequireWildcard","_process","_url","_path","_module","_v","_util","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","own$1","classRegExp","kTypes","Set","codes","formatList","array","type","length","join","slice","messages","Map","nodeInternalPrefix","userStackTraceLimit","ERR_INVALID_ARG_TYPE","createError","name","expected","actual","assert","Array","isArray","message","endsWith","includes","types","instances","other","value","push","toLowerCase","exec","pos","indexOf","determineSpecificType","TypeError","ERR_INVALID_MODULE_SPECIFIER","request","reason","base","undefined","ERR_INVALID_PACKAGE_CONFIG","path","Error","ERR_INVALID_PACKAGE_TARGET","packagePath","key","target","isImport","relatedError","startsWith","JSON","stringify","ERR_MODULE_NOT_FOUND","exactUrl","ERR_NETWORK_IMPORT_DISALLOWED","ERR_PACKAGE_IMPORT_NOT_DEFINED","specifier","ERR_PACKAGE_PATH_NOT_EXPORTED","subpath","ERR_UNSUPPORTED_DIR_IMPORT","ERR_UNSUPPORTED_RESOLVE_REQUEST","ERR_UNKNOWN_FILE_EXTENSION","extension","ERR_INVALID_ARG_VALUE","inspected","inspect","sym","constructor","makeNodeErrorWithCode","Base","NodeError","parameters","limit","stackTraceLimit","isErrorStackTraceLimitWritable","error","getMessage","defineProperties","enumerable","writable","configurable","toString","captureLargerStackTrace","code","v8","startupSnapshot","isBuildingSnapshot","_unused","desc","isExtensible","hideStackFrames","wrappedFunction","hidden","stackTraceLimitIsWritable","Number","POSITIVE_INFINITY","captureStackTrace","self","Reflect","apply","regex","expectedLength","unshift","format","String","depth","colors","hasOwnProperty$1","ERR_INVALID_PACKAGE_CONFIG$1","cache","read","jsonPath","existing","string","fs","readFileSync","toNamespacedPath","exception","result","exists","pjsonPath","main","exports","imports","parsed","parse","error_","cause","fileURLToPath","getPackageScopeConfig","resolved","packageJSONUrl","URL","packageJSONPath","pathname","packageConfig","lastPackageJSONUrl","getPackageType","url","extensionFormatMap","mimeToFormat","mime","test","protocolHandlers","getDataProtocolModuleFormat","getFileProtocolModuleFormat","getHttpProtocolModuleFormat","node:","extname","index","codePointAt","_context","ignoreErrors","packageType","filepath","defaultGetFormatWithoutErrors","context","protocol","DEFAULT_CONDITIONS","freeze","DEFAULT_CONDITIONS_SET","getDefaultConditions","getDefaultConditionsSet","getConditionsSet","conditions","RegExpPrototypeSymbolReplace","RegExp","prototype","Symbol","replace","own","invalidSegmentRegEx","deprecatedInvalidSegmentRegEx","invalidPackageNameRegEx","patternRegEx","encodedSeparatorRegEx","emittedPackageWarnings","doubleSlashRegEx","emitInvalidSegmentDeprecation","match","packageJsonUrl","internal","isTarget","process","noDeprecation","double","emitWarning","emitLegacyIndexDeprecation","parentURL","href","urlPath","URL$1","basePath","resolve","tryStatSync","statSync","_unused2","fileExists","stats","throwIfNoEntry","isFile","legacyMainResolve","guess","tries","finalizeResolution","preserveSymlinks","filePath","isDirectory","real","realpathSync","search","hash","pathToFileURL","sep","importNotDefined","exportsNotFound","throwInvalidSubpath","invalidPackageTarget","resolvePackageTargetString","pattern","isPathMap","isURL","_unused3","exportTarget","packageResolve","resolvedTarget","resolvedPath","isArrayIndex","keyNumber","resolvePackageTarget","packageSubpath","targetList","lastException","targetItem","resolveResult","keys","getOwnPropertyNames","conditionalTarget","isConditionalExportsMainSugar","isConditionalSugar","keyIndex","currentIsConditionalSugar","emitTrailingSlashPatternDeprecation","pjsonUrl","add","packageExportsResolve","bestMatch","bestMatchSubpath","patternIndex","patternTrailer","patternKeyCompare","lastIndexOf","a","b","aPatternIndex","bPatternIndex","baseLengthA","baseLengthB","packageImportsResolve","parsePackageName","separatorIndex","validPackageName","isScoped","packageName","builtinModules","packageJsonPath","lastPath","stat","isRelativeSpecifier","shouldBeTreatedAsRelativeOrAbsolutePath","moduleResolve","isData","isRemote","checkIfDisallowedImport","parsedParentURL","parentProtocol","parsedProtocol","Boolean","throwIfInvalidParentURL","defaultResolve","_unused4","_unused5","maybeReturn","parent"],"sources":["../../src/vendor/import-meta-resolve.js"],"sourcesContent":["\n/****************************************************************************\\\n * NOTE FROM BABEL AUTHORS *\n * This file is inlined from https://github.com/wooorm/import-meta-resolve, *\n * because we need to compile it to CommonJS. *\n\\****************************************************************************/\n\n/*\n(The MIT License)\n\nCopyright (c) 2021 Titus Wormer \n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n---\n\nThis is a derivative work based on:\n.\nWhich is licensed:\n\n\"\"\"\nCopyright Node.js contributors. All rights reserved.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n\nThis license applies to parts of Node.js originating from the\nhttps://github.com/joyent/node repository:\n\n\"\"\"\nCopyright Joyent, Inc. and other Node contributors. All rights reserved.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\"\"\"\n*/\n\nimport assert from 'assert';\nimport fs, { realpathSync, statSync } from 'fs';\nimport process from 'process';\nimport { fileURLToPath, URL as URL$1, pathToFileURL } from 'url';\nimport path from 'path';\nimport { builtinModules } from 'module';\nimport v8 from 'v8';\nimport { format, inspect } from 'util';\n\n/**\n * @typedef ErrnoExceptionFields\n * @property {number | undefined} [errnode]\n * @property {string | undefined} [code]\n * @property {string | undefined} [path]\n * @property {string | undefined} [syscall]\n * @property {string | undefined} [url]\n *\n * @typedef {Error & ErrnoExceptionFields} ErrnoException\n */\n\n\nconst own$1 = {}.hasOwnProperty;\n\nconst classRegExp = /^([A-Z][a-z\\d]*)+$/;\n// Sorted by a rough estimate on most frequently used entries.\nconst kTypes = new Set([\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]);\n\nconst codes = {};\n\n/**\n * Create a list string in the form like 'A and B' or 'A, B, ..., and Z'.\n * We cannot use Intl.ListFormat because it's not available in\n * --without-intl builds.\n *\n * @param {Array} array\n * An array of strings.\n * @param {string} [type]\n * The list type to be inserted before the last element.\n * @returns {string}\n */\nfunction formatList(array, type = 'and') {\n return array.length < 3\n ? array.join(` ${type} `)\n : `${array.slice(0, -1).join(', ')}, ${type} ${array[array.length - 1]}`\n}\n\n/** @type {Map} */\nconst messages = new Map();\nconst nodeInternalPrefix = '__node_internal_';\n/** @type {number} */\nlet userStackTraceLimit;\n\ncodes.ERR_INVALID_ARG_TYPE = createError(\n 'ERR_INVALID_ARG_TYPE',\n /**\n * @param {string} name\n * @param {Array | string} expected\n * @param {unknown} actual\n */\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\");\n if (!Array.isArray(expected)) {\n expected = [expected];\n }\n\n let message = 'The ';\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n message += `${name} `;\n } else {\n const type = name.includes('.') ? 'property' : 'argument';\n message += `\"${name}\" ${type} `;\n }\n\n message += 'must be ';\n\n /** @type {Array} */\n const types = [];\n /** @type {Array} */\n const instances = [];\n /** @type {Array} */\n const other = [];\n\n for (const value of expected) {\n assert(\n typeof value === 'string',\n 'All expected entries have to be of type string'\n );\n\n if (kTypes.has(value)) {\n types.push(value.toLowerCase());\n } else if (classRegExp.exec(value) === null) {\n assert(\n value !== 'object',\n 'The value \"object\" should be written as \"Object\"'\n );\n other.push(value);\n } else {\n instances.push(value);\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object');\n if (pos !== -1) {\n types.slice(pos, 1);\n instances.push('Object');\n }\n }\n\n if (types.length > 0) {\n message += `${types.length > 1 ? 'one of type' : 'of type'} ${formatList(\n types,\n 'or'\n )}`;\n if (instances.length > 0 || other.length > 0) message += ' or ';\n }\n\n if (instances.length > 0) {\n message += `an instance of ${formatList(instances, 'or')}`;\n if (other.length > 0) message += ' or ';\n }\n\n if (other.length > 0) {\n if (other.length > 1) {\n message += `one of ${formatList(other, 'or')}`;\n } else {\n if (other[0].toLowerCase() !== other[0]) message += 'an ';\n message += `${other[0]}`;\n }\n }\n\n message += `. Received ${determineSpecificType(actual)}`;\n\n return message\n },\n TypeError\n);\n\ncodes.ERR_INVALID_MODULE_SPECIFIER = createError(\n 'ERR_INVALID_MODULE_SPECIFIER',\n /**\n * @param {string} request\n * @param {string} reason\n * @param {string} [base]\n */\n (request, reason, base = undefined) => {\n return `Invalid module \"${request}\" ${reason}${\n base ? ` imported from ${base}` : ''\n }`\n },\n TypeError\n);\n\ncodes.ERR_INVALID_PACKAGE_CONFIG = createError(\n 'ERR_INVALID_PACKAGE_CONFIG',\n /**\n * @param {string} path\n * @param {string} [base]\n * @param {string} [message]\n */\n (path, base, message) => {\n return `Invalid package config ${path}${\n base ? ` while importing ${base}` : ''\n }${message ? `. ${message}` : ''}`\n },\n Error\n);\n\ncodes.ERR_INVALID_PACKAGE_TARGET = createError(\n 'ERR_INVALID_PACKAGE_TARGET',\n /**\n * @param {string} packagePath\n * @param {string} key\n * @param {unknown} target\n * @param {boolean} [isImport=false]\n * @param {string} [base]\n */\n (packagePath, key, target, isImport = false, base = undefined) => {\n const relatedError =\n typeof target === 'string' &&\n !isImport &&\n target.length > 0 &&\n !target.startsWith('./');\n if (key === '.') {\n assert(isImport === false);\n return (\n `Invalid \"exports\" main target ${JSON.stringify(target)} defined ` +\n `in the package config ${packagePath}package.json${\n base ? ` imported from ${base}` : ''\n }${relatedError ? '; targets must start with \"./\"' : ''}`\n )\n }\n\n return `Invalid \"${\n isImport ? 'imports' : 'exports'\n }\" target ${JSON.stringify(\n target\n )} defined for '${key}' in the package config ${packagePath}package.json${\n base ? ` imported from ${base}` : ''\n }${relatedError ? '; targets must start with \"./\"' : ''}`\n },\n Error\n);\n\ncodes.ERR_MODULE_NOT_FOUND = createError(\n 'ERR_MODULE_NOT_FOUND',\n /**\n * @param {string} path\n * @param {string} base\n * @param {boolean} [exactUrl]\n */\n (path, base, exactUrl = false) => {\n return `Cannot find ${\n exactUrl ? 'module' : 'package'\n } '${path}' imported from ${base}`\n },\n Error\n);\n\ncodes.ERR_NETWORK_IMPORT_DISALLOWED = createError(\n 'ERR_NETWORK_IMPORT_DISALLOWED',\n \"import of '%s' by %s is not supported: %s\",\n Error\n);\n\ncodes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError(\n 'ERR_PACKAGE_IMPORT_NOT_DEFINED',\n /**\n * @param {string} specifier\n * @param {string} packagePath\n * @param {string} base\n */\n (specifier, packagePath, base) => {\n return `Package import specifier \"${specifier}\" is not defined${\n packagePath ? ` in package ${packagePath}package.json` : ''\n } imported from ${base}`\n },\n TypeError\n);\n\ncodes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError(\n 'ERR_PACKAGE_PATH_NOT_EXPORTED',\n /**\n * @param {string} packagePath\n * @param {string} subpath\n * @param {string} [base]\n */\n (packagePath, subpath, base = undefined) => {\n if (subpath === '.')\n return `No \"exports\" main defined in ${packagePath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n return `Package subpath '${subpath}' is not defined by \"exports\" in ${packagePath}package.json${\n base ? ` imported from ${base}` : ''\n }`\n },\n Error\n);\n\ncodes.ERR_UNSUPPORTED_DIR_IMPORT = createError(\n 'ERR_UNSUPPORTED_DIR_IMPORT',\n \"Directory import '%s' is not supported \" +\n 'resolving ES modules imported from %s',\n Error\n);\n\ncodes.ERR_UNSUPPORTED_RESOLVE_REQUEST = createError(\n 'ERR_UNSUPPORTED_RESOLVE_REQUEST',\n 'Failed to resolve module specifier \"%s\" from \"%s\": Invalid relative URL or base scheme is not hierarchical.',\n TypeError\n);\n\ncodes.ERR_UNKNOWN_FILE_EXTENSION = createError(\n 'ERR_UNKNOWN_FILE_EXTENSION',\n /**\n * @param {string} extension\n * @param {string} path\n */\n (extension, path) => {\n return `Unknown file extension \"${extension}\" for ${path}`\n },\n TypeError\n);\n\ncodes.ERR_INVALID_ARG_VALUE = createError(\n 'ERR_INVALID_ARG_VALUE',\n /**\n * @param {string} name\n * @param {unknown} value\n * @param {string} [reason='is invalid']\n */\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value);\n\n if (inspected.length > 128) {\n inspected = `${inspected.slice(0, 128)}...`;\n }\n\n const type = name.includes('.') ? 'property' : 'argument';\n\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n // Note: extra classes have been shaken out.\n // , RangeError\n);\n\n/**\n * Utility function for registering the error codes. Only used here. Exported\n * *only* to allow for testing.\n * @param {string} sym\n * @param {MessageFunction | string} value\n * @param {ErrorConstructor} constructor\n * @returns {new (...parameters: Array) => Error}\n */\nfunction createError(sym, value, constructor) {\n // Special case for SystemError that formats the error message differently\n // The SystemErrors only have SystemError as their base classes.\n messages.set(sym, value);\n\n return makeNodeErrorWithCode(constructor, sym)\n}\n\n/**\n * @param {ErrorConstructor} Base\n * @param {string} key\n * @returns {ErrorConstructor}\n */\nfunction makeNodeErrorWithCode(Base, key) {\n // @ts-expect-error It’s a Node error.\n return NodeError\n /**\n * @param {Array} parameters\n */\n function NodeError(...parameters) {\n const limit = Error.stackTraceLimit;\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = 0;\n const error = new Base();\n // Reset the limit and setting the name property.\n if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = limit;\n const message = getMessage(key, parameters, error);\n Object.defineProperties(error, {\n // Note: no need to implement `kIsNodeError` symbol, would be hard,\n // probably.\n message: {\n value: message,\n enumerable: false,\n writable: true,\n configurable: true\n },\n toString: {\n /** @this {Error} */\n value() {\n return `${this.name} [${key}]: ${this.message}`\n },\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n\n captureLargerStackTrace(error);\n // @ts-expect-error It’s a Node error.\n error.code = key;\n return error\n }\n}\n\n/**\n * @returns {boolean}\n */\nfunction isErrorStackTraceLimitWritable() {\n // Do no touch Error.stackTraceLimit as V8 would attempt to install\n // it again during deserialization.\n try {\n if (v8.startupSnapshot.isBuildingSnapshot()) {\n return false\n }\n } catch {}\n\n const desc = Object.getOwnPropertyDescriptor(Error, 'stackTraceLimit');\n if (desc === undefined) {\n return Object.isExtensible(Error)\n }\n\n return own$1.call(desc, 'writable') && desc.writable !== undefined\n ? desc.writable\n : desc.set !== undefined\n}\n\n/**\n * This function removes unnecessary frames from Node.js core errors.\n * @template {(...parameters: unknown[]) => unknown} T\n * @param {T} wrappedFunction\n * @returns {T}\n */\nfunction hideStackFrames(wrappedFunction) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + wrappedFunction.name;\n Object.defineProperty(wrappedFunction, 'name', {value: hidden});\n return wrappedFunction\n}\n\nconst captureLargerStackTrace = hideStackFrames(\n /**\n * @param {Error} error\n * @returns {Error}\n */\n // @ts-expect-error: fine\n function (error) {\n const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable();\n if (stackTraceLimitIsWritable) {\n userStackTraceLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = Number.POSITIVE_INFINITY;\n }\n\n Error.captureStackTrace(error);\n\n // Reset the limit\n if (stackTraceLimitIsWritable) Error.stackTraceLimit = userStackTraceLimit;\n\n return error\n }\n);\n\n/**\n * @param {string} key\n * @param {Array} parameters\n * @param {Error} self\n * @returns {string}\n */\nfunction getMessage(key, parameters, self) {\n const message = messages.get(key);\n assert(message !== undefined, 'expected `message` to be found');\n\n if (typeof message === 'function') {\n assert(\n message.length <= parameters.length, // Default options do not count.\n `Code: ${key}; The provided arguments length (${parameters.length}) does not ` +\n `match the required ones (${message.length}).`\n );\n return Reflect.apply(message, self, parameters)\n }\n\n const regex = /%[dfijoOs]/g;\n let expectedLength = 0;\n while (regex.exec(message) !== null) expectedLength++;\n assert(\n expectedLength === parameters.length,\n `Code: ${key}; The provided arguments length (${parameters.length}) does not ` +\n `match the required ones (${expectedLength}).`\n );\n if (parameters.length === 0) return message\n\n parameters.unshift(message);\n return Reflect.apply(format, null, parameters)\n}\n\n/**\n * Determine the specific type of a value for type-mismatch errors.\n * @param {unknown} value\n * @returns {string}\n */\nfunction determineSpecificType(value) {\n if (value === null || value === undefined) {\n return String(value)\n }\n\n if (typeof value === 'function' && value.name) {\n return `function ${value.name}`\n }\n\n if (typeof value === 'object') {\n if (value.constructor && value.constructor.name) {\n return `an instance of ${value.constructor.name}`\n }\n\n return `${inspect(value, {depth: -1})}`\n }\n\n let inspected = inspect(value, {colors: false});\n\n if (inspected.length > 28) {\n inspected = `${inspected.slice(0, 25)}...`;\n }\n\n return `type ${typeof value} (${inspected})`\n}\n\n// Manually “tree shaken” from:\n// \n// Last checked on: Apr 29, 2023.\n// Removed the native dependency.\n// Also: no need to cache, we do that in resolve already.\n\n\nconst hasOwnProperty$1 = {}.hasOwnProperty;\n\nconst {ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG$1} = codes;\n\n/** @type {Map} */\nconst cache = new Map();\n\n/**\n * @param {string} jsonPath\n * @param {{specifier: URL | string, base?: URL}} options\n * @returns {PackageConfig}\n */\nfunction read(jsonPath, {base, specifier}) {\n const existing = cache.get(jsonPath);\n\n if (existing) {\n return existing\n }\n\n /** @type {string | undefined} */\n let string;\n\n try {\n string = fs.readFileSync(path.toNamespacedPath(jsonPath), 'utf8');\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n\n if (exception.code !== 'ENOENT') {\n throw exception\n }\n }\n\n /** @type {PackageConfig} */\n const result = {\n exists: false,\n pjsonPath: jsonPath,\n main: undefined,\n name: undefined,\n type: 'none', // Ignore unknown types for forwards compatibility\n exports: undefined,\n imports: undefined\n };\n\n if (string !== undefined) {\n /** @type {Record} */\n let parsed;\n\n try {\n parsed = JSON.parse(string);\n } catch (error_) {\n const cause = /** @type {ErrnoException} */ (error_);\n const error = new ERR_INVALID_PACKAGE_CONFIG$1(\n jsonPath,\n (base ? `\"${specifier}\" from ` : '') + fileURLToPath(base || specifier),\n cause.message\n );\n error.cause = cause;\n throw error\n }\n\n result.exists = true;\n\n if (\n hasOwnProperty$1.call(parsed, 'name') &&\n typeof parsed.name === 'string'\n ) {\n result.name = parsed.name;\n }\n\n if (\n hasOwnProperty$1.call(parsed, 'main') &&\n typeof parsed.main === 'string'\n ) {\n result.main = parsed.main;\n }\n\n if (hasOwnProperty$1.call(parsed, 'exports')) {\n // @ts-expect-error: assume valid.\n result.exports = parsed.exports;\n }\n\n if (hasOwnProperty$1.call(parsed, 'imports')) {\n // @ts-expect-error: assume valid.\n result.imports = parsed.imports;\n }\n\n // Ignore unknown types for forwards compatibility\n if (\n hasOwnProperty$1.call(parsed, 'type') &&\n (parsed.type === 'commonjs' || parsed.type === 'module')\n ) {\n result.type = parsed.type;\n }\n }\n\n cache.set(jsonPath, result);\n\n return result\n}\n\n/**\n * @param {URL | string} resolved\n * @returns {PackageConfig}\n */\nfunction getPackageScopeConfig(resolved) {\n // Note: in Node, this is now a native module.\n let packageJSONUrl = new URL('package.json', resolved);\n\n while (true) {\n const packageJSONPath = packageJSONUrl.pathname;\n if (packageJSONPath.endsWith('node_modules/package.json')) {\n break\n }\n\n const packageConfig = read(fileURLToPath(packageJSONUrl), {\n specifier: resolved\n });\n\n if (packageConfig.exists) {\n return packageConfig\n }\n\n const lastPackageJSONUrl = packageJSONUrl;\n packageJSONUrl = new URL('../package.json', packageJSONUrl);\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check \"/package.json\" for Windows support).\n if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) {\n break\n }\n }\n\n const packageJSONPath = fileURLToPath(packageJSONUrl);\n // ^^ Note: in Node, this is now a native module.\n\n return {\n pjsonPath: packageJSONPath,\n exists: false,\n type: 'none'\n }\n}\n\n/**\n * Returns the package type for a given URL.\n * @param {URL} url - The URL to get the package type for.\n * @returns {PackageType}\n */\nfunction getPackageType(url) {\n // To do @anonrig: Write a C++ function that returns only \"type\".\n return getPackageScopeConfig(url).type\n}\n\n// Manually “tree shaken” from:\n// \n// Last checked on: Apr 29, 2023.\n\n\nconst {ERR_UNKNOWN_FILE_EXTENSION} = codes;\n\nconst hasOwnProperty = {}.hasOwnProperty;\n\n/** @type {Record} */\nconst extensionFormatMap = {\n // @ts-expect-error: hush.\n __proto__: null,\n '.cjs': 'commonjs',\n '.js': 'module',\n '.json': 'json',\n '.mjs': 'module'\n};\n\n/**\n * @param {string | null} mime\n * @returns {string | null}\n */\nfunction mimeToFormat(mime) {\n if (\n mime &&\n /\\s*(text|application)\\/javascript\\s*(;\\s*charset=utf-?8\\s*)?/i.test(mime)\n )\n return 'module'\n if (mime === 'application/json') return 'json'\n return null\n}\n\n/**\n * @callback ProtocolHandler\n * @param {URL} parsed\n * @param {{parentURL: string, source?: Buffer}} context\n * @param {boolean} ignoreErrors\n * @returns {string | null | void}\n */\n\n/**\n * @type {Record}\n */\nconst protocolHandlers = {\n // @ts-expect-error: hush.\n __proto__: null,\n 'data:': getDataProtocolModuleFormat,\n 'file:': getFileProtocolModuleFormat,\n 'http:': getHttpProtocolModuleFormat,\n 'https:': getHttpProtocolModuleFormat,\n 'node:'() {\n return 'builtin'\n }\n};\n\n/**\n * @param {URL} parsed\n */\nfunction getDataProtocolModuleFormat(parsed) {\n const {1: mime} = /^([^/]+\\/[^;,]+)[^,]*?(;base64)?,/.exec(\n parsed.pathname\n ) || [null, null, null];\n return mimeToFormat(mime)\n}\n\n/**\n * Returns the file extension from a URL.\n *\n * Should give similar result to\n * `require('node:path').extname(require('node:url').fileURLToPath(url))`\n * when used with a `file:` URL.\n *\n * @param {URL} url\n * @returns {string}\n */\nfunction extname(url) {\n const pathname = url.pathname;\n let index = pathname.length;\n\n while (index--) {\n const code = pathname.codePointAt(index);\n\n if (code === 47 /* `/` */) {\n return ''\n }\n\n if (code === 46 /* `.` */) {\n return pathname.codePointAt(index - 1) === 47 /* `/` */\n ? ''\n : pathname.slice(index)\n }\n }\n\n return ''\n}\n\n/**\n * @type {ProtocolHandler}\n */\nfunction getFileProtocolModuleFormat(url, _context, ignoreErrors) {\n const value = extname(url);\n\n if (value === '.js') {\n const packageType = getPackageType(url);\n\n if (packageType !== 'none') {\n return packageType\n }\n\n return 'commonjs'\n }\n\n if (value === '') {\n const packageType = getPackageType(url);\n\n // Legacy behavior\n if (packageType === 'none' || packageType === 'commonjs') {\n return 'commonjs'\n }\n\n // Note: we don’t implement WASM, so we don’t need\n // `getFormatOfExtensionlessFile` from `formats`.\n return 'module'\n }\n\n const format = extensionFormatMap[value];\n if (format) return format\n\n // Explicit undefined return indicates load hook should rerun format check\n if (ignoreErrors) {\n return undefined\n }\n\n const filepath = fileURLToPath(url);\n throw new ERR_UNKNOWN_FILE_EXTENSION(value, filepath)\n}\n\nfunction getHttpProtocolModuleFormat() {\n // To do: HTTPS imports.\n}\n\n/**\n * @param {URL} url\n * @param {{parentURL: string}} context\n * @returns {string | null}\n */\nfunction defaultGetFormatWithoutErrors(url, context) {\n const protocol = url.protocol;\n\n if (!hasOwnProperty.call(protocolHandlers, protocol)) {\n return null\n }\n\n return protocolHandlers[protocol](url, context, true) || null\n}\n\n// Manually “tree shaken” from:\n// \n// Last checked on: Apr 29, 2023.\n\n\nconst {ERR_INVALID_ARG_VALUE} = codes;\n\n// In Node itself these values are populated from CLI arguments, before any\n// user code runs.\n// Here we just define the defaults.\nconst DEFAULT_CONDITIONS = Object.freeze(['node', 'import']);\nconst DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS);\n\n/**\n * Returns the default conditions for ES module loading.\n */\nfunction getDefaultConditions() {\n return DEFAULT_CONDITIONS\n}\n\n/**\n * Returns the default conditions for ES module loading, as a Set.\n */\nfunction getDefaultConditionsSet() {\n return DEFAULT_CONDITIONS_SET\n}\n\n/**\n * @param {Array} [conditions]\n * @returns {Set}\n */\nfunction getConditionsSet(conditions) {\n if (conditions !== undefined && conditions !== getDefaultConditions()) {\n if (!Array.isArray(conditions)) {\n throw new ERR_INVALID_ARG_VALUE(\n 'conditions',\n conditions,\n 'expected an array'\n )\n }\n\n return new Set(conditions)\n }\n\n return getDefaultConditionsSet()\n}\n\n// Manually “tree shaken” from:\n// \n// Last checked on: Apr 29, 2023.\n\n\nconst RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace];\n\nconst {\n ERR_NETWORK_IMPORT_DISALLOWED,\n ERR_INVALID_MODULE_SPECIFIER,\n ERR_INVALID_PACKAGE_CONFIG,\n ERR_INVALID_PACKAGE_TARGET,\n ERR_MODULE_NOT_FOUND,\n ERR_PACKAGE_IMPORT_NOT_DEFINED,\n ERR_PACKAGE_PATH_NOT_EXPORTED,\n ERR_UNSUPPORTED_DIR_IMPORT,\n ERR_UNSUPPORTED_RESOLVE_REQUEST\n} = codes;\n\nconst own = {}.hasOwnProperty;\n\nconst invalidSegmentRegEx =\n /(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\\\|\\/|$)/i;\nconst deprecatedInvalidSegmentRegEx =\n /(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\\\|\\/|$)/i;\nconst invalidPackageNameRegEx = /^\\.|%|\\\\/;\nconst patternRegEx = /\\*/g;\nconst encodedSeparatorRegEx = /%2f|%5c/i;\n/** @type {Set} */\nconst emittedPackageWarnings = new Set();\n\nconst doubleSlashRegEx = /[/\\\\]{2}/;\n\n/**\n *\n * @param {string} target\n * @param {string} request\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} base\n * @param {boolean} isTarget\n */\nfunction emitInvalidSegmentDeprecation(\n target,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n isTarget\n) {\n // @ts-expect-error: apparently it does exist, TS.\n if (process.noDeprecation) {\n return\n }\n\n const pjsonPath = fileURLToPath(packageJsonUrl);\n const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null;\n process.emitWarning(\n `Use of deprecated ${\n double ? 'double slash' : 'leading or trailing slash matching'\n } resolving \"${target}\" for module ` +\n `request \"${request}\" ${\n request === match ? '' : `matched to \"${match}\" `\n }in the \"${\n internal ? 'imports' : 'exports'\n }\" field module resolution of the package at ${pjsonPath}${\n base ? ` imported from ${fileURLToPath(base)}` : ''\n }.`,\n 'DeprecationWarning',\n 'DEP0166'\n );\n}\n\n/**\n * @param {URL} url\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {string} [main]\n * @returns {void}\n */\nfunction emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) {\n // @ts-expect-error: apparently it does exist, TS.\n if (process.noDeprecation) {\n return\n }\n\n const format = defaultGetFormatWithoutErrors(url, {parentURL: base.href});\n if (format !== 'module') return\n const urlPath = fileURLToPath(url.href);\n const packagePath = fileURLToPath(new URL$1('.', packageJsonUrl));\n const basePath = fileURLToPath(base);\n if (!main) {\n process.emitWarning(\n `No \"main\" or \"exports\" field defined in the package.json for ${packagePath} resolving the main entry point \"${urlPath.slice(\n packagePath.length\n )}\", imported from ${basePath}.\\nDefault \"index\" lookups for the main are deprecated for ES modules.`,\n 'DeprecationWarning',\n 'DEP0151'\n );\n } else if (path.resolve(packagePath, main) !== urlPath) {\n process.emitWarning(\n `Package ${packagePath} has a \"main\" field set to \"${main}\", ` +\n `excluding the full filename and extension to the resolved file at \"${urlPath.slice(\n packagePath.length\n )}\", imported from ${basePath}.\\n Automatic extension resolution of the \"main\" field is ` +\n 'deprecated for ES modules.',\n 'DeprecationWarning',\n 'DEP0151'\n );\n }\n}\n\n/**\n * @param {string} path\n * @returns {Stats | undefined}\n */\nfunction tryStatSync(path) {\n // Note: from Node 15 onwards we can use `throwIfNoEntry: false` instead.\n try {\n return statSync(path)\n } catch {\n // Note: in Node code this returns `new Stats`,\n // but in Node 22 that’s marked as a deprecated internal API.\n // Which, well, we kinda are, but still to prevent that warning,\n // just yield `undefined`.\n }\n}\n\n/**\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M, M.js, M.json, M.node)\n * 3. TRY(M/index.js, M/index.json, M/index.node)\n * 4. TRY(pkg_url/index.js, pkg_url/index.json, pkg_url/index.node)\n * 5. NOT_FOUND\n *\n * @param {URL} url\n * @returns {boolean}\n */\nfunction fileExists(url) {\n const stats = statSync(url, {throwIfNoEntry: false});\n const isFile = stats ? stats.isFile() : undefined;\n return isFile === null || isFile === undefined ? false : isFile\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {PackageConfig} packageConfig\n * @param {URL} base\n * @returns {URL}\n */\nfunction legacyMainResolve(packageJsonUrl, packageConfig, base) {\n /** @type {URL | undefined} */\n let guess;\n if (packageConfig.main !== undefined) {\n guess = new URL$1(packageConfig.main, packageJsonUrl);\n // Note: fs check redundances will be handled by Descriptor cache here.\n if (fileExists(guess)) return guess\n\n const tries = [\n `./${packageConfig.main}.js`,\n `./${packageConfig.main}.json`,\n `./${packageConfig.main}.node`,\n `./${packageConfig.main}/index.js`,\n `./${packageConfig.main}/index.json`,\n `./${packageConfig.main}/index.node`\n ];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL$1(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(\n guess,\n packageJsonUrl,\n base,\n packageConfig.main\n );\n return guess\n }\n // Fallthrough.\n }\n\n const tries = ['./index.js', './index.json', './index.node'];\n let i = -1;\n\n while (++i < tries.length) {\n guess = new URL$1(tries[i], packageJsonUrl);\n if (fileExists(guess)) break\n guess = undefined;\n }\n\n if (guess) {\n emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main);\n return guess\n }\n\n // Not found.\n throw new ERR_MODULE_NOT_FOUND(\n fileURLToPath(new URL$1('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {URL} resolved\n * @param {URL} base\n * @param {boolean} [preserveSymlinks]\n * @returns {URL}\n */\nfunction finalizeResolution(resolved, base, preserveSymlinks) {\n if (encodedSeparatorRegEx.exec(resolved.pathname) !== null) {\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved.pathname,\n 'must not include encoded \"/\" or \"\\\\\" characters',\n fileURLToPath(base)\n )\n }\n\n /** @type {string} */\n let filePath;\n\n try {\n filePath = fileURLToPath(resolved);\n } catch (error) {\n const cause = /** @type {ErrnoException} */ (error);\n Object.defineProperty(cause, 'input', {value: String(resolved)});\n Object.defineProperty(cause, 'module', {value: String(base)});\n throw cause\n }\n\n const stats = tryStatSync(\n filePath.endsWith('/') ? filePath.slice(-1) : filePath\n );\n\n if (stats && stats.isDirectory()) {\n const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, fileURLToPath(base));\n // @ts-expect-error Add this for `import.meta.resolve`.\n error.url = String(resolved);\n throw error\n }\n\n if (!stats || !stats.isFile()) {\n const error = new ERR_MODULE_NOT_FOUND(\n filePath || resolved.pathname,\n base && fileURLToPath(base),\n true\n );\n // @ts-expect-error Add this for `import.meta.resolve`.\n error.url = String(resolved);\n throw error\n }\n\n if (!preserveSymlinks) {\n const real = realpathSync(filePath);\n const {search, hash} = resolved;\n resolved = pathToFileURL(real + (filePath.endsWith(path.sep) ? '/' : ''));\n resolved.search = search;\n resolved.hash = hash;\n }\n\n return resolved\n}\n\n/**\n * @param {string} specifier\n * @param {URL | undefined} packageJsonUrl\n * @param {URL} base\n * @returns {Error}\n */\nfunction importNotDefined(specifier, packageJsonUrl, base) {\n return new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n specifier,\n packageJsonUrl && fileURLToPath(new URL$1('.', packageJsonUrl)),\n fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {Error}\n */\nfunction exportsNotFound(subpath, packageJsonUrl, base) {\n return new ERR_PACKAGE_PATH_NOT_EXPORTED(\n fileURLToPath(new URL$1('.', packageJsonUrl)),\n subpath,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} request\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {never}\n */\nfunction throwInvalidSubpath(request, match, packageJsonUrl, internal, base) {\n const reason = `request is not a valid match in pattern \"${match}\" for the \"${\n internal ? 'imports' : 'exports'\n }\" resolution of ${fileURLToPath(packageJsonUrl)}`;\n throw new ERR_INVALID_MODULE_SPECIFIER(\n request,\n reason,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} subpath\n * @param {unknown} target\n * @param {URL} packageJsonUrl\n * @param {boolean} internal\n * @param {URL} [base]\n * @returns {Error}\n */\nfunction invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) {\n target =\n typeof target === 'object' && target !== null\n ? JSON.stringify(target, null, '')\n : `${target}`;\n\n return new ERR_INVALID_PACKAGE_TARGET(\n fileURLToPath(new URL$1('.', packageJsonUrl)),\n subpath,\n target,\n internal,\n base && fileURLToPath(base)\n )\n}\n\n/**\n * @param {string} target\n * @param {string} subpath\n * @param {string} match\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {boolean} isPathMap\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction resolvePackageTargetString(\n target,\n subpath,\n match,\n packageJsonUrl,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n) {\n if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n\n if (!target.startsWith('./')) {\n if (internal && !target.startsWith('../') && !target.startsWith('/')) {\n let isURL = false;\n\n try {\n new URL$1(target);\n isURL = true;\n } catch {\n // Continue regardless of error.\n }\n\n if (!isURL) {\n const exportTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target + subpath;\n\n return packageResolve(exportTarget, packageJsonUrl, conditions)\n }\n }\n\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n }\n\n if (invalidSegmentRegEx.exec(target.slice(2)) !== null) {\n if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) {\n if (!isPathMap) {\n const request = pattern\n ? match.replace('*', () => subpath)\n : match + subpath;\n const resolvedTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target;\n emitInvalidSegmentDeprecation(\n resolvedTarget,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n true\n );\n }\n } else {\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n }\n }\n\n const resolved = new URL$1(target, packageJsonUrl);\n const resolvedPath = resolved.pathname;\n const packagePath = new URL$1('.', packageJsonUrl).pathname;\n\n if (!resolvedPath.startsWith(packagePath))\n throw invalidPackageTarget(match, target, packageJsonUrl, internal, base)\n\n if (subpath === '') return resolved\n\n if (invalidSegmentRegEx.exec(subpath) !== null) {\n const request = pattern\n ? match.replace('*', () => subpath)\n : match + subpath;\n if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) {\n if (!isPathMap) {\n const resolvedTarget = pattern\n ? RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n target,\n () => subpath\n )\n : target;\n emitInvalidSegmentDeprecation(\n resolvedTarget,\n request,\n match,\n packageJsonUrl,\n internal,\n base,\n false\n );\n }\n } else {\n throwInvalidSubpath(request, match, packageJsonUrl, internal, base);\n }\n }\n\n if (pattern) {\n return new URL$1(\n RegExpPrototypeSymbolReplace.call(\n patternRegEx,\n resolved.href,\n () => subpath\n )\n )\n }\n\n return new URL$1(subpath, resolved)\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n const keyNumber = Number(key);\n if (`${keyNumber}` !== key) return false\n return keyNumber >= 0 && keyNumber < 0xff_ff_ff_ff\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {unknown} target\n * @param {string} subpath\n * @param {string} packageSubpath\n * @param {URL} base\n * @param {boolean} pattern\n * @param {boolean} internal\n * @param {boolean} isPathMap\n * @param {Set | undefined} conditions\n * @returns {URL | null}\n */\nfunction resolvePackageTarget(\n packageJsonUrl,\n target,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n) {\n if (typeof target === 'string') {\n return resolvePackageTargetString(\n target,\n subpath,\n packageSubpath,\n packageJsonUrl,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n )\n }\n\n if (Array.isArray(target)) {\n /** @type {Array} */\n const targetList = target;\n if (targetList.length === 0) return null\n\n /** @type {ErrnoException | null | undefined} */\n let lastException;\n let i = -1;\n\n while (++i < targetList.length) {\n const targetItem = targetList[i];\n /** @type {URL | null} */\n let resolveResult;\n try {\n resolveResult = resolvePackageTarget(\n packageJsonUrl,\n targetItem,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n );\n } catch (error) {\n const exception = /** @type {ErrnoException} */ (error);\n lastException = exception;\n if (exception.code === 'ERR_INVALID_PACKAGE_TARGET') continue\n throw error\n }\n\n if (resolveResult === undefined) continue\n\n if (resolveResult === null) {\n lastException = null;\n continue\n }\n\n return resolveResult\n }\n\n if (lastException === undefined || lastException === null) {\n return null\n }\n\n throw lastException\n }\n\n if (typeof target === 'object' && target !== null) {\n const keys = Object.getOwnPropertyNames(target);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (isArrayIndex(key)) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain numeric property keys.'\n )\n }\n }\n\n i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n if (key === 'default' || (conditions && conditions.has(key))) {\n // @ts-expect-error: indexable.\n const conditionalTarget = /** @type {unknown} */ (target[key]);\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n conditionalTarget,\n subpath,\n packageSubpath,\n base,\n pattern,\n internal,\n isPathMap,\n conditions\n );\n if (resolveResult === undefined) continue\n return resolveResult\n }\n }\n\n return null\n }\n\n if (target === null) {\n return null\n }\n\n throw invalidPackageTarget(\n packageSubpath,\n target,\n packageJsonUrl,\n internal,\n base\n )\n}\n\n/**\n * @param {unknown} exports\n * @param {URL} packageJsonUrl\n * @param {URL} base\n * @returns {boolean}\n */\nfunction isConditionalExportsMainSugar(exports, packageJsonUrl, base) {\n if (typeof exports === 'string' || Array.isArray(exports)) return true\n if (typeof exports !== 'object' || exports === null) return false\n\n const keys = Object.getOwnPropertyNames(exports);\n let isConditionalSugar = false;\n let i = 0;\n let keyIndex = -1;\n while (++keyIndex < keys.length) {\n const key = keys[keyIndex];\n const currentIsConditionalSugar = key === '' || key[0] !== '.';\n if (i++ === 0) {\n isConditionalSugar = currentIsConditionalSugar;\n } else if (isConditionalSugar !== currentIsConditionalSugar) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJsonUrl),\n base,\n '\"exports\" cannot contain some keys starting with \\'.\\' and some not.' +\n ' The exports object must either be an object of package subpath keys' +\n ' or an object of main entry condition name keys only.'\n )\n }\n }\n\n return isConditionalSugar\n}\n\n/**\n * @param {string} match\n * @param {URL} pjsonUrl\n * @param {URL} base\n */\nfunction emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {\n // @ts-expect-error: apparently it does exist, TS.\n if (process.noDeprecation) {\n return\n }\n\n const pjsonPath = fileURLToPath(pjsonUrl);\n if (emittedPackageWarnings.has(pjsonPath + '|' + match)) return\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated trailing slash pattern mapping \"${match}\" in the ` +\n `\"exports\" field module resolution of the package at ${pjsonPath}${\n base ? ` imported from ${fileURLToPath(base)}` : ''\n }. Mapping specifiers ending in \"/\" is no longer supported.`,\n 'DeprecationWarning',\n 'DEP0155'\n );\n}\n\n/**\n * @param {URL} packageJsonUrl\n * @param {string} packageSubpath\n * @param {Record} packageConfig\n * @param {URL} base\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n) {\n let exports = packageConfig.exports;\n\n if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) {\n exports = {'.': exports};\n }\n\n if (\n own.call(exports, packageSubpath) &&\n !packageSubpath.includes('*') &&\n !packageSubpath.endsWith('/')\n ) {\n // @ts-expect-error: indexable.\n const target = exports[packageSubpath];\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n '',\n packageSubpath,\n base,\n false,\n false,\n false,\n conditions\n );\n if (resolveResult === null || resolveResult === undefined) {\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n }\n\n return resolveResult\n }\n\n let bestMatch = '';\n let bestMatchSubpath = '';\n const keys = Object.getOwnPropertyNames(exports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n const patternIndex = key.indexOf('*');\n\n if (\n patternIndex !== -1 &&\n packageSubpath.startsWith(key.slice(0, patternIndex))\n ) {\n // When this reaches EOL, this can throw at the top of the whole function:\n //\n // if (StringPrototypeEndsWith(packageSubpath, '/'))\n // throwInvalidSubpath(packageSubpath)\n //\n // To match \"imports\" and the spec.\n if (packageSubpath.endsWith('/')) {\n emitTrailingSlashPatternDeprecation(\n packageSubpath,\n packageJsonUrl,\n base\n );\n }\n\n const patternTrailer = key.slice(patternIndex + 1);\n\n if (\n packageSubpath.length >= key.length &&\n packageSubpath.endsWith(patternTrailer) &&\n patternKeyCompare(bestMatch, key) === 1 &&\n key.lastIndexOf('*') === patternIndex\n ) {\n bestMatch = key;\n bestMatchSubpath = packageSubpath.slice(\n patternIndex,\n packageSubpath.length - patternTrailer.length\n );\n }\n }\n }\n\n if (bestMatch) {\n // @ts-expect-error: indexable.\n const target = /** @type {unknown} */ (exports[bestMatch]);\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n bestMatchSubpath,\n bestMatch,\n base,\n true,\n false,\n packageSubpath.endsWith('/'),\n conditions\n );\n\n if (resolveResult === null || resolveResult === undefined) {\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n }\n\n return resolveResult\n }\n\n throw exportsNotFound(packageSubpath, packageJsonUrl, base)\n}\n\n/**\n * @param {string} a\n * @param {string} b\n */\nfunction patternKeyCompare(a, b) {\n const aPatternIndex = a.indexOf('*');\n const bPatternIndex = b.indexOf('*');\n const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;\n const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;\n if (baseLengthA > baseLengthB) return -1\n if (baseLengthB > baseLengthA) return 1\n if (aPatternIndex === -1) return 1\n if (bPatternIndex === -1) return -1\n if (a.length > b.length) return -1\n if (b.length > a.length) return 1\n return 0\n}\n\n/**\n * @param {string} name\n * @param {URL} base\n * @param {Set} [conditions]\n * @returns {URL}\n */\nfunction packageImportsResolve(name, base, conditions) {\n if (name === '#' || name.startsWith('#/') || name.endsWith('/')) {\n const reason = 'is not a valid internal imports specifier name';\n throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base))\n }\n\n /** @type {URL | undefined} */\n let packageJsonUrl;\n\n const packageConfig = getPackageScopeConfig(base);\n\n if (packageConfig.exists) {\n packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n const imports = packageConfig.imports;\n if (imports) {\n if (own.call(imports, name) && !name.includes('*')) {\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n imports[name],\n '',\n name,\n base,\n false,\n true,\n false,\n conditions\n );\n if (resolveResult !== null && resolveResult !== undefined) {\n return resolveResult\n }\n } else {\n let bestMatch = '';\n let bestMatchSubpath = '';\n const keys = Object.getOwnPropertyNames(imports);\n let i = -1;\n\n while (++i < keys.length) {\n const key = keys[i];\n const patternIndex = key.indexOf('*');\n\n if (patternIndex !== -1 && name.startsWith(key.slice(0, -1))) {\n const patternTrailer = key.slice(patternIndex + 1);\n if (\n name.length >= key.length &&\n name.endsWith(patternTrailer) &&\n patternKeyCompare(bestMatch, key) === 1 &&\n key.lastIndexOf('*') === patternIndex\n ) {\n bestMatch = key;\n bestMatchSubpath = name.slice(\n patternIndex,\n name.length - patternTrailer.length\n );\n }\n }\n }\n\n if (bestMatch) {\n const target = imports[bestMatch];\n const resolveResult = resolvePackageTarget(\n packageJsonUrl,\n target,\n bestMatchSubpath,\n bestMatch,\n base,\n true,\n true,\n false,\n conditions\n );\n\n if (resolveResult !== null && resolveResult !== undefined) {\n return resolveResult\n }\n }\n }\n }\n }\n\n throw importNotDefined(name, packageJsonUrl, base)\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n */\nfunction parsePackageName(specifier, base) {\n let separatorIndex = specifier.indexOf('/');\n let validPackageName = true;\n let isScoped = false;\n if (specifier[0] === '@') {\n isScoped = true;\n if (separatorIndex === -1 || specifier.length === 0) {\n validPackageName = false;\n } else {\n separatorIndex = specifier.indexOf('/', separatorIndex + 1);\n }\n }\n\n const packageName =\n separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex);\n\n // Package name cannot have leading . and cannot have percent-encoding or\n // \\\\ separators.\n if (invalidPackageNameRegEx.exec(packageName) !== null) {\n validPackageName = false;\n }\n\n if (!validPackageName) {\n throw new ERR_INVALID_MODULE_SPECIFIER(\n specifier,\n 'is not a valid package name',\n fileURLToPath(base)\n )\n }\n\n const packageSubpath =\n '.' + (separatorIndex === -1 ? '' : specifier.slice(separatorIndex));\n\n return {packageName, packageSubpath, isScoped}\n}\n\n/**\n * @param {string} specifier\n * @param {URL} base\n * @param {Set | undefined} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier, base, conditions) {\n if (builtinModules.includes(specifier)) {\n return new URL$1('node:' + specifier)\n }\n\n const {packageName, packageSubpath, isScoped} = parsePackageName(\n specifier,\n base\n );\n\n // ResolveSelf\n const packageConfig = getPackageScopeConfig(base);\n\n // Can’t test.\n /* c8 ignore next 16 */\n if (packageConfig.exists) {\n const packageJsonUrl = pathToFileURL(packageConfig.pjsonPath);\n if (\n packageConfig.name === packageName &&\n packageConfig.exports !== undefined &&\n packageConfig.exports !== null\n ) {\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n )\n }\n }\n\n let packageJsonUrl = new URL$1(\n './node_modules/' + packageName + '/package.json',\n base\n );\n let packageJsonPath = fileURLToPath(packageJsonUrl);\n /** @type {string} */\n let lastPath;\n do {\n const stat = tryStatSync(packageJsonPath.slice(0, -13));\n if (!stat || !stat.isDirectory()) {\n lastPath = packageJsonPath;\n packageJsonUrl = new URL$1(\n (isScoped ? '../../../../node_modules/' : '../../../node_modules/') +\n packageName +\n '/package.json',\n packageJsonUrl\n );\n packageJsonPath = fileURLToPath(packageJsonUrl);\n continue\n }\n\n // Package match.\n const packageConfig = read(packageJsonPath, {base, specifier});\n if (packageConfig.exports !== undefined && packageConfig.exports !== null) {\n return packageExportsResolve(\n packageJsonUrl,\n packageSubpath,\n packageConfig,\n base,\n conditions\n )\n }\n\n if (packageSubpath === '.') {\n return legacyMainResolve(packageJsonUrl, packageConfig, base)\n }\n\n return new URL$1(packageSubpath, packageJsonUrl)\n // Cross-platform root check.\n } while (packageJsonPath.length !== lastPath.length)\n\n throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), false)\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction isRelativeSpecifier(specifier) {\n if (specifier[0] === '.') {\n if (specifier.length === 1 || specifier[1] === '/') return true\n if (\n specifier[1] === '.' &&\n (specifier.length === 2 || specifier[2] === '/')\n ) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n if (specifier === '') return false\n if (specifier[0] === '/') return true\n return isRelativeSpecifier(specifier)\n}\n\n/**\n * The “Resolver Algorithm Specification” as detailed in the Node docs (which is\n * sync and slightly lower-level than `resolve`).\n *\n * @param {string} specifier\n * `/example.js`, `./example.js`, `../example.js`, `some-package`, `fs`, etc.\n * @param {URL} base\n * Full URL (to a file) that `specifier` is resolved relative from.\n * @param {Set} [conditions]\n * Conditions.\n * @param {boolean} [preserveSymlinks]\n * Keep symlinks instead of resolving them.\n * @returns {URL}\n * A URL object to the found thing.\n */\nfunction moduleResolve(specifier, base, conditions, preserveSymlinks) {\n // Note: The Node code supports `base` as a string (in this internal API) too,\n // we don’t.\n const protocol = base.protocol;\n const isData = protocol === 'data:';\n const isRemote = isData || protocol === 'http:' || protocol === 'https:';\n // Order swapped from spec for minor perf gain.\n // Ok since relative URLs cannot parse as URLs.\n /** @type {URL | undefined} */\n let resolved;\n\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n try {\n resolved = new URL$1(specifier, base);\n } catch (error_) {\n const error = new ERR_UNSUPPORTED_RESOLVE_REQUEST(specifier, base);\n error.cause = error_;\n throw error\n }\n } else if (protocol === 'file:' && specifier[0] === '#') {\n resolved = packageImportsResolve(specifier, base, conditions);\n } else {\n try {\n resolved = new URL$1(specifier);\n } catch (error_) {\n // Note: actual code uses `canBeRequiredWithoutScheme`.\n if (isRemote && !builtinModules.includes(specifier)) {\n const error = new ERR_UNSUPPORTED_RESOLVE_REQUEST(specifier, base);\n error.cause = error_;\n throw error\n }\n\n resolved = packageResolve(specifier, base, conditions);\n }\n }\n\n assert(resolved !== undefined, 'expected to be defined');\n\n if (resolved.protocol !== 'file:') {\n return resolved\n }\n\n return finalizeResolution(resolved, base, preserveSymlinks)\n}\n\n/**\n * @param {string} specifier\n * @param {URL | undefined} parsed\n * @param {URL | undefined} parsedParentURL\n */\nfunction checkIfDisallowedImport(specifier, parsed, parsedParentURL) {\n if (parsedParentURL) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const parentProtocol = parsedParentURL.protocol;\n\n if (parentProtocol === 'http:' || parentProtocol === 'https:') {\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n // Avoid accessing the `protocol` property due to the lazy getters.\n const parsedProtocol = parsed?.protocol;\n\n // `data:` and `blob:` disallowed due to allowing file: access via\n // indirection\n if (\n parsedProtocol &&\n parsedProtocol !== 'https:' &&\n parsedProtocol !== 'http:'\n ) {\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'remote imports cannot import from a local location.'\n )\n }\n\n return {url: parsed?.href || ''}\n }\n\n if (builtinModules.includes(specifier)) {\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'remote imports cannot import from a local location.'\n )\n }\n\n throw new ERR_NETWORK_IMPORT_DISALLOWED(\n specifier,\n parsedParentURL,\n 'only relative and absolute specifiers are supported.'\n )\n }\n }\n}\n\n// Note: this is from:\n// \n/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * @template {unknown} Value\n * @param {Value} self\n * @returns {Value is URL}\n */\nfunction isURL(self) {\n return Boolean(\n self &&\n typeof self === 'object' &&\n 'href' in self &&\n typeof self.href === 'string' &&\n 'protocol' in self &&\n typeof self.protocol === 'string' &&\n self.href &&\n self.protocol\n )\n}\n\n/**\n * Validate user-input in `context` supplied by a custom loader.\n *\n * @param {unknown} parentURL\n * @returns {asserts parentURL is URL | string | undefined}\n */\nfunction throwIfInvalidParentURL(parentURL) {\n if (parentURL === undefined) {\n return // Main entry point, so no parent\n }\n\n if (typeof parentURL !== 'string' && !isURL(parentURL)) {\n throw new codes.ERR_INVALID_ARG_TYPE(\n 'parentURL',\n ['string', 'URL'],\n parentURL\n )\n }\n}\n\n/**\n * @param {string} specifier\n * @param {{parentURL?: string, conditions?: Array}} context\n * @returns {{url: string, format?: string | null}}\n */\nfunction defaultResolve(specifier, context = {}) {\n const {parentURL} = context;\n assert(parentURL !== undefined, 'expected `parentURL` to be defined');\n throwIfInvalidParentURL(parentURL);\n\n /** @type {URL | undefined} */\n let parsedParentURL;\n if (parentURL) {\n try {\n parsedParentURL = new URL$1(parentURL);\n } catch {\n // Ignore exception\n }\n }\n\n /** @type {URL | undefined} */\n let parsed;\n /** @type {string | undefined} */\n let protocol;\n\n try {\n parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier)\n ? new URL$1(specifier, parsedParentURL)\n : new URL$1(specifier);\n\n // Avoid accessing the `protocol` property due to the lazy getters.\n protocol = parsed.protocol;\n\n if (protocol === 'data:') {\n return {url: parsed.href, format: null}\n }\n } catch {\n // Ignore exception\n }\n\n // There are multiple deep branches that can either throw or return; instead\n // of duplicating that deeply nested logic for the possible returns, DRY and\n // check for a return. This seems the least gnarly.\n const maybeReturn = checkIfDisallowedImport(\n specifier,\n parsed,\n parsedParentURL\n );\n\n if (maybeReturn) return maybeReturn\n\n // This must come after checkIfDisallowedImport\n if (protocol === undefined && parsed) {\n protocol = parsed.protocol;\n }\n\n if (protocol === 'node:') {\n return {url: specifier}\n }\n\n // This must come after checkIfDisallowedImport\n if (parsed && parsed.protocol === 'node:') return {url: specifier}\n\n const conditions = getConditionsSet(context.conditions);\n\n const url = moduleResolve(specifier, new URL$1(parentURL), conditions, false);\n\n return {\n // Do NOT cast `url` to a string: that will work even when there are real\n // problems, silencing them\n url: url.href,\n format: defaultGetFormatWithoutErrors(url, {parentURL})\n }\n}\n\n/**\n * @typedef {import('./lib/errors.js').ErrnoException} ErrnoException\n */\n\n\n/**\n * Match `import.meta.resolve` except that `parent` is required (you can pass\n * `import.meta.url`).\n *\n * @param {string} specifier\n * The module specifier to resolve relative to parent\n * (`/example.js`, `./example.js`, `../example.js`, `some-package`, `fs`,\n * etc).\n * @param {string} parent\n * The absolute parent module URL to resolve from.\n * You must pass `import.meta.url` or something else.\n * @returns {string}\n * Returns a string to a full `file:`, `data:`, or `node:` URL\n * to the found thing.\n */\nfunction resolve(specifier, parent) {\n if (!parent) {\n throw new Error(\n 'Please pass `parent`: `import-meta-resolve` cannot ponyfill that'\n )\n }\n\n try {\n return defaultResolve(specifier, {parentURL: parent}).url\n } catch (error) {\n // See: \n const exception = /** @type {ErrnoException} */ (error);\n\n if (\n (exception.code === 'ERR_UNSUPPORTED_DIR_IMPORT' ||\n exception.code === 'ERR_MODULE_NOT_FOUND') &&\n typeof exception.url === 'string'\n ) {\n return exception.url\n }\n\n throw error\n }\n}\n\nexport { moduleResolve, resolve };\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/core/package.json b/client/node_modules/@babel/core/package.json new file mode 100644 index 0000000..e88c422 --- /dev/null +++ b/client/node_modules/@babel/core/package.json @@ -0,0 +1,84 @@ +{ + "name": "@babel/core", + "version": "7.29.7", + "description": "Babel compiler core.", + "main": "./lib/index.js", + "author": "The Babel Team (https://babel.dev/team)", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-core" + }, + "homepage": "https://babel.dev/docs/en/next/babel-core", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20core%22+is%3Aopen", + "keywords": [ + "6to5", + "babel", + "classes", + "const", + "es6", + "harmony", + "let", + "modules", + "transpile", + "transpiler", + "var", + "babel-core", + "compiler" + ], + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + }, + "browser": { + "./lib/config/files/index.js": "./lib/config/files/index-browser.js", + "./lib/config/resolve-targets.js": "./lib/config/resolve-targets-browser.js", + "./lib/transform-file.js": "./lib/transform-file-browser.js", + "./lib/transformation/read-input-source-map-file.js": "./lib/transformation/read-input-source-map-file-browser.js", + "./src/config/files/index.ts": "./src/config/files/index-browser.ts", + "./src/config/resolve-targets.ts": "./src/config/resolve-targets-browser.ts", + "./src/transform-file.ts": "./src/transform-file-browser.ts", + "./src/transformation/read-input-source-map-file.ts": "./src/transformation/read-input-source-map-file-browser.ts" + }, + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "devDependencies": { + "@babel/helper-transform-fixture-test-runner": "^7.29.7", + "@babel/plugin-syntax-flow": "^7.29.7", + "@babel/plugin-transform-flow-strip-types": "^7.29.7", + "@babel/plugin-transform-modules-commonjs": "^7.29.7", + "@babel/preset-env": "^7.29.7", + "@babel/preset-typescript": "^7.29.7", + "@jridgewell/trace-mapping": "^0.3.28", + "@types/convert-source-map": "^2.0.0", + "@types/debug": "^4.1.0", + "@types/resolve": "^1.3.2", + "@types/semver": "^5.4.0", + "rimraf": "^3.0.0", + "ts-node": "^11.0.0-beta.1", + "tsx": "^4.20.3" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/client/node_modules/@babel/core/src/config/files/index-browser.ts b/client/node_modules/@babel/core/src/config/files/index-browser.ts new file mode 100644 index 0000000..435c068 --- /dev/null +++ b/client/node_modules/@babel/core/src/config/files/index-browser.ts @@ -0,0 +1,115 @@ +/* c8 ignore start */ + +import type { Handler } from "gensync"; + +import type { + ConfigFile, + IgnoreFile, + RelativeConfig, + FilePackageData, +} from "./types.ts"; + +import type { CallerMetadata } from "../validation/options.ts"; + +export type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData }; + +export function findConfigUpwards( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + rootDir: string, +): string | null { + return null; +} + +// eslint-disable-next-line require-yield +export function* findPackageData(filepath: string): Handler { + return { + filepath, + directories: [], + pkg: null, + isPackage: false, + }; +} + +// eslint-disable-next-line require-yield +export function* findRelativeConfig( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + pkgData: FilePackageData, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | undefined, +): Handler { + return { config: null, ignore: null }; +} + +// eslint-disable-next-line require-yield +export function* findRootConfig( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + dirname: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | undefined, +): Handler { + return null; +} + +// eslint-disable-next-line require-yield +export function* loadConfig( + name: string, + dirname: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + caller: CallerMetadata | undefined, +): Handler { + throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`); +} + +// eslint-disable-next-line require-yield +export function* resolveShowConfigPath( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + dirname: string, +): Handler { + return null; +} + +export const ROOT_CONFIG_FILENAMES: string[] = []; + +type Resolved = + | { loader: "require"; filepath: string } + | { loader: "import"; filepath: string }; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function resolvePlugin(name: string, dirname: string): Resolved | null { + return null; +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function resolvePreset(name: string, dirname: string): Resolved | null { + return null; +} + +export function loadPlugin( + name: string, + dirname: string, +): Handler<{ + filepath: string; + value: unknown; +}> { + throw new Error( + `Cannot load plugin ${name} relative to ${dirname} in a browser`, + ); +} + +export function loadPreset( + name: string, + dirname: string, +): Handler<{ + filepath: string; + value: unknown; +}> { + throw new Error( + `Cannot load preset ${name} relative to ${dirname} in a browser`, + ); +} diff --git a/client/node_modules/@babel/core/src/config/files/index.ts b/client/node_modules/@babel/core/src/config/files/index.ts new file mode 100644 index 0000000..7b9bf3b --- /dev/null +++ b/client/node_modules/@babel/core/src/config/files/index.ts @@ -0,0 +1,30 @@ +type indexBrowserType = typeof import("./index-browser"); +type indexType = typeof import("./index"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of index-browser, since this file may be replaced at bundle time with index-browser. +// eslint-disable-next-line @typescript-eslint/no-unused-expressions +({}) as any as indexBrowserType as indexType; + +export { findPackageData } from "./package.ts"; + +export { + findConfigUpwards, + findRelativeConfig, + findRootConfig, + loadConfig, + resolveShowConfigPath, + ROOT_CONFIG_FILENAMES, +} from "./configuration.ts"; +export type { + ConfigFile, + IgnoreFile, + RelativeConfig, + FilePackageData, +} from "./types.ts"; +export { + loadPlugin, + loadPreset, + resolvePlugin, + resolvePreset, +} from "./plugins.ts"; diff --git a/client/node_modules/@babel/core/src/config/resolve-targets-browser.ts b/client/node_modules/@babel/core/src/config/resolve-targets-browser.ts new file mode 100644 index 0000000..89e4194 --- /dev/null +++ b/client/node_modules/@babel/core/src/config/resolve-targets-browser.ts @@ -0,0 +1,42 @@ +/* c8 ignore start */ + +import type { InputOptions } from "./validation/options.ts"; +import getTargets, { + type InputTargets, +} from "@babel/helper-compilation-targets"; + +import type { Targets } from "@babel/helper-compilation-targets"; + +export function resolveBrowserslistConfigFile( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + browserslistConfigFile: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + configFilePath: string, +): string | void { + return undefined; +} + +export function resolveTargets( + options: InputOptions, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + root: string, +): Targets { + const optTargets = options.targets; + let targets: InputTargets; + + if (typeof optTargets === "string" || Array.isArray(optTargets)) { + targets = { browsers: optTargets }; + } else if (optTargets) { + if ("esmodules" in optTargets) { + targets = { ...optTargets, esmodules: "intersect" }; + } else { + // https://github.com/microsoft/TypeScript/issues/17002 + targets = optTargets as InputTargets; + } + } + + return getTargets(targets, { + ignoreBrowserslistConfig: true, + browserslistEnv: options.browserslistEnv, + }); +} diff --git a/client/node_modules/@babel/core/src/config/resolve-targets.ts b/client/node_modules/@babel/core/src/config/resolve-targets.ts new file mode 100644 index 0000000..4991f77 --- /dev/null +++ b/client/node_modules/@babel/core/src/config/resolve-targets.ts @@ -0,0 +1,54 @@ +type browserType = typeof import("./resolve-targets-browser"); +type nodeType = typeof import("./resolve-targets"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of index-browser, since this file may be replaced at bundle time with index-browser. +// eslint-disable-next-line @typescript-eslint/no-unused-expressions +({}) as any as browserType as nodeType; + +import type { InputOptions } from "./validation/options.ts"; +import path from "node:path"; +import getTargets, { + type InputTargets, +} from "@babel/helper-compilation-targets"; + +import type { Targets } from "@babel/helper-compilation-targets"; + +export function resolveBrowserslistConfigFile( + browserslistConfigFile: string, + configFileDir: string, +): string | undefined { + return path.resolve(configFileDir, browserslistConfigFile); +} + +export function resolveTargets(options: InputOptions, root: string): Targets { + const optTargets = options.targets; + let targets: InputTargets; + + if (typeof optTargets === "string" || Array.isArray(optTargets)) { + targets = { browsers: optTargets }; + } else if (optTargets) { + if ("esmodules" in optTargets) { + targets = { ...optTargets, esmodules: "intersect" }; + } else { + // https://github.com/microsoft/TypeScript/issues/17002 + targets = optTargets as InputTargets; + } + } + + const { browserslistConfigFile } = options; + let configFile; + let ignoreBrowserslistConfig = false; + if (typeof browserslistConfigFile === "string") { + configFile = browserslistConfigFile; + } else { + ignoreBrowserslistConfig = browserslistConfigFile === false; + } + + return getTargets(targets, { + ignoreBrowserslistConfig, + configFile, + configPath: root, + browserslistEnv: options.browserslistEnv, + }); +} diff --git a/client/node_modules/@babel/core/src/transform-file-browser.ts b/client/node_modules/@babel/core/src/transform-file-browser.ts new file mode 100644 index 0000000..0a15ca5 --- /dev/null +++ b/client/node_modules/@babel/core/src/transform-file-browser.ts @@ -0,0 +1,33 @@ +/* c8 ignore start */ + +// duplicated from transform-file so we do not have to import anything here +type TransformFile = { + (filename: string, callback: (error: Error, file: null) => void): void; + ( + filename: string, + opts: any, + callback: (error: Error, file: null) => void, + ): void; +}; + +export const transformFile: TransformFile = function transformFile( + filename, + opts, + callback?: (error: Error, file: null) => void, +) { + if (typeof opts === "function") { + callback = opts; + } + + callback(new Error("Transforming files is not supported in browsers"), null); +}; + +export function transformFileSync(): never { + throw new Error("Transforming files is not supported in browsers"); +} + +export function transformFileAsync() { + return Promise.reject( + new Error("Transforming files is not supported in browsers"), + ); +} diff --git a/client/node_modules/@babel/core/src/transform-file.ts b/client/node_modules/@babel/core/src/transform-file.ts new file mode 100644 index 0000000..10a3140 --- /dev/null +++ b/client/node_modules/@babel/core/src/transform-file.ts @@ -0,0 +1,56 @@ +import gensync, { type Handler } from "gensync"; + +import loadConfig from "./config/index.ts"; +import type { InputOptions, ResolvedConfig } from "./config/index.ts"; +import { run } from "./transformation/index.ts"; +import type { FileResult, FileResultCallback } from "./transformation/index.ts"; +import * as fs from "./gensync-utils/fs.ts"; + +type transformFileBrowserType = typeof import("./transform-file-browser"); +type transformFileType = typeof import("./transform-file"); + +// Kind of gross, but essentially asserting that the exports of this module are the same as the +// exports of transform-file-browser, since this file may be replaced at bundle time with +// transform-file-browser. +// eslint-disable-next-line @typescript-eslint/no-unused-expressions +({}) as any as transformFileBrowserType as transformFileType; + +const transformFileRunner = gensync(function* ( + filename: string, + opts?: InputOptions, +): Handler { + const options = { ...opts, filename }; + + const config: ResolvedConfig | null = yield* loadConfig(options); + if (config === null) return null; + + const code = yield* fs.readFile(filename, "utf8"); + return yield* run(config, code); +}); + +// @ts-expect-error TS doesn't detect that this signature is compatible +export function transformFile( + filename: string, + callback: FileResultCallback, +): void; +export function transformFile( + filename: string, + opts: InputOptions | undefined | null, + callback: FileResultCallback, +): void; +export function transformFile( + ...args: Parameters +) { + transformFileRunner.errback(...args); +} + +export function transformFileSync( + ...args: Parameters +) { + return transformFileRunner.sync(...args); +} +export function transformFileAsync( + ...args: Parameters +) { + return transformFileRunner.async(...args); +} diff --git a/client/node_modules/@babel/core/src/transformation/read-input-source-map-file-browser.ts b/client/node_modules/@babel/core/src/transformation/read-input-source-map-file-browser.ts new file mode 100644 index 0000000..af8d299 --- /dev/null +++ b/client/node_modules/@babel/core/src/transformation/read-input-source-map-file-browser.ts @@ -0,0 +1,5 @@ +export default function readInputSourceMapFile(): never { + throw new Error( + "Reading input source map files is not supported in browsers", + ); +} diff --git a/client/node_modules/@babel/core/src/transformation/read-input-source-map-file.ts b/client/node_modules/@babel/core/src/transformation/read-input-source-map-file.ts new file mode 100644 index 0000000..df82bc3 --- /dev/null +++ b/client/node_modules/@babel/core/src/transformation/read-input-source-map-file.ts @@ -0,0 +1,89 @@ +import fs from "node:fs"; +import path from "node:path"; +import buildDebug from "debug"; +import convertSourceMap from "convert-source-map"; +import type { SourceMapConverter } from "convert-source-map"; + +const debug = buildDebug("babel:transform:file"); + +// Revised from https://github.com/sindresorhus/find-up-simple/blob/f10133c55dcbf36f84a246c6f1bbfed178dcb774/index.js#L36 +// for Node.js 6 compatibility +function findUpSync( + name: string, + { + cwd, + stopAt, + }: { + cwd?: string; + stopAt?: string; + } = {}, +) { + let directory = path.resolve(cwd || ""); + const { root } = path.parse(directory); + stopAt = path.resolve(directory, stopAt || root); + const isAbsoluteName = path.isAbsolute(name); + + while (directory) { + const filePath = isAbsoluteName ? name : path.join(directory, name); + + try { + const stats = fs.statSync(filePath); + if (stats.isFile()) { + return filePath; + } + } catch (_) {} + + if (directory === stopAt || directory === root) { + break; + } + + directory = path.dirname(directory); + } +} + +function getInputMapPath( + filename: string, + root: string, + inputMapURL: string, +): string | null { + const inputFileDir = path.dirname(filename); + const inputMapPath = path.resolve(inputFileDir, inputMapURL); + const relativeToInputFileDir = path.relative(inputFileDir, inputMapPath); + + if ( + relativeToInputFileDir.startsWith("..") || + path.isAbsolute(relativeToInputFileDir) + ) { + const inputPackageJSONPath = findUpSync("package.json", { + cwd: inputFileDir, + stopAt: root, + }); + const inputFileRoot = inputPackageJSONPath + ? path.dirname(inputPackageJSONPath) + : root; + const relativeInputMapPath = path.relative(inputFileRoot, inputMapPath); + if ( + relativeInputMapPath.startsWith("..") || + path.isAbsolute(relativeInputMapPath) + ) { + debug( + `discarding input sourcemap "${inputMapPath}" outside of package root "${inputFileRoot}"`, + ); + return null; + } + } + return inputMapPath; +} + +export default function readInputSourceMapFile( + filename: string, + root: string, + inputMapURL: string, +): SourceMapConverter | null { + const inputMapPath = getInputMapPath(filename, root, inputMapURL); + if (inputMapPath) { + const inputMapContent = fs.readFileSync(inputMapPath, "utf8"); + return convertSourceMap.fromJSON(inputMapContent); + } + return null; +} diff --git a/client/node_modules/@babel/generator/LICENSE b/client/node_modules/@babel/generator/LICENSE new file mode 100644 index 0000000..f31575e --- /dev/null +++ b/client/node_modules/@babel/generator/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/client/node_modules/@babel/generator/README.md b/client/node_modules/@babel/generator/README.md new file mode 100644 index 0000000..d56149a --- /dev/null +++ b/client/node_modules/@babel/generator/README.md @@ -0,0 +1,19 @@ +# @babel/generator + +> Turns an AST into code. + +See our website [@babel/generator](https://babeljs.io/docs/babel-generator) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/generator +``` + +or using yarn: + +```sh +yarn add @babel/generator --dev +``` diff --git a/client/node_modules/@babel/generator/lib/buffer.js b/client/node_modules/@babel/generator/lib/buffer.js new file mode 100644 index 0000000..e94bf06 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/buffer.js @@ -0,0 +1,247 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +const spaceIndents = []; +for (let i = 0; i < 32; i++) { + spaceIndents.push(" ".repeat(i * 2)); +} +class Buffer { + constructor(map, indentChar) { + this._map = null; + this._buf = ""; + this._str = ""; + this._appendCount = 0; + this._last = 0; + this._canMarkIdName = true; + this._indentChar = ""; + this._queuedChar = 0; + this._position = { + line: 1, + column: 0 + }; + this._sourcePosition = { + identifierName: undefined, + identifierNamePos: undefined, + line: undefined, + column: undefined, + filename: undefined + }; + this._map = map; + this._indentChar = indentChar; + } + get() { + const { + _map, + _last + } = this; + if (this._queuedChar !== 32) { + this._flush(); + } + const code = _last === 10 ? (this._buf + this._str).trimRight() : this._buf + this._str; + if (_map === null) { + return { + code: code, + decodedMap: undefined, + map: null, + rawMappings: undefined + }; + } + const result = { + code: code, + decodedMap: _map.getDecoded(), + get __mergedMap() { + return this.map; + }, + get map() { + const resultMap = _map.get(); + result.map = resultMap; + return resultMap; + }, + set map(value) { + Object.defineProperty(result, "map", { + value, + writable: true + }); + }, + get rawMappings() { + const mappings = _map.getRawMappings(); + result.rawMappings = mappings; + return mappings; + }, + set rawMappings(value) { + Object.defineProperty(result, "rawMappings", { + value, + writable: true + }); + } + }; + return result; + } + append(str, maybeNewline, ignoreMapping = false) { + this._flush(); + this._append(str, maybeNewline, ignoreMapping); + } + appendChar(char) { + this._flush(); + this._appendChar(char, 1, true); + } + queue(char) { + this._flush(); + this._queuedChar = char; + } + _flush() { + const queuedChar = this._queuedChar; + if (queuedChar !== 0) { + this._appendChar(queuedChar, 1, true); + this._queuedChar = 0; + } + } + _appendChar(char, repeat, useSourcePos) { + this._last = char; + if (char === -1) { + const indent = repeat >= 64 ? this._indentChar.repeat(repeat) : spaceIndents[repeat / 2]; + this._str += indent; + } else { + this._str += repeat > 1 ? String.fromCharCode(char).repeat(repeat) : String.fromCharCode(char); + } + const isSpace = char === 32; + const position = this._position; + if (char !== 10) { + if (this._map) { + const sourcePos = this._sourcePosition; + if (useSourcePos && sourcePos) { + this._map.mark(position, sourcePos.line, sourcePos.column, isSpace ? undefined : sourcePos.identifierName, isSpace ? undefined : sourcePos.identifierNamePos, sourcePos.filename); + if (!isSpace && this._canMarkIdName) { + sourcePos.identifierName = undefined; + sourcePos.identifierNamePos = undefined; + } + } else { + this._map.mark(position); + } + } + position.column += repeat; + } else { + position.line++; + position.column = 0; + } + } + _append(str, maybeNewline, ignoreMapping) { + const len = str.length; + const position = this._position; + const sourcePos = this._sourcePosition; + this._last = -1; + if (++this._appendCount > 4096) { + +this._str; + this._buf += this._str; + this._str = str; + this._appendCount = 0; + } else { + this._str += str; + } + const hasMap = !ignoreMapping && this._map !== null; + if (!maybeNewline && !hasMap) { + position.column += len; + return; + } + const { + column, + identifierName, + identifierNamePos, + filename + } = sourcePos; + let line = sourcePos.line; + if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) { + sourcePos.identifierName = undefined; + sourcePos.identifierNamePos = undefined; + } + let i = str.indexOf("\n"); + let last = 0; + if (hasMap && i !== 0) { + this._map.mark(position, line, column, identifierName, identifierNamePos, filename); + } + while (i !== -1) { + position.line++; + position.column = 0; + last = i + 1; + if (last < len && line !== undefined) { + line++; + if (hasMap) { + this._map.mark(position, line, 0, undefined, undefined, filename); + } + } + i = str.indexOf("\n", last); + } + position.column += len - last; + } + removeLastSemicolon() { + if (this._queuedChar === 59) { + this._queuedChar = 0; + } + } + getLastChar(checkQueue) { + if (!checkQueue) { + return this._last; + } + const queuedChar = this._queuedChar; + return queuedChar !== 0 ? queuedChar : this._last; + } + getNewlineCount() { + return this._queuedChar === 0 && this._last === 10 ? 1 : 0; + } + hasContent() { + return this._last !== 0; + } + exactSource(loc, cb) { + if (!this._map) { + cb(); + return; + } + this.source("start", loc); + const identifierName = loc.identifierName; + const sourcePos = this._sourcePosition; + if (identifierName != null) { + this._canMarkIdName = false; + sourcePos.identifierName = identifierName; + } + cb(); + if (identifierName != null) { + this._canMarkIdName = true; + sourcePos.identifierName = undefined; + sourcePos.identifierNamePos = undefined; + } + this.source("end", loc); + } + source(prop, loc) { + if (!this._map) return; + this._normalizePosition(prop, loc, 0); + } + sourceWithOffset(prop, loc, columnOffset) { + if (!this._map) return; + this._normalizePosition(prop, loc, columnOffset); + } + _normalizePosition(prop, loc, columnOffset) { + this._flush(); + const pos = loc[prop]; + if (pos) { + this.setSourcePosition(pos.line, Math.max(pos.column + columnOffset, 0)); + this._sourcePosition.filename = loc.filename; + } + } + setSourcePosition(line, column) { + const target = this._sourcePosition; + target.line = line; + target.column = column; + } + getCurrentColumn() { + return this._position.column + (this._queuedChar ? 1 : 0); + } + getCurrentLine() { + return this._position.line; + } +} +exports.default = Buffer; + +//# sourceMappingURL=buffer.js.map diff --git a/client/node_modules/@babel/generator/lib/buffer.js.map b/client/node_modules/@babel/generator/lib/buffer.js.map new file mode 100644 index 0000000..9c82c89 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/buffer.js.map @@ -0,0 +1 @@ +{"version":3,"names":["spaceIndents","i","push","repeat","Buffer","constructor","map","indentChar","_map","_buf","_str","_appendCount","_last","_canMarkIdName","_indentChar","_queuedChar","_position","line","column","_sourcePosition","identifierName","undefined","identifierNamePos","filename","get","_flush","code","trimRight","decodedMap","rawMappings","result","getDecoded","__mergedMap","resultMap","value","Object","defineProperty","writable","mappings","getRawMappings","append","str","maybeNewline","ignoreMapping","_append","appendChar","char","_appendChar","queue","queuedChar","useSourcePos","indent","String","fromCharCode","isSpace","position","sourcePos","mark","len","length","hasMap","indexOf","last","removeLastSemicolon","getLastChar","checkQueue","getNewlineCount","hasContent","exactSource","loc","cb","source","prop","_normalizePosition","sourceWithOffset","columnOffset","pos","setSourcePosition","Math","max","target","getCurrentColumn","getCurrentLine","exports","default"],"sources":["../src/buffer.ts"],"sourcesContent":["import type SourceMap from \"./source-map.ts\";\nimport type { SourceLocation } from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charcodes from \"charcodes\";\n\nexport type Loc = SourceLocation;\nexport type Pos = SourceLocation[\"start\"];\n\ntype SourcePosition = {\n line: number | undefined;\n column: number | undefined;\n identifierName: string | undefined;\n identifierNamePos: Pos | undefined;\n filename: string | undefined;\n};\n\nconst spaceIndents: string[] = [];\nfor (let i = 0; i < 32; i++) {\n spaceIndents.push(\" \".repeat(i * 2));\n}\n\nexport default class Buffer {\n constructor(map: SourceMap | null, indentChar: string) {\n this._map = map;\n this._indentChar = indentChar;\n }\n\n _map: SourceMap | null = null;\n _buf = \"\";\n _str = \"\";\n _appendCount = 0;\n _last = 0;\n _canMarkIdName = true;\n _indentChar = \"\";\n _queuedChar: typeof charcodes.space | typeof charcodes.semicolon | 0 = 0;\n\n _position = {\n line: 1,\n column: 0,\n };\n _sourcePosition: SourcePosition = {\n identifierName: undefined,\n identifierNamePos: undefined,\n line: undefined,\n column: undefined,\n filename: undefined,\n };\n\n /**\n * Get the final string output from the buffer, along with the sourcemap if one exists.\n */\n\n get() {\n const { _map, _last } = this;\n if (this._queuedChar !== charcodes.space) {\n this._flush();\n }\n\n // Whatever trim is used here should not execute a regex against the\n // source string since it may be arbitrarily large after all transformations\n const code =\n _last === charcodes.lineFeed\n ? (this._buf + this._str).trimRight()\n : this._buf + this._str;\n\n // Creating objects with getters is expensive.\n if (_map === null) {\n return {\n code: code,\n decodedMap: undefined,\n map: null,\n rawMappings: undefined,\n };\n }\n\n const result = {\n code: code,\n // Decoded sourcemap is free to generate.\n decodedMap: _map.getDecoded(),\n // Used as a marker for backwards compatibility. We moved input map merging\n // into the generator. We cannot merge the input map a second time, so the\n // presence of this field tells us we've already done the work.\n get __mergedMap() {\n return this.map;\n },\n // Encoding the sourcemap is moderately CPU expensive.\n get map() {\n const resultMap = _map.get();\n result.map = resultMap;\n return resultMap;\n },\n set map(value) {\n Object.defineProperty(result, \"map\", { value, writable: true });\n },\n // Retrieving the raw mappings is very memory intensive.\n get rawMappings() {\n const mappings = _map.getRawMappings();\n result.rawMappings = mappings;\n return mappings;\n },\n set rawMappings(value) {\n Object.defineProperty(result, \"rawMappings\", { value, writable: true });\n },\n };\n\n return result;\n }\n\n /**\n * Add a string to the buffer that cannot be reverted.\n */\n\n append(\n str: string,\n maybeNewline: boolean,\n ignoreMapping: boolean = false,\n ): void {\n this._flush();\n this._append(str, maybeNewline, ignoreMapping);\n }\n\n appendChar(char: number): void {\n this._flush();\n this._appendChar(char, 1, true);\n }\n\n /**\n * Add a string to the buffer than can be reverted.\n */\n queue(char: typeof charcodes.space | typeof charcodes.semicolon): void {\n this._flush();\n this._queuedChar = char;\n }\n\n _flush(): void {\n const queuedChar = this._queuedChar;\n if (queuedChar !== 0) {\n this._appendChar(queuedChar, 1, true);\n this._queuedChar = 0;\n }\n }\n\n _appendChar(char: number, repeat: number, useSourcePos: boolean): void {\n this._last = char;\n\n if (char === -1) {\n const indent =\n repeat >= 64\n ? this._indentChar.repeat(repeat)\n : spaceIndents[repeat / 2];\n this._str += indent;\n } else {\n this._str +=\n repeat > 1\n ? String.fromCharCode(char).repeat(repeat)\n : String.fromCharCode(char);\n }\n\n const isSpace = char === charcodes.space;\n const position = this._position;\n if (char !== charcodes.lineFeed) {\n if (this._map) {\n const sourcePos = this._sourcePosition;\n if (useSourcePos && sourcePos) {\n this._map.mark(\n position,\n sourcePos.line,\n sourcePos.column,\n isSpace ? undefined : sourcePos.identifierName,\n isSpace ? undefined : sourcePos.identifierNamePos,\n sourcePos.filename,\n );\n\n if (!isSpace && this._canMarkIdName) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n } else {\n this._map.mark(position);\n }\n }\n\n position.column += repeat;\n } else {\n position.line++;\n position.column = 0;\n }\n }\n\n _append(str: string, maybeNewline: boolean, ignoreMapping: boolean): void {\n const len = str.length;\n const position = this._position;\n const sourcePos = this._sourcePosition;\n\n this._last = -1; /* LAST_CHAR_KINDS.NORMAL */\n\n if (++this._appendCount > 4096) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n +this._str; // Unexplainable huge performance boost. Ref: https://github.com/davidmarkclements/flatstr License: MIT\n this._buf += this._str;\n this._str = str;\n this._appendCount = 0;\n } else {\n this._str += str;\n }\n\n const hasMap = !ignoreMapping && this._map !== null;\n\n if (!maybeNewline && !hasMap) {\n position.column += len;\n return;\n }\n\n const { column, identifierName, identifierNamePos, filename } = sourcePos;\n let line = sourcePos.line;\n\n if (\n (identifierName != null || identifierNamePos != null) &&\n this._canMarkIdName\n ) {\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n\n // Search for newline chars. We search only for `\\n`, since both `\\r` and\n // `\\r\\n` are normalized to `\\n` during parse. We exclude `\\u2028` and\n // `\\u2029` for performance reasons, they're so uncommon that it's probably\n // ok. It's also unclear how other sourcemap utilities handle them...\n let i = str.indexOf(\"\\n\");\n let last = 0;\n\n // If the string starts with a newline char, then adding a mark is redundant.\n // This catches both \"no newlines\" and \"newline after several chars\".\n if (hasMap && i !== 0) {\n this._map!.mark(\n position,\n line,\n column,\n identifierName,\n identifierNamePos,\n filename,\n );\n }\n\n // Now, find each remaining newline char in the string.\n while (i !== -1) {\n position.line++;\n position.column = 0;\n last = i + 1;\n\n // We mark the start of each line, which happens directly after this newline char\n // unless this is the last char.\n // When manually adding multi-line content (such as a comment), `line` will be `undefined`.\n if (last < len && line !== undefined) {\n line++;\n if (hasMap) {\n this._map!.mark(position, line, 0, undefined, undefined, filename);\n }\n }\n i = str.indexOf(\"\\n\", last);\n }\n position.column += len - last;\n }\n\n removeLastSemicolon(): void {\n if (this._queuedChar === charcodes.semicolon) {\n this._queuedChar = 0;\n }\n }\n\n getLastChar(checkQueue?: boolean): number {\n if (!checkQueue) {\n return this._last;\n }\n const queuedChar = this._queuedChar;\n return queuedChar !== 0 ? queuedChar : this._last;\n }\n\n /**\n * This will only detect at most 1 newline after a call to `flush()`,\n * but this has not been found so far, and an accurate count can be achieved if needed later.\n */\n getNewlineCount(): number {\n return this._queuedChar === 0 && this._last === charcodes.lineFeed ? 1 : 0;\n }\n\n hasContent(): boolean {\n return this._last !== 0 /*|| this._queuedChar !== 0*/;\n }\n\n /**\n * Certain sourcemap usecases expect mappings to be more accurate than\n * Babel's generic sourcemap handling allows. For now, we special-case\n * identifiers to allow for the primary cases to work.\n * The goal of this line is to ensure that the map output from Babel will\n * have an exact range on identifiers in the output code. Without this\n * line, Babel would potentially include some number of trailing tokens\n * that are printed after the identifier, but before another location has\n * been assigned.\n * This allows tooling like Rollup and Webpack to more accurately perform\n * their own transformations. Most importantly, this allows the import/export\n * transformations performed by those tools to loose less information when\n * applying their own transformations on top of the code and map results\n * generated by Babel itself.\n *\n * The primary example of this is the snippet:\n *\n * import mod from \"mod\";\n * mod();\n *\n * With this line, there will be one mapping range over \"mod\" and another\n * over \"();\", where previously it would have been a single mapping.\n */\n exactSource(loc: Loc, cb: () => void) {\n if (!this._map) {\n cb();\n return;\n }\n\n this.source(\"start\", loc);\n const identifierName = loc.identifierName;\n const sourcePos = this._sourcePosition;\n if (identifierName != null) {\n this._canMarkIdName = false;\n sourcePos.identifierName = identifierName;\n }\n cb();\n\n if (identifierName != null) {\n this._canMarkIdName = true;\n sourcePos.identifierName = undefined;\n sourcePos.identifierNamePos = undefined;\n }\n this.source(\"end\", loc);\n }\n\n /**\n * Sets a given position as the current source location so generated code after this call\n * will be given this position in the sourcemap.\n */\n\n source(prop: \"start\" | \"end\", loc: Loc): void {\n if (!this._map) return;\n\n // Since this is called extremely often, we reuse the same _sourcePosition\n // object for the whole lifetime of the buffer.\n this._normalizePosition(prop, loc, 0);\n }\n\n sourceWithOffset(\n prop: \"start\" | \"end\",\n loc: Loc,\n columnOffset: number,\n ): void {\n if (!this._map) return;\n\n this._normalizePosition(prop, loc, columnOffset);\n }\n\n _normalizePosition(prop: \"start\" | \"end\", loc: Loc, columnOffset: number) {\n this._flush();\n\n const pos = loc[prop];\n if (pos) {\n this.setSourcePosition(\n pos.line,\n // TODO: Fix https://github.com/babel/babel/issues/15712 in downstream\n Math.max(pos.column + columnOffset, 0),\n );\n this._sourcePosition.filename = loc.filename;\n }\n }\n\n setSourcePosition(line: number, column: number): void {\n const target = this._sourcePosition;\n target.line = line;\n target.column = column;\n }\n\n getCurrentColumn(): number {\n return this._position.column + (this._queuedChar ? 1 : 0);\n }\n\n getCurrentLine(): number {\n return this._position.line;\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/base.js b/client/node_modules/@babel/generator/lib/generators/base.js new file mode 100644 index 0000000..4768b9b --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/base.js @@ -0,0 +1,86 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.BlockStatement = BlockStatement; +exports.Directive = Directive; +exports.DirectiveLiteral = DirectiveLiteral; +exports.File = File; +exports.InterpreterDirective = InterpreterDirective; +exports.Placeholder = Placeholder; +exports.Program = Program; +function File(node) { + if (node.program) { + this.print(node.program.interpreter); + } + this.print(node.program); +} +function Program(node) { + var _node$directives; + this.printInnerComments(false); + const directivesLen = (_node$directives = node.directives) == null ? void 0 : _node$directives.length; + if (directivesLen) { + var _node$directives$trai; + const newline = node.body.length ? 2 : 1; + this.printSequence(node.directives, undefined, undefined, newline); + if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) { + this.newline(newline); + } + } + this.printSequence(node.body); +} +function BlockStatement(node) { + var _node$directives2; + this.tokenChar(123); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + const directivesLen = (_node$directives2 = node.directives) == null ? void 0 : _node$directives2.length; + if (directivesLen) { + var _node$directives$trai2; + const newline = node.body.length ? 2 : 1; + this.printSequence(node.directives, true, true, newline); + if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) { + this.newline(newline); + } + } + this.printSequence(node.body, true, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.rightBrace(node); +} +function Directive(node) { + this.print(node.value); + this.semicolon(); +} +const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/; +const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/; +function DirectiveLiteral(node) { + const raw = this.getPossibleRaw(node); + if (!this.format.minified && raw !== undefined) { + this.token(raw); + return; + } + const { + value + } = node; + if (!unescapedDoubleQuoteRE.test(value)) { + this.token(`"${value}"`); + } else if (!unescapedSingleQuoteRE.test(value)) { + this.token(`'${value}'`); + } else { + throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes."); + } +} +function InterpreterDirective(node) { + this.token(`#!${node.value}`); + this._newline(); +} +function Placeholder(node) { + this.token("%%"); + this.print(node.name); + this.token("%%"); + if (node.expectedNode === "Statement") { + this.semicolon(); + } +} + +//# sourceMappingURL=base.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/base.js.map b/client/node_modules/@babel/generator/lib/generators/base.js.map new file mode 100644 index 0000000..1bf7773 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/base.js.map @@ -0,0 +1 @@ +{"version":3,"names":["File","node","program","print","interpreter","Program","_node$directives","printInnerComments","directivesLen","directives","length","_node$directives$trai","newline","body","printSequence","undefined","trailingComments","BlockStatement","_node$directives2","token","oldNoLineTerminatorAfterNode","enterDelimited","_node$directives$trai2","_noLineTerminatorAfterNode","rightBrace","Directive","value","semicolon","unescapedSingleQuoteRE","unescapedDoubleQuoteRE","DirectiveLiteral","raw","getPossibleRaw","format","minified","test","Error","InterpreterDirective","_newline","Placeholder","name","expectedNode"],"sources":["../../src/generators/base.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function File(this: Printer, node: t.File) {\n if (node.program) {\n // Print this here to ensure that Program node 'leadingComments' still\n // get printed after the hashbang.\n this.print(node.program.interpreter);\n }\n\n this.print(node.program);\n}\n\nexport function Program(this: Printer, node: t.Program) {\n // An empty Program doesn't have any inner tokens, so\n // we must explicitly print its inner comments.\n this.printInnerComments(false);\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, undefined, undefined, newline);\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body);\n}\n\nexport function BlockStatement(this: Printer, node: t.BlockStatement) {\n this.token(\"{\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n\n const directivesLen = node.directives?.length;\n if (directivesLen) {\n const newline = node.body.length ? 2 : 1;\n this.printSequence(node.directives, true, true, newline);\n if (!node.directives[directivesLen - 1].trailingComments?.length) {\n this.newline(newline);\n }\n }\n\n this.printSequence(node.body, true, true);\n\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.rightBrace(node);\n}\n\nexport function Directive(this: Printer, node: t.Directive) {\n this.print(node.value);\n this.semicolon();\n}\n\n// These regexes match an even number of \\ followed by a quote\nconst unescapedSingleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*'/;\nconst unescapedDoubleQuoteRE = /(?:^|[^\\\\])(?:\\\\\\\\)*\"/;\n\nexport function DirectiveLiteral(this: Printer, node: t.DirectiveLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const { value } = node;\n\n // NOTE: In directives we can't change escapings,\n // because they change the behavior.\n // e.g. \"us\\x65 strict\" (\\x65 is e) is not a \"use strict\" directive.\n\n if (!unescapedDoubleQuoteRE.test(value)) {\n this.token(`\"${value}\"`);\n } else if (!unescapedSingleQuoteRE.test(value)) {\n this.token(`'${value}'`);\n } else {\n throw new Error(\n \"Malformed AST: it is not possible to print a directive containing\" +\n \" both unescaped single and double quotes.\",\n );\n }\n}\n\nexport function InterpreterDirective(\n this: Printer,\n node: t.InterpreterDirective,\n) {\n this.token(`#!${node.value}`);\n this._newline();\n}\n\nexport function Placeholder(this: Printer, node: t.Placeholder) {\n this.token(\"%%\");\n this.print(node.name);\n this.token(\"%%\");\n\n if (node.expectedNode === \"Statement\") {\n this.semicolon();\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/classes.js b/client/node_modules/@babel/generator/lib/generators/classes.js new file mode 100644 index 0000000..75272f8 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/classes.js @@ -0,0 +1,215 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ClassAccessorProperty = ClassAccessorProperty; +exports.ClassBody = ClassBody; +exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; +exports.ClassMethod = ClassMethod; +exports.ClassPrivateMethod = ClassPrivateMethod; +exports.ClassPrivateProperty = ClassPrivateProperty; +exports.ClassProperty = ClassProperty; +exports.StaticBlock = StaticBlock; +exports._classMethodHead = _classMethodHead; +var _t = require("@babel/types"); +var _expressions = require("./expressions.js"); +var _typescript = require("./typescript.js"); +var _flow = require("./flow.js"); +var _methods = require("./methods.js"); +const { + isExportDefaultDeclaration, + isExportNamedDeclaration +} = _t; +function ClassDeclaration(node, parent) { + const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent); + if (!inExport || !_expressions._shouldPrintDecoratorsBeforeExport.call(this, parent)) { + this.printJoin(node.decorators); + } + if (node.declare) { + this.word("declare"); + this.space(); + } + if (node.abstract) { + this.word("abstract"); + this.space(); + } + this.word("class"); + if (node.id) { + this.space(); + this.print(node.id); + } + this.print(node.typeParameters); + if (node.superClass) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.superClass); + this.print(node.superTypeParameters); + } + if (node.implements) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements); + } + this.space(); + this.print(node.body); +} +function ClassBody(node) { + this.tokenChar(123); + if (node.body.length === 0) { + this.tokenChar(125); + } else { + const separator = classBodyEmptySemicolonsPrinter(this, node); + separator == null || separator(-1); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.printJoin(node.body, true, true, separator, true, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + if (!this.endsWith(10)) this.newline(); + this.rightBrace(node); + } +} +function classBodyEmptySemicolonsPrinter(printer, node) { + if (!printer.tokenMap || node.start == null || node.end == null) { + return null; + } + const indexes = printer.tokenMap.getIndexes(node); + if (!indexes) return null; + let k = 1; + let occurrenceCount = 0; + let nextLocIndex = 0; + const advanceNextLocIndex = () => { + while (nextLocIndex < node.body.length && node.body[nextLocIndex].start == null) { + nextLocIndex++; + } + }; + advanceNextLocIndex(); + return i => { + if (nextLocIndex <= i) { + nextLocIndex = i + 1; + advanceNextLocIndex(); + } + const end = nextLocIndex === node.body.length ? node.end : node.body[nextLocIndex].start; + let tok; + while (k < indexes.length && printer.tokenMap.matchesOriginal(tok = printer._tokens[indexes[k]], ";") && tok.start < end) { + printer.tokenChar(59, occurrenceCount++); + k++; + } + }; +} +function ClassProperty(node) { + this.printJoin(node.decorators); + if (!node.static && !this.format.preserveFormat) { + var _node$key$loc; + const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line; + if (endLine) this.catchUp(endLine); + } + _typescript._tsPrintClassMemberModifiers.call(this, node); + if (node.computed) { + this.tokenChar(91); + this.print(node.key); + this.tokenChar(93); + } else { + _flow._variance.call(this, node); + this.print(node.key); + } + if (node.optional) { + this.tokenChar(63); + } + if (node.definite) { + this.tokenChar(33); + } + this.print(node.typeAnnotation); + if (node.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.value); + } + this.semicolon(); +} +function ClassAccessorProperty(node) { + var _node$key$loc2; + this.printJoin(node.decorators); + const endLine = (_node$key$loc2 = node.key.loc) == null || (_node$key$loc2 = _node$key$loc2.end) == null ? void 0 : _node$key$loc2.line; + if (endLine) this.catchUp(endLine); + _typescript._tsPrintClassMemberModifiers.call(this, node); + this.word("accessor", true); + this.space(); + if (node.computed) { + this.tokenChar(91); + this.print(node.key); + this.tokenChar(93); + } else { + _flow._variance.call(this, node); + this.print(node.key); + } + if (node.optional) { + this.tokenChar(63); + } + if (node.definite) { + this.tokenChar(33); + } + this.print(node.typeAnnotation); + if (node.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.value); + } + this.semicolon(); +} +function ClassPrivateProperty(node) { + this.printJoin(node.decorators); + _typescript._tsPrintClassMemberModifiers.call(this, node); + this.print(node.key); + if (node.optional) { + this.tokenChar(63); + } + if (node.definite) { + this.tokenChar(33); + } + this.print(node.typeAnnotation); + if (node.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.value); + } + this.semicolon(); +} +function ClassMethod(node) { + _classMethodHead.call(this, node); + this.space(); + this.print(node.body); +} +function ClassPrivateMethod(node) { + _classMethodHead.call(this, node); + this.space(); + this.print(node.body); +} +function _classMethodHead(node) { + this.printJoin(node.decorators); + if (!this.format.preserveFormat) { + var _node$key$loc3; + const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line; + if (endLine) this.catchUp(endLine); + } + _typescript._tsPrintClassMemberModifiers.call(this, node); + _methods._methodHead.call(this, node); +} +function StaticBlock(node) { + this.word("static"); + this.space(); + this.tokenChar(123); + if (node.body.length === 0) { + this.tokenChar(125); + } else { + this.newline(); + this.printSequence(node.body, true); + this.rightBrace(node); + } +} + +//# sourceMappingURL=classes.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/classes.js.map b/client/node_modules/@babel/generator/lib/generators/classes.js.map new file mode 100644 index 0000000..d764d73 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/classes.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_expressions","_typescript","_flow","_methods","isExportDefaultDeclaration","isExportNamedDeclaration","ClassDeclaration","node","parent","inExport","_shouldPrintDecoratorsBeforeExport","call","printJoin","decorators","declare","word","space","abstract","id","print","typeParameters","superClass","superTypeParameters","implements","printList","body","ClassBody","token","length","separator","classBodyEmptySemicolonsPrinter","oldNoLineTerminatorAfterNode","enterDelimited","_noLineTerminatorAfterNode","endsWith","newline","rightBrace","printer","tokenMap","start","end","indexes","getIndexes","k","occurrenceCount","nextLocIndex","advanceNextLocIndex","i","tok","matchesOriginal","_tokens","tokenChar","ClassProperty","static","format","preserveFormat","_node$key$loc","endLine","key","loc","line","catchUp","_tsPrintClassMemberModifiers","computed","_variance","optional","definite","typeAnnotation","value","semicolon","ClassAccessorProperty","_node$key$loc2","ClassPrivateProperty","ClassMethod","_classMethodHead","ClassPrivateMethod","_node$key$loc3","_methodHead","StaticBlock","printSequence"],"sources":["../../src/generators/classes.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isExportDefaultDeclaration,\n isExportNamedDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport { _shouldPrintDecoratorsBeforeExport } from \"./expressions.ts\";\nimport { _tsPrintClassMemberModifiers } from \"./typescript.ts\";\nimport { _variance } from \"./flow.ts\";\nimport { _methodHead } from \"./methods.ts\";\n\nexport function ClassDeclaration(\n this: Printer,\n node: t.ClassDeclaration,\n parent: t.Node,\n) {\n const inExport =\n isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);\n\n if (\n !inExport ||\n !_shouldPrintDecoratorsBeforeExport.call(\n this,\n parent as t.ExportDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n this.printJoin(node.decorators);\n }\n\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n if (node.abstract) {\n // TS\n this.word(\"abstract\");\n this.space();\n }\n\n this.word(\"class\");\n\n if (node.id) {\n this.space();\n this.print(node.id);\n }\n\n this.print(node.typeParameters);\n\n if (node.superClass) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.superClass);\n this.print(\n process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Renamed\n node.superTypeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Renamed\n node.superTypeParameters,\n );\n }\n\n if (node.implements) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n\n this.space();\n this.print(node.body);\n}\n\nexport { ClassDeclaration as ClassExpression };\n\nexport function ClassBody(this: Printer, node: t.ClassBody) {\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n const separator = classBodyEmptySemicolonsPrinter(this, node);\n separator?.(-1); // print leading semicolons in preserveFormat mode\n\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.printJoin(node.body, true, true, separator, true, true);\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n\n if (!this.endsWith(charCodes.lineFeed)) this.newline();\n\n this.rightBrace(node);\n }\n}\n\nfunction classBodyEmptySemicolonsPrinter(printer: Printer, node: t.ClassBody) {\n if (!printer.tokenMap || node.start == null || node.end == null) {\n return null;\n }\n\n // \"empty statements\" in class bodies are not represented in the AST.\n // Print them by checking if there are any ; tokens between the current AST\n // member and the next one.\n\n const indexes = printer.tokenMap.getIndexes(node);\n if (!indexes) return null;\n\n let k = 1; // start from 1 to skip '{'\n\n let occurrenceCount = 0;\n\n let nextLocIndex = 0;\n const advanceNextLocIndex = () => {\n while (\n nextLocIndex < node.body.length &&\n node.body[nextLocIndex].start == null\n ) {\n nextLocIndex++;\n }\n };\n advanceNextLocIndex();\n\n return (i: number) => {\n if (nextLocIndex <= i) {\n nextLocIndex = i + 1;\n advanceNextLocIndex();\n }\n\n const end =\n nextLocIndex === node.body.length\n ? node.end\n : node.body[nextLocIndex].start;\n\n let tok;\n while (\n k < indexes.length &&\n printer.tokenMap!.matchesOriginal(\n (tok = printer._tokens![indexes[k]]),\n \";\",\n ) &&\n tok.start < end!\n ) {\n printer.tokenChar(charCodes.semicolon, occurrenceCount++);\n k++;\n }\n };\n}\n\nexport function ClassProperty(this: Printer, node: t.ClassProperty) {\n this.printJoin(node.decorators);\n\n if (!node.static && !this.format.preserveFormat) {\n // catch up to property key, avoid line break\n // between member TS modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n }\n\n _tsPrintClassMemberModifiers.call(this, node);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n _variance.call(this, node);\n this.print(node.key);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassAccessorProperty(\n this: Printer,\n node: t.ClassAccessorProperty,\n) {\n this.printJoin(node.decorators);\n\n // catch up to property key, avoid line break\n // between member modifiers and the property key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n\n // TS does not support class accessor property yet\n _tsPrintClassMemberModifiers.call(this, node);\n\n this.word(\"accessor\", true);\n this.space();\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n // Todo: Flow does not support class accessor property yet.\n _variance.call(this, node);\n this.print(node.key);\n }\n\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassPrivateProperty(\n this: Printer,\n node: t.ClassPrivateProperty,\n) {\n this.printJoin(node.decorators);\n _tsPrintClassMemberModifiers.call(this, node);\n this.print(node.key);\n // TS\n if (node.optional) {\n this.token(\"?\");\n }\n if (node.definite) {\n this.token(\"!\");\n }\n this.print(node.typeAnnotation);\n if (node.value) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.value);\n }\n this.semicolon();\n}\n\nexport function ClassMethod(this: Printer, node: t.ClassMethod) {\n _classMethodHead.call(this, node);\n this.space();\n this.print(node.body);\n}\n\nexport function ClassPrivateMethod(this: Printer, node: t.ClassPrivateMethod) {\n _classMethodHead.call(this, node);\n this.space();\n this.print(node.body);\n}\n\nexport function _classMethodHead(\n this: Printer,\n node: t.ClassMethod | t.ClassPrivateMethod | t.TSDeclareMethod,\n) {\n this.printJoin(node.decorators);\n\n if (!this.format.preserveFormat) {\n // catch up to method key, avoid line break\n // between member modifiers/method heads and the method key.\n const endLine = node.key.loc?.end?.line;\n if (endLine) this.catchUp(endLine);\n }\n\n _tsPrintClassMemberModifiers.call(this, node);\n _methodHead.call(this, node);\n}\n\nexport function StaticBlock(this: Printer, node: t.StaticBlock) {\n this.word(\"static\");\n this.space();\n this.token(\"{\");\n if (node.body.length === 0) {\n this.token(\"}\");\n } else {\n this.newline();\n this.printSequence(node.body, true);\n this.rightBrace(node);\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/deprecated.js b/client/node_modules/@babel/generator/lib/generators/deprecated.js new file mode 100644 index 0000000..bc1f409 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/deprecated.js @@ -0,0 +1,73 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.DecimalLiteral = DecimalLiteral; +exports.Noop = Noop; +exports.RecordExpression = RecordExpression; +exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; +exports.TupleExpression = TupleExpression; +function Noop() {} +function TSExpressionWithTypeArguments(node) { + this.print(node.expression); + this.print(node.typeParameters); +} +function DecimalLiteral(node) { + const raw = this.getPossibleRaw(node); + if (!this.format.minified && raw !== undefined) { + this.word(raw); + return; + } + this.word(node.value + "m"); +} +function RecordExpression(node) { + const props = node.properties; + let startToken; + let endToken; + if (this.format.recordAndTupleSyntaxType === "bar") { + startToken = "{|"; + endToken = "|}"; + } else if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null) { + throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`); + } else { + startToken = "#{"; + endToken = "}"; + } + this.token(startToken); + if (props.length) { + this.space(); + this.printList(props, this.shouldPrintTrailingComma(endToken), true, true); + this.space(); + } + this.token(endToken); +} +function TupleExpression(node) { + const elems = node.elements; + const len = elems.length; + let startToken; + let endToken; + if (this.format.recordAndTupleSyntaxType === "bar") { + startToken = "[|"; + endToken = "|]"; + } else if (this.format.recordAndTupleSyntaxType === "hash") { + startToken = "#["; + endToken = "]"; + } else { + throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`); + } + this.token(startToken); + for (let i = 0; i < elems.length; i++) { + const elem = elems[i]; + if (elem) { + if (i > 0) this.space(); + this.print(elem); + if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) { + this.token(",", false, i); + } + } + } + this.token(endToken); +} + +//# sourceMappingURL=deprecated.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/deprecated.js.map b/client/node_modules/@babel/generator/lib/generators/deprecated.js.map new file mode 100644 index 0000000..ceb91e9 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/deprecated.js.map @@ -0,0 +1 @@ +{"version":3,"names":["Noop","TSExpressionWithTypeArguments","node","print","expression","typeParameters","DecimalLiteral","raw","getPossibleRaw","format","minified","undefined","word","value","RecordExpression","props","properties","startToken","endToken","recordAndTupleSyntaxType","Error","JSON","stringify","token","length","space","printList","shouldPrintTrailingComma","TupleExpression","elems","elements","len","i","elem"],"sources":["../../src/generators/deprecated.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport type * as t from \"@babel/types\";\n\nexport type DeprecatedBabel7ASTTypes =\n | \"Noop\"\n | \"TSExpressionWithTypeArguments\"\n | \"DecimalLiteral\"\n | \"RecordExpression\"\n | \"TupleExpression\";\n\nexport function Noop(this: Printer) {}\n\nexport function TSExpressionWithTypeArguments(\n this: Printer,\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node: t.TSExpressionWithTypeArguments,\n) {\n this.print(node.expression);\n this.print(node.typeParameters);\n}\n\nexport function DecimalLiteral(this: Printer, node: any) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"m\");\n}\n\n// @ts-ignore(Babel 7 vs Babel 8) - t.RecordExpression only exists in Babel 7\nexport function RecordExpression(this: Printer, node: t.RecordExpression) {\n const props = node.properties;\n\n let startToken;\n let endToken;\n\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"{|\";\n endToken = \"|}\";\n } else if (\n this.format.recordAndTupleSyntaxType !== \"hash\" &&\n this.format.recordAndTupleSyntaxType != null\n ) {\n throw new Error(\n `The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" (${JSON.stringify(\n this.format.recordAndTupleSyntaxType,\n )} received).`,\n );\n } else {\n startToken = \"#{\";\n endToken = \"}\";\n }\n\n this.token(startToken);\n\n if (props.length) {\n this.space();\n this.printList(props, this.shouldPrintTrailingComma(endToken), true, true);\n this.space();\n }\n this.token(endToken);\n}\n\n// @ts-ignore(Babel 7 vs Babel 8) - t.TupleExpression only exists in Babel 7\nexport function TupleExpression(this: Printer, node: t.TupleExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n let startToken;\n let endToken;\n if (process.env.BABEL_8_BREAKING) {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n if (this.format.recordAndTupleSyntaxType === \"bar\") {\n startToken = \"[|\";\n endToken = \"|]\";\n } else if (this.format.recordAndTupleSyntaxType === \"hash\") {\n startToken = \"#[\";\n endToken = \"]\";\n } else {\n throw new Error(\n `${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`,\n );\n }\n }\n\n this.token(startToken);\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem);\n if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) {\n this.token(\",\", false, i);\n }\n }\n }\n\n this.token(endToken);\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/expressions.js b/client/node_modules/@babel/generator/lib/generators/expressions.js new file mode 100644 index 0000000..7448795 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/expressions.js @@ -0,0 +1,309 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LogicalExpression = exports.AssignmentExpression = AssignmentExpression; +exports.AssignmentPattern = AssignmentPattern; +exports.AwaitExpression = AwaitExpression; +exports.BinaryExpression = BinaryExpression; +exports.BindExpression = BindExpression; +exports.CallExpression = CallExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.Decorator = Decorator; +exports.DoExpression = DoExpression; +exports.EmptyStatement = EmptyStatement; +exports.ExpressionStatement = ExpressionStatement; +exports.Import = Import; +exports.MemberExpression = MemberExpression; +exports.MetaProperty = MetaProperty; +exports.ModuleExpression = ModuleExpression; +exports.NewExpression = NewExpression; +exports.OptionalCallExpression = OptionalCallExpression; +exports.OptionalMemberExpression = OptionalMemberExpression; +exports.ParenthesizedExpression = ParenthesizedExpression; +exports.PrivateName = PrivateName; +exports.SequenceExpression = SequenceExpression; +exports.Super = Super; +exports.ThisExpression = ThisExpression; +exports.UnaryExpression = UnaryExpression; +exports.UpdateExpression = UpdateExpression; +exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; +exports.YieldExpression = YieldExpression; +exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport; +var _t = require("@babel/types"); +var _index = require("../node/index.js"); +const { + isCallExpression, + isLiteral, + isMemberExpression, + isNewExpression, + isPattern +} = _t; +function UnaryExpression(node) { + const { + operator + } = node; + const firstChar = operator.charCodeAt(0); + if (firstChar >= 97 && firstChar <= 122) { + this.word(operator); + this.space(); + } else { + this.tokenChar(firstChar); + } + this.print(node.argument); +} +function DoExpression(node) { + if (node.async) { + this.word("async", true); + this.space(); + } + this.word("do"); + this.space(); + this.print(node.body); +} +function ParenthesizedExpression(node) { + this.tokenChar(40); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.print(node.expression, undefined, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.rightParens(node); +} +function UpdateExpression(node) { + if (node.prefix) { + this.token(node.operator, false, 0, true); + this.print(node.argument); + } else { + this.print(node.argument, true); + this.token(node.operator, false, 0, true); + } +} +function ConditionalExpression(node) { + this.print(node.test); + this.space(); + this.tokenChar(63); + this.space(); + this.print(node.consequent); + this.space(); + this.tokenChar(58); + this.space(); + this.print(node.alternate); +} +function NewExpression(node, parent) { + this.word("new"); + this.space(); + this.print(node.callee); + if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, { + callee: node + }) && !isMemberExpression(parent) && !isNewExpression(parent)) { + return; + } + this.print(node.typeArguments); + this.print(node.typeParameters); + if (node.optional) { + this.token("?."); + } + if (node.arguments.length === 0 && this.tokenMap && !this.tokenMap.endMatches(node, ")")) { + return; + } + this.tokenChar(40); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.printList(node.arguments, this.shouldPrintTrailingComma(")"), undefined, undefined, undefined, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.rightParens(node); +} +function SequenceExpression(node) { + this.printList(node.expressions); +} +function ThisExpression() { + this.word("this"); +} +function Super() { + this.word("super"); +} +function _shouldPrintDecoratorsBeforeExport(node) { + if (typeof this.format.decoratorsBeforeExport === "boolean") { + return this.format.decoratorsBeforeExport; + } + return typeof node.start === "number" && node.start === node.declaration.start; +} +function Decorator(node) { + this.tokenChar(64); + const { + expression + } = node; + this.print(expression); + this.newline(); +} +function OptionalMemberExpression(node) { + let { + computed + } = node; + const { + optional, + property + } = node; + this.print(node.object); + if (!computed && isMemberExpression(property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + if (isLiteral(property) && typeof property.value === "number") { + computed = true; + } + if (optional) { + this.token("?."); + } + if (computed) { + this.tokenChar(91); + this.print(property); + this.tokenChar(93); + } else { + if (!optional) { + this.tokenChar(46); + } + this.print(property); + } +} +function OptionalCallExpression(node) { + this.print(node.callee); + this.print(node.typeParameters); + if (node.optional) { + this.token("?."); + } + this.print(node.typeArguments); + this.tokenChar(40); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.printList(node.arguments, undefined, undefined, undefined, undefined, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.rightParens(node); +} +function CallExpression(node) { + this.print(node.callee); + this.print(node.typeArguments); + this.print(node.typeParameters); + this.tokenChar(40); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.printList(node.arguments, this.shouldPrintTrailingComma(")"), undefined, undefined, undefined, true); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.rightParens(node); +} +function Import() { + this.word("import"); +} +function AwaitExpression(node) { + this.word("await"); + this.space(); + this.print(node.argument); +} +function YieldExpression(node) { + if (node.delegate) { + this.word("yield", true); + this.tokenChar(42); + if (node.argument) { + this.space(); + this.print(node.argument); + } + } else if (node.argument) { + this.word("yield", true); + this.space(); + this.print(node.argument); + } else { + this.word("yield"); + } +} +function EmptyStatement() { + this.semicolon(true); +} +function ExpressionStatement(node) { + this.tokenContext |= _index.TokenContext.expressionStatement; + this.print(node.expression); + this.semicolon(); +} +function AssignmentPattern(node) { + this.print(node.left); + if (node.left.type === "Identifier" || isPattern(node.left)) { + if (node.left.optional) this.tokenChar(63); + this.print(node.left.typeAnnotation); + } + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.right); +} +function AssignmentExpression(node) { + this.print(node.left); + this.space(); + this.token(node.operator, false, 0, true); + this.space(); + this.print(node.right); +} +function BinaryExpression(node) { + this.print(node.left); + this.space(); + const { + operator + } = node; + if (operator.charCodeAt(0) === 105) { + this.word(operator); + } else { + this.token(operator, false, 0, true); + this.setLastChar(operator.charCodeAt(operator.length - 1)); + } + this.space(); + this.print(node.right); +} +function BindExpression(node) { + this.print(node.object); + this.token("::"); + this.print(node.callee); +} +function MemberExpression(node) { + this.print(node.object); + if (!node.computed && isMemberExpression(node.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + let computed = node.computed; + if (isLiteral(node.property) && typeof node.property.value === "number") { + computed = true; + } + if (computed) { + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.tokenChar(91); + this.print(node.property, undefined, true); + this.tokenChar(93); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + } else { + this.tokenChar(46); + this.print(node.property); + } +} +function MetaProperty(node) { + this.print(node.meta); + this.tokenChar(46); + this.print(node.property); +} +function PrivateName(node) { + this.tokenChar(35); + this.print(node.id); +} +function V8IntrinsicIdentifier(node) { + this.tokenChar(37); + this.word(node.name); +} +function ModuleExpression(node) { + this.word("module", true); + this.space(); + this.tokenChar(123); + this.indent(); + const { + body + } = node; + if (body.body.length || body.directives.length) { + this.newline(); + } + this.print(body); + this.dedent(); + this.rightBrace(node); +} + +//# sourceMappingURL=expressions.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/expressions.js.map b/client/node_modules/@babel/generator/lib/generators/expressions.js.map new file mode 100644 index 0000000..c9c6d85 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/expressions.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_index","isCallExpression","isLiteral","isMemberExpression","isNewExpression","isPattern","UnaryExpression","node","operator","firstChar","charCodeAt","word","space","tokenChar","print","argument","DoExpression","async","body","ParenthesizedExpression","token","oldNoLineTerminatorAfterNode","enterDelimited","expression","undefined","_noLineTerminatorAfterNode","rightParens","UpdateExpression","prefix","ConditionalExpression","test","consequent","alternate","NewExpression","parent","callee","format","minified","arguments","length","optional","typeArguments","typeParameters","tokenMap","endMatches","printList","shouldPrintTrailingComma","SequenceExpression","expressions","ThisExpression","Super","_shouldPrintDecoratorsBeforeExport","decoratorsBeforeExport","start","declaration","Decorator","newline","OptionalMemberExpression","computed","property","object","TypeError","value","OptionalCallExpression","CallExpression","Import","AwaitExpression","YieldExpression","delegate","EmptyStatement","semicolon","ExpressionStatement","tokenContext","TokenContext","expressionStatement","AssignmentPattern","left","type","typeAnnotation","right","AssignmentExpression","BinaryExpression","setLastChar","BindExpression","MemberExpression","MetaProperty","meta","PrivateName","id","V8IntrinsicIdentifier","name","ModuleExpression","indent","directives","dedent","rightBrace"],"sources":["../../src/generators/expressions.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isCallExpression,\n isLiteral,\n isMemberExpression,\n isNewExpression,\n isPattern,\n} from \"@babel/types\";\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport type * as t from \"@babel/types\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function UnaryExpression(this: Printer, node: t.UnaryExpression) {\n const { operator } = node;\n const firstChar = operator.charCodeAt(0);\n if (firstChar >= charCodes.lowercaseA && firstChar <= charCodes.lowercaseZ) {\n this.word(operator);\n this.space();\n } else {\n this.tokenChar(firstChar);\n }\n\n this.print(node.argument);\n}\n\nexport function DoExpression(this: Printer, node: t.DoExpression) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n this.word(\"do\");\n this.space();\n this.print(node.body);\n}\n\nexport function ParenthesizedExpression(\n this: Printer,\n node: t.ParenthesizedExpression,\n) {\n this.token(\"(\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.print(node.expression, undefined, true);\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.rightParens(node);\n}\n\nexport function UpdateExpression(this: Printer, node: t.UpdateExpression) {\n if (node.prefix) {\n this.token(node.operator, false, 0, true);\n this.print(node.argument);\n } else {\n this.print(node.argument, true);\n this.token(node.operator, false, 0, true);\n }\n}\n\nexport function ConditionalExpression(\n this: Printer,\n node: t.ConditionalExpression,\n) {\n this.print(node.test);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.consequent);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.alternate);\n}\n\nexport function NewExpression(\n this: Printer,\n node: t.NewExpression,\n parent: t.Node,\n) {\n this.word(\"new\");\n this.space();\n this.print(node.callee);\n if (\n this.format.minified &&\n node.arguments.length === 0 &&\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n !node.optional &&\n !isCallExpression(parent, { callee: node }) &&\n !isMemberExpression(parent) &&\n !isNewExpression(parent)\n ) {\n return;\n }\n\n this.print(node.typeArguments);\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // Legacy TS AST\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n if (node.optional) {\n this.token(\"?.\");\n }\n }\n\n if (\n node.arguments.length === 0 &&\n this.tokenMap &&\n !this.tokenMap.endMatches(node, \")\")\n ) {\n return;\n }\n\n this.token(\"(\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.printList(\n node.arguments,\n this.shouldPrintTrailingComma(\")\"),\n undefined,\n undefined,\n undefined,\n true,\n );\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.rightParens(node);\n}\n\nexport function SequenceExpression(this: Printer, node: t.SequenceExpression) {\n this.printList(node.expressions);\n}\n\nexport function ThisExpression(this: Printer) {\n this.word(\"this\");\n}\n\nexport function Super(this: Printer) {\n this.word(\"super\");\n}\n\nexport function _shouldPrintDecoratorsBeforeExport(\n this: Printer,\n node: t.ExportDeclaration & { declaration: t.ClassDeclaration },\n) {\n if (typeof this.format.decoratorsBeforeExport === \"boolean\") {\n return this.format.decoratorsBeforeExport;\n }\n return (\n typeof node.start === \"number\" && node.start === node.declaration.start\n );\n}\n\nexport function Decorator(this: Printer, node: t.Decorator) {\n this.token(\"@\");\n const { expression } = node;\n this.print(expression);\n this.newline();\n}\n\nexport function OptionalMemberExpression(\n this: Printer,\n node: t.OptionalMemberExpression,\n) {\n let { computed } = node;\n const { optional, property } = node;\n\n this.print(node.object);\n\n if (!computed && isMemberExpression(property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n // @ts-expect-error todo(flow->ts) maybe instead of typeof check specific literal types?\n if (isLiteral(property) && typeof property.value === \"number\") {\n computed = true;\n }\n if (optional) {\n this.token(\"?.\");\n }\n\n if (computed) {\n this.token(\"[\");\n this.print(property);\n this.token(\"]\");\n } else {\n if (!optional) {\n this.token(\".\");\n }\n this.print(property);\n }\n}\n\nexport function OptionalCallExpression(\n this: Printer,\n node: t.OptionalCallExpression,\n) {\n this.print(node.callee);\n\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // legacy TS AST\n }\n\n if (node.optional) {\n this.token(\"?.\");\n }\n\n this.print(node.typeArguments);\n\n this.token(\"(\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.printList(\n node.arguments,\n undefined,\n undefined,\n undefined,\n undefined,\n true,\n );\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.rightParens(node);\n}\n\nexport function CallExpression(this: Printer, node: t.CallExpression) {\n this.print(node.callee);\n\n this.print(node.typeArguments);\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters); // legacy TS AST\n }\n this.token(\"(\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.printList(\n node.arguments,\n this.shouldPrintTrailingComma(\")\"),\n undefined,\n undefined,\n undefined,\n true,\n );\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.rightParens(node);\n}\n\nexport function Import(this: Printer) {\n this.word(\"import\");\n}\n\nexport function AwaitExpression(this: Printer, node: t.AwaitExpression) {\n this.word(\"await\");\n this.space();\n this.print(node.argument);\n}\n\nexport function YieldExpression(this: Printer, node: t.YieldExpression) {\n if (node.delegate) {\n this.word(\"yield\", true);\n this.token(\"*\");\n if (node.argument) {\n this.space();\n // line terminators are allowed after yield*\n this.print(node.argument);\n }\n } else if (node.argument) {\n this.word(\"yield\", true);\n this.space();\n this.print(node.argument);\n } else {\n this.word(\"yield\");\n }\n}\n\nexport function EmptyStatement(this: Printer) {\n this.semicolon(true /* force */);\n}\n\nexport function ExpressionStatement(\n this: Printer,\n node: t.ExpressionStatement,\n) {\n this.tokenContext |= TokenContext.expressionStatement;\n this.print(node.expression);\n this.semicolon();\n}\n\nexport function AssignmentPattern(this: Printer, node: t.AssignmentPattern) {\n this.print(node.left);\n if (node.left.type === \"Identifier\" || isPattern(node.left)) {\n if (node.left.optional) this.token(\"?\");\n this.print(node.left.typeAnnotation);\n }\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right);\n}\n\nexport function AssignmentExpression(\n this: Printer,\n node: t.AssignmentExpression | t.LogicalExpression,\n) {\n this.print(node.left);\n\n this.space();\n this.token(node.operator, false, 0, true);\n this.space();\n\n this.print(node.right);\n}\n\nexport { AssignmentExpression as LogicalExpression };\n\nexport function BinaryExpression(this: Printer, node: t.BinaryExpression) {\n this.print(node.left);\n\n this.space();\n const { operator } = node;\n if (operator.charCodeAt(0) === charCodes.lowercaseI) {\n this.word(operator);\n } else {\n this.token(operator, false, 0, true);\n this.setLastChar(operator.charCodeAt(operator.length - 1));\n }\n this.space();\n\n this.print(node.right);\n}\n\nexport function BindExpression(this: Printer, node: t.BindExpression) {\n this.print(node.object);\n this.token(\"::\");\n this.print(node.callee);\n}\n\nexport function MemberExpression(this: Printer, node: t.MemberExpression) {\n this.print(node.object);\n\n if (!node.computed && isMemberExpression(node.property)) {\n throw new TypeError(\"Got a MemberExpression for MemberExpression property\");\n }\n\n let computed = node.computed;\n // @ts-expect-error todo(flow->ts) maybe use specific literal types\n if (isLiteral(node.property) && typeof node.property.value === \"number\") {\n computed = true;\n }\n\n if (computed) {\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.token(\"[\");\n this.print(node.property, undefined, true);\n this.token(\"]\");\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n } else {\n this.token(\".\");\n this.print(node.property);\n }\n}\n\nexport function MetaProperty(this: Printer, node: t.MetaProperty) {\n this.print(node.meta);\n this.token(\".\");\n this.print(node.property);\n}\n\nexport function PrivateName(this: Printer, node: t.PrivateName) {\n this.token(\"#\");\n this.print(node.id);\n}\n\nexport function V8IntrinsicIdentifier(\n this: Printer,\n node: t.V8IntrinsicIdentifier,\n) {\n this.token(\"%\");\n this.word(node.name);\n}\n\nexport function ModuleExpression(this: Printer, node: t.ModuleExpression) {\n this.word(\"module\", true);\n this.space();\n this.token(\"{\");\n this.indent();\n const { body } = node;\n if (body.body.length || body.directives.length) {\n this.newline();\n }\n this.print(body);\n this.dedent();\n this.rightBrace(node);\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/flow.js b/client/node_modules/@babel/generator/lib/generators/flow.js new file mode 100644 index 0000000..62445cb --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/flow.js @@ -0,0 +1,658 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.AnyTypeAnnotation = AnyTypeAnnotation; +exports.ArrayTypeAnnotation = ArrayTypeAnnotation; +exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; +exports.BooleanTypeAnnotation = BooleanTypeAnnotation; +exports.DeclareClass = DeclareClass; +exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; +exports.DeclareExportDeclaration = DeclareExportDeclaration; +exports.DeclareFunction = DeclareFunction; +exports.DeclareInterface = DeclareInterface; +exports.DeclareModule = DeclareModule; +exports.DeclareModuleExports = DeclareModuleExports; +exports.DeclareOpaqueType = DeclareOpaqueType; +exports.DeclareTypeAlias = DeclareTypeAlias; +exports.DeclareVariable = DeclareVariable; +exports.DeclaredPredicate = DeclaredPredicate; +exports.EmptyTypeAnnotation = EmptyTypeAnnotation; +exports.EnumBooleanBody = EnumBooleanBody; +exports.EnumBooleanMember = EnumBooleanMember; +exports.EnumDeclaration = EnumDeclaration; +exports.EnumDefaultedMember = EnumDefaultedMember; +exports.EnumNumberBody = EnumNumberBody; +exports.EnumNumberMember = EnumNumberMember; +exports.EnumStringBody = EnumStringBody; +exports.EnumStringMember = EnumStringMember; +exports.EnumSymbolBody = EnumSymbolBody; +exports.ExistsTypeAnnotation = ExistsTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.FunctionTypeParam = FunctionTypeParam; +exports.IndexedAccessType = IndexedAccessType; +exports.InferredPredicate = InferredPredicate; +exports.InterfaceDeclaration = InterfaceDeclaration; +exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends; +exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; +exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; +exports.MixedTypeAnnotation = MixedTypeAnnotation; +exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; +exports.NullableTypeAnnotation = NullableTypeAnnotation; +Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { + enumerable: true, + get: function () { + return _types2.NumericLiteral; + } +}); +exports.NumberTypeAnnotation = NumberTypeAnnotation; +exports.ObjectTypeAnnotation = ObjectTypeAnnotation; +exports.ObjectTypeCallProperty = ObjectTypeCallProperty; +exports.ObjectTypeIndexer = ObjectTypeIndexer; +exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; +exports.ObjectTypeProperty = ObjectTypeProperty; +exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; +exports.OpaqueType = OpaqueType; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; +exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; +Object.defineProperty(exports, "StringLiteralTypeAnnotation", { + enumerable: true, + get: function () { + return _types2.StringLiteral; + } +}); +exports.StringTypeAnnotation = StringTypeAnnotation; +exports.SymbolTypeAnnotation = SymbolTypeAnnotation; +exports.ThisTypeAnnotation = ThisTypeAnnotation; +exports.TupleTypeAnnotation = TupleTypeAnnotation; +exports.TypeAlias = TypeAlias; +exports.TypeAnnotation = TypeAnnotation; +exports.TypeCastExpression = TypeCastExpression; +exports.TypeParameter = TypeParameter; +exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation; +exports.TypeofTypeAnnotation = TypeofTypeAnnotation; +exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.Variance = Variance; +exports.VoidTypeAnnotation = VoidTypeAnnotation; +exports._interfaceish = _interfaceish; +exports._variance = _variance; +var _t = require("@babel/types"); +var _modules = require("./modules.js"); +var _index = require("../node/index.js"); +var _types2 = require("./types.js"); +const { + isDeclareExportDeclaration, + isStatement +} = _t; +function AnyTypeAnnotation() { + this.word("any"); +} +function ArrayTypeAnnotation(node) { + this.print(node.elementType, true); + this.tokenChar(91); + this.tokenChar(93); +} +function BooleanTypeAnnotation() { + this.word("boolean"); +} +function BooleanLiteralTypeAnnotation(node) { + this.word(node.value ? "true" : "false"); +} +function NullLiteralTypeAnnotation() { + this.word("null"); +} +function DeclareClass(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + this.word("class"); + this.space(); + _interfaceish.call(this, node); +} +function DeclareFunction(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + this.word("function"); + this.space(); + this.print(node.id); + this.print(node.id.typeAnnotation.typeAnnotation); + if (node.predicate) { + this.space(); + this.print(node.predicate); + } + this.semicolon(); +} +function InferredPredicate() { + this.tokenChar(37); + this.word("checks"); +} +function DeclaredPredicate(node) { + this.tokenChar(37); + this.word("checks"); + this.tokenChar(40); + this.print(node.value); + this.tokenChar(41); +} +function DeclareInterface(node) { + this.word("declare"); + this.space(); + InterfaceDeclaration.call(this, node); +} +function DeclareModule(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.space(); + this.print(node.id); + this.space(); + this.print(node.body); +} +function DeclareModuleExports(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.tokenChar(46); + this.word("exports"); + this.print(node.typeAnnotation); +} +function DeclareTypeAlias(node) { + this.word("declare"); + this.space(); + TypeAlias.call(this, node); +} +function DeclareOpaqueType(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + OpaqueType.call(this, node); +} +function DeclareVariable(node, parent) { + if (!isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + this.word("var"); + this.space(); + this.print(node.id); + this.print(node.id.typeAnnotation); + this.semicolon(); +} +function DeclareExportDeclaration(node) { + this.word("declare"); + this.space(); + this.word("export"); + this.space(); + if (node.default) { + this.word("default"); + this.space(); + } + FlowExportDeclaration.call(this, node); +} +function DeclareExportAllDeclaration(node) { + this.word("declare"); + this.space(); + _modules.ExportAllDeclaration.call(this, node); +} +function EnumDeclaration(node) { + const { + id, + body + } = node; + this.word("enum"); + this.space(); + this.print(id); + this.print(body); +} +function enumExplicitType(context, name, hasExplicitType) { + if (hasExplicitType) { + context.space(); + context.word("of"); + context.space(); + context.word(name); + } + context.space(); +} +function enumBody(context, node) { + const { + members + } = node; + context.token("{"); + context.indent(); + context.newline(); + for (const member of members) { + context.print(member); + context.newline(); + } + if (node.hasUnknownMembers) { + context.token("..."); + context.newline(); + } + context.dedent(); + context.token("}"); +} +function EnumBooleanBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "boolean", explicitType); + enumBody(this, node); +} +function EnumNumberBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "number", explicitType); + enumBody(this, node); +} +function EnumStringBody(node) { + const { + explicitType + } = node; + enumExplicitType(this, "string", explicitType); + enumBody(this, node); +} +function EnumSymbolBody(node) { + enumExplicitType(this, "symbol", true); + enumBody(this, node); +} +function EnumDefaultedMember(node) { + const { + id + } = node; + this.print(id); + this.tokenChar(44); +} +function enumInitializedMember(context, node) { + context.print(node.id); + context.space(); + context.token("="); + context.space(); + context.print(node.init); + context.token(","); +} +function EnumBooleanMember(node) { + enumInitializedMember(this, node); +} +function EnumNumberMember(node) { + enumInitializedMember(this, node); +} +function EnumStringMember(node) { + enumInitializedMember(this, node); +} +function FlowExportDeclaration(node) { + if (node.declaration) { + const declar = node.declaration; + this.print(declar); + if (!isStatement(declar)) this.semicolon(); + } else { + this.tokenChar(123); + if (node.specifiers.length) { + this.space(); + this.printList(node.specifiers); + this.space(); + } + this.tokenChar(125); + if (node.source) { + this.space(); + this.word("from"); + this.space(); + this.print(node.source); + } + this.semicolon(); + } +} +function ExistsTypeAnnotation() { + this.tokenChar(42); +} +function FunctionTypeAnnotation(node, parent) { + this.print(node.typeParameters); + this.tokenChar(40); + if (node.this) { + this.word("this"); + this.tokenChar(58); + this.space(); + this.print(node.this.typeAnnotation); + if (node.params.length || node.rest) { + this.tokenChar(44); + this.space(); + } + } + this.printList(node.params); + if (node.rest) { + if (node.params.length) { + this.tokenChar(44); + this.space(); + } + this.token("..."); + this.print(node.rest); + } + this.tokenChar(41); + const type = parent == null ? void 0 : parent.type; + if (type != null && (type === "ObjectTypeCallProperty" || type === "ObjectTypeInternalSlot" || type === "DeclareFunction" || type === "ObjectTypeProperty" && parent.method)) { + this.tokenChar(58); + } else { + this.space(); + this.token("=>"); + } + this.space(); + this.print(node.returnType); +} +function FunctionTypeParam(node) { + this.print(node.name); + if (node.optional) this.tokenChar(63); + if (node.name) { + this.tokenChar(58); + this.space(); + } + this.print(node.typeAnnotation); +} +function InterfaceExtends(node) { + this.print(node.id); + this.print(node.typeParameters, true); +} +function _interfaceish(node) { + var _node$extends; + this.print(node.id); + this.print(node.typeParameters); + if ((_node$extends = node.extends) != null && _node$extends.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends); + } + if (node.type === "DeclareClass") { + var _node$mixins, _node$implements; + if ((_node$mixins = node.mixins) != null && _node$mixins.length) { + this.space(); + this.word("mixins"); + this.space(); + this.printList(node.mixins); + } + if ((_node$implements = node.implements) != null && _node$implements.length) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements); + } + } + this.space(); + this.print(node.body); +} +function _variance(node) { + var _node$variance; + const kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind; + if (kind != null) { + if (kind === "plus") { + this.tokenChar(43); + } else if (kind === "minus") { + this.tokenChar(45); + } + } +} +function InterfaceDeclaration(node) { + this.word("interface"); + this.space(); + _interfaceish.call(this, node); +} +function andSeparator(occurrenceCount) { + this.space(); + this.token("&", false, occurrenceCount); + this.space(); +} +function InterfaceTypeAnnotation(node) { + var _node$extends2; + this.word("interface"); + if ((_node$extends2 = node.extends) != null && _node$extends2.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends); + } + this.space(); + this.print(node.body); +} +function IntersectionTypeAnnotation(node) { + this.printJoin(node.types, undefined, undefined, andSeparator); +} +function MixedTypeAnnotation() { + this.word("mixed"); +} +function EmptyTypeAnnotation() { + this.word("empty"); +} +function NullableTypeAnnotation(node) { + this.tokenChar(63); + this.print(node.typeAnnotation); +} +function NumberTypeAnnotation() { + this.word("number"); +} +function StringTypeAnnotation() { + this.word("string"); +} +function ThisTypeAnnotation() { + this.word("this"); +} +function TupleTypeAnnotation(node) { + this.tokenChar(91); + this.printList(node.types); + this.tokenChar(93); +} +function TypeofTypeAnnotation(node) { + this.word("typeof"); + this.space(); + this.print(node.argument); +} +function TypeAlias(node) { + this.word("type"); + this.space(); + this.print(node.id); + this.print(node.typeParameters); + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.right); + this.semicolon(); +} +function TypeAnnotation(node, parent) { + this.tokenChar(58); + this.space(); + if (parent.type === "ArrowFunctionExpression") { + this.tokenContext |= _index.TokenContext.arrowFlowReturnType; + } else if (node.optional) { + this.tokenChar(63); + } + this.print(node.typeAnnotation); +} +function TypeParameterInstantiation(node) { + this.tokenChar(60); + this.printList(node.params); + this.tokenChar(62); +} +function TypeParameter(node) { + _variance.call(this, node); + this.word(node.name); + if (node.bound) { + this.print(node.bound); + } + if (node.default) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.default); + } +} +function OpaqueType(node) { + this.word("opaque"); + this.space(); + this.word("type"); + this.space(); + this.print(node.id); + this.print(node.typeParameters); + if (node.supertype) { + this.tokenChar(58); + this.space(); + this.print(node.supertype); + } + if (node.impltype) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.impltype); + } + this.semicolon(); +} +function ObjectTypeAnnotation(node) { + if (node.exact) { + this.token("{|"); + } else { + this.tokenChar(123); + } + const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])]; + if (props.length) { + this.newline(); + this.space(); + this.printJoin(props, true, true, () => { + if (props.length !== 1 || node.inexact) { + this.tokenChar(44); + this.space(); + } + }, true); + this.space(); + } + if (node.inexact) { + this.indent(); + this.token("..."); + if (props.length) { + this.newline(); + } + this.dedent(); + } + if (node.exact) { + this.token("|}"); + } else { + this.tokenChar(125); + } +} +function ObjectTypeInternalSlot(node) { + if (node.static) { + this.word("static"); + this.space(); + } + this.tokenChar(91); + this.tokenChar(91); + this.print(node.id); + this.tokenChar(93); + this.tokenChar(93); + if (node.optional) this.tokenChar(63); + if (!node.method) { + this.tokenChar(58); + this.space(); + } + this.print(node.value); +} +function ObjectTypeCallProperty(node) { + if (node.static) { + this.word("static"); + this.space(); + } + this.print(node.value); +} +function ObjectTypeIndexer(node) { + if (node.static) { + this.word("static"); + this.space(); + } + _variance.call(this, node); + this.tokenChar(91); + if (node.id) { + this.print(node.id); + this.tokenChar(58); + this.space(); + } + this.print(node.key); + this.tokenChar(93); + this.tokenChar(58); + this.space(); + this.print(node.value); +} +function ObjectTypeProperty(node) { + if (node.proto) { + this.word("proto"); + this.space(); + } + if (node.static) { + this.word("static"); + this.space(); + } + if (node.kind === "get" || node.kind === "set") { + this.word(node.kind); + this.space(); + } + _variance.call(this, node); + this.print(node.key); + if (node.optional) this.tokenChar(63); + if (!node.method) { + this.tokenChar(58); + this.space(); + } + this.print(node.value); +} +function ObjectTypeSpreadProperty(node) { + this.token("..."); + this.print(node.argument); +} +function QualifiedTypeIdentifier(node) { + this.print(node.qualification); + this.tokenChar(46); + this.print(node.id); +} +function SymbolTypeAnnotation() { + this.word("symbol"); +} +function orSeparator(occurrenceCount) { + this.space(); + this.token("|", false, occurrenceCount); + this.space(); +} +function UnionTypeAnnotation(node) { + this.printJoin(node.types, undefined, undefined, orSeparator); +} +function TypeCastExpression(node) { + this.tokenChar(40); + this.print(node.expression); + this.print(node.typeAnnotation); + this.tokenChar(41); +} +function Variance(node) { + if (node.kind === "plus") { + this.tokenChar(43); + } else { + this.tokenChar(45); + } +} +function VoidTypeAnnotation() { + this.word("void"); +} +function IndexedAccessType(node) { + this.print(node.objectType, true); + this.tokenChar(91); + this.print(node.indexType); + this.tokenChar(93); +} +function OptionalIndexedAccessType(node) { + this.print(node.objectType); + if (node.optional) { + this.token("?."); + } + this.tokenChar(91); + this.print(node.indexType); + this.tokenChar(93); +} + +//# sourceMappingURL=flow.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/flow.js.map b/client/node_modules/@babel/generator/lib/generators/flow.js.map new file mode 100644 index 0000000..b44691a --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/flow.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_modules","_index","_types2","isDeclareExportDeclaration","isStatement","AnyTypeAnnotation","word","ArrayTypeAnnotation","node","print","elementType","token","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","value","NullLiteralTypeAnnotation","DeclareClass","parent","space","_interfaceish","call","DeclareFunction","id","typeAnnotation","predicate","semicolon","InferredPredicate","DeclaredPredicate","DeclareInterface","InterfaceDeclaration","DeclareModule","body","DeclareModuleExports","DeclareTypeAlias","TypeAlias","DeclareOpaqueType","OpaqueType","DeclareVariable","DeclareExportDeclaration","default","FlowExportDeclaration","DeclareExportAllDeclaration","ExportAllDeclaration","EnumDeclaration","enumExplicitType","context","name","hasExplicitType","enumBody","members","indent","newline","member","hasUnknownMembers","dedent","EnumBooleanBody","explicitType","EnumNumberBody","EnumStringBody","EnumSymbolBody","EnumDefaultedMember","enumInitializedMember","init","EnumBooleanMember","EnumNumberMember","EnumStringMember","declaration","declar","specifiers","length","printList","source","ExistsTypeAnnotation","FunctionTypeAnnotation","typeParameters","this","params","rest","type","method","returnType","FunctionTypeParam","optional","InterfaceExtends","_node$extends","extends","_node$mixins","_node$implements","mixins","implements","_variance","_node$variance","kind","variance","andSeparator","occurrenceCount","InterfaceTypeAnnotation","_node$extends2","IntersectionTypeAnnotation","printJoin","types","undefined","MixedTypeAnnotation","EmptyTypeAnnotation","NullableTypeAnnotation","NumberTypeAnnotation","StringTypeAnnotation","ThisTypeAnnotation","TupleTypeAnnotation","TypeofTypeAnnotation","argument","right","TypeAnnotation","tokenContext","TokenContext","arrowFlowReturnType","TypeParameterInstantiation","TypeParameter","bound","supertype","impltype","ObjectTypeAnnotation","exact","props","properties","callProperties","indexers","internalSlots","inexact","ObjectTypeInternalSlot","static","ObjectTypeCallProperty","ObjectTypeIndexer","key","ObjectTypeProperty","proto","ObjectTypeSpreadProperty","QualifiedTypeIdentifier","qualification","SymbolTypeAnnotation","orSeparator","UnionTypeAnnotation","TypeCastExpression","expression","Variance","VoidTypeAnnotation","IndexedAccessType","objectType","indexType","OptionalIndexedAccessType"],"sources":["../../src/generators/flow.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isDeclareExportDeclaration, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { ExportAllDeclaration } from \"./modules.ts\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function AnyTypeAnnotation(this: Printer) {\n this.word(\"any\");\n}\n\nexport function ArrayTypeAnnotation(\n this: Printer,\n node: t.ArrayTypeAnnotation,\n) {\n this.print(node.elementType, true);\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function BooleanTypeAnnotation(this: Printer) {\n this.word(\"boolean\");\n}\n\nexport function BooleanLiteralTypeAnnotation(\n this: Printer,\n node: t.BooleanLiteralTypeAnnotation,\n) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteralTypeAnnotation(this: Printer) {\n this.word(\"null\");\n}\n\nexport function DeclareClass(\n this: Printer,\n node: t.DeclareClass,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"class\");\n this.space();\n _interfaceish.call(this, node);\n}\n\nexport function DeclareFunction(\n this: Printer,\n node: t.DeclareFunction,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"function\");\n this.space();\n this.print(node.id);\n // @ts-ignore(Babel 7 vs Babel 8) TODO(Babel 8) Remove this comment, since we'll remove the Noop node\n this.print(node.id.typeAnnotation.typeAnnotation);\n\n if (node.predicate) {\n this.space();\n this.print(node.predicate);\n }\n\n this.semicolon();\n}\n\nexport function InferredPredicate(this: Printer) {\n this.token(\"%\");\n this.word(\"checks\");\n}\n\nexport function DeclaredPredicate(this: Printer, node: t.DeclaredPredicate) {\n this.token(\"%\");\n this.word(\"checks\");\n this.token(\"(\");\n this.print(node.value);\n this.token(\")\");\n}\n\nexport function DeclareInterface(this: Printer, node: t.DeclareInterface) {\n this.word(\"declare\");\n this.space();\n InterfaceDeclaration.call(this, node);\n}\n\nexport function DeclareModule(this: Printer, node: t.DeclareModule) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.space();\n this.print(node.id);\n this.space();\n this.print(node.body);\n}\n\nexport function DeclareModuleExports(\n this: Printer,\n node: t.DeclareModuleExports,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"module\");\n this.token(\".\");\n this.word(\"exports\");\n this.print(node.typeAnnotation);\n}\n\nexport function DeclareTypeAlias(this: Printer, node: t.DeclareTypeAlias) {\n this.word(\"declare\");\n this.space();\n TypeAlias.call(this, node);\n}\n\nexport function DeclareOpaqueType(\n this: Printer,\n node: t.DeclareOpaqueType,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n OpaqueType.call(this, node);\n}\n\nexport function DeclareVariable(\n this: Printer,\n node: t.DeclareVariable,\n parent: t.Node,\n) {\n if (!isDeclareExportDeclaration(parent)) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"var\");\n this.space();\n this.print(node.id);\n this.print(node.id.typeAnnotation);\n this.semicolon();\n}\n\nexport function DeclareExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n this.word(\"export\");\n this.space();\n if (node.default) {\n this.word(\"default\");\n this.space();\n }\n\n FlowExportDeclaration.call(this, node);\n}\n\nexport function DeclareExportAllDeclaration(\n this: Printer,\n node: t.DeclareExportAllDeclaration,\n) {\n this.word(\"declare\");\n this.space();\n ExportAllDeclaration.call(this, node);\n}\n\nexport function EnumDeclaration(this: Printer, node: t.EnumDeclaration) {\n const { id, body } = node;\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.print(body);\n}\n\nfunction enumExplicitType(\n context: Printer,\n name: string,\n hasExplicitType: boolean,\n) {\n if (hasExplicitType) {\n context.space();\n context.word(\"of\");\n context.space();\n context.word(name);\n }\n context.space();\n}\n\nfunction enumBody(context: Printer, node: t.EnumBody) {\n const { members } = node;\n context.token(\"{\");\n context.indent();\n context.newline();\n for (const member of members) {\n context.print(member);\n context.newline();\n }\n if (node.hasUnknownMembers) {\n context.token(\"...\");\n context.newline();\n }\n context.dedent();\n context.token(\"}\");\n}\n\nexport function EnumBooleanBody(this: Printer, node: t.EnumBooleanBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"boolean\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumNumberBody(this: Printer, node: t.EnumNumberBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"number\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumStringBody(this: Printer, node: t.EnumStringBody) {\n const { explicitType } = node;\n enumExplicitType(this, \"string\", explicitType);\n enumBody(this, node);\n}\n\nexport function EnumSymbolBody(this: Printer, node: t.EnumSymbolBody) {\n enumExplicitType(this, \"symbol\", true);\n enumBody(this, node);\n}\n\nexport function EnumDefaultedMember(\n this: Printer,\n node: t.EnumDefaultedMember,\n) {\n const { id } = node;\n this.print(id);\n this.token(\",\");\n}\n\nfunction enumInitializedMember(\n context: Printer,\n node: t.EnumBooleanMember | t.EnumNumberMember | t.EnumStringMember,\n) {\n context.print(node.id);\n context.space();\n context.token(\"=\");\n context.space();\n context.print(node.init);\n context.token(\",\");\n}\n\nexport function EnumBooleanMember(this: Printer, node: t.EnumBooleanMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumNumberMember(this: Printer, node: t.EnumNumberMember) {\n enumInitializedMember(this, node);\n}\n\nexport function EnumStringMember(this: Printer, node: t.EnumStringMember) {\n enumInitializedMember(this, node);\n}\n\nfunction FlowExportDeclaration(\n this: Printer,\n node: t.DeclareExportDeclaration,\n) {\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n this.token(\"{\");\n if (node.specifiers!.length) {\n this.space();\n this.printList(node.specifiers);\n this.space();\n }\n this.token(\"}\");\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n this.print(node.source);\n }\n\n this.semicolon();\n }\n}\n\nexport function ExistsTypeAnnotation(this: Printer) {\n this.token(\"*\");\n}\n\nexport function FunctionTypeAnnotation(\n this: Printer,\n node: t.FunctionTypeAnnotation,\n parent?: t.Node,\n) {\n this.print(node.typeParameters);\n this.token(\"(\");\n\n if (node.this) {\n this.word(\"this\");\n this.token(\":\");\n this.space();\n this.print(node.this.typeAnnotation);\n if (node.params.length || node.rest) {\n this.token(\",\");\n this.space();\n }\n }\n\n this.printList(node.params);\n\n if (node.rest) {\n if (node.params.length) {\n this.token(\",\");\n this.space();\n }\n this.token(\"...\");\n this.print(node.rest);\n }\n\n this.token(\")\");\n\n // this node type is overloaded, not sure why but it makes it EXTREMELY annoying\n\n const type = parent?.type;\n if (\n type != null &&\n (type === \"ObjectTypeCallProperty\" ||\n type === \"ObjectTypeInternalSlot\" ||\n type === \"DeclareFunction\" ||\n (type === \"ObjectTypeProperty\" && parent.method))\n ) {\n this.token(\":\");\n } else {\n this.space();\n this.token(\"=>\");\n }\n\n this.space();\n this.print(node.returnType);\n}\n\nexport function FunctionTypeParam(this: Printer, node: t.FunctionTypeParam) {\n this.print(node.name);\n if (node.optional) this.token(\"?\");\n if (node.name) {\n this.token(\":\");\n this.space();\n }\n this.print(node.typeAnnotation);\n}\n\nexport function InterfaceExtends(this: Printer, node: t.InterfaceExtends) {\n this.print(node.id);\n this.print(node.typeParameters, true);\n}\n\nexport {\n InterfaceExtends as ClassImplements,\n InterfaceExtends as GenericTypeAnnotation,\n};\n\nexport function _interfaceish(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface | t.DeclareClass,\n) {\n this.print(node.id);\n this.print(node.typeParameters);\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n if (node.type === \"DeclareClass\") {\n if (node.mixins?.length) {\n this.space();\n this.word(\"mixins\");\n this.space();\n this.printList(node.mixins);\n }\n if (node.implements?.length) {\n this.space();\n this.word(\"implements\");\n this.space();\n this.printList(node.implements);\n }\n }\n this.space();\n this.print(node.body);\n}\n\nexport function _variance(\n this: Printer,\n node:\n | t.TypeParameter\n | t.ObjectTypeIndexer\n | t.ObjectTypeProperty\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty,\n) {\n const kind = node.variance?.kind;\n if (kind != null) {\n if (kind === \"plus\") {\n this.token(\"+\");\n } else if (kind === \"minus\") {\n this.token(\"-\");\n }\n }\n}\n\nexport function InterfaceDeclaration(\n this: Printer,\n node: t.InterfaceDeclaration | t.DeclareInterface,\n) {\n this.word(\"interface\");\n this.space();\n _interfaceish.call(this, node);\n}\n\nfunction andSeparator(this: Printer, occurrenceCount: number) {\n this.space();\n this.token(\"&\", false, occurrenceCount);\n this.space();\n}\n\nexport function InterfaceTypeAnnotation(\n this: Printer,\n node: t.InterfaceTypeAnnotation,\n) {\n this.word(\"interface\");\n if (node.extends?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(node.extends);\n }\n this.space();\n this.print(node.body);\n}\n\nexport function IntersectionTypeAnnotation(\n this: Printer,\n node: t.IntersectionTypeAnnotation,\n) {\n this.printJoin(node.types, undefined, undefined, andSeparator);\n}\n\nexport function MixedTypeAnnotation(this: Printer) {\n this.word(\"mixed\");\n}\n\nexport function EmptyTypeAnnotation(this: Printer) {\n this.word(\"empty\");\n}\n\nexport function NullableTypeAnnotation(\n this: Printer,\n node: t.NullableTypeAnnotation,\n) {\n this.token(\"?\");\n this.print(node.typeAnnotation);\n}\n\nexport {\n NumericLiteral as NumberLiteralTypeAnnotation,\n StringLiteral as StringLiteralTypeAnnotation,\n} from \"./types.ts\";\n\nexport function NumberTypeAnnotation(this: Printer) {\n this.word(\"number\");\n}\n\nexport function StringTypeAnnotation(this: Printer) {\n this.word(\"string\");\n}\n\nexport function ThisTypeAnnotation(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TupleTypeAnnotation(\n this: Printer,\n node: t.TupleTypeAnnotation,\n) {\n this.token(\"[\");\n this.printList(node.types);\n this.token(\"]\");\n}\n\nexport function TypeofTypeAnnotation(\n this: Printer,\n node: t.TypeofTypeAnnotation,\n) {\n this.word(\"typeof\");\n this.space();\n this.print(node.argument);\n}\n\nexport function TypeAlias(\n this: Printer,\n node: t.TypeAlias | t.DeclareTypeAlias,\n) {\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.right);\n this.semicolon();\n}\n\nexport function TypeAnnotation(\n this: Printer,\n node: t.TypeAnnotation,\n parent: t.Node,\n) {\n this.token(\":\");\n this.space();\n if (parent.type === \"ArrowFunctionExpression\") {\n this.tokenContext |= TokenContext.arrowFlowReturnType;\n } else if (\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n node.optional\n ) {\n this.token(\"?\");\n }\n this.print(node.typeAnnotation);\n}\n\nexport function TypeParameterInstantiation(\n this: Printer,\n node: t.TypeParameterInstantiation,\n): void {\n this.token(\"<\");\n this.printList(node.params);\n this.token(\">\");\n}\n\nexport { TypeParameterInstantiation as TypeParameterDeclaration };\n\nexport function TypeParameter(this: Printer, node: t.TypeParameter) {\n _variance.call(this, node);\n\n this.word(node.name);\n\n if (node.bound) {\n this.print(node.bound);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default);\n }\n}\n\nexport function OpaqueType(\n this: Printer,\n node: t.OpaqueType | t.DeclareOpaqueType,\n) {\n this.word(\"opaque\");\n this.space();\n this.word(\"type\");\n this.space();\n this.print(node.id);\n this.print(node.typeParameters);\n if (node.supertype) {\n this.token(\":\");\n this.space();\n this.print(node.supertype);\n }\n\n if (node.impltype) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.impltype);\n }\n this.semicolon();\n}\n\nexport function ObjectTypeAnnotation(\n this: Printer,\n node: t.ObjectTypeAnnotation,\n) {\n if (node.exact) {\n this.token(\"{|\");\n } else {\n this.token(\"{\");\n }\n\n // TODO: remove the array fallbacks and instead enforce the types to require an array\n const props = [\n ...node.properties,\n ...(node.callProperties || []),\n ...(node.indexers || []),\n ...(node.internalSlots || []),\n ];\n\n if (props.length) {\n this.newline();\n\n this.space();\n\n this.printJoin(\n props,\n true,\n true,\n () => {\n if (props.length !== 1 || node.inexact) {\n this.token(\",\");\n this.space();\n }\n },\n true,\n );\n\n this.space();\n }\n\n if (node.inexact) {\n this.indent();\n this.token(\"...\");\n if (props.length) {\n this.newline();\n }\n this.dedent();\n }\n\n if (node.exact) {\n this.token(\"|}\");\n } else {\n this.token(\"}\");\n }\n}\n\nexport function ObjectTypeInternalSlot(\n this: Printer,\n node: t.ObjectTypeInternalSlot,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.token(\"[\");\n this.token(\"[\");\n this.print(node.id);\n this.token(\"]\");\n this.token(\"]\");\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeCallProperty(\n this: Printer,\n node: t.ObjectTypeCallProperty,\n) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeIndexer(this: Printer, node: t.ObjectTypeIndexer) {\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n _variance.call(this, node);\n this.token(\"[\");\n if (node.id) {\n this.print(node.id);\n this.token(\":\");\n this.space();\n }\n this.print(node.key);\n this.token(\"]\");\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ObjectTypeProperty(this: Printer, node: t.ObjectTypeProperty) {\n if (node.proto) {\n this.word(\"proto\");\n this.space();\n }\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n if (node.kind === \"get\" || node.kind === \"set\") {\n this.word(node.kind);\n this.space();\n }\n _variance.call(this, node);\n this.print(node.key);\n if (node.optional) this.token(\"?\");\n if (!node.method) {\n this.token(\":\");\n this.space();\n }\n this.print(node.value);\n}\n\nexport function ObjectTypeSpreadProperty(\n this: Printer,\n node: t.ObjectTypeSpreadProperty,\n) {\n this.token(\"...\");\n this.print(node.argument);\n}\n\nexport function QualifiedTypeIdentifier(\n this: Printer,\n node: t.QualifiedTypeIdentifier,\n) {\n this.print(node.qualification);\n this.token(\".\");\n this.print(node.id);\n}\n\nexport function SymbolTypeAnnotation(this: Printer) {\n this.word(\"symbol\");\n}\n\nfunction orSeparator(this: Printer, occurrenceCount: number) {\n this.space();\n this.token(\"|\", false, occurrenceCount);\n this.space();\n}\n\nexport function UnionTypeAnnotation(\n this: Printer,\n node: t.UnionTypeAnnotation,\n) {\n this.printJoin(node.types, undefined, undefined, orSeparator);\n}\n\nexport function TypeCastExpression(this: Printer, node: t.TypeCastExpression) {\n this.token(\"(\");\n this.print(node.expression);\n this.print(node.typeAnnotation);\n this.token(\")\");\n}\n\nexport function Variance(this: Printer, node: t.Variance) {\n if (node.kind === \"plus\") {\n this.token(\"+\");\n } else {\n this.token(\"-\");\n }\n}\n\nexport function VoidTypeAnnotation(this: Printer) {\n this.word(\"void\");\n}\n\nexport function IndexedAccessType(this: Printer, node: t.IndexedAccessType) {\n this.print(node.objectType, true);\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n\nexport function OptionalIndexedAccessType(\n this: Printer,\n node: t.OptionalIndexedAccessType,\n) {\n this.print(node.objectType);\n if (node.optional) {\n this.token(\"?.\");\n }\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/index.js b/client/node_modules/@babel/generator/lib/generators/index.js new file mode 100644 index 0000000..331c73f --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/index.js @@ -0,0 +1,128 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var _templateLiterals = require("./template-literals.js"); +Object.keys(_templateLiterals).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _templateLiterals[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _templateLiterals[key]; + } + }); +}); +var _expressions = require("./expressions.js"); +Object.keys(_expressions).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _expressions[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _expressions[key]; + } + }); +}); +var _statements = require("./statements.js"); +Object.keys(_statements).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _statements[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _statements[key]; + } + }); +}); +var _classes = require("./classes.js"); +Object.keys(_classes).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _classes[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _classes[key]; + } + }); +}); +var _methods = require("./methods.js"); +Object.keys(_methods).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _methods[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _methods[key]; + } + }); +}); +var _modules = require("./modules.js"); +Object.keys(_modules).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _modules[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _modules[key]; + } + }); +}); +var _types = require("./types.js"); +Object.keys(_types).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _types[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _types[key]; + } + }); +}); +var _flow = require("./flow.js"); +Object.keys(_flow).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _flow[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _flow[key]; + } + }); +}); +var _base = require("./base.js"); +Object.keys(_base).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _base[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _base[key]; + } + }); +}); +var _jsx = require("./jsx.js"); +Object.keys(_jsx).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _jsx[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _jsx[key]; + } + }); +}); +var _typescript = require("./typescript.js"); +Object.keys(_typescript).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _typescript[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _typescript[key]; + } + }); +}); + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/index.js.map b/client/node_modules/@babel/generator/lib/generators/index.js.map new file mode 100644 index 0000000..e8b0341 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_templateLiterals","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_expressions","_statements","_classes","_methods","_modules","_types","_flow","_base","_jsx","_typescript"],"sources":["../../src/generators/index.ts"],"sourcesContent":["export * from \"./template-literals.ts\";\nexport * from \"./expressions.ts\";\nexport * from \"./statements.ts\";\nexport * from \"./classes.ts\";\nexport * from \"./methods.ts\";\nexport * from \"./modules.ts\";\nexport * from \"./types.ts\";\nexport * from \"./flow.ts\";\nexport * from \"./base.ts\";\nexport * from \"./jsx.ts\";\nexport * from \"./typescript.ts\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,QAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,QAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,QAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,QAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,QAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,QAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,QAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,QAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,MAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,MAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,MAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,MAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,KAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,KAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,KAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,KAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,KAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,KAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,KAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,KAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,IAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,IAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAa,IAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,IAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,WAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,WAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAc,WAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAU,WAAA,CAAAd,GAAA;IAAA;EAAA;AAAA","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/jsx.js b/client/node_modules/@babel/generator/lib/generators/jsx.js new file mode 100644 index 0000000..be7c512 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/jsx.js @@ -0,0 +1,124 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.JSXAttribute = JSXAttribute; +exports.JSXClosingElement = JSXClosingElement; +exports.JSXClosingFragment = JSXClosingFragment; +exports.JSXElement = JSXElement; +exports.JSXEmptyExpression = JSXEmptyExpression; +exports.JSXExpressionContainer = JSXExpressionContainer; +exports.JSXFragment = JSXFragment; +exports.JSXIdentifier = JSXIdentifier; +exports.JSXMemberExpression = JSXMemberExpression; +exports.JSXNamespacedName = JSXNamespacedName; +exports.JSXOpeningElement = JSXOpeningElement; +exports.JSXOpeningFragment = JSXOpeningFragment; +exports.JSXSpreadAttribute = JSXSpreadAttribute; +exports.JSXSpreadChild = JSXSpreadChild; +exports.JSXText = JSXText; +function JSXAttribute(node) { + this.print(node.name); + if (node.value) { + this.tokenChar(61); + this.print(node.value); + } +} +function JSXIdentifier(node) { + this.word(node.name); +} +function JSXNamespacedName(node) { + this.print(node.namespace); + this.tokenChar(58); + this.print(node.name); +} +function JSXMemberExpression(node) { + this.print(node.object); + this.tokenChar(46); + this.print(node.property); +} +function JSXSpreadAttribute(node) { + this.tokenChar(123); + this.token("..."); + this.print(node.argument); + this.rightBrace(node); +} +function JSXExpressionContainer(node) { + this.tokenChar(123); + this.print(node.expression); + this.rightBrace(node); +} +function JSXSpreadChild(node) { + this.tokenChar(123); + this.token("..."); + this.print(node.expression); + this.rightBrace(node); +} +function JSXText(node) { + const raw = this.getPossibleRaw(node); + if (raw !== undefined) { + this.token(raw, true); + } else { + this.token(node.value, true); + } +} +function JSXElement(node) { + const open = node.openingElement; + this.print(open); + if (open.selfClosing) return; + this.indent(); + for (const child of node.children) { + this.print(child); + } + this.dedent(); + this.print(node.closingElement); +} +function spaceSeparator() { + this.space(); +} +function JSXOpeningElement(node) { + this.tokenChar(60); + this.print(node.name); + if (node.typeArguments) { + this.print(node.typeArguments); + } + this.print(node.typeParameters); + if (node.attributes.length > 0) { + this.space(); + this.printJoin(node.attributes, undefined, undefined, spaceSeparator); + } + if (node.selfClosing) { + this.space(); + this.tokenChar(47); + } + this.tokenChar(62); +} +function JSXClosingElement(node) { + this.tokenChar(60); + this.tokenChar(47); + this.print(node.name); + this.tokenChar(62); +} +function JSXEmptyExpression() { + this.printInnerComments(); +} +function JSXFragment(node) { + this.print(node.openingFragment); + this.indent(); + for (const child of node.children) { + this.print(child); + } + this.dedent(); + this.print(node.closingFragment); +} +function JSXOpeningFragment() { + this.tokenChar(60); + this.tokenChar(62); +} +function JSXClosingFragment() { + this.token(" 0) {\n this.space();\n this.printJoin(node.attributes, undefined, undefined, spaceSeparator);\n }\n if (node.selfClosing) {\n this.space();\n this.token(\"/\");\n }\n this.token(\">\");\n}\n\nexport function JSXClosingElement(this: Printer, node: t.JSXClosingElement) {\n this.token(\"<\");\n this.token(\"/\");\n this.print(node.name);\n this.token(\">\");\n}\n\nexport function JSXEmptyExpression(this: Printer) {\n // This node is empty, so forcefully print its inner comments.\n this.printInnerComments();\n}\n\nexport function JSXFragment(this: Printer, node: t.JSXFragment) {\n this.print(node.openingFragment);\n\n this.indent();\n for (const child of node.children) {\n this.print(child);\n }\n this.dedent();\n\n this.print(node.closingFragment);\n}\n\nexport function JSXOpeningFragment(this: Printer) {\n this.token(\"<\");\n this.token(\">\");\n}\n\nexport function JSXClosingFragment(this: Printer) {\n this.token(\"\");\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/methods.js b/client/node_modules/@babel/generator/lib/generators/methods.js new file mode 100644 index 0000000..01b90aa --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/methods.js @@ -0,0 +1,207 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ArrowFunctionExpression = ArrowFunctionExpression; +exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; +exports._functionHead = _functionHead; +exports._methodHead = _methodHead; +exports._param = _param; +exports._parameters = _parameters; +exports._params = _params; +exports._predicate = _predicate; +exports._shouldPrintArrowParamsParens = _shouldPrintArrowParamsParens; +var _t = require("@babel/types"); +var _index = require("../node/index.js"); +const { + isIdentifier +} = _t; +function _params(node, noLineTerminator, idNode, parentNode) { + this.print(node.typeParameters); + if (idNode !== undefined || parentNode !== undefined) { + const nameInfo = _getFuncIdName.call(this, idNode, parentNode); + if (nameInfo) { + this.sourceIdentifierName(nameInfo.name, nameInfo.pos); + } + } + this.tokenChar(40); + _parameters.call(this, node.params, 41); + this.print(node.returnType, noLineTerminator); + this._noLineTerminator = noLineTerminator; +} +function _parameters(parameters, endToken) { + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + const trailingComma = this.shouldPrintTrailingComma(endToken); + const paramLength = parameters.length; + for (let i = 0; i < paramLength; i++) { + _param.call(this, parameters[i]); + if (trailingComma || i < paramLength - 1) { + this.tokenChar(44, i); + this.space(); + } + } + this.tokenChar(endToken); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; +} +function _param(parameter) { + this.printJoin(parameter.decorators, undefined, undefined, undefined, undefined, true); + this.print(parameter, undefined, true); + if (parameter.optional) { + this.tokenChar(63); + } + this.print(parameter.typeAnnotation, undefined, true); +} +function _methodHead(node) { + const kind = node.kind; + const key = node.key; + if (kind === "get" || kind === "set") { + this.word(kind); + this.space(); + } + if (node.async) { + this.word("async", true); + this.space(); + } + if (kind === "method" || kind === "init") { + if (node.generator) { + this.tokenChar(42); + } + } + if (node.computed) { + this.tokenChar(91); + this.print(key); + this.tokenChar(93); + } else { + this.print(key); + } + if (node.optional) { + this.tokenChar(63); + } + if (this._buf._map) { + _params.call(this, node, false, node.computed && node.key.type !== "StringLiteral" ? undefined : node.key); + } else { + _params.call(this, node, false); + } +} +function _predicate(node, noLineTerminatorAfter) { + if (node.predicate) { + if (!node.returnType) { + this.tokenChar(58); + } + this.space(); + this.print(node.predicate, noLineTerminatorAfter); + } +} +function _functionHead(node, parent, hasPredicate) { + if (node.async) { + this.word("async"); + if (!this.format.preserveFormat) { + this._innerCommentsState = 0; + } + this.space(); + } + this.word("function"); + if (node.generator) { + if (!this.format.preserveFormat) { + this._innerCommentsState = 0; + } + this.tokenChar(42); + } + this.space(); + if (node.id) { + this.print(node.id); + } + if (this._buf._map) { + _params.call(this, node, false, node.id, parent); + } else { + _params.call(this, node, false); + } + if (hasPredicate) { + _predicate.call(this, node); + } +} +function FunctionExpression(node, parent) { + _functionHead.call(this, node, parent, true); + this.space(); + this.print(node.body); +} +function ArrowFunctionExpression(node, parent) { + if (node.async) { + this.word("async", true); + this.space(); + } + if (_shouldPrintArrowParamsParens.call(this, node)) { + _params.call(this, node, true, undefined, this._buf._map ? parent : undefined); + } else { + this.print(node.params[0], true); + } + _predicate.call(this, node, true); + this.space(); + this.printInnerComments(); + this.token("=>"); + this.space(); + this.tokenContext |= _index.TokenContext.arrowBody; + this.print(node.body); +} +function _shouldPrintArrowParamsParens(node) { + var _firstParam$leadingCo, _firstParam$trailingC; + if (node.params.length !== 1) return true; + if (node.typeParameters || node.returnType || node.predicate) { + return true; + } + const firstParam = node.params[0]; + if (!isIdentifier(firstParam) || firstParam.typeAnnotation || firstParam.optional || (_firstParam$leadingCo = firstParam.leadingComments) != null && _firstParam$leadingCo.length || (_firstParam$trailingC = firstParam.trailingComments) != null && _firstParam$trailingC.length) { + return true; + } + if (this.tokenMap) { + if (node.loc == null) return true; + if (this.tokenMap.findMatching(node, "(") !== null) return true; + const arrowToken = this.tokenMap.findMatching(node, "=>"); + if ((arrowToken == null ? void 0 : arrowToken.loc) == null) return true; + return arrowToken.loc.start.line !== node.loc.start.line; + } + if (this.format.retainLines) return true; + return false; +} +function _getFuncIdName(idNode, parent) { + let id = idNode; + if (!id && parent) { + const parentType = parent.type; + if (parentType === "VariableDeclarator") { + id = parent.id; + } else if (parentType === "AssignmentExpression" || parentType === "AssignmentPattern") { + id = parent.left; + } else if (parentType === "ObjectProperty" || parentType === "ClassProperty") { + if (!parent.computed || parent.key.type === "StringLiteral") { + id = parent.key; + } + } else if (parentType === "ClassPrivateProperty" || parentType === "ClassAccessorProperty") { + id = parent.key; + } + } + if (!id) return; + let nameInfo; + if (id.type === "Identifier") { + var _id$loc, _id$loc2; + nameInfo = { + pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start, + name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name + }; + } else if (id.type === "PrivateName") { + var _id$loc3; + nameInfo = { + pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start, + name: "#" + id.id.name + }; + } else if (id.type === "StringLiteral") { + var _id$loc4; + nameInfo = { + pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start, + name: id.value + }; + } + return nameInfo; +} + +//# sourceMappingURL=methods.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/methods.js.map b/client/node_modules/@babel/generator/lib/generators/methods.js.map new file mode 100644 index 0000000..d448e32 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/methods.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_index","isIdentifier","_params","node","noLineTerminator","idNode","parentNode","print","typeParameters","undefined","nameInfo","_getFuncIdName","call","sourceIdentifierName","name","pos","token","_parameters","params","returnType","_noLineTerminator","parameters","endToken","oldNoLineTerminatorAfterNode","enterDelimited","trailingComma","shouldPrintTrailingComma","paramLength","length","i","_param","tokenChar","space","_noLineTerminatorAfterNode","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","_buf","_map","type","_predicate","noLineTerminatorAfter","predicate","_functionHead","parent","hasPredicate","format","preserveFormat","_innerCommentsState","id","FunctionExpression","body","ArrowFunctionExpression","_shouldPrintArrowParamsParens","printInnerComments","tokenContext","TokenContext","arrowBody","_firstParam$leadingCo","_firstParam$trailingC","firstParam","leadingComments","trailingComments","tokenMap","loc","findMatching","arrowToken","start","line","retainLines","parentType","left","_id$loc","_id$loc2","identifierName","_id$loc3","_id$loc4","value"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\nimport { isIdentifier, type ParentMaps } from \"@babel/types\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport { TokenContext } from \"../node/index.ts\";\n\ntype ParentsOf = ParentMaps[T[\"type\"]];\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n noLineTerminator: boolean,\n idNode?: t.Expression | t.PrivateName | null,\n parentNode?: ParentsOf,\n) {\n this.print(node.typeParameters);\n\n if (idNode !== undefined || parentNode !== undefined) {\n const nameInfo = _getFuncIdName.call(this, idNode, parentNode);\n if (nameInfo) {\n this.sourceIdentifierName(nameInfo.name, nameInfo.pos);\n }\n }\n\n this.token(\"(\");\n _parameters.call(this, node.params, charCodes.rightParenthesis);\n\n this.print(node.returnType, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n endToken: number,\n) {\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n\n const trailingComma = this.shouldPrintTrailingComma(endToken);\n\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n _param.call(this, parameters[i]);\n\n if (trailingComma || i < paramLength - 1) {\n this.tokenChar(charCodes.comma, i);\n this.space();\n }\n }\n\n this.tokenChar(endToken);\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n) {\n this.printJoin(\n // @ts-expect-error decorators is not in VoidPattern\n parameter.decorators,\n undefined,\n undefined,\n undefined,\n undefined,\n true,\n );\n this.print(parameter, undefined, true);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n undefined,\n true,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key);\n this.token(\"]\");\n } else {\n this.print(key);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n if (this._buf._map) {\n _params.call(\n this,\n node,\n false,\n node.computed && node.key.type !== \"StringLiteral\" ? undefined : node.key,\n );\n } else {\n _params.call(this, node, false);\n }\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n parent: ParentsOf,\n hasPredicate: boolean,\n) {\n if (node.async) {\n this.word(\"async\");\n if (!this.format.preserveFormat) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._innerCommentsState = 0 /* INNER_COMMENT_STATE.DISALLOWED */;\n }\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n if (!this.format.preserveFormat) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._innerCommentsState = 0 /* INNER_COMMENT_STATE.DISALLOWED */;\n }\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id);\n }\n\n if (this._buf._map) {\n _params.call(this, node, false, node.id, parent);\n } else {\n _params.call(this, node, false);\n }\n if (hasPredicate) {\n _predicate.call(this, node as t.FunctionDeclaration | t.FunctionExpression);\n }\n}\n\nexport function FunctionExpression(\n this: Printer,\n node: t.FunctionExpression,\n parent: ParentsOf,\n) {\n _functionHead.call(this, node, parent, true);\n this.space();\n this.print(node.body);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n parent: ParentsOf,\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (_shouldPrintArrowParamsParens.call(this, node)) {\n _params.call(\n this,\n node,\n true,\n undefined,\n this._buf._map ? parent : undefined,\n );\n } else {\n this.print(node.params[0], true);\n }\n\n _predicate.call(this, node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.tokenContext |= TokenContext.arrowBody;\n this.print(node.body);\n}\n\n// Try to avoid printing parens in simple cases, but only if we're pretty\n// sure that they aren't needed by type annotations or potential newlines.\nexport function _shouldPrintArrowParamsParens(\n this: Printer,\n node: t.ArrowFunctionExpression,\n): boolean {\n if (node.params.length !== 1) return true;\n\n if (node.typeParameters || node.returnType || node.predicate) {\n return true;\n }\n\n const firstParam = node.params[0];\n if (\n !isIdentifier(firstParam) ||\n firstParam.typeAnnotation ||\n firstParam.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n firstParam.leadingComments?.length ||\n firstParam.trailingComments?.length\n ) {\n return true;\n }\n\n if (this.tokenMap) {\n if (node.loc == null) return true;\n if (this.tokenMap.findMatching(node, \"(\") !== null) return true;\n const arrowToken = this.tokenMap.findMatching(node, \"=>\");\n if (arrowToken?.loc == null) return true;\n return arrowToken.loc.start.line !== node.loc.start.line;\n }\n\n if (this.format.retainLines) return true;\n\n return false;\n}\n\nfunction _getFuncIdName(\n this: Printer,\n idNode: t.Expression | t.PrivateName,\n parent: ParentsOf,\n) {\n let id: t.Expression | t.PrivateName | t.LVal | t.VoidPattern = idNode;\n\n if (!id && parent) {\n const parentType = parent.type;\n\n if (parentType === \"VariableDeclarator\") {\n id = parent.id;\n } else if (\n parentType === \"AssignmentExpression\" ||\n parentType === \"AssignmentPattern\"\n ) {\n id = parent.left;\n } else if (\n parentType === \"ObjectProperty\" ||\n parentType === \"ClassProperty\"\n ) {\n if (!parent.computed || parent.key.type === \"StringLiteral\") {\n id = parent.key;\n }\n } else if (\n parentType === \"ClassPrivateProperty\" ||\n parentType === \"ClassAccessorProperty\"\n ) {\n id = parent.key;\n }\n }\n\n if (!id) return;\n\n let nameInfo;\n\n if (id.type === \"Identifier\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.loc?.identifierName || id.name,\n };\n } else if (id.type === \"PrivateName\") {\n nameInfo = {\n pos: id.loc?.start,\n name: \"#\" + id.id.name,\n };\n } else if (id.type === \"StringLiteral\") {\n nameInfo = {\n pos: id.loc?.start,\n name: id.value,\n };\n }\n\n return nameInfo;\n}\n"],"mappings":";;;;;;;;;;;;;;AAEA,IAAAA,EAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAAgD;EAHvCE;AAAY,IAAAH,EAAA;AAOd,SAASI,OAAOA,CAErBC,IAA0D,EAC1DC,gBAAyB,EACzBC,MAA4C,EAC5CC,UAAmC,EACnC;EACA,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,cAAc,CAAC;EAE/B,IAAIH,MAAM,KAAKI,SAAS,IAAIH,UAAU,KAAKG,SAAS,EAAE;IACpD,MAAMC,QAAQ,GAAGC,cAAc,CAACC,IAAI,CAAC,IAAI,EAAEP,MAAM,EAAEC,UAAU,CAAC;IAC9D,IAAII,QAAQ,EAAE;MACZ,IAAI,CAACG,oBAAoB,CAACH,QAAQ,CAACI,IAAI,EAAEJ,QAAQ,CAACK,GAAG,CAAC;IACxD;EACF;EAEA,IAAI,CAACC,SAAK,GAAI,CAAC;EACfC,WAAW,CAACL,IAAI,CAAC,IAAI,EAAET,IAAI,CAACe,MAAM,IAA4B,CAAC;EAE/D,IAAI,CAACX,KAAK,CAACJ,IAAI,CAACgB,UAAU,EAAEf,gBAAgB,CAAC;EAE7C,IAAI,CAACgB,iBAAiB,GAAGhB,gBAAgB;AAC3C;AAEO,SAASa,WAAWA,CAEzBI,UAAgC,EAChCC,QAAgB,EAChB;EACA,MAAMC,4BAA4B,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;EAE1D,MAAMC,aAAa,GAAG,IAAI,CAACC,wBAAwB,CAACJ,QAAQ,CAAC;EAE7D,MAAMK,WAAW,GAAGN,UAAU,CAACO,MAAM;EACrC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,WAAW,EAAEE,CAAC,EAAE,EAAE;IACpCC,MAAM,CAAClB,IAAI,CAAC,IAAI,EAAES,UAAU,CAACQ,CAAC,CAAC,CAAC;IAEhC,IAAIJ,aAAa,IAAII,CAAC,GAAGF,WAAW,GAAG,CAAC,EAAE;MACxC,IAAI,CAACI,SAAS,KAAkBF,CAAC,CAAC;MAClC,IAAI,CAACG,KAAK,CAAC,CAAC;IACd;EACF;EAEA,IAAI,CAACD,SAAS,CAACT,QAAQ,CAAC;EACxB,IAAI,CAACW,0BAA0B,GAAGV,4BAA4B;AAChE;AAEO,SAASO,MAAMA,CAEpBI,SAA2E,EAC3E;EACA,IAAI,CAACC,SAAS,CAEZD,SAAS,CAACE,UAAU,EACpB3B,SAAS,EACTA,SAAS,EACTA,SAAS,EACTA,SAAS,EACT,IACF,CAAC;EACD,IAAI,CAACF,KAAK,CAAC2B,SAAS,EAAEzB,SAAS,EAAE,IAAI,CAAC;EACtC,IAEEyB,SAAS,CAACG,QAAQ,EAClB;IACA,IAAI,CAACrB,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,CAACT,KAAK,CAER2B,SAAS,CAACI,cAAc,EACxB7B,SAAS,EACT,IACF,CAAC;AACH;AAEO,SAAS8B,WAAWA,CAAgBpC,IAAkC,EAAE;EAC7E,MAAMqC,IAAI,GAAGrC,IAAI,CAACqC,IAAI;EACtB,MAAMC,GAAG,GAAGtC,IAAI,CAACsC,GAAG;EAEpB,IAAID,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,KAAK,EAAE;IACpC,IAAI,CAACE,IAAI,CAACF,IAAI,CAAC;IACf,IAAI,CAACR,KAAK,CAAC,CAAC;EACd;EAEA,IAAI7B,IAAI,CAACwC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACV,KAAK,CAAC,CAAC;EACd;EAEA,IACEQ,IAAI,KAAK,QAAQ,IAEjBA,IAAI,KAAK,MAAM,EACf;IACA,IAAIrC,IAAI,CAACyC,SAAS,EAAE;MAClB,IAAI,CAAC5B,SAAK,GAAI,CAAC;IACjB;EACF;EAEA,IAAIb,IAAI,CAAC0C,QAAQ,EAAE;IACjB,IAAI,CAAC7B,SAAK,GAAI,CAAC;IACf,IAAI,CAACT,KAAK,CAACkC,GAAG,CAAC;IACf,IAAI,CAACzB,SAAK,GAAI,CAAC;EACjB,CAAC,MAAM;IACL,IAAI,CAACT,KAAK,CAACkC,GAAG,CAAC;EACjB;EAEA,IAEEtC,IAAI,CAACkC,QAAQ,EACb;IAEA,IAAI,CAACrB,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,IAAI,CAAC8B,IAAI,CAACC,IAAI,EAAE;IAClB7C,OAAO,CAACU,IAAI,CACV,IAAI,EACJT,IAAI,EACJ,KAAK,EACLA,IAAI,CAAC0C,QAAQ,IAAI1C,IAAI,CAACsC,GAAG,CAACO,IAAI,KAAK,eAAe,GAAGvC,SAAS,GAAGN,IAAI,CAACsC,GACxE,CAAC;EACH,CAAC,MAAM;IACLvC,OAAO,CAACU,IAAI,CAAC,IAAI,EAAET,IAAI,EAAE,KAAK,CAAC;EACjC;AACF;AAEO,SAAS8C,UAAUA,CAExB9C,IAG6B,EAC7B+C,qBAA+B,EAC/B;EACA,IAAI/C,IAAI,CAACgD,SAAS,EAAE;IAClB,IAAI,CAAChD,IAAI,CAACgB,UAAU,EAAE;MACpB,IAAI,CAACH,SAAK,GAAI,CAAC;IACjB;IACA,IAAI,CAACgB,KAAK,CAAC,CAAC;IACZ,IAAI,CAACzB,KAAK,CAACJ,IAAI,CAACgD,SAAS,EAAED,qBAAqB,CAAC;EACnD;AACF;AAEO,SAASE,aAAaA,CAE3BjD,IAAwE,EACxEkD,MAA8B,EAC9BC,YAAqB,EACrB;EACA,IAAInD,IAAI,CAACwC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,CAAC;IAClB,IAAI,CAAC,IAAI,CAACa,MAAM,CAACC,cAAc,EAAE;MAI/B,IAAI,CAACC,mBAAmB,GAAG,CAAC;IAC9B;IACA,IAAI,CAACzB,KAAK,CAAC,CAAC;EACd;EACA,IAAI,CAACU,IAAI,CAAC,UAAU,CAAC;EACrB,IAAIvC,IAAI,CAACyC,SAAS,EAAE;IAClB,IAAI,CAAC,IAAI,CAACW,MAAM,CAACC,cAAc,EAAE;MAI/B,IAAI,CAACC,mBAAmB,GAAG,CAAC;IAC9B;IACA,IAAI,CAACzC,SAAK,GAAI,CAAC;EACjB;EAEA,IAAI,CAACgB,KAAK,CAAC,CAAC;EACZ,IAAI7B,IAAI,CAACuD,EAAE,EAAE;IACX,IAAI,CAACnD,KAAK,CAACJ,IAAI,CAACuD,EAAE,CAAC;EACrB;EAEA,IAAI,IAAI,CAACZ,IAAI,CAACC,IAAI,EAAE;IAClB7C,OAAO,CAACU,IAAI,CAAC,IAAI,EAAET,IAAI,EAAE,KAAK,EAAEA,IAAI,CAACuD,EAAE,EAAEL,MAAM,CAAC;EAClD,CAAC,MAAM;IACLnD,OAAO,CAACU,IAAI,CAAC,IAAI,EAAET,IAAI,EAAE,KAAK,CAAC;EACjC;EACA,IAAImD,YAAY,EAAE;IAChBL,UAAU,CAACrC,IAAI,CAAC,IAAI,EAAET,IAAoD,CAAC;EAC7E;AACF;AAEO,SAASwD,kBAAkBA,CAEhCxD,IAA0B,EAC1BkD,MAA8B,EAC9B;EACAD,aAAa,CAACxC,IAAI,CAAC,IAAI,EAAET,IAAI,EAAEkD,MAAM,EAAE,IAAI,CAAC;EAC5C,IAAI,CAACrB,KAAK,CAAC,CAAC;EACZ,IAAI,CAACzB,KAAK,CAACJ,IAAI,CAACyD,IAAI,CAAC;AACvB;AAIO,SAASC,uBAAuBA,CAErC1D,IAA+B,EAC/BkD,MAA8B,EAC9B;EACA,IAAIlD,IAAI,CAACwC,KAAK,EAAE;IACd,IAAI,CAACD,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACxB,IAAI,CAACV,KAAK,CAAC,CAAC;EACd;EAEA,IAAI8B,6BAA6B,CAAClD,IAAI,CAAC,IAAI,EAAET,IAAI,CAAC,EAAE;IAClDD,OAAO,CAACU,IAAI,CACV,IAAI,EACJT,IAAI,EACJ,IAAI,EACJM,SAAS,EACT,IAAI,CAACqC,IAAI,CAACC,IAAI,GAAGM,MAAM,GAAG5C,SAC5B,CAAC;EACH,CAAC,MAAM;IACL,IAAI,CAACF,KAAK,CAACJ,IAAI,CAACe,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EAClC;EAEA+B,UAAU,CAACrC,IAAI,CAAC,IAAI,EAAET,IAAI,EAAE,IAAI,CAAC;EACjC,IAAI,CAAC6B,KAAK,CAAC,CAAC;EAIZ,IAAI,CAAC+B,kBAAkB,CAAC,CAAC;EACzB,IAAI,CAAC/C,KAAK,CAAC,IAAI,CAAC;EAEhB,IAAI,CAACgB,KAAK,CAAC,CAAC;EAEZ,IAAI,CAACgC,YAAY,IAAIC,mBAAY,CAACC,SAAS;EAC3C,IAAI,CAAC3D,KAAK,CAACJ,IAAI,CAACyD,IAAI,CAAC;AACvB;AAIO,SAASE,6BAA6BA,CAE3C3D,IAA+B,EACtB;EAAA,IAAAgE,qBAAA,EAAAC,qBAAA;EACT,IAAIjE,IAAI,CAACe,MAAM,CAACU,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEzC,IAAIzB,IAAI,CAACK,cAAc,IAAIL,IAAI,CAACgB,UAAU,IAAIhB,IAAI,CAACgD,SAAS,EAAE;IAC5D,OAAO,IAAI;EACb;EAEA,MAAMkB,UAAU,GAAGlE,IAAI,CAACe,MAAM,CAAC,CAAC,CAAC;EACjC,IACE,CAACjB,YAAY,CAACoE,UAAU,CAAC,IACzBA,UAAU,CAAC/B,cAAc,IACzB+B,UAAU,CAAChC,QAAQ,KAAA8B,qBAAA,GAEnBE,UAAU,CAACC,eAAe,aAA1BH,qBAAA,CAA4BvC,MAAM,KAAAwC,qBAAA,GAClCC,UAAU,CAACE,gBAAgB,aAA3BH,qBAAA,CAA6BxC,MAAM,EACnC;IACA,OAAO,IAAI;EACb;EAEA,IAAI,IAAI,CAAC4C,QAAQ,EAAE;IACjB,IAAIrE,IAAI,CAACsE,GAAG,IAAI,IAAI,EAAE,OAAO,IAAI;IACjC,IAAI,IAAI,CAACD,QAAQ,CAACE,YAAY,CAACvE,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,IAAI;IAC/D,MAAMwE,UAAU,GAAG,IAAI,CAACH,QAAQ,CAACE,YAAY,CAACvE,IAAI,EAAE,IAAI,CAAC;IACzD,IAAI,CAAAwE,UAAU,oBAAVA,UAAU,CAAEF,GAAG,KAAI,IAAI,EAAE,OAAO,IAAI;IACxC,OAAOE,UAAU,CAACF,GAAG,CAACG,KAAK,CAACC,IAAI,KAAK1E,IAAI,CAACsE,GAAG,CAACG,KAAK,CAACC,IAAI;EAC1D;EAEA,IAAI,IAAI,CAACtB,MAAM,CAACuB,WAAW,EAAE,OAAO,IAAI;EAExC,OAAO,KAAK;AACd;AAEA,SAASnE,cAAcA,CAErBN,MAAoC,EACpCgD,MAAuE,EACvE;EACA,IAAIK,EAAyD,GAAGrD,MAAM;EAEtE,IAAI,CAACqD,EAAE,IAAIL,MAAM,EAAE;IACjB,MAAM0B,UAAU,GAAG1B,MAAM,CAACL,IAAI;IAE9B,IAAI+B,UAAU,KAAK,oBAAoB,EAAE;MACvCrB,EAAE,GAAGL,MAAM,CAACK,EAAE;IAChB,CAAC,MAAM,IACLqB,UAAU,KAAK,sBAAsB,IACrCA,UAAU,KAAK,mBAAmB,EAClC;MACArB,EAAE,GAAGL,MAAM,CAAC2B,IAAI;IAClB,CAAC,MAAM,IACLD,UAAU,KAAK,gBAAgB,IAC/BA,UAAU,KAAK,eAAe,EAC9B;MACA,IAAI,CAAC1B,MAAM,CAACR,QAAQ,IAAIQ,MAAM,CAACZ,GAAG,CAACO,IAAI,KAAK,eAAe,EAAE;QAC3DU,EAAE,GAAGL,MAAM,CAACZ,GAAG;MACjB;IACF,CAAC,MAAM,IACLsC,UAAU,KAAK,sBAAsB,IACrCA,UAAU,KAAK,uBAAuB,EACtC;MACArB,EAAE,GAAGL,MAAM,CAACZ,GAAG;IACjB;EACF;EAEA,IAAI,CAACiB,EAAE,EAAE;EAET,IAAIhD,QAAQ;EAEZ,IAAIgD,EAAE,CAACV,IAAI,KAAK,YAAY,EAAE;IAAA,IAAAiC,OAAA,EAAAC,QAAA;IAC5BxE,QAAQ,GAAG;MACTK,GAAG,GAAAkE,OAAA,GAAEvB,EAAE,CAACe,GAAG,qBAANQ,OAAA,CAAQL,KAAK;MAClB9D,IAAI,EAAE,EAAAoE,QAAA,GAAAxB,EAAE,CAACe,GAAG,qBAANS,QAAA,CAAQC,cAAc,KAAIzB,EAAE,CAAC5C;IACrC,CAAC;EACH,CAAC,MAAM,IAAI4C,EAAE,CAACV,IAAI,KAAK,aAAa,EAAE;IAAA,IAAAoC,QAAA;IACpC1E,QAAQ,GAAG;MACTK,GAAG,GAAAqE,QAAA,GAAE1B,EAAE,CAACe,GAAG,qBAANW,QAAA,CAAQR,KAAK;MAClB9D,IAAI,EAAE,GAAG,GAAG4C,EAAE,CAACA,EAAE,CAAC5C;IACpB,CAAC;EACH,CAAC,MAAM,IAAI4C,EAAE,CAACV,IAAI,KAAK,eAAe,EAAE;IAAA,IAAAqC,QAAA;IACtC3E,QAAQ,GAAG;MACTK,GAAG,GAAAsE,QAAA,GAAE3B,EAAE,CAACe,GAAG,qBAANY,QAAA,CAAQT,KAAK;MAClB9D,IAAI,EAAE4C,EAAE,CAAC4B;IACX,CAAC;EACH;EAEA,OAAO5E,QAAQ;AACjB","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/modules.js b/client/node_modules/@babel/generator/lib/generators/modules.js new file mode 100644 index 0000000..b787d42 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/modules.js @@ -0,0 +1,290 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ExportAllDeclaration = ExportAllDeclaration; +exports.ExportDefaultDeclaration = ExportDefaultDeclaration; +exports.ExportDefaultSpecifier = ExportDefaultSpecifier; +exports.ExportNamedDeclaration = ExportNamedDeclaration; +exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; +exports.ExportSpecifier = ExportSpecifier; +exports.ImportAttribute = ImportAttribute; +exports.ImportDeclaration = ImportDeclaration; +exports.ImportDefaultSpecifier = ImportDefaultSpecifier; +exports.ImportExpression = ImportExpression; +exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; +exports.ImportSpecifier = ImportSpecifier; +exports._printAttributes = _printAttributes; +var _t = require("@babel/types"); +var _index = require("../node/index.js"); +var _expressions = require("./expressions.js"); +const { + isClassDeclaration, + isExportDefaultSpecifier, + isExportNamespaceSpecifier, + isImportDefaultSpecifier, + isImportNamespaceSpecifier, + isStatement +} = _t; +function ImportSpecifier(node) { + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + this.print(node.imported); + if (node.local && node.local.name !== node.imported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.local); + } +} +function ImportDefaultSpecifier(node) { + this.print(node.local); +} +function ExportDefaultSpecifier(node) { + this.print(node.exported); +} +function ExportSpecifier(node) { + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + this.print(node.local); + if (node.exported && node.local.name !== node.exported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.exported); + } +} +function ExportNamespaceSpecifier(node) { + this.tokenChar(42); + this.space(); + this.word("as"); + this.space(); + this.print(node.exported); +} +let warningShown = false; +function _printAttributes(node, hasPreviousBrace) { + var _node$extra; + const { + attributes + } = node; + var { + assertions + } = node; + const { + importAttributesKeyword + } = this.format; + if (attributes && !importAttributesKeyword && node.extra && (node.extra.deprecatedAssertSyntax || node.extra.deprecatedWithLegacySyntax) && !warningShown) { + warningShown = true; + console.warn(`\ +You are using import attributes, without specifying the desired output syntax. +Please specify the "importAttributesKeyword" generator option, whose value can be one of: + - "with" : \`import { a } from "b" with { type: "json" };\` + - "assert" : \`import { a } from "b" assert { type: "json" };\` + - "with-legacy" : \`import { a } from "b" with type: "json";\` +`); + } + const useAssertKeyword = importAttributesKeyword === "assert" || !importAttributesKeyword && assertions; + this.word(useAssertKeyword ? "assert" : "with"); + this.space(); + if (!useAssertKeyword && (importAttributesKeyword === "with-legacy" || !importAttributesKeyword && (_node$extra = node.extra) != null && _node$extra.deprecatedWithLegacySyntax)) { + this.printList(attributes || assertions); + return; + } + const occurrenceCount = hasPreviousBrace ? 1 : 0; + this.token("{", undefined, occurrenceCount); + this.space(); + this.printList(attributes || assertions, this.shouldPrintTrailingComma("}")); + this.space(); + this.token("}", undefined, occurrenceCount); +} +function ExportAllDeclaration(node) { + var _node$attributes, _node$assertions; + this.word("export"); + this.space(); + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + this.tokenChar(42); + this.space(); + this.word("from"); + this.space(); + if ((_node$attributes = node.attributes) != null && _node$attributes.length || (_node$assertions = node.assertions) != null && _node$assertions.length) { + this.print(node.source, true); + this.space(); + _printAttributes.call(this, node, false); + } else { + this.print(node.source); + } + this.semicolon(); +} +function maybePrintDecoratorsBeforeExport(printer, node) { + if (isClassDeclaration(node.declaration) && _expressions._shouldPrintDecoratorsBeforeExport.call(printer, node)) { + printer.printJoin(node.declaration.decorators); + } +} +function ExportNamedDeclaration(node) { + maybePrintDecoratorsBeforeExport(this, node); + this.word("export"); + this.space(); + if (node.declaration) { + const declar = node.declaration; + this.print(declar); + if (!isStatement(declar)) this.semicolon(); + } else { + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + const specifiers = node.specifiers.slice(0); + let hasSpecial = false; + for (;;) { + const first = specifiers[0]; + if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) { + hasSpecial = true; + this.print(specifiers.shift()); + if (specifiers.length) { + this.tokenChar(44); + this.space(); + } + } else { + break; + } + } + let hasBrace = false; + if (specifiers.length || !specifiers.length && !hasSpecial) { + hasBrace = true; + this.tokenChar(123); + if (specifiers.length) { + this.space(); + this.printList(specifiers, this.shouldPrintTrailingComma("}")); + this.space(); + } + this.tokenChar(125); + } + if (node.source) { + var _node$attributes2, _node$assertions2; + this.space(); + this.word("from"); + this.space(); + if ((_node$attributes2 = node.attributes) != null && _node$attributes2.length || (_node$assertions2 = node.assertions) != null && _node$assertions2.length) { + this.print(node.source, true); + this.space(); + _printAttributes.call(this, node, hasBrace); + } else { + this.print(node.source); + } + } + this.semicolon(); + } +} +function ExportDefaultDeclaration(node) { + maybePrintDecoratorsBeforeExport(this, node); + this.word("export"); + this.noIndentInnerCommentsHere(); + this.space(); + this.word("default"); + this.space(); + this.tokenContext |= _index.TokenContext.exportDefault; + const declar = node.declaration; + this.print(declar); + if (!isStatement(declar)) this.semicolon(); +} +function ImportDeclaration(node) { + var _node$attributes3, _node$assertions3; + this.word("import"); + this.space(); + const isTypeKind = node.importKind === "type" || node.importKind === "typeof"; + if (isTypeKind) { + this.noIndentInnerCommentsHere(); + this.word(node.importKind); + this.space(); + } else if (node.module) { + this.noIndentInnerCommentsHere(); + this.word("module"); + this.space(); + } else if (node.phase) { + this.noIndentInnerCommentsHere(); + this.word(node.phase); + this.space(); + } + const specifiers = node.specifiers.slice(0); + const hasSpecifiers = !!specifiers.length; + while (hasSpecifiers) { + const first = specifiers[0]; + if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) { + this.print(specifiers.shift()); + if (specifiers.length) { + this.tokenChar(44); + this.space(); + } + } else { + break; + } + } + let hasBrace = false; + if (specifiers.length) { + hasBrace = true; + this.tokenChar(123); + this.space(); + this.printList(specifiers, this.shouldPrintTrailingComma("}")); + this.space(); + this.tokenChar(125); + } else if (isTypeKind && !hasSpecifiers) { + hasBrace = true; + this.tokenChar(123); + this.tokenChar(125); + } + if (hasSpecifiers || isTypeKind) { + this.space(); + this.word("from"); + this.space(); + } + if ((_node$attributes3 = node.attributes) != null && _node$attributes3.length || (_node$assertions3 = node.assertions) != null && _node$assertions3.length) { + this.print(node.source, true); + this.space(); + _printAttributes.call(this, node, hasBrace); + } else { + this.print(node.source); + } + this.semicolon(); +} +function ImportAttribute(node) { + this.print(node.key); + this.tokenChar(58); + this.space(); + this.print(node.value); +} +function ImportNamespaceSpecifier(node) { + this.tokenChar(42); + this.space(); + this.word("as"); + this.space(); + this.print(node.local); +} +function ImportExpression(node) { + this.word("import"); + if (node.phase) { + this.tokenChar(46); + this.word(node.phase); + } + this.tokenChar(40); + const shouldPrintTrailingComma = this.shouldPrintTrailingComma(")"); + this.print(node.source); + if (node.options != null) { + this.tokenChar(44); + this.space(); + this.print(node.options); + } + if (shouldPrintTrailingComma) { + this.tokenChar(44); + } + this.rightParens(node); +} + +//# sourceMappingURL=modules.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/modules.js.map b/client/node_modules/@babel/generator/lib/generators/modules.js.map new file mode 100644 index 0000000..c642e93 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/modules.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_index","_expressions","isClassDeclaration","isExportDefaultSpecifier","isExportNamespaceSpecifier","isImportDefaultSpecifier","isImportNamespaceSpecifier","isStatement","ImportSpecifier","node","importKind","word","space","print","imported","local","name","ImportDefaultSpecifier","ExportDefaultSpecifier","exported","ExportSpecifier","exportKind","ExportNamespaceSpecifier","token","warningShown","_printAttributes","hasPreviousBrace","_node$extra","attributes","assertions","importAttributesKeyword","format","extra","deprecatedAssertSyntax","deprecatedWithLegacySyntax","console","warn","useAssertKeyword","printList","occurrenceCount","undefined","shouldPrintTrailingComma","ExportAllDeclaration","_node$attributes","_node$assertions","length","source","call","semicolon","maybePrintDecoratorsBeforeExport","printer","declaration","_shouldPrintDecoratorsBeforeExport","printJoin","decorators","ExportNamedDeclaration","declar","specifiers","slice","hasSpecial","first","shift","hasBrace","_node$attributes2","_node$assertions2","ExportDefaultDeclaration","noIndentInnerCommentsHere","tokenContext","TokenContext","exportDefault","ImportDeclaration","_node$attributes3","_node$assertions3","isTypeKind","module","phase","hasSpecifiers","ImportAttribute","key","value","ImportNamespaceSpecifier","ImportExpression","options","rightParens"],"sources":["../../src/generators/modules.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport {\n isClassDeclaration,\n isExportDefaultSpecifier,\n isExportNamespaceSpecifier,\n isImportDefaultSpecifier,\n isImportNamespaceSpecifier,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { TokenContext } from \"../node/index.ts\";\nimport { _shouldPrintDecoratorsBeforeExport } from \"./expressions.ts\";\n\nexport function ImportSpecifier(this: Printer, node: t.ImportSpecifier) {\n if (node.importKind === \"type\" || node.importKind === \"typeof\") {\n this.word(node.importKind);\n this.space();\n }\n\n this.print(node.imported);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.local && node.local.name !== node.imported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n }\n}\n\nexport function ImportDefaultSpecifier(\n this: Printer,\n node: t.ImportDefaultSpecifier,\n) {\n this.print(node.local);\n}\n\nexport function ExportDefaultSpecifier(\n this: Printer,\n node: t.ExportDefaultSpecifier,\n) {\n this.print(node.exported);\n}\n\nexport function ExportSpecifier(this: Printer, node: t.ExportSpecifier) {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n this.print(node.local);\n // @ts-expect-error todo(flow-ts) maybe check node type instead of relying on name to be undefined on t.StringLiteral\n if (node.exported && node.local.name !== node.exported.name) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n }\n}\n\nexport function ExportNamespaceSpecifier(\n this: Printer,\n node: t.ExportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.exported);\n}\n\nlet warningShown = false;\n\nexport function _printAttributes(\n this: Printer,\n node: Extract,\n hasPreviousBrace: boolean,\n) {\n const { attributes } = node;\n\n if (!process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n // eslint-disable-next-line no-var\n var { assertions } = node;\n const { importAttributesKeyword } = this.format;\n\n if (\n attributes &&\n !importAttributesKeyword &&\n node.extra &&\n (node.extra.deprecatedAssertSyntax ||\n node.extra.deprecatedWithLegacySyntax) &&\n // In the production build only show the warning once.\n // We want to show it per-usage locally for tests.\n (!process.env.IS_PUBLISH || !warningShown)\n ) {\n warningShown = true;\n console.warn(`\\\nYou are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\" : \\`import { a } from \"b\" with { type: \"json\" };\\`\n - \"assert\" : \\`import { a } from \"b\" assert { type: \"json\" };\\`\n - \"with-legacy\" : \\`import { a } from \"b\" with type: \"json\";\\`\n`);\n }\n\n const useAssertKeyword =\n importAttributesKeyword === \"assert\" ||\n (!importAttributesKeyword && assertions);\n\n this.word(useAssertKeyword ? \"assert\" : \"with\");\n this.space();\n\n if (\n !useAssertKeyword &&\n (importAttributesKeyword === \"with-legacy\" ||\n (!importAttributesKeyword && node.extra?.deprecatedWithLegacySyntax))\n ) {\n // with-legacy\n this.printList(attributes || assertions);\n return;\n }\n } else {\n this.word(\"with\");\n this.space();\n }\n\n const occurrenceCount = hasPreviousBrace ? 1 : 0;\n\n this.token(\"{\", undefined, occurrenceCount);\n this.space();\n this.printList(\n process.env.BABEL_8_BREAKING ? attributes : attributes || assertions,\n this.shouldPrintTrailingComma(\"}\"),\n );\n this.space();\n this.token(\"}\", undefined, occurrenceCount);\n}\n\nexport function ExportAllDeclaration(\n this: Printer,\n node: t.ExportAllDeclaration | t.DeclareExportAllDeclaration,\n) {\n this.word(\"export\");\n this.space();\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n this.token(\"*\");\n this.space();\n this.word(\"from\");\n this.space();\n if (\n node.attributes?.length ||\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n (!process.env.BABEL_8_BREAKING && node.assertions?.length)\n ) {\n this.print(node.source, true);\n this.space();\n _printAttributes.call(this, node, false);\n } else {\n this.print(node.source);\n }\n\n this.semicolon();\n}\n\nfunction maybePrintDecoratorsBeforeExport(\n printer: Printer,\n node: t.ExportNamedDeclaration | t.ExportDefaultDeclaration,\n) {\n if (\n isClassDeclaration(node.declaration) &&\n _shouldPrintDecoratorsBeforeExport.call(\n printer,\n node as t.ExportNamedDeclaration & { declaration: t.ClassDeclaration },\n )\n ) {\n printer.printJoin(node.declaration.decorators);\n }\n}\n\nexport function ExportNamedDeclaration(\n this: Printer,\n node: t.ExportNamedDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.space();\n if (node.declaration) {\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n } else {\n if (node.exportKind === \"type\") {\n this.word(\"type\");\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n\n // print \"special\" specifiers first\n let hasSpecial = false;\n for (;;) {\n const first = specifiers[0];\n if (\n isExportDefaultSpecifier(first) ||\n isExportNamespaceSpecifier(first)\n ) {\n hasSpecial = true;\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n let hasBrace = false;\n if (specifiers.length || (!specifiers.length && !hasSpecial)) {\n hasBrace = true;\n this.token(\"{\");\n if (specifiers.length) {\n this.space();\n this.printList(specifiers, this.shouldPrintTrailingComma(\"}\"));\n this.space();\n }\n this.token(\"}\");\n }\n\n if (node.source) {\n this.space();\n this.word(\"from\");\n this.space();\n if (\n node.attributes?.length ||\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n (!process.env.BABEL_8_BREAKING && node.assertions?.length)\n ) {\n this.print(node.source, true);\n this.space();\n _printAttributes.call(this, node, hasBrace);\n } else {\n this.print(node.source);\n }\n }\n\n this.semicolon();\n }\n}\n\nexport function ExportDefaultDeclaration(\n this: Printer,\n node: t.ExportDefaultDeclaration,\n) {\n maybePrintDecoratorsBeforeExport(this, node);\n\n this.word(\"export\");\n this.noIndentInnerCommentsHere();\n this.space();\n this.word(\"default\");\n this.space();\n this.tokenContext |= TokenContext.exportDefault;\n const declar = node.declaration;\n this.print(declar);\n if (!isStatement(declar)) this.semicolon();\n}\n\nexport function ImportDeclaration(this: Printer, node: t.ImportDeclaration) {\n this.word(\"import\");\n this.space();\n\n const isTypeKind = node.importKind === \"type\" || node.importKind === \"typeof\";\n if (isTypeKind) {\n this.noIndentInnerCommentsHere();\n this.word(node.importKind!);\n this.space();\n } else if (node.module) {\n this.noIndentInnerCommentsHere();\n this.word(\"module\");\n this.space();\n } else if (node.phase) {\n this.noIndentInnerCommentsHere();\n this.word(node.phase);\n this.space();\n }\n\n const specifiers = node.specifiers.slice(0);\n const hasSpecifiers = !!specifiers.length;\n // print \"special\" specifiers first. The loop condition is constant,\n // but there is a \"break\" in the body.\n while (hasSpecifiers) {\n const first = specifiers[0];\n if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {\n this.print(specifiers.shift());\n if (specifiers.length) {\n this.token(\",\");\n this.space();\n }\n } else {\n break;\n }\n }\n\n let hasBrace = false;\n if (specifiers.length) {\n hasBrace = true;\n this.token(\"{\");\n this.space();\n this.printList(specifiers, this.shouldPrintTrailingComma(\"}\"));\n this.space();\n this.token(\"}\");\n } else if (isTypeKind && !hasSpecifiers) {\n hasBrace = true;\n this.token(\"{\");\n this.token(\"}\");\n }\n\n if (hasSpecifiers || isTypeKind) {\n this.space();\n this.word(\"from\");\n this.space();\n }\n\n if (\n node.attributes?.length ||\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n (!process.env.BABEL_8_BREAKING && node.assertions?.length)\n ) {\n this.print(node.source, true);\n this.space();\n _printAttributes.call(this, node, hasBrace);\n } else {\n this.print(node.source);\n }\n\n this.semicolon();\n}\n\nexport function ImportAttribute(this: Printer, node: t.ImportAttribute) {\n this.print(node.key);\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ImportNamespaceSpecifier(\n this: Printer,\n node: t.ImportNamespaceSpecifier,\n) {\n this.token(\"*\");\n this.space();\n this.word(\"as\");\n this.space();\n this.print(node.local);\n}\n\nexport function ImportExpression(this: Printer, node: t.ImportExpression) {\n this.word(\"import\");\n if (node.phase) {\n this.token(\".\");\n this.word(node.phase);\n }\n this.token(\"(\");\n const shouldPrintTrailingComma = this.shouldPrintTrailingComma(\")\");\n this.print(node.source);\n if (node.options != null) {\n this.token(\",\");\n this.space();\n this.print(node.options);\n }\n if (shouldPrintTrailingComma) {\n this.token(\",\");\n }\n this.rightParens(node);\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/statements.js b/client/node_modules/@babel/generator/lib/generators/statements.js new file mode 100644 index 0000000..ab139b3 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/statements.js @@ -0,0 +1,297 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.BreakStatement = BreakStatement; +exports.CatchClause = CatchClause; +exports.ContinueStatement = ContinueStatement; +exports.DebuggerStatement = DebuggerStatement; +exports.DoWhileStatement = DoWhileStatement; +exports.ForInStatement = ForInStatement; +exports.ForOfStatement = ForOfStatement; +exports.ForStatement = ForStatement; +exports.IfStatement = IfStatement; +exports.LabeledStatement = LabeledStatement; +exports.ReturnStatement = ReturnStatement; +exports.SwitchCase = SwitchCase; +exports.SwitchStatement = SwitchStatement; +exports.ThrowStatement = ThrowStatement; +exports.TryStatement = TryStatement; +exports.VariableDeclaration = VariableDeclaration; +exports.VariableDeclarator = VariableDeclarator; +exports.WhileStatement = WhileStatement; +exports.WithStatement = WithStatement; +var _t = require("@babel/types"); +var _index = require("../node/index.js"); +const { + isFor, + isIfStatement, + isStatement +} = _t; +function WithStatement(node) { + this.word("with"); + this.space(); + this.tokenChar(40); + this.print(node.object); + this.tokenChar(41); + this.printBlock(node.body); +} +function IfStatement(node) { + this.word("if"); + this.space(); + this.tokenChar(40); + this.print(node.test); + this.tokenChar(41); + this.space(); + const needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent)); + if (needsBlock) { + this.tokenChar(123); + this.newline(); + this.indent(); + } + this.printAndIndentOnComments(node.consequent); + if (needsBlock) { + this.dedent(); + this.newline(); + this.tokenChar(125); + } + if (node.alternate) { + if (this.endsWith(125)) this.space(); + this.word("else"); + this.space(); + this.printAndIndentOnComments(node.alternate); + } +} +function getLastStatement(statement) { + const { + body + } = statement; + if (isStatement(body) === false) { + return statement; + } + return getLastStatement(body); +} +function ForStatement(node) { + this.word("for"); + this.space(); + this.tokenChar(40); + this.tokenContext |= _index.TokenContext.forInitHead | _index.TokenContext.forInOrInitHeadAccumulate; + this.print(node.init); + this.tokenContext = _index.TokenContext.normal; + this.tokenChar(59); + if (node.test) { + this.space(); + this.print(node.test); + } + this.tokenChar(59, 1); + if (node.update) { + this.space(); + this.print(node.update); + } + this.tokenChar(41); + this.printBlock(node.body); +} +function WhileStatement(node) { + this.word("while"); + this.space(); + this.tokenChar(40); + this.print(node.test); + this.tokenChar(41); + this.printBlock(node.body); +} +function ForInStatement(node) { + this.word("for"); + this.space(); + this.noIndentInnerCommentsHere(); + this.tokenChar(40); + this.tokenContext |= _index.TokenContext.forInHead | _index.TokenContext.forInOrInitHeadAccumulate; + this.print(node.left); + this.tokenContext = _index.TokenContext.normal; + this.space(); + this.word("in"); + this.space(); + this.print(node.right); + this.tokenChar(41); + this.printBlock(node.body); +} +function ForOfStatement(node) { + this.word("for"); + this.space(); + if (node.await) { + this.word("await"); + this.space(); + } + this.noIndentInnerCommentsHere(); + this.tokenChar(40); + this.tokenContext |= _index.TokenContext.forOfHead; + this.print(node.left); + this.space(); + this.word("of"); + this.space(); + this.print(node.right); + this.tokenChar(41); + this.printBlock(node.body); +} +function DoWhileStatement(node) { + this.word("do"); + this.space(); + this.print(node.body); + this.space(); + this.word("while"); + this.space(); + this.tokenChar(40); + this.print(node.test); + this.tokenChar(41); + this.semicolon(); +} +function printStatementAfterKeyword(printer, node) { + if (node) { + printer.space(); + printer.printTerminatorless(node); + } + printer.semicolon(); +} +function BreakStatement(node) { + this.word("break"); + printStatementAfterKeyword(this, node.label); +} +function ContinueStatement(node) { + this.word("continue"); + printStatementAfterKeyword(this, node.label); +} +function ReturnStatement(node) { + this.word("return"); + printStatementAfterKeyword(this, node.argument); +} +function ThrowStatement(node) { + this.word("throw"); + printStatementAfterKeyword(this, node.argument); +} +function LabeledStatement(node) { + this.print(node.label); + this.tokenChar(58); + this.space(); + this.print(node.body); +} +function TryStatement(node) { + this.word("try"); + this.space(); + this.print(node.block); + this.space(); + if (node.handlers) { + this.print(node.handlers[0]); + } else { + this.print(node.handler); + } + if (node.finalizer) { + this.space(); + this.word("finally"); + this.space(); + this.print(node.finalizer); + } +} +function CatchClause(node) { + this.word("catch"); + this.space(); + if (node.param) { + this.tokenChar(40); + this.print(node.param); + this.print(node.param.typeAnnotation); + this.tokenChar(41); + this.space(); + } + this.print(node.body); +} +function SwitchStatement(node) { + this.word("switch"); + this.space(); + this.tokenChar(40); + this.print(node.discriminant); + this.tokenChar(41); + this.space(); + this.tokenChar(123); + this.printSequence(node.cases, true); + this.rightBrace(node); +} +function SwitchCase(node) { + if (node.test) { + this.word("case"); + this.space(); + this.print(node.test); + this.tokenChar(58); + } else { + this.word("default"); + this.tokenChar(58); + } + if (node.consequent.length) { + this.newline(); + this.printSequence(node.consequent, true); + } +} +function DebuggerStatement() { + this.word("debugger"); + this.semicolon(); +} +function commaSeparatorWithNewline(occurrenceCount) { + this.tokenChar(44, occurrenceCount); + this.newline(); +} +function VariableDeclaration(node, parent) { + if (node.declare) { + this.word("declare"); + this.space(); + } + const { + kind + } = node; + switch (kind) { + case "await using": + this.word("await"); + this.space(); + case "using": + this.word("using", true); + break; + default: + this.word(kind); + } + this.space(); + let hasInits = false; + if (!isFor(parent)) { + for (const declar of node.declarations) { + if (declar.init) { + hasInits = true; + break; + } + } + } + this.printList(node.declarations, undefined, undefined, node.declarations.length > 1, hasInits ? commaSeparatorWithNewline : undefined); + if (parent != null) { + switch (parent.type) { + case "ForStatement": + if (parent.init === node) { + return; + } + break; + case "ForInStatement": + case "ForOfStatement": + if (parent.left === node) { + return; + } + } + } + this.semicolon(); +} +function VariableDeclarator(node) { + this.print(node.id); + if (node.definite) this.tokenChar(33); + this.print(node.id.typeAnnotation); + if (node.init) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.init); + } +} + +//# sourceMappingURL=statements.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/statements.js.map b/client/node_modules/@babel/generator/lib/generators/statements.js.map new file mode 100644 index 0000000..b01021c --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/statements.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_index","isFor","isIfStatement","isStatement","WithStatement","node","word","space","token","print","object","printBlock","body","IfStatement","test","needsBlock","alternate","getLastStatement","consequent","newline","indent","printAndIndentOnComments","dedent","endsWith","statement","ForStatement","tokenContext","TokenContext","forInitHead","forInOrInitHeadAccumulate","init","normal","tokenChar","update","WhileStatement","ForInStatement","noIndentInnerCommentsHere","forInHead","left","right","ForOfStatement","await","forOfHead","DoWhileStatement","semicolon","printStatementAfterKeyword","printer","printTerminatorless","BreakStatement","label","ContinueStatement","ReturnStatement","argument","ThrowStatement","LabeledStatement","TryStatement","block","handlers","handler","finalizer","CatchClause","param","typeAnnotation","SwitchStatement","discriminant","printSequence","cases","rightBrace","SwitchCase","length","DebuggerStatement","commaSeparatorWithNewline","occurrenceCount","VariableDeclaration","parent","declare","kind","hasInits","declar","declarations","printList","undefined","type","VariableDeclarator","id","definite"],"sources":["../../src/generators/statements.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isFor, isIfStatement, isStatement } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport { TokenContext } from \"../node/index.ts\";\n\nexport function WithStatement(this: Printer, node: t.WithStatement) {\n this.word(\"with\");\n this.space();\n this.token(\"(\");\n this.print(node.object);\n this.token(\")\");\n this.printBlock(node.body);\n}\n\nexport function IfStatement(this: Printer, node: t.IfStatement) {\n this.word(\"if\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.space();\n\n const needsBlock =\n node.alternate && isIfStatement(getLastStatement(node.consequent));\n if (needsBlock) {\n this.token(\"{\");\n this.newline();\n this.indent();\n }\n\n this.printAndIndentOnComments(node.consequent);\n\n if (needsBlock) {\n this.dedent();\n this.newline();\n this.token(\"}\");\n }\n\n if (node.alternate) {\n if (this.endsWith(charCodes.rightCurlyBrace)) this.space();\n this.word(\"else\");\n this.space();\n this.printAndIndentOnComments(node.alternate);\n }\n}\n\n// Recursively get the last statement.\nfunction getLastStatement(statement: t.Statement): t.Statement {\n // @ts-expect-error: If statement.body is empty or not a Node, isStatement will return false\n const { body } = statement;\n if (isStatement(body) === false) {\n return statement;\n }\n\n return getLastStatement(body);\n}\n\nexport function ForStatement(this: Printer, node: t.ForStatement) {\n this.word(\"for\");\n this.space();\n this.token(\"(\");\n\n this.tokenContext |=\n TokenContext.forInitHead | TokenContext.forInOrInitHeadAccumulate;\n this.print(node.init);\n this.tokenContext = TokenContext.normal;\n\n this.token(\";\");\n\n if (node.test) {\n this.space();\n this.print(node.test);\n }\n this.tokenChar(charCodes.semicolon, 1);\n\n if (node.update) {\n this.space();\n this.print(node.update);\n }\n\n this.token(\")\");\n this.printBlock(node.body);\n}\n\nexport function WhileStatement(this: Printer, node: t.WhileStatement) {\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.printBlock(node.body);\n}\n\nexport function ForInStatement(this: Printer, node: t.ForInStatement) {\n this.word(\"for\");\n this.space();\n this.noIndentInnerCommentsHere();\n this.token(\"(\");\n this.tokenContext |=\n TokenContext.forInHead | TokenContext.forInOrInitHeadAccumulate;\n this.print(node.left);\n this.tokenContext = TokenContext.normal;\n this.space();\n this.word(\"in\");\n this.space();\n this.print(node.right);\n this.token(\")\");\n this.printBlock(node.body);\n}\n\nexport function ForOfStatement(this: Printer, node: t.ForOfStatement) {\n this.word(\"for\");\n this.space();\n if (node.await) {\n this.word(\"await\");\n this.space();\n }\n this.noIndentInnerCommentsHere();\n this.token(\"(\");\n this.tokenContext |= TokenContext.forOfHead;\n this.print(node.left);\n this.space();\n this.word(\"of\");\n this.space();\n this.print(node.right);\n this.token(\")\");\n this.printBlock(node.body);\n}\n\nexport function DoWhileStatement(this: Printer, node: t.DoWhileStatement) {\n this.word(\"do\");\n this.space();\n this.print(node.body);\n this.space();\n this.word(\"while\");\n this.space();\n this.token(\"(\");\n this.print(node.test);\n this.token(\")\");\n this.semicolon();\n}\n\nfunction printStatementAfterKeyword(\n printer: Printer,\n node: t.Node | null | undefined,\n) {\n if (node) {\n printer.space();\n printer.printTerminatorless(node);\n }\n\n printer.semicolon();\n}\n\nexport function BreakStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"break\");\n printStatementAfterKeyword(this, node.label);\n}\n\nexport function ContinueStatement(this: Printer, node: t.ContinueStatement) {\n this.word(\"continue\");\n printStatementAfterKeyword(this, node.label);\n}\n\nexport function ReturnStatement(this: Printer, node: t.ReturnStatement) {\n this.word(\"return\");\n printStatementAfterKeyword(this, node.argument);\n}\n\nexport function ThrowStatement(this: Printer, node: t.ThrowStatement) {\n this.word(\"throw\");\n printStatementAfterKeyword(this, node.argument);\n}\n\nexport function LabeledStatement(this: Printer, node: t.LabeledStatement) {\n this.print(node.label);\n this.token(\":\");\n this.space();\n this.print(node.body);\n}\n\nexport function TryStatement(this: Printer, node: t.TryStatement) {\n this.word(\"try\");\n this.space();\n this.print(node.block);\n this.space();\n\n // Esprima bug puts the catch clause in a `handlers` array.\n // see https://code.google.com/p/esprima/issues/detail?id=433\n // We run into this from regenerator generated ast.\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n if (node.handlers) {\n // @ts-expect-error todo(flow->ts) should ast node type be updated to support this?\n this.print(node.handlers[0]);\n } else {\n this.print(node.handler);\n }\n\n if (node.finalizer) {\n this.space();\n this.word(\"finally\");\n this.space();\n this.print(node.finalizer);\n }\n}\n\nexport function CatchClause(this: Printer, node: t.CatchClause) {\n this.word(\"catch\");\n this.space();\n if (node.param) {\n this.token(\"(\");\n this.print(node.param);\n this.print(node.param.typeAnnotation);\n this.token(\")\");\n this.space();\n }\n this.print(node.body);\n}\n\nexport function SwitchStatement(this: Printer, node: t.SwitchStatement) {\n this.word(\"switch\");\n this.space();\n this.token(\"(\");\n this.print(node.discriminant);\n this.token(\")\");\n this.space();\n this.token(\"{\");\n\n this.printSequence(node.cases, true);\n\n this.rightBrace(node);\n}\n\nexport function SwitchCase(this: Printer, node: t.SwitchCase) {\n if (node.test) {\n this.word(\"case\");\n this.space();\n this.print(node.test);\n this.token(\":\");\n } else {\n this.word(\"default\");\n this.token(\":\");\n }\n\n if (node.consequent.length) {\n this.newline();\n this.printSequence(node.consequent, true);\n }\n}\n\nexport function DebuggerStatement(this: Printer) {\n this.word(\"debugger\");\n this.semicolon();\n}\n\nfunction commaSeparatorWithNewline(this: Printer, occurrenceCount: number) {\n this.tokenChar(charCodes.comma, occurrenceCount);\n this.newline();\n}\n\nexport function VariableDeclaration(\n this: Printer,\n node: t.VariableDeclaration,\n parent: t.Node,\n) {\n if (node.declare) {\n // TS\n this.word(\"declare\");\n this.space();\n }\n\n const { kind } = node;\n switch (kind) {\n case \"await using\":\n this.word(\"await\");\n this.space();\n // fallthrough\n case \"using\":\n this.word(\"using\", true);\n break;\n default:\n this.word(kind);\n }\n this.space();\n\n let hasInits = false;\n // don't add whitespace to loop heads\n if (!isFor(parent)) {\n for (const declar of node.declarations) {\n if (declar.init) {\n // has an init so let's split it up over multiple lines\n hasInits = true;\n break;\n }\n }\n }\n\n //\n // use a pretty separator when we aren't in compact mode, have initializers and don't have retainLines on\n // this will format declarations like:\n //\n // let foo = \"bar\", bar = \"foo\";\n //\n // into\n //\n // let foo = \"bar\",\n // bar = \"foo\";\n //\n\n this.printList(\n node.declarations,\n undefined,\n undefined,\n node.declarations.length > 1,\n hasInits ? commaSeparatorWithNewline : undefined,\n );\n\n if (parent != null) {\n switch (parent.type) {\n case \"ForStatement\":\n if (parent.init === node) {\n return;\n }\n break;\n case \"ForInStatement\":\n case \"ForOfStatement\":\n if (parent.left === node) {\n return;\n }\n }\n }\n\n this.semicolon();\n}\n\nexport function VariableDeclarator(this: Printer, node: t.VariableDeclarator) {\n this.print(node.id);\n if (node.definite) this.token(\"!\"); // TS\n // @ts-ignore(Babel 7 vs Babel 8) Property 'typeAnnotation' does not exist on type 'MemberExpression'.\n this.print(node.id.typeAnnotation);\n if (node.init) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.init);\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/template-literals.js b/client/node_modules/@babel/generator/lib/generators/template-literals.js new file mode 100644 index 0000000..b0c029c --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/template-literals.js @@ -0,0 +1,38 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TaggedTemplateExpression = TaggedTemplateExpression; +exports.TemplateElement = TemplateElement; +exports.TemplateLiteral = TemplateLiteral; +exports._printTemplate = _printTemplate; +function TaggedTemplateExpression(node) { + this.print(node.tag); + this.print(node.typeParameters); + this.print(node.quasi); +} +function TemplateElement() { + throw new Error("TemplateElement printing is handled in TemplateLiteral"); +} +function _printTemplate(node, substitutions) { + const quasis = node.quasis; + let partRaw = "`"; + for (let i = 0; i < quasis.length - 1; i++) { + partRaw += quasis[i].value.raw; + this.token(partRaw + "${", true); + this.print(substitutions[i]); + partRaw = "}"; + if (this.tokenMap) { + const token = this.tokenMap.findMatching(node, "}", i); + if (token) this._catchUpTo(token.loc.start); + } + } + partRaw += quasis[quasis.length - 1].value.raw; + this.token(partRaw + "`", true); +} +function TemplateLiteral(node) { + _printTemplate.call(this, node, node.expressions); +} + +//# sourceMappingURL=template-literals.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/template-literals.js.map b/client/node_modules/@babel/generator/lib/generators/template-literals.js.map new file mode 100644 index 0000000..59fa221 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/template-literals.js.map @@ -0,0 +1 @@ +{"version":3,"names":["TaggedTemplateExpression","node","print","tag","typeParameters","quasi","TemplateElement","Error","_printTemplate","substitutions","quasis","partRaw","i","length","value","raw","token","tokenMap","findMatching","_catchUpTo","loc","start","TemplateLiteral","call","expressions"],"sources":["../../src/generators/template-literals.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n\nexport function TaggedTemplateExpression(\n this: Printer,\n node: t.TaggedTemplateExpression,\n) {\n this.print(node.tag);\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.typeArguments);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n this.print(node.typeParameters);\n }\n this.print(node.quasi);\n}\n\nexport function TemplateElement(this: Printer) {\n throw new Error(\"TemplateElement printing is handled in TemplateLiteral\");\n}\n\nexport type TemplateLiteralBase = t.Node & {\n quasis: t.TemplateElement[];\n};\n\nexport function _printTemplate(\n this: Printer,\n node: TemplateLiteralBase,\n substitutions: T[],\n) {\n const quasis = node.quasis;\n let partRaw = \"`\";\n for (let i = 0; i < quasis.length - 1; i++) {\n partRaw += quasis[i].value.raw;\n this.token(partRaw + \"${\", true);\n this.print(substitutions[i]);\n partRaw = \"}\";\n\n // In Babel 7 we have individual tokens for ${ and }, so the automatic\n // catchup logic does not work. Manually look for those tokens.\n if (!process.env.BABEL_8_BREAKING && this.tokenMap) {\n const token = this.tokenMap.findMatching(node, \"}\", i);\n if (token) this._catchUpTo(token.loc.start);\n }\n }\n partRaw += quasis[quasis.length - 1].value.raw;\n this.token(partRaw + \"`\", true);\n}\n\nexport function TemplateLiteral(this: Printer, node: t.TemplateLiteral) {\n _printTemplate.call(this, node, node.expressions);\n}\n"],"mappings":";;;;;;;;;AAGO,SAASA,wBAAwBA,CAEtCC,IAAgC,EAChC;EACA,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAAC;EAMlB,IAAI,CAACD,KAAK,CAACD,IAAI,CAACG,cAAc,CAAC;EAEjC,IAAI,CAACF,KAAK,CAACD,IAAI,CAACI,KAAK,CAAC;AACxB;AAEO,SAASC,eAAeA,CAAA,EAAgB;EAC7C,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;AAC3E;AAMO,SAASC,cAAcA,CAE5BP,IAAyB,EACzBQ,aAAkB,EAClB;EACA,MAAMC,MAAM,GAAGT,IAAI,CAACS,MAAM;EAC1B,IAAIC,OAAO,GAAG,GAAG;EACjB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,EAAE,EAAE;IAC1CD,OAAO,IAAID,MAAM,CAACE,CAAC,CAAC,CAACE,KAAK,CAACC,GAAG;IAC9B,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC;IAChC,IAAI,CAACT,KAAK,CAACO,aAAa,CAACG,CAAC,CAAC,CAAC;IAC5BD,OAAO,GAAG,GAAG;IAIb,IAAqC,IAAI,CAACM,QAAQ,EAAE;MAClD,MAAMD,KAAK,GAAG,IAAI,CAACC,QAAQ,CAACC,YAAY,CAACjB,IAAI,EAAE,GAAG,EAAEW,CAAC,CAAC;MACtD,IAAII,KAAK,EAAE,IAAI,CAACG,UAAU,CAACH,KAAK,CAACI,GAAG,CAACC,KAAK,CAAC;IAC7C;EACF;EACAV,OAAO,IAAID,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG;EAC9C,IAAI,CAACC,KAAK,CAACL,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC;AACjC;AAEO,SAASW,eAAeA,CAAgBrB,IAAuB,EAAE;EACtEO,cAAc,CAACe,IAAI,CAAC,IAAI,EAAEtB,IAAI,EAAEA,IAAI,CAACuB,WAAW,CAAC;AACnD","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/types.js b/client/node_modules/@babel/generator/lib/generators/types.js new file mode 100644 index 0000000..cfe9618 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/types.js @@ -0,0 +1,183 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ArgumentPlaceholder = ArgumentPlaceholder; +exports.ArrayPattern = exports.ArrayExpression = ArrayExpression; +exports.BigIntLiteral = BigIntLiteral; +exports.BooleanLiteral = BooleanLiteral; +exports.Identifier = Identifier; +exports.NullLiteral = NullLiteral; +exports.NumericLiteral = NumericLiteral; +exports.ObjectPattern = exports.ObjectExpression = ObjectExpression; +exports.ObjectMethod = ObjectMethod; +exports.ObjectProperty = ObjectProperty; +exports.PipelineBareFunction = PipelineBareFunction; +exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; +exports.PipelineTopicExpression = PipelineTopicExpression; +exports.RegExpLiteral = RegExpLiteral; +exports.SpreadElement = exports.RestElement = RestElement; +exports.StringLiteral = StringLiteral; +exports.TopicReference = TopicReference; +exports.VoidPattern = VoidPattern; +exports._getRawIdentifier = _getRawIdentifier; +var _t = require("@babel/types"); +var _jsesc = require("jsesc"); +var _methods = require("./methods.js"); +const { + isAssignmentPattern, + isIdentifier +} = _t; +let lastRawIdentResult = ""; +function _getRawIdentifier(node) { + const { + name + } = node; + const token = this.tokenMap.find(node, tok => tok.value === name); + if (token) { + lastRawIdentResult = this._originalCode.slice(token.start, token.end); + return lastRawIdentResult; + } + return lastRawIdentResult = node.name; +} +function Identifier(node) { + if (this._buf._map) { + var _node$loc; + this.sourceIdentifierName(((_node$loc = node.loc) == null ? void 0 : _node$loc.identifierName) || node.name); + } + this.word(this.tokenMap ? lastRawIdentResult : node.name); +} +function ArgumentPlaceholder() { + this.tokenChar(63); +} +function RestElement(node) { + this.token("..."); + this.print(node.argument); +} +function ObjectExpression(node) { + const props = node.properties; + this.tokenChar(123); + if (props.length) { + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.space(); + this.printList(props, this.shouldPrintTrailingComma("}"), true, true, undefined, true); + this.space(); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + } + this.rightBrace(node); +} +function ObjectMethod(node) { + this.printJoin(node.decorators); + _methods._methodHead.call(this, node); + this.space(); + this.print(node.body); +} +function ObjectProperty(node) { + this.printJoin(node.decorators); + if (node.computed) { + this.tokenChar(91); + this.print(node.key); + this.tokenChar(93); + } else { + if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) { + this.print(node.value); + return; + } + this.print(node.key); + if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) { + return; + } + } + this.tokenChar(58); + this.space(); + this.print(node.value); +} +function ArrayExpression(node) { + const elems = node.elements; + const len = elems.length; + this.tokenChar(91); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + for (let i = 0; i < elems.length; i++) { + const elem = elems[i]; + if (elem) { + if (i > 0) this.space(); + this.print(elem, undefined, true); + if (i < len - 1 || this.shouldPrintTrailingComma("]")) { + this.tokenChar(44, i); + } + } else { + this.tokenChar(44, i); + } + } + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.tokenChar(93); +} +function RegExpLiteral(node) { + this.word(`/${node.pattern}/${node.flags}`, false); +} +function BooleanLiteral(node) { + this.word(node.value ? "true" : "false"); +} +function NullLiteral() { + this.word("null"); +} +function NumericLiteral(node) { + const raw = this.getPossibleRaw(node); + const opts = this.format.jsescOption; + const value = node.value; + const str = value + ""; + if (opts.numbers) { + this.number(_jsesc(value, opts), value); + } else if (raw == null) { + this.number(str, value); + } else if (this.format.minified) { + this.number(raw.length < str.length ? raw : str, value); + } else { + this.number(raw, value); + } +} +function StringLiteral(node) { + const raw = this.getPossibleRaw(node); + if (!this.format.minified && raw !== undefined) { + this.token(raw); + return; + } + const val = _jsesc(node.value, this.format.jsescOption); + this.token(val); +} +function BigIntLiteral(node) { + const raw = this.getPossibleRaw(node); + if (!this.format.minified && raw !== undefined) { + this.word(raw); + return; + } + this.word(node.value + "n"); +} +const validTopicTokenSet = new Set(["^^", "@@", "^", "%", "#"]); +function TopicReference() { + const { + topicToken + } = this.format; + if (validTopicTokenSet.has(topicToken)) { + this.token(topicToken); + } else { + const givenTopicTokenJSON = JSON.stringify(topicToken); + const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v)); + throw new Error(`The "topicToken" generator option must be one of ` + `${validTopics.join(", ")} (${givenTopicTokenJSON} received instead).`); + } +} +function PipelineTopicExpression(node) { + this.print(node.expression); +} +function PipelineBareFunction(node) { + this.print(node.callee); +} +function PipelinePrimaryTopicReference() { + this.tokenChar(35); +} +function VoidPattern() { + this.word("void"); +} + +//# sourceMappingURL=types.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/types.js.map b/client/node_modules/@babel/generator/lib/generators/types.js.map new file mode 100644 index 0000000..9f27ab1 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/types.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_jsesc","_methods","isAssignmentPattern","isIdentifier","lastRawIdentResult","_getRawIdentifier","node","name","token","tokenMap","find","tok","value","_originalCode","slice","start","end","Identifier","_buf","_map","_node$loc","sourceIdentifierName","loc","identifierName","word","ArgumentPlaceholder","RestElement","print","argument","ObjectExpression","props","properties","length","oldNoLineTerminatorAfterNode","enterDelimited","space","printList","shouldPrintTrailingComma","undefined","_noLineTerminatorAfterNode","rightBrace","ObjectMethod","printJoin","decorators","_methodHead","call","body","ObjectProperty","computed","key","left","shorthand","ArrayExpression","elems","elements","len","i","elem","tokenChar","RegExpLiteral","pattern","flags","BooleanLiteral","NullLiteral","NumericLiteral","raw","getPossibleRaw","opts","format","jsescOption","str","numbers","number","jsesc","minified","StringLiteral","val","BigIntLiteral","validTopicTokenSet","Set","TopicReference","topicToken","has","givenTopicTokenJSON","JSON","stringify","validTopics","Array","from","v","Error","join","PipelineTopicExpression","expression","PipelineBareFunction","callee","PipelinePrimaryTopicReference","VoidPattern"],"sources":["../../src/generators/types.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport { isAssignmentPattern, isIdentifier } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport jsesc from \"jsesc\";\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport { _methodHead } from \"./methods.ts\";\n\nlet lastRawIdentResult: string = \"\";\nexport function _getRawIdentifier(this: Printer, node: t.Identifier) {\n const { name } = node;\n const token = this.tokenMap!.find(node, tok => tok.value === name);\n if (token) {\n lastRawIdentResult = this._originalCode!.slice(token.start, token.end);\n return lastRawIdentResult;\n }\n return (lastRawIdentResult = node.name);\n}\n\nexport function Identifier(this: Printer, node: t.Identifier) {\n if (this._buf._map) {\n this.sourceIdentifierName(node.loc?.identifierName || node.name);\n }\n\n this.word(this.tokenMap ? lastRawIdentResult : node.name);\n}\n\nexport function ArgumentPlaceholder(this: Printer) {\n this.token(\"?\");\n}\n\nexport function RestElement(this: Printer, node: t.RestElement) {\n this.token(\"...\");\n this.print(node.argument);\n}\n\nexport { RestElement as SpreadElement };\n\nexport function ObjectExpression(this: Printer, node: t.ObjectExpression) {\n const props = node.properties;\n\n this.token(\"{\");\n\n if (props.length) {\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.space();\n this.printList(\n props,\n this.shouldPrintTrailingComma(\"}\"),\n true,\n true,\n undefined,\n true,\n );\n this.space();\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n }\n\n this.rightBrace(node);\n}\n\nexport { ObjectExpression as ObjectPattern };\n\nexport function ObjectMethod(this: Printer, node: t.ObjectMethod) {\n this.printJoin(node.decorators);\n _methodHead.call(this, node);\n this.space();\n this.print(node.body);\n}\n\nexport function ObjectProperty(this: Printer, node: t.ObjectProperty) {\n this.printJoin(node.decorators);\n\n if (node.computed) {\n this.token(\"[\");\n this.print(node.key);\n this.token(\"]\");\n } else {\n // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`\n if (\n isAssignmentPattern(node.value) &&\n isIdentifier(node.key) &&\n // @ts-expect-error todo(flow->ts) `.name` does not exist on some types in union\n node.key.name === node.value.left.name\n ) {\n this.print(node.value);\n return;\n }\n\n this.print(node.key);\n\n // shorthand!\n if (\n node.shorthand &&\n isIdentifier(node.key) &&\n isIdentifier(node.value) &&\n node.key.name === node.value.name\n ) {\n return;\n }\n }\n\n this.token(\":\");\n this.space();\n this.print(node.value);\n}\n\nexport function ArrayExpression(this: Printer, node: t.ArrayExpression) {\n const elems = node.elements;\n const len = elems.length;\n\n this.token(\"[\");\n\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n\n for (let i = 0; i < elems.length; i++) {\n const elem = elems[i];\n if (elem) {\n if (i > 0) this.space();\n this.print(elem, undefined, true);\n if (i < len - 1 || this.shouldPrintTrailingComma(\"]\")) {\n this.tokenChar(charCodes.comma, i);\n }\n } else {\n // If the array expression ends with a hole, that hole\n // will be ignored by the interpreter, but if it ends with\n // two (or more) holes, we need to write out two (or more)\n // commas so that the resulting code is interpreted with\n // both (all) of the holes.\n this.tokenChar(charCodes.comma, i);\n }\n }\n\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n\n this.token(\"]\");\n}\n\nexport { ArrayExpression as ArrayPattern };\n\nexport function RegExpLiteral(this: Printer, node: t.RegExpLiteral) {\n this.word(`/${node.pattern}/${node.flags}`, false);\n}\n\nexport function BooleanLiteral(this: Printer, node: t.BooleanLiteral) {\n this.word(node.value ? \"true\" : \"false\");\n}\n\nexport function NullLiteral(this: Printer) {\n this.word(\"null\");\n}\n\nexport function NumericLiteral(this: Printer, node: t.NumericLiteral) {\n const raw = this.getPossibleRaw(node);\n const opts = this.format.jsescOption;\n const value = node.value;\n const str = value + \"\";\n if (opts.numbers) {\n this.number(jsesc(value, opts), value);\n } else if (raw == null) {\n this.number(str, value); // normalize\n } else if (this.format.minified) {\n this.number(raw.length < str.length ? raw : str, value);\n } else {\n this.number(raw, value);\n }\n}\n\nexport function StringLiteral(this: Printer, node: t.StringLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.token(raw);\n return;\n }\n\n const val = jsesc(node.value, this.format.jsescOption);\n\n this.token(val);\n}\n\nexport function BigIntLiteral(this: Printer, node: t.BigIntLiteral) {\n const raw = this.getPossibleRaw(node);\n if (!this.format.minified && raw !== undefined) {\n this.word(raw);\n return;\n }\n this.word(node.value + \"n\");\n}\n\n// Hack pipe operator\nconst validTopicTokenSet = new Set([\n \"^^\",\n \"@@\",\n \"^\",\n \"%\",\n \"#\",\n]);\nexport function TopicReference(this: Printer) {\n const { topicToken } = this.format;\n\n if (validTopicTokenSet.has(topicToken)) {\n this.token(topicToken!);\n } else {\n const givenTopicTokenJSON = JSON.stringify(topicToken);\n const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));\n throw new Error(\n `The \"topicToken\" generator option must be one of ` +\n `${validTopics.join(\", \")} (${givenTopicTokenJSON} received instead).`,\n );\n }\n}\n\n// Smart-mix pipe operator\nexport function PipelineTopicExpression(\n this: Printer,\n node: t.PipelineTopicExpression,\n) {\n this.print(node.expression);\n}\n\nexport function PipelineBareFunction(\n this: Printer,\n node: t.PipelineBareFunction,\n) {\n this.print(node.callee);\n}\n\nexport function PipelinePrimaryTopicReference(this: Printer) {\n this.token(\"#\");\n}\n\n// discard binding\nexport function VoidPattern(this: Printer) {\n this.word(\"void\");\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/generators/typescript.js b/client/node_modules/@babel/generator/lib/generators/typescript.js new file mode 100644 index 0000000..ca9edb8 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/typescript.js @@ -0,0 +1,726 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TSAnyKeyword = TSAnyKeyword; +exports.TSArrayType = TSArrayType; +exports.TSAsExpression = TSAsExpression; +exports.TSBigIntKeyword = TSBigIntKeyword; +exports.TSBooleanKeyword = TSBooleanKeyword; +exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; +exports.TSInterfaceHeritage = exports.TSClassImplements = TSClassImplements; +exports.TSConditionalType = TSConditionalType; +exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; +exports.TSConstructorType = TSConstructorType; +exports.TSDeclareFunction = TSDeclareFunction; +exports.TSDeclareMethod = TSDeclareMethod; +exports.TSEnumBody = TSEnumBody; +exports.TSEnumDeclaration = TSEnumDeclaration; +exports.TSEnumMember = TSEnumMember; +exports.TSExportAssignment = TSExportAssignment; +exports.TSExternalModuleReference = TSExternalModuleReference; +exports.TSFunctionType = TSFunctionType; +exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; +exports.TSImportType = TSImportType; +exports.TSIndexSignature = TSIndexSignature; +exports.TSIndexedAccessType = TSIndexedAccessType; +exports.TSInferType = TSInferType; +exports.TSInstantiationExpression = TSInstantiationExpression; +exports.TSInterfaceBody = TSInterfaceBody; +exports.TSInterfaceDeclaration = TSInterfaceDeclaration; +exports.TSIntersectionType = TSIntersectionType; +exports.TSIntrinsicKeyword = TSIntrinsicKeyword; +exports.TSLiteralType = TSLiteralType; +exports.TSMappedType = TSMappedType; +exports.TSMethodSignature = TSMethodSignature; +exports.TSModuleBlock = TSModuleBlock; +exports.TSModuleDeclaration = TSModuleDeclaration; +exports.TSNamedTupleMember = TSNamedTupleMember; +exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; +exports.TSNeverKeyword = TSNeverKeyword; +exports.TSNonNullExpression = TSNonNullExpression; +exports.TSNullKeyword = TSNullKeyword; +exports.TSNumberKeyword = TSNumberKeyword; +exports.TSObjectKeyword = TSObjectKeyword; +exports.TSOptionalType = TSOptionalType; +exports.TSParameterProperty = TSParameterProperty; +exports.TSParenthesizedType = TSParenthesizedType; +exports.TSPropertySignature = TSPropertySignature; +exports.TSQualifiedName = TSQualifiedName; +exports.TSRestType = TSRestType; +exports.TSSatisfiesExpression = TSSatisfiesExpression; +exports.TSStringKeyword = TSStringKeyword; +exports.TSSymbolKeyword = TSSymbolKeyword; +exports.TSTemplateLiteralType = TSTemplateLiteralType; +exports.TSThisType = TSThisType; +exports.TSTupleType = TSTupleType; +exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; +exports.TSTypeAnnotation = TSTypeAnnotation; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSTypeLiteral = TSTypeLiteral; +exports.TSTypeOperator = TSTypeOperator; +exports.TSTypeParameter = TSTypeParameter; +exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; +exports.TSTypePredicate = TSTypePredicate; +exports.TSTypeQuery = TSTypeQuery; +exports.TSTypeReference = TSTypeReference; +exports.TSUndefinedKeyword = TSUndefinedKeyword; +exports.TSUnionType = TSUnionType; +exports.TSUnknownKeyword = TSUnknownKeyword; +exports.TSVoidKeyword = TSVoidKeyword; +exports._tsPrintClassMemberModifiers = _tsPrintClassMemberModifiers; +var _methods = require("./methods.js"); +var _classes = require("./classes.js"); +var _templateLiterals = require("./template-literals.js"); +function TSTypeAnnotation(node, parent) { + this.token((parent.type === "TSFunctionType" || parent.type === "TSConstructorType") && parent.typeAnnotation === node ? "=>" : ":"); + this.space(); + if (node.optional) this.tokenChar(63); + this.print(node.typeAnnotation); +} +function TSTypeParameterInstantiation(node, parent) { + this.tokenChar(60); + let printTrailingSeparator = parent.type === "ArrowFunctionExpression" && node.params.length === 1; + if (this.tokenMap && node.start != null && node.end != null) { + printTrailingSeparator && (printTrailingSeparator = !!this.tokenMap.find(node, t => this.tokenMap.matchesOriginal(t, ","))); + printTrailingSeparator || (printTrailingSeparator = this.shouldPrintTrailingComma(">")); + } + this.printList(node.params, printTrailingSeparator); + this.tokenChar(62); +} +function TSTypeParameter(node) { + if (node.const) { + this.word("const"); + this.space(); + } + if (node.in) { + this.word("in"); + this.space(); + } + if (node.out) { + this.word("out"); + this.space(); + } + this.word(node.name); + if (node.constraint) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.constraint); + } + if (node.default) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.default); + } +} +function TSParameterProperty(node) { + if (node.accessibility) { + this.word(node.accessibility); + this.space(); + } + if (node.readonly) { + this.word("readonly"); + this.space(); + } + _methods._param.call(this, node.parameter); +} +function TSDeclareFunction(node, parent) { + if (node.declare) { + this.word("declare"); + this.space(); + } + _methods._functionHead.call(this, node, parent, false); + this.semicolon(); +} +function TSDeclareMethod(node) { + _classes._classMethodHead.call(this, node); + this.semicolon(); +} +function TSQualifiedName(node) { + this.print(node.left); + this.tokenChar(46); + this.print(node.right); +} +function TSCallSignatureDeclaration(node) { + tsPrintSignatureDeclarationBase.call(this, node); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function maybePrintTrailingCommaOrSemicolon(printer, node) { + if (!printer.tokenMap || !node.start || !node.end) { + printer.semicolon(); + return; + } + if (printer.tokenMap.endMatches(node, ",")) { + printer.token(","); + } else if (printer.tokenMap.endMatches(node, ";")) { + printer.semicolon(); + } +} +function TSConstructSignatureDeclaration(node) { + this.word("new"); + this.space(); + tsPrintSignatureDeclarationBase.call(this, node); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function TSPropertySignature(node) { + const { + readonly + } = node; + if (readonly) { + this.word("readonly"); + this.space(); + } + tsPrintPropertyOrMethodName.call(this, node); + this.print(node.typeAnnotation); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function tsPrintPropertyOrMethodName(node) { + if (node.computed) { + this.tokenChar(91); + } + this.print(node.key); + if (node.computed) { + this.tokenChar(93); + } + if (node.optional) { + this.tokenChar(63); + } +} +function TSMethodSignature(node) { + const { + kind + } = node; + if (kind === "set" || kind === "get") { + this.word(kind); + this.space(); + } + tsPrintPropertyOrMethodName.call(this, node); + tsPrintSignatureDeclarationBase.call(this, node); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function TSIndexSignature(node) { + const { + readonly, + static: isStatic + } = node; + if (isStatic) { + this.word("static"); + this.space(); + } + if (readonly) { + this.word("readonly"); + this.space(); + } + this.tokenChar(91); + _methods._parameters.call(this, node.parameters, 93); + this.print(node.typeAnnotation); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function TSAnyKeyword() { + this.word("any"); +} +function TSBigIntKeyword() { + this.word("bigint"); +} +function TSUnknownKeyword() { + this.word("unknown"); +} +function TSNumberKeyword() { + this.word("number"); +} +function TSObjectKeyword() { + this.word("object"); +} +function TSBooleanKeyword() { + this.word("boolean"); +} +function TSStringKeyword() { + this.word("string"); +} +function TSSymbolKeyword() { + this.word("symbol"); +} +function TSVoidKeyword() { + this.word("void"); +} +function TSUndefinedKeyword() { + this.word("undefined"); +} +function TSNullKeyword() { + this.word("null"); +} +function TSNeverKeyword() { + this.word("never"); +} +function TSIntrinsicKeyword() { + this.word("intrinsic"); +} +function TSThisType() { + this.word("this"); +} +function TSFunctionType(node) { + tsPrintFunctionOrConstructorType.call(this, node); +} +function TSConstructorType(node) { + if (node.abstract) { + this.word("abstract"); + this.space(); + } + this.word("new"); + this.space(); + tsPrintFunctionOrConstructorType.call(this, node); +} +function tsPrintFunctionOrConstructorType(node) { + const { + typeParameters + } = node; + const parameters = node.parameters; + this.print(typeParameters); + this.tokenChar(40); + _methods._parameters.call(this, parameters, 41); + this.space(); + const returnType = node.typeAnnotation; + this.print(returnType); +} +function TSTypeReference(node) { + const typeArguments = node.typeParameters; + this.print(node.typeName, !!typeArguments); + this.print(typeArguments); +} +function TSTypePredicate(node) { + if (node.asserts) { + this.word("asserts"); + this.space(); + } + this.print(node.parameterName); + if (node.typeAnnotation) { + this.space(); + this.word("is"); + this.space(); + this.print(node.typeAnnotation.typeAnnotation); + } +} +function TSTypeQuery(node) { + this.word("typeof"); + this.space(); + this.print(node.exprName); + const typeArguments = node.typeParameters; + if (typeArguments) { + this.print(typeArguments); + } +} +function TSTypeLiteral(node) { + printBraced(this, node, () => this.printJoin(node.members, true, true, undefined, undefined, true)); +} +function TSArrayType(node) { + this.print(node.elementType, true); + this.tokenChar(91); + this.tokenChar(93); +} +function TSTupleType(node) { + this.tokenChar(91); + this.printList(node.elementTypes, this.shouldPrintTrailingComma("]")); + this.tokenChar(93); +} +function TSOptionalType(node) { + this.print(node.typeAnnotation); + this.tokenChar(63); +} +function TSRestType(node) { + this.token("..."); + this.print(node.typeAnnotation); +} +function TSNamedTupleMember(node) { + this.print(node.label); + if (node.optional) this.tokenChar(63); + this.tokenChar(58); + this.space(); + this.print(node.elementType); +} +function TSUnionType(node) { + tsPrintUnionOrIntersectionType(this, node, "|"); +} +function TSIntersectionType(node) { + tsPrintUnionOrIntersectionType(this, node, "&"); +} +function tsPrintUnionOrIntersectionType(printer, node, sep) { + var _printer$tokenMap; + let hasLeadingToken = 0; + if ((_printer$tokenMap = printer.tokenMap) != null && _printer$tokenMap.startMatches(node, sep)) { + hasLeadingToken = 1; + printer.token(sep); + } + printer.printJoin(node.types, undefined, undefined, function (i) { + this.space(); + this.token(sep, undefined, i + hasLeadingToken); + this.space(); + }); +} +function TSConditionalType(node) { + this.print(node.checkType); + this.space(); + this.word("extends"); + this.space(); + this.print(node.extendsType); + this.space(); + this.tokenChar(63); + this.space(); + this.print(node.trueType); + this.space(); + this.tokenChar(58); + this.space(); + this.print(node.falseType); +} +function TSInferType(node) { + this.word("infer"); + this.print(node.typeParameter); +} +function TSParenthesizedType(node) { + this.tokenChar(40); + this.print(node.typeAnnotation); + this.tokenChar(41); +} +function TSTypeOperator(node) { + this.word(node.operator); + this.space(); + this.print(node.typeAnnotation); +} +function TSIndexedAccessType(node) { + this.print(node.objectType, true); + this.tokenChar(91); + this.print(node.indexType); + this.tokenChar(93); +} +function TSMappedType(node) { + const { + nameType, + optional, + readonly, + typeAnnotation + } = node; + this.tokenChar(123); + const oldNoLineTerminatorAfterNode = this.enterDelimited(); + this.space(); + if (readonly) { + tokenIfPlusMinus(this, readonly); + this.word("readonly"); + this.space(); + } + this.tokenChar(91); + this.word(node.typeParameter.name); + this.space(); + this.word("in"); + this.space(); + this.print(node.typeParameter.constraint, undefined, true); + if (nameType) { + this.space(); + this.word("as"); + this.space(); + this.print(nameType, undefined, true); + } + this.tokenChar(93); + if (optional) { + tokenIfPlusMinus(this, optional); + this.tokenChar(63); + } + if (typeAnnotation) { + this.tokenChar(58); + this.space(); + this.print(typeAnnotation, undefined, true); + } + this.space(); + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + this.tokenChar(125); +} +function tokenIfPlusMinus(self, tok) { + if (tok !== true) { + self.token(tok); + } +} +function TSTemplateLiteralType(node) { + _templateLiterals._printTemplate.call(this, node, node.types); +} +function TSLiteralType(node) { + this.print(node.literal); +} +function TSClassImplements(node) { + this.print(node.expression); + this.print(node.typeArguments); +} +function TSInterfaceDeclaration(node) { + const { + declare, + id, + typeParameters, + extends: extendz, + body + } = node; + if (declare) { + this.word("declare"); + this.space(); + } + this.word("interface"); + this.space(); + this.print(id); + this.print(typeParameters); + if (extendz != null && extendz.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(extendz); + } + this.space(); + this.print(body); +} +function TSInterfaceBody(node) { + printBraced(this, node, () => this.printJoin(node.body, true, true, undefined, undefined, true)); +} +function TSTypeAliasDeclaration(node) { + const { + declare, + id, + typeParameters, + typeAnnotation + } = node; + if (declare) { + this.word("declare"); + this.space(); + } + this.word("type"); + this.space(); + this.print(id); + this.print(typeParameters); + this.space(); + this.tokenChar(61); + this.space(); + this.print(typeAnnotation); + this.semicolon(); +} +function TSAsExpression(node) { + const { + expression, + typeAnnotation + } = node; + this.print(expression, true); + this.space(); + this.word("as"); + this.space(); + this.print(typeAnnotation); +} +function TSSatisfiesExpression(node) { + const { + expression, + typeAnnotation + } = node; + this.print(expression, true); + this.space(); + this.word("satisfies"); + this.space(); + this.print(typeAnnotation); +} +function TSTypeAssertion(node) { + const { + typeAnnotation, + expression + } = node; + this.tokenChar(60); + this.print(typeAnnotation); + this.tokenChar(62); + this.space(); + this.print(expression); +} +function TSInstantiationExpression(node) { + this.print(node.expression); + this.print(node.typeParameters); +} +function TSEnumDeclaration(node) { + const { + declare, + const: isConst, + id + } = node; + if (declare) { + this.word("declare"); + this.space(); + } + if (isConst) { + this.word("const"); + this.space(); + } + this.word("enum"); + this.space(); + this.print(id); + this.space(); + TSEnumBody.call(this, node); +} +function TSEnumBody(node) { + printBraced(this, node, () => { + var _this$shouldPrintTrai; + return this.printList(node.members, (_this$shouldPrintTrai = this.shouldPrintTrailingComma("}")) != null ? _this$shouldPrintTrai : true, true, true, undefined, true); + }); +} +function TSEnumMember(node) { + const { + id, + initializer + } = node; + this.print(id); + if (initializer) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(initializer); + } +} +function TSModuleDeclaration(node) { + const { + declare, + id, + kind + } = node; + if (declare) { + this.word("declare"); + this.space(); + } + if (!node.global) { + this.word(kind != null ? kind : id.type === "Identifier" ? "namespace" : "module"); + this.space(); + } + this.print(id); + if (!node.body) { + this.semicolon(); + return; + } + let body = node.body; + while (body.type === "TSModuleDeclaration") { + this.tokenChar(46); + this.print(body.id); + body = body.body; + } + this.space(); + this.print(body); +} +function TSModuleBlock(node) { + printBraced(this, node, () => this.printSequence(node.body, true, true)); +} +function TSImportType(node) { + const { + qualifier, + options + } = node; + this.word("import"); + this.tokenChar(40); + this.print(node.argument); + if (options) { + this.tokenChar(44); + this.print(options); + } + this.tokenChar(41); + if (qualifier) { + this.tokenChar(46); + this.print(qualifier); + } + const typeArguments = node.typeParameters; + if (typeArguments) { + this.print(typeArguments); + } +} +function TSImportEqualsDeclaration(node) { + const { + id, + moduleReference + } = node; + if (node.isExport) { + this.word("export"); + this.space(); + } + this.word("import"); + this.space(); + this.print(id); + this.space(); + this.tokenChar(61); + this.space(); + this.print(moduleReference); + this.semicolon(); +} +function TSExternalModuleReference(node) { + this.token("require("); + this.print(node.expression); + this.tokenChar(41); +} +function TSNonNullExpression(node) { + this.print(node.expression); + this.tokenChar(33); + this.setLastChar(33); +} +function TSExportAssignment(node) { + this.word("export"); + this.space(); + this.tokenChar(61); + this.space(); + this.print(node.expression); + this.semicolon(); +} +function TSNamespaceExportDeclaration(node) { + this.word("export"); + this.space(); + this.word("as"); + this.space(); + this.word("namespace"); + this.space(); + this.print(node.id); + this.semicolon(); +} +function tsPrintSignatureDeclarationBase(node) { + const { + typeParameters + } = node; + const parameters = node.parameters; + this.print(typeParameters); + this.tokenChar(40); + _methods._parameters.call(this, parameters, 41); + const returnType = node.typeAnnotation; + this.print(returnType); +} +function _tsPrintClassMemberModifiers(node) { + const isPrivateField = node.type === "ClassPrivateProperty"; + const isPublicField = node.type === "ClassAccessorProperty" || node.type === "ClassProperty"; + printModifiersList(this, node, [isPublicField && node.declare && "declare", !isPrivateField && node.accessibility]); + if (node.static) { + this.word("static"); + this.space(); + } + printModifiersList(this, node, [!isPrivateField && node.abstract && "abstract", !isPrivateField && node.override && "override", (isPublicField || isPrivateField) && node.readonly && "readonly"]); +} +function printBraced(printer, node, cb) { + printer.token("{"); + const oldNoLineTerminatorAfterNode = printer.enterDelimited(); + cb(); + printer._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + printer.rightBrace(node); +} +function printModifiersList(printer, node, modifiers) { + var _printer$tokenMap2; + const modifiersSet = new Set(); + for (const modifier of modifiers) { + if (modifier) modifiersSet.add(modifier); + } + (_printer$tokenMap2 = printer.tokenMap) == null || _printer$tokenMap2.find(node, tok => { + if (modifiersSet.has(tok.value)) { + printer.token(tok.value); + printer.space(); + modifiersSet.delete(tok.value); + return modifiersSet.size === 0; + } + return false; + }); + for (const modifier of modifiersSet) { + printer.word(modifier); + printer.space(); + } +} + +//# sourceMappingURL=typescript.js.map diff --git a/client/node_modules/@babel/generator/lib/generators/typescript.js.map b/client/node_modules/@babel/generator/lib/generators/typescript.js.map new file mode 100644 index 0000000..5e9bd15 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/generators/typescript.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_methods","require","_classes","_templateLiterals","TSTypeAnnotation","node","parent","token","type","typeAnnotation","space","optional","print","TSTypeParameterInstantiation","printTrailingSeparator","params","length","tokenMap","start","end","find","t","matchesOriginal","shouldPrintTrailingComma","printList","TSTypeParameter","const","word","in","out","name","constraint","default","TSParameterProperty","accessibility","readonly","_param","call","parameter","TSDeclareFunction","declare","_functionHead","semicolon","TSDeclareMethod","_classMethodHead","TSQualifiedName","left","right","TSCallSignatureDeclaration","tsPrintSignatureDeclarationBase","maybePrintTrailingCommaOrSemicolon","printer","endMatches","TSConstructSignatureDeclaration","TSPropertySignature","tsPrintPropertyOrMethodName","computed","key","TSMethodSignature","kind","TSIndexSignature","static","isStatic","_parameters","parameters","TSAnyKeyword","TSBigIntKeyword","TSUnknownKeyword","TSNumberKeyword","TSObjectKeyword","TSBooleanKeyword","TSStringKeyword","TSSymbolKeyword","TSVoidKeyword","TSUndefinedKeyword","TSNullKeyword","TSNeverKeyword","TSIntrinsicKeyword","TSThisType","TSFunctionType","tsPrintFunctionOrConstructorType","TSConstructorType","abstract","typeParameters","returnType","TSTypeReference","typeArguments","typeName","TSTypePredicate","asserts","parameterName","TSTypeQuery","exprName","TSTypeLiteral","printBraced","printJoin","members","undefined","TSArrayType","elementType","TSTupleType","elementTypes","TSOptionalType","TSRestType","TSNamedTupleMember","label","TSUnionType","tsPrintUnionOrIntersectionType","TSIntersectionType","sep","_printer$tokenMap","hasLeadingToken","startMatches","types","i","TSConditionalType","checkType","extendsType","trueType","falseType","TSInferType","typeParameter","TSParenthesizedType","TSTypeOperator","operator","TSIndexedAccessType","objectType","indexType","TSMappedType","nameType","oldNoLineTerminatorAfterNode","enterDelimited","tokenIfPlusMinus","_noLineTerminatorAfterNode","self","tok","TSTemplateLiteralType","_printTemplate","TSLiteralType","literal","TSClassImplements","expression","TSInterfaceDeclaration","id","extends","extendz","body","TSInterfaceBody","TSTypeAliasDeclaration","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSInstantiationExpression","TSEnumDeclaration","isConst","TSEnumBody","_this$shouldPrintTrai","TSEnumMember","initializer","TSModuleDeclaration","global","TSModuleBlock","printSequence","TSImportType","qualifier","options","argument","TSImportEqualsDeclaration","moduleReference","isExport","TSExternalModuleReference","TSNonNullExpression","setLastChar","TSExportAssignment","TSNamespaceExportDeclaration","_tsPrintClassMemberModifiers","isPrivateField","isPublicField","printModifiersList","override","cb","rightBrace","modifiers","_printer$tokenMap2","modifiersSet","Set","modifier","add","has","value","delete","size"],"sources":["../../src/generators/typescript.ts"],"sourcesContent":["import type Printer from \"../printer.ts\";\nimport type * as t from \"@babel/types\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\nimport { _functionHead, _param, _parameters } from \"./methods.ts\";\nimport { _classMethodHead } from \"./classes.ts\";\nimport { _printTemplate } from \"./template-literals.ts\";\n\nexport function TSTypeAnnotation(\n this: Printer,\n node: t.TSTypeAnnotation,\n parent: t.Node,\n) {\n // TODO(@nicolo-ribaudo): investigate not including => in the range\n // of the return type of an arrow function type\n this.token(\n (parent.type === \"TSFunctionType\" || parent.type === \"TSConstructorType\") &&\n (process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n parent.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n parent.typeAnnotation) === node\n ? \"=>\"\n : \":\",\n );\n this.space();\n // @ts-expect-error todo(flow->ts) can this be removed? `.optional` looks to be not existing property\n if (node.optional) this.token(\"?\");\n this.print(node.typeAnnotation);\n}\n\nexport function TSTypeParameterInstantiation(\n this: Printer,\n node: t.TSTypeParameterInstantiation,\n parent: t.Node,\n): void {\n this.token(\"<\");\n\n let printTrailingSeparator: boolean | null =\n parent.type === \"ArrowFunctionExpression\" && node.params.length === 1;\n if (this.tokenMap && node.start != null && node.end != null) {\n // Only force the trailing comma for pre-existing nodes if they\n // already had a comma (either because they were multi-param, or\n // because they had a trailing comma)\n printTrailingSeparator &&= !!this.tokenMap.find(node, t =>\n this.tokenMap!.matchesOriginal(t, \",\"),\n );\n // Preserve the trailing comma if it was there before\n printTrailingSeparator ||= this.shouldPrintTrailingComma(\">\");\n }\n\n this.printList(node.params, printTrailingSeparator);\n this.token(\">\");\n}\n\nexport { TSTypeParameterInstantiation as TSTypeParameterDeclaration };\n\nexport function TSTypeParameter(this: Printer, node: t.TSTypeParameter) {\n if (node.const) {\n this.word(\"const\");\n this.space();\n }\n\n if (node.in) {\n this.word(\"in\");\n this.space();\n }\n\n if (node.out) {\n this.word(\"out\");\n this.space();\n }\n\n this.word(\n !process.env.BABEL_8_BREAKING\n ? (node.name as unknown as string)\n : (node.name as unknown as t.Identifier).name,\n );\n\n if (node.constraint) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.constraint);\n }\n\n if (node.default) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.default);\n }\n}\n\nexport function TSParameterProperty(\n this: Printer,\n node: t.TSParameterProperty,\n) {\n if (node.accessibility) {\n this.word(node.accessibility);\n this.space();\n }\n\n if (node.readonly) {\n this.word(\"readonly\");\n this.space();\n }\n\n _param.call(this, node.parameter);\n}\n\nexport function TSDeclareFunction(\n this: Printer,\n node: t.TSDeclareFunction,\n parent: t.ParentMaps[\"TSDeclareFunction\"],\n) {\n if (node.declare) {\n this.word(\"declare\");\n this.space();\n }\n _functionHead.call(this, node, parent, false);\n this.semicolon();\n}\n\nexport function TSDeclareMethod(this: Printer, node: t.TSDeclareMethod) {\n _classMethodHead.call(this, node);\n this.semicolon();\n}\n\nexport function TSQualifiedName(this: Printer, node: t.TSQualifiedName) {\n this.print(node.left);\n this.token(\".\");\n this.print(node.right);\n}\n\nexport function TSCallSignatureDeclaration(\n this: Printer,\n node: t.TSCallSignatureDeclaration,\n) {\n tsPrintSignatureDeclarationBase.call(this, node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nfunction maybePrintTrailingCommaOrSemicolon(printer: Printer, node: t.Node) {\n if (!printer.tokenMap || !node.start || !node.end) {\n printer.semicolon();\n return;\n }\n\n if (printer.tokenMap.endMatches(node, \",\")) {\n printer.token(\",\");\n } else if (printer.tokenMap.endMatches(node, \";\")) {\n printer.semicolon();\n }\n}\n\nexport function TSConstructSignatureDeclaration(\n this: Printer,\n node: t.TSConstructSignatureDeclaration,\n) {\n this.word(\"new\");\n this.space();\n tsPrintSignatureDeclarationBase.call(this, node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSPropertySignature(\n this: Printer,\n node: t.TSPropertySignature,\n) {\n const { readonly } = node;\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n tsPrintPropertyOrMethodName.call(this, node);\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nfunction tsPrintPropertyOrMethodName(\n this: Printer,\n node: t.TSPropertySignature | t.TSMethodSignature,\n) {\n if (node.computed) {\n this.token(\"[\");\n }\n this.print(node.key);\n if (node.computed) {\n this.token(\"]\");\n }\n if (node.optional) {\n this.token(\"?\");\n }\n}\n\nexport function TSMethodSignature(this: Printer, node: t.TSMethodSignature) {\n const { kind } = node;\n if (kind === \"set\" || kind === \"get\") {\n this.word(kind);\n this.space();\n }\n tsPrintPropertyOrMethodName.call(this, node);\n tsPrintSignatureDeclarationBase.call(this, node);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSIndexSignature(this: Printer, node: t.TSIndexSignature) {\n const { readonly, static: isStatic } = node;\n if (isStatic) {\n this.word(\"static\");\n this.space();\n }\n if (readonly) {\n this.word(\"readonly\");\n this.space();\n }\n this.token(\"[\");\n _parameters.call(this, node.parameters, charCodes.rightSquareBracket);\n this.print(node.typeAnnotation);\n maybePrintTrailingCommaOrSemicolon(this, node);\n}\n\nexport function TSAnyKeyword(this: Printer) {\n this.word(\"any\");\n}\nexport function TSBigIntKeyword(this: Printer) {\n this.word(\"bigint\");\n}\nexport function TSUnknownKeyword(this: Printer) {\n this.word(\"unknown\");\n}\nexport function TSNumberKeyword(this: Printer) {\n this.word(\"number\");\n}\nexport function TSObjectKeyword(this: Printer) {\n this.word(\"object\");\n}\nexport function TSBooleanKeyword(this: Printer) {\n this.word(\"boolean\");\n}\nexport function TSStringKeyword(this: Printer) {\n this.word(\"string\");\n}\nexport function TSSymbolKeyword(this: Printer) {\n this.word(\"symbol\");\n}\nexport function TSVoidKeyword(this: Printer) {\n this.word(\"void\");\n}\nexport function TSUndefinedKeyword(this: Printer) {\n this.word(\"undefined\");\n}\nexport function TSNullKeyword(this: Printer) {\n this.word(\"null\");\n}\nexport function TSNeverKeyword(this: Printer) {\n this.word(\"never\");\n}\nexport function TSIntrinsicKeyword(this: Printer) {\n this.word(\"intrinsic\");\n}\n\nexport function TSThisType(this: Printer) {\n this.word(\"this\");\n}\n\nexport function TSFunctionType(this: Printer, node: t.TSFunctionType) {\n tsPrintFunctionOrConstructorType.call(this, node);\n}\n\nexport function TSConstructorType(this: Printer, node: t.TSConstructorType) {\n if (node.abstract) {\n this.word(\"abstract\");\n this.space();\n }\n this.word(\"new\");\n this.space();\n tsPrintFunctionOrConstructorType.call(this, node);\n}\n\nfunction tsPrintFunctionOrConstructorType(\n this: Printer,\n node: t.TSFunctionType | t.TSConstructorType,\n) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.params\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.parameters;\n this.print(typeParameters);\n this.token(\"(\");\n _parameters.call(this, parameters, charCodes.rightParenthesis);\n this.space();\n const returnType = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.returnType\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeAnnotation;\n this.print(returnType);\n}\n\nexport function TSTypeReference(this: Printer, node: t.TSTypeReference) {\n const typeArguments = process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n node.typeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n node.typeParameters;\n this.print(node.typeName, !!typeArguments);\n this.print(typeArguments);\n}\n\nexport function TSTypePredicate(this: Printer, node: t.TSTypePredicate) {\n if (node.asserts) {\n this.word(\"asserts\");\n this.space();\n }\n this.print(node.parameterName);\n if (node.typeAnnotation) {\n this.space();\n this.word(\"is\");\n this.space();\n this.print(node.typeAnnotation.typeAnnotation);\n }\n}\n\nexport function TSTypeQuery(this: Printer, node: t.TSTypeQuery) {\n this.word(\"typeof\");\n this.space();\n this.print(node.exprName);\n\n const typeArguments = process.env.BABEL_8_BREAKING\n ? //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n node.typeArguments\n : //@ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.typeParameters;\n if (typeArguments) {\n this.print(typeArguments);\n }\n}\n\nexport function TSTypeLiteral(this: Printer, node: t.TSTypeLiteral) {\n printBraced(this, node, () =>\n this.printJoin(node.members, true, true, undefined, undefined, true),\n );\n}\n\nexport function TSArrayType(this: Printer, node: t.TSArrayType) {\n this.print(node.elementType, true);\n\n this.token(\"[\");\n this.token(\"]\");\n}\n\nexport function TSTupleType(this: Printer, node: t.TSTupleType) {\n this.token(\"[\");\n this.printList(node.elementTypes, this.shouldPrintTrailingComma(\"]\"));\n this.token(\"]\");\n}\n\nexport function TSOptionalType(this: Printer, node: t.TSOptionalType) {\n this.print(node.typeAnnotation);\n this.token(\"?\");\n}\n\nexport function TSRestType(this: Printer, node: t.TSRestType) {\n this.token(\"...\");\n this.print(node.typeAnnotation);\n}\n\nexport function TSNamedTupleMember(this: Printer, node: t.TSNamedTupleMember) {\n this.print(node.label);\n if (node.optional) this.token(\"?\");\n this.token(\":\");\n this.space();\n this.print(node.elementType);\n}\n\nexport function TSUnionType(this: Printer, node: t.TSUnionType) {\n tsPrintUnionOrIntersectionType(this, node, \"|\");\n}\n\nexport function TSIntersectionType(this: Printer, node: t.TSIntersectionType) {\n tsPrintUnionOrIntersectionType(this, node, \"&\");\n}\n\nfunction tsPrintUnionOrIntersectionType(\n printer: Printer,\n node: t.TSUnionType | t.TSIntersectionType,\n sep: \"|\" | \"&\",\n) {\n let hasLeadingToken = 0;\n if (printer.tokenMap?.startMatches(node, sep)) {\n hasLeadingToken = 1;\n printer.token(sep);\n }\n\n printer.printJoin(node.types, undefined, undefined, function (i) {\n this.space();\n this.token(sep, undefined, i + hasLeadingToken);\n this.space();\n });\n}\n\nexport function TSConditionalType(this: Printer, node: t.TSConditionalType) {\n this.print(node.checkType);\n this.space();\n this.word(\"extends\");\n this.space();\n this.print(node.extendsType);\n this.space();\n this.token(\"?\");\n this.space();\n this.print(node.trueType);\n this.space();\n this.token(\":\");\n this.space();\n this.print(node.falseType);\n}\n\nexport function TSInferType(this: Printer, node: t.TSInferType) {\n this.word(\"infer\");\n this.print(node.typeParameter);\n}\n\nexport function TSParenthesizedType(\n this: Printer,\n node: t.TSParenthesizedType,\n) {\n this.token(\"(\");\n this.print(node.typeAnnotation);\n this.token(\")\");\n}\n\nexport function TSTypeOperator(this: Printer, node: t.TSTypeOperator) {\n this.word(node.operator);\n this.space();\n this.print(node.typeAnnotation);\n}\n\nexport function TSIndexedAccessType(\n this: Printer,\n node: t.TSIndexedAccessType,\n) {\n this.print(node.objectType, true);\n this.token(\"[\");\n this.print(node.indexType);\n this.token(\"]\");\n}\n\nexport function TSMappedType(this: Printer, node: t.TSMappedType) {\n const { nameType, optional, readonly, typeAnnotation } = node;\n this.token(\"{\");\n const oldNoLineTerminatorAfterNode = this.enterDelimited();\n this.space();\n if (readonly) {\n tokenIfPlusMinus(this, readonly);\n this.word(\"readonly\");\n this.space();\n }\n\n this.token(\"[\");\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n this.word(node.key.name);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.word(node.typeParameter.name);\n }\n\n this.space();\n this.word(\"in\");\n this.space();\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST shape\n this.print(node.constraint, undefined, true);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.print(node.typeParameter.constraint, undefined, true);\n }\n\n if (nameType) {\n this.space();\n this.word(\"as\");\n this.space();\n this.print(nameType, undefined, true);\n }\n\n this.token(\"]\");\n\n if (optional) {\n tokenIfPlusMinus(this, optional);\n this.token(\"?\");\n }\n\n if (typeAnnotation) {\n this.token(\":\");\n this.space();\n this.print(typeAnnotation, undefined, true);\n }\n this.space();\n this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n this.token(\"}\");\n}\n\nfunction tokenIfPlusMinus(self: Printer, tok: true | \"+\" | \"-\") {\n if (tok !== true) {\n self.token(tok);\n }\n}\n\nexport function TSTemplateLiteralType(\n this: Printer,\n node: t.TSTemplateLiteralType,\n) {\n _printTemplate.call(this, node, node.types);\n}\n\nexport function TSLiteralType(this: Printer, node: t.TSLiteralType) {\n this.print(node.literal);\n}\n\nexport function TSClassImplements(\n this: Printer,\n // TODO(Babel 8): Just use t.TSClassImplements\n node: t.Node & {\n expression: t.TSEntityName;\n typeArguments?: t.TSTypeParameterInstantiation;\n },\n) {\n this.print(node.expression);\n this.print(node.typeArguments);\n}\n\nexport { TSClassImplements as TSInterfaceHeritage };\n\nexport function TSInterfaceDeclaration(\n this: Printer,\n node: t.TSInterfaceDeclaration,\n) {\n const { declare, id, typeParameters, extends: extendz, body } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"interface\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n if (extendz?.length) {\n this.space();\n this.word(\"extends\");\n this.space();\n this.printList(extendz);\n }\n this.space();\n this.print(body);\n}\n\nexport function TSInterfaceBody(this: Printer, node: t.TSInterfaceBody) {\n printBraced(this, node, () =>\n this.printJoin(node.body, true, true, undefined, undefined, true),\n );\n}\n\nexport function TSTypeAliasDeclaration(\n this: Printer,\n node: t.TSTypeAliasDeclaration,\n) {\n const { declare, id, typeParameters, typeAnnotation } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n this.word(\"type\");\n this.space();\n this.print(id);\n this.print(typeParameters);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(typeAnnotation);\n this.semicolon();\n}\n\nexport function TSAsExpression(this: Printer, node: t.TSAsExpression) {\n const { expression, typeAnnotation } = node;\n this.print(expression, true);\n this.space();\n this.word(\"as\");\n this.space();\n this.print(typeAnnotation);\n}\n\nexport function TSSatisfiesExpression(\n this: Printer,\n node: t.TSSatisfiesExpression,\n) {\n const { expression, typeAnnotation } = node;\n this.print(expression, true);\n this.space();\n this.word(\"satisfies\");\n this.space();\n this.print(typeAnnotation);\n}\n\nexport function TSTypeAssertion(this: Printer, node: t.TSTypeAssertion) {\n const { typeAnnotation, expression } = node;\n this.token(\"<\");\n this.print(typeAnnotation);\n this.token(\">\");\n this.space();\n this.print(expression);\n}\n\nexport function TSInstantiationExpression(\n this: Printer,\n node: t.TSInstantiationExpression,\n) {\n this.print(node.expression);\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.typeArguments);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n this.print(node.typeParameters);\n }\n}\n\nexport function TSEnumDeclaration(this: Printer, node: t.TSEnumDeclaration) {\n const { declare, const: isConst, id } = node;\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n if (isConst) {\n this.word(\"const\");\n this.space();\n }\n this.word(\"enum\");\n this.space();\n this.print(id);\n this.space();\n\n if (process.env.BABEL_8_BREAKING) {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n this.print(node.body);\n } else {\n // cast to TSEnumBody for Babel 7 AST\n TSEnumBody.call(this, node as unknown as t.TSEnumBody);\n }\n}\n\nexport function TSEnumBody(this: Printer, node: t.TSEnumBody) {\n printBraced(this, node, () =>\n this.printList(\n node.members,\n this.shouldPrintTrailingComma(\"}\") ??\n (process.env.BABEL_8_BREAKING ? false : true),\n true,\n true,\n undefined,\n true,\n ),\n );\n}\n\nexport function TSEnumMember(this: Printer, node: t.TSEnumMember) {\n const { id, initializer } = node;\n this.print(id);\n if (initializer) {\n this.space();\n this.token(\"=\");\n this.space();\n this.print(initializer);\n }\n}\n\nexport function TSModuleDeclaration(\n this: Printer,\n node: t.TSModuleDeclaration,\n) {\n const { declare, id, kind } = node;\n\n if (declare) {\n this.word(\"declare\");\n this.space();\n }\n\n if (process.env.BABEL_8_BREAKING) {\n if (kind !== \"global\") {\n this.word(kind);\n this.space();\n }\n\n this.print(node.id);\n if (!node.body) {\n this.semicolon();\n return;\n }\n this.space();\n this.print(node.body);\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n if (!node.global) {\n this.word(kind ?? (id.type === \"Identifier\" ? \"namespace\" : \"module\"));\n this.space();\n }\n\n this.print(id);\n\n if (!node.body) {\n this.semicolon();\n return;\n }\n\n let body = node.body;\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n while (body.type === \"TSModuleDeclaration\") {\n this.token(\".\");\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n this.print(body.id);\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST shape\n body = body.body;\n }\n\n this.space();\n this.print(body);\n }\n}\n\nexport function TSModuleBlock(this: Printer, node: t.TSModuleBlock) {\n printBraced(this, node, () => this.printSequence(node.body, true, true));\n}\n\nexport function TSImportType(this: Printer, node: t.TSImportType) {\n const { qualifier, options } = node;\n this.word(\"import\");\n this.token(\"(\");\n this.print(\n //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n process.env.BABEL_8_BREAKING ? node.source : node.argument,\n );\n if (options) {\n this.token(\",\");\n this.print(options);\n }\n this.token(\")\");\n if (qualifier) {\n this.token(\".\");\n this.print(qualifier);\n }\n const typeArguments = process.env.BABEL_8_BREAKING\n ? //@ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n node.typeArguments\n : //@ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.typeParameters;\n if (typeArguments) {\n this.print(typeArguments);\n }\n}\n\nexport function TSImportEqualsDeclaration(\n this: Printer,\n node: t.TSImportEqualsDeclaration,\n) {\n const { id, moduleReference } = node;\n if (\n !process.env.BABEL_8_BREAKING &&\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n node.isExport\n ) {\n this.word(\"export\");\n this.space();\n }\n this.word(\"import\");\n this.space();\n this.print(id);\n this.space();\n this.token(\"=\");\n this.space();\n this.print(moduleReference);\n this.semicolon();\n}\n\nexport function TSExternalModuleReference(\n this: Printer,\n node: t.TSExternalModuleReference,\n) {\n this.token(\"require(\");\n this.print(node.expression);\n this.token(\")\");\n}\n\nexport function TSNonNullExpression(\n this: Printer,\n node: t.TSNonNullExpression,\n) {\n this.print(node.expression);\n this.token(\"!\");\n this.setLastChar(charCodes.exclamationMark);\n}\n\nexport function TSExportAssignment(this: Printer, node: t.TSExportAssignment) {\n this.word(\"export\");\n this.space();\n this.token(\"=\");\n this.space();\n this.print(node.expression);\n this.semicolon();\n}\n\nexport function TSNamespaceExportDeclaration(\n this: Printer,\n node: t.TSNamespaceExportDeclaration,\n) {\n this.word(\"export\");\n this.space();\n this.word(\"as\");\n this.space();\n this.word(\"namespace\");\n this.space();\n this.print(node.id);\n this.semicolon();\n}\n\nfunction tsPrintSignatureDeclarationBase(this: Printer, node: any) {\n const { typeParameters } = node;\n const parameters = process.env.BABEL_8_BREAKING\n ? node.params\n : node.parameters;\n this.print(typeParameters);\n this.token(\"(\");\n _parameters.call(this, parameters, charCodes.rightParenthesis);\n const returnType = process.env.BABEL_8_BREAKING\n ? node.returnType\n : node.typeAnnotation;\n this.print(returnType);\n}\n\nexport function _tsPrintClassMemberModifiers(\n this: Printer,\n node:\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.ClassPrivateProperty\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.TSDeclareMethod,\n) {\n const isPrivateField = node.type === \"ClassPrivateProperty\";\n const isPublicField =\n node.type === \"ClassAccessorProperty\" || node.type === \"ClassProperty\";\n printModifiersList(this, node, [\n isPublicField && node.declare && \"declare\",\n !isPrivateField && node.accessibility,\n ]);\n if (node.static) {\n this.word(\"static\");\n this.space();\n }\n printModifiersList(this, node, [\n !isPrivateField && node.abstract && \"abstract\",\n !isPrivateField && node.override && \"override\",\n (isPublicField || isPrivateField) && node.readonly && \"readonly\",\n ]);\n}\n\nfunction printBraced(printer: Printer, node: t.Node, cb: () => void) {\n printer.token(\"{\");\n const oldNoLineTerminatorAfterNode = printer.enterDelimited();\n cb();\n printer._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode;\n printer.rightBrace(node);\n}\n\nfunction printModifiersList(\n printer: Printer,\n node: t.Node,\n modifiers: (string | false | null | undefined)[],\n) {\n const modifiersSet = new Set();\n for (const modifier of modifiers) {\n if (modifier) modifiersSet.add(modifier);\n }\n\n printer.tokenMap?.find(node, tok => {\n if (modifiersSet.has(tok.value)) {\n printer.token(tok.value);\n printer.space();\n modifiersSet.delete(tok.value);\n return modifiersSet.size === 0;\n }\n return false;\n });\n\n for (const modifier of modifiersSet) {\n printer.word(modifier);\n printer.space();\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/index.js b/client/node_modules/@babel/generator/lib/index.js new file mode 100644 index 0000000..e8b3bcc --- /dev/null +++ b/client/node_modules/@babel/generator/lib/index.js @@ -0,0 +1,108 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +exports.generate = generate; +var _sourceMap = require("./source-map.js"); +var _printer = require("./printer.js"); +function normalizeOptions(code, opts, ast) { + var _opts$recordAndTupleS; + if (opts.experimental_preserveFormat) { + if (typeof code !== "string") { + throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string"); + } + if (!opts.retainLines) { + throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`"); + } + if (opts.compact && opts.compact !== "auto") { + throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option"); + } + if (opts.minified) { + throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option"); + } + if (opts.jsescOption) { + throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option"); + } + if (!Array.isArray(ast.tokens)) { + throw new Error("`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option."); + } + } + const format = { + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + shouldPrintComment: opts.shouldPrintComment, + preserveFormat: opts.experimental_preserveFormat, + retainLines: opts.retainLines, + retainFunctionParens: opts.retainFunctionParens, + comments: opts.comments == null || opts.comments, + compact: opts.compact, + minified: opts.minified, + concise: opts.concise, + indent: { + adjustMultilineComment: true, + style: " " + }, + jsescOption: Object.assign({ + quotes: "double", + wrap: true, + minimal: false + }, opts.jsescOption), + topicToken: opts.topicToken + }; + format.decoratorsBeforeExport = opts.decoratorsBeforeExport; + format.jsescOption.json = opts.jsonCompatibleStrings; + format.recordAndTupleSyntaxType = (_opts$recordAndTupleS = opts.recordAndTupleSyntaxType) != null ? _opts$recordAndTupleS : "hash"; + format.importAttributesKeyword = opts.importAttributesKeyword; + if (format.minified) { + format.compact = true; + format.shouldPrintComment = format.shouldPrintComment || (() => format.comments); + } else { + format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.includes("@license") || value.includes("@preserve")); + } + if (format.compact === "auto") { + format.compact = typeof code === "string" && code.length > 500000; + if (format.compact) { + console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`); + } + } + if (format.compact || format.preserveFormat) { + format.indent.adjustMultilineComment = false; + } + const { + auxiliaryCommentBefore, + auxiliaryCommentAfter, + shouldPrintComment + } = format; + if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) { + format.auxiliaryCommentBefore = undefined; + } + if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) { + format.auxiliaryCommentAfter = undefined; + } + return format; +} +exports.CodeGenerator = class CodeGenerator { + constructor(ast, opts = {}, code) { + this._ast = void 0; + this._format = void 0; + this._map = void 0; + this._ast = ast; + this._format = normalizeOptions(code, opts, ast); + this._map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; + } + generate() { + const printer = new _printer.default(this._format, this._map); + return printer.generate(this._ast); + } +}; +function generate(ast, opts = {}, code) { + const format = normalizeOptions(code, opts, ast); + const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; + const printer = new _printer.default(format, map, ast.tokens, typeof code === "string" ? code : null); + return printer.generate(ast); +} +var _default = exports.default = generate; + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/generator/lib/index.js.map b/client/node_modules/@babel/generator/lib/index.js.map new file mode 100644 index 0000000..e6a7901 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_sourceMap","require","_printer","normalizeOptions","code","opts","ast","_opts$recordAndTupleS","experimental_preserveFormat","Error","retainLines","compact","minified","jsescOption","Array","isArray","tokens","format","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","preserveFormat","retainFunctionParens","comments","concise","indent","adjustMultilineComment","style","Object","assign","quotes","wrap","minimal","topicToken","decoratorsBeforeExport","json","jsonCompatibleStrings","recordAndTupleSyntaxType","importAttributesKeyword","value","includes","length","console","error","filename","undefined","exports","CodeGenerator","constructor","_ast","_format","_map","sourceMaps","SourceMap","generate","printer","Printer","map","_default","default"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map.ts\";\nimport Printer from \"./printer.ts\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer.ts\";\nimport type {\n EncodedSourceMap,\n DecodedSourceMap,\n Mapping,\n} from \"@jridgewell/gen-mapping\";\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | Record | undefined,\n opts: GeneratorOptions,\n ast: t.Node,\n): Format {\n if (opts.experimental_preserveFormat) {\n if (typeof code !== \"string\") {\n throw new Error(\n \"`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string\",\n );\n }\n if (!opts.retainLines) {\n throw new Error(\n \"`experimental_preserveFormat` requires `retainLines` to be set to `true`\",\n );\n }\n if (opts.compact && opts.compact !== \"auto\") {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `compact` option\",\n );\n }\n if (opts.minified) {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `minified` option\",\n );\n }\n if (opts.jsescOption) {\n throw new Error(\n \"`experimental_preserveFormat` is not compatible with the `jsescOption` option\",\n );\n }\n if (!Array.isArray((ast as any).tokens)) {\n throw new Error(\n \"`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option.\",\n );\n }\n }\n\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n // @ts-expect-error define it later\n shouldPrintComment: opts.shouldPrintComment,\n preserveFormat: opts.experimental_preserveFormat,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n topicToken: opts.topicToken,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = opts.decoratorsBeforeExport;\n format.jsescOption.json = opts.jsonCompatibleStrings;\n format.recordAndTupleSyntaxType = opts.recordAndTupleSyntaxType ?? \"hash\";\n format.importAttributesKeyword = opts.importAttributesKeyword;\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = typeof code === \"string\" && code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact || format.preserveFormat) {\n format.indent.adjustMultilineComment = false;\n }\n\n const { auxiliaryCommentBefore, auxiliaryCommentAfter, shouldPrintComment } =\n format;\n\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minified` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Preserve the input code format while printing the transformed code.\n * This is experimental, and may have breaking changes in future\n * patch releases. It will be removed in a future minor release,\n * when it will graduate to stable.\n */\n experimental_preserveFormat?: boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n inputSourceMap?: any;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before\n * module exports. If not specified, decorators will be printed in the same\n * position as they were in the input source code.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n * @deprecated It will be removed in Babel 8.\n */\n recordAndTupleSyntaxType?: \"bar\" | \"hash\";\n\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: \"%\" | \"#\" | \"@@\" | \"^^\" | \"^\";\n\n /**\n * The import attributes syntax style:\n * - \"with\" : `import { a } from \"b\" with { type: \"json\" };`\n * - \"assert\" : `import { a } from \"b\" assert { type: \"json\" };`\n * - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n * @deprecated Removed in Babel 8.\n */\n importAttributesKeyword?: \"with\" | \"assert\" | \"with-legacy\";\n}\n\nexport interface GeneratorResult {\n code: string;\n map: EncodedSourceMap | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n /**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\n // eslint-disable-next-line no-restricted-globals\n exports.CodeGenerator = class CodeGenerator {\n private _ast: t.Node;\n private _format: Format;\n private _map: SourceMap | null;\n constructor(ast: t.Node, opts: GeneratorOptions = {}, code?: string) {\n this._ast = ast;\n this._format = normalizeOptions(code, opts, ast);\n this._map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n }\n generate(): GeneratorResult {\n const printer = new Printer(this._format, this._map);\n\n return printer.generate(this._ast);\n }\n };\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport function generate(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code?: string | Record,\n): GeneratorResult {\n const format = normalizeOptions(code, opts, ast);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n\n const printer = new Printer(\n format,\n map,\n (ast as any).tokens,\n typeof code === \"string\" ? code : null,\n );\n\n return printer.generate(ast);\n}\n\nexport default generate;\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/node/index.js b/client/node_modules/@babel/generator/lib/node/index.js new file mode 100644 index 0000000..58cb15c --- /dev/null +++ b/client/node_modules/@babel/generator/lib/node/index.js @@ -0,0 +1,81 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TokenContext = void 0; +exports.isLastChild = isLastChild; +exports.parentNeedsParens = parentNeedsParens; +var parens = require("./parentheses.js"); +var _t = require("@babel/types"); +var _nodes = require("../nodes.js"); +const { + VISITOR_KEYS +} = _t; +const TokenContext = exports.TokenContext = { + normal: 0, + expressionStatement: 1, + arrowBody: 2, + exportDefault: 4, + arrowFlowReturnType: 8, + forInitHead: 16, + forInHead: 32, + forOfHead: 64, + forInOrInitHeadAccumulate: 128, + forInOrInitHeadAccumulatePassThroughMask: 128 +}; +for (const type of Object.keys(parens)) { + const func = parens[type]; + if (_nodes.generatorInfosMap.has(type)) { + _nodes.generatorInfosMap.get(type)[2] = func; + } +} +function isOrHasCallExpression(node) { + switch (node.type) { + case "CallExpression": + return true; + case "MemberExpression": + return isOrHasCallExpression(node.object); + } + return false; +} +function parentNeedsParens(node, parent, parentId) { + switch (parentId) { + case 112: + if (parent.callee === node) { + if (isOrHasCallExpression(node)) return true; + } + break; + case 42: + return !isDecoratorMemberExpression(node) && !(node.type === "CallExpression" && isDecoratorMemberExpression(node.callee)) && node.type !== "ParenthesizedExpression"; + } + return false; +} +function isDecoratorMemberExpression(node) { + switch (node.type) { + case "Identifier": + return true; + case "MemberExpression": + return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object); + default: + return false; + } +} +function isLastChild(parent, child) { + const visitorKeys = VISITOR_KEYS[parent.type]; + for (let i = visitorKeys.length - 1; i >= 0; i--) { + const val = parent[visitorKeys[i]]; + if (val === child) { + return true; + } else if (Array.isArray(val)) { + let j = val.length - 1; + while (j >= 0 && val[j] === null) j--; + return j >= 0 && val[j] === child; + } else if (val) { + return false; + } + } + return false; +} + +//# sourceMappingURL=index.js.map diff --git a/client/node_modules/@babel/generator/lib/node/index.js.map b/client/node_modules/@babel/generator/lib/node/index.js.map new file mode 100644 index 0000000..bae168f --- /dev/null +++ b/client/node_modules/@babel/generator/lib/node/index.js.map @@ -0,0 +1 @@ +{"version":3,"names":["parens","require","_t","_nodes","VISITOR_KEYS","TokenContext","exports","normal","expressionStatement","arrowBody","exportDefault","arrowFlowReturnType","forInitHead","forInHead","forOfHead","forInOrInitHeadAccumulate","forInOrInitHeadAccumulatePassThroughMask","type","Object","keys","func","generatorInfosMap","has","get","isOrHasCallExpression","node","object","parentNeedsParens","parent","parentId","callee","isDecoratorMemberExpression","computed","property","isLastChild","child","visitorKeys","i","length","val","Array","isArray","j"],"sources":["../../src/node/index.ts"],"sourcesContent":["import * as parens from \"./parentheses.ts\";\nimport { VISITOR_KEYS } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nimport { generatorInfosMap } from \"../nodes.ts\";\n\nexport const enum TokenContext {\n normal = 0,\n expressionStatement = 1 << 0,\n arrowBody = 1 << 1,\n exportDefault = 1 << 2,\n arrowFlowReturnType = 1 << 3,\n forInitHead = 1 << 4,\n forInHead = 1 << 5,\n forOfHead = 1 << 6,\n // This flag lives across the token boundary, and will\n // be reset after forIn or forInit head is printed\n forInOrInitHeadAccumulate = 1 << 7,\n forInOrInitHeadAccumulatePassThroughMask = 0b10000000,\n}\n\nexport type NodeHandler = (\n node: t.Node,\n // todo:\n // node: K extends keyof typeof t\n // ? Extract\n // : t.Node,\n parent: t.Node,\n parentId: number,\n tokenContext?: number,\n getRawIdentifier?: (node: t.Identifier) => string,\n) => R | undefined;\n\nfor (const type of Object.keys(parens) as (keyof typeof parens)[]) {\n const func = parens[type];\n if (generatorInfosMap.has(type)) {\n generatorInfosMap.get(type)![2] = func;\n }\n}\n\nfunction isOrHasCallExpression(node: t.Node): boolean {\n switch (node.type) {\n case \"CallExpression\":\n return true;\n case \"MemberExpression\":\n return isOrHasCallExpression(node.object);\n }\n return false;\n}\n\nexport function parentNeedsParens(\n node: t.Node,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"NewExpression\"):\n if (parent.callee === node) {\n if (isOrHasCallExpression(node)) return true;\n }\n break;\n case __node(\"Decorator\"):\n return (\n !isDecoratorMemberExpression(node) &&\n !(\n node.type === \"CallExpression\" &&\n isDecoratorMemberExpression(node.callee)\n ) &&\n node.type !== \"ParenthesizedExpression\"\n );\n }\n return false;\n}\n\nfunction isDecoratorMemberExpression(node: t.Node): boolean {\n switch (node.type) {\n case \"Identifier\":\n return true;\n case \"MemberExpression\":\n return (\n !node.computed &&\n node.property.type === \"Identifier\" &&\n isDecoratorMemberExpression(node.object)\n );\n default:\n return false;\n }\n}\n\nexport function isLastChild(parent: t.Node, child: t.Node) {\n const visitorKeys = VISITOR_KEYS[parent.type];\n for (let i = visitorKeys.length - 1; i >= 0; i--) {\n const val = (parent as any)[visitorKeys[i]] as t.Node | t.Node[] | null;\n if (val === child) {\n return true;\n } else if (Array.isArray(val)) {\n let j = val.length - 1;\n while (j >= 0 && val[j] === null) j--;\n return j >= 0 && val[j] === child;\n } else if (val) {\n return false;\n }\n }\n return false;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,EAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAAgD;EAHvCG;AAAY,IAAAF,EAAA;AAAA,MAKHG,YAAY,GAAAC,OAAA,CAAAD,YAAA;EAAAE,MAAA;EAAAC,mBAAA;EAAAC,SAAA;EAAAC,aAAA;EAAAC,mBAAA;EAAAC,WAAA;EAAAC,SAAA;EAAAC,SAAA;EAAAC,yBAAA;EAAAC,wCAAA;AAAA;AA2B9B,KAAK,MAAMC,IAAI,IAAIC,MAAM,CAACC,IAAI,CAACnB,MAAM,CAAC,EAA6B;EACjE,MAAMoB,IAAI,GAAGpB,MAAM,CAACiB,IAAI,CAAC;EACzB,IAAII,wBAAiB,CAACC,GAAG,CAACL,IAAI,CAAC,EAAE;IAC/BI,wBAAiB,CAACE,GAAG,CAACN,IAAI,CAAC,CAAE,CAAC,CAAC,GAAGG,IAAI;EACxC;AACF;AAEA,SAASI,qBAAqBA,CAACC,IAAY,EAAW;EACpD,QAAQA,IAAI,CAACR,IAAI;IACf,KAAK,gBAAgB;MACnB,OAAO,IAAI;IACb,KAAK,kBAAkB;MACrB,OAAOO,qBAAqB,CAACC,IAAI,CAACC,MAAM,CAAC;EAC7C;EACA,OAAO,KAAK;AACd;AAEO,SAASC,iBAAiBA,CAC/BF,IAAY,EACZG,MAAW,EACXC,QAAgB,EACP;EACT,QAAQA,QAAQ;IACd;MACE,IAAID,MAAM,CAACE,MAAM,KAAKL,IAAI,EAAE;QAC1B,IAAID,qBAAqB,CAACC,IAAI,CAAC,EAAE,OAAO,IAAI;MAC9C;MACA;IACF;MACE,OACE,CAACM,2BAA2B,CAACN,IAAI,CAAC,IAClC,EACEA,IAAI,CAACR,IAAI,KAAK,gBAAgB,IAC9Bc,2BAA2B,CAACN,IAAI,CAACK,MAAM,CAAC,CACzC,IACDL,IAAI,CAACR,IAAI,KAAK,yBAAyB;EAE7C;EACA,OAAO,KAAK;AACd;AAEA,SAASc,2BAA2BA,CAACN,IAAY,EAAW;EAC1D,QAAQA,IAAI,CAACR,IAAI;IACf,KAAK,YAAY;MACf,OAAO,IAAI;IACb,KAAK,kBAAkB;MACrB,OACE,CAACQ,IAAI,CAACO,QAAQ,IACdP,IAAI,CAACQ,QAAQ,CAAChB,IAAI,KAAK,YAAY,IACnCc,2BAA2B,CAACN,IAAI,CAACC,MAAM,CAAC;IAE5C;MACE,OAAO,KAAK;EAChB;AACF;AAEO,SAASQ,WAAWA,CAACN,MAAc,EAAEO,KAAa,EAAE;EACzD,MAAMC,WAAW,GAAGhC,YAAY,CAACwB,MAAM,CAACX,IAAI,CAAC;EAC7C,KAAK,IAAIoB,CAAC,GAAGD,WAAW,CAACE,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAChD,MAAME,GAAG,GAAIX,MAAM,CAASQ,WAAW,CAACC,CAAC,CAAC,CAA6B;IACvE,IAAIE,GAAG,KAAKJ,KAAK,EAAE;MACjB,OAAO,IAAI;IACb,CAAC,MAAM,IAAIK,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,EAAE;MAC7B,IAAIG,CAAC,GAAGH,GAAG,CAACD,MAAM,GAAG,CAAC;MACtB,OAAOI,CAAC,IAAI,CAAC,IAAIH,GAAG,CAACG,CAAC,CAAC,KAAK,IAAI,EAAEA,CAAC,EAAE;MACrC,OAAOA,CAAC,IAAI,CAAC,IAAIH,GAAG,CAACG,CAAC,CAAC,KAAKP,KAAK;IACnC,CAAC,MAAM,IAAII,GAAG,EAAE;MACd,OAAO,KAAK;IACd;EACF;EACA,OAAO,KAAK;AACd","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/node/parentheses.js b/client/node_modules/@babel/generator/lib/node/parentheses.js new file mode 100644 index 0000000..b7e1f4f --- /dev/null +++ b/client/node_modules/@babel/generator/lib/node/parentheses.js @@ -0,0 +1,298 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.AssignmentExpression = AssignmentExpression; +exports.BinaryExpression = BinaryExpression; +exports.ClassExpression = ClassExpression; +exports.ArrowFunctionExpression = exports.ConditionalExpression = ConditionalExpression; +exports.DoExpression = DoExpression; +exports.FunctionExpression = FunctionExpression; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.Identifier = Identifier; +exports.LogicalExpression = LogicalExpression; +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.ObjectExpression = ObjectExpression; +exports.OptionalIndexedAccessType = OptionalIndexedAccessType; +exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; +exports.SequenceExpression = SequenceExpression; +exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; +exports.TSConditionalType = TSConditionalType; +exports.TSConstructorType = exports.TSFunctionType = TSFunctionType; +exports.TSInferType = TSInferType; +exports.TSInstantiationExpression = TSInstantiationExpression; +exports.TSIntersectionType = TSIntersectionType; +exports.SpreadElement = exports.UnaryExpression = exports.TSTypeAssertion = UnaryLike; +exports.TSTypeOperator = TSTypeOperator; +exports.TSUnionType = TSUnionType; +exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.UpdateExpression = UpdateExpression; +exports.AwaitExpression = exports.YieldExpression = YieldExpression; +var _t = require("@babel/types"); +var _index = require("./index.js"); +const { + isMemberExpression, + isOptionalMemberExpression, + isYieldExpression, + isStatement +} = _t; +const PRECEDENCE = new Map([["||", 0], ["??", 1], ["&&", 2], ["|", 3], ["^", 4], ["&", 5], ["==", 6], ["===", 6], ["!=", 6], ["!==", 6], ["<", 7], [">", 7], ["<=", 7], [">=", 7], ["in", 7], ["instanceof", 7], [">>", 8], ["<<", 8], [">>>", 8], ["+", 9], ["-", 9], ["*", 10], ["/", 10], ["%", 10], ["**", 11]]); +function isTSTypeExpression(nodeId) { + return nodeId === 156 || nodeId === 201 || nodeId === 209; +} +const isClassExtendsClause = (node, parent, parentId) => { + return (parentId === 21 || parentId === 22) && parent.superClass === node; +}; +const hasPostfixPart = (node, parent, parentId) => { + switch (parentId) { + case 108: + case 132: + return parent.object === node; + case 17: + case 130: + case 112: + return parent.callee === node; + case 222: + return parent.tag === node; + case 191: + return true; + } + return false; +}; +function NullableTypeAnnotation(node, parent, parentId) { + return parentId === 4; +} +function FunctionTypeAnnotation(node, parent, parentId, tokenContext) { + return (parentId === 239 || parentId === 90 || parentId === 4 || (tokenContext & _index.TokenContext.arrowFlowReturnType) > 0 + ); +} +function UpdateExpression(node, parent, parentId) { + return hasPostfixPart(node, parent, parentId) || isClassExtendsClause(node, parent, parentId); +} +function needsParenBeforeExpressionBrace(tokenContext) { + return (tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.arrowBody)) > 0; +} +function ObjectExpression(node, parent, parentId, tokenContext) { + return needsParenBeforeExpressionBrace(tokenContext); +} +function DoExpression(node, parent, parentId, tokenContext) { + return (tokenContext & _index.TokenContext.expressionStatement) > 0 && !node.async; +} +function BinaryLike(node, parent, parentId, nodeType) { + if (isClassExtendsClause(node, parent, parentId)) { + return true; + } + if (hasPostfixPart(node, parent, parentId) || parentId === 238 || parentId === 145 || parentId === 8) { + return true; + } + let parentPos; + switch (parentId) { + case 10: + case 107: + parentPos = PRECEDENCE.get(parent.operator); + break; + case 156: + case 201: + parentPos = 7; + } + if (parentPos !== undefined) { + const nodePos = nodeType === 2 ? 7 : PRECEDENCE.get(node.operator); + if (parentPos > nodePos) return true; + if (parentPos === nodePos && parentId === 10 && (nodePos === 11 ? parent.left === node : parent.right === node)) { + return true; + } + if (nodeType === 1 && parentId === 107 && (nodePos === 1 && parentPos !== 1 || parentPos === 1 && nodePos !== 1)) { + return true; + } + } + return false; +} +function UnionTypeAnnotation(node, parent, parentId) { + switch (parentId) { + case 4: + case 115: + case 90: + case 239: + return true; + } + return false; +} +function OptionalIndexedAccessType(node, parent, parentId) { + return parentId === 84 && parent.objectType === node; +} +function TSAsExpression(node, parent, parentId) { + if ((parentId === 6 || parentId === 7) && parent.left === node) { + return true; + } + if (parentId === 10 && (parent.operator === "|" || parent.operator === "&") && node === parent.left) { + return true; + } + return BinaryLike(node, parent, parentId, 2); +} +function TSConditionalType(node, parent, parentId) { + switch (parentId) { + case 155: + case 195: + case 211: + case 212: + return true; + case 175: + return parent.objectType === node; + case 181: + case 219: + return parent.types[0] === node; + case 161: + return parent.checkType === node || parent.extendsType === node; + } + return false; +} +function TSUnionType(node, parent, parentId) { + switch (parentId) { + case 181: + case 211: + case 155: + case 195: + return true; + case 175: + return parent.objectType === node; + } + return false; +} +function TSIntersectionType(node, parent, parentId) { + return parentId === 211 || TSTypeOperator(node, parent, parentId); +} +function TSInferType(node, parent, parentId) { + if (TSTypeOperator(node, parent, parentId)) { + return true; + } + if ((parentId === 181 || parentId === 219) && node.typeParameter.constraint && parent.types[0] === node) { + return true; + } + return false; +} +function TSTypeOperator(node, parent, parentId) { + switch (parentId) { + case 155: + case 195: + return true; + case 175: + if (parent.objectType === node) { + return true; + } + } + return false; +} +function TSInstantiationExpression(node, parent, parentId) { + switch (parentId) { + case 17: + case 130: + case 112: + case 177: + return (parent.typeParameters + ) != null; + } + return false; +} +function TSFunctionType(node, parent, parentId) { + if (TSUnionType(node, parent, parentId)) return true; + return parentId === 219 || parentId === 161 && (parent.checkType === node || parent.extendsType === node); +} +function BinaryExpression(node, parent, parentId, tokenContext) { + if (BinaryLike(node, parent, parentId, 0)) return true; + return (tokenContext & _index.TokenContext.forInOrInitHeadAccumulate) > 0 && node.operator === "in"; +} +function LogicalExpression(node, parent, parentId) { + return BinaryLike(node, parent, parentId, 1); +} +function SequenceExpression(node, parent, parentId) { + if (parentId === 144 || parentId === 133 || parentId === 108 && parent.property === node || parentId === 132 && parent.property === node || parentId === 224) { + return false; + } + if (parentId === 21) { + return true; + } + if (parentId === 68) { + return parent.right === node; + } + if (parentId === 60) { + return true; + } + return !isStatement(parent); +} +function YieldExpression(node, parent, parentId) { + return parentId === 10 || parentId === 107 || parentId === 238 || parentId === 145 || hasPostfixPart(node, parent, parentId) || parentId === 8 && isYieldExpression(node) || parentId === 28 && node === parent.test || isClassExtendsClause(node, parent, parentId) || isTSTypeExpression(parentId); +} +function ClassExpression(node, parent, parentId, tokenContext) { + return (tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault)) > 0; +} +function UnaryLike(node, parent, parentId) { + return hasPostfixPart(node, parent, parentId) || parentId === 10 && parent.operator === "**" && parent.left === node || isClassExtendsClause(node, parent, parentId); +} +function FunctionExpression(node, parent, parentId, tokenContext) { + return (tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.exportDefault)) > 0; +} +function ConditionalExpression(node, parent, parentId) { + switch (parentId) { + case 238: + case 145: + case 10: + case 107: + case 8: + return true; + case 28: + if (parent.test === node) { + return true; + } + } + if (isTSTypeExpression(parentId)) { + return true; + } + return UnaryLike(node, parent, parentId); +} +function OptionalMemberExpression(node, parent, parentId) { + switch (parentId) { + case 17: + return parent.callee === node; + case 108: + return parent.object === node; + } + return false; +} +function AssignmentExpression(node, parent, parentId, tokenContext) { + if (needsParenBeforeExpressionBrace(tokenContext) && node.left.type === "ObjectPattern") { + return true; + } + return ConditionalExpression(node, parent, parentId); +} +function Identifier(node, parent, parentId, tokenContext, getRawIdentifier) { + var _node$extra; + if (getRawIdentifier && getRawIdentifier(node) !== node.name) { + return false; + } + if (parentId === 6 && (_node$extra = node.extra) != null && _node$extra.parenthesized && parent.left === node) { + const rightType = parent.right.type; + if ((rightType === "FunctionExpression" || rightType === "ClassExpression") && parent.right.id == null) { + return true; + } + } + if (tokenContext & _index.TokenContext.forOfHead || (parentId === 108 || parentId === 132) && tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.forInitHead | _index.TokenContext.forInHead)) { + if (node.name === "let") { + const isFollowedByBracket = isMemberExpression(parent, { + object: node, + computed: true + }) || isOptionalMemberExpression(parent, { + object: node, + computed: true, + optional: false + }); + if (isFollowedByBracket && tokenContext & (_index.TokenContext.expressionStatement | _index.TokenContext.forInitHead | _index.TokenContext.forInHead)) { + return true; + } + return (tokenContext & _index.TokenContext.forOfHead) > 0; + } + } + return parentId === 68 && parent.left === node && node.name === "async" && !parent.await; +} + +//# sourceMappingURL=parentheses.js.map diff --git a/client/node_modules/@babel/generator/lib/node/parentheses.js.map b/client/node_modules/@babel/generator/lib/node/parentheses.js.map new file mode 100644 index 0000000..0120e9c --- /dev/null +++ b/client/node_modules/@babel/generator/lib/node/parentheses.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_t","require","_index","isMemberExpression","isOptionalMemberExpression","isYieldExpression","isStatement","PRECEDENCE","Map","isTSTypeExpression","nodeId","isClassExtendsClause","node","parent","parentId","superClass","hasPostfixPart","object","callee","tag","NullableTypeAnnotation","FunctionTypeAnnotation","tokenContext","TokenContext","arrowFlowReturnType","UpdateExpression","needsParenBeforeExpressionBrace","expressionStatement","arrowBody","ObjectExpression","DoExpression","async","BinaryLike","nodeType","parentPos","get","operator","undefined","nodePos","left","right","UnionTypeAnnotation","OptionalIndexedAccessType","objectType","TSAsExpression","TSConditionalType","types","checkType","extendsType","TSUnionType","TSIntersectionType","TSTypeOperator","TSInferType","typeParameter","constraint","TSInstantiationExpression","typeParameters","TSFunctionType","BinaryExpression","forInOrInitHeadAccumulate","LogicalExpression","SequenceExpression","property","YieldExpression","test","ClassExpression","exportDefault","UnaryLike","FunctionExpression","ConditionalExpression","OptionalMemberExpression","AssignmentExpression","type","Identifier","getRawIdentifier","_node$extra","name","extra","parenthesized","rightType","id","forOfHead","forInitHead","forInHead","isFollowedByBracket","computed","optional","await"],"sources":["../../src/node/parentheses.ts"],"sourcesContent":["import {\n isMemberExpression,\n isOptionalMemberExpression,\n isYieldExpression,\n isStatement,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nimport { TokenContext } from \"./index.ts\";\n\nconst PRECEDENCE = new Map([\n [\"||\", 0],\n [\"??\", 1],\n [\"&&\", 2],\n [\"|\", 3],\n [\"^\", 4],\n [\"&\", 5],\n [\"==\", 6],\n [\"===\", 6],\n [\"!=\", 6],\n [\"!==\", 6],\n [\"<\", 7],\n [\">\", 7],\n [\"<=\", 7],\n [\">=\", 7],\n [\"in\", 7],\n [\"instanceof\", 7],\n [\">>\", 8],\n [\"<<\", 8],\n [\">>>\", 8],\n [\"+\", 9],\n [\"-\", 9],\n [\"*\", 10],\n [\"/\", 10],\n [\"%\", 10],\n [\"**\", 11],\n]);\n\nfunction isTSTypeExpression(nodeId: number) {\n return (\n nodeId === __node(\"TSAsExpression\") ||\n nodeId === __node(\"TSSatisfiesExpression\") ||\n nodeId === __node(\"TSTypeAssertion\")\n );\n}\n\nconst isClassExtendsClause = (\n node: t.Node,\n parent: any,\n parentId: number,\n): parent is t.Class => {\n return (\n (parentId === __node(\"ClassDeclaration\") ||\n parentId === __node(\"ClassExpression\")) &&\n parent.superClass === node\n );\n};\n\nconst hasPostfixPart = (node: t.Node, parent: any, parentId: number) => {\n switch (parentId) {\n case __node(\"MemberExpression\"):\n case __node(\"OptionalMemberExpression\"):\n return parent.object === node;\n case __node(\"CallExpression\"):\n case __node(\"OptionalCallExpression\"):\n case __node(\"NewExpression\"):\n return parent.callee === node;\n case __node(\"TaggedTemplateExpression\"):\n return parent.tag === node;\n case __node(\"TSNonNullExpression\"):\n return true;\n }\n\n return false;\n};\n\nexport function NullableTypeAnnotation(\n node: t.NullableTypeAnnotation,\n parent: any,\n parentId: number,\n): boolean {\n return parentId === __node(\"ArrayTypeAnnotation\");\n}\n\nexport function FunctionTypeAnnotation(\n node: t.FunctionTypeAnnotation,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n return (\n // (() => A) | (() => B)\n parentId === __node(\"UnionTypeAnnotation\") ||\n // (() => A) & (() => B)\n parentId === __node(\"IntersectionTypeAnnotation\") ||\n // (() => A)[]\n parentId === __node(\"ArrayTypeAnnotation\") ||\n (tokenContext & TokenContext.arrowFlowReturnType) > 0\n );\n}\n\nexport function UpdateExpression(\n node: t.UpdateExpression,\n parent: any,\n parentId: number,\n): boolean {\n return (\n hasPostfixPart(node, parent, parentId) ||\n isClassExtendsClause(node, parent, parentId)\n );\n}\n\nfunction needsParenBeforeExpressionBrace(tokenContext: number) {\n return (\n (tokenContext &\n (TokenContext.expressionStatement | TokenContext.arrowBody)) >\n 0\n );\n}\n\nexport function ObjectExpression(\n node: t.ObjectExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n return needsParenBeforeExpressionBrace(tokenContext);\n}\n\nexport function DoExpression(\n node: t.DoExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n // `async do` can start an expression statement\n return (tokenContext & TokenContext.expressionStatement) > 0 && !node.async;\n}\n\nconst enum BinaryLikeType {\n Binary = 0,\n Logical = 1,\n TypeScript = 2,\n}\n\nfunction BinaryLike(\n node: t.Binary | t.TSAsExpression | t.TSSatisfiesExpression,\n parent: any,\n parentId: number,\n nodeType: BinaryLikeType,\n): boolean {\n if (isClassExtendsClause(node, parent, parentId)) {\n return true;\n }\n\n if (\n hasPostfixPart(node, parent, parentId) ||\n parentId === __node(\"UnaryExpression\") ||\n parentId === __node(\"SpreadElement\") ||\n parentId === __node(\"AwaitExpression\")\n ) {\n return true;\n }\n let parentPos: number | undefined;\n switch (parentId) {\n case __node(\"BinaryExpression\"):\n case __node(\"LogicalExpression\"):\n parentPos = PRECEDENCE.get(parent.operator);\n break;\n case __node(\"TSAsExpression\"):\n case __node(\"TSSatisfiesExpression\"):\n parentPos = 7; /* in */\n }\n if (parentPos !== undefined) {\n const nodePos =\n nodeType === BinaryLikeType.TypeScript\n ? 7 /* in */\n : PRECEDENCE.get((node as t.Binary).operator)!;\n if (parentPos > nodePos) return true;\n if (\n parentPos === nodePos &&\n parentId === __node(\"BinaryExpression\") &&\n (nodePos === 11 /* ** */ ? parent.left === node : parent.right === node)\n ) {\n return true;\n }\n if (\n nodeType === BinaryLikeType.Logical &&\n parentId === __node(\"LogicalExpression\") &&\n // 1: ??\n ((nodePos === 1 && parentPos !== 1) || (parentPos === 1 && nodePos !== 1))\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport function UnionTypeAnnotation(\n node: t.UnionTypeAnnotation | t.IntersectionTypeAnnotation,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"ArrayTypeAnnotation\"):\n case __node(\"NullableTypeAnnotation\"):\n case __node(\"IntersectionTypeAnnotation\"):\n case __node(\"UnionTypeAnnotation\"):\n return true;\n }\n return false;\n}\n\nexport { UnionTypeAnnotation as IntersectionTypeAnnotation };\n\nexport function OptionalIndexedAccessType(\n node: t.OptionalIndexedAccessType,\n parent: any,\n parentId: number,\n): boolean {\n return parentId === __node(\"IndexedAccessType\") && parent.objectType === node;\n}\n\nexport function TSAsExpression(\n node: t.TSAsExpression | t.TSSatisfiesExpression,\n parent: any,\n parentId: number,\n): boolean {\n if (\n (parentId === __node(\"AssignmentExpression\") ||\n parentId === __node(\"AssignmentPattern\")) &&\n parent.left === node\n ) {\n return true;\n }\n if (\n parentId === __node(\"BinaryExpression\") &&\n (parent.operator === \"|\" || parent.operator === \"&\") &&\n node === parent.left\n ) {\n return true;\n }\n return BinaryLike(node, parent, parentId, BinaryLikeType.TypeScript);\n}\n\nexport { TSAsExpression as TSSatisfiesExpression };\n\nexport { UnaryLike as TSTypeAssertion };\n\nexport function TSConditionalType(\n node: t.TSConditionalType,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"TSArrayType\"):\n case __node(\"TSOptionalType\"):\n case __node(\"TSTypeOperator\"):\n // for `infer K extends (L extends M ? M : ...)`\n // fallthrough\n case __node(\"TSTypeParameter\"):\n return true;\n case __node(\"TSIndexedAccessType\"):\n return parent.objectType === node;\n case __node(\"TSIntersectionType\"):\n case __node(\"TSUnionType\"):\n return parent.types[0] === node;\n case __node(\"TSConditionalType\"):\n return parent.checkType === node || parent.extendsType === node;\n }\n return false;\n}\n\nexport function TSUnionType(\n node: t.TSUnionType | t.TSFunctionType,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"TSIntersectionType\"):\n case __node(\"TSTypeOperator\"):\n case __node(\"TSArrayType\"):\n case __node(\"TSOptionalType\"):\n return true;\n case __node(\"TSIndexedAccessType\"):\n return parent.objectType === node;\n }\n return false;\n}\n\nexport function TSIntersectionType(\n node: t.TSUnionType,\n parent: any,\n parentId: number,\n): boolean {\n return (\n parentId === __node(\"TSTypeOperator\") ||\n TSTypeOperator(node, parent, parentId)\n );\n}\n\nexport function TSInferType(\n node: t.TSInferType,\n parent: any,\n parentId: number,\n): boolean {\n if (TSTypeOperator(node, parent, parentId)) {\n return true;\n }\n if (\n (parentId === __node(\"TSIntersectionType\") ||\n parentId === __node(\"TSUnionType\")) &&\n node.typeParameter.constraint &&\n parent.types[0] === node\n ) {\n return true;\n }\n return false;\n}\n\nexport function TSTypeOperator(\n node: t.TSTypeOperator | t.TSUnionType | t.TSInferType,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"TSArrayType\"):\n case __node(\"TSOptionalType\"):\n return true;\n case __node(\"TSIndexedAccessType\"):\n if (parent.objectType === node) {\n return true;\n }\n }\n return false;\n}\n\nexport function TSInstantiationExpression(\n node: t.TSInstantiationExpression,\n parent: any,\n parentId: number,\n) {\n switch (parentId) {\n case __node(\"CallExpression\"):\n case __node(\"OptionalCallExpression\"):\n case __node(\"NewExpression\"):\n case __node(\"TSInstantiationExpression\"):\n return (\n (process.env.BABEL_8_BREAKING\n ? // @ts-ignore(Babel 7 vs Babel 8) Babel 8 AST\n parent.typeArguments\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n parent.typeParameters) != null\n );\n }\n\n return false;\n}\n\nexport function TSFunctionType(\n node: t.TSFunctionType,\n parent: any,\n parentId: number,\n): boolean {\n if (TSUnionType(node, parent, parentId)) return true;\n\n return (\n parentId === __node(\"TSUnionType\") ||\n (parentId === __node(\"TSConditionalType\") &&\n (parent.checkType === node || parent.extendsType === node))\n );\n}\n\nexport { TSFunctionType as TSConstructorType };\n\nexport function BinaryExpression(\n node: t.BinaryExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n if (BinaryLike(node, parent, parentId, BinaryLikeType.Binary)) return true;\n\n // for ((1 in []);;);\n // for (var x = (1 in []) in 2);\n return (\n (tokenContext & TokenContext.forInOrInitHeadAccumulate) > 0 &&\n node.operator === \"in\"\n );\n}\n\nexport function LogicalExpression(\n node: t.LogicalExpression,\n parent: any,\n parentId: number,\n): boolean {\n return BinaryLike(node, parent, parentId, BinaryLikeType.Logical);\n}\n\nexport function SequenceExpression(\n node: t.SequenceExpression,\n parent: any,\n parentId: number,\n): boolean {\n if (\n parentId === __node(\"SequenceExpression\") ||\n parentId === __node(\"ParenthesizedExpression\") ||\n (parentId === __node(\"MemberExpression\") && parent.property === node) ||\n (parentId === __node(\"OptionalMemberExpression\") &&\n parent.property === node) ||\n parentId === __node(\"TemplateLiteral\")\n ) {\n return false;\n }\n if (parentId === __node(\"ClassDeclaration\")) {\n return true;\n }\n if (parentId === __node(\"ForOfStatement\")) {\n return parent.right === node;\n }\n if (parentId === __node(\"ExportDefaultDeclaration\")) {\n return true;\n }\n\n return !isStatement(parent);\n}\n\nexport function YieldExpression(\n node: t.YieldExpression,\n parent: any,\n parentId: number,\n): boolean {\n return (\n parentId === __node(\"BinaryExpression\") ||\n parentId === __node(\"LogicalExpression\") ||\n parentId === __node(\"UnaryExpression\") ||\n parentId === __node(\"SpreadElement\") ||\n hasPostfixPart(node, parent, parentId) ||\n (parentId === __node(\"AwaitExpression\") && isYieldExpression(node)) ||\n (parentId === __node(\"ConditionalExpression\") && node === parent.test) ||\n isClassExtendsClause(node, parent, parentId) ||\n isTSTypeExpression(parentId)\n );\n}\n\nexport { YieldExpression as AwaitExpression };\n\nexport function ClassExpression(\n node: t.ClassExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n return (\n (tokenContext &\n (TokenContext.expressionStatement | TokenContext.exportDefault)) >\n 0\n );\n}\n\nfunction UnaryLike(\n node:\n | t.UnaryLike\n | t.TSTypeAssertion\n | t.ArrowFunctionExpression\n | t.ConditionalExpression\n | t.AssignmentExpression,\n parent: any,\n parentId: number,\n): boolean {\n return (\n hasPostfixPart(node, parent, parentId) ||\n (parentId === __node(\"BinaryExpression\") &&\n parent.operator === \"**\" &&\n parent.left === node) ||\n isClassExtendsClause(node, parent, parentId)\n );\n}\n\nexport { UnaryLike as UnaryExpression, UnaryLike as SpreadElement };\n\nexport function FunctionExpression(\n node: t.FunctionExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n return (\n (tokenContext &\n (TokenContext.expressionStatement | TokenContext.exportDefault)) >\n 0\n );\n}\n\nexport function ConditionalExpression(\n node:\n | t.ConditionalExpression\n | t.ArrowFunctionExpression\n | t.AssignmentExpression,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"UnaryExpression\"):\n case __node(\"SpreadElement\"):\n case __node(\"BinaryExpression\"):\n case __node(\"LogicalExpression\"):\n case __node(\"AwaitExpression\"):\n return true;\n case __node(\"ConditionalExpression\"):\n if (parent.test === node) {\n return true;\n }\n }\n\n if (isTSTypeExpression(parentId)) {\n return true;\n }\n\n return UnaryLike(node, parent, parentId);\n}\n\nexport { ConditionalExpression as ArrowFunctionExpression };\n\nexport function OptionalMemberExpression(\n node: t.OptionalMemberExpression,\n parent: any,\n parentId: number,\n): boolean {\n switch (parentId) {\n case __node(\"CallExpression\"):\n return parent.callee === node;\n case __node(\"MemberExpression\"):\n return parent.object === node;\n }\n return false;\n}\n\nexport { OptionalMemberExpression as OptionalCallExpression };\n\nexport function AssignmentExpression(\n node: t.AssignmentExpression,\n parent: any,\n parentId: number,\n tokenContext: number,\n): boolean {\n if (\n needsParenBeforeExpressionBrace(tokenContext) &&\n node.left.type === \"ObjectPattern\"\n ) {\n return true;\n }\n return ConditionalExpression(node, parent, parentId);\n}\n\nexport function Identifier(\n node: t.Identifier,\n parent: any,\n parentId: number,\n tokenContext: number,\n getRawIdentifier: (node: t.Identifier) => string,\n): boolean {\n if (getRawIdentifier && getRawIdentifier(node) !== node.name) {\n return false;\n }\n\n // 13.15.2 AssignmentExpression RS: Evaluation\n // (fn) = function () {};\n if (\n parentId === __node(\"AssignmentExpression\") &&\n node.extra?.parenthesized &&\n parent.left === node\n ) {\n const rightType = parent.right.type;\n if (\n (rightType === \"FunctionExpression\" || rightType === \"ClassExpression\") &&\n parent.right.id == null\n ) {\n return true;\n }\n }\n\n // fast path\n if (\n tokenContext & TokenContext.forOfHead ||\n ((parentId === __node(\"MemberExpression\") ||\n parentId === __node(\"OptionalMemberExpression\")) &&\n tokenContext &\n (TokenContext.expressionStatement |\n TokenContext.forInitHead |\n TokenContext.forInHead))\n ) {\n // Non-strict code allows the identifier `let`, but it cannot occur as-is in\n // certain contexts to avoid ambiguity with contextual keyword `let`.\n if (node.name === \"let\") {\n // Some contexts only forbid `let [`, so check if the next token would\n // be the left bracket of a computed member expression.\n const isFollowedByBracket =\n isMemberExpression(parent, {\n object: node,\n computed: true,\n }) ||\n isOptionalMemberExpression(parent, {\n object: node,\n computed: true,\n optional: false,\n });\n if (\n isFollowedByBracket &&\n tokenContext &\n (TokenContext.expressionStatement |\n TokenContext.forInitHead |\n TokenContext.forInHead)\n ) {\n return true;\n }\n return (tokenContext & TokenContext.forOfHead) > 0;\n }\n }\n\n // ECMAScript specifically forbids a for-of loop from starting with the\n // token sequence `for (async of`, because it would be ambiguous with\n // `for (async of => {};;)`, so we need to add extra parentheses.\n return (\n parentId === __node(\"ForOfStatement\") &&\n parent.left === node &&\n node.name === \"async\" &&\n !parent.await\n );\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/nodes.js b/client/node_modules/@babel/generator/lib/nodes.js new file mode 100644 index 0000000..8754a38 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/nodes.js @@ -0,0 +1,19 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.generatorInfosMap = void 0; +var generatorFunctions = require("./generators/index.js"); +var deprecatedGeneratorFunctions = require("./generators/deprecated.js"); +const generatorInfosMap = exports.generatorInfosMap = new Map(); +let index = 0; +for (const key of Object.keys(generatorFunctions).sort()) { + if (key.startsWith("_")) continue; + generatorInfosMap.set(key, [generatorFunctions[key], index++, undefined]); +} +for (const key of Object.keys(deprecatedGeneratorFunctions)) { + generatorInfosMap.set(key, [deprecatedGeneratorFunctions[key], index++, undefined]); +} + +//# sourceMappingURL=nodes.js.map diff --git a/client/node_modules/@babel/generator/lib/nodes.js.map b/client/node_modules/@babel/generator/lib/nodes.js.map new file mode 100644 index 0000000..6aa8283 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/nodes.js.map @@ -0,0 +1 @@ +{"version":3,"names":["generatorFunctions","require","deprecatedGeneratorFunctions","generatorInfosMap","exports","Map","index","key","Object","keys","sort","startsWith","set","undefined"],"sources":["../src/nodes.ts"],"sourcesContent":["import type * as t from \"@babel/types\";\n\nimport * as generatorFunctions from \"./generators/index.ts\";\nimport * as deprecatedGeneratorFunctions from \"./generators/deprecated.ts\";\nimport type { NodeHandler } from \"./node/index.ts\";\nimport type Printer from \"./printer.ts\";\n\ndeclare global {\n function __node(type: t.Node[\"type\"]): number;\n}\n\nconst generatorInfosMap = new Map<\n string,\n [\n (this: Printer, node: t.Node, parent?: t.Node | null) => void,\n number,\n NodeHandler | undefined,\n ]\n>();\nlet index = 0;\n\nfor (const key of Object.keys(generatorFunctions).sort() as Exclude<\n keyof typeof generatorFunctions,\n `_${string}`\n>[]) {\n if (key.startsWith(\"_\")) continue;\n generatorInfosMap.set(key, [generatorFunctions[key], index++, undefined]);\n}\nif (!process.env.BABEL_8_BREAKING) {\n for (const key of Object.keys(\n deprecatedGeneratorFunctions,\n ) as (keyof typeof deprecatedGeneratorFunctions)[]) {\n generatorInfosMap.set(key, [\n deprecatedGeneratorFunctions[key],\n index++,\n undefined,\n ]);\n }\n}\n\nexport { generatorInfosMap };\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,4BAAA,GAAAD,OAAA;AAQA,MAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAIE,GAAG,CAO/B,CAAC;AACH,IAAIC,KAAK,GAAG,CAAC;AAEb,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACT,kBAAkB,CAAC,CAACU,IAAI,CAAC,CAAC,EAGnD;EACH,IAAIH,GAAG,CAACI,UAAU,CAAC,GAAG,CAAC,EAAE;EACzBR,iBAAiB,CAACS,GAAG,CAACL,GAAG,EAAE,CAACP,kBAAkB,CAACO,GAAG,CAAC,EAAED,KAAK,EAAE,EAAEO,SAAS,CAAC,CAAC;AAC3E;AAEE,KAAK,MAAMN,GAAG,IAAIC,MAAM,CAACC,IAAI,CAC3BP,4BACF,CAAC,EAAmD;EAClDC,iBAAiB,CAACS,GAAG,CAACL,GAAG,EAAE,CACzBL,4BAA4B,CAACK,GAAG,CAAC,EACjCD,KAAK,EAAE,EACPO,SAAS,CACV,CAAC;AACJ","ignoreList":[]} \ No newline at end of file diff --git a/client/node_modules/@babel/generator/lib/printer.js b/client/node_modules/@babel/generator/lib/printer.js new file mode 100644 index 0000000..8754381 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/printer.js @@ -0,0 +1,783 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _buffer = require("./buffer.js"); +var _index = require("./node/index.js"); +var _nodes = require("./nodes.js"); +var _t = require("@babel/types"); +var _tokenMap = require("./token-map.js"); +var _types2 = require("./generators/types.js"); +const { + isExpression, + isFunction, + isStatement, + isClassBody, + isTSInterfaceBody, + isTSEnumMember +} = _t; +const SCIENTIFIC_NOTATION = /e/i; +const ZERO_DECIMAL_INTEGER = /\.0+$/; +const HAS_NEWLINE = /[\n\r\u2028\u2029]/; +const HAS_NEWLINE_OR_BlOCK_COMMENT_END = /[\n\r\u2028\u2029]|\*\//; +function commentIsNewline(c) { + return c.type === "CommentLine" || HAS_NEWLINE.test(c.value); +} +class Printer { + constructor(format, map, tokens = null, originalCode = null) { + this.tokenContext = _index.TokenContext.normal; + this._tokens = null; + this._originalCode = null; + this._currentNode = null; + this._currentTypeId = null; + this._indent = 0; + this._indentRepeat = 0; + this._insideAux = false; + this._noLineTerminator = false; + this._noLineTerminatorAfterNode = null; + this._printAuxAfterOnNextUserNode = false; + this._printedComments = new Set(); + this._lastCommentLine = 0; + this._innerCommentsState = 0; + this._flags = 0; + this.tokenMap = null; + this._boundGetRawIdentifier = null; + this._printSemicolonBeforeNextNode = -1; + this._printSemicolonBeforeNextToken = -1; + this.format = format; + this._tokens = tokens; + this._originalCode = originalCode; + this._indentRepeat = format.indent.style.length; + this._inputMap = (map == null ? void 0 : map._inputMap) || null; + this._buf = new _buffer.default(map, format.indent.style[0]); + const { + preserveFormat, + compact, + concise, + retainLines, + retainFunctionParens + } = format; + if (preserveFormat) { + this._flags |= 1; + } + if (compact) { + this._flags |= 2; + } + if (concise) { + this._flags |= 4; + } + if (retainLines) { + this._flags |= 8; + } + if (retainFunctionParens) { + this._flags |= 16; + } + if (format.auxiliaryCommentBefore || format.auxiliaryCommentAfter) { + this._flags |= 32; + } + } + enterDelimited() { + const oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode; + if (oldNoLineTerminatorAfterNode !== null) { + this._noLineTerminatorAfterNode = null; + } + return oldNoLineTerminatorAfterNode; + } + generate(ast) { + if (this.format.preserveFormat) { + this.tokenMap = new _tokenMap.TokenMap(ast, this._tokens, this._originalCode); + this._boundGetRawIdentifier = _types2._getRawIdentifier.bind(this); + } + this.print(ast); + this._maybeAddAuxComment(); + return this._buf.get(); + } + indent(flags = this._flags) { + if (flags & (1 | 2 | 4)) { + return; + } + this._indent += this._indentRepeat; + } + dedent(flags = this._flags) { + if (flags & (1 | 2 | 4)) { + return; + } + this._indent -= this._indentRepeat; + } + semicolon(force = false) { + const flags = this._flags; + if (flags & 32) { + this._maybeAddAuxComment(); + } + if (flags & 1) { + const node = this._currentNode; + if (node.start != null && node.end != null) { + if (!this.tokenMap.endMatches(node, ";")) { + this._printSemicolonBeforeNextNode = this._buf.getCurrentLine(); + return; + } + const indexes = this.tokenMap.getIndexes(this._currentNode); + this._catchUpTo(this._tokens[indexes[indexes.length - 1]].loc.start); + } + } + if (force) { + this._appendChar(59); + } else { + this._queue(59); + } + this._noLineTerminator = false; + } + rightBrace(node) { + if (this.format.minified) { + this._buf.removeLastSemicolon(); + } + this.sourceWithOffset("end", node.loc, -1); + this.tokenChar(125); + } + rightParens(node) { + this.sourceWithOffset("end", node.loc, -1); + this.tokenChar(41); + } + space(force = false) { + if (this._flags & (1 | 2)) { + return; + } + if (force) { + this._space(); + } else { + const lastCp = this.getLastChar(true); + if (lastCp !== 0 && lastCp !== 32 && lastCp !== 10) { + this._space(); + } + } + } + word(str, noLineTerminatorAfter = false) { + this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask; + this._maybePrintInnerComments(str); + const flags = this._flags; + if (flags & 32) { + this._maybeAddAuxComment(); + } + if (flags & 1) this._catchUpToCurrentToken(str); + const lastChar = this.getLastChar(); + if (lastChar === -2 || lastChar === -3 || lastChar === 47 && str.charCodeAt(0) === 47) { + this._space(); + } + this._append(str, false); + this.setLastChar(-3); + this._noLineTerminator = noLineTerminatorAfter; + } + number(str, number) { + function isNonDecimalLiteral(str) { + if (str.length > 2 && str.charCodeAt(0) === 48) { + const secondChar = str.charCodeAt(1); + return secondChar === 98 || secondChar === 111 || secondChar === 120; + } + return false; + } + this.word(str); + if (Number.isInteger(number) && !isNonDecimalLiteral(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46) { + this.setLastChar(-2); + } + } + token(str, maybeNewline = false, occurrenceCount = 0, mayNeedSpace = false) { + this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask; + this._maybePrintInnerComments(str, occurrenceCount); + const flags = this._flags; + if (flags & 32) { + this._maybeAddAuxComment(); + } + if (flags & 1) { + this._catchUpToCurrentToken(str, occurrenceCount); + } + if (mayNeedSpace) { + const strFirst = str.charCodeAt(0); + if ((strFirst === 45 && str === "--" || strFirst === 61) && this.getLastChar() === 33 || strFirst === 43 && this.getLastChar() === 43 || strFirst === 45 && this.getLastChar() === 45 || strFirst === 46 && this.getLastChar() === -2) { + this._space(); + } + } + this._append(str, maybeNewline); + this._noLineTerminator = false; + } + tokenChar(char, occurrenceCount = 0) { + this.tokenContext &= _index.TokenContext.forInOrInitHeadAccumulatePassThroughMask; + this._maybePrintInnerComments(char, occurrenceCount); + const flags = this._flags; + if (flags & 32) { + this._maybeAddAuxComment(); + } + if (flags & 1) { + this._catchUpToCurrentToken(char, occurrenceCount); + } + if (char === 43 && this.getLastChar() === 43 || char === 45 && this.getLastChar() === 45 || char === 46 && this.getLastChar() === -2) { + this._space(); + } + this._appendChar(char); + this._noLineTerminator = false; + } + newline(i = 1, flags = this._flags) { + if (i <= 0) return; + if (flags & (8 | 2)) { + return; + } + if (flags & 4) { + this.space(); + return; + } + if (i > 2) i = 2; + i -= this._buf.getNewlineCount(); + for (let j = 0; j < i; j++) { + this._newline(); + } + } + endsWith(char) { + return this.getLastChar(true) === char; + } + getLastChar(checkQueue) { + return this._buf.getLastChar(checkQueue); + } + setLastChar(char) { + this._buf._last = char; + } + exactSource(loc, cb) { + if (!loc) { + cb(); + return; + } + this._catchUp("start", loc); + this._buf.exactSource(loc, cb); + } + source(prop, loc) { + if (!loc) return; + this._catchUp(prop, loc); + this._buf.source(prop, loc); + } + sourceWithOffset(prop, loc, columnOffset) { + if (!loc || this.format.preserveFormat) return; + this._catchUp(prop, loc); + this._buf.sourceWithOffset(prop, loc, columnOffset); + } + sourceIdentifierName(identifierName, pos) { + if (!this._buf._canMarkIdName) return; + const sourcePosition = this._buf._sourcePosition; + sourcePosition.identifierNamePos = pos; + sourcePosition.identifierName = identifierName; + } + _space() { + this._queue(32); + } + _newline() { + if (this._buf._queuedChar === 32) this._buf._queuedChar = 0; + this._appendChar(10, true); + } + _catchUpToCurrentToken(str, occurrenceCount = 0) { + const token = this.tokenMap.findMatching(this._currentNode, str, occurrenceCount); + if (token) this._catchUpTo(token.loc.start); + if (this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine()) { + this._appendChar(59, true); + } + this._printSemicolonBeforeNextToken = -1; + this._printSemicolonBeforeNextNode = -1; + } + _append(str, maybeNewline) { + this._maybeIndent(); + this._buf.append(str, maybeNewline); + } + _appendChar(char, noIndent) { + if (!noIndent) { + this._maybeIndent(); + } + this._buf.appendChar(char); + } + _queue(char) { + this._buf.queue(char); + this.setLastChar(-1); + } + _maybeIndent() { + const indent = this._shouldIndent(); + if (indent > 0) { + this._buf._appendChar(-1, indent, false); + } + } + _shouldIndent() { + return this.endsWith(10) ? this._indent : 0; + } + catchUp(line) { + if (!this.format.retainLines) return; + const count = line - this._buf.getCurrentLine(); + for (let i = 0; i < count; i++) { + this._newline(); + } + } + _catchUp(prop, loc) { + const flags = this._flags; + if ((flags & 1) === 0) { + if (flags & 8 && loc != null && loc[prop]) { + this.catchUp(loc[prop].line); + } + return; + } + const pos = loc == null ? void 0 : loc[prop]; + if (pos != null) this._catchUpTo(pos); + } + _catchUpTo({ + line, + column, + index + }) { + const count = line - this._buf.getCurrentLine(); + if (count > 0 && this._noLineTerminator) { + return; + } + for (let i = 0; i < count; i++) { + this._newline(); + } + const spacesCount = count > 0 ? column : column - this._buf.getCurrentColumn(); + if (spacesCount > 0) { + const spaces = this._originalCode ? this._originalCode.slice(index - spacesCount, index).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu, " ") : " ".repeat(spacesCount); + this._buf.append(spaces, false, true); + this._buf.setSourcePosition(line, column); + this.setLastChar(32); + } + } + printTerminatorless(node) { + this._noLineTerminator = true; + this.print(node); + } + print(node, noLineTerminatorAfter = false, resetTokenContext = false, trailingCommentsLineOffset) { + var _node$leadingComments, _node$leadingComments2; + if (!node) return; + this._innerCommentsState = 0; + const { + type, + loc, + extra + } = node; + const flags = this._flags; + let changedFlags = false; + if (node._compact) { + this._flags |= 4; + changedFlags = true; + } + const nodeInfo = _nodes.generatorInfosMap.get(type); + if (nodeInfo === undefined) { + throw new ReferenceError(`unknown node of type ${JSON.stringify(type)} with constructor ${JSON.stringify(node.constructor.name)}`); + } + const [printMethod, nodeId, needsParens] = nodeInfo; + const parent = this._currentNode; + const parentId = this._currentTypeId; + this._currentNode = node; + this._currentTypeId = nodeId; + if (flags & 1) { + this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode; + } + let oldInAux; + if (flags & 32) { + oldInAux = this._insideAux; + this._insideAux = loc == null; + this._maybeAddAuxComment(this._insideAux && !oldInAux); + } + let oldTokenContext = 0; + if (resetTokenContext) { + oldTokenContext = this.tokenContext; + if (oldTokenContext & _index.TokenContext.forInOrInitHeadAccumulate) { + this.tokenContext = 0; + } else { + oldTokenContext = 0; + } + } + const parenthesized = extra != null && extra.parenthesized; + let shouldPrintParens = parenthesized && flags & 1 || parenthesized && flags & 16 && nodeId === 71 || parent && ((0, _index.parentNeedsParens)(node, parent, parentId) || needsParens != null && needsParens(node, parent, parentId, this.tokenContext, flags & 1 ? this._boundGetRawIdentifier : undefined)); + if (!shouldPrintParens && parenthesized && (_node$leadingComments = node.leadingComments) != null && _node$leadingComments.length && node.leadingComments[0].type === "CommentBlock") { + switch (parentId) { + case 65: + case 243: + case 6: + case 143: + break; + case 17: + case 130: + case 112: + if (parent.callee !== node) break; + default: + shouldPrintParens = true; + } + } + let indentParenthesized = false; + if (!shouldPrintParens && this._noLineTerminator && ((_node$leadingComments2 = node.leadingComments) != null && _node$leadingComments2.some(commentIsNewline) || flags & 8 && loc && loc.start.line > this._buf.getCurrentLine())) { + shouldPrintParens = true; + indentParenthesized = true; + } + let oldNoLineTerminatorAfterNode; + if (!shouldPrintParens) { + noLineTerminatorAfter || (noLineTerminatorAfter = !!parent && this._noLineTerminatorAfterNode === parent && (0, _index.isLastChild)(parent, node)); + if (noLineTerminatorAfter) { + var _node$trailingComment; + if ((_node$trailingComment = node.trailingComments) != null && _node$trailingComment.some(commentIsNewline)) { + if (isExpression(node)) shouldPrintParens = true; + } else { + oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode; + this._noLineTerminatorAfterNode = node; + } + } + } + if (shouldPrintParens) { + this.tokenChar(40); + if (indentParenthesized) this.indent(); + this._innerCommentsState = 0; + if (!resetTokenContext) { + oldTokenContext = this.tokenContext; + } + if (oldTokenContext & _index.TokenContext.forInOrInitHeadAccumulate) { + this.tokenContext = 0; + } + oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode; + this._noLineTerminatorAfterNode = null; + } + this._printLeadingComments(node, parent); + this.exactSource(nodeId === 139 || nodeId === 66 ? null : loc, printMethod.bind(this, node, parent)); + if (shouldPrintParens) { + this._printTrailingComments(node, parent); + if (indentParenthesized) { + this.dedent(); + this.newline(); + } + this.tokenChar(41); + this._noLineTerminator = noLineTerminatorAfter; + } else if (noLineTerminatorAfter && !this._noLineTerminator) { + this._noLineTerminator = true; + this._printTrailingComments(node, parent); + } else { + this._printTrailingComments(node, parent, trailingCommentsLineOffset); + } + if (oldTokenContext) this.tokenContext = oldTokenContext; + this._currentNode = parent; + this._currentTypeId = parentId; + if (changedFlags) { + this._flags = flags; + } + if (flags & 32) { + this._insideAux = oldInAux; + } + if (oldNoLineTerminatorAfterNode != null) { + this._noLineTerminatorAfterNode = oldNoLineTerminatorAfterNode; + } + this._innerCommentsState = 0; + } + _maybeAddAuxComment(enteredPositionlessNode) { + if (enteredPositionlessNode) this._printAuxBeforeComment(); + if (!this._insideAux) this._printAuxAfterComment(); + } + _printAuxBeforeComment() { + if (this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = true; + const comment = this.format.auxiliaryCommentBefore; + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }, 0); + } + } + _printAuxAfterComment() { + if (!this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = false; + const comment = this.format.auxiliaryCommentAfter; + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }, 0); + } + } + getPossibleRaw(node) { + const extra = node.extra; + if ((extra == null ? void 0 : extra.raw) != null && extra.rawValue != null && node.value === extra.rawValue) { + return extra.raw; + } + } + printJoin(nodes, statement, indent, separator, printTrailingSeparator, resetTokenContext, trailingCommentsLineOffset) { + if (!(nodes != null && nodes.length)) return; + const flags = this._flags; + if (indent == null && flags & 8) { + var _nodes$0$loc; + const startLine = (_nodes$0$loc = nodes[0].loc) == null ? void 0 : _nodes$0$loc.start.line; + if (startLine != null && startLine !== this._buf.getCurrentLine()) { + indent = true; + } + } + if (indent) this.indent(flags); + const len = nodes.length; + for (let i = 0; i < len; i++) { + const node = nodes[i]; + if (!node) continue; + if (statement && i === 0 && this._buf.hasContent()) { + this.newline(1, flags); + } + this.print(node, false, resetTokenContext, trailingCommentsLineOffset || 0); + if (separator != null) { + if (i < len - 1) separator.call(this, i, false);else if (printTrailingSeparator) separator.call(this, i, true); + } + if (statement) { + if (i + 1 === len) { + this.newline(1, flags); + } else { + const lastCommentLine = this._lastCommentLine; + if (lastCommentLine > 0) { + var _nodes$loc; + const offset = (((_nodes$loc = nodes[i + 1].loc) == null ? void 0 : _nodes$loc.start.line) || 0) - lastCommentLine; + if (offset >= 0) { + this.newline(offset || 1, flags); + continue; + } + } + this.newline(1, flags); + } + } + } + if (indent) this.dedent(flags); + } + printAndIndentOnComments(node) { + const indent = node.leadingComments && node.leadingComments.length > 0; + if (indent) this.indent(); + this.print(node); + if (indent) this.dedent(); + } + printBlock(body) { + if (body.type !== "EmptyStatement") { + this.space(); + } + this.print(body); + } + _printTrailingComments(node, parent, lineOffset) { + const { + innerComments, + trailingComments + } = node; + if (innerComments != null && innerComments.length) { + this._printComments(2, innerComments, node, parent, lineOffset); + } + if (trailingComments != null && trailingComments.length) { + this._printComments(2, trailingComments, node, parent, lineOffset); + } else { + this._lastCommentLine = 0; + } + } + _printLeadingComments(node, parent) { + const comments = node.leadingComments; + if (!(comments != null && comments.length)) return; + this._printComments(0, comments, node, parent); + } + _maybePrintInnerComments(nextTokenStr, nextTokenOccurrenceCount) { + var _this$tokenMap; + const state = this._innerCommentsState; + switch (state & 3) { + case 0: + this._innerCommentsState = 1 | 4; + return; + case 1: + this.printInnerComments((state & 4) > 0, (_this$tokenMap = this.tokenMap) == null ? void 0 : _this$tokenMap.findMatching(this._currentNode, nextTokenStr, nextTokenOccurrenceCount)); + } + } + printInnerComments(indent = true, nextToken) { + const node = this._currentNode; + const comments = node.innerComments; + if (!(comments != null && comments.length)) { + this._innerCommentsState = 2; + return; + } + const hasSpace = this.endsWith(32); + if (indent) this.indent(); + switch (this._printComments(1, comments, node, undefined, undefined, nextToken)) { + case 2: + this._innerCommentsState = 2; + case 1: + if (hasSpace) this.space(); + } + if (indent) this.dedent(); + } + noIndentInnerCommentsHere() { + this._innerCommentsState &= ~4; + } + printSequence(nodes, indent, resetTokenContext, trailingCommentsLineOffset) { + this.printJoin(nodes, true, indent != null ? indent : false, undefined, undefined, resetTokenContext, trailingCommentsLineOffset); + } + printList(items, printTrailingSeparator, statement, indent, separator, resetTokenContext) { + this.printJoin(items, statement, indent, separator != null ? separator : commaSeparator, printTrailingSeparator, resetTokenContext); + } + shouldPrintTrailingComma(listEnd) { + if (!this.tokenMap) return null; + const listEndIndex = this.tokenMap.findLastIndex(this._currentNode, token => this.tokenMap.matchesOriginal(token, typeof listEnd === "number" ? String.fromCharCode(listEnd) : listEnd)); + if (listEndIndex <= 0) return null; + return this.tokenMap.matchesOriginal(this._tokens[listEndIndex - 1], ","); + } + _shouldPrintComment(comment, nextToken) { + if (comment.ignore) return 0; + if (this._printedComments.has(comment)) return 0; + if (this._noLineTerminator && HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(comment.value)) { + return 2; + } + if (nextToken && this.tokenMap) { + const commentTok = this.tokenMap.find(this._currentNode, token => token.value === comment.value); + if (commentTok && commentTok.start > nextToken.start) { + return 2; + } + } + this._printedComments.add(comment); + if (!this.format.shouldPrintComment(comment.value)) { + return 0; + } + return 1; + } + _printComment(comment, skipNewLines) { + const noLineTerminator = this._noLineTerminator; + const isBlockComment = comment.type === "CommentBlock"; + const printNewLines = isBlockComment && skipNewLines !== 1 && !noLineTerminator; + if (printNewLines && this._buf.hasContent() && skipNewLines !== 2) { + this.newline(1); + } + switch (this.getLastChar(true)) { + case 47: + this._space(); + case 91: + case 123: + case 40: + break; + default: + this.space(); + } + let val; + if (isBlockComment) { + val = `/*${comment.value}*/`; + if (this.format.indent.adjustMultilineComment) { + var _comment$loc; + const offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column; + if (offset) { + const newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g"); + val = val.replace(newlineRegex, "\n"); + } + if (this._flags & 4) { + val = val.replace(/\n(?!$)/g, `\n`); + } else { + let indentSize = this.format.retainLines ? 0 : this._buf.getCurrentColumn(); + if (this._shouldIndent() || this.format.retainLines) { + indentSize += this._indent; + } + val = val.replace(/\n(?!$)/g, `\n${" ".repeat(indentSize)}`); + } + } + } else if (!noLineTerminator) { + val = `//${comment.value}`; + } else { + val = `/*${comment.value}*/`; + } + this.source("start", comment.loc); + this._append(val, isBlockComment); + if (!isBlockComment && !noLineTerminator) { + this._newline(); + } + if (printNewLines && skipNewLines !== 3) { + this.newline(1); + } + } + _printComments(type, comments, node, parent, lineOffset = 0, nextToken) { + const nodeLoc = node.loc; + const len = comments.length; + let hasLoc = !!nodeLoc; + const nodeStartLine = hasLoc ? nodeLoc.start.line : 0; + const nodeEndLine = hasLoc ? nodeLoc.end.line : 0; + let lastLine = 0; + let leadingCommentNewline = 0; + const { + _noLineTerminator, + _flags + } = this; + for (let i = 0; i < len; i++) { + const comment = comments[i]; + const shouldPrint = this._shouldPrintComment(comment, nextToken); + if (shouldPrint === 2) { + return i === 0 ? 0 : 1; + } + if (hasLoc && comment.loc && shouldPrint === 1) { + const commentStartLine = comment.loc.start.line; + const commentEndLine = comment.loc.end.line; + if (type === 0) { + let offset = 0; + if (i === 0) { + if (this._buf.hasContent() && (comment.type === "CommentLine" || commentStartLine !== commentEndLine)) { + offset = leadingCommentNewline = 1; + } + } else { + offset = commentStartLine - lastLine; + } + lastLine = commentEndLine; + if (offset > 0 && !_noLineTerminator) { + this.newline(offset, _flags); + } + this._printComment(comment, 1); + if (i + 1 === len) { + const count = Math.max(nodeStartLine - lastLine, leadingCommentNewline); + if (count > 0 && !_noLineTerminator) { + this.newline(count, _flags); + } + lastLine = nodeStartLine; + } + } else if (type === 1) { + const offset = commentStartLine - (i === 0 ? nodeStartLine : lastLine); + lastLine = commentEndLine; + if (offset > 0 && !_noLineTerminator) { + this.newline(offset, _flags); + } + this._printComment(comment, 1); + if (i + 1 === len) { + const count = Math.min(1, nodeEndLine - lastLine); + if (count > 0 && !_noLineTerminator) { + this.newline(count, _flags); + } + lastLine = nodeEndLine; + } + } else { + const offset = commentStartLine - (i === 0 ? nodeEndLine - lineOffset : lastLine); + lastLine = commentEndLine; + if (offset > 0 && !_noLineTerminator) { + this.newline(offset, _flags); + } + this._printComment(comment, 1); + } + } else { + hasLoc = false; + if (shouldPrint !== 1) { + continue; + } + if (len === 1) { + const singleLine = comment.loc ? comment.loc.start.line === comment.loc.end.line : !HAS_NEWLINE.test(comment.value); + const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumMember(node); + if (type === 0) { + this._printComment(comment, shouldSkipNewline && node.type !== "ObjectExpression" || singleLine && isFunction(parent) && parent.body === node ? 1 : 0); + } else if (shouldSkipNewline && type === 2) { + this._printComment(comment, 1); + } else { + this._printComment(comment, 0); + } + } else if (type === 1 && !(node.type === "ObjectExpression" && node.properties.length > 1) && node.type !== "ClassBody" && node.type !== "TSInterfaceBody") { + this._printComment(comment, i === 0 ? 2 : i === len - 1 ? 3 : 0); + } else { + this._printComment(comment, 0); + } + } + } + if (type === 2 && hasLoc && lastLine) { + this._lastCommentLine = lastLine; + } + return 2; + } +} +var _default = exports.default = Printer; +function commaSeparator(occurrenceCount, last) { + this.tokenChar(44, occurrenceCount); + if (!last) this.space(); +} + +//# sourceMappingURL=printer.js.map diff --git a/client/node_modules/@babel/generator/lib/printer.js.map b/client/node_modules/@babel/generator/lib/printer.js.map new file mode 100644 index 0000000..c562325 --- /dev/null +++ b/client/node_modules/@babel/generator/lib/printer.js.map @@ -0,0 +1 @@ +{"version":3,"names":["_buffer","require","_index","_nodes","_t","_tokenMap","_types2","isExpression","isFunction","isStatement","isClassBody","isTSInterfaceBody","isTSEnumMember","SCIENTIFIC_NOTATION","ZERO_DECIMAL_INTEGER","HAS_NEWLINE","HAS_NEWLINE_OR_BlOCK_COMMENT_END","commentIsNewline","c","type","test","value","Printer","constructor","format","map","tokens","originalCode","tokenContext","TokenContext","normal","_tokens","_originalCode","_currentNode","_currentTypeId","_indent","_indentRepeat","_insideAux","_noLineTerminator","_noLineTerminatorAfterNode","_printAuxAfterOnNextUserNode","_printedComments","Set","_lastCommentLine","_innerCommentsState","_flags","tokenMap","_boundGetRawIdentifier","_printSemicolonBeforeNextNode","_printSemicolonBeforeNextToken","indent","style","length","_inputMap","_buf","Buffer","preserveFormat","compact","concise","retainLines","retainFunctionParens","auxiliaryCommentBefore","auxiliaryCommentAfter","enterDelimited","oldNoLineTerminatorAfterNode","generate","ast","TokenMap","_getRawIdentifier","bind","print","_maybeAddAuxComment","get","flags","dedent","semicolon","force","node","start","end","endMatches","getCurrentLine","indexes","getIndexes","_catchUpTo","loc","_appendChar","_queue","rightBrace","minified","removeLastSemicolon","sourceWithOffset","token","rightParens","space","_space","lastCp","getLastChar","word","str","noLineTerminatorAfter","forInOrInitHeadAccumulatePassThroughMask","_maybePrintInnerComments","_catchUpToCurrentToken","lastChar","charCodeAt","_append","setLastChar","number","isNonDecimalLiteral","secondChar","Number","isInteger","maybeNewline","occurrenceCount","mayNeedSpace","strFirst","tokenChar","char","newline","i","getNewlineCount","j","_newline","endsWith","checkQueue","_last","exactSource","cb","_catchUp","source","prop","columnOffset","sourceIdentifierName","identifierName","pos","_canMarkIdName","sourcePosition","_sourcePosition","identifierNamePos","_queuedChar","findMatching","_maybeIndent","append","noIndent","appendChar","queue","_shouldIndent","catchUp","line","count","column","index","spacesCount","getCurrentColumn","spaces","slice","replace","repeat","setSourcePosition","printTerminatorless","resetTokenContext","trailingCommentsLineOffset","_node$leadingComments","_node$leadingComments2","extra","changedFlags","_compact","nodeInfo","generatorInfosMap","undefined","ReferenceError","JSON","stringify","name","printMethod","nodeId","needsParens","parent","parentId","oldInAux","oldTokenContext","forInOrInitHeadAccumulate","parenthesized","shouldPrintParens","parentNeedsParens","leadingComments","callee","indentParenthesized","some","isLastChild","_node$trailingComment","trailingComments","_printLeadingComments","_printTrailingComments","enteredPositionlessNode","_printAuxBeforeComment","_printAuxAfterComment","comment","_printComment","getPossibleRaw","raw","rawValue","printJoin","nodes","statement","separator","printTrailingSeparator","_nodes$0$loc","startLine","len","hasContent","call","lastCommentLine","_nodes$loc","offset","printAndIndentOnComments","printBlock","body","lineOffset","innerComments","_printComments","comments","nextTokenStr","nextTokenOccurrenceCount","_this$tokenMap","state","printInnerComments","nextToken","hasSpace","noIndentInnerCommentsHere","printSequence","printList","items","commaSeparator","shouldPrintTrailingComma","listEnd","listEndIndex","findLastIndex","matchesOriginal","String","fromCharCode","_shouldPrintComment","ignore","has","commentTok","find","add","shouldPrintComment","skipNewLines","noLineTerminator","isBlockComment","printNewLines","val","adjustMultilineComment","_comment$loc","newlineRegex","RegExp","indentSize","nodeLoc","hasLoc","nodeStartLine","nodeEndLine","lastLine","leadingCommentNewline","shouldPrint","commentStartLine","commentEndLine","Math","max","min","singleLine","shouldSkipNewline","properties","_default","exports","default","last"],"sources":["../src/printer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n\nimport Buffer from \"./buffer.ts\";\nimport type { Loc, Pos } from \"./buffer.ts\";\nimport { isLastChild, parentNeedsParens } from \"./node/index.ts\";\nimport { generatorInfosMap } from \"./nodes.ts\";\nimport type * as t from \"@babel/types\";\nimport {\n isExpression,\n isFunction,\n isStatement,\n isClassBody,\n isTSInterfaceBody,\n isTSEnumMember,\n} from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\n\nimport { TokenMap } from \"./token-map.ts\";\n\nimport type { GeneratorOptions } from \"./index.ts\";\nimport type SourceMap from \"./source-map.ts\";\nimport type { TraceMap } from \"@jridgewell/trace-mapping\";\nimport type { Token } from \"@babel/parser\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\nconst SCIENTIFIC_NOTATION = /e/i;\nconst ZERO_DECIMAL_INTEGER = /\\.0+$/;\nconst HAS_NEWLINE = /[\\n\\r\\u2028\\u2029]/;\nconst HAS_NEWLINE_OR_BlOCK_COMMENT_END = /[\\n\\r\\u2028\\u2029]|\\*\\//;\n\nfunction commentIsNewline(c: t.Comment) {\n return c.type === \"CommentLine\" || HAS_NEWLINE.test(c.value);\n}\n\nimport { TokenContext } from \"./node/index.ts\";\nimport { _getRawIdentifier } from \"./generators/types.ts\";\n\nconst enum COMMENT_TYPE {\n LEADING,\n INNER,\n TRAILING,\n}\n\nconst enum COMMENT_SKIP_NEWLINE {\n DEFAULT,\n ALL,\n LEADING,\n TRAILING,\n}\n\nconst enum PRINT_COMMENT_HINT {\n SKIP,\n ALLOW,\n DEFER,\n}\n\nconst enum PRINTER_FLAGS {\n EMPTY = 0,\n PRESERVE_FORMAT = 1 << 0,\n COMPACT = 1 << 1,\n CONCISE = 1 << 2,\n RETAIN_LINES = 1 << 3,\n RETAIN_FUNCTION_PARENS = 1 << 4,\n AUX_COMMENTS = 1 << 5,\n}\n\nconst enum LAST_CHAR_KINDS {\n EMPTY = 0,\n NORMAL = -1,\n INTEGER = -2,\n WORD = -3,\n}\n\nconst enum INNER_COMMENTS_STATE {\n DISALLOWED = 0,\n ALLOWED = 1,\n PRINTED = 2,\n\n WITH_INDENT = 4,\n MASK = 3,\n}\n\nconst enum PRINT_COMMENTS_RESULT {\n PRINTED_NONE = 0,\n PRINTED_SOME = 1,\n PRINTED_ALL = 2,\n}\n\nexport type Format = {\n shouldPrintComment: (comment: string) => boolean;\n preserveFormat: boolean | undefined;\n retainLines: boolean | undefined;\n retainFunctionParens: boolean | undefined;\n comments: boolean | undefined;\n auxiliaryCommentBefore: string | undefined;\n auxiliaryCommentAfter: string | undefined;\n compact: boolean | \"auto\" | undefined;\n minified: boolean | undefined;\n concise: boolean | undefined;\n indent: {\n adjustMultilineComment: boolean;\n style: string;\n };\n /**\n * @deprecated Removed in Babel 8, syntax type is always 'hash'\n */\n recordAndTupleSyntaxType?: GeneratorOptions[\"recordAndTupleSyntaxType\"];\n jsescOption: jsescOptions;\n /**\n * @deprecated Removed in Babel 8, use `jsescOption` instead\n */\n jsonCompatibleStrings?: boolean;\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: GeneratorOptions[\"topicToken\"];\n /**\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n /**\n * The import attributes syntax style:\n * - \"with\" : `import { a } from \"b\" with { type: \"json\" };`\n * - \"assert\" : `import { a } from \"b\" assert { type: \"json\" };`\n * - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n * @deprecated Removed in Babel 8.\n */\n importAttributesKeyword?: \"with\" | \"assert\" | \"with-legacy\";\n};\n\ninterface PrintSequenceOptions {\n statement?: boolean;\n indent?: boolean;\n trailingCommentsLineOffset?: number;\n}\n\ninterface PrintListOptions {\n separator?: (this: Printer, occurrenceCount: number, last: boolean) => void;\n statement?: boolean;\n indent?: boolean;\n printTrailingSeparator?: boolean;\n}\n\nexport type PrintJoinOptions = PrintListOptions & PrintSequenceOptions;\nclass Printer {\n constructor(\n format: Format,\n map: SourceMap | null,\n tokens: Token[] | null = null,\n originalCode: string | null = null,\n ) {\n this.format = format;\n\n this._tokens = tokens;\n this._originalCode = originalCode;\n\n this._indentRepeat = format.indent.style.length;\n\n this._inputMap = map?._inputMap || null;\n\n this._buf = new Buffer(map, format.indent.style[0]);\n\n const {\n preserveFormat,\n compact,\n concise,\n retainLines,\n retainFunctionParens,\n } = format;\n if (preserveFormat) {\n this._flags |= PRINTER_FLAGS.PRESERVE_FORMAT;\n }\n if (compact) {\n this._flags |= PRINTER_FLAGS.COMPACT;\n }\n if (concise) {\n this._flags |= PRINTER_FLAGS.CONCISE;\n }\n if (retainLines) {\n this._flags |= PRINTER_FLAGS.RETAIN_LINES;\n }\n if (retainFunctionParens) {\n this._flags |= PRINTER_FLAGS.RETAIN_FUNCTION_PARENS;\n }\n if (format.auxiliaryCommentBefore || format.auxiliaryCommentAfter) {\n this._flags |= PRINTER_FLAGS.AUX_COMMENTS;\n }\n }\n declare _inputMap: TraceMap | null;\n\n declare format: Format;\n\n enterDelimited() {\n const oldNoLineTerminatorAfterNode = this._noLineTerminatorAfterNode;\n if (oldNoLineTerminatorAfterNode !== null) {\n this._noLineTerminatorAfterNode = null;\n }\n return oldNoLineTerminatorAfterNode;\n }\n\n tokenContext: number = TokenContext.normal;\n\n _tokens: Token[] | null = null;\n _originalCode: string | null = null;\n\n declare _buf: Buffer;\n _currentNode: t.Node | null = null;\n _currentTypeId: number | null = null;\n _indent: number = 0;\n _indentRepeat: number = 0;\n _insideAux: boolean = false;\n _noLineTerminator: boolean = false;\n _noLineTerminatorAfterNode: t.Node | null = null;\n _printAuxAfterOnNextUserNode: boolean = false;\n _printedComments = new Set();\n _lastCommentLine = 0;\n _innerCommentsState = INNER_COMMENTS_STATE.DISALLOWED;\n _flags = PRINTER_FLAGS.EMPTY;\n\n tokenMap: TokenMap | null = null;\n\n _boundGetRawIdentifier: ((node: t.Identifier) => string) | null = null;\n\n generate(ast: t.Node) {\n if (this.format.preserveFormat) {\n this.tokenMap = new TokenMap(ast, this._tokens!, this._originalCode!);\n this._boundGetRawIdentifier = _getRawIdentifier.bind(this);\n }\n this.print(ast);\n this._maybeAddAuxComment();\n\n return this._buf.get();\n }\n\n /**\n * Increment indent size.\n */\n\n indent(flags = this._flags): void {\n if (\n flags &\n (PRINTER_FLAGS.PRESERVE_FORMAT |\n PRINTER_FLAGS.COMPACT |\n PRINTER_FLAGS.CONCISE)\n ) {\n return;\n }\n\n this._indent += this._indentRepeat;\n }\n\n /**\n * Decrement indent size.\n */\n\n dedent(flags = this._flags): void {\n if (\n flags &\n (PRINTER_FLAGS.PRESERVE_FORMAT |\n PRINTER_FLAGS.COMPACT |\n PRINTER_FLAGS.CONCISE)\n ) {\n return;\n }\n\n this._indent -= this._indentRepeat;\n }\n\n /**\n * If the next token is on the same line, we must first print a semicolon.\n * This option is only used in `preserveFormat` node, for semicolons that\n * might have omitted due to them being absent in the original code (thanks\n * to ASI).\n *\n * We need both *NextToken and *NextNode because we only want to insert the\n * semicolon when the next token starts a new node, and not in cases like\n * foo} (where } is not starting a new node). So we first set *NextNode, and\n * then the print() method will move it to *NextToken.\n */\n _printSemicolonBeforeNextNode: number = -1;\n _printSemicolonBeforeNextToken: number = -1;\n\n /**\n * Add a semicolon to the buffer.\n */\n semicolon(force: boolean = false): void {\n const flags = this._flags;\n if (flags & PRINTER_FLAGS.AUX_COMMENTS) {\n this._maybeAddAuxComment();\n }\n if (flags & PRINTER_FLAGS.PRESERVE_FORMAT) {\n const node = this._currentNode!;\n if (node.start != null && node.end != null) {\n if (!this.tokenMap!.endMatches(node, \";\")) {\n // no semicolon\n this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();\n return;\n }\n const indexes = this.tokenMap!.getIndexes(this._currentNode!)!;\n this._catchUpTo(this._tokens![indexes[indexes.length - 1]].loc.start);\n }\n }\n if (force) {\n this._appendChar(charCodes.semicolon);\n } else {\n this._queue(charCodes.semicolon);\n }\n this._noLineTerminator = false;\n }\n\n /**\n * Add a right brace to the buffer.\n */\n\n rightBrace(node: t.Node): void {\n if (this.format.minified) {\n this._buf.removeLastSemicolon();\n }\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.token(\"}\");\n }\n\n rightParens(node: t.Node): void {\n this.sourceWithOffset(\"end\", node.loc, -1);\n this.token(\")\");\n }\n\n /**\n * Add a space to the buffer unless it is compact.\n */\n\n space(force: boolean = false): void {\n if (this._flags & (PRINTER_FLAGS.PRESERVE_FORMAT | PRINTER_FLAGS.COMPACT)) {\n return;\n }\n\n if (force) {\n this._space();\n } else {\n const lastCp = this.getLastChar(true);\n if (\n lastCp !== 0 &&\n lastCp !== charCodes.space &&\n lastCp !== charCodes.lineFeed\n ) {\n this._space();\n }\n }\n }\n\n /**\n * Writes a token that can't be safely parsed without taking whitespace into account.\n */\n\n word(str: string, noLineTerminatorAfter: boolean = false): void {\n this.tokenContext &= TokenContext.forInOrInitHeadAccumulatePassThroughMask;\n\n this._maybePrintInnerComments(str);\n\n const flags = this._flags;\n if (flags & PRINTER_FLAGS.AUX_COMMENTS) {\n this._maybeAddAuxComment();\n }\n\n if (flags & PRINTER_FLAGS.PRESERVE_FORMAT) this._catchUpToCurrentToken(str);\n\n const lastChar = this.getLastChar();\n\n if (\n lastChar === LAST_CHAR_KINDS.INTEGER ||\n lastChar === LAST_CHAR_KINDS.WORD ||\n // prevent concatenating words and creating // comment out of division and regex\n (lastChar === charCodes.slash && str.charCodeAt(0) === charCodes.slash)\n ) {\n this._space();\n }\n this._append(str, false);\n\n this.setLastChar(-3);\n this._noLineTerminator = noLineTerminatorAfter;\n }\n\n /**\n * Writes a number token so that we can validate if it is an integer.\n */\n\n number(str: string, number?: number): void {\n // const NON_DECIMAL_LITERAL = /^0[box]/;\n function isNonDecimalLiteral(str: string) {\n if (str.length > 2 && str.charCodeAt(0) === charCodes.digit0) {\n const secondChar = str.charCodeAt(1);\n return (\n secondChar === charCodes.lowercaseB ||\n secondChar === charCodes.lowercaseO ||\n secondChar === charCodes.lowercaseX\n );\n }\n return false;\n }\n this.word(str);\n\n // Integer tokens need special handling because they cannot have '.'s inserted immediately after them.\n if (\n Number.isInteger(number) &&\n !isNonDecimalLiteral(str) &&\n !SCIENTIFIC_NOTATION.test(str) &&\n !ZERO_DECIMAL_INTEGER.test(str) &&\n str.charCodeAt(str.length - 1) !== charCodes.dot\n ) {\n this.setLastChar(LAST_CHAR_KINDS.INTEGER);\n }\n }\n\n /**\n * Writes a simple token.\n *\n * @param {string} str The string to append.\n * @param {boolean} [maybeNewline=false] Wether `str` might potentially\n * contain a line terminator or not.\n * @param {number} [occurrenceCount=0] The occurrence count of this token in\n * the current node. This is used when printing in `preserveFormat` mode,\n * to know which token we should map to (for example, to disambiguate the\n * commas in an array literal).\n */\n token(\n str: string,\n maybeNewline = false,\n occurrenceCount = 0,\n mayNeedSpace: boolean = false,\n ): void {\n this.tokenContext &= TokenContext.forInOrInitHeadAccumulatePassThroughMask;\n\n this._maybePrintInnerComments(str, occurrenceCount);\n\n const flags = this._flags;\n\n if (flags & PRINTER_FLAGS.AUX_COMMENTS) {\n this._maybeAddAuxComment();\n }\n\n if (flags & PRINTER_FLAGS.PRESERVE_FORMAT) {\n this._catchUpToCurrentToken(str, occurrenceCount);\n }\n\n if (mayNeedSpace) {\n const strFirst = str.charCodeAt(0);\n if (\n // space is mandatory to avoid outputting ` line comment\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n comments?.push(comment);\n }\n } else {\n break loop;\n }\n } else if (\n ch === charCodes.lessThan &&\n !this.inModule &&\n this.optionFlags & OptionFlags.AnnexB\n ) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.exclamationMark &&\n this.input.charCodeAt(pos + 2) === charCodes.dash &&\n this.input.charCodeAt(pos + 3) === charCodes.dash\n ) {\n // `dfIj8y|cXBl7}S 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 z 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�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͌R==Os-sclD`Lm-cWf_G)^6 z>9(J(TB|*N=Og2WYO>GT`*LBQ^+zvNGEelSfug=0$UU1b>?(~|_F4PnVq&7n4=$HK zbJvutvUsYfgu5TMlCBMpsjgdX$eTAR6X zchtrxGOl`#8VNH{-Eu&$>QU)3XhOTJTl-;U3Aa7@RX^x!^KA)aUPGze+QqJ~KEDE5 zo!qlPDY#=}QtY3)AIuN0x-#x9Poz;K%{#CEK%Up?xmH30!^#Z9pOzlC_dTye6Z00q zdu8&)1@!dbxfGFm)S(sx5u`ivGI8zb7IthK8(e_3)cu4mmO^6e@B!|;uC7vejzDcS zBB)vrK9D(bN`YBZkF*rN!NrBSuM-=$7mTZu67 zBou3?LI;ka5ted+&d14(P&w3qc_qHN*zU-1 z2`DsifHklVs<6g{lVn{}Zc%|Gvm@eIGE}W;ZMFy<_mZtOS8worJCTR_Q-LXqI z#x2&QWaLveE-Z|3ea*gDN3R) z>qJ+XB<%9cbT9=&HPi`-Dcrnjkiwrj{T?xur(lr#V>L8xzz+t&gbD`9l*CR>DPwQa z=+Q?jeYNPbg-hS9E0e)Ayc!`9rURcGIMKTdxMnJGo{m+Aj<-n@OIHjI!Uj}a5Lc0y zgGg{o5QZzsxt)w53CFbvVmq;nZo#g284sqCFc|B8Q)SYU4!MUC>=&C4K&-LY#8nMO zef8|3mC6ls90^Z7n@zvnm6wl7KqSkW-MAtKept>>aiWWen;9093fdDi{Uk5ID#Dym z<`%dT9em+P&8uE)_rZLi*~#yyiAh5&jX7qfu_D55uWBteAwrU$ilFgvVnnMe@KCMq zX9s&%F!*-T?3gCRRKeiI)$A?^5+sF~gvnpz<*P?ZnQC^YD0yAQ60hgFk9b{>cs-%3 z@;V8*^LPy*=dTsMR}vD8*^c6SLE`&N^_cI~Q?d_8%&KuVOs;Y28T!C+Um$*FTHV20 zes^O@7ABYrUi%`w{5|LOm%G({id|1mgu4AVGLq#g%{wcjtN53EGnz*^FMv z6>$Mc;*rJ-zswAdfP9o2VrW7^xmzR#(8FhcoTFckJ)9=*&p&e~93l6B7}E%j8A&$RaVb(ziBsv$-`xipta#uS!4!c5Eaijl0vm9YSj+@jl!Q|qnRnW>#Mf-ot?o@UJEAlnqFG? zDErcm2$5`xn~yU}lIR))61N0_OP5P1BngXqB{YFo(x??s_QwNtO&UhRMQIJ?hE}tm z&_HfnGtlt#d1FD*8W*QP;`7&ceK~ab~Q*k1l&Xs!3p}hG#iTgX!Ak$D# zO6ibrWKBWGD%h?gphla}`qq}bh(O7&_T(p|sC7(*CM9?BdxBIp`1r8Lb54b%-g>T0_)Pj_HhJMXn-cv_wWV1l+?DXRZOHBu-8+Tbc?$?pdOfsS+e&TZ{8w z_FfjxbFs~;w$;|V6)GQJK%qi4vO;AXh014L>cTa7No^$r=e@HVCA8~`zL`^gQfTg; zUDXA_SoFqjXvk7-mWL|m)2ogUd)VH5;R`@k6ZzUk#V?60+`Ie8*4z%O154u1;Xb>) z>i6Ydbwe>?uli8kICfR{o!(nzY7uqjjcV;Ysk(L)8fRZ-On9aKMz)s~6e`_RQc3zI zG?7rNgpS0vL~I6xD9h~=WsJ^|8`Zre8_ErPiT#8Ia^sVIyahX3ro*=4F6|I%H?U|8 z$7IU}_iNajZaNxQP$*ii`pX-35Y6vc0z}81KLbz6ws2d zNK;CYN9Gg-E%OJw;#8F%ev@|xOE2}=NT_4NKNJsYORkt#)q%~g zjH@&Fiz=>(T(^fXfJ#asay1y{&a|N1nLhUNCV{r{m6-WuJ@mpnsdO=>=mHY%Rvzw>Npi)%XOY;|(=HI_G59`Eis~x8eI!=*I8mH9v z#X3AHZ_AS+PbzCxYUBwXPIAfJB&;-LrLuun zJfOU(H>u#MnXV@kc|_smw{&T`@0z@PEb@veHNVwK`OJ!g(1{HV#R$vtR_@Ls+ra>T zwlwdHfI1MgyIB@tm=5k{|xLi8&UO*fpJd#Y2&H-{8Gs*H7*h zyXd)B>{4~#;JxBr(0i}gdC9%v1AXe$r9Mt&uXyz8o5nVZKmAE>6mx$`NB5Vsbbm>C zZ%pgVbnDEI=>Df0KHk=IyxczXNb5S5xL6fwacfJ1k5k&8;*OHHOfBBdq{7m!}rH9que?;ct?MbuzR@?mCU1=VRCYhU^0l z{=Bdc_!gTPJh3lMMy=eFdp6t?58QHN3#q&dcH)7P)C5y#`|tYO5^dY|-}4hKMuIK; zH=lUmrXQDFmC)eFEk7oiE`h+0ldqGMRA=YMZ9gh;xE4R|c&#*^)%fw|hLl_NSjg`A z5e+ixjl}<9eO?`ngnvlcYGsVqC`L1W-0`=RRwI7g_G*1)A%2{El{f0+$1MxWSv`K- z^n=Rt3_tkd52!FT`|tXG6>=(LyizeH;>XFqskGG3RhIA5SJcD#amT#AuP)AyH?y_O zb~-=E^7kss>f;pU6)KAQxXSoFDx*5NV$3Q=FMizd-PQ!-$89gySN7t^$s6?j-S}}! zT{+v~$B75-dYRkB{(HX5?Gi*cz0~azKW=%6+a-RSe6g;HTIb`p{S9AqhwqN-bvx9m zG6ZkkIlF@Ip6}GHP|M{0J0uZ06zSV_c~VPMFA`N#F<pPD-Hz>60##h83_k-N7i zzp%)fJ989n=YseL#exz?Su&3jIV@bzW|4l{3i%TpKQgYbu>5O(d}zJ+&|2}K)#5`d z*ZL5J4n{3LBu0(0V6|v}e5iN)A+$aFRVY+u{P8(Nhy5xVq67c6K1#KueVS`8&F->v z>Vi>+sDbvYbZoJMN1(J}quAuj#${a6$$^G z{ECOaA-|%M24c#8SNwO)scu9N0~MZopT8wNdI#_5Ti2d``uNweZr8my`i1X9ojZFo zre$ZDPl)u>|Krn7tBNMR@IqoJr2Ek5_XILGLHR#=-di6llVUUO?BeY5==-lo=N-rC zFp#spS|)aikd~HQTTk~$?*(uD#1-jr|Ky|dm*=cKo?@#^@dq=-R-`y}l@v#3u1N2x z|Dh-;1Io>_&Exdqeo8`>%Vwlmd+VcDQSETuW9jD2_gf@Ac=IBhO*C0LY8!34G ztslKI$;a?hwqD+`kB**e*6@?akb)n`;}k$m8*T_kG{7oP5t;Qqc`M7 z>i)>{VavCEtYB(w1e^E%eZ+Nz&s1x4^qm=fCMx53)f|>}Ia(tD%L_3$vi(SIw|1hI z9deq^iQgS^n$C&e9deq^iC-P^#B>w!lS1LtCCQ4ajQJNoT$M56ugBl;5Ik=pQCf+iLwf(I%eepVaz?n^W>4 zAl7Tp-T|%bYhRb-GhqMaD}Qog^nC!QfBgCX&E~|!FT5l*e#B_#`SwWjuYKW_vYG|1 zkJgtd)mb!xE{8?XAx8hq0G}avX7msA>&%^bsp9CL|InA7e*AmLiAx&g`_m|2OEa~m zW@@P42nLI^S^r&V{l%u#QheGSu~ADh1Yr8l(BP}JLJXMg=A`T*JM_D7%p{^`a7XU@S`0b?ltpQx&L(%bDacCj+ojTqV z)6bJvxjQladMc>{w_R|o6Sc2*=-;Vj2%)k5H6HS+M_5WL zM^C(M(&@xHo1^bQZqFVbsc`y2>-57M>MEM*p_dj?%;}E)UXj@UsVHQ)zFkehfPdR6cLC+%Cnqb#oXgAff0?pjM-MC+na978)ToIInl!9U6*U#wU$nN;*4DII3>Vu(P-C?kyaurv?-N0dR{~V|zwenj z-z68I&p!|Bch1b5GiPSboVm{oNG(FvkqDZPEFw`fi!@uwd4SJWbat?;9T@#U7i9O| zv3bukwk5mQY}#SY$eK;VWAh$`gJe#P=29b*yaiQslegh@uYJpjnfH+EM@?i7F_6o7 z+`9XzIiUKhEi)wlCF_3(X3VX$Wm?TK94dIFG!4c1<>nalSr{NC0au#eADEM4>F2h^ z=DrW^LXeW*H2aSXId_<}Kq>Zo9{OcJtATtLZZt1u$u&@d%;s^ioAN;yTaq4^c@y{f z;smIm$7J3eHsO=l608BM4DDXFIzNT}&A7X1G9rb>WDF=8sSAv8fY1L}Xt48_+=O;w zN;Mh|GzteG^h%ke|- zYL%e%Ys}iSKSh@m)*j6V2EuYhv0SWdE;>BiSV~*M@no{c;Jk+#NwyzXoq)CxHDVUX z(RRceMxS#|UCz8GuiPE-oemI*ns(|LIp)mWKSy5YCZ4_#^@E`^s}d{C#=}0{vhHDJ z*zarGr@NW1%z9|TER1InM-hchQ*3W8d)VfMd0!zJ=m((r$U?Wq{O}eMh?5ee#YuUfPm|#N>%aJFi}?l&@Lb5u@pU~$-(4mjVQq9sND&f} z3imS(K$7SSr9qzd91HS(=~C3D@Ao!+D%Ov_VRMc^iS%TkF{`e&8ncJhnDc6^#;`A! z+p!On2FWTzvdUrOCg8y?#R5$+lfM;7X%(i{LoOY&meIBYQ+vgm9v+fJ?6Bl=P zw)2o){p()#=!b?+hICIYC4qTw z_Qy!xzr1?fezL}E(C|Xc`FYH%p#ox|oouq#4=br}^XmIb>erNFC9wWUbL#X@ZOy}c z9W;2FpB#wjnUNF`{Zv%sqxNJ~O?k(Ce8tW>$+GT5O4v=-5VwHQ+kwFAyo4)z^v;mf zoJPpxvSL4{ERsT!QJ)UKiqNxLsu zo|Cg2c#dSxfIz07=t`ai7m_F3a?pBGnRzI2#LrTY8wT=3*?4YgJkBjp=-1`Vf z0V)TFPcr$=FDi#aP(U8IkTPA!#1(00BBo^psGH<^gHnnn&wW<4&S$6b=ePUB#JyD6Wldjm4 zP4VNl5s#1u`t#v|1N3KN{}D;Z_yMH-EBEc+iLx}eKFN}^^q~Jd-hZN7h?g_b|%)*tE=Xma9vH8>X}Yn{ddu;e1*y7@H!& z&d8gK{-Yh1n=6%+8748YltQHO2x;7sGO#&bNt={Z3d@gmPg0)dB4Zd+cazh;Dv7Di z#bm__1;-iEMl&6O8!0DArNdg9Uu7Pf?Rp1QUKVTq^vc?aYIE?Q1Yf_IY8=gp(Bm6xtDG!l<~WrFJpkLjkrki$EL`P(rDGSkGb=O zGO_%{=&Xs!{NLJ4I8VhNaz18VZSCM>Gg#5l5%EYN{Rd}a16L({G{?rJ~v6ewVQbw*p`*6Iv;7+1PiqaN`m^QVstq% zgas6Y;xPY}Q^I94!7F z&OX+zqS*}f;$^J{GT`r&YtNbP#*bi(*jei~o-!uZ9hBk|nzyyeeF;kSVND7{H`T>pESri5oRYH(8=9gfs*69L{GTLb$u2okAboE-) z|A*kEp|!rZo2eSQh#E>BX4y|%Kwz+3Y#r`Xrz-LkkrDrHmbPC@vKdp7=A~XgiAV>B z9TzJLU}6u+#XO_Yt7{isTh$fOiEUkDeh01*TUcdoRVNXOgvb=+zjaniVym6`QN%SQ zL8&IfGLQt9nI*IQ%(7wWYwg!KaPk^d14JtuN?iLb(qCg~od6(5p1ym%FMh~4r!^MM zX}*89T$5GiTRYc!xcHSwvJAX`9`Lr2T@44?3fs5A5`tKOVa@{Zl_yUeVJpNDwn7{+ zF)CI?9AQ=H=&Ez=D%SFltuRM@Gi)Y$-qBSBJHG!TOC!2|fSzZH76uavw6pS*RRgOI zJ6@#?!zXj#$c`v_UbyGc%$5lUj+!v*&AEsC}=zg z%0iKi0S(v3T~OrjI0;M<8gz*u7~_ixw6j5H?Hx{_*g-oRwCAAXe(j~wKDzhWe#36z z;P125Y>dY;m(m}-QudAO+;{8_@f0c$jwzGwu z8VE!)gRO-u0nC#(;mbcSi-RZZ`HKe-l!M#m00aXAcUMZo?$iR5zO)!sw#7IrPv#cE zrvGH%ShNF68OEztJw*8}hI5fbh76##Yj1yx^rsW^F z1(!YG#13UdwX&&SqQkS^VoU=y*h~@quh|rzy~o^~#_SbaQn4jpOs?;o@Gmd(RqTod z>qK3f$;W?)taoV)xOs0f$}*dq^GOQ%u=mnUWjW@kk-ab|{z#+_&77@Y)5nF&J+_4H z-+{rHM8+Q*bpEAnG-F$z#9O>F{@|D655dt|%NOGi`Qlz3`C>eRuapvR8WW&KfwThU z03yYW9Tae4nU>+}3Vns#crPqcN*T|y!IJp$uM`a-BPxZi(T_M;5l=Y0(BY&JZgJ(7 zRG=4QE%C~M3$hLy?>YK{Jbn23@^G7^1nX9y53da~SYAjTvS{_`&g1LLQ>npf6zF#H^x~`eL-vf1ew2r-h#QBK3vtpkO7v-E zSFS*z0x19@5M3xx5x%}aaSfJKpaV=9tP5Wii0m05{U{Jw5$|+3xezCf6{r_WH6mG# z^6gZYZU7<>T_h%aeSumuSepVZV9H=^_^Lo;&j{&9fyjz@tHa5KIBBdvjmoZBfl38x z0Ej?zVN6x{`U0gjSh)gCV9H>N@l}Dyo)OZI0+AK*W`~mtane|U3YA?-fw%%m03r}w z7!wZ+`2zK#r)#rT!`FZ*gEiu-0+Bry4}-);q36len=0?~yr zwc_gw)TqIl6{rAH2CKqX1tNP!NIwchR>UhEPAIb~Os56(|QF0?~yrmEr3P zRH(sH3Z%i5!OHPffykZ_(vJd>74b5MlM8XuSb^foE~!AT&RXZdMFgS?W9q}#7pPN% zbt_N=rVQrcs{)ZdBcvY%A}iu4hm#9&(pZ67lwF$wjS4ga5P|5zn40kQ1*+6wH3}rb zl)(z|Re{K!5z>zWkrnX*hm#9&(pZ7g%C202LIqL)L?F5_rXqZOf#Mo0sX!i>GFSp% z6^QH^A^j*2SrLyroLq>L#tPJnrr%Z;<=d$)-2g-&x-h0Le0_mhG+3Jgy=WyEEGHxo z*)u}=Q6RD+-sf;~Ax;`AP@}SIR-jUW8UP{?T^LgpzP> zhqpMq!{MzCZ*h2=!e6 zwPY~0VYkwTag$^5;giw5#`mN+fGP2*n1A5WgTZ`Cuz~q31dAj5Zo}}MLYm3(f1pfr z)?L9J-v#I&eez5mF>A5_1`LdCxjJE z>sFvefi?i5@N}Uja{%Bgd?OI6q6)~xjSS`#o<%|ST%Hp@;KB-c3&PN!TQ+S&yYy5@!sPoFRE#(S0%@F zUVk2QJ{enb)NZM|Ir;l|^PY>%O`r@gS7d&^E-L6X{qRfs;pYR7EdiIFmoRM8ZA3C8 z!;~i!8PgbUT=?vfL+l0NYHEQ=j}8w7gDC*1JUyQv%{uB2zOueKV1LL}NBR3hW&*?@ z^uPJoA9DD|pP{UB6Mu~C4_Py6EBiw@{`8PDb_#YB`Y#xN%F+s^U}^a|{**7K5b3n&FXq2s}U4TT@jRJN&jtPYh1`6-+bW0kj4{h*r6$YnP zm2$BH3C4+F1^DuhTk;qY>xcLOXEemw{?VUYh?B-vSA52P|ei2qu4>;GZq>d4{(Jz;seRzTgDfGrN3krCR==Dn_~oQs`iC+rCeUlhx*-IMJVsk&-Z zSk#wf{YDz4nJ-nbG8dF)N5oYQT(W20a`vRZD2IqBvY$A;Wk#cy*;Ev}@tY{jb$ei% zNULu+>6j*5T7>9Lyb$#hby<+%K%fo91NU{+j~u)j_q6nf2x2{YjV= zV}jG7c!lzt^0LMGg@#%ocwByybVb^cz2;lxn2Qw@xt*5z`R~9bgRM!UxH3Kq%A3Ka zBhj)#nix#I4P$GOVl&^0LPXJOs33Xfp}cUSdQL`$i4mfGNCL6;VGgDOU?0lChVxTp z{K7uS7Ztxk+!slgwPAGo;dMEU*u}OVwDRwOVWsX!!b;Vzr%nA0$#9 z1#!fPbh3-ood(GbM`{~laxmwEflsD!=0;PKiZC|cv#Ckh)QlQ}@vy-d-w)bWM4MwJ z=E0Ca;$Jw%JR1U?+^HHDL#S2+#^MiW1u5o^6j86=2|#X^MA`3dSQI z0pl+&uql>99+|#E2nJu4j$1vFoQ#JAOA5UUVU{?0^gEcaeJEHoWejPa{jOU^qy-hd z&0`dZ%9>QCY8Bun?8OyD39HCTV15Dm2xIlQN*Q-4W1~Q;0v!r8DZmz?-;^)?q|1pf z8#u~Fo>W$HqFyqLnfoJ@^Y;O*JI!nF&h@gRu%a2QGBLaUPWz*I(QpBc8a5}{%1ryT zc@F)hW7{eFpyt2Gcwkt|kwf7{RBoQ{gI{d7;`}Ni%)A&*iqRfUc(Ui;LPt(n1fax} z++0)22u6>)`$p`4Voc>;_KIe2!)qcRT9@)zM%IrIWd#lf=JFJ%CIw6wr5VFi_~jH$ zg(;FGj9J=@7%;$ru(uX9K$8KDMp5eN0b9t+b1zx*~783o!QZBKGw5ZRQ zpHD&ITfE~|SHCRBNtTvVkonw=hBk@qxTs2h8x2W#m; zuQ7n6|9C0do&?*TIEUc)$$e*Iv0H!Ke8vY`V)5Lg-n$NYjm}5z@dBl=dY8M81(N{t zEm#Qf$A{J-XetHprxr}JNpZW8XYPRBX1y-}+m94-$F?7nF`h>I!HFccADlm8`ypTS zA~`w4z89~y!N`#cigiHb2Rid~F94%0-ZHH8Y{6V8SWH8YL(Yrrf&9jKk=VRlng39~ zF8SWj9U4FHbqI6rCrslh?=rP^z6j{44mBVGTHw$=iyq|AJV*!MOAlf4VOuOZ)1d`| zLW4;JZ`LAFV!8uoWh5?Ss^LNePiioJK*%{Eof{b$DZ6 zDINRx)Um6*v2CcQJaICSJVX=@geekEv@8~?`Sv0OJl8b#wbHRq2-%a~25c}&;jqe+ zS00ZF^V!+xRzG{X?N;xN;=%^Sk~_3p{nE#wZgnK{!+9m0$t)HCnfkb?UFoO%FZ&Ok zWBn-33@ECj6t?iNmjVeghP|}@hit-9L5qvuvNfO;1VB%AXosM-%xH(pMCIrRq=JYL z04X9O!GU;0LZ2*~sHJ z8*%*R5vQ~XL_nntRr8}|52#gB@s6nJEF5ZcYI+>1ovJCsmaq+@Pk+;@Taug`_AVCm zAsIMA-6jF0x^eta+A!uA`VOXUvAJ)EWR5LG=vS7Rc3+T|{Q^OtFGWIWM_ibHla%_M z6*Ci)FFf>fDndyYgYDPAzJ?@PsW6B!vjg2ph2lfP$w2F7Y{^Itmqmp7ujgmFhh^Rv z=1u4j>CI(9=KXhHUuLM!7u{By${-Zb4Gygk)Jj1c*oBy=DIVQ{8;1)S@K%Ql9q!cz3hv2zwuSPh|NsNQ3~i|XBbs;%A!AX-%Kk3Q1sz2So) zt9S0&?|^cNqjZL$@K&XKWGj?+gA)6T9H~2c^yPI*dgG9!qDdG!#%V`jOmL>ie75Nm zG;SQNq7N2lHzVOS@UYRfeFF!je(TKr&ll(S*~a+>=5p=&I;I|tbB*MJ`yw_B!?At@ zN9ne?`4SK2tjwz)1@-2g8)&2B;F4n=Tj6W>b4g!Q*cC!(tqc$nOlbyNBD=m)Pa z>Y|n>yw=9TxmEwp?Y*C9(rbO`u<;xIl)UF1q6mDHck_t7cPxCBXrW7yZ1XBI&oT#X z8pVa@pLp&;%%2AZX7-6`v{n%1`L= zn!yV8@nmYjcCa-A?fEC<*i&XFFr)ak5H%ZY%Y>pthL%eM9hB$iczDB^%^mg$$`c{W zaK7oebqQ|1tVH*_dR4+Z@`QG8BrXl^wf*A})o(U>8=k{P%p-Y;ElxQw=!oD z#y?*&{^Qb-Pr(J^aBn8VJmZbT?x`{e$0TM}74*M}%IepP=#URFe^nW-r2>ca3EDQm zH2e`(-l@{Vdj+Z_^_!*v82~+&+qhs&%=AF>>Y~9DVo9L2h=svvd|(A~4By9cF`OMG zK}a<|R@-TOHsYEA7yN)|@WEo>z{9-zuut;oxIxl@x|K)M2nLMd&LD#R^HT;3?lZrT%y$WxC!(QUPD-o8@})d%WK7rJ z{lvaAHb^X5Hu-eZ;vzT1wbQ2cbGU z2=>uIu#W<*ejfl2YiBm~n*wH|gBCNG0Y)!-Ycs%q`y^ryhug_)nLn6_x}WFOABy1~ z{x{?vcxG)*W>PcMAm_@FUVZKZzqm1H-6)*V`aJ-1(APQ6M!?LfyvCL0eDGb@8tQUH zKwcgs7bVatRVKWDerNw5{`b*;E&a5lzQa3cqxa9bzuDuyKW}<>g*SGS-0JyH z8vB)p8{Ki%e#^6^6WYD;8%rj1l-9$V;wBGl;vBz;zxBL?0Vh=_Jmrnw%wI8oxC(H> zGv4^G_*-9@=x_8w63YAq<{NAmX)}8nn7?3i%lQj_Ie#Hv%w=tL{JdySJO9AJb{7)C zz?j+b*Y~TPKaOKhcy7WM>-O}r*Kl+4^QqG8=+B^wQ;!_6x^yJYlp-fKji~O%`F=F4 zXn;P!qB$B?-2V8IRUGFA#c>c6$3ajW2}i~GWWpB{wyfK$G zB%bekoa3*rMpVCMXJD|H#hyC*f$YJ{#DaXWtj%sum9?&He`xmX{NQw~FFWhn@r_93 zKz(9|D(fyVt4B+LA$nRkPQ!?$_IaQ3mJp>Mkx!^?1(h9*HO#Jgti`AO?qIYHn2L~y z!nB3n2G=)1X1aP7>7_WgNH4{&h0;rr$h{!)7smui_60}eHXnn?(b2?Miy4wIBLng~ z0&l{`9Qx*Uhy3tG^*m*w_?PTg09wnqa%WhkkEz z&Qa*r&OQnK-ZPGitm|$$Lj=^h12T)# z`}~2iVL^GBEiV02nEs+@`VaQg|5_;hl}LY;%zN6gtSx`(o2KQroT-Egu`h@^X!f|@ z&x-u7MY1AorsEzxss&l$>N*s+=oGZT>Jzj80JJ2PCIBr#R?W|^VQ{XzLV?iiQd2-N zS(RwAD$!(BqREh_gV~)nbvR_eD9J-}T+_skM>NOn-jdJWA3WP-9lz&}ep(llgS78M z+%M6#6Hb1wJqB6MQ8x8ru=^#h(U=FlU&5Aeu`SX@ z>_F?2yDKVi$&n|ZhlJtd$1?w#LH`J=ZR{Vhaf>u_uE9ey=O9>S2Su7W*FU;)&&P+u z^mN&)2qq(UIqb0u=FHTs3}r50wPeErO#u}ap&s7>8>X&+$;Rj}JBJk(<397jAAC)E zB^GEB2@o37-ZnIvK7(BEfffqB8{0YYGGEZh1vK!KmK=j3F3#rOfOGT?)o+M){Agrp}1%_ zF+Vu*ov{A&92%&O7-{yOdhOujKbU$z|4CX!3_hf7!{EcVaf|Y6Br0_Hq=_q&Uwh=Q zNML*9&(GP?LFa8p-{+@g&rn)W24&J*x|Yq>a2SrbSsvuR**QqPPa!=azpVcJd!PTZ z!9ow@KRw`I7o{i?iBQZCjRuF2z;a>!Cy3O!HU?=vAQ~L{gDwJMKvWt7mR~Uc z6BPNUBO{5nLP?@Q2L>|#6U4A;$l$*C^#SucqM^$~9%U{<#m(^n^Gl+^tt`@5H5f^Q?Z1Rd`NbehcZgCTi39Q|&PX1;*Dva4^R}Hwvx69#hYZdk9+*8#f((6Yr=ikH;eSE?i+}6q%-;tK9h8{p z=XnA1n+6N+3x7D7pB^wTi-sO7XBy4sAh88QhNtKM(->`{T|3|a}a8N2hhXOJ~(=hslYP+q7mq_D80DPqnC+1-Fo0zG~ym$TV zC|o72;}VeFf*sLv zSzZPs+*OkHvR=}*p19VF>n}{P`DwFX{F_Jk!g8!4S&QbeOipSq&t-(%AJ(%O5VHki z4tE;)_zGVx;qxY4-be&{)LU&N z6NRLlbaC^upn6{%70b@EaGWO!sqw-nvwvDdPLK`DAKW$uD9NP}bdzxnni+;sx$EWb z8s^Hh@c6+6Se4AI+|fg-3q90;a&IK|b=j=&H_>3G?vPmaR>=g0182{x-P{I;+0%LR z8WWt^JR+7koyys8LKg-;-t!-o;to2F4@xlpiDmYMU*?SyOS2_yB^&T0+Qt-~#DWA} z=tg{uohsh*ZNb1r|NYp+!KMOZ`g5ZU&Izq^c#% z@L&76-?&3a)m&|^UByZclhL&lbw0<;!M3x~`VNa+0>t+@A4sFqFHUCsYi-1|EZ3VR zf-!LzqJ3$>61wezZP*3E*RJo}2_JO9cpQ!Mzw*U4D;`&)ed!YS6|y~MX&c0Y-cD%y z)cX^2yn-2Er?^l**kkYIh^*ICkI?z86|#EWe}4FakiXRNe)GpC`2Mn9enYp6p9B7T z`TkZi45%@`8~A^3CmTNxvQfxVHteVqd1k{Sep!qd7L-MHft9oV>*yrey{**mJo7{l z{)L=Kc#+$Mr`p)?cLw3_4Tqn`TO}-WOGxII27!MT4!puXFb^wD;q@e4D1F!M804=( zYes`^W$=sO{7?{iXwtX&evo6sL8P4LP)gr_58vNi7|jGQ7rE116a!flH^sr4(Ob6n?uk(9x`Jgma^R;e{=1Fe)gI#hn78B`lkd$4~B_Q@k6=UPyR<_=Px(5 zq38ye|1LjB|13T#SVo^5jxm%@sp_MGaAU*a&{DW4BUv1_AA9?eqdayDlp>@8n`oG^ z1=oX~+dLh#avT`6ybJyt$A}FyFCL(!kpBfnEu-<>q7Y@ZBHCsD; ze&s%1gEZh4cm`=WKhYTI#EAS-bZt7IgFHx!Cy3U4yQKb=%v&dx)UO4Si=ItMW@UQ` zKI7M-Q&TejmC2bmPnOIE+1d21M-D}sSY@dpZq`$HG`$*SAz=SAyRlpQ^f zRL@Tloph;ehH`2G_j^i}rq#jJZM#9tX!|h*jjQ0>xpf2&!fn9YX)9&>N0+yH9ao=* zNf<=UKGjJJXS%OxB)`*BI;cEU6UZ1xVb z;Y=vfnv(vVEdRqr^#>2X#BTbrBvIDeUF**{DY97}>?i2h801S>HVJoI5UzP^;bsQm zsWtSk>*S{TMxe;?DeSk{5shJ zh6UqTW(hs(pFyA1%U+Ew*so(9C&lIZhT=#4K5Mr(z7I;5={~V%BKGu0xX+Am9|7)$ z;dW=Z0eN?B&@Nuwx0O6TJP3Ef*23)+g!}qd!ioJ~8#J$G!&c&cFbLNc4QCC>*6Q%; zZge1#{Agvyg!D>OW;_A8QY!PKFeTndj6pj+m=f0KPL>|(2)2OCKZYw^)p11DjbRG?6S90lSEbfe-+;9dpV z6zEi-Spisa8@NURWIkQ0^+gMTQ}UbkTJQPr>VMo`nxC<1+WPy;9w}LL^{-AL>Upi_ zt)F?waeq6xfG7ed&sp>7f^WSsgDBPz=eo1!*0wXPu3eD}*4e0Bbf=#)XM8pwXS{k# z$!xKdoa6$6`MJA%!ZA@o=9m(OqFmr)VXW)!@QJ%Vjl`NW6tU$>;=csM3!}u{5Nyzx zEmsm>9uQv`CAOm4^xE)j1^x84{>m45|0rQwDAs@w&8OwaSU2D96Pr&$>E(Qg%VHZi z66MK3lz$6T;W7+AN`DtJ;!8>1F}{W%zN#ptjmDh}~rf^ep zQWSoUvgl!9WPf~6OA3advynOCxEUG5^hNLXq$ti5ofX8>HW-zr$mSyG`~0I&280Cb7sX3KW4ba-vBI8e%ie&N z+8<<`E*mj1NWvW#HPCyEUIb=4jWL+OjeyxoF-%j)y*UIg4uxp}jK)R6w}#-hQ1}kO zXrClZCt!`Y3ow0KBu~p9GA55?28Lr7aA> zJjtfCDZpsICAY1BPkY&HbMT3LB@I^sB;5S`Zo$#I3ckSAD-2Qv zUzFb_{4%f1^Gt4_M$o7Z_?-7nL)(!@Fia^jPlANo~-4*%_P1P z+AzNC!ITPeB=_rkW7+rc#_wT&Sq(tvO&gQ=H4W1vHC~~sTo6UU| zF6Ln85XbF0%mQQ$5|X#nez7_&Y8Fa1w{}G__^*Xa zX3|3++`Qe-DIUZPE7{O^#H8re88X zv%ZX0GR@iYG=(e=7rDSGZ`mJj{@1?$XvjU*uI4Pe<*!eC^V8&?=MXLMmi=_^i9cw# zZ($SBLT}l58zy((IPKsfqD9`avv>I9d;dK9pjkx0>iB6F7F}`G&JPpy_#hp2=OvdG zGP~p{Mj8KYp5(4$cdDmy9J9x3r`>VDp_h?3=`H)-Z<_vj>#eUIL=^NI7QY}+bo>a#|gD8!w8@yA|=_G=FSfJpi^pg$N`W5Ql>RNd*cSB=jmILpY_zQLvZI!FVx8 zUL`z)0TChFd129wd=sEofgA?GIeJEiWp6y6s!FhO0-IS<2ygSk@s8_CIFW0YaL2w< z8-aO{6W{$0tw-_zA(?hoL}VbP8axBF5E#RdA^w*-GFXY&XNbb`4Rn$D`^?4(v3X-4 zcjWoV5n4Vinw4z|bTWg6ct?_0T{J1B8s*riKr;Z&A)#by z0E+#R^W`XyPFo&k=Arg{`8R-r4ff;9Z@K(da>j-s-P4jV!z;~LT#q8YN%<|5-xLd0 zc+zN^&yR(anazjCZsJy8JTQ4Um)=o~G#Rlakq0KNB)CKdaie|vH7KJ+-%S>g7ga;G z3zJH?!EtLL{(p-eP2;<}qpfToX?sftFjupq-~Fp@M(=pQ-;C~TqpQXPRRp~5BCjhQ zuW^>w*HX%>dMIA4-0g#{h35RXBC}J{tB^C{F?&DHiUIu#ub~n zzIC&{Ke-klZti;fg{ipzqFL@2Y(6h?zu?t~VH@vHV#_7_FHo0RXu;5ad+Y&~%T$iN z)@#~1a`h3XcDUIbgH3ZcG+T7Z?O7BU+pwj}DAaskXk6rd8zIaSCp3n_3%jWj=1M$J zWa4NE`J98i0n&~Q0<1r4FQa}jELuWr=vbAuEunPLz<=TLaQ^ii+OMNx`zJW!X4S8+{*cZ<2AxT_cycuk%S0#{`9xB|J!%} zoSgdO`;q=$!c@+U>%UpE9A-#0Se$k(^es0`%ooAq5QA?4d`JXJtgWw-U^XX zppUujQ-|NIWLWGGGcO(EE(TkyG_4ABM2PiOB8DSN#%h{CO{5ZtK3-WRBGf6DCWePu zmk6O9RVKr9+lMSK!b6r93B!kk$GVfL+=Wb43M^?|$=W_-xvnt<=&7Y7pni@U*6%G# zOCt2_onjD!?(;+TINcy`Szc>Cv9;JeIRd$>aW)^aN*W=nXI`Gb1hVTp;6=+c1Y36^ zMJ*B$`93A&r8DJ~7cGk*vYDMT;6+QJKyAkiG8RgC!%tCHU7)oiIQDaJWA89E!Doa248W{rMNtHGTLt>d&SnE`lNI z&&Byow(>l{JgZ%AC~*D#(l_JgrEbA7g&<$|SYPmd<-)^JHd22IK`&a@jF1AfD9{Fg z8Y(>8Lzc~OL;ab!&{=UBI82bhRR9{cfF%5^Wu>_fmW_UW2;<(gOo7Pni_jd35lq28 zi+r04{iiKS^p8UP*rzQ!84uK5)P{bp|MWVZw%n3M1|R=bFDke`Z7IP~@X#5m0DAvY zrJy^gFZ#6QeX?iY)izZX|7pu^##pzR=7{ zgxpsov-{s8dXz7tGdn)(_Qz*W+wobm)QK5S_dbrY-T+H^5F4=}@#%00-=@)~wrC$j8 zM&IwLN0Q7=J%-7$W-`-Gmb);Lo_tJy4zB4N(9#lfzn<+{c^iW@LR2K41btb}<$oe)a%3fXA(Q0gELaT{zc zLz{)4g`TcMx3|MQd6+8-DgqfXUF^xHE&I9FL1O@?V>MpTi-Ji`+#TeEb**6jG+0;H zUP=nV`tys!87dL;dA}6;zt%^?>o!iLUp>gyPcNkTL&PH_P&^tnX1PW4OHsxze#@m< z(u$;6ru157y`-#Jpi&;c3miic9ImO5e71(U-CV6$9R*0rl>!$TtxJ6XKz1K~zM=2Lq%;ec|uM-heDf9ANyb^&H_lBITiB})`t z09y#|ivdfGxX+czH8CzszW|;BWen2b-rAH*#C=kCdfTw&I8P*W+P%#KW-d}HmVv}# z6zCIM=2N-XHyO?xqEswWp=wp2BSIB=iPQBp(Gj0|h|@!>5Xj(mv*sdat_C%zDuiX{ z-sXg+tv16fFK4&Fs8Jb3?4J2muWtd|RTngD=Fx-wDoGWm9eMT#PLhZr6SHM)6>9P! zh(t{zZ*fAr33U=xXWo*X7nAnwTJY5HYHHfeJGe(&T^*MrR324+W)a5M*4bqtYA#EG z*6JS1!u5h|EhUMmhljcMBR|nd8O`2v2e~MLi4h|stS_kW>MV8cG3%g0j$sDByY}fmP>rg)EAaZe8r4a39X(ZBDtO;Vi;#kYFE+5 zgzT3&>yKg6)pM~sc46mF-24!_*jyLF{E2kGQ#5+W?qYVtF=YkgJM{aWyVtWEIEKX9 zNbqRqVDEdHx*+H_-}hWDfhhv!P6j;#ZZBY*{fBV+#5CJ^wmr8xfx`2>i>+~fo8?ox z-qx@C?JG3symLe%?|Vu&76ajKIMlhZ7L2w5Dt53=fhGm0>hSVkw-C50vaB)*5LRuA>7Kg00>(is~LHq6T3l)(s#&s3qJ~zKizKin9 z<+~!k5??96M(pnppjm+y1GWg%NutBJDlw3Pa0ucsoZK5XjCAj zKw5!v03tHID6)sIGWg%X@x)!r^2`f6_Dx zUv5ekpjUw$ji5zc+7##nATra7GPmMO85qKsxdw=^Y*e6Gfj;d2Vfeg|%-!&$O!TA7 zmN$0jIho0h{-m)oryvZFs~tjuj1L8k)U3N$LvtUwC@k(pkUS>6VN%naenT&}?@ z6{u051MxDAUHGcZZSbT_^rOs{H`LnUWJiC}SeXlzT}pwp0yzrA6-WXQndwED^YEn% z4B^Y%iHR%8-fjhY6=*@c4Bv*Y%1j9;6a6T&<&B9ghm#%sNn>Sh_Sq@Wra+|vH3~EW z5Si&knXB-n3=HARoB|>;rxhqypb7CZ{9=4n=4NTMQFe_AG%Ju+pj?4U03tKJD03OUlz}09nUg>yt%VAt6sSPF3}1z>%3K3a z%0xfPY1R^pwE6}1q z8u3aR@l~07;Ype3N0}|}`T1oICp-F=1Gh4lE4xYsY7{6`Af-SWfXGZQ$}9&BATvYw zGUsUUxB^K9iV!bl_V87i%i&3x=tr3?Z?r8ACp-F+#>(8O3vk^E^eWJ-K#Kxx07Pbb zQRcjFvara)*;0WhRZ4 znF9rhpiO~J1!@#%RG=Av$V@NFT!$}ZUC3iP5o#PB&GnOopVndrxS zw!G1nJDlw3Pa0v{iALN#8QVn=PsU=8Q!yQ9>G}9`Wv3(`j&5Bm;F>&eW z0Pl8qA2SQMad@}GdmY~4@IHsPI6MbEXYy-uc%H*+93FRgg~JmLPdhy6@FIs7I6Ud_ zLWfJ?LcSu0OU40D5y#*}(h0l_^6~s{Ilg=>73Z!czk*z%qQ@yUC}MvfrDta5;&rrX=l4 zvX!M6Ph!b!(PtuYeV>^v&uW&^aqiO;AD&N(Cz8j3ika{Z&-TsXAltqpE5jK0%CIKb z3fN!=Hf|gOe-3Z>PV99!lDa}7ERid5@s8|Ect@6Au^VS%(9$yuHp$kJq^fVB0x1Q0 zRq1ooB@RI92)$TG`tTK4CxlzIgR^_5P@>d^bMb~SZHew&l6)0Yho(1Ndw z<3$$E3~(IpkU|+y5s`;z^+Ht{)l)JZ)l)b-s^=Zd4+;I?V|LvXNf8DQfp==313Ukn zT2UO#hcWX^t2|Mx!(KbLNKSTrPu_#{JUziccd7;=9Z=SPgc{(TMVH|9s0q-xzSO&I4# z8U@GHFTa_Mg|T^Gii_RP%dJ}U@!zj417d4j0U)VyoXHiyQ-CHwT=LW<0U)yH-fm#< zw=C0A&}fhV|15Qf0-QS%enx>R7ru^x@yDs+0=hw7@dGY~NLOxvlO6p@W0TMX7vZ~D zfmRD(7Y^L3L(9l88l|uoP{v9c4aPyz>il31&`u?y{h=I4ix?IJGq})sBGCP2`SK}TojMldK?&7(P)KV$?8~_16Mg@dEshI;4Z%2?vy~9Im{uHb~Y<_+H7My~}8zYXR?|-fYiO7RS?tlq9OrP65o1#IrtD3+i z@>Fga9Bi8vdMcM0XZCxat(j_=7$tE({WZFC`&7TDaw#GAQVUD_RIcPxW^>_nv;C)X z@tEPwl$0B|w)Ipl9-DUKYFIfCE<4d{{bc`v#KV%f6~qtGoh8Dgemz= z%WpZ?#8R?;y%4107MI_o{1(zb&NZ`?*@R^}iz3%6%~Kger1NCUmn7 z{M_mYE_Al5BjsHGXhm+KfM#LMh8rk@#G0yKhLhNH5VFs=fwWImaIo{Y#TZw@KIO5f zF@KxGFYJ?i(XEJ!`=Vf9Vy8_U&U-1)t3a~?Y-W*YG~^bjj=n~}!fqkOCelXpk*wuG zDJ3G*nS?~xZjRZNYgFoiJ>8G#svjj_?UInl9#Wc}5Zn(9tHVI%R**;@*_UDQly->U zmGGpNRYV`qZ6M8O0=71 zgp07;MwnauI{Z)@8KGTVtF-z*5%g4#AhIX1(q|JQOzjJv!t??7Fco;gvkf{lsv4Wf zqCCy|QNiQ3>2Q?h3Pf2`vWa7Q!ERK-@X>?LYR&NZ8o{rg2&rujBNo4z3BT6A^K!cHpu2WM~|)_ z)g%?74@%BFx^ti@i3q*t=o6Oyo1}L}qIMN+N7(pmo*ywj^ZQ+AXYK1#RQvwt2gkoI z?Ozw#Kjb3pe{Kve=6&bD^MfG6Uk$2E9!yM?{BUnVRRMpBK=SHqAbHr4VE;kxF7t|U z|1%silWzDsnyM@JVxKX|HWlBvSC4~%01^P=>kj3fN_v~m{(@wL4-F3IR+p?E8hnx7 zu)THx*6fHx_l&2VwdwmCG6m^_lF#DaV*VgWRS>c|{{Z==!2LQh-m=H%-Lm7uBS!SF z%X6T&?BBon_ER(VyZs@ehkMJWEV{V%xZD%}PV`uB+4#PK2g+wooka9RZ`rcDPrvYI zAH8=T(Nn!;1z+vme&9V@785cY>6p5iS#AoW;!>97<3O!N$I z*-jT7eM03;_gq2r9B+4l|_RtsIH2uuh7kKgP zq3Db#%@N4-Yp68WP-(7V8C)al=oM(}E3For?M04Mjv zg%ffDqyb=oG)V6PneY?8PK~uo0i!^l0(r`)0|0x|UHI~k>*|zNM&0}Zr$93Bb~qy- zP8uo`2H2M52==O(M0Ad^odc8O7EZ_lyoC#-=WSsWh#jAI0{0rAEXU(GRi33j1v^Ei zfbtaXQv=m0*eEiE6cVA0dwVE!9NNt|us0eX6u&Dm^n7~7ed9bNJ~ryU)vN;Zt`Bx~z5{~8rwX^U5j0&M`oha5@cs+t^fdAOyXI?vPC>C42Gr%9VA9+j>R&| zfU}R0tU^f1B3sZT+U}B)xfh9X`^$D)b$GDiv;(EE)B{~mIZuksyBy-;0xB^K93IPmtNRsrfta(V%Y`nr{|9d1t_P1(GEgBO?n-V3* z&jNHQU;s#u5yb}3{E2xFCX3~}(u_OOo|jBp(R5VJF-yPG4&u^GcIfGn+#RAsTeZ?m z`*NGMA37kBX3=bzVjO5={|kpIC&z9&50T?gB`y<`LzPs+eupZpxN@kn!rV964hTak z#XKo(*s-)8Bk^rkeo-lM+-{0(Hw%NQ6uJ}Dub_W%Zl@iiAHdAZj=rZ#Pe)#ORcMU9 z4b{u$7LwO4j+Z-WxpGJ4^|hgRwN7TV*zwqlEnbc6Smbe3imr@wW3VyJT$OQc7)SOn zjr8ClOU#c=-0JpR>AzexV1DeXKl<}yGXY{YV%EZ`Ip)kuWPYq58JQp3c;i;)$87%y zch5mn)l>vtBgfjtEX8i2PZqy|7x8M9RJMBoQ+nxE> z4Q||qzMUN5l=B4(#TA1Nbk5LuM$VXuP1qnh9KAPt7!w{mjA<@MNRCb_+0iRU51}I5 z&)prVq%U+2S=^KF2HD&{*J(QkUoeri>sd?LIpAy(I|uSbQ_}`ql29hUIwh>{%}Q?P8Q7tz&X4pe*#IySJ+67t!%UAGAEMI6%`axcg>w&lQU0En zr^xxje_P#lM>fxX!OlN1uX1mg%_EyG3AL-3GIww@>K5pvSzi;*Cg|VVK{{3b?1a5v z9R`ORxI#v#t1-J9P65o{4{fz3b>b;4Y+h&uR15y=;M%)SzP z1>OAGBWUJYmuIoLzXmaK-A+CV5NV6Wr4Ez=GzkkV2+G%<=qv|p))m|GY}Jqn1tN`$ zFiEKwjXSNjwC;mt@WnYkDIh%hVc zna>sZwLC=OV8hbW$F(X7G3MiDsu4hB{g8b&($04`y z;1Ryp7)U5!NeXDiQ~uddp&fWObjhDts~l@kp$AMVRLu^?j7uc(k^WpafXDT0sLkbm zf&BI(ChJoZuM1b$o~MJS6Q!2Yeh*bYYwkkYCO)~1`uR$=i(tt5nfB)=*GX#D7xIJp zS->yqr+lFvMdH55of^igsyttfvrn{XvALJQ7p3^WRRLk?PK>hP&FScy2$wow0&Gj$ zQA;eB;1H?XX^j4nnLf)_q!grcXGu>HUGwDEHU<>}V>7;+bcXhwV%|W?_`f7A)j(Ng1BKtu$bda*AM~;^k{Umg}G(zs{qIu|=h#J15 z8<08vPWtwHnH_(Z(~Ltu%J_wT$QO3IQrxk%O1^d!Dn%HFg8&Hy3KS?(zylCHaY`z8 z;`DY{0b$UAWDCF=CqTCXy$a+AC*0>FUwabLUDf8FK_wq4pNY!3M#<|GXi{LY0<8de zj?r;;CsQT44QIHMspMnc`LUCinkizY6i6#ju0SP#fNSKOD#=aRhmKjVR*6VUBJ2~& ztiUm|LPeO7-0T8oGGR*A(j~J;3Cs}?Sv(kwGw+i9+4*AP%nKh3LAJ1$^~=waJoJ7V zPIFly5#9w#5s@7+0a_GjQ=n6UZUE$Fr4Jusg~^7WDOEW{O7@cGTaVclPC)7JL41}l zeWg6c3_*tTM<0dd51nLn5w2Y?;_DU*XDK8dzJ+RvNFCyVB?)sE7)ZW~V73ojZdQqL z$@0RkP*#hqKehzU%Tl$QBOxbZt$Supc#*IM|YFPj0=P+<*)B{7R%9C%vEB_-cC2V_FJYLb&G&b zJI>+SflwuFbXWnhR9q4klHzsuns9dqR3kK+l%c!re=VOKZur=*OZ4m%jM>@# z!LqpVOBpBXYS$;&u%P|3h3LL$|JbOpW01rbb#jH+AOW`7TDcRoQW`i>yZ;}Y(WJfz zhdKqC6j-c4D*%oaB>Dy&PLLAk2iGokoLIoZDW$+rEs@X3ox3HaxlQ>{gM`mE8zJQr zIf-i(aJ5-!&!y^dD-=$|EFVrmv2;=6Ev#jW`rKAg$f6a&@HGT5N<0*T1>Jv!u2?ziu>E%75gLB z{sO9YyQxqosj=2#&{7nFJ6aOgFo-)sAFrWdKOBQg^h~W*UuL@bj-G3kB7hl`)WFj9 zz2i)vb&%vRjP1X|)131`C=+Z(c9>zxPjeP_LR6*BIDR1yDz>>yJyZf4V2!y-B?wV4 z4D@%pdMS;qB5TYP^$-UnM*<*24vKi#(h<3OQS8zZTNXjF9jj+-wJ=56H{P}*hfuX@ zC~-X-2C(+SKVPg&A;Ep144V9)!7B(UL)&+L_}=_-fBZg?4N&d+B+V4srv$$kpYbb4h<9=gQ~@07+^`w#Rv}Qa zsjbMzt(aT!Vl@*R$GOw+_CfJwS6Be*a%6E7y9$NC&Y4DfuHs%UWH}TWOQCUm`R8Tb z(P9jh#V-p!95?4NAP|hC7ud}+4ZCwji%F3Ffoh;#1hpE-rA&K(+IAFd>tp*0_UJL$ zZttpwJ&H_8w~u1mN0Sf3usd`#nZ?8=&X&&-oq*A!$#mw?H6SH#IqhEZlqSX*iiYr)}>=Br{itp~(@(rzpZ^pE(39?BOtuoa0r(j{M*Ecv4Ugs*5pYF7t%3X~~Op+J=a zeWP9A9Ce8+kW`=$KtvmHRl1V3DA1}vhXP#+7zOf>QtD>{U;fD@?qFVuZXf-KlQZ$S z!x;f_(n#_ulv||&H3~E;(5ygGfdU1J6z~)%1JEe5N$S#to!$~xw*tKi?riz@2H#wXU5GRdIRiUyg zQovK7Oo0joOr8_HSAiV$iYt%=AgS^LH*4U<3bZQFp#X1AkW8t9WGt&Xe6_47Bc-Mv zQ$^0iYaGr9h?B;qs!Z9HE5JJnB!U_R8WrI61mcxYpg@5l1v~(fDnD=s4&w_|rvlvy z^eT{}awcBka7I9!G&WT=%C}B|CIuENz`GGdtRe+c3h?>> z@hVrK5`d)258R6>cnQ;|K%NFpC{Un)2g#VKGJG{vl#x=?kEtSO;%SF70^+2xsp4av z5@m}5Z3=WM(5*nZ0u>5WDNv^XuPu;N`GFJal~kZmfs_Ji1qvY zawcBna7I9!G&WV8n9Gq=bt%9XPHomIkf%}dy;bpQRDj3%ZKf#D20&8f2TrM%rvN9A zgsMUTUM(Ol2}s6N72vC>qKuT9eoPfP6Hhvv5fCShO;sOG7zn!@<;yet;*wOLP=OW= z+^PT{^Oe9|3h){MNtGYCLcJ;#s8OI%fo27AAQ@8?$5&HD87VdWm@0B6p675zK%6u- zRY_%6pg@rVo&seGbm>OHZUuT3$k8xy0Fo*{aHEE4Qed$HtqSm{zvPZVkB_P9!&g&9 z87VdWm@0B6-s^BiK%6u-Ri3g-E5I}L5<#T`H45-Jy?AlIp#TX53KS>;AgS^Lx9Ut} zn*yB*bSu!SKqn+)s=D#jR8dAsO+TiJoQZcioDmQwjZIahva3>{PJt!`7AwHH6-i8? z0x1R33X}toRQZ9sF`5x7qd=bmc}kT~pcRraRUP z$DL1aCOFvn^oMWaNQvju-B17wNJqSvstugP#Je26*x_vsZ*llyhqpSs(cx_luX1>Y z!^<7s>2S~CT@EjFc(=pFpg&Jo{qrpTMA;vYCaWNW9R1soalZ)(m z_DlJoGj^9O`b<)Y^XzZE$N3_0oclDB3(u#;lQZ$i7SrC%5TWzzGR)<09=@S%;|+G; z%WRZ^v44`C+<3^p{X?8&f5tz_emSOldVa>LZdFrNzgdA61=&m!U(B$;83A$9*i^NFQj*u9 zK$ikWfj$f998`_EH!9GqKnnmQ38xppQ#Uad3EY1h2;OdU325>Y;4ZYoM3eYo)~Skv z?M9KF4>$o~XdZ~?98?>kb8}D>p9;-+C#HZZO_+(GQWIu6sMfj>U-)kSW^F`hBj2u# z_|Nq`iRk=;^rEqta%Rbx2jq?hosW_EadF@9A8NAiZr*!4ioe_sf1)4$F!1mh`beb5 z4-x5&5@~RNK3sdWuFPmGIj(ci^Yc8zij^6hpYJEjA^q@i{qS8xR-T{l!m^+4N|u=` zOjM)h`qOB3erzrFZ$Y(+2W$#<=jW%N8=gN4=5@s~V1MTF^#c#R^qb!vxIg%g>;3(~ z4FEBTH|jF%4?cXN><=#dtQM*`D?g4sw275w%{g1yAI$a5GJkz@82T`nw_|h2dAlUP zS@*>}aS`#%#woFRH4?(P!0xm8_Rr57)Mi_YeUr2pPEws)73ff)OMx;4$`zJ(^FV6g(N0H96t^J}b2wL5#C5?hs)-*Wk_l<0aX5|WYQCjeCA3~bxB26()SZ32( zyxL8|{zhIp8#%%sPCk$DOEB(F9CtPB6BY*OV0HyEs4+7OzB{-X>sj9Kz-h>K5e)6m z|B6W-YJWbul#(O%z_)0)-I^KJ_8J5cwQpotEQFU~e}i?a&W{U`-5q7um|O$TfN?L2 zSD(x?H)BaxP-tH>C~^M-pS#2U)j40Y$CX60++KUsic&rdrAtsdbH%jW)(f0d03em3 z28^^)P%>7ER;U&9YRG;1#or0%XU~f;!Toa1qO$+@EUaxN*@wo40REu0Dd4dU?jP8E zlb+6&)9UPiz!&;z-hdC0IFAue;?iIBf7mP}&@3dw%dM^Huq^B5hXt|gtE~3@&e!7o z(R+A)c=@9BcFV)ihgO$<=k{+ez37&`?&5Oif!@-6ZoO-K^OAWfqKA7+KfLFaE2jVI z!7)US^_G6x`cVBZZ~1s6(G$I;Z=5ssxbLjL{x+hgdP}eU#&_EunfTX#5(v6hu?)YLos;Wziget8lFd;MP&MTPI~qiOaqDH^}uLG)2m9Hr>u}Zh2s|UFA24R0&7r%J0X;D8CVK%S`&u99Mn| z+!+VSeRB8e2Q5Dv&dgvMgYqMRxmDakho4RUg6AqA>`mhT&^`Vs{(ZMK@^liq_#-W4YKcmUkLIFq$NA1OAYn9u`Za9txs z`y1S^bE37swgCIxuanK~oSDM@V5B!Q>Fp~tzRmBtCg2kQ<|l|vOds2E0h$$Pv4CzG zwEgcII6@IojP99Y?9*EY=}OER=+E*HK{&62RBjy=6@k3sf6X_LCb~%AC zH0>)xAb;jEGTUQU`?}Lz)F|sl`?}#*QT)Ar_{)L^_O%n7)xKsnmdCQQrAAoedg)!L zQjaaLm9tx9$vuZ|e|2shlq;Mkc`ip#qn;T2?eTAr{&Gjph7Lwxhg7lb|AT90(ovVY zii#6)^yY0M?qva2QH81=h88b><4zG94*DbeSAwca;mmv7(;|0^*yr8M9kR*AUSuRs z73?5aK;hjUxdCcQ65phn)>wQ9UooXa`HsHz?LkcE1(i&fn$C|ZSfzc_xgSku4zpgb zeF>XR7Sas9{|V!{lb8i-Jpa{%yxjk`Nck+G+iuRS4TS$=`CLW%)wf!nu6%y*Z7HAS zaLr6waG5Kg1+IL=kTNDUr2WdrhC}&``!UPHZwg6bP8Bz6N=awFV8%3zIrFWdO)0a( zeAq}uA9LWqaMqN5@KaaqVM-qeOzF=qVZJ}xvxuhjk0-;z{7y}2r2m^{9~>4;esbTq zB*p&kFD3oTIQOC~w(6e%tlTr<;#Kdp#}x1lX72SARTij@OVo z4$)zsGAzcSOZO7)&&vMY<-hoH%eouAhS8he5dFhThwa_DUiOMDUi-Vb-mnfYyVnHs z;=(Vt^qfb#1yk#x|C>htw|G1HzczpFWQ3XZ*lRfp1|Ru@pWOD_*}g1nbnQ#Nqz{e7 zL%BQ88#Us=Ke0K;_m+M>`G|AU#VrpLJ=9zJ@;|$l9k|PJClNgg={sS+v$s6NWaVqJ zjJbtP#`vG0EE}a8zY~%s-T1G%VZ;CMBPt7J$gJ{KnpaLjd7d4#7~#>49iO`QS6;%D zI>x6~QSW!hQ1zR8+Xbl{^UN<;*!RtHT9o@2#3vE|ju96kVo7AsHVB%Q-*VJBWRu@c zq}e)@v8}KfBfly94))H9+w|DVe9lhGha$S3I1uS{)2^{mUC|2WUH1%XlVJd%U3Kv z!-h+7&p*w# zY+TNdIu<$q9^5jM+J5YE9*;;frc1m)_}9tzu%a1?X`Axg6M7k-~Il4WUtqJj5)@bV~jcG zm~-ys^L{>mvy{&<6jX@6A7${}glztr1^m6Sguk~j)vmws=M#XkYb}3X<zAe;jaz% zdn|hpPz`iX1G>MJfNme=)vX`@SY2awnRb(Dx8os$52>q-P&+1Tx8OyV zyjY`Nyl#bO0xq3Ozr>(lQUy~#kyNQ`RpK|07@bU)@CsjIZ;4=GPcU_TFta_Fxht5t zFPQnEk-6RsZG(I9RHLiIv>Q!(D{`gdA((p5%+#>(U530nY-Z{j_%2J{eQablnVH)x z`%`$AgLbpo)RAp;owxri;I`?b>|knBF!Pw1sUdE)?3SRt*=%~7iJIeyHUu+|o0*LY z{5H#O4cgnxroBw`t9YUdt4;CJ=?Cn8&kJ)YVw>_A7G!8v7bp$h` zX66Pn^ROA(ni90v2JP1@-~(AhPLDNe=vZbA?M$&ojlN87cc%mc6W8MJH7hU?w4T_T z){Nok*%(-G8Ki=6n4i8D>01b_3VDImHeyw%=>kubo|xXj!VeP=`t+H-5Nc+=Zie1S z2^Kb5;U9uEq_$LD0Xc&;22+m-x?H~EdsZAwJ+9vO%SmSD8)m2#QwBbIofU^c(QB&5Cwebv$Ab1cvUq4e zSnJ|9hm*CogSCe4kXvwBVB&jVsTls&;cv5LUtrlYAV#J@j7;rEjClOjOa2E7_a*Sj zgRI5h@xUj-OFlYIji>SGNIvr8`NDV_56`5tzsn7Zr}6M$*-1FqJ}i!dH*os}+s{!c zlpwh5mfUpcgpYdgGxG?3j(s|PQs4)jxT`#p0wvLizxDWQ$KNje?Ze-PMss5Z1pVR3 zff*n1=UpWK^dlDW9@NrU{LK~BG(}X?R8dXSL^XY@6x;HZL(_ag^3NhtouUkJ8`=%K)Yt3&Ka{%=Zv}1swvW{sijoA)5`h#tx98F zb1ksLM(*R!ey_Q`kOhqOrJUCS$FJdUEB^K%Gl+nn_55k)&n{pAd-Fl@qQ$*2A?`k z3* t~l%XSl7|aJ6oY59F8CyFR3T+Hc)YF353#m-dwV$(50=?EmM=bhKtuz-`SZ zU)Qbilt)^pde?`pN_)%weYdeO}CD28bW4%qdAh+G3xkfypE=Ex*fi* z^C$Jr>pD^gtSPpm(_hCSua2WMbjK9^KP!9!@ z#%6qB6gGmu80VQIKQTvsY|v!0w^;U$pxqI)qh@Gzk2P%c8K<+-*Hf%v7oUz>Bh-*adNpC|wL%fWeTHF~+`n(QmOEGo4f_pwMtVokuXLMwEyYCDYsu}tMrj|Y*P3O}&<;;CN-{j7(4^cQQm8+-N^MZD z##Eu2M_#vVM+)`o#xn{{%I!#@{@hY1UZc?cs!(@m3m>Fmzh$T~-@?HlLeq!YM(PeT z)6ru?+3KssuwOIODDy6z$V_c9GoywYiVETzE&CNcUcE{u!g$rljA2YGwc6~^mi?L@ zub!n7S*aTh4k_L7s?p4e(G)Xtr>DSt0{{fZ@RC*V4&AZ&Froz^xH_ zi_#ekG!YCm5ezgjN|$pwT+SH@oYV*Zyo22uOhO1=+LypDX4kuMe%UJgf$ts_z(4qY zK;d@koQ;(k1LG) z0rbixhJ)IgWIx_%oRR zA!_)=;V1^C06O5TpM)j%4z9TD$HfZYm~Dk`%d^6F6jg zD|}CGsfGSk<}8B~*TUonV>v7okSABfV99lvY(PVIVY!7dX9caJN_t;woH57fJG?BH z@8NZk0V%eUa#kHx1(xUn4P78(RV+}oj8~KZNakQ>3_qnTu*})3Gj<5bYQo;Km&#l{ zGj>Z8G^Ahyfi$ck#l&tA3U+?MLJ$E|D~Yl809S4*FJ5*A_T$;9(KT@@m~Bp%>rx3D zVoi)9A&A)oF^?b?5X2&9Pq%7Yxz1RjGgiuVnVj(D+>WVEVswd4^o&mQyiT-|SFo)h z2<O!{j+E+WL>5M5lW4g|mp)+Pl#^Ip-ozUT6CU}Vv2Pue`Pe44bf_S;A6)R3p z*Jtwv4UklyYZkm8w70@XY1!{v_5m|=0QzHm

    )zAjPMmT(pvYKD|I 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 z%0Dqp$*0H`k`I1>T``+m8|jd^gseh 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 z

    LqIDi%Z^)e`|c8^9D?t7-9F`mV&XvN}BSzp6`RL^mu@I>TM7Ua4fOjRG=v?Dt* zy%lWi6}!XOYeWLvAPOu5Y%RCv>p@%_Vpf-wgw%6)aJtpw zM0BhAiC+Y#uL-Bp-Z-uM?XGbe>v0;f8=SgwtVBb*^A;)kX{vQzYkGfX%V@G_0!iei z4Y3yn#VzW$p+Hh~jVcA5*YAD}*~zEl)PTMBcP3@Uqpxxt&QP^2z42mfcd48wmT;z0 z&PKSJwUmP)Ic!1^YXi!c3eWttkk)oe{`JAa*Gox=YER$B>M4YA~SqD{#tf4 zoA~)%2N6<+wO@%vyCM}_C>+t6^=}$vgM!$m^1fOcbIz2(_wQxTYfHyXbjVo?A6YAenbNg?J z<=FR6M`VR#>%-i)snU*hZT>&`mR|IGa+mbGUh{)K{F#f2%SM!$huXKsB8=PHOlxHd z6<;FNCma2m&7G!L$lyZ3)xjtwmo09&B{sn}296w-AIv*baRYEWkPw02r#Hcn@v?3I zB{oFp-zS-+#Zn6nFG-nrCRlnu_-h)c5cM&tp1e=lV7}#7o{Ii(_b)YetLtc;87~LE zyuw0aFl=Ue|LJjtiu#!C7#sYJeY6$q>>@cPM@#bxc(g@qj&R=)9DCT7ZntEu_{W^y zSl!fkO;$at*YvuBSC?Ody9V@K8!X2pV1)`WZs>;w@8?+E8}?LNSJO{=x+d#5Jr7B_ zi{ob&P0qHu_z;@(N@3r51vB(j_q%GrW9e$mzMX3Q=r+F%w@N(Ez)|3L)LNOrzTtMt zLi-FFyTQJHZ|oy2e}$^S)d&05drCA`ErLT1^RMQmU+sCg=FURhHMI#AOZ@K9_Nw7p z%d7d9<^u3T!#D@+L7Xh~Sf|Q{;0RD+{w4eu7AP|SJBUqZv~E%*^_Tu!^RVHW9mO?@$t>w z3i16ryPZT#@<_`B?wcl^OHV!A?pUR28Dw|gVg4Oy*^7H~K8mz_ss@cuY9z&ncDqD9 zk|*&-G$~zwba^y+GadNCl2AW6yPRDs`cC(!6V_{Z*%rK!&-McBkNE$5U)_>^J37DV zhOt=+E;bH86X}d&*|u3J71F|mz!3Q^faRX&8z~E(hm@bJbENbRHJ7}QLCWrbccerh z5!_9SIF!BB!C3hngYoC*fU(fSFf&;y@2CYCFqZa)L3TM71XEr1dzHP>XD?GNQ+dbb zWNeGOai{ER^I(L_eyOsT`s~NK?Cb8&D7|dg+4peS4_EdbYaIb9T=vO>GD`pS$Gr#u z@>i?$HRoB~w>(Ssr9S)VF8dRoW|aPT@9a#COEXwL@Izs-i`sbZ}t-|w3M`R zc`S`?l;#=3e{5~Nd35=vi@Bn|N71Ig2B-V-Pjlrrc!wx6C4Rei`8cVZ6ff(%U&DcP z^F~(l;%gd%#(Oo{%GF?+pSdG9Z1yzYJfmY~QaQm!>b-J}Bb#sY{*PqTd(G9o$mZ(J zD16Ft+m8F5+m6ctPMlA-pL7=uslkxRVITc|PaoC#K~Ma^EB1v$b`w7kTVB4pT6nS& zePw|eW$|-RH={cgn-+x8E72jhQy->;5wljq#RN?t9f;oUUDp*T!wb~>E1U@$tXqxa z-I}aV3FNF5rt=DGTdVtP89{jo$<{<+-rLALxDqQD+bm4wuB}igt6s%KLoc%H==Nb` zM_XKECeWtPJz?^R^gid78%@q}rI-U+jGCCmi2Vzf&@{olG!3A(fQSumeltxf=TVl( zgT!1ij*iYT;gTl`nfoE zFPzfqcxJNSyhb;U|1ZL;2bVL$xg9834aegAYDYnczs3WU!Seh9))dVok-S5x=xI+& znFwoi67Pbo)mEduRHHXmxf;pRMvV^oX-18LAMRYEzBN=mFwWha8!v18nV}zDqq%Wb z*Pa+@_PATDeiI$+@wL<>tDenLghO6fNvOA+&MZar$$Og%Xuiz%XcFx>42nTjSdm&Q zyuuKKj~RbsiSb;p=S9@uwY#Z7YVgU^g>1N#g`U^5+e8MlV5!p&A}!{0>gl0=5-h(= zPFM1nG+if^H*kNgUG?>!Xt*R^_LFv15u1$fgNd4aX=lq^cd|+PHYuCu%z3jrNGNhU zvS?smnuQiun{Budlp6m%b7MHQ226Y3duB8j(V?TgEi|A`W)v0ws@_Hth^G&F-l8kd z;y4=ijQyw+k706Gg!9&?!*>*>m+u{j^a}nJe{iPK3}mIN_!a!#Z#VfB-d=BY22DA; zao0}Sw<>ucv4=|cZg^XfkDjg4R?#e}BzW6aq1neuEAk^PtY`Da)jD)iQTw0{bDY_% zj8z{mi{LPP`$ytyF}e<|q7h3ETl!*&r`eSqocSXiTRp=IybB62mLV}$WQ5S;c&m@! zc2V@YiK4e7nv8eAjQ#(^NElzbR-7A|b^~ac4~w6L9Q!R7y{uZ!1Z_s;oEK&wH*a6w zOKu|KTBFEK8Ol(19(OVlTTQrY5vqNN)z&1Yo8}-OL(iX3P$DCxq}OUsV^|p`@*$I? zay}VH12ccA4mQr-Ni2Hw?rT9TP9)xqO|0^)$A!Qu3W9v>Di(F^zf~KDaGxk^0+cDL zhc!|s>UDMv>&3OwobY9JxCe=|88+bR4nbq^pd}c)76QJNZ^9D%|6$Q+Mor1459S+2_I&=ttlk=SqU{vYb18q*YQyAF3 zspwxOwmARu9)}bMd5IbL>pB4GtOrG(#l99CYIvD2e0&S<<7E>p(?H?^Zt|Hr4;3!W zYxIoZ34X%qGP#DH@8i`#4#tey8DY0LF-{(6re#D@AJK2{Zyqqx>CdKTy)GjY;T+B{ z;%Id#8|AbPbIi~mZqQd&*CPzdPW&0NvUFR+w`J3P?Qrj3f3Pf3j>e>8}LiQXoNWrElSMD+DO@R$*1b^e~8&xCiegO}&w2}4KU(;d(Q zdn1_-ysj%g6XO03;wRd>3x>xF!}q>s81@17RRKGwR{=v1UQN8t8jt;SY6&91or5!o z^KK5VKb+tE`mdUP_bim+@vHTF^UF~|a*{1= zAO~g?>P_$z73&dnHx$r`%u=M(nJ4B9Fi2XqZG~zU;ZHX~>UQ!cp6~sXhu^@8k=WJe9NIkEk8LSqg=jnimUbD(`2%&rqBmzD&AE zZ&ff2$>w!eJ4n+6=`s)LbO-4-A7nuK-seL4x`T9vARX)>VLTB|!S^yC9l9$>HXr%f zk40-{CY{%31Qg6Pj&kqp2NR@A_C90TNg4Te!VhdWj3x&U+=fi>X0f#XU7DB8Yho-g zCP(&C_lvX?+1PJl%5nlF?t`JXJVjp{A73JU1qQ=*FvY!Sw--~3dBS!DHhIBPo$PQ~3Z z_V@sZ?y@!b-Og}KvRNb%NlFdEV37f*)xjwRj=&5Nn5!HZqKt&qx7|)%jHSDT5pytx zdKlUs6%_3Z!$eqU2c{O<^H7}+{l=HxD#}G#7V+D(q=R1!vG?+eip7%49V_fMA!Ub? zi#W_N&eGvG_{ixcT0dfb@l`4A$o%5}QTq-Z!iDn!@y4bHZ*v{$C&SgDdMwM^Yz`&+ z-DG{?eD@Xb>Ax>>edp^cGnH2~JcCcKy;OZCgwV%|O)=JePH@0R3fPezm}mMAFV6sW zbT44S(z3sQrs0yS?5{6$xD+~E{#2Eb{jEzfaZz@gKh1O5*DWXe{XYAVE_-%qM)tWo zWjB-1H7@(D%Kkl{-ESGYba6)ZAN0-+Ulch<-C_rzQUD4)0M!dpw*NW=)qh_{KIPRlSa(=5_60WT4C*c2zhj!N;LI&&4INR`--5{>q3gI(x}U z#8>t`=B5uuO z0DPl@zSJvff))T$gU5a)1GcIYLzS$FF}&6WR|C~1u|Ma12vWq7mfCLbGRRZ0y$_$9 z@U7l_G6d1o!zA)`*&h5*ghb!A{t|i%dQq3U&5JtcEvUfKZ4??DG(D6JzP~lEQa7Z3 z40n3A`c_&KtX7sQ%GBxg8O+`1FP!%qpPM(-c5T?(c7}%I%0+KaN4*mlAC=~Pf6!=^55$P8YpqWUuP zm5L2hgO1rT6jf(~28oy2x&ZjnQi`AqrVB&`)-B9D&#tWRCLbwRzNFtDZUG|mwIOz_ z=0Etdv$363s}gMzuh#zXVyv1!B1;=6-Mbi+8XtBv_k(@;d^aS(&`eJV8JBbYcVbyC zw0Q@6%YSXi7~_~!q7HuiKiwMvn@C|sKrx@IDbpOi)dL0Mx(s!1b zwLIG#O*cX3)Sk|g2}>;-RgXajSDmFavA%nn>nFU_&;on*$`jWf-HvGK)+y(@-3zC& zUsro{rA?dbnZiu05AOQMD+*#sbDEm%U8QQIuQM#sXxf`w-Sx0a;dE7+K`uyY!p#e5 z!rwpSn$W9T{o4CB;evB%!uQP$NNYVKE(^K*(0}%JIO#KhYyGDuKKT;HG`fI>ik;$< zi}l?eoTkP)ba<_#p_buEtoYN{$fMxjC#$0`b55U$H;q4g_9PuFP0afb52PV1Gi#_{ zH2(C9QlZG-$A5U6K!xF=834BlFZ$~i!_P%#aeE-@O4O9$7oU;_?G0h752x;Xcx$V{ zo8i2QIiG>}Ou?IR-^u-JfT~8pdzHScPm(T@8uV{}cU>LF%a?k3I;sjV<7JPxib2gK zHPAR`Z=pb6;CaoLeeaH-SBn=*<5gd2a$4lKrfqO>tbCD{tJPG^50JEl5& z!TT)!2I5w?bm&30ZSpysm zT9Bn&tJ!E2yX7;y>;?bDoC1;FZ;rA&$bk@wf>at&E!Yn=|EgM z4nVg~xQ9>`*7Tyje%$^RtX{owv#egJMOCM4m_=1*nJpJN?A>oT!Gv~0#2RANe##oK zA74d3-eo)>{JWa7UU%j@_;5)0*Qphnzus#iC#}I(QP08%5dNu2!fJ5HnD4x${ku`w zzpK>zeTAU?C1rrZ{#_#XW=~-PjT${|-c0}6!G7pFMdu{28%B~L6y^v?HZaSb2;FZo zs$xP-3pu;uQA_x@yiR`J6eLwR<3p@ByKq7Ti^*3pSn^;@Y%V!4_F;^LsjHY%Tbxkf zCG0Q0zgQWqlX1X}ZL7+~BB`M5Rd7M2zMsWk+$;06_4FT=R#MeDtHZO!tP_Z9-prwr z_`Xru)=Q5obtG7uwvNbjsB34bjz9BbOI+CpP&+ouhYj;33h3P4V2?4A$)@5mfI+Z2 zML!#QGk7%NCcVOXhcp*NHNsicM>-F82yrn4dY#(Np3KikRddiPLN*)U?&rt&Gn%-yLpB`YZZ!6-6Vi1PrS&F(^7k{G^<1^gynpaz`yTt=I=p^n{db60R$!%u@vthw)MPRV4k ziBgfn$~Q4)|A^v$?E4w6WScvt}6r+W3j_mT!dCel=%t zdN1?)B}%`&$3>)Rdo~j^=Jy+=3;Gw68-H;DW;GA6612!Rsik~N5ct0?!ZxckcHSQ3 zE`=A2AqeC183+nPHy#!(wp!IpA*EpP>ue+|?_`fydpsDYUm9w|p3OlNRu=X!tdiQW zlM795_ZOwUasYUik4FNNLcB8$1AJeM+*#P6HB;U>7Vl(LigBG~P2@`$0pSlF`~ej* z{H5Gy%TE#M48$$vCyadppMbJO{5-6<^I2&#e`Zf<5-w2$LLs<2fb$u+H7+!*#2gGW zvW4PoZy+}jxu<}d&u3u^#IHO-1Qvm67dZi>ePa)dD=4|=l$atUAfA*TljV76Jp&Z8 zW-Xa3wfHnqJ@q=DR?5@k8EaA{mwNbCj&~h=hz{J{3yd}5PJCG4^nc}(hxGb0qwZCR zBD=;mtj?SQ5;^yBf`*FHQUBe{7@sS1wz$E>(}2eno~XIjXC-0{!h8z}se)rX%O_+Z z`h-MHW$+_1XyA!7D7n3vCkpw!14=8grP1a6P8H~{K|x#9r7Hisr;HXUHopy0zF_DF z;l2pA;mSm98(O8<0YpNUpjo~KZ?lim%oENFCNMSnh?GGXpGyv??C3=!kR2UVi@WV& zY^og12*wRMJGu;Qk{bQhe!!mix6tw|wv4_gQu4HFIHN#|6)X?LosAecj{n<5?F!TspfAj#R;&-5qwANH74I=j`{5$aM zFO#mU*70fAL3}PrL;knBDQFO#LCMTz!~GQ>TCK*DLk+RQna8&M^k-bq1I%-BkuXoz zb&7fB3r@qCr;bx7g!;qZwoONzZDds(DUP4D#u9XvF`!iV7$$ciKb~k(D){Sj(VDo+ zw7txFFqi4oc9_fO|2Gr+4?m%~EG{`Zp#pJlKWpNX7cM0J#dAed`L<#rrKNVt#aGt0 zmdz&^HLRb;DIF1ro7q=sT31h9of{yX)5=kQAMGFYEiz>2Z%IXWt&^lWcc?-Fqz;Ay zXX}x16A6n)f?F#5ykR6bu4;~tv{0qu2fl`Ji5UA5?mvL1mVayx7mF5*=Y_$tpcs;f zGq5O-2xy%pKgzLTG8}BQ+NUTR1%s+AHu>P`3&af{2)R0L0f+%Q<#9*Ih2sQsXSik>M@yF#HD*by3$R9v5 z{*)9aK)qppT}rfI_1IhTreMHRCZm@BO~C@rN1u-8IJyab__5ww_Qt%kppW;hn3(pz zd5}mK`&%>iO@YIycqC%43ja|A)VCgoALLwo4DTt&!nU)a2?B9HJqgOb_XsG9>0eJm z#fgM3It--EnG{?0(7&!gtDDGoGWC(~wKg)M!;i zjd70`0cxm!i1jlkOMMtO2N=nZwK?n23wijoY|gnFzInWv18n)r`^fmS@L{F@Aidbz zEg=GTL-M%sy%^S5-UPB!&>HJBmfV5tu97Mman$%7Il4R-4#5RvGZ^1wM;PDA3ssm3 zn+t=@3DOP*n_QC+?&~pZNwd8(nH=phyyW#~elecF`BJ*rY3bI>>ZK|LX(N6BX*2K2 z3v=;OzCZH?`z4bNu2^2WnyAZ#^&#lXEyVs;sR>;#3pu$=fh)P-aBKCKcO>jM6_#Tf z(za2s;h(L-k3aKbc^5$w^U2>FKSlnnRvH#wn9uI9ao~JD`{>VXEpK657lUK|Hol4^ z3M+Uah1Pqw?K)JEeOmdf9a1znA4W3zj7-4g^JlTBTr$%7GuMm*Zm|CWU6@sZ2hs&z zSlMWT^afiDrcP!d$fDk!zle9`OBUk?`G47nG%+9d(gZK8W^4lci!1uY!yA>xO~$g6 z#e^lQp^AAWs0jIlor3U2Z!*RmQ%yF=0%=}sqp(mbTkoH!=!;r#j{QWw^dfHBs3Rqi zYFKZX%wgS#CBFllhy!A+rGwZf-U53GHGY|%NPOF!XG8ZSQ1`&<<{vJ#tkE6fy?hJmeD+x;H|(wCz41t43K=v1^SwifJLsQr7Og2q6j;QOFfkVcF> zhINj&N5=ayHh9XOglJb*dj08G*T60vyi=Tp%U^lvFs8E@yylHP!1#fTPw%-F>Sn}a z(4SrBDdn6*>;zixTCWzb1Fg?Xr)Jj1Y`Mpu`OWP_0d3QGNrMN1A`IwLYwXSB?JvE| zqCkPhx22X~Z*tM~8l*QPCwb}!0NlAy+1IP)DwyXfm`N`wogHYs=KK(tg#r`uG$_92 zMIrcxc*Gx$MzHrn-r}2lfu`6t;!TFNlYn)~37tq|tQ>DdLO+CaTyi>sXlDmh3I!-r zbWV<**(ROk+On)Ndr7sl>_Ai4DZg0(-Hb< zKINnU_!~On!kAU<1!;K4_RqDdpnr}GLQtr;@KiL5Gj&qnK>M)UPQCx!8g;Q|#F_>5 z8W7~aJNtn5z`$d`tl&NHGlYYJljg0i#rV~Ip9ns_8AaA?xn(u~x@4}u*>YWJV2XyQ zeTJ;A_?t$X8wSqLJ`o=mgWm-HdXcNOqA(tjRSC##+jMHPZd;L%58}4|KO79R1BLue z@b3G0%lR0>5yjXYRWfVyEB+S*|V%WLo+=y zuEtIEE~tuS{bKu8??|9W#{XLr&y4f%fTc}P8sE1$wjcIquYWtnGoytxF#Z_Sg_xfx z=XkssrPo!py${ptnYXdm&@XAoZy^1?^Clz_fDMQ4ZY|2Q#Z{$)QEu+*)RHyZ>funX@8=^dK)JxGlF_+ody>gcrUFq11_R$g0K80`$upSS|VOynzV$<=WlKUX2CGS8%LW>sOxA*?6y#=e-ZZ z`~KCE=ngu!E1SdZeEj0J4SR+OMTr!zY2x)CXfibu^11zCDBfjrT#9#WwNbo(>kcJ| zd8u>`y)ESHnBB0~C95R~T}%Ns0rdf)^{d8x@d7 z%8E)vnkB zR2B_$wQPt3BPH&u2bmvZ)ol0p_pG7LnzZod8%LGglR%XRW<;fmuU@JkMn~b+t+|niiF%!bGb!A z)zTs{po@z*D?*6l72;&WVI56hwNHvdoR0H=zh<*s#QEE5L!8!Kj*2)R%thlbFv2jn zLfrf*L!2d@qc`3-;#_zFh;z3;DsjArCr$!&Nuce60~K-P7Q{((6Gzq3#97=aNSu-t z8x?Kl8NoqA&{u;nXR>M2oiKv>>Tc{tacLE!ukNn|`fi=!qD{M1hBo6mMMs}KmgG7c zmid8WIO)pvTj=(+?A)qD^#ZMruc!USk>`oyL7va2MI{fjnH^?0iBaVFwVxu7+=4vu zZt|#Fnmo-r2FU}(Ru@7a7=576fY#CJvmVQ=PBhwM{g3wnfA5sK=riq2L!T`jj+Q?6 zv;A9j`0y>9a$y&~_ry!*J}8ThNDYBL{s{EiFHr z&JEJ1WCax=$nyYx#2m|lR|>{*)}dGjfn)-R4Sl-R(|qIT^HwX+=fISx^x+A7htY4FfnCVY z<>)QxBe$T>HWWMPqiSjTv_B_EALzHN5cz>5LVhm7G&`F7yxb-Vc|5a$zwhpKk>|-b z40(R~Qv=9T@A&g-IohAC+t>8@PG?pLw4Pf}`;DW|nJqz|k&~m+=fcC&r%KVM7xpHQ zK5`5CaL{+qN7d5wDNhN~r({KrBF__;`-uEpAmqtx;~-B@RN?J>sakd*Aqsg4X90af z7zY?sZ%tk|ao;Q2;=emXlkfLg4!9r<+g-sYgs z%DW@d2RR&kDHq_d%vMq7n}Sa&wjif-ni)hT{6n6y`JM>qyb$xZb~8DDJ2=IK&!w*! zd^V})bB#6{U0HO66Qi~^%0m0qGbDeaZeO$e!G{expE~Q0MrRsU<*eI^qocETz37B4 z$ydz!5Pk%?>B6iT9UU0%<-{=a+x_XdDEO@|lkaChV31!gTVnA0RJ-Wk-yr;6FYWiy z?Q8rle8}LpUp?(NPMvIS2K=_XD*fV+;R{749qIG#1-Fl# z=)z{oiw2uTNr%T~QJ%A59l!3hZ@Lmh3k^ae^w#?gLXWQpMB@weos9055Vt-Qvu>d zM0XN|#&3)J41QlbB|3=4DU^#2^@y=1-4PML9FV&lUZIpIg)%V_Si^uUw@~=AQ0y3x zrP%l{UPufo6p(16BGC-|hy-*J5_N9xAW_JGT*7FsNFs3m6yWdH@h%dzd)|;}Tw-+m z8HHa|@BFJP+i#)UH~c@x(C7Gi+HV|vp7<~5^ZD4Q^yzds`Yr()!DIIx@|>r7+HZFg*xKjuVQOh)FLP7mB&)> z58Nh*&%mmC9ar7!tS5)6^~XwbMjh%>lsn2FY_Z8fYd(BruEY>eX@K|DnV7O6lGk&u(Hc#lUR}8md#n4w?{T7Pxy}jN%2rB>kwr`Mz)ij5kB*<6d zT0vxBge)U2D@y6ucUI3NiW{ME^-v&T10Nv?O0&#`*IeY{0=)1Z(8M=cf$NHV&O9wS zaz9579`fONKJHg>9b2t8N_7Zu6^bqEL^2B|^Lz&p_<|S3BvoJ$Fv(B}(U!;X$>7(Z zgXr6j`{4c?opqSB~_Uu7`}z*xc<9VYtfI zTE}FA+X8V{@9zP$o!+(y!bd7SI{|2;WqIXMU-jrfEFMk7Bh>DqigvT;233@#ivGc( zOH@(3Dyl{i@(-x8fA14GFSA;zD*8$lEnrbwRrG->n#rOjs%VueDq_)($4M_1tD@^s zg#0n8>_JsFl+`w>qG_tAH;ewNif&g$=d$Q2Rg|ZSPGr&js>rK~Vo_9SO;%++RoVA3 zs8*ng+Nq+?S#-H7I!+aBU{OC+ba1bH_!}(hiXs&UVU0?rup@M)=F~64g2EgzV%*=j zSp`3I2D>8oVF{%Q!4I5sF!(`!!ReeMB3KL@grGQXHKdL}T87IKs5T&6-2Q+trvaYj zxrubq!d4jFw|Z^-=>Ayf@1larrje&rP}z%AI2E~x+5WXnvi%2}Ol4G3>pP)PtlL~8 z&=ZTy2=wFeP$*z#cE!suvOjyt$KhdQ=P&?7hmkRW3y46MrMu{=1eA?6uzeZ1$y2Wb z?70&GdyIyyN2mA7j53=L3cDR)SGs}!#u&C2vIrbmPxlMl8b;b6bOga=c?g7Ha9KWr z%RZZMG1Xa?uY3nmCz$|^`q z5H+n`9{o}-UV2kh6Gt8eZv^A?wNC=6jUc*Z&ZVtNgI#JU!ljLGPE-)0_#~*Ad zVL3x0bAtOz)LCA9Kb@bnNNR+6KKP>L6+oKvr>&zvFcNO=FCuA!|2rhcdb@=!X(LZF zlC~t6Hr|#n6`!_R*nSVj)-epu<{vr6b!5DWwww|ajLE!&kmc)$Qi+3oJGL^8cVL?#W0EF#BT7!(m#q$Q9qz|8yw@s>jYa{^%w(=fGk zyfWQL$K@`V%><^3w0xR~_9Mh~UM2!99}=`5HqdexP;Ipv6(!J;7779_nG^zG|4IynC%C|+ z2slMy$%jM=FX>ZHC~cYy4t6MQ)1P~&@9T5Jkx}_Cv@4=fIna+-Kq3T9WjX)drgH-N z=c4mlKMI|Te*>L=X=c-TR-&de^jl4mO=?@FofnG!DhG^9zD0ns(GNprjtrR?AR+(Q z?F9R-x%W`Dk*_VDz*Arc44bXIGJ#X$W;Mr6pBgtOZq{R_U-*XHk0XY%{nbq>vk_W4 zl??OI?V#Q(qg>2#)1!u2{@TLHETj7dnT3atYi6;2%n0%dfDp}DG6uBT<(O}kKLpaFAadSu$Uj;Sdxb<4kABMD@4xy z6-551iB05!6E%?=tRKo`5De81sj?9mDj``6s4N&TV`+mU1U!qH!s~D~WLZm_X`3kx zHq%XP5LGbN;dN213n-g^E7{Q;vZYx2VPjD+hqrQ-J#(td%R z$3JKY3W9^&QqH20S7(PPrx8qUTswwiH2PJ<9-f5rQJ@EhC9t2O40Abf=bNu?dzb#2 zEMEY7Lq%IU%*-rnc^toiZTZ(HQjBrVC9-=+4*(C*#8d9)Hx^(3FH}1QthH_QH`Zj- z_l1X%Pki2~T0C()gPFR>NG=Lq?fG$AXxBqC4!FhaKTf*NC7)X#F!Fg;oKrqO>Jvpi z^LpYt8Z>@yDS&*wbgcrX<+Ih@Mm}F}>I64Rz=gc=6I*T=5^U>h7u>Q2d73^*1Jvi9m346K-e4k5hfqnYx90` zMBewz84nI8VhYu!9g*?19>f2q{J-G;(Ki2I?dJbVoB!bw3Qki#N{`0>-5SjQHXo!P32AxMLVE@!0?9X)C#~*fy!izZRL{HE$TfTz& zAK)~8G)%3KCr>a8d6o<2N4*GBG34{2jW!@b8Rma^fZ5P#^Q+(o>$?$0#*iar_8UbZ zUm)FzJZ-M-9Kw!;Ukf|7-vf4h<~N%iGg@kPtnq};rAYrH;lH4&)cm*bztoT9+93aJ zXrUn@a?4 zMGpRB4pfn!D09PnI$jHW@FEua%15OX%Nlup(Dmw^LVC(*=;>)BkK;6xIhjCmGB+rM-t08e#brt{4~ir@K>L!hv_Pf!Ev`W&SA3NNHj7$MIi5cwW9#2~XJk(a_&a zA?@W|#|+XVeNr>X?=k)34ANKrg|#1js`)1iDl|JyTSqRVtLcI-MP`1rATxz~ZJCLS zH!_n~&*nv_)5F-W3EbMPHRloepGvRQ^UJ&uE{X=_%^e-X){#_vcgn!$_k8h@l|34VN!}Mp~{&4*{GfsEl@cQ#G<9D%W zN;%u$=*I7V^GL}LFLm+aj2VU(KY<%2$Q(1fkU1iZ-=1^vU6JNeVdHn1WbdMVlc!rp40I0`^SGm1$7vDWDL206U1l?Ii)jE5qbQMMbBL9xa4zT z$6LMuJAU(%&5m~;qq*Ua7{9>}dO=5z-`jr;=f7hO#D?-;z5dtfxg73bn0n!)$R|VU zG5Z*L5jfT!*8lp+;r*|}uL6U1xx~ew-}()M_JRv3$e_DA29>4LzPuwP$e-aOXSo0M z%Ur-*In1RoPrb!3X!XCHFvmxMdGPEgFl)YuGJZz!zjg=rSYroA89xv2f8EkSRJ!hQlFm3`UgmvH{P*+6M1e@eO- zSN<%ge<59zR*n4jgS`N!m+*?;9b zgEbJzclH3aKtAl}0zH45dFWfb15Y9RgUnwOK5es0l>YygU3ce~fyFHSlX)DnM-7hm zvX@rJIp4rfgXkA|>hFz(v2uBP5;M(+WetNimH5fW+DT$|>^5JS*B7n)93!w$pk7x2-+m958d;A|FWmkRyDcf3WOWDo;4f00=^2Z&C{DBqR zS!{u-He{A?i>0d}C>s2gB#?R5&CnJV~Rk~)ocyrfO!<*;*=v2kK|3nf*uutwd zLvd#Lellei2Mm?{D9k?j_A=vNSmkx8|D+p@`d8VOg0Sq5PUX4W*K;PWX<_uQjk9z zVxL?@n5Sx(T7OQ;Hw@a&1#|0JkzwXVgL$O($-FIK-uL@9+CJ$f9aOV>r+vcspK$wR z)Q7^Wr+)@soxjWG)z143ul`Z?$-?i#`E$d*Bh-)e^QXnpOWV(N9M}FA{CUDK@X8Mt zyZH0jV#A-m);Rg|x#Y;a()E-h3wAU*ZZt``0q67R%HHrQld;8{Fk#)_^9J~H^&jE{?O{XZEWf8pVoA6(#K(6VucK|lW5$)Gb%A+v-pj(8Xo6KSl9 z65n?(VUE-=HG{6a!Z7IdE|_hiz+8BI6qrXkK5pFr=53wc=<#t}qDWAfe`x`b5lyt)`0IPSm@V-R!)ygRoXmF0$&s1uDF&cuW&<2y zv730ZH30cCvXZAF_CM})0@|P9Qh~Y1OzXv&w}IA&zH|awa#9!|*>8~{fVkg+!(@8x zI2AN{ajY|wZ#Nw@%1pj*agc($r35s#R`t^A&}8xzPbGpxJ=iGL6&uA)LE3SI^l)QE z7u5sAj3(5!q<@me! z9M%p#PrbhPA4OkRe3H|@rgMPLmbGhfv#moKju1E7!_tVj*|?vV2#M%sE9Y^Uqtac( zPa128e;a&3E;rjLZNtbSshpo;5D4fW=4QJ=yV+#?^JQpX+X;mF!}%^w7(CHy$z59>D*9b5?aYAc{noJ@8|rOQ6e5xtUZb^4rYjL|~agw+%) z6*wG#hwG4^ai;8DlduW3+g3c}=|+0bRmR}>B6KP)?Ly$PWlu$(&Wb!Ioa7*n=ksv# zn3HjwB%`Xw0ZAc*v?`Co2Z9g1_*Hz!uT0=l3KTex${4m=OA!65vKoSLVmzpsXbY6R zvY{@NeEq+Uf8IusJ0Nz^Z8ba&0^!}cd^=>zt9shevAY2`B`$m^dv!Hp7dYC3PnkJKUVqGq9}neZKI zX%rT$z0iPw?a=>kCjPVYkxi#+IY*2(oqxYIu@EhOBuC;x922TTD`luyu?{9gkFEAN zv2mv+eFNf0nE!kSm|v-2KT|4C+p~z87$I=;`3n^+zfi$Tq#Wsp@LLMKc7}AfCl}Fh zz*6AeI>dCT%melXqe`{@3CKu?{O36N?@Dj^>Xa&J&NMqGg=yZ^F}2UV)(7?{PvgOY z9-+wzYWTH$!~rcmU7g$L<+*7F2ep;wK<3S9ymRz{=MTzxzeu;=bZXOX+iN>}1LKhK z{|)ujzXsR3#=g(J)dw!}e~l9WK4)Pa83IS*l};1R&;`)O`*F{G`E=joOo1jiQ(#lK zt+hxTy8d_5GR_r{YpG+-7HERA1z3SCbMvcYh-fD#3G6$SZSfd^9k}u=?>@SEeLPM$ zOk~D~2iMfbtpu=`(yc|U9b1w^TguU0Wm_>n!O1wq$=1hBK^Ey^DRSd4<$D2ddZjE!djqA? zJFDXXA(tl~Z%|nmaH)3ia-=jhWyJ9Y=15)!D??smB6P(I7_08Z+~LX`?Eh{d z^5VmO$@s|_*aqd$#KGY3DT;nNb~5(YFJ#ZaouDL#ko7YYiNV^QJfT2y_Ox|mcsaAc zU4j!@auHP7KV>lDE&J!J9)%@`HdH6# zf+yn6coA0!3gr&_D()0yANx+*e+Yh2^@*7MT$c+Q4=2s$cq=Z+haKnfcf?}8nfa z(=ndX1@VeCaBu*>Yd%ZyPdc{em!O2sg?m-4+KiA|*4V16a#Ae<0Li&1n4`G&~D+aCv6NBkl*(m&2Z|u)3WD6_sU(GLYZe3SF>&b0Vvh1W; zBT@zuYpi8sja{V^Pn7N zUvo0w1|OxfOZX?BorRmQCRxL3iC&Os&G;Iak~Kk{naH_Y^E1*j0HH04@@)PP{Fj}L z2OLsG2?XXY!7C!Y@{w$SC*HsIscQM}Qdw&Z|H>733;=~Ft$CV{(AOn=2mhq6L`PU( zSwr|IPq#XWucE)K4I#SC0i@=U1nGBzXJ!>1qRXv|ZVd8If~V|8Zkq($c)pB(0yhCS zVQ^W)+Wm=(zmM0T`2xOV)p7We|LPX2*c|>ziyLtf)?yV3t%uMevA&J3;VW2EzRy$o zHj6Y(Yf@TE|J(3PHHE?T({lhewk8eL@MULv${wbCY4y5(CR>UX4ks}<3nZs=$Pwnn zNAsTlnER)Foe#>4Pjnif>~?k8v71>auR}@n@|G{(hU&iZ`*+~SpP73M^*wCiM>gZ0 z2bM4Ag^Z*7tb>fT;rMx=CZMFWlV@fR000a1mo9g>>t1xcebE{C+rd-zDV_yCj-89G z8O~3#HDuW*yhYCo@R0umxrKZ$RIpgXO8;0Pm+;vNYl2R@pl~W{M2-6obeuSnEmlf< zy2bgpv0LOjG$~la+VzjUJi;9PC(*9b?Xo^tPy7&?I+ZnjC7+!w8iXAb4ZJ9#@i5wB zOYPW_e%0$=S*$vGIeu!I;Smtj-7}N(4P13Df&)kul|9XN(EY{u$r`2$*}TC=3-^0Ur|ds;sD>wRh7I8n?7IIy*I5C)0gEAqE)YrlgL@Xk@iZE= z@si_&DVZ6L|Ab1pxS{ePVQBC2E!w-=@Eg(AWd&pFN~JJcmraQY16y~ZNBUQLscpaT ztTG;{rVN?>xa#X!o-n$44W>m8N-u?-*+_6WMklQ%TVyyk3)l+KY)i}_USa3^|ZA7epd5mp7{GDr9)@V!aa59 zBfLOBCgvj6BYUYsu|k1)vH&6miB?Q5=Eye?g$lKgrR3v*FL2|b?CNjgMh`4+l{~C` zL~_Eg@~e{*2L~=l#ylJ6SU>$=0&Fp?ynk|hO(tk&Ek)2zO%Gf(gu4aHI64jUBgC@d z4V%r*JX)~?kl#oqJ5)j>KFis2ng9`r&kBb4QYno1Y|0SdQz{yp z6n_Q9qMsGn=iwGKV%HRnVt7?CI{`nO1J3gD_2}X~NcqBM1SnUs zK_xzoxa4EvauI$b;*u2%E~Qc!F42VM*C zqsB+UYzN1*vEl_Rn$0-Xg;Q4dXC@ppIAtq>Q)y1&^Z~|vhz!(huOFMu5hEuYDfZz( z#tZhmKT=F#d^BO2ZAxvUHg!1op{R2&`@W^qv~z-o<6$>_^kBY`sysDVJ89yQV?ZbDW-(E~~(U#TxnLU3q zwB_4ETWLnob~z(BjD8b9FjI+hqL}4B40YSGpP}3K!c7^j+sF+2(I@^BW{5%iVRi&-Sat7^0gB|* zGS-Tj*d{`Iz@R)-{O>6}4X+YN0^h(t0g{LtVKX+YyTE<25O*?~6-`-% zTlSvi?EPl^s{B`>{x#Mxs*<(B{cBYymF|guZ4vH7YM1dsB=!kjRY8kg(EiN&#eA8a3trS&t&6*B!Qxkbn*8FNwNdxOKzSQ7+Bc@4C#U|FbHa9 zN7KROS2v4?a%twzyp63+JZ^A#(`JI7n)k`xdl7U|vo<1@%{SKE{|n|kq(7JzaC##UBa36&E*Q~7o7#6UGPjf_XbfcSk*Qj*eC0abuydaEMlj03qE@JMapXa zQZnAb1zdQ8Vv4Z#ttJSSHOB$#hKJx1n1wp-=uBB^-cK=J>Qv!FhXzbKpo-6 zWU0JbDa1(UJNK2S(y=im#lykYPhjwqbdCcRd&~L3Yy;Fc`S^3x?J|AdBe~A&cbx5f z=rq`4pSN)>pwAs-7SO+1ffa2SgVHhdG?lMI3$n*Z-A);Z(dR?iEhBk*7Rsk)AspjL zw2u5zx_KSmxxJHFFrQve^XfPXX;q)@%vQzP!>@h1Gt#_OIZk&@cpSQZ$Z^he{Ol{~ z$z?WQ%0T-#3Tc{#E}O--rQuhw36p{PBN_Kff0UW?Jv1_}z)}Yp)&692+R)M@ATw~h z3z_`~8e~4W{P4(B=X;ojwf;32y$Be+gdjR-5E`MgI~s&`s|Q5m5c<|*KdQ+86Cg<>cy{MHOtAcWeRJn<+uRNzxSRHfnj;R zPb|Kc`R832op-Up=+|#V|6C*f=6pDtScY3g{u4$1b^AvCQw=(&*VBIE(3!A+^4}sl zInVK>MPsWt%AYeez`a{?;!1cJF8K zJN@;e#BX0|KS{T*@jF?^4hCAERZsisxD%n;5$M+?^MT*m_=xyrzM|l9lhSgCdX+)W zf?7osV6!y*z`ZKBP`{j=i9MuFvrx6vl)^f7DTCA0u!A%i#h}qchDQ3Z$%LTFwvP)E z3i15D+=M9fi9Jd9zom;l^Rf(mzJBc}>GNb;p}%h5@c*A|{;#L~#?dF?5%T}BQR#Dm zeH=|x`iQL=Xgjc@qL19tNO99g)zb8tw8TlD6*MqGqIrfyy+!Nyk@G;c5QUg0&tN?? z;)t4mBGhr87B2eye4(LFza>XWpI9^x{nuQzuj$h##n9*LSEIMzIQkSm1p53XE-HO` zAD%uNfn3PXz;hIREe+b&8^o+=4!fQ0$ zs$*RA8J}+Gv*v}Pq|Y=o5Blr&wfw9)-O%TTdfIOsed_K5eL5c6c_^FH=Fe@Tit}UI zZ`}_+{>%b$L7(-ARiphTx1dj@n?9;e-U635tzd+?E`9uF10Yxgc2}HnbohHcWObWa%Pg=_+ekT5P(y^_m3KMG~7A zT7WF2F)p(7>1D`L@mzGY8MTJ!TW7;&Qb`wxkBy(J8`m;3^Hf8VF7-6tIGU`k08REC zj7pQ>5u8zUnmV}Za@x3{3AX6VBG~Hwtb-u^V!~}RTYS1w0EPt8=&v(Sy2=;5q`3oTDB34u9J65tyb-v?#T*~>5_uv#&>#E;fwIrjOE0!5$iNH9F#aTb2<^Bv(c+~z*t z@w0M}_{0M^JJ4>ccAVhEk;rYkoz3}#`eOB|TqF7b5l105#(GO+Po99_{mMYq=iXLQU zMbl7(^T!{Pp1q;U#ejC{l|T);F){)ry)) zyX#q=c+au_wTcnj(e}TBJ-`jv*BmdICjNl)7c&9QoPlVczZhr=fiF0q1U`xU7ifKE zS2H%;u?PZ>btHC0l7OH7Dfuis(Zq8f;_HKZ|0Uh|Vb5PYp0M})=2AAk6OFR@<%tm3 zPksW}k@AnXw}A`XBRYR^EU0NM{uRf7LTiPd8yP%*Q4j#LEDOsP;pZbv_L-~o1hhYEgk0Vq5 zrT3kb_nM0Co<6#cE*MO1Qp_A$5Exux0-U0y`;qUYW#)^>G8Ny;Em@ z&_`{0anxq@g!8zVn58yvn)AY@`_=xZUlg&uCjW!NG{+KBcSK4jIHgZ?B!OtJIwMIS znq%`@f|dKhw}(8-F1rlFZO0hw59vsZ7qvjtJmQyBoU-KHc$OsKK@k{b{Rd*FjsPZ3 ziv=e3?RBC3m5v7Ozdsg&_Ln{iV#1j@xYv6I?JCcP2E+I+eImu{F#vR*2BcB`LxMs1 zL!p2!7C>r)>hb`;`2vuteK%5Q|8%R+t)9F<2De=Og(L2aDHP&yQYH!L^#TMQ7A zZWTM$3-qa}37i%3DY&a;F3UU7opDMv`mFq1LxOEJMUx zRWz7IZ>yqvRMGh?T8bjA{0A)thPYG>`X?QzPyOrs9;-z-_vF%=%kc*I=V;Cc-SB%a zoIm_;7gJr;-Z0e*3&>PvHaIAM0tFg1VO zcbws`UM`rsHWQ{|uBS;DKazKh2f&6VvRV(kTd{RoO-tX5_(E*$V>8ld=Gy0jj-y!u zeVL{|-jx=2xO6FUBCBm1`J!Xr^~|Zl99c6#_EitsWY2j{lf9M zYt_##GLJvkka^8~Cz&UF7$mc6fBiv*RWxXS{WyTMd>Wjl@Jp=>g@?PqH5G6n`|B$K zs-gSqzX6IxzbE~0WK^#BxE?Bx{eW1Aw!gk^eF&YOm@IV8Ed!lDnrG9w;2BM4#P2lZ ze9)uIfBZ1@lly#|-B0TdG&Da{)ckpLD*YWj<@k$k$5pY|M72Rf5wll`cc8u44KrzFyxwtoG>Q{OvRATYn7wo z%hxqr?OXzWux8gD8ABe}N@7J(JO6x_sEDj~u1C*YYA4}tVaH9=!H)eaZFc z@*jI<&>fEaV9<!0IkeA)FeBOSbf|euPNoq^Y2y;?9s5u31T~P;beXi)5M4}{JOjirz91$q?w5T4 z^}+WpVt0u*#QyjJC#V??P*Y`aX$v5>!Jh`jy^i)9;i;hJKeI zP%T3KnIq93?7o^HBrExtJTF{-JpY7-c+~pCBDN|P?7+{_>5milg1kT0x;W{%WWz~& z=Q?Hi`HfNZN7rh@N+C8&nErV7SED~BYnWPpY>zW6HQfcXhro=WKUP&WTz`1L0M_8$ zN2WhkVs;T#e>}D!y8dW~p1JhL<|5(0@_WF4P3PGB_voKBH#92zbN{{GvliW z^9!EwxP1B|2La8dKQ#m>{p%^aE;ta(;3cM2m{FOek;a9Pk>at+cg-pYhsAGG2n!BcQ_=O#x@a1 z!L*T+LLCR9Kj}Tdj(Hg$HZpgl9v}LH7BW6e-l@geOhD}Xk!Fx^_zu2btBH&Rk}Wu~ zt+bNBSu%~y!l*M0)L`N@4Ah~=KfgXl>G2$sKeEX<;f7U{zzyfkvbo{iM-4Z`ax_u- z%c9zUO9-%H!D9Rzo&FwC2a0sv<)ZzrQw{CUo8zR&?lr_hB>QhwkocU(*>lb?{r&Ba zMt`sR*2M)$F@_7)R5)Qy5SS74_raA7*WZ@_<<{)4j!b_aklAB2`>&d)h+_YtXD#p}(*F0aVZU#zpnIL__tg*@^<%{;P^C@sr*( zM6XwW|MERReX!F->@L3>P#?ns6V%@`9H6xQ2Ovjg{{h#^{`<0F`n!#S>CoTpH2rM- zoikSG*ZeNfue8*r-zg6p`bE*-M`!=dieUdeq#-uc{;NO#VTmY_c@k9sz4gbO{~k1C zasK;EenSyFH~xm7|NfxCY6f=Tgjm(VTcsb@MI0aDgTrQ%#-0COYxGmnS1#$;+Sah_ zS@0f_W%Ffr^wHmf(&6&Yh+CSOM)-(Xbt{BB`sIQ$KBH3Aw2-!r3D@qaP>1BLVtz_{AI-Fik?X6gInb;&Fp;3dqZRBa-<4sh#gfkRt-;Sz}IHikowFC~W} zxPf5lF?efbP$rxn1MlnjJh+MAVTbS_6&=7uKEUnoy8-agf4M~Bw|xfSB7X?LVFFM| z#Y*;qe(BGbLMmRuU1(BiZ6Ai6;?^Eq$;{H%f5wo7#+~B!w#?ncXfOzIxvQUflc*89 zp}>7^R)N(X9j2HR!cr`z-(lNm5tF%v5R+E-*kbbJ{hCW^_C?EntIiibD*ik;Eu25k zHIN(1pHcO5K6o=%TdvcD3&mq45f_}JFzqi`QH)7hwcvU1`M}9D-%>$m#aNTKyV$XN zg5i$oaMJ|!bB`54UUcc_RZA2zGAF6aW)0KN-2l>RrNQYL=$Ky(xD#C9)-5Nv5dEA3 zP!08;KLeV}_ig{=$n^6N%txZ?=g!itX!?1{tBUb*%oOE1q%gpC)WqAtcn?gr880=U z8Lt8Qnfo`>Fo3K5n`a|^8bTy;M9I9QHUbCqFT#8BrMwjRtdZCY+i34uMl7Bod3TV( z%+5qBV=5x0>`b(U^5Psx3BuH|sv*kGY2A>C_ETgqq-J8fjP2rMYYo3vWuh&R@&_eT zh_}ML9?V3$NHm&C-o?d8nRSI_qU9tE-c`v&D>cjp=B7Fmtu(_-vn_b1q|kpuL{b)dazyLHr`fR2JuvF~Z_4{z;%*9WEFPxd^|qiq2$utYJM0 z3kYddhTAPnL_`X5xF$j>f^u*(lBY&Zd=~sun!FtwTQY0U13a)E2)E;y% zt`V$8sb9MSe}E1x^SUs+8vDW?<7@UIJegD6fp`xe6~hMbPkI*5mVs-22P5_5BSCUm z7LoDYk(9NkN$jjpp$N~K-q571Y)-N^5WicC&XN=ZDe4l7< z27dXjjbC=w%7BH(GHceaeF#(qptQI4O0&xXlHTHh@rAfg$ z5E=cDf^`#G=Jx$D+TJr$@09HcLX#8zcboyxK7eva-e<31?bWqSo z#MX>p8z5RCUlulj^{I%bk>g7#l<_S|LmkXF{D`0itU}f)6{H-;RY*g~ z(}6oN&C#10h%|zpmJyS@o(hISOlO{=y~~$7MF7OC&uE$IlLU z9Z2lxnaLG9T(w6AQNl9loK8T9(Ro89DhGFy>p5H`2!ReUad}m@y|v))4M;Sso@WP& z<)=2%>*DjewN+3$nI9EbgK>5ItiG_ z9$o(MeB!J8=bA5g>p#%RQ#uz{BLBGU;ZZpT>gn*rYbqe1z|En>ehl)}1G zf-c|hDP=}x$oyjV#w|MKTaf=_;k`<3Bn^W`DRIe^G}Ir#%%Mbf&5a0$G61}ROJTbk zu_o%MMh5E!_wn8^algxBYcCGIH+Kgf24BVZ$g3Xx>IaTjp@FDUF%VEzDR@F8*=fH~O60+8R-^uR z=jS{b{`v1Val)gG_44~!(VtoLqBa+2^8L_+I{Th78Wjni1e8vg#%pGBVk6AtL`4xP zVOm>hUMEcZ8S5@q3SxxVznWlbBrh?eEf(`>l{L3w?rmfGxaSQ4n%Y+f5LISZ_#QWk zLOY$spV-Ck;Yvjza@L#RIQ!bz=c{m4 zUrGTTGr8bD#;o?x>wDmQJ7#s%mB#DIi3mjuC=p}eh~(E!?8{CpBsqu_K@?roh6@7bJ@=Venbf{!ULAZWw)=w z8B0v|t@2R%+Ew`iO`CMv+HJ2rO|UnDOnIJsuQ!5JB2Y-8T;BDSZ$e&Ln$e5c?6h?x zDvt5mtPc8e7hCDif?k2Rxg%sYKlobA=HI@}p3NVas`;vBa|AaM{p&~KKcXsk#jmWo zBiw(qdx{3xQ2)_CNsO@b5xxFN$xteCffQW)hJQCV(HFSb6*ccVGf~FaKrbJdz?!*E`;;28 z=Kb3<^0AJ1`Ba1-iFU}sl6M{%FyfN8;MZC;R?**fDz&&w*l=y0Iv=mkEjA}^o@6+& znH@-V)cn^+!%u@#D;**N1!~=F05y#Nj)ecgbRqmdCIbK8eT4jfSpR+^{QJoqptG#m z%^L0BzhpBwv%`9q419IK$UwI-rd_rH89vKSOFprt|n{VzTQz&GD^iNYy6 zj3`vy76R~g0T|-nKd|5k{rlOMD*yhp>c;!`zoo^bR>2HHT>kxaPZBke{rlPIu*<){ zf0#(bYq?O&okrW@P<@x?lKTAn9N%}S@%?(vl5qH!kO%qU`HS&ge&G}4kj$Z(Lj|3y z?byZ2i6=mk)A7F;;Y7z5V>nE#y^I?rS4eg9nx1*fA&f8Fft@I&9hFN}tO;0HY~8wp zU&iB`-X)(@u?0L*Ezz4=414Bk9!=<@Q-4ZInrM*%Itq$W8MS$EA;!~GYQQwH5B5%viT%vl zziKDEe{tsCeVD7&8^CK*a#8>rui{cF23w!m|GjKx+QZy9nDVJ4cwJ zRs-MIzrG^KfA;Fh z_%`tR$tssHpZAHu>%Xpd0=drt>x~U7B7#C(k^b4CM#%; zh`+AnlL|+~_O$~5rA~El3*+n`;6*WbX!as`Ds9+`BZX{)wt@KrV+5qC;zbBnK zK8-p)jeUoQLs>-_{~i%JruBt`8+jb7b%P-GQ&t2Y_-Ho4Rsnra7J~yL3{5F9miz~8 z8)+>}BbEoQm5WsGzU|)XgBSUC!bbW?wFOtjHQLf*)6#;hOK!&rqp6aOn`T(x3eXkN zfX?&vaG>glltjH8xxMIku8(cH^E%J6ma}{*C-aom2diu20_FdC70F6HmZptR8*M<~R=FQLf?ATna{yJp87Q)p!pZe&N5HY)>U4jDGJ) z{)Ru=Kek`OGsDNfrVSnc)^Pk=;S!l+J~ATnBK$Xh!1&kSjDK$gh2@X*kFCAt|H}CH zpva9%lu~$KBga3AJ;uMjYWy3*@h{hw>d$XAQXS1d=9#gbmYRQ00p&ZN@|{md17aDDL~KYp@#dof)hif;WkFK)wVX4xASptek;|AI`=X9M(UVO-LyklC}g& zKQ!Xk(FN(BbHgBsf9@uM)Cm9FOIaAeb}u;s|J+ro3l9I>tcoM>&n1mil(zkIw_Ye> zaJE{5|;!)qVmvDN%FM?$Np- z_}~5>Q7zkrioc@94}$GSrel&!d*_Ja2S@!)#}D>--NjNr?=~#e?3zdjAHn+*aS z*;8nZbgp^0vn;ff-3(E-yL^8iu@EhOuy7{H>d3Qj<^{q^+Xg_R4j*pwku^$_pY!9S z`p4(P&>t#xWOAeEzsk`6H8=ggwdsGQlOVqYqS1dwgXzDL^k3qp|GPH*uW*7Z6>y>S z2dD`QNa>%&anZl0kU9n#{rCqS z%@P^O;5(!{^D^mL2MncHz01L{3%}c^Aq$t+%^_eFH#(ewFqP7RX-O?=d&SB5&4LV# zzmw?bq+1WJOhUBE`I*|w`G#r&kHiru_IzQ2GQlBVsr3CRFK0U4ZeF|(DR+4};V!hT z_Xc@5J*7`YX{8w!5jWK$73<;Kd6Uj1uAgEyaH;qmw=lG38De&RL--F*_^#fS=vg)? zwt9C$^WRa5W9}Z5DwCR2?~ZT2PmRxbfb;Ff$b<36H2=N4FpNlOGhxPDEzopX}J`V1gu@lCQ-Sthl3Ge!IQbl)Nb$W&rsZO7UCQaDs83;Q~ zuGA(Me8^TYj3FEh&X`j&+omENpL(&1Pen7Zv{>;HR8(j6pq|WvDr?c2(+{0)bqHzA zc0zm9{HFi|Wg!O2I^%Mk4)e%%Kf67z;3ODt+;1vA5WgKdY&)J|BQnsj2$RiF$8);v zct(IDuz0grWTbu$uEN~SKkCm+w;jb8;Sv9lr`*k(@mSo=I6|6-uT_%GVaFEH2Ta4v z5W1=s`Lz_G;W}2X{CvA}#+9EV=P|1I%P|uF#OP!pGQ-n&4yK#P`A6b2jyNuiYE&jYx1B0k!+Jy%uqSpklR(OPXKK^sUc z9dC}~4Ui{KVsV4kP`t0yQT!clq*&QU+xg5i_5p8%pYT?-^Q||`Th@z?7Z|_geC0mp zE7R;(?!r~XsWaX`c#T%ZA(Q8t>4^0D-^`D#w)PL_+}pVM@&4(cS0L`v?lPLU zxB#PhS++fzugud7RF8kST2#xPT#nzE=kgC+!$F5Ih5=geBcz(l2`BT?JtsU=g~?#- zR0eB2_Zm20+Vd{UE&ZRya+@{OX-Z|31}!(|WN;0GP(mhyH%X>~LsfR7f=mKR)PVF{ zu(;Z=+L01D0p$I+RISPh+bPh~iC#cGHK3G`Y7gj?I6iZ&P2PGU!T zf?=u$G8Jq|4>9C>GQxYrzkrdTzWf9y_(JA^H>3%P4-c}*-SH|z?sl}?m3{sY zk4W&ZD^}q@v(!2OM{02fq^Y#zI8}{=zcxtt^U##Z7Xke&^MB^I zeEn5W;=X5HBp>j(A^Aga+HgftSz(AxxOjRPF(gFiJ%)bRRL_$2fUyRiko`IU8%SX7 zG%!u}X>S>_r-lOiWLgkdXnxB)H^6%GTVgWi%uw+Z@DKWJU!>@tWu|ThuUDsF*&g{V z(?arFW~*?_!6d*pX_8=%`Z-J?NkOD#d{?QAR|0i7dzv&+a|9^!G$;Iq9s$PUK`yPg3gfM$J{zns7 zUkyw%`;%`P{Ch)z?VTJXb}0TQy8+ftjHGWQe{qPuS<^xAe{ex`{4-CT9J=Ee<8M`c zaWMR&-~bun;Th@Gi5nC#-7Dar>pBR*>einlycs?)B!gyIpxM)gX8NohxBw_MR|ci# zV$4qr%|u}GprFoLEbGSy|Lh{!(yfMMP5OtBY{{e`7M>;?AT>Noy6kzX-cLA&9Nr>T*vysM!HtnIGhCW(9wd4pM2enq;9V#rf_*$VB zCcnMDko6u;kwL9|nOK|b;QoH$)XD|578q*jgLk?rYB`ou=r1tT!ujetKlp^_fWKjn zxri0F#SrWAej)ffMs++)zUD9*p#ebP3 z0FCvW)o}T`;arigg^$!vF*%gSL9rI9FAn+20Luu)yr9^7GP$Qa1r*D1P|Ry>$x;?H z0s!}vaPN8YpTvUxtP3pY5f@1GKxsLcC*&*f9^tZdhvO7z+qOD&o8N*i{>sQyc6VXiU2yuEK-4>_R!J7Q^A2wk9 z>Zs&v@&)1Y^?bJOKttv0kc{On{|lGeDPPEnBddU3++e?4Q1C-4+r zAK+Qu%4=qkIHjUGesq6GViyiS6F2LVDR{h3vRCK!KyYce$-%J7#bz&#&4 zhWWq6aP-UOKU66Qz^ zQ*-RfR}IHr?}FJT3e1HJ|A+*$W*ht;%6J&k#8;7%jKf$GhGx7op)V(wSXAAHBtpLO zEhgjS)@0ZZt>@~|NV+Y@Aia}a{uz}ss3G5kcQLOYg#^U|%2Sds4kh}^a}XjuZk&je zuRJ%Q<{E;Ae`hG7gBJiPH9qN!gLR)dLs<8kRIu*0UN-BF9i%y@W~bWhb@ci_Bb+~v zHBkN-{!Er5bHJae|3m&9{%7z?mj_(@`RxY7pS?1i{JHCn$ozRnK@?tz!k=G02AC`7 zDVUl+Pkq_&XLY(0=J+Tu4>Bm@kKoVl;23M{eU0YNEw@MJ&jUb8IDa-hP5AR~e*%A| z_ptf%{r(~R$^1cucK)C*c$DO{J+dtyTUgaTdi{$9;bc)irIK2MYr+>wmwLh)aIXpP zfNm>=Wx!P`cr5Gav8=N$knl~lI*ctatL5l7ZiPveW=-?7?AA}tfd6?v2nU~IA|GP~ zn9!{;LXQ2i1?COa0v@Rr80@JQhv6Poi^4v=IK%JujaTobkPzep{ej)FC9+?d2a zY)%$O?ffrT9=(!tHCY_*gDc1KXn!tvmvW5s1{_Cq5)JIEm2sh3AuT}-I&AwRCq--I zY!Uq6I&R|e{06eo`hJPAHOJwCRVLoSkb!(Op?2zEdapiTELd;Amy%EaaHeW~52|sA zvj8aD!E4=Q%@j=D(OesqA4WkrCANlLgZ+XhU5l>7-|pNcqjAlviEaEEbWTjsWV?+z;sf-m!$bZPdhN$W$XCpf8rF&O8AU@$c-D%UIJq{nD!WXn`($~JZY|Kvk<;G&XW!q3z6P`P5P z!7$i}6_b>SRnhU6@z?&IijldJ4WS>VHiPq-1EJqr_$J_{SI1Af$5^{&Q4MR=QhrIk zKXbw@X2{8@rTw0xHb`Op_Im1n%#RT?j#hQz19p~)4|d3}N{|#O@xf`*tWJE;?Eet= zCh$>}SO0hd1cDMLDrjWUQKJUeM8#$bsS{+m6DJTBA%d-Oi>Ygb1jD8YlVGlwtEp1O zOTbI^_-QZNIrI0jNeK@5C|}sJRlyovSnS{Gr5!DI_s8 z6YYr>+rvYl4lMP@U*}r-)9?#G$!Y@>66Mc;xdN0D0tE>Spr0#M^05ZX1uj_1T(Fe4 z2TO@c+~aOwKLQ`P^RG0l!G6Fe+k?-zm&p)0yK{FVFo@Rg1{M{hyEZU@9wlKbR=GcCUCy?aQ@l(HF%Rf>`0YlCOl)lm zC$BUDU(NWO9tPzcY?fj7oFc-hVfW~5*dZiGrnN8n6`sMJvPoKR~F?_aUS}*duwS!Y6-b zB<~NKA8>r(z$Tx~WH5!+<*9`hvgoz?W^

    H2)cDI*>l3zPAx+#eC^rRA{z@n!d-} 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,!a;alzzK?I>}1p+$A34EdP9?Xh$ z9abOg{0VFCC0)``39Lul#QR3mhxF|S_9CexmyQz;3yWIK-YDOw#BVbQ52#s8M#9#N zP&N#?WGMdhhUN@TqWYe4DKF?pA+0_ynl_)qG+0k@8WJ+)GeIOWG}()Us8b2k;{sBF z-%R=U(M*JBtS2(eFoLfUv{GoS@0|o>)ftcf}#CSgM$ngyR0vBOEt=mPRT2-j-7=(76);|u2fDF)}yI5i6A z@AWC1SE;A0RCJ`_h3MMf(D}FI{P$z*Uqdvo>!gcd;K`iAz`No1H1L2QIGQT0sP3C& zZ#4|^3skS||4T0rkUnm9yY5Pnqlt5qF6n{;`Xm1T67DSRbNXu0j{D0XIZ`)eEuagK^*b z1jkJdiFyqzZhG(^ZnAgp(e^UZ+G5)f)7m1p#s}c9)8_ z*R&IrjK~e_=`hYrLQSMHq%`khT~hGlqdXPc zet{v61SzBceg3HM3jtlEsl6)ygwPZ|FbDS;I}V_&B~{rUgMu(*Mvy7eb6%{1+)uFn zI`1VXQg&(VC@mrd*sV z5*vqUXEpBGzCp~4a@2_6+h368fe*GH4LlD^^&#v)G)JXpShF%!j=~!DD^QEKEX_z` zorM$`@c%7Ebr7EL2W#5J{7es{V&gJ=4T%~9Bx}gz)-d{1$*3s!+)tYMDfsB%01YRg zL7($L_UY_1(EqkamDEp z^49Y>ETU_~a&GlY>6gnnwSkT0v?0N(`3JG3%h*fpi5>n~X$m#Nf!mSp3unDUcPhv0 zgrbT=IPeZwOUaC=#^+B``-{Ege1*i(VnqAT9sX%4SQ^;$cRV0>5x1;?s>>jk$}wR3 zxxgptx#UdpQyO4J=?+ZhoiMYwdus5got+1uaZ{4Lw4Rh|I0aa6y=ELlUx>)nFUK z{7bRfqvtrfT1$HQLyyt!^@skHfJ;%0&Ifo_&mFVyuwO4+kWMH3QZiWHcFZ5LlDR7r z@C%v14yVoSg}`_gdy8bk!c>w!D-&T#7KyW3Yn|(+pd?DFbyteBAj{KG^^%L27sn?ny5ac7E z1XPU0D%A;;WGXbY=bQE<6rjdPw9JHBf4PKLIeXIz|hgSns*cxfN-nkMA`h~NhOwc3J2Od%a$IC)! zrJO(k!{o%l?CHRyo#0Dz`Aje)be|Q zM$WG*?M(6+)i8=`#_L$fARAuJhATFbQlJIJKaqg0;EopTk3LeaU0eA{l=8#(ly+W& zj}jVO!}q$Etmpn_b~-of@(%8*18|#zt}i1=kK)|S5Cvfd3dl{deN%4V)Yv!6aAS`a z=OcQs1eyWO7G9?%>M%Dzi=T6esZ5vMjca^a*31RSYF(BMuwI!*e7jV>q5l9s*eI{h z;EJtTh(25=jlGORnTg)d%ahcAAWhww$5q2$^# zd@$_yT@2WZ#4pa!@r&uhX_~0jGC3|Rl6rLK_p|Y;*N3<;ti2pv;UO;`Y&aloOGm&3 zRS+WfD2V-t#dYc6HaV~ynSK`HGpNvDtc~!Yoy}j7ptF%)_|WROT^l3w=#k~4&w0y$ zr5Wrpxi|Y7$Z4LXy=V5xcBu`i60oCwTfdtLzF_t{i6aWuwSi24S}_~SVne2D>u8u7 z8xi%%XBm8^aj2*wyJJWC3KP~+Q8wI{!F;&}gpS2Z47k`Zdm@44BrL{jHOO?$?@ziH zhvW7dlD^)c36aJPYs7c=M3~jxY;P1cP zKVU14RK&iD%YWpY)?(Bk@!{#9@v(ViQGM_=2>+V&QKN$&!RgVEJi5AXYEg|(cvd6I zkFLHxH4zmfE8TWoaW1?Vd5POl>*0ou{@{mF6RA_cMXRRnXmW1#KvfA(2k@EWU_Nbu z`LtzpbuJhmd?JoR#AhZ!PtixyV$|U93Dyze`ZoNUMf-^3ADGi#zX#qlGO7P9*M`4-$nzGwLjrKT_FpB~ih+?Enr2uXK8mQEX`PHF;X!@-K!xPpT(&S=!rvd_k zN8OZ9))5oFIJh%{ZLqmEaMg5;djdl_OAjSe4W*B%yb5N&^V=H=dXma78y-?X7@)qa zzRLdcKvp|IScP$ta;$m~5+PD&ZNi=Nc(wER@1!&+={Mer*JM#F`zXr_z2Ju#^`RR7 zJm>2>aOZ1zH7~oteScz8OUqcSU(CdI(ho|*qk`MR7voW!VHHuztanEf|80GY+yV1p z>to?L?It-_`uUgaYhYgnwFwAA{;_TT(7hS(3zT$2s-g}?%T^#K(&vS8rtBvZ9DD^X zjzfx{1vX|t;fDH$EI3e3J0VUa!)U>Nm_tU>Cq`Y%h`^UP)1)ult5;&30*U16sbNDf z8tgN^f)9^2$`)(nln3qDH*iwOLf9TX*F*l)bL0xIlhl z*VQN}o)7jz7a2WwiF9?;`GWHA_zEl{| z@b~n-82V42`=a%G`2--4Pk?#ra0DJiX`C<-& zogjE%gTellZ5B>g1UVJV4qd0~_YKnGALJ6>qN`lJt!V45vqK@KM$@(Uw~)a%hLj8z zt=CLB>C&h*fm;Sr@ov>tPt{hhw%Q80e)vlI*(8^^Z%tPk+x+gnm^ObuII7L2%r@Ix zrfU6T8@0mBO3qc84mu6ro9kYJIaTN}I%^yZtudfzk?-PDr|PMk=YHHljqC!}T8Cw` zIyi2yoO%dQhgmk2{*^LvZLY4eNq636*_Ij{I#PE^BhyWML2o9Z*nwJzjd<+!)aHS3!O zI_9XQL$UQ?)0U_|QCIx+h*M6g&tjo3iDLNgAweR&QFWgIw8(3p_2<_e>b7z z#5e$ovhjPH_2f-<{CZ^-`(@`ZTz#?h(%Im1MGb7ND>f)wDcus&<)zy(h*3(NT>q8wYvQpoC4CpbUk@tYorp@r8RO7u>^gy!+u_STig6W zvEG{SN%SeV%^ytH%MXIGe#c-vm=!wfPsLMFl=Z{~t$`qY9=O%Yb-FzFTByk2aX`8~ z7W>cZUOcR6OIwS0A%(vUC2MX+@l}quf!a`T*L7%jNvS&4V3XmR-k@&e$)z-{uCNAv=Dn8R`htQdpjcu z7r;B)mT#TUsDBpXz4EViqg<=l=MgM^UODEVf2PUr720d3d?gXTjjegv{+o4L;Oh`P z@PRCRFTAH#uQVgBUA2#$!!rsyteg%89z?82)n`_;18;qSjUAx=c5s_Q(bymR0N~%dO2NMmO2DkG zU#+sQnkk<1fPBzjYWV`H-WFaVdNbJ~M7LM2+Vupbhr^^OCm}o18s!S*w{~-(T(SIq zUdC3gl4d8A+#KCWN4=}@XFrv`8|}^?2XuMhesuTd${2Ea?e~gY%#=IMZL7Pn-3h;p zy6l$n%)8UE0*pif>MTt=SF}I-@a$4%PRjQOEkE_nZ7TG|9Q?H#>i`+$)Uz}?Ku%HP5tTert*tozXz>#CJHRw#@@^6oBJuV7-4+6H6~TCBJ9t4$|F zq}@_n9iV6+hx>x@Xv;UC))-KSG}*qU9lp9|c%f?jW)k+nB7Ou_cE?y?qPeR+!N=kM z;145z+*AHjplt^ZyvWw|-!}o9UXUDo^f(fW82pi}*+-pT(H{@J_&@0V6MAUNJ0? z6P8}C$Qevwn{U-zqC^P<0Kb6H_fWlnUC1vmrYwR4aN!py!t)2i^V-k-K>n=!E9*Ex zfqeyJmT=?p4;PL@S0~rh7y%@5sJdH9lx5;}p3EjTu+5Qei`{;O}_$zB{4U1v|br#c^Psm z0yCsB@G#7ek)7|EpNBTz38Kvx7_1c$^(Q`R^R9oL72Rf$w27^_W0S*w;uHopCtC*) zC=vcGf1!S0`YDjA9&9ng;pla<&*$`GLbfo2iaB@;Ceo^yM>ZuX*Dwh_5DJV6=_}?9 zW#MEJY7n<5cJ}TU@gr-cGI#{6$k)NCo`iUzoMOnwb4zB<9!NoX;UJGffvN}!Ok!2QNf3lA0AoS|>k+hkxYPXUod0Uh|2?tu z{|{&W(>WJv#ZXY-gR3Jba7qLP6#Y$OY=*`IX$!3i9^58)z-Ea8g=n^Z5t@B&ehdn9 zU23DiKhBJ6wlJ#MXv_;wQZ0g(vN)e*;gEwBBe6T2SdpKKh2PmDh!r5tdL~B?ZhZwy zeqaZKGcY~Y^g9)H7?PG* ziH`HZ4w-|Ob-oxv>2+(z+`Txw2X9o;VAWOjlh}*m!ey1UI3BSIu-2eV3(kGV9r@Wb znLw%FK{nDV(gmTCbko>T`j#rw%h^p*FHk=|PbRx*O zq%Xvb>AFBY`ht(H#iJTAFsvUgUm*nP-Rt= zE;&%dbk{80k!lPA#11j!;(&Ym({I0N5uWxTPO=3ftB;Bs5%G+p9?UTeMV@sG8fAr#m*kBZ#ke(Ey z7XRL3G2ph*+PNzDR}w%m_|0ht&QMZc2PFKl$Lxtf!b|@tNO%q|zU+7B49rE+m|hrg zPpqd8e(UR@*qYoGRjDLx|F zt;nzNuwxj<4t~9&##c=JYX6Yd~@QS&=l(H90h6N)*;4@e*cgB{jeMoAIR$N>klxQlUkQ<$>& zx~xbQn1>k*#NZpWkV&Y|h+@D5P+(&j)*%I5n>!&kv0X1Sdd=4Hq1PMAiJgN&v^jze~`@3YkR0TCffPnc)lW&*Nz>gXireuq9Q% zr4l5gq2(2^4D#Duk3f%I40$qpt&k~94dgtVPiYH9*-s)dk|kGMvi!6z8pp9foa03r zZw%Z(LeGhOgZVJ1Ttl5=fqd(TkKfp#*PJqtR*d5-0x|2vbAA$74Y9zA(!U22$$vus zrc+x+x>zqWs%1!00quTeVu!9yRS70<_9)9#p`t=rAER`D6*{@7KX{bFft6bIdW9au z1>=xVcFo32Fu#PhD*DM;&%h@Gx4t9aTr{EAoUWK}aHiDK#A?OrN4!ABv zKgeeAnd@!3ipYKRs+{$KmlUh1sE7C6-kws;SGKBj>`B>~{*#k3Cw5XC>0- z7X5k@UiVgC_f@Z5lcT;q3$OdB*Dm$??C95>Bw%2lo2&0_XjaWWf}=qip*zHz`R5wzC87&uDEY*9^kSG%ASC@T85 z6#p(H{4n4A1Miy5AwXD0`BhF3qs3w_+z_E8ZceWDxdLDgV*KxCri2aC6$6z?Fl8OR8iNmhw-%Jpd)h`pXna8(Q{=ysiJBl;bTNi;>)^KF0tQ?s5lRhiNFZNf|nMy#X5yqH@V>zwDe~s);vFS6N zzS6)xAd;;gP&3|w;Sh`JaV3fgayT4R8QT;+wesFZ8pTN|zpL?lg4y>Z@veb_iVraZ z3>YUfWQ8vjA+vmq+A8;?|jz-ze zwtacopSu?{;Wgdo*Z_FeXIUd~Pa`W9TQJSSYF~qvOJze@CkjT^SnfYCUFFTt7wqrg zo~`GIF}6a;+a;)%9Gt>~-638T_y*L|juSC30NH~#YS*x@Kb|X3HFDixW27y`a6r#) z;uxR>O@_xYzJVlA&U>d{FenjF-^0D~lJ4%6!xINKd8>yfV{Z@R8(zQHA{HuzM+5XP zV}Mk$|G}CjxAoRcbKLe?I#cRL;KtJPWC{h@{DIP!PTmjq!H8|^YXv_ondRKuX_qm1oOUe|&Fo1jRVokagET3zyDq%5gSw}6tdqbIaQ$>^_8%-El-WKP^d%@ju=R6QP`_T z01OoQ0qkLqW6-scogyTQ?z&?&o2OHK*^-MUv~a*i`c)>3U;u z#H?-s5%T=^Ly2=H6y+m8en|h;1L)B)(?PfYsIk`K@8L7lDAx+ zn8)`n8McEs*w29XSmBNSWcvZJ4*LA)L;jjBunrjMpG;y&wJyc@+%NGbW+pW}He$0< zf7Rz_>HXIVYo6C;q`DH@EcO9dRV~*QYLQ8EX*N|v6eO!As_kYWuneLk_6Kz#Rl@Ld zef`})^c#p}T{fLqrH}jtRuvoBZ_mYvNQWExQb{leuSZeX??AYJ7f~~e;3c4e z61G{w36kiW28WMXgVKq}C@$)3W(WW(Ye?a3y}pDmU;;R<{Al z0+Gael^CeSRbpxZvTBZUoMDA`z%v3U&+OUV##FOPQ27%Mco(`|#6WD~w#mvcO(~OJSr> zL^Lt7<&T1q2~YCUFA*1tf8nw1Af@8$uu#wonFy5U#IPs%xN4+iqftn?SS@aYHo57- zz32@o`HpYE>v_Q)zNTHix+Bo8B*h-TgpPrut?3g)#aOOh#G?}2ix%K74g{31K8k#W zMS{~M_zk7=5Tv|lqLluHl>Rhtz`GIYl-K{=yu>&1vcGaKQd>N|sFuDZL@DPD01Y+h zSmnI_@8uwHtAz-QUdL5TsHM-Y1~rj9p0P70;`s{8K7_78>D#Hs5>X z`n+Czho2q0S^i_7H4+rJZsCGeE2O3S$~rlRF-^@}qaQD~hj8?qlAlM0^OXqbOnC*F z|CRN*{dA9Ys{M4Y^){Yj?SNZcljP}o#Bbr5wGw|s-av!bU;w4E=M)MGp;qV-DrW^L zo+wF3u*0+(*<&lzOK~1pI=Uw9rzFZrO+Yz;6;N&&ztnaUaX@OqcdRK~0X*0KeY!!R z!xd0}QtRJE;4oWIN<4pshDm{ft=dlDjE#T%qLCJFqc!{&B*a@2tYoCLq4YtT3T33o zCSlo_M1C^tPHs&?E^;g#bJM81lHCzO4Cjh<^ZUvLWAKTW;waU+63^m#V%rCi_SXUA zD)3r|U=&igc}e&puOJqocA=Ve>E&u1zHpP5~HH2t5~r&a5$3M|S=vNALU3Pu}cJ)w}-7;3jar!VeGsT78)DGd}F} zD|}d|KlB{yLkzc!D(kzy#1{|Xi@3t8BWVeYWGNg6=coyuM)YQ6yO}b2B;6@~m`Y$; znVd?1n8E{4%FwJfWp^$MY1aqJc^JN z{f7G-L-;}jEB*8;@Cx8RP;Mp=2G|U&(cW0l1cxaa6}KU93&JFHR@_hGo@Q)2cUR4U z&7{`_02UAoPnAcBqKdl;I(D2r3f>tHN@lcQQu%L?EVJFZ@Vyr+zA(o|8ZtiF4ZBES zh@c9e**D9`-Z{IEL|=f|o(My%?zoD=8?VKk&5@!1Vje=#8E5vyB-N{~W3_j@*kDs= z3f>JI4^B1o6i>|$(`5idx@PI)vE=F^B-3UC&7$d%PG2ZySr1Zg@@SclYT z{h<|2sV`Wk;^n|18y%^CM5ze$4@czl{A`XCz|V+F|FOfG^OlnNGl-AC6a$2({Wd^5 z)nz+cbqDq}88LlnD>Oudkj2yB^*3oi`x zW#<`4C%$5;xY-0zf?%p5hK*F-fV&xKft))oY2Wdt;%f-XAR_7UO)+k8?oLkR8#HVm zOvM6))_Me$aFHYn$4_Ska!!gA^`fX())*lepn+MBNc;&sV{%e8*WH3fK_KTpgPblI zcw)#m2EQ?^>GF*YwBt6+XLeC4fQRfxh62=R$DJwh7xUsKJdS_UKCf2x`GF+NaK%3I zL)zzLhK8xH&~j2ahtSf+E&+F6CgqT;o6keD02JGA2l0*aBpw8A!56FY{BSc6mNj8_ z-keOkX_dUc%R^g+6o5dvaalb69iAlS!^UT%cH|REDa|w1+;YR6o*T-FuQjq$OM6t5 zCEqstrrS%ql$Uk8&0Sf+a%*nAc6P}Pvplm=!d9cNdS8c=(lq@Nk7GABY zbi1qmE+0*wdD9KIm3WF+?J4-+rrU0sU3y|sMOn8QH`-WL_P_>l0 z%Pw_?E_D-2l};DMdp9bzW}GLun)?YY@x{W%9C2v6t|`QRbY^EXO!dx*EiRt;RSVa( z^wuEeoY&y5*vMIdHK$yq^wR>B*XfNFYHkqP*4HpE!Er`&I$+nA;T|m}NHHjA?rtgv zOpfyAM5+cl%nf)L@w#bmh#y6*MfohH*(ALo_8N=UbwQ$K4zES6O+(1}Xx&pSRNfF( z6#o64v&17(ivctMYjsuT;JpA3{Cj<*E$3TXou(<{wCngph%*e?TPO`au5gkT*7<^j z3LsGo+6#n+eV>@%HYG+x`WRS`6%5rqu0L#x>fc39|AOz>TNZ|*pH``c8;x(6&Kx}H zftmU0T9DlD?hZ#sRgdb>l4o{Hl}JUJ3}t>MS=tOW^@snUj)77K9|H)ihzASkifoO7 z%rI`;w6-6*ac)PM+`2+l2$$WyW24BU57wnK~Y{x9J^obHjz9ULpq=U;?Fu2o> zJrK^ONDB5Xgidmt_8y4{LHt;f(qGW87)74yvyPuxb&L@FDE}vSA%edu9M*0c@K-|5 z#&oewVL8K=fj6Qa`el@UQ701PR)9KH;jY zNEHEag$`qHYope~(kdknFc*hzT3>v3Q2Dd6@X;Zl3qOL+8~MnqJ_2rnX%XSGtQYYS zQJ{dpDrC}+6ofp%--vxpSUtv8dU3$O6+;{W3)CL->@9PLwzrw77RUOL2`j1kKCuZh zRY*>INUfm^kTYGs`9M@?{~oB&o4?sD>*wlGHXp6PqZ;8ARyaX(1ktbh#06}}=~qhs z{WC!j*aw`PN%_b>RDGf6fUV5RP$oKj5*X%f1eJ#z2#Vdw{?M3YznpjqbDqcybqdO< z@Cksh*L;C3;(h&?11VsvjldNC3v1c|LY1`zHl-1SDyOEjPA^FIw!6*f^;51%-`Mgg zzQG;hgN`e{b)(Qww0~6%?Jf-ORL~H27}0%i1Z0O%1#dB!Lh|?w(z#bQd#D{o*J3t4 z$61yN|JII=A-P%QHp#8u5Bh-AKqc5_G&_T;HZwCMH}r_?F~Rzw2eU;TrkR9;cF>~i zFS*)jQtvQQ=V$8XG&w$hgH4W;W135n=1!2k3xAc##SWtyG!=e~zuMSglqvpTXNS>e z?{oPP{I}0o%0&8`*fWuDJ5*0eGUDgrlp8)KUxMlrx{%l>4j~zP%r2u_&mk1xzd|$w z_bF)q6~rhWSd9`2p*_2F8vWs2!TEy!0KwmBa1eaPfA#c3{)GD++kQ~^-R}GY_ocaGYX8zA^Z~hryaeVWSCM~~i&Yu72&iuzT zmn6-_&p(f3h0#t8wZt%^amN zE!L`%T@^9-mzTgdkoI?=2&4gPri>wb$HoAB3*}VlnyQZKd@q>|NJDIO=uAM(LmlQb z0&`cx0K>c-8Q|$RHK)o=K_owf9Edd~-B^v4Bxd<382~eb{vYP7o-fNwOis=7J=`z# zP>LDzqp@fi=@lZg1T}-m3z*?(elnvzL7xM_m(dvCnRDd^t?FDb9gIZSa3xNw+e?@W z%f0XikdM7SBssBn@WD$L7u9WoK3EL%Z#$2P?l^FJP388|BuJI9hN+~wVLiL@zb%!u zrQK|Z;q3rIO`vC94r+xcF_bumZTHys2U~)5cHzpcC6|GTrzMmOH=t1!0vKuu4N{F? zQT7-n-6zxW9mbEA(p4I@8ottT2(6z`ADaQs-uEnpn#*uy%}U*rJ{3B(msu{U9q_M2 zvP`k$VGu3jw>&AK1-oLn4lxevZ&)oDqbzK5@VECvA9^;I1h-C=4o-w?XUG{g@5qq- zZ;(h>AN@efA4EckhaA~-P_=oR68Uxavr48$7zP5nimuX2Trb2<6=hyS{NG?N_zriQapyc<<2+uD zJEfz<*)!Iq&6=VqSs)F#OaV;vP`)2qe_?)yWOP`$hz`0qhx^LVCAx?hszDc#TxmSw zx6IixcG+B~h%YutgUDleNo$I*4}T%bK`GaF9g}FgEaM}0RW|F!&wBOq2DS`X3oEb< znH+F{wRzy$4__7|B=X8^A@M|*O0-69$1qhrg( z54spMFmmv%Zvwi{XxI zH1_^?91v`WHwMHHl-eNvMij{ItW*N2tWNDC<;LKf&QKgopk@1^oueI;o+ z$bVP}=IGSVX#=fLWkVCd-}Pc-U=uj{I(_69VmxS?HClfWJsEKTsJ@xi2D?R;fD+K2 z<6(qMM`$=?F|yrc%WeE0`?c0O%o@y?v)a`i)BO2OME! z4!yO+7Pvv6e9M-ri0YkTtKONdRBw+~__vpwA*%OwvK!I4$z&XzyCnTICe69EsN(MQ z(~>%tqE~dTpj9-@R;#v`b{hBtbZum##R4v0np1(8H013hbcx(~geM+J?1x;VB|Q;8 z27P}Fn_77?%%OgGO4U9Y8=sPBKUCs)feJ8)^1CtA(m8R1rT_AOINYqRghD2c4OljSgug|aQNrqv%P8$xI-Z_Lc zZA-`pxvpjeRtp^9pIc}))({RneH3Qcy zT(cUmsEGxhZD?u5FtjxBakix6Ixy67REe!|C7s-<3GVJ43^PAue!zJUK#a6?XwdKs3$^@!pE(ZLY|3?3q zmI7?1fQGA`=GsFYq8y)MO%iSIz+$9qOjjqy(0--DVe53<0I4htBe21Pz6UytNLa0a z@wRpHxoWefm*`fE=Cari@L!45*uhWPlG;V-6?Zn6GzwmWZS7lM@#uFNQ53^=mgAy_ zNBi~@9HXJ&5N8RaS8wtt&1VJ!qMNa%~|3>y2#lpnWRgdVBfpuu+uwhak@z29pczEGP&0>SsY)%c%1RfVMa5(jQWyNM zLHR>9Bq)a26bx)>xJu_R$7(TPEIp~%$c}9wUM$58a>E*&UYrI5^wg>2@Qy3F3U@K* z(hAV9SQhQn7P{;Y+~yO~FMP~65UC9Z9Ko7ehUdBN)Lam)S|jEUP_EkO#UCKwO0mlM z12n9)U+e@n)jF@5pfL+RW)2qZ|1sd7ILXVdIe#{QOXbt(SS+OM_-{YP z6X+@|NRLO*)$A#H;4afhFq2w-5h0k*&yFIPGMiv#u=zsJA_<1TE2@bjnW#PX zfg>I!9l}Z^y_4bDD31Joz1y8RBhZ}at~yoE4`@^G)oH%za?*sNy{3PUS7MopUA z5|PRQ88T;?_dp%Ulde^SGe3MU}l$({-g^PWbVIXH|rxXl+l zEG*0qkuYpE`4|18P$vGc9y-nlZpbVI0`BG*6j^NYNV;(aIbsy~5As27K~>;txdfx# z2T=!ix>w$vJ|Z5w+XtR`MSKe+X=PCiFq*&k&$U+hgEN`w&vW zh}5Y^G$78?)3Qi_R~0JK3uGR0Hj&@)OWM z>2>^*qE=Mw^O6X_VzYQP^%Xc;E6>&0SzK4xf#2el1pzE%36Q??Lix&pH=hGrRBjNXuB8G}~yL@QZ5y zC7_sWPY8ZTyq3XLY~)zgF^jcq9rbLH>%EOKe^KAhb-s6U{n%Z!mr0bKX`Lhe?TP4V z9RuXliXDm$Y~t&`T_U0BHql?<>sY|9kiJD#5Hr4uobTHhoKzGGr}*|CL1<(<@F9aL zCs?%0)o~yJ3CK;XUVDgdwtk`&A+SAR_E;=np>RzbTP=ux&EN^zKc0d%aD*}82mCAN z75FDtbRijX#E)yH$deW68FF2h?!i^Cp+-JHb8-b9M&sX0C#dmB$z)wpv}Isy)I2|+ z%MEN%8Dknwrdmi<460@xW6qRRm1SjW1YXj@GJ@fo(LDbZODf;9dRXDbWGna%xQq9) zkJXF3@y%Uv)&`3BR$n%H(iGnq-(~*nE-L&8yFrq3r?{&+;dS|4T}HdBev~hls9?Po zG{BJ5as=!$bXS6`quU3FeH=InA}zX# zH)O$vX{0dHE48;m`+GSxai=}j!z(b>@6X0q0WhI$4v!jFVWbV5qv&J2sEl3>%V*AN zG3vfR!pTvY$$m2l;m#8}b0qLu^~?-g+#!JEK}f~Y%z&0)Q}{hT!jcPtkx+6zyCawi zIuJ}n`@~cz+K|iaKLKroKSFV$msj?>P2jJ<5vU?BNC^cJCC0$-4|ko<^+;IrNjR&^ z`#thmbyzwyVKvjXS+|#cj8USdm<7i>AT{0_1o5+cfYST#X2oX8kTs(Bw@o+>e~$3) zxs*iQ-UXWw_RZULA8OjH*hrGas-fzwRJmKa4_}3ql|ZrAYvAovdGwwNP_ZT5aDDqP z1YefQeQZ3h@F(lBGrv;#psMcU{#&9CRg(ePiL0ZBIQ`T zqcq*OI)9Sy%G@cVJ>VOqr;}%lA6;UAxNCMi=WQWcK$n@ph)VT$pTX*iTQg_PM7l)0j#P^Lea zlo@6+E1^uRKqLNz!8jn!LOulr3gfqll>U)B2=)*bX;f-otIJFrc>MBZqWF%P;HR z8t<-3bqT*VQ*!=$Dc3Hr0w$m1V4FVHfRk~smP4PEHVL$6O;_VZ z!1CA6QdoX2KQL3iJ0Sl4HinoTJ;&@ViulZ+>)@T-dfufy)DFZmk> zw$X)Ygf4}Dtm=6kA82GZyQ^-L_v2y248tj1sptrT$)!8h#3Gn*?gd^Tq~G-I_TkrR z4<6%;!>ztR?QWgpC^xX%GtTVW*)SPfn!Tg6Gh3^Hq{0LV@`EGfTirTy5R4IGU!*LA zp?Y7b_RJufp&9kF4W2cSfX>N1m{230m0p8WqNN97AI-btV>+}EtE7!=Xf&~+VujL9 zB7&?_M+Hc+W?Ku3zn+gNsyrhG4W9qDeKd%gqA3#iX^Y6hEp4KJkM*bP`ZWp+y5zV> z=-^SR*>?R2ZPy<@5A|>CulnDgP&88(FFmgQFNvvt+2+>$k07ZsCTvYR3J4RUD&eX^ ztd0<=z>MhWQD1j=zTN>+j{iEMC&`));=@E$`V&V9{8%Q}RIGg@cLj?CeY>k3;Io%) zJ=@5>7|HtaNa@)%rL(DIm);8Y`Qo{N+hUJ`n~z_aDQ{J@KQD@ZM9^xggninRGksHQ z;MrXi80=;X5W9wz)&v1;_Uc~LrhXLs2lS%~=}uev(Y#ZSS3i2`M~ysjGlHS79Dt!e zc)A+;1#0Ls6WbrUBYvXwqp5cNq909vwe|Q{c~G@=!r@O<9G1}UutT5H@pEkZ(pH?P zP>@$xf8PGn_NJ|6(_rF9;Tohejtei>>+jblVlHCO&xApdN#o5+%`MAXalO(CDoe!n1~%kW9KPr47HoKtbQYVy}3OHW7HSHB;E*KdW_{6V|W1SQ0)8}!K`aB%8o0U-FMxXbsmyw6_WJV=g{xp8f6&@X& zH5EO6^=vyn{;|FaihBRfq|0T@sOd@81VBM`M|}L`LuC*>ZN$g#Vo-;~M@OB$ftGma z!eq2G4J{#mSj<#CtPjkCeizfoH_dEBMMW%@IdG2qC{fKclp(q&4V!%sw8e84ys53W z`e5LgyulluR{6P(oDvBp0>}gj;H34ZpQmE9nC6^0fM-eDop8KDY6H&cE=#p44q#+v z%A<7xQN$bKtP4&9@~%}~A>h52Cn-EfCrk)o^mbg<6pZ?YvuyYd>k|Xt0~2ldj%2+K ze7|dI2fp(f1-|9?;%JlWop!RPdgfn=cK(|V=NrMpVyE)-B- zAiO6E)Dr-L!)F2n@AZy>^5O|Lls|eU8U*GK5hzC=>2b1ZT!4&y9jXP*e*kGjKf8Xz zW^U8XXqNNVAYnNeb7@R7XGb+NOOB=Z*EgTGG~8%|){w)A$4Y!RB00~tp=*P-^Pl0e z8QDt%RyL{uoNC9FY`8)PgA)PFe}8X}he#XPoND>e5Lu22WI(@`7E8vX8sS#h|1<0jRtPQ?zJu!x@&6QmT8IRM;7kp|A7yOjCX?@jZT>VG~y(c>&}I^j0O{4W$L%PU^4TOQ{2niXL!I0UZ%{=$MHOv6Ns6vkMW4kb zN`D9(>g-;4w)zOhgH!)5^--nzs8rRDuIvXlm#zfXpN4L{p^E)d6`P=np&PZT7|z_0 zV*ggfE>*?O!NrO1VEfgoG)xvL{j@5btV$ocT*lVXy>O}&8`seY)FCn=Whsl9t~*Zy zWlTAl$LL=09br$%-hHEn>}=dvD;or|b6MeeDK!LeFeUg+8R2}hwBnk~3oQQyU(4cj z%De>(4e50^E{Oj+VAp#Mem6kS|qdaG--1IKb$(NhX5=Yh0)x9!h1RgL(sXAp4 zzO8nhi@(AjtjDM@139xKX6&L`K}V30u&DQm*tzDqFZO+(sP`TC{^r>CN6wZ0A^*jG!Wb*Y z+}am(J$C~D-5r2_5;yYDY7BqcVm(JKnaUwY)c2V;^mvgvz?F)ct>;vI^7gN9;OXHr z)p#=vjJK~9ihAFX{rNEV{VjHX_B5hDHSCa|q9^5IcBmIRG(b9phoV1E`wFOKx(@aO z629F7eM4Z!=_1`yra6Jo@2`dw2&UXSo5)nniUmpM;HSL&=ovW~ja`MTHj_!=(GoNl;L_J#WX-M;9{ z-}U!8`@6Ny9@WZK0-q7mml;lNL)aIx#|v>|?f+6nbsuZGA-1NCPE9jaO=n3>r#UtC zvuoF~cyaRtsuri&uXWMTfzns_I zaaUu7Uj4KsToe;uJm((BCJ$v36dV2tarwH35y}LA&mNy#Iw>?SHM=aebewx-Sx;}) zyq=|AqBsPSXg!Tke5@XY;%7OBk|skXG~=e&&;$=Wrye7FOj=12;ww(D#?AV;g$#%T zgi^@l`=~2f6o2dMjU2hH^Mikdr(y9qUZ_U>rhJ|A%lQ7oTA;V8I2rx#Q3~pabhaMe zA#0Oz3Q6`_bQY`o=yj%%Jua0IkKkh}+ObvlCd72FVS$Rz{`u{X`5(6b)`n>CIPFhp zJ$?-Pe7N3gvL`2(A|x~)BP_ma_sRro_BV(a0?NV3xiNKv zRr$upT8Fdlv|DKSho9)5mwkSE=|*2LJ-y*&HNNAizejBS>5=+-|L^O6DZ%Pts1v4i z|2Mww^nZ1ohS2}K|ET{vUrhbiN9w=oe_g*3Lj3!!P&`a%*(grM0{cH;K!7;7_VqI2fJ$^L?CVSFl-+G>GHOfnBvW{S=}8 zDBHlUzfj|EF5&_tq}`p0SlsT=EpUUdK8avLm^MSfGQm*Ie$z)`(N1K+^r@iGo8Eh* zw+P`~U}N$I>!B?G0c*z5lOXV2tP}f#-)XDX$TOLLjvvB~t}>ZI&0l7;8h^0K3SF-t z;6bYy8z6t#Y(&CE#$SY3(hSBINAoxFatRb@&1PW#=schpdz~r0HU$!k;`(vn2x4XiLn$)Dll3@+0Nho#;wQ%v2DpAwzGq{6ZSZ&OT}P5&q7{&n_Ay*u zKt*Qtv-x}+;4O1qD`+=7PVg$O|AK(`nFx3l|Ho#Dw%SL7$vmbQ3WTRsqt+RAQw?h) z4ZJB0Y>qS__;vi_0~Q{0e1BW}|7Ls{t;aXgZtADUmjn2iE zK5=%J@;e76lpL7(@F+YW_fK-WFT4 z`b8AX?#gTf(AlA@V}m;aJ~uc;89$c_5>xSW)jdG&75j?mCk#HHK7&_NU$G1;i*;B+ zDUK~L}!*=m|4HK*(t5F`|;*kuLwPK)LL=y0z2*JbN5^MyM(X^g6 zo4fK&{#~=zHTw?2D_=UZ&N+yo5Wj0`*tWbu!4X9@voj2wNl^FI>Atn)_rCZ6En9!$ zhYXV{;O7-jNnuRz2(E>*3jX6_w^V}Ou^f(^m!&E-X9@1W%_k5LE7Xzkj6Z^i+M*5* zlejqRsTZx58d-4ZllzpuP2d2Isz9*SA#3dyKQaHG==rbI^WT~CuYQRBvV-4i8mZV=jM@>$ zHaR)Z?Ax93B>vEue&oOyAp>B@CpuB75S52l;Vc&HG#PvaGh@^o)ng#Ccu^4p@r!Y! zgD;3}Niv3O`1w=z7<#I6v8|@h*$2Ff;P9^jNqhk}H*om<|Fjwd5L%7Fy7~irjEo)V zWTqYSxXDC!5~VvfQLvu-r5+p-)49QAox$&dzfRsXs$3mon;AHLS+#Cx(0#EY$ZQ!^-d4tz~t`4hL} zK(&r}ICG2VstwrgH@iLL+qNffz!o@-d(L_`><6@X>kbT->7A5Wy+pMU0wl1kGT?RW ztLlk08BAVh#G&lV3%=&7JA`v0z)KfPQD4)CzU&>d(E*?l_OnL=7VG*YxVDQ&1nn3>?f_K#S*p1UH}1_UT$AA?82CD=U$0$<$| zvtosJa$?mF2)l3X-*ncs!{7hyb!_YCC{gEQwmL9gjs z1IfrR=RSl^*MWHrIP5ojV$S#G4cLY~wLND&6@C-Zhc&!+2mXay0=|G`GQ%+QG5yjg zxn(&TM?U-HykMPgKqC+kXfO$Afc=K|?DJvujP>_F3Q4H?*|aM!d;RRowD?iPrU@4r zU~xPLWzSRh>HXuo4)4L?=Ok;&9e+p@C$NiK{sfb_6Hg-qvf*PX=2Jv50uai-xR+DW zK31H%s})wn@Sn%t;rzssZ)bGQ8i|fY_yNiH?GK|+U^>6k=1kK-o68omH;*;PPg91}gHVCa4V{qxfgi@s(?L+F%u_R&C~$9v%+ng-u%~Jc zdkIUC!}1h)?7{Vetp*O+a|I^1AwqH38f-L$4V+UcbG5}FK@WH>GFL)ze+i#Ktsrn1 z1lJXJelwS>yr(pTX#&C<1Aq`4u*qqnVzc8SZ1y$7Tp~p=O_Vi*gj))mrM5zDsd((T zMSx0G6QQCX!#)IIQAMK=jA5|jOvJ~IU|1n$9+KtyT?VsUh4WcHLqSesX=CUjh&1DsT1*e5%1(yYV{v0lA(Jbo%eDS6CjzPG?-fE2%PgkNxdk@BA#qCm$#)^*o zE>=By15lC)tQT+rhHddzmioWWUoU~vPx04&yi@#DS~@=d%Az)ZJ%)aCe*l2l`W*p7 z$rr_6sUO)wFiKB~){h2?CDpzpOnvtl)3oFbXPO-Tn!w%+lit|#>Ir4(qY`>ok5C zJ5Q_Zd6K*vAmseE_$y2OU*@kRG>L@2UV}TEze+>L$6r}A!e40(IjmKzAL_7QRRAhy z9f;+xpeQMQZ2tNHb-`okDz|MfI|hH<{~EtuB1$Lpv9w(Gn%y1TfhB~aV!K(kWE{gj zR_u=_uoIBuA-LZWW2^r=hWWS@<&l4|KESP^ z=yI!ylG&o&Li}!3igD;(z-H68@Nh#M4T&@O(8BCaietsjY<*q z4y%sw#&oMEh-17l&JSz()(C=yb7U9K4rS7u{3hN6^^X(eN4>m(e_iOmQI-2ferP*r zPxOy>ql;~h{;@`WsOqf0MZMASE%HQHd4Keeim0+yN%W5!@uMc<)}*9OlQofuOPwM! zi?YsZ?ff%`ZLf((RtO@_b=oIcq;PMz+rC(LI`d#Mj_W^VvS&T;ac!k90F)`i5)euK#`fs*`5ztwVF{igbD zA8p8vCHh0ZN`q!oiT6;pP6xN#kjA^p_4r$pyNa%g#!>FNPPr{xs6UOyvPf5SXjE{6 zRlkUR0#;jR|MO!>A*xO<&s_xtF9Bb@*dZ4~@VZz2fHYA&ZU6@nj^0n#7H{C^$vLAp zLQdSHkBr7RFXWVhkeGTFvuS`iShrTP3H|`1RB8fWLwSVq;y@wT$b&C5^dzZ_0#rk1 zENWrbajmg=Ocq=9o4?BB@T+kzzAz+fXjBx@^U=ka0;M<0cq<=_PgcTA!{OSP9;C| z=z?sJnQVgNyn&nx-yn6LOdYyhK0(vy4ttNtC4FbVwf=};3$jx7ArI382eLxTu{duj zS?4FoEpP5pGEU2vY+Js3aTmtWU&df}gzdlZI@^b4Ffx;Nfoj>xW>5z@N=FyMB4>G2 za@#p+lIs>pZjI1gUYx}TI4_l6t5ixt2ZZb@J`7#V)B5Zb87h|w-G;S%S+Q{oE*q@d zD-mD%6NTDh3)cI8Y?}pOeegK)&t%D`h%=*aQ!ip>!a9q%s*fg zULt>fC?9^M5&)G?0~<3X)F;bXE|!hno2<07uP_01#9L5bmZV0uE<-eJ?03nmH?=Kh zX{|)3kIf=w{n1$!iQGv4uZr(KdZ9=*)N6e1?1a#yxM5f~oPsWgdR>T@y63@q)$b4v zD>;sSTOE(pLwP$bZzT=26kSU-0W?l>N7lC;Ip*4|zn6_<(|Yga9&#-4wx+aC~qc8)!|H{Rg- zX=Jr3GB5U>8o$neAA@6@qfjvtcK>h>;{NkfvDui5VE&Mi>1UkmA~5Zu8ejH)_X0ZY zeFOI6;2@uSBK*<&jREf)bw_a~^8WE=-^4to3q=kD>jBzyL_yS-X`Gk;e>giA_$Z63 z|0j@0K;i}kjTbagRN^(D*hEN8Fp-V!N>r*;eOs((v7)AsKw7yZBwV)3LaesprHa+6 zt-aXR*B39ZCSnPoRW4poyr5Qn)?h`g3TVy$`#bYIn@xz;_s>VO&oj@=nKNh3IdkUB znHe~l-;VN;kRRZj6jNGL97^m1xQC{a)Cp-te|gGwYJ<-*+c%($aWoq%9r5yF_6LL( zyU~-ppqJ00M?sV`XCg%%n5FVix--Qhg`C}Z$hXXy^E!71b3YyXZ`$U}*7#5o&YV!p zZXAw-S=csjaW_e^jX7g`^BP~ZO)R%a_j2zCJqS-I_JI-jB|dDBequG0xjiVuZEM=n zQSP14yUeQ-RA%^V`hiMWEOjG>YrX9FHct6!6K`B7^_j^2>r9KI-`+rg{JTFx&&76N zGZG&!EgoCveM}r#t0^}x=U2Y8GCqH^`wwn~;_yH07{uT}i8)+kf3dWU&f)1`zd8T- ztSzfqwa?ac{o&UsG?PGW$%EsfxuN$9~ed`QSZA=M2*1;S7BPb(l|OJQ7>au_N9Hf@i83-x(O| z4~)dKpRCe>fw_O;n*ntJw*y~XcbshPaibVtj&Lg;n>40x+jZ-NOMx?F+w%Rx8E6O z_(aeagDzhus7wDY);}p=v^6#MJuZ)|=AlnS8nzIUW6E9`_m_XdxI% zYS|DSsI!He=AXs}G0;!vvm2l2i7`=b4dtUYIr@wxjKvYsjo{rRPan~xh)ZjWLkoYS zo=g#_occHEDuaNfkF%-<2Q1C_ks{A%S5b;O2444vndvNxqBNWnTK*d(feP~J0eb9Q zRD#{4ECq=oWWyA8-kNqb2s;mD$R3%`wSVe7g{xp;u%CbFJ0Lj^Tcs9lFX)UBi`Eet% zO~W(}(u%BZz=+us=^<%IvwcTMtN(9N$cvBn0C21yWB8tUP%ORMZ1ix9 z9hPL4gIS&%r3ldSN2%LsOf?(+7sT~Yv{Q?7MK5aoth#U)_WnMR()Rf**{ww?>W0hB zhgq@3ob&D8xgCyCQDUZ5YesU!4=sf=tkoseiJ@@Txm_%A&N`g?L%vPBYM`>y*o-ED z7zB*P0vi53lbW3@@pwCU)bG7Yisx3y_=*o7ub=d>=?YodOffTEwu4-@gL`KiPqsA0 z)ooXL(|+k%LRSSFPfbB2m+yH9rISB%=JXt&{87n`MuWVQKa*ML6Gmo4{b?ydM5(;q zEg}OS?Hf*QHY<22!YDU@+;^@CmKVbHVF_RJ< z*||6CE1x*RQ&BC0;2D@OG7#HC37wy0Mx(|^MNeTgY62;Bu;7n+DEhEE_K|NZMhagL zmrZAld}whbG5pRCuFha0I&{CP*mD)lZw{y~T|e*p6>ZzI$nabwapdYbS7%I244uU5 zG5minTab5U&O4sRImMY(B_GTfZThvUuZT_N_qk6!$A{{IYSz{``G>Hl2sr zQ9rP{bX{oq=rrrb(JjmdA0b;`MU&7_4QZyslaKafqMwDnYbQ3}uUxQwfKSM<+=0q7!11YbqHQb=zh)ez;Fg zcu0uv@ZRCqyTiT68rk1Ze@5vs{y0vT{q`_Hn$NzrX)v$3Ij&9nHubwtUIO zBe)=uJKxxl$v#4Mhj>5!*l|*gc1LrQDQRje(WWU)8qR!H$~02?L}rt%cAj9 z_|It&hOopsbpyn$aXeB962;DX-H6GV@_@CXY8W)f!aNbXnwc&x*Bpu8VXb5Bkm>9A zNjhItzyS!0xT{iK&H2?jVUEdDXhElH1x_nd81($)6vstaO)g?)^_<@}Vnw(wH?z5H z?87}7F*V$u{(ubFwb9rcofl}tDB&1o#F3Lh1JN`yuwY@nM|92S~Y4@)u^q}#FQ@LpXclg8&A!H08>(< z4ZYxEt5}nc#9kAZmE)iY69BT!Tk=0}(dqml1kJlvFQ@Pa>CxbGrKPufNAT;ojQ+~= zPHy$tEc76+N!<@`TFU9CYs3J}+tc{Vcw{gl%GOG99QEoXOT+g=UX(cD@*PS?futYBf+!=NSy>dXAUK6qiO zvV#M=oHB6TWVf`xWb*yr5I&K8@?|#tocklDpVQ_9BRl(-Zdn${|Bri_&T0K)2O>3Z z$Al!%Uh)qiwEB$^O`oyA)O%p^vd|c|{;re2R#|T;mYGf{$889O&Xil`+f65Bc;CgD zjM-UVOTzK-EU?erImaWznH$t$#qe?oOIu{+YpTA!Go`ZAP+CB1y+u7L6$SXf%&7E&;(0}4 zzZ6LCbG4mjTh%baL+SNjP=c`vrnz&`G2zl-SMyW<9fZ%TJoQx$*ed6Ku{zw)YF^5s z&3VvQ8NNl!*mXho*wy(biDHNF9EstrAD=wEt@O74?g@uG4LX?CcvlEQH<4%@dRK-X zU7qht%y_wA=&^3CBnO$e= zC*20V>?h`*(b)L#Uz`JG2EVPUGp)7SKO5h(y*>SN`TyBJH^=EWdTBbXMt^7w9G{J+jk7rzCW<&~<%Q6KC+VU{=`*1P_w&G7 zNw{c7Sj(w}Yni41qpj`~t+|a zSaVs;U&U{lb>^T_n>%nYlrw+-z4#Ro#d{>WG;@CjylyVVzyNcpJ>M{Mx(m>c;n+vs zpY9hd;!QvD?&8tl-@=3IR`33p-<8SBQ>xDKr#BkvnwUV1r4;f{HAIBP-daK2QS&jjr17?`z#XgSUPQ_$g)@EX$%V;0e6Dt5F z0!Gd-Lr+~aTKaNm@sZZub?k+UZH^YL*D`dpaC0F0~Cknpq^fc@0w2v9o+R&oi zP%ODvSjRDJrsQyfbp3y!pFw!`G#ZB!=tFD;AKggdi;>I@)BmNP%S**JCmWSN^v+_M z=HqR|(ie~qC$jbrCS}-cZ0nXGNUT8Y4Ry0i!g!IJEe8eV_2-ZOzVnYk7kBF^TQ1i4 z@yKGo)4TPR7_=bS&v?M~|4Qqa9{y9CeMvqy)n91?h1}ivhYrV_p)C;D`G2&&q|pmX zD-G)g4HV9IT8(xwbsM+jkkR3;@{s`p=h41=w3A%p@yu}iyE$s2pQ=`WoO+jkXNPye zAA$y&E#)opo8)Y%QjFI<6>ksyTkh=lTIru@(m$~Fts@%MYFg4@W(T(eY3Z~RK8MNI zg+F`A!XOLVWpqw~$p`6Sve-@5liB}Re1tu){boaD>}6T#@P_&C;r_{R|CEu@*x#c? zZ^$@ac9bbWalgW$QwGEoZAC6a57w8oY^pmMwFfDguO+ez8n6z=-e=YUmkyapV5YEw zK-^+jgL)N~o}(pH5L+^7#EGDQ9k;H2ocPayJRfbjQ=_{rIE(-P*v9eLRJA3`j+J5sta5{eL+H;J>9t!;|_ju!rXVq);Ikkr7!YfwTw;)e&WloAUvg=R6yk!369sFDP1I|Mx#R&`BwB&4%i4Ry}#B|4} zk6H(J`zMkQ!){MGQX8;L8leUu>2?Lt_eMrazn5P(09g26FBNTTEUMBNT=IDIPTk$n z2yhLITw!U|$i`c^NootpMot1WgjO$HjEim3A?~Q9uI721&viAEvSa|Pn6Rg*tt>o| z!=Ae#_G}oZAy>y4~>CDnvs+ja$mQg=!B>o?-&cWQ5Qls=_lxhGOJXR{ZwvoVb5ZP36zn~Mk z>4SlGC$+NLc$a=`5xM&-b8O9|3(-Y;NZt0vJ*95No^IFFc;Mu3qFeu8cnfBebL zeDNgC@7l^i49wng3dF;S+<%V_&UATmhL*{5?>k24%iQo=v4K{v@8sRim${h-=yUL| zL5TAYUqDwc?+I&T3f3NQ9&G>FC<7+KBRpeR!ukBNj2aX zagaVK5>{W{8({T5?*{1~Ja~&8qyjdIuH%JepAbl)IIzQ(< z9%$cK2kW`#f%PXJ)`_ZyvAl`>)sTsdjw1UcN-7hC_zdYYTgg#zJ>oN zdCS)bA5tj!n>DMixi2%S8Vy{WgCx4>pyjyf+Ae)#ul9#O; zfe9H*a8uT!OX&3(=omJssr&tN)BvRcIZp#ce(QfaKS=SBD_wk~oYcfeZWHkcgxq38 z^nVF}^z<$)>$onF8KA#^0*$jn8fS+$(*};KGLlmPgztLOsI82zZ1VQY61}!oFwmJL z)^<&&N`yZo3cm5U!|Uiw8-JNUzhuSy+bOUh29~#Qsg|x~FJCf81|d|&eVVT(mtaTD zWW$}7_)=k;8;t5>o;`0A;|u4XKk34EsSMwmU0AZgs<1+W;U>YZM#6Xd$>XA^LdDT)$k136w!F4K@FZt#BpQ=bQthm-d7)9T-~u7BUmrfAdlRR-zz z?%el;|0@?lky-7xx@JJSHZn4PXwtc`E3{BS9yZ86Zvax85y`niDcD1f0Ez^Z)g&WL z@r!NzR_i7NoIl5gM{+=V=Ddq6SWNS`gI^W=t#uX5IWnqZ?G?>y3o4r1ZYQwuz*+h7 z-wvu9fzkewQBu8gKQF{ADy`Ms9wi>>nHL#;{h+ZKk8lgDyKXA>rI**1?E2aY zw28EI)4T)DV4vwACqL{qEvS2!zXR*uV8^z0m$FND)4ao@c&4FGq;zX&(Oiai*4m~H z>Z)k`qM+^-{tm2rL1xG_?t2L>IG67f3N84y9*Q=x4iO>X9iyqbP)5^WW;HXiBe6}L zC)&hD#`zKuw=LqRqcIQG5HI>+n_^y>%y8L@qFP-J+cx12h?f0aD}T@rHH#u=gG|ac z0I>}h;j@tU3-J5uT!Ha-G-&-t&MHm>usjp7b`JCjPslZ4vSQGAV2W~R~7r)JKU4ych15F-lr zDdtbWQcGR2@z_M#z3XwcJGfKo%!1~!MJvG_%wyxxqVDPQ_RK)I?+9{L|M|4(Te;{kci={l#8Oo+s%leJQj++jW`Lg%(WbL3pzs5KRm{(D05= z!Dsh8dlOyfJzt%el#LH&vrdbMXjWw!iaozH$;?RfhC1+*v!&TKd&m22vG3r>-UN2n zKV>~iQQO+!&vovyUSZle*tE}P@4CBPuhyzLZB)Qgr1dJ*)s z|4b?>Jhi}QS?^L};;b(Go3l=$%%uJZ%I<=?7qtGfdtlu&$pu0{u9ug*-`y&P8$I z;ZEaa60R5A7c609zNW}A{Lz<ux?jP@)BN*{mSJ-UI5i=U41tN@ANa`*6u+oJ z8kS?PE9wV@hr6PSfx@vOsg>OzRV0Qx1Gc| z!hSUFg!)5ipLTVV$7c0)x;sps2wn?1o5$tW7b*up`pl91o{SDM&@wVuX$nS4*Z6Bg z$s77f|El8pD+6dG^$jf#XyXRCDlrrK&eSO(`noC$f!_lc^xs}eOT zErcw(5X>el8LFV19zi!fDh%5DxK5r)>d+Dz(?7Iu4X={lph3L$YeD{Ad-_zp1oXoP)rbEJ|e2PhIuHOipEql)XP(As^ZQ*pSow1hcE1m@5i6{;T3>WT)(KQvhiqw{GPx*!-NRGJhahoO)z_%Cl2b zYEhnAM6>4T{J(3`HM33E+{#553nx%wvfustop)$wdeinD;xy)Go_?|4?H7YCL%hj6 z%1)KQ>eM9#L|&;rPKPR!yeHrn`rrM5_4m|`qC zoF;@G%+Y|J&3H~o0H%h@d3D@9q8>R^DF#sypo9tcygvG&5dx)dkO`j{er|MZhS$JO zb?>}Zut^L*ZkA^H#9ak=^(-%kr4g!WO|7&U*^FM;qt-t3^%Oh;M8v3$4Z10tF@g5` z-`RTCXc+jDp2YCxpM9HF`>j~^ky^oA>Q&K~{+=cRt+Eo2j@V|u5BSrhvOD^*+ax~b z*Zjbeck<)?^R>>dsup~>=Ue$Y4N;GpohILOjdwPpr_Vb~(ca*`h~-DEOa5F%7;O(% zU#w77*zk?^YpaN^1<3+5ed-c!PPoBiy!0H+o>ESE?NA5nHWjrnA#p z)?T7*o7ze=s4d(S4OP*DGA}2iwehn?i`Ek8A6hz%Hb$t*O0u46OIA~oYXPKL9!pJx z_b6;eG*E{|VrS;qMU@QCll^tw=6CYKnQUi!z+4>7Wh-uIK=5;Qp3_PzvafD5mD~$S zC3(M85DgrW$bS0n?zRN&^gavGCj3rFU1tNXfWr^MsGyO|CBcr(r zaPVmEKe%4a-A6pIk{prP;L+Az9n^(%D9u|W)U3U){HBlg4p4h(Mk{%l8|3KOYKzq{ z^9x%Awr$y=)ZK2qdr3dSWQyADq|V<$iR3K24B`pi3c>a{IC&)lgvtA7pK`$KA@=D} zCs*kDY2GaMs(a@wH4Si#`F+1q0~nb5`v!BOzzlL=-ZJ;dg-T4dx!A zJc-{gztJHfC7aTc7`! zhK%_KKa6f~^W)`hVbmb=@rsYEAAmdW^42;+D)KZ}&t{@tKR^?v;?BG52S)(*=?eF( zxmaLu86CVQF7q3n%8`qR`932X<8^&OlsuBCagNu8VzGVWp}!zeyNO^&{lX*gd_gf28pBXyJzH zhcPQUKtXy0LO91SN}%=gab zND%J|bry}C%sh8Wu>Q*DeD6ekJ~RC@>$BZCyPs$roQ%1Ne_(1leJbOUm{B5xpI-djRhQ#@gYyPHgc(Qp-LFeP5SBc4MYkb&$#~U*6 ztPe+Yf5#(+<@Jr<&hVB^a3>_d;L02y_J?dO@A`{6t&fi8WwW=o3u(r5;n;WiN9sbo zP?Zz~s|4Of@9)u+UUKej`9XRYN=WmQm3}|!eA~4eFKnOm2jUG}{1|DPBHXXvg!}dO zefU*w;JJ_1XiIb~`=czapV{))yF7ZM74N~qPC4$x^FOWD9YmD^lUm<7(d?D0fJk5$ zfkZ4!33sw3c(4x|(1_u+f9&QL%5${uH^f6ckX0Rob*S>vgN_Q`dH?#WNo zyxzR~do%Wuf4K9Y)<;708a$N9e&x(lGrXV8V{1Le?yXNaotJO!E=jca?3A~J{Q2#QV=IZ@qi^8i|3 z<4wOQtz*o-*rRX$ICM|^)IvdwB(m@n2Ys{D@0)h@jl~JJ`0fu!A9KfOdE|vL>YLTx zK0?+fo<;L)5q3F38SJJ6eX91jzFBH?jc{^g&#v*NnlkL}1|u4fRZQK`SGOe3rXpw3 z`7+6}FiDKzzD&w>@CU=j2`B7-L<8*q!tIXz6RqhV{Zd~3iZq%k44xeWj-~Pc8oN*6 z)UO~-*oig15lL&s^ZCk6DY0CNq|GNgl0I@*UnI36kd*Rnb|KRK2a*o4d0{sR1Co9n zr>hY=g&u6qNgSiOyXaHR>{qHA64{529+jch^$)$1?-ZN1xHHQWkGhkA6Z5yFjc<=y zz$4=ubTycXrGB>T2Or=b!E?9>LhNF&;lVKVqNz^pvqzDq2EJo|DJCVY)JRf=wdS`{ z6UrsuM$4@vMB`lE!-Wco3$eJi=#1VL-;J@H$H_JBQB#^;FY+J19pGOFT zv1Ju;fCI494)3IO%7GZvg~)Iu8m1_N2T zBa~Pw_a?{%-7WHR@(=^C^MHlp7!ym~VWWxc5r4(j@;l1A;8W39eu&~$5n{5VsT7|Z z0XUoj#dkuU6o{`1sY%&_9I{u!;+ze1!++3%rv%+FpKkCTzM~HXi1`v$>jbU4if*kq zwzUVMgM?si@~2n=8W)7vH^t%eVsJR+{|AQxRdKJHE48x=AE5ZOSam0Ie?LIYU$a_z1Z<`mXyAd9U-t)-$ktLp5t&OYYqVu?mhtq7<2nKWI`fy)ytw* zFiMZtFnvrX?m@?SDb7^?qnhe`?!0qwpWN98elxP6KwPZSN+3 zh4q%wTOG&I%zkQSFMRuKc0hcw$>G+bn`v54*7oUtB_9H0)IFjJTlxC+roRr{J1!7u z#RDbAoFtsCzO^^$(|A>M7s3)>4HPv7T-Rmp)Rr0s!e^T`QSKJlK!9C|uQ1A{5E0Sm z5bpDehSATg;|*Nt>e>6*oUoS(huM|w?ep%NU0yYR%uMpdOv>PWmh|udXYEzdw6hWX z=k66rgflyfY!GFb-r;SgR1fl3SlE9ctW}AcZ57NKXZ@z4dFQ~o+mkC429?MjSA->y z82-0!GwRlsbMS}4Q>btQ#Bmii?mWD1FWes&*S|%aNoetMo5yv8i=NdXi|*vDaN({n zyWC(gr=#U(4w?Rrmab=DsWPMVQ})Hs_WHH*R|+fyZumyM?mkj)kJ z+BWL~ZqpvqI+Ff+YK279&qhd`viXWpIfL;w5YSZrvk^+h=q~S=M%P^q{x=?FySr<@ zfP88nM@`i2+j(j4{`wErQ(@3g|9dn|+Ii!iU6kH6hbPDB5S2vsvqze+O&*J|^)Ex% z64{Tsq$(xt7^j1G%p|XxC1+apZSL#Q`npM96WMW>G?XN>uO6{NfgPRe%3baQOzqShaHvjA&`^aPd5)HFrDx8QA%vVu z&+P7@XZAtQ+-eMYIp?=+m3{FPN+v{s?!m*^KNAxpaKr`r<@dgRd81pusGoMyhTss~ zNX)bQM>M2tgNok4zm$IQl@ZlCe*GI)XNgB#(Yt)6cVmlA0e1SOayW1|dJRm0QY@cl z7X}<$E0LrM6_NyL%UShyPSc|-_w55{#2)yueXf@f%@-O z%U{RjvOf!Vm}-2Wz*J+|DQGP3TY(;AemM5WrU`Fw--qk_T76GsH@T!iO8Re?bhS(R zYz#@ic1ahxq<<)Bxd9GzxKm>ypkPiTJ8htT7L`v@&J$T+$sb=@=zF?~<0eqyv=n z1WB#EmwMh0OV!}wmp>BAN=rQldOeryQoesZxb?eg@!p>2uSq{#%Pi9-_-_9O`(|E& za~exebn82zg|`@+f1i=-saYcl#$&Z^%JhlF^lmm@ef3fZOj3OmwN&3Gixf;ErRKu2@TmEI(Ew*_3uVlO>gH(=J zz2Lnr?;i=JFw(1M`EtL$gk%J=dU~N!me?1!Gs7Emn>=8_aq>C!zqQE}5lPum*IJ*4xMWvl)#V&S>BN~#mzQiUh9q)xp&Z>bH z#i}lmd&L(%+01_0dYivKB{e6C*@z|j=sg&fnSSScdA|~of)y+?ZCvJH==Rrf!@sh1 zT%(`&`P(X#hiPNi2zyW6$~)CGTHEPUp9XHAeAHE&$j$( zv}iEBdz%&6LVVe+&ac@QSnrxQ3>Wo-z7tO7KMAUJF4jkb5CTDiAj8b}nX<~p(Gc04 zAm$xqjnWx}87*7uj?-9Hg7c+rz$yx7$Y1MBBgy~kuXHuNdSqeJn&FhYfZFzJBRI!J9MO#)6w%G6dZLF_!uaD1}E={5J@$9{B5eGdL z#-paJ-u{1jRmY4miL}?ne-@dD*b^9qEN1W^f5|o_uonXM9chnjjZpk;HDSthZGqAR z#7I*%Wmh=kF_JQf&yl_5v+qEkg_N8Ad&_u+6Kir>w$>lKXM4<}^Q0hJu&4JP4kg8y zo-IQjJ_@T+5NcGGMD~4Z8f42?GURo5&KWVq`|ustD$D5l|4P6A-C{{NmXq8m6{h}o zN$me3J|+34QfYsy0d;+%EUuEk|Ib+i_PuvcRpRFDYO^4VB|4c9y)oI^xr*%eu-3|H zg^)^wu{UBW$g&;&00w;dl$3$Swpm8Xd(D?xhKoZkgFzs}24zTO-|={9#v>3a<8f3M zCBIZx3kc`mB#mr229d3ssebwK&5m;F7w;|;Wlo=u(=7z_0>w=kR;XOyl+cT2xWkhB zX*R`_!9K$Z_6rN$tL%wG4iNX;uV;Q&@~fLZ%cVy7v(%3b58_)1H5l_`zJI^t=S!U7 zxKiyvN0i$}7gt2Kwx#o1E8wuf3gz>yMmy>9LYZM;VjsZFFyh@6B-T|0d3OLv=iTiW zgOgWTt+)D1uyO$>%3`1TY;F4UmNjXteZoy?B)nu>8fS-Ej?^H6!8BQ?Y%Sc^&}A>z zYVSa1TVm+VD4ABnRNwX_@vj8nD@Yvi*PYcEi=5>*r1cHi=eGFVAoeM@S_3-c33we+ ze-|DT9@j1IrgZn>vlYSEqkIsM>tf3_6`rQ*_FQ~^_v&v(aut`}Fp@u~iHZ~Pd$0$f z1lwbkA&8E!7hA4rRPt9-!e->@l<*&17mIPk zd15FLVG1AnAi|qheKR7cc!~(m;x*Mo^u*wb9L1eXwJR$enVfATX%Zjn{L&4xFOv~s zSfE)H&3Vr+ze)$bZ(?n+ONwSHyS%{-fUXr%fS>7*Ag2HY(tG6l(tk=^_$eObr#Ik1 z9Y&Mb{$!y_XKF~>1ri857g>QdxXz=*N+pqf|*6K z5|38*{K0IeUh%Pt4^8CW^^tFEjrz1=6@rxEz4!h1boWdP&*Gxy&)E&Nl1HiC;_jd+ zZ^3NxS^Qf)nR3{L^Kkvl<1d+c=@nOmOY`cE@$J9n&$H|IX)4ibO8s7q4Ou01c{1Q# z7@!~bic|x+qJX2cMtbkra>}|rv!$Z!T&dnrdcSv@`QGfYJ!s=G8U>Rqi{By|aXSOB z?ua3NE5|$f7L7 z%g(MkE?a4<(L(}}dSgv&{r?Yd358a{3mWvWo8>ItBN|QsfAYC0# z8ddf_Q@Gtbi1<0o7;y$T<#|6kwFfcAeob&~s(qv7&}x3NQ8Wt9e`;~2F#f%7HI^J+ ze}o2)R^t=*g@JjFjnmkr)^(jnd(W61AQ(Eb$y(#A8d~Dg!ih5#j2c=t5pB)2 z;?xYBeEVIX2})bYxjfzELE{mojM%2iwJHZ_*6u7X4 z4#CMYu}NbgS=C(>Qdaq4ajQ|6?M1gqn#0~9t{SIJSWKi{fx z_n=VAeR_w4V2|me^+lGdK@|FGopES#FT%gr5`3v$u{^yN7k%zbU{wZEAVUQ>f)y{=hKn za!oCtdjv7E_m+_b`bf28kL+I{i ztaeJo`FA#pt$UqcDGoqjr=dSOCZj(_qi;3!2`$ylKTLnjJ_#-SiOOozb-H^ebBk6U z6S)bM+&K$}!+BaygjcXv+1KDb`Q!K4zFv-XfOVQL5Y$y5zAKk9K`wL5#=Y&Rj=2evUCpRGg=7s^^CPoElqv@ z+S0-KAU5?vEB6NewS}oVrFH*xat{W`4u&At{~ah8`X5qFSA4eqP?WRTi9hSFZIaT6 zazKX`wVFD#y$eUy?G;Y^IJ5IL{`L!(emrlsuMk6vzVBvXLsh@lEX>DB|!~4UdWJ)qAUw zr@Vu&l|d?&ljhdQT7&h`)j1>>DIGZJ3Qq4>wo$5bkv4Usd9x1X{D+-Kh8EsIY9w(w zgH3yAk!Njsu=3CpZD);4k##Sge%qPPU$!5BztLKW>pJ_h%@`p442Zn4((Q-#V|9-X z+C6aA5j@d1yR&DLzvj1{`|+2~@!zfdri%7AvZ@AdM0{qRQ@LbtNw}*6ko}Wowkr4H z%u$s~vi!tMt3P>!P4i*Jjcnz7=230HNIPg;=l>xa8@&f6OLy7hZ+S$cd3X4~H`%8x z-gWl7Lz-@p`=rNfEp@HwKOWPRp6kEQNA+O*!RYri^U2OH^7lWV#eDlK_CKfH-?@cG`%Q{J=j75Q2xvEHD@ka)>#67+;fjlL$Lb z`WaISd5m&DSzVf8@kow7*Zv)uuw%FO?FQ+JcV0!ogH;e^jMktA~wmz^WH0z zDX`Oi9jU$Ruar7>OVc9Uls$6%`CM=!$4V=v*kE7?mUpARB!<`Sg-Ajg%fQqbswJ{7 zdY^sKFYKj#H$HF~Oy1P51a_tac0^ymP7tsdz*_MjCUWObYRIrXNLZ2%Q_J$ zdm72!>d@P|AMjBZ5SkdapG;il(i?<*Vpt`4^t#1f{bb&^@opEfsBKy+qGk`OEPPU8*7o+H1^Tj{9TGrKZ<-@QM?ZxIlRxr=PL*U3ryniHq7TclE z({|d#u>NGQYaVpwsgCq9+p;DCfn`D=pk`U((dR&|A%CP3BBt;*4YEom?NCMVe4M$!aIDtI!V== zK?|1u)m9AVei3-8#t!2$%sQ_(@=5|zSBY-3qW!uy2zC!td*hk-uG3%Dr7zDsf<^kk z)I2T=Q}gIq==8*}ZI7#RxJ75Dg0~tZ)}#@WWH+5f0Q4IKKwq4bLjW|>^=0QbASav? z@qj;5Iaw!}!;!6&^oG)INPPw zT=p)qr)7mi_LpaH_(CkZ3*J$g1v)benm1FL(Os9zGVKc8gZ}$zL;YaLX zd?EZc!`pr>d1dC%NJ57%ARPv-fBwig z3y;#j(`8)RpX?^?Izj&Hk$*;FXTIhR=yL1MiQFF?tfj2nTei$#gdTdXSQ;M7zMgkG z-}GlZFn_$|OtEq9qie|aP&rK2_0aLq?%@+f&rl_bEw?SI9je(wsL$J8=c*g7&xzcj zZ9#P(A7s@XV%7cToS?d)s!m6s?#+XDf+|a7cQlR8cq9)9obqx}qx2g`OWFSP+`;!? zoye*n+e)%=zr3qZSNSxTMGUYkjhQd^ur#Lf>V4qAPota|yZ{8JtOQ;bWxc=nfY`za zp#CX9%NM8#DU+p)Kp;K?Yq{2`q%vK_GP5EZ)^`}OHb?;VA?B(lGs2I%R#0z&=P z2P6h;F57)}(7sO(cYyrAQh?TJM;IEx@#jG)K>vEGNB_Oe zEA4wk@h9Bxlm==_080FMtq+Yb9ng9jRp7Wi@kNjRo5!nnjf3UQ?QY-q?+nO3+6Uyw z-kbuoys$_68hQ1Oa)54619Wf-P;za$MmRMEsQ!f>?Yo>;+PC!#Yu}_aP_4J7_1`T% zG^ZA}N7O#HQRgn7C$w^;=uu7Ck3NYW<3VTi)bYu?v`TQx?jqgtc;_mCp?f4lckybk z`3PMglaUR*^y1cGq+4XvD^o(P}f;%tP1^6g`}l_!-KcP6&dJ? z?A~ZaW?GS_Q$?-}iu^!DzGFp#m?&@2;f!L1^6cw;u{O7P{7hLeP21blkl62?`JM28 zwGp1P0VanN1U&?cKN`P9ksYGQ4sXs`YKg@^Tz=VTh=D(a^W&Gjs_hl)2r5Z1lzVZ7 zcQ_MAP8Zyy9H=rmqmFI8^5Djqt<=fKcrFGXrvi-Hs>6xwsNPjVtm#SN$04COCVbNh zXW{0#zYfR8y~dSCl$>885B94vkV`}7NZ_#q4~*1QPW>PNn}^d7JnUlmE*5N)Oxt;j{$!jzMt{el^bL~ zJXamC%B8#;e_hA}^PS(;X~!;|bRDdl{_evR|f3C)z0ubCTo8VXRaX4t;M{SfPmZmJp1M){<^B|Vk-?05v_=kl%4V&~*7#>wbQU|VG zIGlzLd*|oULG=H(B!uIu8ttcbiGG@PXW&!|Ezl+dHMHEpXzI#n z#2(cjP88%y&)e)#=Opfe|Hhsz{Inw8v_Q3FG~!QcTF@Fi#{aUyfPbk{bM_54t+5<2 zOXhrxy~7;~lmlfoKOFzdG-Xaa=Bjwu-ar7vLd)*rhs;W|-i!ZqO1S8=a8pO7s*LfL zc&ux_dN8?6S>vs)bwOLz$Vj|Vm}&JW%C&SvPlmY-$UmQs>(ZiyYa^L!@P(tVU?2tr znz_+C-{zX8QIwe3Dj?ErbW8z)J(AV1Hf20sdRXZqpXrKv`Cq%*!ewgG+!HF}Ewms9 z40g^NT3xiGx~Wa*SH@g&=W`wIfd*uBa)T}Ie=E#9a_-%g@yZ3PeC?b!B)ueQoiBIr z*UD^oNWJJyJ-vr7R{iO_0Dg3cIt+y+{PKjU?*jO9H&=CQFgHFv59r?O6L{VkUs*m2 zExUowEzov_Ixx_+7Ms_q^tBlc99>==`y^8IT6Jp8ySi|*E;;QS z#D^*!hCFJMO@bq_dkrLaO4(uDA4X%lM}5l5sW-J!JMzF>oxHh#04rEC2} zYXr7BLl?O>ib+g=CWXiEcz#<|3j>h|k)n{@cIKUaaNlIIwfW@Rfv$J-8Rz70isX+m zRDXb38*VP?7h3u!Bc6$126qh!(dJbqAJ8wf@LeS|?Gk&;JA&Obk;HO6SAX`BZl;PP zu9LiQ%u*!tsfYAIC{K&Tmx#GpQjXZ2QfQ7yyj8T0aG%tHwnDqk^t+p1S`jiu6W4tK zI=XMCy8XQpE^r~Rl@`3OvPB6RSLdwmW$T;f{>N{#mg~+3C^>xzFT!#h(CK@LnJ^ zS86FkGN=S7L$i`6A&8OK5)q!CS_9~}a&=|=hQ+GlZ0=a9XnM1&D>EY+d!?f3E$Ndp z;?r-Oc1G;?w@Yp#aefA6L^IzyBX;qP(b*pL$qo&B=inO6Ejb?jf&p@|uje)B_0*-RE{ zevsyY(INR&C7bI{MGQiVSCCX)^mlPgdG%+nR=59~+Y$aA&HS5O#O2Y_S3-+_M3!jj z7oo-H^T1tQozwMgGUt8Qoki#ceO(!UbcuEIv8&Y0iVyp2&XG};jS?5YKf3J%gF%9=I>h_dsVRxO`m5ldz()HMyITkqNl{!#nIB|<{lAE z95*gn`uCZ2RB#-20PF6nXkJYUf50vs(S6;E+Wl54{@N(1L?Q@3{7SkWmomJHSW)6$ak<9*;1J`r2qMCB&yn4WP{xQuUI zSaG3*?x1OGsL62G~rWN*ty*4Ml8=3n5CEaA96vY@%NZIPHB?`>3| zG=5Duws;GI+FbURahgDIwDaxTcy|_HV!56*7Q~+QW+((F*3mgTHDEd2D20f1g+dG$ z>nx#Xi85l_ITUd7qlj2RHF0%yB)-5HDE@O}r`V0I?o+Jpfsxo^)yK)=Jt{7B6^A<( z+n}%J#V1Vm#uw>9q_S{^KA%?HEBxcDR@sj;)1B=e%+c+B;c?Io<&7|}<$eh*7jE!Q zA0FTxyZwHn!g4`rE{l!zXIhH|ymMG2al6$L+Z~C$?hRI)icUseE@Y!zEz-U#O9GFw zDcw4ctt2-t5w!U727a`E@y*Zz8?)mRjC|1UUGJSUv0lskypi}~<+Yp(XniF9{o+xd zMq_VO$FTCAKp|+eE<;fa<;~dsfw#Ckz#X8lkfV8{qq*PTPn=3KxPJ!siS@FmZsfN! zy*s?qT|;_MJs`GLG*2%vW#x_K*E>ajM(NLS{Ao4G_9}+>qMSS+ZNN?AeLXt;G&%=_ zdyK?3_KJj9YPI}CV^2hj)>b#|RH)tDJjsBzuLOgKYOIYW#{WAKYurF~8m&_3Ex|xk zLrWjlLGMM+FvJ^(VFGb^Yp5mH;$_*KwLXgsrAt(N-khFHjsnQCk^ct(vC;Bu9&}4A z0W(;c)rIRO#IrIhLTjt8XbY4~MbkDJLTAJyjhu!To`QiXoMa!#DvB*_bp{awCe7?` z2%iyC=6GY9l4uj_!AsWi9PY3rIg)u)ivA(lf*46$Z#M42O%-;uXfzaITT^&S_*es7 zUAlh$l?rnV!{Z~Xn{eoL&9564tY3ZEfBsNEvA(jpbjRG&BBkYd^GeNYjsKC`9dYsu zQ&d=Oba_SX|0T5WL;AJ4 zd1qE==|-MX@7`LWj98FC5cXijgiuQki zjC~leQx8bm4IOYJCzO%fO6$&kOAv$Ej`&tCg4i(>4@;=Yc+7C^>{k{FxdtZX#CR5 z%Y1TSVy4mTC&QrG$=~Tsv-UC2%=BMMk*5>w^b=A`+i0Ffki~kSKj0{Dko8taxcTudBr?IB1))&Gsz?9G zM*oGotUJO@4I?Gap@oBp4_(tJ+GZxdM8s2c{;SG3Uk>E9k;JZEYB6ZiYKwFgPB(GM zEarsz5-09vs?6+St~&F=N)%FMSX*S)1u`>yD74*jUT@l7c5+XC3@2_hevj>v@!=_m zBK9oa7=cUULn^rW3)cuqb03t&$vg$6E>86B_-Ajz{_~`sgiVcTRNLYG`FN`~AS`=L zyNT+|xG6RfNgGvC;|n^@+bBuz6D!x>+~c8bDn54o_rR{E7j`|neLur4)$R5Br(x&1 zJbAQ%4~D!bk^Y)ra(@0Ix-#OAT=l7u%iI~9*_~xJ&I^DFrc zJOe&kGQKWc#{?(n)9z6$`4^k_to6o1Rqs>dd7I-L%e$sBZ;=#{LA}wNtgngeAHQx> z{~x^_&hUQo>Fa@+@p6v3MGFY`6Q9t_yzuRdTWNFe`49eG+1Fp~Hzkb@g2VjFM3buq8SE2+T*LM6~$jCRTmvYQ!)C} zt@FUC%lyPU7(MFR=M@hKdg_c+3mpDyUH?$0)*qSwjO@lgaF6-34I3HeCQ|MeaLMjosUyir`=GHj7P({GRxhJ)7&VnVyIY z`)#eC>H5}AqWArq z22fT^d!H<4i;Har`B?KWn-VS;d6^ZDRIvi_8H`!Oe1A}@ynlihuPN67qPR5pWI3PF ze7-=}qN_~l+S&hQuG?_Y8m{5vHdg<(m~i0^r5A^B`#VT0(lFNkwor>S!>BeUg;K3P zj{iSTQW1@zK2sR>VFCcQ22DucC3ac{15m$vVZyVDV!f{k)qnn zLhy%G*-@US-{!Jm$BA&Tr^5G$b>iw#w#f5Be87=3p7?M;K4Oca;Q7Ne&|?Mq)3aGl zG$jpa%LQot6905;PtZ8F9BA(n2YGiVkPkJgyyWGkL4M<=z0FXL`EX`%dS{W7)f(_#}IYd+@v=QE=clu>IN&z+SZ7-SB6 zoy47x5R@qKUUmsVv0`tXOHf(WHPTz91diHULW5cc5dT^vDhvq6CKR`JaZvkO_JG*6>>Z8z#0OE^^h`@bJ;0| z@L`O&4WzNw{=EYfw|fDiG3<2r7$!_Taie{9ZMm~hboz<16qCjKtJ;?M35z|$^7MYE zy=Q;%VlgLtKcp(X8lfWb1<@yWob2Kkwx0EBS4U$$9z2IuV~(78jy3Z9)aJ4qMv9~s zgTk=Wn!yJ#q$tiUz>_ZGO)%_xvR;3iLU-PTnZ4I)Si{p>)Ez1);ot>h4yW z^Q#x=Z!H*0J?^OL(G+#HeR5r`$L6xLjus*J_Pg5I7wO&l^kI<6%qiK}pbcW#|FhRg z>cq@)Ix*g}lGLoQW3lL^EX`%_9HmN_VEQv#{HY?AdG?<5uCOXz#A0hBk)~^Qxt2%$ zTeEnjo=DLgOaHUKPQ&(c%OTO4|7}HV>o%2$erM`d5+=8 z$N1t6F%D=@&RKeYLwF<_;Mm;r^}dn!DUd~I@K7uGt!eV5v?*0>M^hlp$|P}?Ft}wcAp$jnC=KtPU3+w5^1Qz7XxD$= zg^u)JLAU)ZkTyxP`AJ|z$8$&AMZ93?m|^^Iq6OzRUwgN9K7|(M2n0>WK3<|u2#V-1 zn%5z0A0~HC3z)M97XF@$&i=NgJIyb*7AVQL!kI3KCxES?^Ra4;i^#Xb)`@wA()I%zrkqd=c zu$O3tO*FloA2X%bp#`$obtS0~EM_)Q!c>tS2_|BGQZHut>1TT~%jKzghT*6EO$hUJ z@w5KGY0RJgo< z`SsveeY!^r9Qa>5{WR+^;O7bd9O0kSlHvW$ydc4*EJND+aR8=seb4!2U*&a}5Lo5V z=seeGZ`41aBVRe9a>5yzArv;7^SFiStG$6Yu_H_Jw`8aNtjfrSrR!cMIwRYQTCT6?Ebp36_8_EPgwjopJ)Y9y zr?+bo`W5lh%tkke2JFD}_-)B(S|yV-GvmwobC9c5W|Y`dPSEZ9j@nc; z>iyQvsA5kVs@p%vYmLTsRVBt{R3+wTS6%T&kk8g%H*kh?Wo$R=y_NJj1}_UjK~=~c z`$%2GDq*skipLA6FR4|Y=%u(9-06Rj(oLZS3o&0S5#O5VrCW`^qnw|zc&bukQ%A65 z6&Z1HwCH68n$<>QuT~ckfb=<0m#-3eb%M@#UI|d}PW}=jzUqp%Q%F*Y8d*tWv`Q5T z(5s4d3gene+(VTW?OoYtBnF?Vl*+2if1_WkSRYvWf=YsUrQE@%DWYrAwyZPa$8Bpp zBQfq&=#dq@v@2S=Gqhk|!!$A?61|l0Ipi~1x+}E!{cK12B|e;~(V}OgMeP=!7yrG@ zBBF#E5hb)}6+}?%A!rJ1m!j|5-i_=QdPsJRzc8(I!`az$RAQ_BA2emi$3qv(1Oz$ z4TCsp`F@g7n_80zwJFnh4!5diOmZ3jkacMBY&cHs z{FJV#8!NAh`aoV5Q9`@$@3&uF6zYw(Nt6F69-Q$P6xpI6e`bD=Yn96QasDd!5W-F{ z-JM@>q=W(hN}rfp&#KKKgCdDbIC0_KnQv;3we>!Vd1_bzL~j8rSi|}5?$H_E&{JiG zx@-ZnYE6^HXy+3WU3O5jxO1un9H7>0DlI`uUdxCOjcrJN2vKp{3$IJS3%0uci|Vew z;l>a6JX-pED4~IzWxF}UGs1RA(2Fyl*RkS`LFO2ewgWVU94Xx$vbde-rSC^e{~cQVzvPb=eL$#5bz}Y@8nkXr3W6-_?$9SIO>=fnW`(^ z4V0U&m8xKD2)ve@Rq^}O8xvyV-kOk@K8(g))qg^4`deA(@toGGD?V^V-`}^Q>1`>r z3Gu0&S*(L~sz0Yz#p8bIPS)dxh;$QTkIm&djQCk;kFs&$BqE z9!0_I3bm{x;w2>gm;7H_v~$Bvip{j&z88lj>si2E#TW&TwR@KhWhy3DhF&J?1-)l4 zXXz!&y~zF@t9P5klk)_<$bF+?g?fRU_A-XbbQB*7jxbdO7 zv~AvngvN5;OEt>s*_p2ydo!}P8s;D*y%+HLA3lN4r;TxZ-dh!Lz*o1Jt9a*iD7(HD zCvvv|p>0)1S2R75*$C4F@iSG#&k!84AxmfUFo2X35&W$4kttuYg{f}1BWnXSAj+vM z+tadKqAY!wx)vL+;iOmrIVJeV58l3qO=ZTZEw)Gl7b~u&B>7k3aQ3jSo_-puF<+J| z&MEytIEo{eK1G=Nmmmj!L`q+nn@t>XC-dr$BC!`1uA6g7_|o=Nd`-CYiO_;1y+{Yy zF?yR*M_+Fsf_VS|L7@eY={qr03*<+O6g^{OqYdBD!j~eM&xT813oVw!V`iPlkAk;a zHT*^5D>VEOhogZJ6*H)6;rnx@8qkBtsQ5R)W(h2jY(W+rn%&i4=O(nX9WyKbqg4wna+63@yHkJVdaE+$_hR|5}v!+yfaE zhvx8S1Yyt5)g@)1y9}8hhcD&)qV~GOX8gcbw^m1r+EhWfa7#FG2vk@*qXMXGt+m-* z3M}itYv&#W*nAy#G@znnLtQd6ElVQH_5!&4l7Ybl#d#AH8AnTFyEz{%PvWxCJBc(~ z@BYvm8GPn`Z*ME#U6lOX1Bi1e8Lv3M1WspAo38n; z{vbm&93}zt*Wpvh{17)%PPp`0wj-ffBMPS95iWX-$x~iLUYt)uiDuQ9`K3ie%mAS2 zHw70h*7(O6D3PM}Xl!+L(S~Z<$+RV!xt9L@EVN*h__Js$=U4z9b@W-d=!J0mmvF~t z+};)92u04MkvuC*c!@h^D5%Bt2zkPm$%B8AV;DuNPcUt?h%>o`)82*8cq z(TS15bue+MLKS`yVHyFN+Ha-<{x*7#9N?oXT?3{#^elAUaE`>uo%}Bhl5ngxpDjl| ztCcgYd+9~*K)czihf6Wp>wLEY z*Z=80hUQh~{lhyGzhCABtEnC3`OpWOJ2ijpTEo#$`5ATP9Pgb+?YZGI}(!x z&^#XW?&GQpevtFSqA6}y{^qhXLk;+p1`%E;?~{u!Fh3NBFcPHnw1Pg^*M;Z2qcP>` z>~2x)!-oafYZ+`rf5=|G#fu}W_w?KTaFToiOFZzuR(~b^2prQl2~zWy<=kA)=%G6X zV;@#;ej{4g9@#sbNAPN1xPJ|z#{bQ`i$e>ZwzfS}-JUGg$4FxQ22l*3f>4emD)tKO zOColKVu;lV@i6xuNkNAb*X4+**ha+_3$ePKf^hpk3ohqj1O;}GW6ou*DH30hPGUPi z2B#7;3?ng|*PF!e<~I0lI}z3*IMOKmBSoPYg{u^kU_?%1nKV+{EasNI#nSDL>ih8G z2;J>Wz3?AC#SwBu7WqjoHqx6GbNZ`oPx_mWtec4(6B`qL)+Q^k?uU5lzm&Hpw#0Ex zo;3?T%bne3$<{iSx>i~164_Ho_Tt$zue%Ycr#%=x++3c&GaN|BzLEuBLS}4EYA2SX zx~{E|ry`J^#V_f_N1XWaTG<>ZW_hXtzuz~Lgz~|?yXi*PO*`fFU#)hqUXCC@({lMV z@hPgRZn@}Y5n|<`Jx2?{8GUfX^LzKGD&#K>$bP=4C%pps8Zj_UzFtHqd#f$;Trxgi z^ydF#?p@%cs;;*21QG~HJV63R1sQZ~lZrM`P$HzxV4^2D15vS}@>&#{Vrw;$aB1Z- zVFKiMI2Z*5FD-bdt*vM+SE~u31W+*$t6Wq-6wf$VK`jKZ=6jyC&zVbz*1rGu|9&4o zGUv9hYp=ET+H0-7cE|Etq*DU@&42*iUQ(m>9{>YSqY(r^93ngWF(F%ZIRgIXbpgQI zK11V(VoKA^`eQionb(7r5KO@9Xs=OLkJ&-1v{Q+;s@s*dJ-RRy zEoAL%6(p?}G#-=QMgJqR^#r-{16CR~xio3B|AYlZOg=;&9EpfG^l8p(rA$;hpkahH z>{Lz_KGqbpvco~^TGn)0acy>2kyaXK_6(ZWAU4_=fx_lV??!lNAT$%&+&-aMgt{K|AMuwuPah(=v3*-wh8>+{ zsc!k4f9G=hZoszm{uOx6x;?(OGVzU!}eU#oik$R;@qf z(P`eDv2XTx+%h@o(`j3o+-|dVxk9`wMvqRY2iUgl6)GvcN6*78*1&xG2yQzhUbRp8 z(f2#1Us-?Q{Ia33P{RpQY5X>ss@D?8QLII_V4h5yc`3cj2K#?{cS^uazlaxWL>pH; zb7upBezU6XE6lpU&vHDPFRdVYVsBkNM4C;w1yLY&VYD*_7?Me^8H2Ah7loJxE7dCO zDZC{kV16%HxI+t{g_ptc+i}`xP0+fTlz3K9d%h)@x-E(*vxBaMr)pq)h{HC*8gwOY ziNd3-G#@tW#;9j#zj||-nx=GA69)9Fn@st z3=I~3qJA7gpkudo0*1tgH0e&w-y_g&jC2R`r#9yl zev8Xb#oDUZI*^~VRiEpfxmpoH3nJ7OLJa%O91%(nZv-jgqY|NX>u!ip!0*_!i?9Sx zBOli0J7o^sxKkwqk^3GwMMNrL(gLh93LN%JLrV0W;aN=D878YCkU zRKXG55b3)ki37_6LiZ*>7gr@fy^-n?V>uPR5k94g>Bk?NdC%Q%saq2%K8X)E7Gs6UBDvXYp zdAeTR*hbEUm5)z_r+vfuRL0oc@z*Pz*YKRW?kn{^O{#6NAC*t^w_|dU>m`ImzOt^O zMY$ua?78q7>ZGkYQ&oSvVXKSlQcCwF%IaB-i8O}jlId(|u8l~(!WRIbJn(JgeyuOpf8R$6gl)F?u z4kGAS@&B`uG9QuQlmJQXDxUHKl^K}C%=Z4z6Dxg1^2Nuk+1@Wm-fZu7t}VE7Z}c&H zv%CRrLqiJtGoECAI%cm>A87k{8n+!zI=)({E9~#>=y=j0XmcYO3EL%!|5NS(?t6&) zIn;g79?BI#N|kJY#G|+cQw#(d_>^VAjuOm?Ksvi$HdcAyzr|OA}xfFJ{h>e8X|4OLM$E&4|>A)r$j)>J5Yt z!Xd!)5iom)Crtte=vO0`r=*ubB;^Dhgo`C-Xasygw-CMqVc8L#7;C1{jIgVk8z^j> zF~V<-{%Z=_eOb^P4w)RMtTt)kOw_D%l1*C!FGo(Xkldcf(E!LDNL}wXopSz|=yG`- zeVlc3GH2Z~n>%%nL*2ccy2rV7gFf0zr*~ZaxRa`Xn$?es{+8G{jo4TL zY`lS{`(*$Y4c|*}rTah#*HScYH5yq8yIDQ1%I^h7tJ}X6nsClbH^ZCw(OQ^;i%12q z%DkeuQj2}gnfL}XTRjTY%_S@kld}|u;zM{V^6Lp6ea*%xYpH@8zm{6rSgT*#87r6> z=hEy}kC#D=3QG!_XalZTsodecp`_;1s28^rc>AH7R)++GT}*P&R?ZhPu(!g76mPRS9-fv&CZa=bE3WqKvLUfOwy6qSh$gK6dZ$*vmun;} z@rd<}CZ|lEs;yLkym3x4XIKnmikwt{85XTl+$a1gEUfLC@AfP@SQ;+}wd~PWIy4O4 zG|lb-a{8uhrRGHne@A4Mn!SSNb-<;YvvecdONA!1cwkZvRF+GJ-Sa+`&DO5K(6%Ep z@;4~^8tgCWex+_BxD8n4sUxj{7Y40AQbGu7uZTPw4Wz>Ac>p16W`dL+nI+}XI$esW;aO3ePo*O4t8eClEM+251i;C82d7JI{v?X$Du zZ_{!6&GS>-Kt;g%?5R9&3o`_S41id4TwUdOqu_x5 z*K%lJ>ksh?{x4UDfXUa%{Sx{A>BvU3+=TaZyr{>OvnXU*Wh9Jc`bOqIbtjnrMQ5~Q z{&lPfI0Jqnf&0Ng6M6nQY%bW%IHrM&=K4mgRh;0(IAZ~!+S#(*QynR!e>-E@+#3ah zu}J+%jHRH>eokgzFbOnH>?h#b-zO_(x4*+=!({Gc^ItqNsG&8jG!-kiZ8Ju?l_KIJ zC+-`Be?3Y|Wvn%B9CZa|vJ8UVz9h;-&RA7%;1J3|N~#N(AK;%$WB_~O;R9ERgzNTD zc7I?Es95Jk0TYLIn%8CpP5d7N5{B+wNO&wsxS06GF~O`;K_r{VMG~gqKXbM^sR`|x z6q8jb!RCmHP6V#@2>r~~{{W#26U4DNVmo(geeybSrQQC$_%1!Tb3rO6vv5|{j6i<2 z-ta*u5gc3WOC6_boxKLCsSM-*$UqLzK0}w2GssCdFh)bfULeP>m}v_!|N5)R^L>@y zb5`>(%#vNj_&W}c*XE|8`B${1&5piOS65Mkv_zaQrPE^UJEx%Yn)yzVHpAI zy!U@|CwwP*%=cF}P-DzsS92f34GJ^;41aOCGyrcZvjbM<^N%xmS~bqKe+suzy~Jqn zH`ra-NT$g_8q-PR57(cHbkmv6gVvlHYsrO3iZ8dRg!dw0Uvy4EYl+Av3>d(eY-mO} z^0A2aqRPN1u;K6sppK>?VELhqY1HQa4Qb)Kaqm|p*k67CsZ?PK^hOIclUpzZGc!xf zK%FG|2OdRnJGm!zI8K@2Z(;}3VHsp65D-I(PY9?WIB@uN1dPPx6%9!-^g@5@#5I{) zrp(#(lI9T^ar0g_LO0hgadX&pl2lwcsW&$7fXXWiBgB`_fhcknHH;?z~U>1n9ev67s(Z_=w(8pNr=uq;S z%kFsyo(Ki_My^gwjHMwf29g)V`%PIWpAHy`SCCah;0qDBU}%yVq%=`Tf?_!bCf^*k zPy%B5DzSzIenWFUH_DGz_A6MTYpX_dvb%zrM<0hnC_)K3v=GBS#vuXrefS7bx$nIt z){_eJ_iA(J;}gViZ!sne4?T$nV(tHoTj+}rh~Q^lc@6g<^`3wWVCjL=fi{=xbDkNi zz0w`~4W|46-v>&v!Torl+WcH3F|+5QKLhii?LuGe0UzSLR@`~dBb^m-fGeS?>0SEU zJ5$U-v%&kVq9WW!hZ^faWGVr60~X~-xe&qOvUBJ8f=> z5M=M)OR~X_@&XO_d8&80Ztt$xPYWMRhL5Nrg-sJSZ`*6Yd1jJ)GdNc1|+GaK_NN1}n3FwMpTbpJpZhL;yg@KPz~F{Ii@_OI@*LV>*hqXehR39g1=1r1P^c z1!XdRG$QThVz7`o{gxLJ_NLygQNU4K8}V)U(n}y8+9!HpR{%HEGDnlUHFd+GsSxB5 zxmm3*u%{NGbaN*llx~07q^e$1zj5;?sMRX!fp7K?BfJL?)<|hsERmDhtvygQre^6; z^#*pZ(Y~VT0~x;)7{8Nd&G-w&AG$)DhWS%Z^zYz~Sl2!}g@Ra_tZ}Keui#*fs~zk8 zA=s>%S8K`G8P|GXX~SO3tD7j~fWGbBU#QW;6pTF30pS2_Xr`2G0ahPEK9nN!0(`wl z1+y8&2CSwJS&dIz9cX>(iRq-4?56OYS)a9=(4CxfzlWUurces{BSVDX1-POgWac;+ z?JF?CCdQToz?@yN-!wt!22PMee9KdqcJTb$xIIO@N@Q>BI&vM+HP{b>QXHA#TNkv~ zNJ*K)<0Z+W7DDHxAF~987l&XnP!_VTe(xJZPMrQm{YH05>&lzO$?_%+07H8nVe^Of zMZ*822i$6o(U?dws<3xLPKZNVGD*iAnevCyRr`wwQ%QD5paj>s7AEWCgoHMm()n7c-eT2Cg0_e8Dq5#95~UyN$AjEe~3=r~$bg7L4U$ zy?_%0mQSTE9|Z?|6gXufWK{ei<0#A9KVXbQ0bk`$T8?;=r466v^COHe{b77*4j5yg zrW@G>L@fIIV-&!&d7p61VfqpKdBFND{U7MN9~kgHoQCtEzduO*{e*nz?~ffq;u+X? zw6!iW9O>eU{IN2J(bx?eyKC@H^n)OPj3v$JWw>b1K@vHNkpOUvCoY}>_QV4u3Cx8Y zJ$NX&fQpeD&!gGm@Lh%fj+)=Ety)6d#?0wKHpH52f`K7_kE(Kmv$vqd?-YM2VqMAh8!LUlb7Y>8c%ijCKHfv;u3UV_2JZCy%b zck9OdS2FMz9fTJtsg*sghY5*Sy78Td@WcC@)XGe}2OfxSDw<*4xLk5sGY=iz;|sNU zO3tW<*=e)i*kT-O*xW{z5bD*Zt!#t$;IOU@A7^ws;o8U9 zCelwS%2!d4Jm7c?$h~O|zu3Fro>ga8HGI$(dH!Tx9E#li zS4?qo-cBV92L9}bSM7ng$zm~Z?xItYaO;67mWXeswMr2@6AY@EY-ZCX<& zv~QMmO?sTt@@ZpScNVj;t!d9S*;(*qCKbW(|j!1%4j=5^VA<3#6s(n`a}vb69hyap36Mp}0~ zB-PtwPKZVl^Z&7wURb-YJ;nd%JyOffagdimUhKoD{R$ue9ajd=j6m8ffe z8DdV3-=bRh0CFQTwQ;36c2U4z4a#VnH5ta^35#@pHDq->eIL~?DnnaRuxG^07nFQG z41Aj}O^ZIqOvMP`yhtx8d~e23IQ}Mf=qhvA!&e%2EGjOs?n=GN82E5-{2N?Q0+!q) z6nHHS8*>)vkw2jxfM!u~yZpu0&)cx4pfvn1^m!HXls0?>XgxQO&_Xocs?lJG-o8{q z<>Jp<+OS_u?NMsBQX#;J=7J!Bl9M0-U3#e%6)-U@4Q3dR!{$&(G5i_(qG5}C{MsBQGROaV?-?5UfxbV%Y^ZacM$b4mIz((bN7ae4N z1jGX5)<^Cp^8}VQ9KZ>)FAZXM%QSwWtj9Kg{B@_CyAtJo<2CA-7!$hcjbzEml4a<#lt~W}dB&hx-UJ7NU-} zHv{9FhMy0UBQ}oUeC6mFID{>K4OWhTkwb}4-~d!~--Ke^KE5Adbj$vf4_11YMG|W3 z&4=MocG(~Hpzcko?lX)IAczWBA)J>kpJHo_*CuI0ms+u9@VhMWA23T zz$px!);WvjWBw@i_JJ4HNDK`VjB!Ltbcqtev|^))bd)Q{;!s=@-9ud?(EhRV5+jvY z`kR&ejh=AsC;^58yTm{KkHGFj{-Zl_mM^BN?Fd5N1Q81=aww(l%z!qg*w|cRH2GWh zmJDcyN~jz|MGfKK`3KqUMH4K*`ICA$Pf<1+FgmjS;9j)rx%NIO=6!nOb45#pWuXb_Wm267j)!Fz}5t0ukh*v#vS&A#hO zaFAkOiAv9{SeVF~F=E5KR~ciQ)8OJ0ZGn)R5ilWq5bI!j*rSE%7XbUi%k(Y6w2TQb z`kX62z&~!@7sSf&@lLb47Hp1)3IV9>Be2WJyRnY0qtJuEG0S+dmek=AF1q{!kx$`+ z%V!!f_Sk`U1zjK9;l}sBc_tB-Fhozw*k?glANx%Dzejf3U?U=qJm9d&V%(=Jev;2F z6z2twNqECJ1O^$jP`9RZDsMs@2`32eZQ=(yzVyJ?S53ie}ul_mldD@`L8+R)*4P1sPMCYh^uoX5bK3Vto&R_V7`AecS*FAkPQ|CEGYDn7#{$>lT4kTs_#7k%9+ zDEc2mPbym2wB6e+pH!X|{avgQt}li_WL4{n57qiY2S4Ka!pE!STp=!($@|B=W8^wt zPN~8fGAUJoaMAYn$ZXDprfrDMaB9YuHQaWFZL$URU+8~`{!r(!ROvmA3{J7HnuxU@ zRAb|q0MewC2h}pm=SDhgkHFE}FMI2yi?IdB14LCQ=-}aqGvbku+Z@4p*U$6^%(O;m zrzWSD8m&=C0c}<3Soq9L$Mj!%|)nh#APJOY+P89kCOw}6*wZ@>)P`Yg|Sn~#70B+83EZD#bMpx$!5PC0$$qkL2v-J$~RY?!`0H{?m|BhjjK-MX1nBibmK>g ze}<2B!%^7;WVqod%hS);F22%w%g6cvY;=KuuH$eJ;~@`L!j$7V8R*-Nak2!yKAb{X z`X~+-;06FI{d}F_pmy5f<2=F{2h-3l^sUDdxN`uXNrDG7&a)2S)+!p{%@YY$<_7O&4V+Mb+pmf+6F8X8_@jP>c zktXZg$PYj~_LLT^-aWWG39F5-fhuXG)^G&SUau|qEBk2nXk^%P#yML)!t0UPr< zg4VAN=|}efJ%JSU5RYE>1z~f?6#u$URDXNZbO>g~YY^Zf6yP?)MEJxDBETW6xwdjQ zfYkR~f5UzVa69?E^k{QwH}K9kA=j6-97D-K7VdTfF)#=*D#fa6K?cf83z)xE&{#ld zV87dx+aPn6UX5jD#wfD~7N)J;qQg2w`hfM5qmIJw3L~vr4ocYR7c4Ao`8YV><6tT# z@Cf$;S`1(?X)COA_P)1iLfB;Q#C5n)yZ}7om|w~-ZP^=4RsQF+3lTf4HOvQT6m|wY z+fN}A7FcRov{)Wm?dRo+6ULZgHXhXHY3j3j_yrz1lo#y7&pSL=cq9iOVhX4yvLngk zBE~x9My+2y68cMwaYG)R1IZ8^B|Od3xiVm%)|W$197Et=EHuMKOLq{Jpg&x?7tbW1 z`*-JAAp+u1`2SdEt{RWEVQQ1Na|Jx5!+FGYJG)QnGfGPX2CIvaWp_8fWswe6Ge z2c2F0@|^8j&0w@Hd^~mXb>X6cQY9wh%qwabh^aP(Hc#wOQk|_3zbpzO8?=S#Z36+MI__if)Yp zPg-0C3=9{|lKc>=?voZ7i`j_i0Nq-uo`KkV>=Vtg_Su?Kq|s_mfQm1Am2P5Z9Z>9& zW*qWuWq!5-`?^#U?^8q2*KOiF8G=5HKn0N6Prvy=8x(wye|Mk8Zn=`sxo;UST-{s` zoKf;ygNoaNQIIs;9^M?=!@gcmeH$CPc^nIJ1`4Hs$r_}9S6S4?c`NXXh3b9M8Dm~6 z9>Yb?{GEt_c$2Hxs|eJPzyx$3#Acg-JkTO?5cE!MHeameFV?g;MhD6qj3 z8tv;TrC~%cTe)Pbn{})dP+}zjBR;-45HRFpX&&rY@}czT4(>`W9l-My!$oP* zLXf6pM&PC|>CrN0`{c8A#6FW^>jdi5@c_(mX>OAn?MuWv`oA%S{Sv6zex5%+$4|!$ zsNxR}TD50DtG;=SBJ$_mz%38u&m7915_`E$HFAkG(#)K3BdEQw_no*P$|!hKE~aCV z|A&rY{J6;;LN8ZG>^SM1%7><-XW%MufbJlsn&e;id#BNnyD^N(%n?tDKfX*AVt7M{ zZJfq7PNVj<7N|(addHUleDc)FZ2OZwNDD*b$EH70T2T`TptfX{1g&Bee{Pv>^jQuo+yU-3PpD= zriF@}Sk}FpXIxE89T&NWig$BK2mtoibS^f><$%9n_Q(FD`J$7*;LT6q1!+!y1B?B( zUXzv+zL5#|bahi&6tKe9x(4V&d(D7Z)-8t5TKF@_l8^=NL;g|bz}KPh?KNqO$cGVX z6M(a;0Z*c+fn?EE%i6sP~GQyrli_RKEv@x;qr6$Eb*qfufTbsijQqup{tQm#$DG9Jh%(U`JI^mhcRXNbFk2>jkHZcm^HX}9-5E(=z_Y*!-=?KfG}E(;(jNUB!{0k zr7T4$L9@8NRSX5fc$Sg4oW}GR4xYT@@AOlD!MFm%)F+&HuP0g3*)iK(kFe z1*{O~ad36Oujy~_$LoxhnBIWkO9OCBZ{I#pw6c^T(4$fwyc<;l4=;@O`+ioXn-8R* z7`^bC+!<-QaZRqvi4<>$rv_q<+~h(j?RUw*XtpnU17=g{+w#|)JI?Qq;=vhIQGIdz zV%W$LEgb35!WVOq1lwzn(g2v#8*#wu=9O9Y-<#Zu&E<&|2aUA#+=j%>!J9Q}H&kT- z^C5-fod{pOh)tUG&KhaiR=9vs#FdAJ#D|yU!B%_go^`&+meWV@5T`LP8ro<;iJq8} z)kib^5RpT*@UNkPx938TVmA;j-Q{rbVOE8YV0mZ*3y1z}C?3^xWj8x)${_0$Ulp?(Pah#>#m>$7XgBVT8rqSIs*YM2cfu? z#~?q*!U{2Si?}xpU*N@qJbQo*Vi1b{R4?l7e!)Dkf_}>qmnwR-UUUY(WFrssi7UQ< z_nt(^iWY$Wi#S#@u-x98j&I}N!#4~wRx^%$rifGZjQ$1na^x%d^xXIHhIrr+n?dA7 z>}e(+z*vKX%?+R=E3^1%k`WOAfjrRtaM9hbIjadJs!Om~e6Wu<5-VN6D69#++DwoE zK3dHY0i41SQw=%zVje>@6{BLr$6c^kk|avRF%6KM7knNYjD5iKvZduqJ3x zMmCVXX@5*t4&$A0QIRBrZaRI@>Nx84!Yao>v>AA9uNKb_7lIDdmnx{A*z7b?mZtD= zaTZ85Nl>T4XgeIzc)eGyRh;<6V{{2uZE{S>!Fx$Y*QsY=ay^+&J<#7L zSA-MnW}rV6sZu)DUo_%idOmx`xw@r)t#6BP_AOJ2up{BUsd~#^eZWRyT7Gmy9L>Dz z1S<*HyYdCk*iNak1cyDhL`w!VifEaqd;IIr?G%5@e!MHO zu4pS6us6_cBP=6v1_vxpd`fC)^$Jo$RW~exh?#UN3lUS%{y^czS>>E5#$X|o z#gQ^r`e>*kGC5R`YIS zXa#;TvDF^pXJdupTnGNffx^UAXY;j{dErasF17V|f`hA4R@l|A0$$c?zC@B!ki;Iz zS2$l2uP_4OYB8o`?6B_#rP~4gKmy`+s%p8dw|_+rV0>;D@QOuZdgUnlZ*nm=vmm<3FIC9yRnQ0O7H zhFUk2V9i>Z=WD-iK){K}VhCY0mEI`a{;=H>S2n}|qf!zZ=+i#yQI-u|RpgqEA{;9D zZJ5$el~I1vDZlAz>DJ`)V3<;3fxmP}PoQiXaIN%x_g)13;JQ~p%^-*|h?%gOLrs!+ z6`URj@ijH{P=4Id_7T!Ba6sp)vT$q+PK`!bnb}NZ_WnSpYNB5YE?CT=cpueb`Of+U zxgWlY8j7mZb+g~sOlxMg$pz)X|3+iwKGvGAsxX`x#oq{EJLm5bFJoiB`DF!d9g==T8;GN2$j0Iv{rhVtT6-8ea=J>OlR-oO-x&s zNNv!T?V=26E+w@o{4HD>Be@P#W{^b{$yKg*P)B6R1Yw~SBBI@gU80$>)jl7fCuXbO zA;01>t@b48g!{ohcb#zIcOO+;7;Mgwv%0x8wUe_R5QmOf{{5gJ;@6|N))8AW>=jE~ zRC^|-uu}LnU2I(kClbHL5x-;!AUq8EIR#K*bGj*fhh~`BKcZ4YO+0!YWFoFD^NwM! zT8w)gr}hyuyAGZ|qdP(_P05J-3#g29rrDwjF3Eu!IZy)&;+6qx&#%Q^#V#)sX_NdN zWX^{5(Ej~b3Rx@kR3NIkSm4LCfZWw#CBgyYacs_N0}davfX8QEDR_JeE|Y=6qzEyo zsdYH;cw4dHac|)9B}{8(UMiRA-U@}qkeFzL1EEwvNZf&1!bSJgJLBF?{z`L3V;qop zBK8U{U4rD!ipN=_RLT4d1Hb}_ZQ{tjgGr3%=$X9gA^zOF21pZI_`LT=%o4fc zvO!E?-|AdpzJ^ipbXSB&c*c#CKjs{nc@HPK*%6^XM4Q~5NPpNZggTd)cM`APD>y;kpdlhD{Ms+_WQkuTpu#MZb|` zl+V9>E)Jvw`TRY+wsV*qB(30K-!8RMJy%3w=4_BiWthZL2*LSBE~c z9(3umJhr1u(dX4ffFw_rnv~G$W}p-nP#+4|Me=in3}dUFw==$e;x4XaIVEBJgyr>q zeh1>sdy_ZDisdArWI?1w5bZw`Lw@pC2go9ZfWbS0M~1*F(-_Wi>HTY74AFHu$o)ZrRV*V;`H0^VLVN~ zjLZgy8w|R+n0M);)O1{v^|9#~DKK8GSZ3feW zS3rfwoR&k^51jIVX$(rZ$P>U7<9PMQG*X+>*Jb#P*6_y~P1sXl*ITD-)h2D#aA(Bn z@lXjZM$%DMns0;|Xv!F24r}sb^W7)i&Rysc{SJcT+{wa*EjEs$sAxtpWIm%A?k0st zr`AO3Q6Z(eveGtR7J4iYYWbK!$NLs{dsDaW&VYDD=;V@7k8$Sj&$YSNQ=LR>1MG9q zBcD8I%aI8m;6i8oIEN)*kbdmJNPcuVhNQ6H+qg`=RLNFJ!Vm1PKZ=cCiciKb6&E#r zKoE#MbPgdz!weZar)~1YVulJeDp0<%eh&GwO!bEss;M4ecc%KY*S6KwdbU$P>v$0P?uAKc$(E9WGWOse{z@^pO8TSs1EIahaE9eTu~_NbyI+d< ze($0bRFb=n-&li{e(YyBp>y;*d)s7};Slj4!Y)IY*NT}W=DxH~rnO(<6-gVr41H1t zZgjbkCV_yV@(G5sd z7&Lp;f}}Cj6WAT;f6CzGxy8)9@-I_U-~j{9nm!b_FkYlR1J3&Vqz`4HQy!8EKW;|Z z(KX+|Jz-xoJ}j+1xR(Pp+XI17p-Laho7D%$i6Y}U?-*WzDslyORLJ}J-f42J@lM1w z02Hc|XIOyb`m#49S8_+Y3V6wp9kRwtUS_NpuQqb3A%uaCUQ#TkrYi_#n&8HK?+RYc z`$Ep+YPK>GuywjCr=<*k*f5IbBiY^v%< zC4`wZ$aPzeYLhs)mkXO1K!fuCeh zJOew!`u4{hL@WKXhrns?MG@hm@sbSVOy*})PXh#^(p2zYhyLDFg|0R>?OSXpY(or5wjVGq?n)6@Kr2j`#)f>EDvs ziWk|le@kW%lD>h=vbHEP%P1nVcFD{>#+FHEI8y(PysicuuevpXydG&Lc@Y)~J4mqqkZK(_?r%Z6yVSw?Zud5ApzV0 zT7`U#pY-bYsGqyJ1r*oh%gAPntjr766r$^p5i)Q472s=RzE&^^{4;xnGsfwSc;-2s zMQd>b`|P93p_T2kfda>8&%236o{L1F&Y}|B*wc`t4i)BCBt%QNVk^)}<_atQ^jomu zcl&nLkmNuKk4l-c8p%PsVrO{g*ysF?1Dk>UH5bEK04L47-SELFbPmQ=s`UtD^Sil9 zHJgg<4KP^teL;2tH+4=&H-DUp4SQ!#ZweO;jkWoSbDTCmj2nByvn-u}3S%>_{m(f7 z=!yin#T7WTRT<@lr%di{>S={nr)i7o;Ruzu7X(lThZ^YBt%2U4S?&qW`EYU$P3xKJ zbVhs$Z^&r07v1-6TU`JnlNBr+=$-stsp0iT-)Vooj9bDemQbwLesHL0sXQMYd>`97 zFcDR9JIU7a!ZVWgPdIL77I^{Jf7|TYxaIyAw_=Y}{ESq*%(hk|pE+pW%NO zNlL+g0&WHVC+54&m8Q0bzsT>`qm@`z(a8}Qoa?r7l<42;t03;Bs68)#@}9isW$TZz zG3EMhi5pYwxvZ4jA;Z3BHVF}T(M2SWA?>hK>M!lM{t~BtFAj2n3IS>fEF`YpQJ5lo zW9)qyNp+qUud}OLC+r8mjn}$DhUxbSqvOgqeR(n^aDmEx*m#oeP4e)y;qH-p7_kbeSh?9ZN%vL>n|4M+n28omS0W`GZ6HDZ4% z7~S_dbEtnxew(BE2M$b%C70shcnIIZ^uzt3oH)16%v`ZtR&BKXJdIlbyBt;6$0l&q zMw^$F{>D}ulxxF@66Zhvj_|=z>=4mBx}j%qR>8&~KH4ShwfI@$>=&8lT}DBi_*sZ; z#vSbYH^F%z^tbF=Yz#-b z=5fMH$fZ2&+zbp>?ZOt4okH`{8_$t0vbwAq7^Gic0x&-FSD{*{k`kha+ zwED?~l<{@0yUGAqpcX0v_(tI~s48m-sOrgEKWqbX$Wq!Tszb`%I%+q*t@fJE+R8!L zAilm}BjS-9!A9?k)BeneN(YW6v=Nm8;~+1`Atj5z;#w{O?dcz|YLF^Z#2_YXKy1b0 zBJgjns3i1p9bh+vyaOsV{-9)Zj+!h~0@c7#G#`m z_}@E~7Z#%}#WHb9$ZKFehG}r>=zQ?kp&Ow11GMmc7de{oreE8H3}=27%Rt=F(W$bI zJN2u3I_{LL5B?qhllE7%$6XAOIXLynsVQ}Hj!Z64=!H&UjEGTI`T<}y5bfCqfoPZg zM6qud)0oWc?LCva=8M#Lp-UQ~kY9lxX@T`oxFi$DKId=dtf_CSwksCyUY_WTxI5xlsK^a>IT`v*wFx*RG>=On1roIw9WMPFmm z#KS-E5Vw!P$xE9*pYSoZhWBZ*r*W&CibqAXXl0}UZPvqrMmm$T+Hc;4guq?$4-zQ4Ez%Rj<`|4tnOxZt@zwU&tq@ZETygd zyy26Ki?df?f4APSzdIr}<`~)c>DDb+f1b#gz6bKw9h+^^i$7;b=g+0=@SVd1unS@Y0R`oG2aEA{`NKX?5= z+{KjEdqr;|)YmSLX|Xkj#+BsL5rzb(bci9*C2@|Qe5d%&?33^VxUp|h0r@u^K{4oE zjUIIjV#o6`Io@y?+fuL_;|Klt(ce;*$D8y6*$}rG;`2S+DEz-?F}Z?^5jc68BR}H> z?$503zAaLHn2Unw$J-*&{q}v6A$PE6@Nd@!p|)p{FLXH zYoBex@ikz45&VH&%zg~rDc9~w-*dChYXpCvO?Z7-akKpHkl(#2 zU*O}}{3*}k@0}k0PC@CH727@edq{p;d!m%fitF+4*&FzK8-IJs{n}@H`Gc*;+GlU^ z=RN)$z^J2532n3PK=;_T>tbzlo5Nb9$StbPC%u2|8{R`naV%@nK(@C}he^;990(Nw zQEtTFv8)+ym1|YI*{6ooa;Vt++>P^n^Z3&UJ)Z0?|bC86;2 z-x6@Jzh=wIm#bpPKX+hA7N0|fz5|Nt4TMm~qTl?^+Fjss@Abd;$iVa65IzNbfiGpQ0Q-^$x#1&gVA@IXSEF+(wj~l(TjbxRo*L{?m;1Y zcN$xyN@OtqEBx>#!J+{qH;q`zoLC%Ibweo_l9ZVb0Y6^;8$hv`zM25Vd3X!9uxLyI zC?364fnp-yUD4>PIa2ilWc%q=`6&gvsb5;RlH%o(bGTFP-yWkkwE3K`8onKULKcsnHr zBn#&saV$L+Fq+!lj_l;}H5v2lKmGC~q>DV#&LWjep$h*xQ<>84d;?+564#5{E(mhC za?X+Myg>CbR*m(PxR;}wp=lNHTjpV-8-3Uu(-h)}^fxn7%9}#>Se1J6*A+0~N+b&+NQ49(ihcDC- z#(>w-B}`x~UWQA!sNaK*WOpB*p`fJK%sck8^k;z|8oX-pn$GHTt{{hi!5*FYNtSMo zf(OGW(T{>qFcz)Y!)n)wA)ArgjoHi?F8b>tmXBf|Vfo~E`7!$`>Ij(kGF=dR(B?FA zb~KI)S48;$+)sSu&sY%$QNDd0t>~E0;)Rd<=EA?%uJBuv3x{T>KMMwPYPFA_)atHM zFyvinwcFtBR&s;6rlkXHc-FL($yey+Rp19d0VR%_Xg@oN=EC}g>^$_p(&*vS;CCb% zEb9g^R@l_v5&Of?`GhqBGQ30JD``YfADEq5TO(lWeP_2x*h^g-k}AJedz@UJ)xsDu zgC#URDl%qEB6IjOZeB_ja1M}qWGrUPvR-;geTGfjBw_6o^RT2jfHJP0=p&4 zcp>Yc<6CGo=QD5$?&xH7LpFx^CYAhS^7$h90h7xeWCNWGChMj`VEWJfo#kPrXX?{x zurp|rU5L{N*`guXGbeRg0!{3Hz2Bj(rOS}Vp{_S=!*r-irG`569&&t-xj2Mm#$uAN zxtJqwEG8?^%^N`3OBH2b1q{13XH5p)yHgGD3spa&DDG;h^Az2=k~7=&(goOxS{=8_3x#Z z(ZBngvc!eJ${gL@E$bmw)_qcz9xH1e%c7gYOx)Pp;530|{hTG0I3-=6p#Ih(x1@k7 z={zav>jiGB`ne@#v!r>dBo9kE@q+5#`KqKbbKR0Usgh2Sl3t3H)R`sGzv6g5>EBRQ z)?4dP*7HtT9#z)eXS-#syg^{~CbEQ!CdSHY!n5@672Mc|=MpJn<9E(aW&Cdb_xL&G zrexj$k5n&OkRnIBg3DnhwD8K#nvGDQ*nm5=FQlP0Y0^l(AHur?3Tar&Z?+$FE^0n| z@dTx{iQaz_eYB$rP?v}E?cB|nZ?%Jp4JK0JG_uq zD^*@WJ-P%eZuhD{xU)(UI(|qC|B*?;CvYaW2p!hob(Y(JX{iW19rA}-eU;^CK`PXr zK5;n2{&p?=0SZ?Q9n;CGL_@#!RSuMf_Hx_!7gCYcJMyV&qr@PI59l|v@Y@?**BCn9 zs)ZRq7OhUx=I`X4H8{P4R%_wk;iI%XwuD7|kK-xQ{)|}rr*(?;bE2e_c1YP(zj$CQHt@;+!vG7hXE z_Slz#2O)wt0b!pXzZdz1{7I$i8UJFZ$KIX*eN$Fwun*&|efZLL{x_VF|3myYUG)2I z_#gcr$NziX2KaUMTmdYz)oqTH+9842al|xS8#*Z@8GrF zNt{HGCrtmkLAStX=Eaky7e_wcPmYrmBaP~!e3Dx(l>hM6;}dnCG+bdf;Q~sN?4LIK zQRanwnx*H#+>dR-&eq7+XzdY|NvnMce4=SE!+}qukq~DXVUNAl`|>5w_B~k_-ivKZ zt*1`TLdY?^&BI&WOxqRhiif^@K(yDYv+$c))f>O*RoK%^dqC<|$X~ZY{t_n^&IH(g zC85}2_mE$?*L9~on!sg$07odoZ0~CHYl|F* zIS<;M>nNwyeL_=zH8!cK$@URx-!;in0(^5Xko?qd4VCjX1L(Ka`!fsZVhtKmi?A1i zMlke6?b$j5^Av^9=;^XnQ**hUhDxJPxcbp;oOwHf0rivw1Z-_x0;xQ)NECj*LVC=R zkT2A!bTGp8!i*lOguh_X?Wz@1q2KDFt(=moLVhvuKh@EB+qiH=TYdiKB6>r z(ZXD-Aoy=`v~vHPFRL=CxybjL3D;n?q|bH>cPO$P=J~ znu}`!HIRIB?4CCz;u#^C1N!<7=MPM|JsJPNfzDfT5!eI9-#+oQlK*jX|}tPXylqp{Ht+;_03T6{)kEKciafPyf@Cr1ph~){w&fbkeolD&z#We zB^=PI?)Jlo)Fp7z%{mXoTt@z^lm6*V)jS`K|29^Kctm+hBCH6XB%|3VNAj1x+wHJZ~|kDGpKJ0YgwJP;C%cl`T$NNeA;k42duPB zh^m2W4+QZmO~rk;lGFwqopcOae?n-RHjh!Ocw*$dV{9r$4MwWEEc7Xmhc!sw%b*F( z;geaHflJUD6XFqH!2vr)T4{I;(R5o{xU=#S$Jqn=Hi-d%(A!kBSc8N4PyyF2i+Ox7 z0dUTT@XDpeW-5%KO2Ayeu#vt}EA2FBs^}#0Pp;Cy+d+WSxvyn08^sq$zL-r47i|l1 zh_j`*fH98^1pY_f1Lg-Tc?5)@I;OtaXMaeK8KbE#@>hJ1@pl~~Q-&Zv^{CdarstY* zY%M`!e>sB>o7Q;v@GKq_dINuMV9UVwBiEp$_`o@LYWyApTrhqUIez0fe&g6x3?~Lr zhwUwdQsc&sm%VlJ{E}F@0?yt_>bk5NNopSewyW`_Mu-u}7-Fu1P}9NoMtg&<|Aha@ z`ZTR(G0Vf8RzYs!(^eIGuPle&ryD%N5Xyaf^e1}J>Jflf_#-B?1|PVkLd*kQz~wG4 z!Pu5qzEm8Fwh87cNjUFCBt(35Yz4p!VMF1*ZdMQkib|dFfbh$z_PfEO*69LY>cuvh-D)G3d)KPM#xmZ~0ZXOAETW_t`!_@T!C zUc&BM#{Xt_{9k55jQ`kwH~!QH#>Ri@R7O?#4r9L+xuU-R4?}JTuvCo?Hu(2$5V9K9 zYj7vSYInumcNtU4FZW#c-G-GBC{Lp9*I!TAA3e1*n)Xfmqn$0$O(7eoz<=Q)&vY`Z zOxTL{I`5)q1gu&no2uy|p&rz0FrU-8-J<+X?iD{V6uI1iXln7EpXsj=&KPIwUmRds)h4oR95%!Z}Zn zg$MhOG-UW8{X+lT8Bi>#*<5u2y%Uz9aX1B1=H!{@s`V3McQMH7sc5j9Lr9(RD?sVdT?jTC)B-I*V}EJhTcr(OVG?~eV5&1_ueQdX$7!_cA~JMXP!W!6oBg@0 zx12sWMU&>i3t?t)^AZxeFf1G%a3&^d_Ej1-yrgFL)C#>#PW{H4CG1#yFKyQ_KeKH%y|b9!^@NMl%Y(D(rK6~wXP zX3)B=4d;n^DlZsm;e$2nIG9rn0Ez|->95WG8LDB;lh&{H;2o7U#V9IZ>{aDnsvhjm zaJ7GrAI`)fq$K_0QD_}vS+WPh4`fD~sn>U9=$ZTQ#80gVbiU}|<0ISeJ`G^2Y^e8>L z8(<&pEx@5vI90u^iu-4Rg?ph^#n)irK5ZUdbb^JufEl|$7s0#+B3bExZ8&IC(+l6P z8Vz?3p2T#(ajG9u7xlAGz5sI1-iL-rF>lC?6a!RaOK`9W$~c{6V4jmQo^Z<`JI+^& zBZV$R<1>LQBOPRMaK)-j^VLe{fhkxCANN!uatNVn^Z@g4*Afh5&pmi9oWEw zMt}-`)U8QaXMOFd?2qL;#DiJKhxDJan1xMhi4Fc$%n8R95BgzWh6f>mefDSa9{ggT zJt6*fr`+yCj6-{YBse6vVK?BRjzfYTf9uRXEvOI$IP$GCdvgb#1PXsPp`pMZK#_JT z$alF8<6wN|5I$)}eLK2iM4-iN6qwgDglphGz{G6Z8`Z>=B zgP^Oee36J3-iT3Pe`s(I@Lq#N_NG2#XX%!>KpfLI!?5i&VR$7j;s9?x3qs7_0P;Ym+T>(X>P~$`2 z-)7%IUB%w-lLO|Kpwm`1sPEd;TI_D%rid^$H2|kVNN7JpA39@)La?21>JmIr90W9< zWB>GOr`N(eh~$ye+IL;xp!!dDnq>Zw*#AmQeuH+9h2(H{!cUd=jMS|@ZRPvGj}vUs zR3FZ>oLWE?S0ZXqJ%Kf+tgC<;^u;;|)rjubpg#BaqEfzA$(1h=#nr;NsQF@F0i3%#We=-Tr*AM|T4aXjyB^xdnE zf7`!$Lw=9OfcE@)1O$~&{=8=T3VHliT}n?_oZqp3@U#7GU}@f8ywewhTb74y57fDY zk9F2&uLG#0C=dkJ!IS=_TQ~lTF8hE@!`GLG4|L|}4;f*lor=7kVk>*)aBI**c}J_8 zZbj)(!`QEttKyybYY2Mr99HoGw~{WC%1CWk2(CX)3I*Pw1K|(4h=h-V5w-coi z{*(%p!|)$Rd8@l|{A1L$n!1p7kM_kF2Z`rw=OvE_0hj}DdhA1b;?M|dmHBE~$D(Hf z{wb?i;`{}=!q7lZVVP=FHm`L?Wg9vK&>y=zZwu%yTOYsW6%Go<>#!OxeBs`>ENg*` z$ZK{Eyb%D_EF8IO^|&8=AUp51>P7;TORXH6=Og2L_AfT~#m6D|ctU`hRoy6Hl0+@y z=HlWlo0dT)W1qOn>9p{d3)&NzqOY$M{()260aO5g1>@lU6*XUxe|UHt8FU~=DX>~K zOm9tv{hZuU3qOZvaFf=c!D+6l zU&)Y$shIcLkipLk=AccwF{l+4rAB9yljYi<0#s<36WjtFFSBVt5OG4Il4adD-pT0+6tOaj37=qmN}wSo01jT)M|19}&RGV-+HM$|!Qij&MKTKYkOQJ#ZJds}lYjs0pZPEfL7(UUlDSpBo zAO{cW1T=XA9%9Os5%Lh5pN8Twfqx0LD94pnG-?udx;Dvx^?W3!uY4qZsDpOh7O3+T4Zedrb;AqC#i$RjhoN!)vq}4_>=% z!Ri2tY-!No@;d*K`V6h+6Eq=!FxI6|SZm=SOl|ep0WBe^r5nf*K{MK%Cs7OssEot_TH>B3qs88VB^K(0=0^O%0C@Xvcm z#TjW0`?9oE&8axVr{C01?}n=sLeok?R{Bq#!tSA6_3yTs88Gg^eGOU37KKGa@xn@g zi(_DpP@hOIKNo{UJSDypAyx9oXkumfgs1Wn1&_2H*fJ9Nk>KhcHr52WCJd{w#Fd=J zQC|hEts^x&Nw+Zg2cIGPs!A@xzN$m{dmyRSE2$!k?@F%-1fPNjtebFm2kwxD3%UV6 z=j}E%YcFDPu72?4fTE}ECh2MW8;FIJpG;P3>1u5(P2&Dwh4SVnr zZVCU>FC3*odgj5qmFG$tZtP3pAA-mzUJr_a(kyy$T^&Xv61_VG!1idH0X{DVvo8vL z{Rs@oJnY%QyS~~MBTK;+3csR>{or|hp>A<2#-^z_ZxV7Cj6&&ahJvmJVcx_XhmCbr zPv~Yg_U@8rFD9gwXl9?rPTL3l9qo@lS-v9u<~wLc@c?`qvjgM>_9Kh^ptUTYy5nO2 zf&CJ28mfex+Ogg&`&fBI9m!+G20CKDPm~*l_-(diRzTye&TaR_?zU* z|DgXnrT>7)|GobE{@eWrR%4jCZsDpbHn=hV1~s-;(}2M(FG>kb`dJK%G0p?f-*fPH zuCcxx`>=6$Ud{HYY0ERJx`y|5#v>RKkdT=8-N#$4pTMvj{tMq5r8%D_OtbfMS5>6I zq>_zzVZb)xAu-Nxw1hvXum7Zz-*}6j-=l$XK$)}4>&lD%Fi@M#CvF%9-5E<3 zpw}lZf3NMedQ0o4lT|E6k2`!Z>5u_ z7X!Kb0z|Nn;myhsl>=14ov5yNH2sizrJ6W6w*d^^-|{+y*X6 zo!reII<`VvxIWq+uRopCZ)z@H{B~0B$*{DKzNk~^_*2>g>!Y0tw%2S&OexslU>SV& z+Wl?O>B_pKTtXz25hp%0g8tkmLn)1iFm;}Oo3?UTcR1yJGHDE_lJ3%gRy3d?+8?jk zfXmSkrvZWPokGXZfCe;RGnClyum8f1Tn7yRTp+7@B)5Q2Y3H6oam8M9s~U$Fa7`SC z>dTVw?12tfnThrd3en$W-*ENPOX``*x*7+dh5!fH4{CQ{P-a~oF3KNI=>wXs-iyaF zcupOqa=I0*7V+Hb9l~q-wXtkf9Wx;bON&gAdr=fo_Ot3%$O{ZbGvp&kMKpq5j(0p` zZ5b*Jn)fe9MlmA$Lu;z>>1=J@lS~1QHUu*5{d|W380#HYlDey;R-PePpFQPN|Hf*5 zOo@7FAAr()@>x`~`;aXyGbr9cHkn1g5wBbc#{<#pMf(~SN7=X5AUl7e+X4YWHqS6HosiTgF#FT z1);w?o$vYhGKgW zz98x~f$O?nA!(I&VgRbTa8d7{$if6}8-zbjW2kQ8jp)DOkVD@$96JF$9}q{zt$M>U zKm?|K2if1c#aY=XT!(*;;5zi5_lSRugYAiV?Z?4s9L$p3r%)kGn=0u}Q4?4Xh{ousYs3ENnuW*ity2w*F72(5?7mYodX>oPnRY>zC( zMTVU?B{#Ik%1u3P2wN$~HRl3=(^wimGBR$6SF}US5kNrTn``i;--K#l!Dbm>`?ft$ zL4ljyPE;KiNZsxxAbG3is&-PTGR4!I+@zrUa+5_kpj#Poec7v? zU-IVQIT33g^D=Kc#6^H#ysUl9%l(G6^S$)*_tn1aT`1R=yikI`R$1eH5Ld9l`QC?c z!{#xYSf&#n#=t^+6VKd*#gqxy>@s%y`XlQzv_;O$uGP$;2Ec)k-30dKK8SzJ1awO{ zM7ZeZV~J^J@f0Nt9{<7XY~}Tw&}zwEqy1pH$BKJD-9_A~E%QMnu$%G9KE;b1Kx4rf z#1jQb8o^=$sSvBUkS!F8t+v2M$-sYV+_dmu;)$8v%xOlCt$oBk@7kBrnFO{2$Mje_ zU<(d5%?er%q~+2E zdkA!^2mmpeur9*D>UDr-EsEs7jiC_lV*JtV-`994$kpuL>~L=gszln@E6)yX@M9uv z9FmU?ZLloe$o9H4G4kC+nkc3JnM~1z4U?wJ!9j}@jT`qW=H?Jc9wPF*sF<7BA#mUw zt0WQ0Y1WtAD*w`B| zA~L_)yYY+%^>HK~s6`5)aJxYs9AoU4KaMdwBcCGzZ3M?Bau)Pm?dHtH$AI;ew-vOZ z_+K?$9jgy=tT=^oq{#o|3cgc^XV5oA1|genLHO&^zvCDXud|I$OdRuAr3AGMBbQ&^Q=N02Cm&1Mi z;g2rA%DST;Tp4}|pTrQ2bcocaZAHgJApcT*!lqxwe49VT=U1KZn59=3T^gfiZK?sR=6M z;dMTCk6bWd-4+TM2k7V#81O;BLKs>ARtEj(`vGG+95o2FfUyT~sYiyOVF%3R&Ah`7 z=b6F6ziYEMz~T~wd1KxR-sEiw6uw=mjrttED8al4Jq2Lphu23h9vvB`RtVwd~8Pp`6tN&O`(JjIeiT6WIeAw1N!+$xpPk;5X zuBTUy1p_9<0VmZ(c=-R}?p@%cs;>U;1QH2KoT#AjRzn+=cm)fZsA&^TWJV_%mDVWO z#%e9~QV|kJ>xICC%RFH;eQK?(_9>6GEp4q@YZa7g0u%yRx2h_ELcDH*VIvi z1b>=8#gSZI+hiO4Mk`F!nSMn_tTJQ`7ZE%@^@2(!&&e`nQ4}63vCys;YRKV`DEu<- zz2S6*KrIeo*FkyuqW!K7nx?o@!dA2{@cW;X@knu|opegUU`1A}&BBuaj%HP$9LbeX zF3oj_P_A-!+wI?mxgv1Q=Mrt_2uq(A!pT)oSXE`$#ig#~Bc=6LwAEqun(CglEZaFe zV{y;bWnQVyIM?Dn(5{b^=5f{Hp3l`5clBKBxjqXJIIZb8LY0tX0|RSqVBq;e2YrD( zF>J*7f{mM!47Srsnbw6OXOzR^$es{|Y!SX6y-Uw*$!x04eYIw;-B-8n`OMSSXAnw(YOYM{6}}<%ueo$cGb3ug98)JxAqq&rYkKKEDLhh{1<8H_p^!5b)Cc!<7)VTlWLP5AoXywVXi4-UcN-N@JD zaV8QS&2O6T!fugxa074mShELQ?vcxJ!P}4Q>@CZ64 z@m7ybza+*%D&{ti1a`19VubC3pJ+tk*wTTdm&h6%?Q?3HXd-mmZ`3|(lt)7%h0VIs z9}UR66M;`ggo83VsouFlci2af`1<5@KJrn(C+E7vWw}1VMJtT_LbpvK8~`TMNzJg# zZZ2dcZ#tl^;xD1uvx(GY-MVUMZmN_rBDFMIeJM11g8zCL3G!NL3}@emt)ZFc7f>v5 zDJ>zq+xi;FM^R^A3ElQwK1CRpq$0`QYwUW5=>lLvnh)XkGW&^^y9Qd%p!Y_1s}76& zCvi>F`+>r7l^3A8q&P-C{c1Ou~oWchMc_eK!};`yRVKQu-lR z(fdER8of)*6DsZGnno9A*$5s>#&7Wnw<9#?;C*|)(5ps`)~DccrB~JFuC1AC_vr1P znHut^&$b_@j_asxTi5(qDMT&$RyMh4>E&qo5U+jY_EKSe!+r?yUL*vG?Sf=`@Tyqp zQ`01LCuj(}Srl>PrkN1bY$g~|H}}amIRrFKe8SH_zFiE`g!3KBuU^z@!}let8O!DZ zSn}U2FsUm{tP8|aFX`Mm~X`tai3pomIp!L}sAAuvJ^^h?X@xnavUbP^A zzAfxZrf4cw*=BWPn;Wy9UBet1XDiUGl_|Cey5FQqiSJ-3`W^4RJJranm8?eCOC%(9 z(0}7k>G3@X3WpOnwno_Cx8vnV#Ws%pbHg))|$ljF?z$7TT!uodfX1L(>ZQ7q8c#C|X(nJ@ zYG?=i4*IdSHuJl;t;mjzP8eQILkB73^>DxP2QAjWj}#ot$#4PWD| z09s_cM+BZecoVCevEac6 z=LOAN-hVUasF}4E5A%?l{)cQ$)M~i~1d|@7_3aIs3%B2H@7f=86Ziv7Ajfz%ofH;a zXNkjU0-N-sjPr6);a*4|`MRF4%FicfTRlI}oPcl->7sAX48FBPaQV=|)^yXbj$KO3 z5qQ%kz}4a0_ret$nm((AxmdMeL@3A9=jC7I(7+yIFep#!SzYj5O4t-}4450ANTJW< z1jA$~iC5L#%2xh{=4h9Os!L;(=XIeoU9TENvUz+_PwB| zm{Uq8rVCPgjq+rhX(jC-e>EqMZQ&Q=i)!z1_7FRgw+oN5Mra@ZlE>oz_WgJ5`?Y(K zgIn&MK|HFx$Vcoiv^hSL9EfUJ>wR#3HaYa#0DZccR_YT3J^UD&2%?RSfmKA~#4zAr z;iq@7yZ3I>O~l=p0Kxt!yW8l!S7V<@$(ZOK+5CBj+s#U6e|m;Oayg#EL$AxfsnE^e zxiLiaj^maw*$1recl)IdQmNbgn|*@sUA5DA9F1>4`t{zjpDVqqdLM1{AAQ%ZJ6$Ww zxWSWjT_vs12(>J{>JOz_oe}~$0I+yeY+s~wJ zYQuj)sTzXLEWY6+ZhV);(j)jt^ zDGD5T$aCdv^S!H1CCktb9^yT>fp*ZzZQ8xSN~YIhNDJ-S>yvQeM#lmO%@-YHaP|JW z+%2w~Del__!vmdG7+6PIc?Cl>`$*`v3E~~SrV72x=-ga)8+7h2eVJvdP z*wr`JvCDKm_i5F|OcgbyEjVAljp^n)a=zXq=PQvlHKn(h^YvC!8nmWw)~8NIX13146U3TQOGoQQ*5T{O^?wwXNFsU*N)(g96vxq%h)de3$%(Qf>TMmNTGA{tFyylrjAv|5N!d zrhR5_-OdPa#xl|4QpbUA|Dqk#D?XP;$Q)On|M5J{f8MkkXV#~GhwC38u%j|gUa=NIr%u!CUG4@Z+tp}p`QcB%ZQUB>iqAqi>D z7~ZYOE6oABWhGtEE##}N2KhRgIeNYDC#Qo>^Z`$>^N|s0scrm;+f7@NUiK_uAuSa1 zR$Ekx3uVx3NFlF9A9w1wcY+_D%La|$JP&W-A;Az&VluMWANzCfD_xWJUtC+jIA^?N z0xK+Vf#IBgMFf?I5$HFvBq+ZEG2ZjcI_13LIGjbp7*FN{Gw||`(x35zZPrDhS@Yqr zB5JewVn>w61M_|JKGha4etx3#(8!DrTPYv9z1>*B0tp~>xv9P;q*MI2>LA8zE_Jis zZYqjaYz)o*G0Gz*q$7?`eU^8w&t{mnx6^{RPQJoyiT&vJR8TW_Ta8kR%Nx5coQm6J{1X{_+=guo##YIM-)pmWP^l7d# z0{w}r8G*D-T%xjDJN$X+H3I3eM0j!eG;6&M1ughSFI#!ZTm+V&J4)Ml(8n0Ge-@8D zLAD@lxvpZfGEqUa^p=k@2Q^)${UxN`Im*h74GclCm4v4lx{%*w9^i;oj{ZWxiElcs zU)FjRkG)ViM6ckB6b@2dzUg-me(R+5w<=XnT3U|;()x3!`8<5J6_Cl`l>Qq!Tn+u4 z;@LbLOxjx(mVFAL|3s5$_d!37R;&!od><_@iub8Z_8wm`j1FIg!0+pYnc}{E`lP048ypO#mwYsjZ;C*Q1j`Kmc93%qv~OMFgBljmRAVbOg_Zpz>BkOPezglyNx*(o9&5!yk+&tBYTIpP`&*`JYu$70I>-C6z6|p=vam0SLiSbGfvYKhNf^+VrV0916 z^kXX{O#7Vw(1&F!>k>bd=T&|UX9%jxT^rf)QZ#;*RtDR*?(Ej)=N}1}?MHd=Bg_wx zb`@8ds@(m3=4MJykr}G>EoqE&SkCL5C?vDF%Q4_QL(Ie?M$Ak+&P6jJp`mK-Bc;lJ zp_%vtSDT3^`5}le)Ri_R=31``f?gE`KT6asBw${ZT?d1GcG9=w?FQb3IWEu*XqdbqW7CqC02ENKjZ4Mh8)f> zGFUtP>KVm>1xj+RU-sKvy}$EDA6}=MWBG&3)%lvqT$lcHEct;xd|4W$H_ys#@Y=Zg zn%bcuN}B|B16z}_#S_aP^6B+6ofwb?Wh(>B0HtU+1C)2!@b4*YwX1)Qf(%A>-zTlk z-k_{m)T^Iq8I>p#9q3r6K*yPw-~QDaW}l8d*{nOZ{Yo& zebxU@(9eoBud%m4(d$r66Z*q4(#iy8sA!iGE{%$InO!Q!+hxoIE~sdi>n=k@%V%wg zRsPrKgW?zga;X{8b>f4*>!@0KU^I z6hI?p%L!`d{A?1?J^C~*VfOCE4pN1@-fUOgJ9c#yN80n2DUO}d%774mhC}|4uOjhx zopy+j5?1by_1*$fmj(W@HqO3C7*%5ck@cJP+-fDiJ19l`MZJ>gNje~k!rE1Y*ew4O zb_clDB~Isi51?RxjKBB-haN2%_fn4y&{l+mZwli)rfmBR7`IIrx6RvQaf8=0Zl)|$ zl&b~1gaL+%s*Ch{qz217#)gb$FW7~vH(|SR*rodhD;a=?I0Cze`zqk%F1xYK2ltfD z*A3N~V1c}HoH!k_go|=LKg#xy8+`PofyV|GyVu>inl;G!2acX2Smx z`m6*bw=X1@BpBGJNX&3Z{t53U!V4tnEL2ZsEbHXLB(xc>2)H&G^kB2z_bDg)`X12< zn#&ZfP9W&BPt@DBkB_=)wMY;w7D1F)`^huXTOE3lI^$P1et*R}`M$O7)*Y;yuGkD z`Hfzj6@DrogX6y=Fp$B2jh5iQwyMB??F#?x27Qh5Hrijug$*yER@*)^?9V>|A=}6N zk&EG%A*a3*TUcXPS5LTo2vOPMi;4UntOd!|T>x+#I!zFTTYa+hY8OQiAr3=U0Gldu zNGx^`_6`;h`2q%&D`d8Op5!N}0O;TG>%}G?Y}kRBI;NU+xZM-S_u?OmqVdmS8VdO5 z2=$&u80);!a(lsID1I3*(-z&-Td`oU^GX}Jk5#TeUbu9E76DtE*qCqU;km6s8C39~ zt=nJ`YM?PdE1t;zUO8jAO$V4H@{fI*Q{?X@7#Bx0vO(-`9~}~2Vd+{~ zVrh9!39phr=65=aD;Z%|Fj0=b9Ik2-i&Vo;r7Qn?eee`(P;b3HC%|D$wmdDEWN^fm9~|Nv{L?nVV*4NhY@LV z>j@~wCj5J!gYTtF&g#5nhBj+vcc}kfvQ~^ec5h1a*5wGs2#USS1pF^~HyiRY)`Px3 z`|g@Om$l_G7MY6*I7*MbZOg+Imf_^q(_N;V9~t1z+$JXo#ZE`}t0_Gon!6%gvFql2 zl?S1yI(KJkMCR60e;mR7(@0NOG`?@o3Y(vr@)c8lNVqU|peYrkFd4cZHNN6Ug-$t) zC-)Rfo3AZj-?TilQk3aMt#rma{TQctpTZTd%%T!KJenKZ=q>+dr(-U%I!U34oDF)M7@m?>G{T zO{q}hD8g;VEM$N~p&-NanBP2)nnDL(J7+VNX#aJ)y{En@4Y=AZpk3)kN>RJ{D_at1g{$>stx76L?_Pc~(m<$Z< z6i=gyV_CUOgkRqH?EdL^;Y=PQ`rGN~?=iQyyXEKp(pCeSe+AP-TQyi-4M~yn0}{MT zYNFgetaKg#zA;`*wt!CJ{hB{(FHfr}kCt8&n&~p!qTQqpO{;j=e|F}E zW;y#0+M2A=nyBj5Z*%;lZG4}Y8E}A`v+1bhCQ2w4!Cr-}({+|;de&Cn*!?y9ouIv? zsOk7O2|%ogbKLzhsZMG@ORF$|Vm?PJMQ?BZ9Jy0g6G0pa)e=q?oHO7f5pmFb0gthB z46+}x=onTUKrPCJJKx%HN^M<5G8Egu18o?qsBZm7>*O^_4?+{6H0rp6?7D)!Nf?_H zsaTcnBV?Yu6ax6z0_7t3{woeW>WuMZayU|e5CF_G+_wkzegAI~`H^SMl(hAYvC4mY z)9W%k6LFOEir|g`90oHy;ZLMu*OVfSd$^5zb8;JOf$}hF$A30`CW|SFzZYxqhsy-{ ziww_%1y#xs9QMLHGg+3P`_=xm_Dj?=q$RdeXGv2C# zX0?Qu>&g)d&6`vDvwY_IPzzfT*Oly+qo@gigSE_Szpb76!&%L)ooc@et`ij|aD ziN*dVmq%AylC1#EB*eBQ!MM zH0|scp*i0bQ_m>Zm}#QED$7KDV3vvcIL&|BOl{l_^Y*yX%hOgmXQuWyH#8rb&WwGi zOe*zs1^)Stx@S8c68hCED|y^z0DGIe4S+3~PU3HiBo-A_l`11vz0Wk@Mu7^) zhq58YHR~<^FK7q`M(_m+4{wtep#q&6O3YX$3|ZPiT*_4kn$h#?cB#DDE@QsI1*7Lg z-DMa(i+(Q3^zp}UDs`Zf%QNfMYSc;>ZT;JGxAKEGf#HEflii7oEZJFg_{G8hXz91l zR~lEp3x%+(dn5a8|&ny|F0Y4K25xEq=y zJjg5&&cxbi8f!UUkd!M~XnSHBWidvR`)j3BLQS^iJm-F~EoYW~^&+X3 z^9*3lceeqOK4gV`BvnztPi2Ip3+(F4A&9kK9C1Q2qr z2pMvA+of`)UB;~90&=d_T?TSa`Drh5iYC-Vik$cUuL)W^8UQM52bXKZuh4pzDjxAz0BxIm+tTl^mq?u>V@H2t3zqYtFZ};Jz5V`DGai zmbgdb_2`3F0*{6St0H8oV(+u>X08%yvpBgwmitWUF*yI}YDfVYmxV_M@g($zdPZ3M z3F$A-YdkEh}D%m3=FG^$99wvV*6=xwEc}t&eu-r09e;2HrfCHdcj#Hg4)Ya55Sk#Mqio zS1q5cJBabT0rVr?iR|X$>si0Ys~bqpS>5Q<+w6YXiIT<^;O}&cQzezmjjo;Cr)!MA zTE}5d&+eV5#r5u{-lHVX%`WpZSLT$^qvs9G96@$Z0pr~~QCgJj{$~$#FYsp%sGrw; z0Dv9pcMk*h$MP=Be$%m30o1_UJLq6LBhP*h%J{u!Sde;iJHIm2uU<*VoAyp7s`d&r zvagKqqmX5zZ*cxIUiM+$uzlpzb3W-|_FK~V2NQrLs|Krkad;*8x&yEX*|L?=!e;5D%-dP`yzZVzw;_uju z-)HdK=l}fbi@)&y*Z0ERPv-v<^u-s9f0kSHkTLsL>-aWQS&(qbhOcog5)F zAoS=Lqlvsbi8s!vNt~OT7BsTbMP1zRq z9aV=O>^>`zSJt}}%7758mw4K}_Q;{9hd0e4Nb-x_CxhK5XW1uD zq(3=5_+*qmsnI7Z@~ipXDdBZR{ulh8od0a!poisu;hb;Ldj28$l#s*9{rSP;V|nZi zaE*>{l|#O8f?bAPu1madAC-#_8^k46S)T5~8$a`V{W3qiu6*mlKlwc!C4w&O@qflD z^U_^-V!U{bhmU_N6yAA9JlTY8eR6ZDaSOg@{y+*e8WEtl?FF8@y09Bmc`F~XacZ?5?IMRLwX zNrP?q~=V_&@ zlljnf(@$uK-OUm@$;uF|aNmb+8w-{CV|FQr#s4=Ar3sSc&3a62Vet(s9rsagB*E}m z2*T=nD`k>1`6J7fpk3YClE?XtA6+_i2>{;l&(S&FfhPc92cIzEC|e7F@YNk31LGM3 zvS576MLvuZM~>Y(76V9A>B-o)e`Kt8Pu|V@%_wjA)`=&kbAmS4q(?*EZycoel(y1i z`LQ$c#e2M1)|4oiASbXJR`O(OHTw~Xy7NLaUs3!}Z0U#k)SX`+do?ed%c`*2JN-xj zaAni!L380y?J6OPTI2Wb0BNkpd_jnb!NKZJzNk_xy~Z^r$yj)QVjX zBjxwI-*4u=e#&DdB>Fbpy@O({XFo$Ml)Fh>cULK4u+Fn&uhkbtE^s6Hy ztjp9*15urryF^r$hKFd76s*B(Z}uVTbo#Y{kEHnu5O4$#j9GZHfi6UPI-{7%^)uKw zBPZNK?l~Z*DNVKMZZ}?E&$Jtx3MB!|! z8A$pr_a6J(NugOYRkQE&PBwGHaXC$8;aE#a4#`gd&XGpH>P2{k8>T9UzLEp5tyQ)4 zG#%b=iH>9on5L0Dq;Kh#SN4t_bxRH?^S8^xo;c4F+ zoAV^~<#=BokYw-C9mY)C)(IsV6xyQl#Ii&vO_kfY3$-oduc$cGW>!du{{TxmseH}g zK~f#l932K=#^v^~x&5T({pu1I_VAGNS@+>W21|JtM(VVbiA{q!6X_p(bnAtX{)f9E z{X<5G^f?wh9B+X1-^del1@|nDx`-{h;;h_wxBZi4t(UF-$N2%t7mj;*Y))!KX2(*8 zW!(+Qyt8-~NZwyvW-RmQ4_gO20~V@NuIO}tK@|>zLW#-p1OV8%low#@!#<69zYA$! zSMo)`i!n!$-iiDd8p@sR$s6-oJ+}B7ojb~4>Ol+R1ONu!>4)`+9S~pMYSk|ZD(@xW zL=p7>DXLIqP?LSD^4iIa@js|aeb)pU2X1Q7f;L5bq{?-Jq@$$otAcCo`QojY(bp-v zn26hsaXgqp;=x}Tn4X9hEpfp_w0Qad$eM`UIyVtPqu833zN8h+Sb(TH+|wEU7y=JR zAn=n!;1LnH!0h~^JP*w_#Dl);+M}ZHm8{ds7IB|z4m?jD)KQtcoVE(-?7i!uA2kV6;CgoWBI@(y< zsnt{;I13X*ochqX2BdpFdkk+K9Zgij;97Y{`~cjNBj$Rv`Ea(<^@Ra62s*%x4=fGM z8f~s8$0QZPubw84vWE`ZVU7w9UZ^<@K|`9aYa+s=t_7f)9)8T0*O54oaXGp2?*QsQ z>y6KhlPh$CJpRFG(?9ooE=w#}ogdOBSU$SeCO}|>krfWXwlR+ z;_6=x%xS7O&2zPPF!tAu*ya$?KKnQCAA2FWYPWV??gGCe|(>nQno~3$~SU;-A9TikNYMrHvX4CT9sfaS&sib0oEX*UGMCuPc zc5~_Zb#Vd$pGLI4uJk-sGS)K@hpH!YpeCKERG4!abt7AI{PP?K**8$DPC`v}q zki8_AD7$LIk?O@&`nEPyyDX`;?4#zJG75jr$`U7_*mlj5d9x{PQ( zIQY_)s9vZKQx#-$-r1Vd{JG$5Zzo*ERYAq%Y4-c+DnQOXPm?iM1vH@0oTmq<6LQ+m zVK~@_c%0j`pL;v&df6eMyoPjuT)2Yx+Qkyz%T_3uZDL*G=1LHt_h_h{iX0NE)e&tg zJwfU1D|SylL^H+`9LU&CL`y-EPL2}Z*n|gsP{;>Z9}9VIBJbpAoK5iCy~m^p!R>3eJ_}6NBf?X zKxZj;+J{$<^hUx*g$_rCcWO1&D9=lb&NUPgq6N!GD-|kcLP)?VB;L=3y}~((&T1`t zUZi?T|7LoU0|Jm6q`#=12+|0GL@$>|NbDD!!3Ci2_W^x#J~a}RO#aG>mnI_#Iv}Uc z(ps-hCyfnoR=c_t_uRx#Y9%&! z4P3(edafYqmq=VZP*An6D%QI0Ea21BvFez9pD^rr*osROeQWol8u{Ti-bkyrfA zQ_E|L2mIlq0ET+D+);4=xRq)AEof$FF|s>{=SBHq(IdoaN#Oj9ioXNhi@30Qx~fJ3#UEY`%{pLmz{bU zs(mekU<6T(+Lm^=s0;PQ>LT%OlJ#pXCq;gr)tbCE%>-EIT)ksOPD!Y3HpNGEdJmA5 zPOQoij9cIRI?d>l{0ilC&hN}y^rLJ$T!CE*y_4_^8BHSGiH8KZ!<|B|Pq#{o`FTrVY3gE56{ziO$+B9H4 z*3gpu*vt=AJzrNQegjuOY}+N`5D!FT@spyr54&L^GD@scmz>aS1-ORW2dEp}{8aco zg3(I1k;NNm*>Tn1if-g>%u=A=e9EPUN?`PDkBAeKyp|;rbY(OH#MgdVboS98b`on% zJQ?LIjQH!)!MCX+GnVb-LJcGsJ654(@ojGW{Pv!=2fMsy{OfW(?BWmm6a7cOv+Ek~ z*LvDV?DnRv-b><6ehu+F@XuIsy6im|!TEzIO|bc@a?xk(Z|bS(M?-+ygaHV}Ok;Xy zg@2l2d&7tf`C?;ers=Ot>_|(t+np8+H-gLfr2vj5)Ay@RJWa+MFo3$l=(`WIUrU!JE-o60jYfNQVVBMpJU6)ai?teenGsL8?!o0V~Te? zW#wKtMEl7-X;Ac|{RH?GMk)n9Bl_;~p>|*vEv9L5)#Db}eOq`;V|rBZT8hTMz8@VX=R70ct;h6`l&l|rN4Yw;y$ zATzd#s-=B|YS&yH+dXjF`TQLqk3duD$k3y==7wkW*Z~?(RjFX8_J!29Rj&D)eu*!r zKmqSez)}G#nY!57hbUXzv=4trG!L~e?5%x}68>{OE~-U#b5>irIRHpkT=TKr1ss;n zjHc;VeF?R_;A|2Xyv{sab5PbioW4z{+21U5De9zm7EV4ra~AGfnK28RmV?&vAaUef z_hdc~;wVc%%@IqzXW#AzFMqUrFT707Mkmaq&l@CQ#oh`F|Effv(AET!;VA#x%H|tn z-fbFBC%*L>1B@TY0MnkX%ic+kuOSo58oVuD*7*KWo;ki{-EJIJ^gJxC&Mq7^t2<$Q zV{6L*t&gEL1!ySB_10@zZyIo7^Hr@k4Lq^=D|BYdUq>T9>^UIY{_{6=hh56HO|d}v z8)Y2k&bu(XKZ~;ZGdin3t!JEw`Sa0nhxWAYKCzi&gz}qc%)33it*=^JHnn|*{`wnP zL$A+jYUPT|p|`dSWRNKhvb_o>T?2g{iyJ1sjxk#*p`SLwk1*&TTK?T>=} z*RwmY_OwjchqF2$JHj!VZk7ZSHnlrGQTQ0>Xe8w=IylLBvpaj5hi4V|Ub?_tet{-j zJj#azy&$tHej8K6G2|ZVNqsAOhO_U?_Ak@d(I~*=iR%@pqQjL7aDTN63)|)Guk**4 zOxi%%3E{#+u)JBT$tu?>LJ^j-qs{oW4|buB)Ipd!bo_U0^PuW@S53UL7CUTW$f3Ue zYljwm19qhRgmW(DhcdZ4A6JAPp8`wOS+;~TP1~bH-t*y<6ArM~mnE@Qkl4vfd zUWjRij3O$Q%Co|U`Q;9z+&GonJ&y#S3sG$8dg0%{qP!ZzUgHuDJ;^Fku`4utE$dX!<#3zfH%+YpG71;Pkj{LocNkUT;Kq=DST{nCf*eNF%xmK=g|8e z)P;j&k(j49Tcj4>3H^FE*-uR0E4`60JY5&?Xs_k-y)Hgso{>+|M$e?=VSN zChR~Ns#x39s88owThhA|`48WIGC2pm)diC00~?DtS5Fg2>U@>5BhER3eo9w+$Ua^# z3ubbRC75uk76*aa7!sFKkt-$|k|aD|pUhaM*IE-^d4;*%Jw$UGXlZiGtVn8l%?9q; z=nX#5y*H6ql-`AB*w;RnA_ z1g!o8W~7{CrCx#*jo}%4a#*NBi5O}y3?N(^-&0-o0`AkpBUipqz4)_leBp^`=)tX= zl~oq*+Wp1qvOjmE_OBt>qwAfcY7?c0RImMz-QdE3UqQBbpEyVnPhMU*hK>Rc;>t6{*}Sy`i9`DfLz5q}(@2{xR6 zHGxWg*`Uom47O%(IQvxqnrIEyFuq*AqUOKkqv0^b>q>JYSN;+HvNSaFSF|WgVHr#7 zif~zXxa*ApVa$5r;XA{*+v=|TYhA?~p_$*dez}>7#(V0@-iTDZ!YMtk)WzS3lsz5c zBb`E4H~hm$?%xCdcBEoisO<=eKWTTer4m9htU;Kl4|lyf0NszH@w`!g6NU3aqX`U~ zV&9g1B^!mZhDJ5XMRKqqpK`Wpr()@rMK`mNdvB_!NnBHEt58jR4~a%=08Usa)^-nA z6q>C)>iD70JfJr5)iu%|$&WmES`l||VpZN$ZIDlubN`f+A9;W1v>_Sqj^N!-_Ik=% z!%3C6^?O2XOTpc`EB6Sjp$9(sP2&8+h*+#%beJYFRF{;uy=O@+M~B_MQ*i@{%U`PIP`E2MQTI#mS2Ag! z7EKS`Hc;A8BLC@4u!J`X`m%&aUi)~K@TFI>Si%J-XRw4rpZW-vKy#O?xt6_}tNn!L zUVk~Oxy>hKH213~Kf1ZUy-0I|_iFC>zkdAare!yGV`g(_d`xrG)!dH;^#$fPKB2jS z?B)h!Huv-&K6-RTYVP>Gn%nv6$B*uZf5`&o_fE_J=H(yR+?DI97pLa$|7Ilg;GbcZ zN5?u#XY5`9B2NEnGS7U=`K=r2&)xg<9sa~m=+EHn{tV3Q&z}~5#PCV3!|8)wA<=+x zqULio`-M0Dj+cA9FY^cE8ET|={N^n^=ftCTeTX#*6OoK@w>@RV^5~F}9Q)bI?_2hX zCcd02SBs_f#HFRh`Yzrep;!dfcJIpbX~|!w#V}f&>&sto5fvo|a;L8XOI$SZ)m)ul z6T1mwtC3zV-i-wfFU#71Y5!^tO#5fKE`N#^#2R>Bl~%<`5fwyI4YIL1`(E-yGi+e# z*`0iFXHSne7h=qikGu^F)zv^WN)FDwP_XG*!VF%aasRwTk_a9tPf!|=FzmrB9|QtqJ(#MEM? z1|$@ykOZJsuCQ#x9VPMDh;y_i-c)*(#Y}AB9ZYs;LACU8H-nej4Emv00J|j+)|f=^ zzNi{?FVQ!yk~GoVD21zKLq)0d^fd|!JPo4zBFU0047t}C|Vfo|cQ^dsq1+#e% zQl0k#FzDMz4HHU?r29rbWKFDVq;@WGPCd)5{^Ws7ZqJJ3e*B&F!L4W0u9_T^-O8zI z<;H$m$*#D1c};H5iSg~#kGIlMmYnLvVSc0vY7>{`)+WA`JFBPZdcn09QU*4EHAT8; z)KKdIdxIp83AoCupQ2~eQ&-l;|501^LJf3NcV$oAmFrkvcGq3GKH}Cc&h)L*+Vv#O zjm14o+sV(uELf6}=&?@SQPsO1ub~i9>INumZY~t`51SIBV5`e!>LLRaa>4hbT6j!?g3~vDfOH((>FLRf`=R0*Zk)7NdWHx#a zL>y!U(GDI1q3ZwuX+XJ{A(-Tx#fUrBn;ws67|3* zc^T6hy1ka4qKLVCP|G31kC&=idOfZdK(3*TFCWErA2wy5+QeB`qz>fo>o^wo4aNR} zu*KcMKDI{{HH>eT(A6}XJbRw+|M<{o%Z7o*ta6Z%n$^@!a0DQ12)bQ67b2*5runeC zD_2xME}0)xT@&frT_#U;ZP}94{rX7YgiF4p^%WL9mA`;Vg zIx&4`TI?rlPVxjRH*{Sf-6f-~YpX-}7v3;)DSN zp^%>l5xypFN5BhlYU6L&EF`x}hE3#`tpojPdN#qo{Buq%nC^g=J|6uZel83B?ms#M z{igoDfAm{=_FQaO)ropiYd8$Co@g35rWzJWmbG4RU&rK@y;j3YGp@E`b6PG%;+;@> zSZ&3I>L+}uG!=Yvbw_Q*o1u9cSZ&#xzHrI`?xD6)V-8L;G=KxJY`y55#1Y3`-NDnt zrVK_$Ixcb16{*kaA;$^44sx{tI=~*=13q=~%asvI5sEjtP+eHaV@t4w)hs%9Tp{C;!8=QtfM#r*;vvw8L$pYIDalJ2zS7sE@h!O!;teA%J?@K3 z>wIy^=*O3tUP-P12Hpeh2rIwj57T@vasUR~!{?J9;raivN4L921$wlUM`jycM zbo*!jmHQ7b=+iakhxqM`{0Xji&w*iXmvMjlXI+_}rOSLm{)B(m{=wh$rHEMJvx9!F#0NJPu9i7+^WnYihg6_ zAyyUhrrO!7a*tX#BJTdB$}jek113&WIV0_3W}yL3P2*CM1Vu|vlG9?Ob&qbG6Gdc^ zY|;z74Ys>PSz8tVq|VI#yOatSCa;yrm1j$m3_O0X`sor*#P_^6Hz~MuT;y3Erx#$@VR>}`Y3WsL2mV^oi%gGr_jS7wxQMB za+H!POv**dI|!WEmwrXt3-=HQ%IVkBR;O@RcXy=zo5Ip-FQy*()z9PVox>lCuq4=F zH@_)B?nCbeemYt_nqLT0w7-d89eo0D`{Zx)e()=SZ10ssK9do0@QzIW9ph54ret2B ziega(J0tby{}20flh2CNfd(#qggc{`wcZ+j_P;;ZMDoo2xhwMLTyta2*9t)M75Q!c z&sb&MI>~U_McVe5ZCkyZSGIF@96xw`J&(O^i<8Ljsu8{xF0sq7rMkomqbe64R>y_& zzt^fd0*vxcR6W|VTFMV^j#UtBEnT#Lt)&Xl&z!g5x9#7&o>?r>EOOL?{#YE!K?H(u zep$tN15O~uWpiIxdNu)Q|hpj+>Zvo|UK87KCQ!_Q{9gU88LcoxWTZZYQ% z^4{`ILK?*|g%Yq|m?my){F&bMN-_QKFXeoc%>A!*?N^r&H{3j#@A1E|DWM&&P(uMh zO*gA^-QLx!ke(BTU%XW|ii{1hTi#_u&B0X)C;PF`OgXR>~PX><1SJS>ejBfZFTc8p+Li zZ`D~Z^|Y4fG!2mtDTta$Zz%|ZXaW@R_WUdhKcaoW?fUPz9Wcf*Nu;R;dbSq?&?x^2g1 zjjV~Pd|Xg@ac|{6Tiv&E-&xJL(KoL(abSbQ0V%`F!LMIRQ6fmsSWLx=<}y1Y)hENK z1d(x?5sQv=3ni(~lYio?QJu^m`+H{nR8>f~Mb?OY5dbFV^CWd}xM!92sqJ`C&al{4 zcA;Qne3u2}7e3f1w%o=!rv%lJV&)#pTK6Nxr4#kyo z8P9Rz@O(*0Z8@%>D*+Lz{zdL`9v4H;q&o(7yVtEqt{(ccBD`aR{A37O;at#sr??S& zaVqexmo(vismkHk;HGtgT(`N3N1-edf{-gWd`VNX!`^RA9>(J|4LI;HT+!d*@N%-_ zMsVyWe$Gf_1sxoiDfg*MUBgLpDPYEnd-!=ONzG9fQ8fr^?T z-ibl2XVfOX224KmVZt%FQ!BAW4Z(zXg?m1@I@VQU@>6a3s!-bm2dNHJT;LYxVq?+x zlQ(h4Oe;F0qnmyq%5-z>=v@UeRNDRTRnPYpM3TckLj3UatL+fQ#NHaIH4M&VfAX*J zM&>**43Hrt{eBk=3T%Q>aEuqunnLgjd*Za@o=!3EOXs}Qvpgr4+vB-4Rz|V=gJRy8 z^!xoX-v5Pdi%+pDDaRX@exG`y_xn5U;(d|czh4{FzdGZ6>2%)julLWT-~T$}{q^bg zf1iHep7Fl?YQ7($@4ugZe{IJ5pB~G51(v|yg7(kLc)#ON-s9C}{OR|{XT0B!{jqL* zW76;U%Xq&n-Ttuj`_${b<9{dJ{`)mS`>QkFzxW9CA86xGzyEc{`&+wsPe@OW_xtqw z_Kf%U{fPGl-|wg2Uz_oMqqxrl-(n?zG}3XBQtqJ{P|@9VaB@S?>V~ z!xuYNRF8ID>-P32W)#36Zl>d?8CHRYRfPQZ#E&ysO7bljZKjwe|5%5M53-YRX1ujc zu!`UB+)@euiqx>vp5J5J+~gnArUFIH+omak8;ZGCa@-OoMP{9-KqE;N$lO@z!;PG`chr=cXyRfViEF2fvc07114HG>&FIG0 zyoN!Xukk2ZYCN^x=UmLcLA=S9OKhd!G?4)4*n)Y&3B;1MZqa+6lb4=@S*cpss%VuQCR>&wI~O;A3jR<5ko%J(>v5Nd6f@{fKII zOre@nKCYU%RFfR3RRk%|hKhrwlYWPa+T8Y$1KP}ise27M#Qg@|w{n;p7sOcwF$qUT ztxGYpy|qXp%B*F+e;?HH5cevt=i!0=mTN?jpuXygaiya}-&;b~jtDmFi$C>b;4%mQ z$HQMmAC~&#;-FGwk>;ras+-nFY>W~PG_7*V`qO%cO>2bj8zT}CBGC9GVw}8XnrMGg zh_h!-FPIdoynd;#kdAFkDrq#K_Khyo-h1x}k?ympX`i~)ItV(W)wx4UF~CRTo;T5g z;e32bx4nId+E$EzW9q<+hQH$)2G{Dt?PK9m7Zr!wzuE}?O$@hBo5Y67o^=GBE5`c{ zN8}Y}O>BY#A6a5Nw{W;F%Fx9Y7M~r=SSBv96!|Ptv0>`zp+`p_7JH_(YVK%qMvV1g zafSNRp$=Wrn3@qzOal@-Y0VqFSddteyaonKy)y1hg|Ct1f>Ro%M?#M$2id_Sk*+rf z)e-QDaM!>Y%dNCHxk8Cfpc5T_kU=L0-w1+VxTTj)B;Pdz!~&h9{@ees4}tw<5+4?S z%!k&KNRDU!l%s5Tx8vr*-c_JKV|MPglBlJ{{Nu*5!<9ihrD`NYZ?#(`uJcyVe4LjRD% zs$(llYUU1Mw(6O!Fqr$hP9JmY8HDib{(Bp*$=^EP zG(u3~*6HEU<8KbK^+DZ@s$Fg5a~}4|XVRb=WBVCOM0&Coe~ZR;ye!P3aQ|yg>L>oU zr(}QIs&Ak8_-|c*n3&N-Di1w0wyLCh?$ASf=jHIHY+j=AaAWd2s1gVojo#Qr%*l1S z6Zx$5PJ^O4`co+Ej0!oIM|!{eex@AYgc*6u%*JVs<&nvEG9za)?ISBdK;)+?$xp~i z`okg@)alvOlqIP4X7H;vu~qsSOuLnx2Vm@L*Ng9w`Xtc1!#T61sJ}-4gCLoe(>C8wf|e zdRGRR=H2nhVDd6#D6?->0GlGg1_uOx+QT*EIT>sA(~5?wsRQE;k|1+C;tiv{^U!zH z*8;@XB4-Pfq~;wIGz=VyQVRkZ&FVifyZ(4XO+~}#sfFn}cUXFpz3Mdjed2rmfUMq! zf_j6ivmgD!%`bC_c~4_tYPHuvF&P3*OVl?TiOWe`tC{NpEIK%hplQ(KMLZ&`pluVs ztMq%osCC%+SsxU)dl<|1*g%H6_F9PI=bN0fdFw*vm~ytct<1~;Z$hF7pn2pqK(paR2Tk?|D=PuRsgn0!l^b`( zW5f~&OB~QsSGKecQ8W3tI=~O);}uib9S>O3b*}s-b>{Wf8Pv1^@x`xcLQW5YpN5u0 zVhx-9Ld&XF#S0hZ7mhX&W;D z6t<8VHxl*--W7ZZ6f!?t%7?N)?b+}V-&&vQ;@!!2!4{DV9AJVp#Hg$+W{78BoF=Z^ zCQevM5FK33JGR5&WRbuLbo2#8fE7w#Fp1?hiH4KJ(D6yK32q66bFDoHFmm6;7tbLKZr#y{&l@q)j0ik_`% zq-LvH+3Z|ph&nkvB_L6@=JOg*_GkD(;bV!RpJxM$bT~^B z2AwKb$#?Y8@B8`4-_>6w+<}#7XPB1KXd(|J+CxMeTWRqhJ?U_z(O(;N5R%AsjfkcN zrqoJM&YD2H5kHM|c}O={jKQ~#K)m_9KbEv$^Xk_fejjcR^KrGD&xorza3UB%aj ze2TBFPs!od=Z}yeybI=i%vzJYus<7>t?!pIji7-9m~7d~_vm3&&kJ@xju3XSM?C)@ zKgE|P<6*WhFEt?3A12%?&=*DC!|j=!OU-s%#Mc<}b)bg0q&J3A%1v@I8LW{opWs=} zB3YJ6F}QJ&?#O(0Bj#>PIhYvsTBE8%Vo-GmOWodk_ZzgHwij~H@S=ffI^nqtm+MHE z<%S%@HMwq@u>UNZ*so9{2#jF=Zaj0^!~|F{klVGna|HgeCwgU-0H&E&2jBG?K$ef2 z-lZ|A{OD7OZ+cD^%ljXex-rB_+893BABM(JW%u65`{@cF7D@12-YUaRZin~cW_>ut zJ~Wdk^j%$o(Ux8YrcUpDA}qXztYjp+WItBUZVF@NMBy3{zp%U`e&J{V_&^f_wami! ziUC{6Qu^W}_j7YymSiocMM>#=J`fDQPiE{CJi&5@w-Gq-$KPt0m?j#kQiC->?~Y#! z%#?_cjaq|r732S=X5mzURh@b;6S(}A{dA$TpDId;{RQ2EHTKg^T@(J5)p(6PzsIa* zLg&qPzu4JXS$4N^FZ-!%08)qU@Jl+;NftDH5yI{^Usvw+h3+5XiW#CfJdo@aASIl+ zp+vSy&5+DZ^L0(+cWlMebFHNbR-qnSBEaAxM>+PlQ4Cby$rxteA^z7(ifParHKjLN z$n~(%bUwXV!;^6PSMWaNFOa7@0S$=$HzlD9rc&*Q>|8n0SFpA!kp*cLSYj$z2!d5+ z@Q=picx}&Wm09dV?Si6M?eG3@4Bd86^X@xM;qO6r=lOGi z@vnCx$X=E?3*sZ9la}y6rz3^&5$1+RdY9S@9}#9O6Mkf1SRXCMDeL>p&O|!Z>WDs5 zS)XYVp`&k|SC_qp5UfxQSmNRKGvAdo3MKL*F})yEG$?d{+#ZRc++S22DjJ~s5t<_~ zNUKt&x!J>J=~ z{2|zhpna&O_m*By64#$7uI~=Ccj#Db=s3dCVN~a;tzjd!+yL^CPvD{gg#R|i%wwH( zu$&(_4+^5WNU`ffbA-PkwvsZg@=#G#k$!~vQKBE<@vxUS-#~>I6Q;*uKhpIu=n0CnY!M2 z34S^J61g)|BQ#SbnkhyQZV4Yh*N}eJ%3GT|aQU=Q3fE7o9_qj4tsS~RT6b<7#r~aV z;RGwH3gi$(u2}m$1?an=C9tz_a`Ra3qf(;`J@dQ1aSG)mx*YOTzLeuS|Lu7c0$L@& za>P=94GMPJyN3?_mdy;%@ATfqAQ)7})s0Vw=4I25WG3-1%SrlY^;ojG>c&1&56W6( z!9zCwib*Za$6-co498n0#wsWNTKs1}7*hl5^MBfCTN=Dm2;@l$X<>C<{-4Mh0TRHf zfnz%rwm;O$yJ)*XFQQ~-O12O!Bdj9a7%f{)dZLNp9WRHw{z-UIiE{yuspU?iYFU1zWQ2dSg|J?p(xoPKW^lfhN>FxJwD6Yux*&T~g37f!FZ z5$#I-h5qut$sHy+Kr>QM8{y48Ng;8~uoN@z@knikm(LVkTEyC&Vrf8=yy{C+99v>* z)?`vTf6#PnIJUeXy!Q2Q#pK3YNtkiu?s9p43-@qw(KEgsul+KHa&BX|{W}xYP>J{3 z)efc&wh_N~Pzt`--pi^`ti0s}wRISxm~7n3gS~mJ{d3;r`u-Jghd(17{xJS@{6%{` z77amewq;*?^uQ06w1#HA4FK3szqK>qU#+{VLT%cg8GkqS`nIaJ4?=B%5&=a;O;clA zH@EICX%2a(763O!1aDq8Qgl%J{3xg2dWS#lsH#YyO%z^1NJT(Z@c6X>dMvQE z{AC`-&?rGb%uWl;MBU8yZ(7Jb8)`GliLEYvOXQQFlO`3_!!pMF!m$h^ggE5v2NXaT z-i!171a=ZuSQHoA4j%i_%@a`)1Yp(!-+78~xzOGOc2#LjoqB?p>ArC`JxoI0CT2U_ z?t^j0vdt7*YD;guk*{~Ruq07<#~g=8^#Y;vn$LaB;ZeQ!?H>ntbb$)>smsE*fpB&U zMtf$TKKzzo{txJX{_iWD2nTm4@TPQt8E?rsD-A zw~bMR+w8&CIn!B94ZK;5P6ivV2=|JxOQ@!}hi!HZ_P9A;w6M#C82B558I~AArldLF zznAYikpGq9xT3F}Rl6iRDICmu+CB_qFt;l|gqDC5htY#pb5&9t-}{ATG*LKzmgYRb za(@>B`|}z#^Gr`dA8Y@u}qU>!>)i3>y!pPN4x=&nvS`14hOUh#4RAR)=j%oWIa*UHwwV56r}|= zKe!fT-KROEcqyml0z#E{Sb=)wwvp;1BM_WS*J`sRpQgZ;x>f@{Q?zBSLQ*ZeQ*kJx?p7t_{Y~(@ho{Ioz>$A7L#pe{7Mu-xn2>EIg&gu+# zuJ2E`K3jsK?D$CVuuAp9|7A4-jT%J5jpz~eY&vQ>!TA@W6%?61NSB6Ni#bT^+L01R zj=at;!HTRnrzRr4>#IyZkw$?bBCI~bM&ST#cdhPO8wjfYG7jG;=p%oqA0wO&I3O6V z86Ir7s;VSI2V{Lt9{#c7tsft1YhUawhIt*mO7N$3p|}e18T-asMv`=Ahi1@Ndwa$b zYO#Ztg5kzAm)b0o&8dAdYSOl8UsLBt3VtI5$&!xvSy*b;coPk!cwj>(GNw_zr_2SQ z@VWE-rOtxKFVIpKTLC}f)_eAc+P~wRx5%CH_9gN!`xCmun5A$TbcfHW3yH$p&aI%g z=>3Ifep5Wk*omN?$ZsF-)}?Z9%bfvddW<}ol0p1BwV?>wP2VT-KX{rp)-G{vjCE~H z`ON8R1J)>3ktkd@u}@3G(=AO)w^Y}sC1%*Gm>R5bH|)K_Is9BF5NFxv47BXKYTZ33 zH0LKa100TU4_)J+?=uUg90M756KhgccPOzi&yZxm<(-YJf3wPS zNU}w_mDQFgGO~Va-EfrIa|vLtBEDkP+TI3sq5nF>*BlX zwEOu1ftVEAb%*|ycmpaXFWy>B)@5Mc}@lSFNnb}DjlXgav-f6Fq4Vyt-jBF+siLu+Ycc6FViTt(aViQgrdEAxkUe5m- zyOv=med*gfp^2?#EGz|ms5<%H$LSZRIsAau()xw?SD>HDTp{8u2RG)9D?QdkU+=%E zvBL;g`}?#;vf^E&b90(b)^@(*$g}t3<29xu|BH*S3~Fh6*)l_~)aZOxg>O&AZ*|3| zTk)XWE|>TWk7`g{YxS|xcfQY_&RvnRF3ywikt;I1>)gcX{ag~%y7(4%Dg`s_99piq zQJwlM{w^+HGFVx6WGva$+X8)g_c-hNdt5XfuFre-#U#x>T-N*fWS=Da&O)Lug*y7Y z&cT0@;O{I|fn22c&cpQ<@VEGAXwpZMm`47OkC~L?m0$X*#HruDbt>v|cW9Pr(ac{1 zs`}YTAAG&y>|$M)pIu@T)nXIn#8z+?{wbVAmMHhy{l>rrEELRdXVX3ia_dr69hzb| z>AB$6DX7Io(e|^7@ydo~exItbBrUP%`}{VwJL*L$LH(oor_Zx1$brB{A|wZv9N@9jzc#P!MmYOTZ;#pDHj zXV2vip89!sYq91IJCps%uWkIiuRm{E9IO%tXhih7h+Y>j^=8r(@c~cvl_;|B9e(^? zl5HO!9;RUH8lqz?O5RWFh7Cg+5dTFj`!tpX&{<~M&B|l=6%?e zhbsC~X4&}j=xc0lawL-?Axfv>>sH+QIf=t1Y_cV#UDvAxb%S43m_adnR0`PBQ;-aU zGWH}@rJ6_^eA!^{>@HbLSam~>Mp)#a*h8wzNYP`aX1QG5oFa~(J4NEFYjyU z$DS#SZ9lMWKy@OrbH~QkT~*;jSwA+g_C$v7A&w16cIa;LnX|*O({q}~*OZ@IFzrh< zbEBn)m_2tYG7D;YLHPJE+bUOwW_{fr(8+6Zh)`8T^#w`7%4 z2u5*roE_i0XsIAHa|VcJ5MW2pPId~hki8v=KU)*u5?PD@T5XpA zSQ@{3{?qK|U{2pP%28VE`uoHY9K=`O~!!veC zkG|zPk!W%IxOpQWk)aUg)|J;GYmMHICI6LSbmCfa5ALkqu@MX?sXcU^P_FLKO`M1l z?%I-9Gxw^3!FX&7=<_q6;rgvL!`Fo#B`FGZ6Vipq^&&n~yqd{eF>tgZ1I~YLg*NqIMD_7GJ;qO;>qc`;fJ$D$QLG)WU*IzN8tu`GC>Pzb!=;90D)^A5q=(xBR8WSqgOd+!QCRvMuyY(K1Rpr*bA zKhk@#$~OBJ2WsAXc;gO9sAOBI;4UvZMSl7I$JZzw)lg70{*0yj!t+?i z(a|C4pGwP{m;yPu!4l}9*_d(|>3-M7Dvxx{MB<~@rdE1IbST9#wPumZc-7yNIcxp4_1f*slzl|%kOfJ>VX>z7Ah{4qmQ>)=Z7X;Oi?pbz z)hjG&s+6dy&5`(@jO4d)1jqWXU7s_yedrx^gI7gjJ4-?{=kO5$Y)4_!Ac{S*{!I=z z&5Kn0WlE!_ibyaM6JYo9^Wb4k+D+toLz@v<>Dg{S}F7D ziQ}rEM|9vKIzWeLt~#`eOjH9uwD{*!;0hK+-<3R;pU41oY7i&dOg*J8QNL3{cWk#X z*|Z4yxutG6f!tlykN40T-L4zFHe9wUnmDUK85y2oIxU=yD5HVUA7jm(7S;hdr&@&3 z%Tta(DhOP;w^lQhMZa~S-Yh=P!2bx8a^`p^9c0~5+koau05u?7;n&2>!9&K3R!ui# z)O2-qS66}ZYYfC3W9EHVA5{!&uA>Ti2Y#jN!QiKQ-m0RWV>9X@#E3|vg5K)>VKJ$h zRchi?Pl-kbimRUcsK@M=n;z;NU3F-sI>a%y86E0R05ukC{qqi=DB9UuAuv9RedCOe zL~X-$*~dE_^KE2^FyBsf5azqkI_h6_t_7aa+aDGoz$DDbg`r9YEAahLC%17xBUEhf zFe2$4@n4+Sc%iYZBHsrbicPRuq`>20j<)B$E52jMnaF#WtlM&vnq|@uH`CGVA_p*( zAdZ>SM}Z11lt&2e%ICk)MF2s3yTSMFfpWxK*(NnO^kBT7x%!$t&Q;8BksM9#OhwW! zP@TWwy|=o%sLuOd=p~&4gJf!d8#8UC>bj-`fz2dne=`ytTVQX@xZZ>~+uIIHOMd5S zKhD9MD$@a-#4J)2n)RSb2k9=U==ak_kAG%UPf}`z2>|T~=~YBPtPaf)x#4rZ8!8Ex zy&NrD8tK|HFx<5Vci+Zy6K7)X%YUbZ2n9ADttb{uTmuOC1=>iW*{Un+P7OpX%+LYw zB;ImKDE1@Xo|ibY6{-K9vC8GQiSr)M2Q+>hla*!+&#V zW?Q@o8cW?tDthqaS&Tt(=^W>B494ie1PM%o*H1>|@^Np*vQAo;Dd)j6OhYanhlc#> zMWp};h#^T zYFH{PUW^@rLOX{3y-n`@BlbQBBJ*Qo6Z!MLNi5q4RfjAv$@aQp-z7f%jUI3K9Ic${ z_m0zH8mG|Vj$UH+zIIh6;U=f_7u^@EKmPvHumq7R2_jXh2y{aURIeMQDNGa!PLlCY zPNU{aY``VZvD&%U0uu9{kh| zIZcRh?k(Ci5i_CmkCZJDryw_ zG~ST5SP>G8axoBMGsa_6Yg?`D^Vq6=Y_+Yn)*H44Q37feP?1Y3sI8tf+TtBS&HMeW zea>VigleDn&qs64oU_l~Yp=cby6v^s#*$9^fdDnE7TaH_cccG@Wky9eG0=j!SX~H_ zKB2(>p?iI0@S0DYvvJa9g8P*8PdG15kjx0V;nf5i>!voo52!;5_IFdons6e~$xY*C>{d2dV!>)LR()pecK)sm{~YSpEz zJKyHUAL?rQm1=4ZYGQM;YMS`Ru%;VbO_QvqQ&KgRhc%5;O&to}@FKOU>7<~h!1Fu& z_%eExOPv#3P0tpne;*{n{;lM<_3trm=-&cY*DcFQhA<9jSfjq@5seJ)vaxI0lmuDh z?G4}ORr=UEj(}rnx#;u>FK_RG@hn1d2358$9F)so;u-|5ICc4lMx0z?F6N7di*>v) zlLAZflW_}w)l`0wKx#9bU%mgF5KnWm{LUrTyQNP9QMrR?zW|~VWN}pp&~2}00uz;4cV7Pj5I%oPQK($`}5+sr<#35JB%108Ac(*2xXyFKCz?ZtD6s zejRoCJ3Tsw^o#9Izc^T0z>>F}u)NPL7kcg*WF(3<@1rt0J+w;$Pg)|7TSDYjZWxPI z;9{{b5~{IUj(V*vt| zJSBXr^rz1X-By0(e+i>#bmC7IpPK+pQf-ttDcbxOc$-oXS^qkp4>?_5vp?`(eNp}- z;`2}=B*SI%;&&lhoZvPjMX`iAT2thO`o5yYwLjw}^(OQa_%~jj>c^6=1^wu}T80Bs z%VmDrEq~JdFNP2ENwE1<*V$+uJ|=_DdXc@(?<=NU^5wux_}-qGg738pzbt(7;hoHn z*@}A9pWgYsrl#_H#i9>26vj#y6xJUv5-E1e2}J0jb)EU~W@Y*sA-M~MUcj`MTQ11- zKpE1!?|MFjMIFTc{7EYBa6L7egXO`=1N+EOem?gHWL&_{L|n()G&}v8VBuwmtI~ zO-i#3Fj?-f$(eV_=~LwY(dmlB1aIo1p-szql@(pKOC{XsX;rcf^8drj{)dAljTASjfw0Gs757Mg-*vZqJufX)i-gW5RHWyuy8?fP zhS9{y&BxRHz?|cxe|{j zug#Bp*A_IDPc(S&C(JFte{_OiXu6iO4gqeVw!lp-#zVA!l~>s>k(^qrQ_4~-D&GC9 zwA6#q6!9g<8&~%>e+SjQ$=|_s+xVMTN9xY$p_H(o9IpsWZ!~pq$^A6M{sn6Cns;A(5f^dF` z3ilwj=T4K>Z$3|Nx$8XeOUNe@c4g$AYNg?tlK7aKV*KA*7Ekieee5%cEXQS>lTMJ& zX`Kal0I|>DPr-qmEsJ`R!!=>^{w9g`&N50noqRnSx9?V>FU18qf zXtP3@S4|lO$U6f50<7W`H6qed^Wku|@8y7eT@FFOhx=uWaMSkezDjcrIS!#ldZ@_M zX65Pi2V>}l(CUzJ+pEfywHEN9bpC<*dgAlR-@EJpnJ@SS6po<11h~ft6S-(PMA56; zGH0uClsA=+T1@vjpA&j@{oiH%zgqp@D*tDRjekOs(l5~GMC*CEm7_`6eje@+w8u&u zC|Y>_OXbH~D)FKuMs741E3;P;Q&zuEyy?1p)jtSiWp`!+v+${P<$l-=A^XL@5!u9p zX!BNdVuyC@1M}X-63I*DxV;d4)bgqO-_5pMprCvBr+h><+jqExC?tf7SvVCUw^>+S z;P}QYe}@H#P%9%F?B1qM;kLTXazzU(FjGe%y-IXW7GPfFxL?6R_P)b$5NDF+6+ai6 zUBjU>d5koajvG9=Foj?EfpM@|{u%W`?^^Mi>aNRSo`25<{<6phF7?xF8TVcPms!?J zNNMn}ZIC$m-_u+%ZvOvE-Ok`q%Lntw^viaru$dDO zv`Fr3KWZ<4b9QE3CI4snCa(3z*aUpvzpvZWEqo-yhk_IY%RWL8$IB;IbxqVj6>6U8 z`}04=zT*2zu1Z_U1b*M2?Y^hO%VNo$vO=$sK-PargnTwmhysd|qgA1$)b|UGaJjs`1D1 zLGPJESh!+sEZ1ASRtX&EAK)$iA8sO7N4&+q>>A=Ne!_m0dyCg#facdf4uRhMzYypZ ziY!IM9jFGqysx|%5a@`y(;(2~3diK#3OwKZm%b?rzB$N!bJt(PZ(@CXlUy4{|63(( zXhTw2q=Xvj`1e-tMm4r+ITRSZuENj!Z$LZgxbY%S|00aPzx^k!M;uA29*u7br`*pc zs7HBYBJxj6zee*x{+C1fZT^V^xRHKwmEZ|gW`79ab=}Ydgc~1EmG`n?@@;;^%l573 zC}+Gmd{J#&;+2G1^zmz`N0y=8@RI^dKA&LGe$g;oE8Y3T^}PCP%!Z3qd&_4(5wZ^qq2o%mt;e#wcPaX zl`F1PtLj?ZY!mbtyff_tob_8|`&2-Msp-hP^K+{{84WSaT27MA2qoK<@h;W?qRJS z&T2yI*RN8s;2eA^FK=%u0OP&&`uJo@-;1V0x;}T1w?$E#gmdf|qA4mT1dAW@5=aKpY zmYg`Nu5M2KK8@Gr%+v1b>e86j>&&>aw9>xtf+dC3x5s=JmFTy zW6n}DUfv0VEHafv_ESztlOquC@|L)4^HFIRYD;#vXUPBiR z_SBF6`6I~0;1{ik!YNiiHE?rPHtoo%&vPh4|Gpli@F-G0EWqLrVY%)KhhN?dsLx+= z;=C&_`Br`I%q6@UUzb44cq5*A^@OZP2MVQ-{Txk#2ES_E)^30GbF|OABmJi4Yx86ri0Y=)4di6@w4-szH|c-y8JW2`N4A>{}!(m|Gq<4__tlLri`yk+yBH01l!UT z!}zSf;fEiBQ7njO?VUDB!y#Cq%ObVpQGVffBdVgurEE0;3fJAo(X!j?U!f7|Sdn&EPGs`r< ze8bg$w9+)S(OPBG%6!pRtt}!1zAlJwmf%hSNOGA)wmQIWkl?%4eXCk8VGPOXD3x)c zmOk0kA{znlrCe*#Vq5omX8X-w654+cRItY^9WGfavl3;mMZJ9y{u+h<8-UmE4xpxq zqgYj2;J-6Doot1&g3j~zz?zLuD?UvgIH!WVBxlZ&w{3$JB&;wZk+5AM3EOgm)25)mcHO}Y&aNNSSb9Ws*)2J$hcv0-{6fFowK$mi z4@2jv&s#63wgeCp;=~QqCQ)ijmoep|?Agr>x4 ze;*vD@gP0&cV`OMujm(F*t}2D5St;io=4Qq8D~gdj>}DWIk}2cX)0fSg(@2iJIc-N zTqiGpoIoA^M5?m&n?IUoAe@r)%^!5L_)Zu~un>-fKjjjk2Z517&l^?dpYB}5_l>19 z>dOhS?ay|OuaTL8tqq}r0sW8ji^d3XO)H6H+8qCQi-JCy-e9A}M*8;^o+;zPX8Ayk zBZRJSo89=AwKh?|P*}zlWINey;^X9CF+2s&*}&7eUA_V|&V@r2M%FO1VoB){N3+vw zMHfyJ9w@qa*%~4Mx}WJejEVgim0nJM7uGx*Biijmra3spq7UV_kl3$r=h19^@1pEcU=8;ja?r9MQ&jTXhEb-^i(pBx?iL9jK?i`;kJIHtVY z{%Y|f%P*Gx8O-C>GvUuyA+pb(1$nyof>-B#O^x1RjjUA&n03+{pM9#<-?!Y5L7#Kj z|NpI!K5GN|tPSY%Uy6JXeKMIb0>VmZ%$o;^zR8kvPY>mbnrt8XBz z@Yq}&x4*JVSj`;YNYTy_I6DkG8v)R6wuLv_4P=+6S@_Zmp~lxW4R2O1#M=(N^db`v zIL`2-TKykglz}7W>{T`3$fhuHaeKheYvsbv@?-{nn7{FFhWP0{e_v2cL?8HJ3isd# zUw9^dc6>wirSNluRU-Vj;Wt}S63C)-&4)o<}7JP5{!>a5^7bdqW&_68|F_RIFf z&Z&$};sb5qZSJl=j$M`C_UBMpSScd+T1F{Sb1QKU-`^q{YyhqN7uF&zk`YNr;*9G# za^^(;?pIT*3ddfSv8qszweWZ_>5WJXn-cJ=P;IJZ`epy_gscinejxQ}mR!bh|KU|z zySu(B?L;<;aV)R=#~)74vfT#aoD@Xk@_+NRh&{mRlBa}f=YaCZof3}CH#1ai^DoWl zWjlgqMS^f>$_m_Vi;p7oIJa?UAb}`67>OJmar6>5xK zB!WVROBL`O^G9VsW2&4K*g_FYv2eEyVWa>u0;87cVyjBh*MZK~6tFj#H@2qWXP@kb3ykOs zKq(QNr9u!IzP{jDwGdPzI<4*eR|aVrzMTDip(byJ|4=Q?QezFmP-B3hn1HhhRW0CZ zl!LBT(=9F-VwGj<7G6w_>-gx@`nb;JStrTtbLwKa$WzMd@FJ`M`t*G&g&WQUH?09 zYnn0syMX&PQCIJQ74G^T*y0oW9$4jz>U&_1-+f?%+2F?a05`r+loky<{`jYT4}R&u zB33MK^&d`fN8P|rbH5Kiz2sHi3PGGX+Yc-VPD2Gqtr+?ms z0PIE9-b}nRbWlirFE6J)RJbhvfS@8YLMr-Js-pbgWK@*RPk(P$(Rb1+x@;8{VV1G~ z`mYWmbYUtQrHWXeW6?D4-Un0_eBZDfiN8(+8|VhUNE@&GA6+2$%1d}|W&G>)fH8C{ z$Ns~mc<|Qui9_RW|8L@h#=iJ(dop7U%6E zZ|b_749JJ;6gZjV^zQ>t2x{(nP$67}c6i?^I|8pA8lvXhc=AZgj2PCtzkDcr8?nb* zdDTQpM1Nidfmf;_-)i`a)v&?%@BC@hQY_koGSo!t%)-#V;he%~v(nR<&``y=!}$>i z5A^4Y)1`+$M9q9z86x|7%kk-$`vNg?24X~gP;lfjfC@wMzRq)X$o9}>$Qd`kECE#>a&`Zsm#LcSG+<=hJ_Zogp?UdLSN=xmLR7aEK3MwEj zK160QHx_9Mu5jT>(iGx7TX+F(9fX&1{4IT#L8&yM#i8asLMyJreai@;M5vcYXcd^& zU=+K~uX;hkL69JX8zhbqUX)=oVRDV+R$ZVZoQe2~!N2Mzr$He3b(PuH>wDxEsobi{ z);aM-C_2`>B-r1cS3_YNPA1lk7D3P@(MOLyGCW@PynQ}I%J;o|7_u1_b;zL+O09J; zMgKYd`QP&YWbCgw?mrm&BZIN83G??@$m^-$`0pmj-1z@g6C^`F!4iSr<8Lal6IkcP zTNkiZxS^o_8yEqsN-ij_|2nanCB$l$)Z;tqS>N0)f5_c`HeP(Pkk4FFtR`Azymc}+ zXB7C?yVt2u&O#d`=T@6q>|f675Qn?1cYgEObaZr{v?tBfu@RFmXVN#w2;M2$hE#2B zJ*D3t?DYG>xsk@5i|7BN$7}DHxnFaI-|ajrh_o~YFT%|CH;+w+r|YH+_VwJ%@^jjw z-}yWEomu|NtgGkDY}#?f)nzI6*T(Myqu19lo4okzGn+msj$VH`KT-vFe|fY?3pAbQ zs8Gv7`b)X}qt~BmziZv^?CAB!=)3Z}IG+A66+c`*+h&#@(SG%DUd!~Wm)$_ia zh|LcSzU=mB(?7WD?Bb8t^5Uti@6i-hi~o8pFYtihh0*JuQhAeaGs~y*)r0!#4|-VM z+Gt0l#e)Uma%RTOc{?Y5dZx#I9{iebueh1%Q+&-_NYoXV2vwN90|C?URQr)}v zv_HRQX8F?gd1rNp$y1ssA#oKi}2= z$b7*c{5U;T|B9zF;D7Jv{{a4o)nDl9ud(`rA6;jL@L!Z!|IPnN{dW%#eqyfv9rc1g z_|clGKRdJjWA|8p^!gw_6*{ek3m#Drn*XiCuYFQstRoiaLg;JRrbVodlYF-9$%U^X z|C>IE%$pMTh9ptek10g~_Hv%_R}Hg_BiF42g9Jzy#9R9l%mG6^9p>|54^e2r(aYPh z7C+YerwcEuA2pr+&9hTZr3FU??4|R}zBrxZ-&?c5MCSe^cpN&)@W)pO`tg6{LZ|^A zjgENP$BSkpT61>V{Nntu`hQ4<7yD;c1A)Xfc3x!O7`A%ej1zCh3F^}@vN?>n|4F)| zPzds;?yH0u;jR^)IJl1nZhW8wZ{rxFc7WhF~nT`I!_|8ei zpEflVb9kOS%#8p;xX4iq_T+7{Wb&qPk=IG(n=B}f&T}%v3yI|Vlzz#I>rqxc6-93v zrQ23qCv3Tq|Gkp^+4VS4B>0Xew^>1=wHg~>ZFH$N@y=|kV*mZp$=p_rCI{2ARijrZ z1yt3@XA{}4cJW=jfMwC>^@`x6lH5cqk#F-c0aizs?t+n5jb6=Hm80JczB=6-w{I0` zX3AJUSX~)SK&G$OO)_7C41j8hESxVIWH%V-JMa4^*zN#_0b#Nv5XUNuidADy8Rf)X zx{x*%+Z4}!o`kps@zMAzN54=xdUa2Vs`$tk;@Mjh-Z0iU5Z(>Bq+rz{GnK6~h|fK= zQgfi}eYZuhLCh`fd~y{M_T_6ZpQJ!1wKw zqC?Bbg0P)M0Kchx-?L?)?^W3`al23BSzUVt{@>e)PQm|5pH|H+W8qNo9FgZtAHm%6;THSH-ipOCc@M_^%?EidqXSnB#qaOpUM-c-&yzilGu#s3zKUA}pB5ww}=| zg)hV~_csEpzx@mi+;*u1f9JMutl#_9Jz)KJy-hPyBprXx)3nR5e}!5mrLWzVlH z+pYyAyp2LLqi0-W2W$eub8Olh|BJ_uCO^rQTd827_=(O3cz2p+NN_$tb6mZ&?^%c^ zUj9{CP1Q2psF(JbXf*OM$Vz;?BjM$I%yKZ(>^`eRYe^sbtckJ^e3EMFm{4d_Dy;)y zT!MeW;pqtNd^Qt}4u3{J8S;^C9SNiVbH|)4B$^i)b`d_g-)aL0rYyPkIZDl84I&D~ zoRe(y<4C`Gib=Kq{;Zc&J8=n8&273(muee+Lax+%n9+GbUt&FFM40~B z_xUi{4u+jSFM-!2G&f|Ik|69{U>K$ugJdmEN!GIh7#zt82J@dD7{Jl>gH)U8H(I~) z-TKuO5#f@zoj3nJxA5czS5`Ieu{rvL~YF4!0qV52s* ziFD%a8j%3{B~PhSF70y60IT-zoMiAkzRSS_)xygRo}_!T^k)w5)p}C{-p6*((!oJX zJ%M7If4qB3!ag`c?MTQRC0^bC{-KT@m?3uj3slJCw$25a^qf96x~E-OQ`Yh$)q&nG z`R(Xmxo~>(4+5Js%}b1StkW)zHSXUt(YpS#J6s3BriG&hUa?}o#UbFLPaJ9j9>Ln( z^B~}m00E_`NV!e7IpTM$M_pIDbUQ)+{M$#RogAZ4E$ED=%?P7^zI>Yjm@QGSKhzO7 zh;=@X1NNmI4w%#|IJ+5OLjAI579;{-+$>N{4jO-7;L!NOP_;PsodB0#*!}|7{`B7M z*W60`J*f$pJIvD0{pW6V$k?s@?~nYywZH2$8?2W;?$!VOe?$9W*kW4$_tgHr|Ht+h zxb~;_ZvVWkv_CQ+hMxAH`_Z2IU%1EqN3Xxd(Qg_JkfkFI{~qxqinLf{|18~j5u;0KCaf72mB zO3}_~X@ncl50qQb<9VWdVatU@BU=(hqnPzYT9;KkIF1C!gBy(etSsj$!<{Nvaws!I zNjY+qaxtQingMVI$Tajt^)c&v9=Z9yPSt0u5dcXEkcXndB7Y5OV!E|8=UC8$n2M2>8C;yK`=O&Ya)w3jp3y^Xk{yFDNTasuP-aX2zx@^_j1KA`U`aIZ66s&| zjm~a7+;g+)4t0;c5l`P6gj4%*UgE^G_0i7XfgQoqd{+W& zPgtloJFI(ZwEj_>2Dg^Mowbr(BFRlB=SG__v-%2pp?fs z-dmF+hW}+}_Tv4u)_aN}V);VR-kVp5R(Ylur!rFS{Lx10pXa%ey2_u}ppk;YBi9Dc zPW4Odnf%^Hvxs33?(e+3v%BkS4tJuba3iJl%2; zopY~amo2*un&k_Ypl699#;p4!5?!jq0c;i8#V?%2KeGbhvUP668kX<`fRnip^?2fn zw>YBep|i3pR=l1&anLKe@5dEj(O@1rtG`Zq9nVb;*W;tlM<4s>5N7Vl;s`uW@CsA6Nglb>^lrIwe1SpFE48ejQ{*4v4XJt;;!m^tm<doAFd_PGdgKvcVR!M51g{tQ%|OIo<)zBlFsj1EKLDrA z>ZR=z=^Cz4!cFue{ld9~{#u5AW($-2=3FLxvSVz!znal%Dt|3T1#Jpaci*ce1(mz+ z^~?FE{PU>+x>?ouAkXOW@APh!%>tO*T1L9vp7)8{wf>10yPOKu@z$mK(oZtNlDRYK z(4wLEPa7^VX8*v0$I~PMty2V9J&9F80cTs}+HNddi~RHxCvp;OYuj2X!cn$-yjl+J zeh%L7BDD==Sry$tB_wJh`1_xuGVzrPygDY{hN31Q2BK2hVyFV zA|sx1jbbfekgZdAVk{}_$M&91iDt}ya?-wmALp#ym4En9+WxIO(DL!0++&CjHdcAT zwIf!@V@9H(xT*YqPZo^~COWKG54#4AUGGmEn~hm$Kv`K|N36-z zLZa`w+36Cz_1Md(QzKhTmpe(k32x%=wZqhlOIt21x(vN`rbIl_akkjhr9xp1ziLwp z#9Do5R{9R+)rCqGs)oxZpB!D#KghCDIt*jO-6n&|)~1bsT-ACyKIcmn0$Eg~o0xW% z!SpWG0>q_7`4tjUxSC%UV!h!x`)m71jODv^(dJ(pvZv7xw@0G&E8qzOfK(xnn`Zm? zS+;%Klxag-a4wEWZQrJ8TF7QwE+Ki#E{_uh1Jpux$3rK%~IznPL?kOD*`3EVtD z7_6o)9Sr0}USEhX*k4tr3xm|0!K6AryZ&7Cf_o^FRhNJc_c`2+kKxW6zw0o5mc18k zUZGk7RQP|0smd2@4MA)FhuKG&gQ8wpCBaATD285Tq%LpmYxrastA3>f?e$G--nnvv zw3eU8rSEUYZozx6)s)`fqF;DEFS-I()dN<|Pu%t@Z^Q(vW*FxV-cqz(#o@7{pH@a`)lpX4);C;j0!FpD z{iu<%e#aLb=N`D`h8YNe>hxO~X zKNHl`o9@qgkJ5eiVfrYYMEr*vrJ(}aB8vv@v->C+E!UMvf>t)}%&sGrZIE(_OfQ=H z(UUoKgE}foX*sK_fAXr*kVn|O3`W_8=T=G>y6-;H5cH?l9fI^+2)aX8FLLk4aM8o; z-kpvZI;{M6mIy&&`iKJA0ta0Lc0NAWVW-$(r{g$bhuuZC54|TDUW0#zf?d44x7bvh zNxiq&C+T=Ol=u&amruroc==cU?s(~|ue~%<|0{z7e%GUnb{^{Zp3^_aNH}J!K|uYp zp#E>fS{4?46M~;TQ5w)Bg~r|hk+mU8>-SUmD&jBl@Gax;pPsV?L)-SVz?-C_pfHt8 z#Qu_}>YK5TR^>*QnWBphQ>{I%7|i33d}I!yD{>Tl+ld|A z^(KIU+Ic2)x1e0XB8xpHEC1--P#B-w0RwQfi zEt=QN8AlEl&zvkxW{)CYcst^OFIX80`y6Bbt+U1sKT)6T*3>IAX5 z&6DfGK#9-(3e2UzEb|Jcc!PS}RQ~kQs-C2ROReinx!NxHAs7F2iw_CV7VM($-80*5 zX5CvG^g+!|YN;NCv&iYG2N5S0x(2Ncw)mq$pydE%Joz#Bya?FvUsXBa(2p`3wffDN zVL3p2qo&f!$u}FB{bRNt!J=doBcJ@CQ*5pHO(rb>{T_gddk1}m{69yjzXv*>Ve)zd zNcj~e=|BBdLIMzvlD*`OfA}w2IcfL*m2j}e1slqUH2`0zmb7s&63uUkkk(2y zze519+wDAAT4G&B4DqDH5fAv##=WWhID^pqGBvnG1fdQZ20)3a8vj9}O#CbV(M>(6 zNznb|%(lw1_0gMj8WY?$XQ)mA_L&^39=1u-VV6{SaF`3A`A|0}G>FZ@77B&hVzC8y z1EC9|s+iy0-!X_>Ek=uaNhM%>Ssy^rY^l%(bb-Y;tr~o=2Q}TvuLrY1L`DoV+$jzm zmEulQ0V5&qRIQe#ezYRHZd~(6^Gh68o_!~*Q(+A~a>C1N9s~pQ$|pZ8K|PzEG(ArYrwWkg)zRBim8RzZWH)AM8PlIQkgn=mUb(qO!-I z#!_eBN0+@v*NBE5z-DN%4#HP4+fWl4I9aN_XQVA(#lPa&uf$h$b9&GxQLmW~<6aIL zJ`P9kx_)dDjV`^7hn1{luG{9~`{QLDM3p-1S-#L`gM%s)BUexJhU`Nm=75ROhldT& zL8;TIV(zI`-szvG3cbL=K~Ltk=A1HfBIoNgpT{UiS1+eK44C@T#BMyN0*1ffG}_>E z8Z1WFT?!u~c<(r|9I^Okd|!`<-`{}p>y5bf&BA z=R=uJ%QP{a7C+T3C2|k(Q-)Qg;gmtVq6e#rU;X%>@$3yYc~IlNPC~Q6iw2Hu@0_bK zgKgA^ixitGQ)_>Ff~xFiiTw>?d*Yrv@=(z_fCassVMk_~eR}^T~$c@vyVT}A)11h2qpIn+K+c5W1;-u$d zUDD#r6&<F^^z4`rU)W44tjTH_wEG|v*TbKI$a|9p5Ixd+jiSv z4F9kf$ou#FwY=cm4>KorIz5V$Ae$3-qD!>_SaGcDwk6adoiV2ly3;s85@Do5|sNxoGhU!vfFLgb|A!v`IdD0^k@ctXSH9!5he zabHiwgEpz`+4?*C#1(!OFybFz=m0Z2{TGN)<5+Qjpb(K{13?V`1kbGG3V*x3#(}ld zzuRux;ZIxa{Z5N-YZK+=`uBVqP9DzB-jWtx6^dAcb6w-E;#^1T){AtkGtSli8k}pFA960?C*L2lD?q*pw6@OM_sF_z2ps+o za`tbnI6gN0($w==8nA{+Q_piM zR>g9OGU%|U!jmpxSh;XCsO7dj8 z2p^CEauP{{!kvmYC7BrZIbfPr3bYPP>nDlpa;nNUN1Jk>8)IcSde?=AWce z25`!r0sQj;y8&34sP`0h#5MI3$E@_T0diL+jyD>D{|GMR@P7ZsH?tbnRy6aI89J=_?hhYowyafOoP zFxtq*16EDwMM`E7asI=QH(yu2VpeKsv;z9z8iJ#=wFG5+ak26=*^EmX^ z%f2%U?R5bJv6a~RCd3%M@qdCx#jQh8v4*vtpCefTb$(Vc9{&Y7A@qUBks%Uw@@rUh zP4uyM4@t&{@FPFE220FpC5~%{3^o10hiE^FgZ=$YujQ(e;&?WP%eIdYF7WB5)_kUY zMVve&@ox;4)uj%}xO61@`VdHVAD~Sq@f~EogTx=b$B}q?`PQkF*M5xj@~d6>u^HvR zki_46|4Whhw=xIFjnC6genPkkbYy&L!EXbsa-r7r8-Y)rGUIfN{Tv9sw=_L3xW5KhkVtV-OU+&t zE!9KX0=AK8Z4@$zO*0>r9Rj>@-et^YZD?X)QFHm6XMnx!#NM!v=mU21)7AKQD(*uA zh}+BtF2K9N9Pk2=V2v_468nBCfD8l@CIy@g*z8+eUB}6|!H3oEoO4gDIoje6{9R=Z zC}c-wLxvY7rNnMbPNeEI|J-F3&2I~&w$709cv0MFtEs%=0LI1Q)69XE=JLWn!XtkL zJ%m5K;#gBHvyf!Vw392|044PHVfkyf2SSpu%%_UpKC8}u?XK&)`O&IT_%ia-i+pP_ z^70oa?=CNCuvomrF(LC5{n!2?Jv>Dcqbx^Quo+y6pMHOO*TZWr8|ZkA6OUiW3*P+K zm*EAX@6H2J%tB+PkE`pyZLP}4p9cS~g@0cp{o!KthfAeDpc`tyn?A{jHvi3NS}MaJ z$A}4DY5pD$rC0>6yEeJ*3VD{!{hlFj9^CS{I~}(yVO&cC?mFdB%8v@m)7C5n#TM|u zEtM2Xx#P(}reArHtp{@m7Jh*O|HHk5C72skd$NZmGB6AlpaPOSx2CkMdfE$LQ z1R>Hh7TE*bSfoSNei@J{h%db-S*|B5exBZwFC4og{`qCbuJaPd$KCi`xto6CokJ~e4;rBUNds^*CDL}{X zm%;TT{^We7e%OBAyt7UJ5dghd{=tCYpAQ6@Qz$(F%YSpY)fX&pIO8YgU$wV!%u9D; z=+QM5$@n0D=!=fi^e90oPUF|V-HWxPkI#Hm_4Hjf_y+3s$K;0<)S!m2MO{&}p{@-6 z|5u3&yb*V-$3EV&DYTFM{IHR<^YNk&#ru7&>+^zjq7{?;J*K1cE$`RL-A zTHGo`%Z)`pgL-2vj~D%%E5iORO)8eu@8Jqa)4P}*FPxy+;a0JTR+5) zLueAwhaR+A#9!R9@lU8k@lFyZMC{cc#FFuQw`t`#?|m+|a?G+Zi^uD`j!RIrnYi6# z9LQWezN@HFHDteD<;`;I$1X~qI_u80rArAKa2jSIS4`C@L>8Ei)w7CB3GK@V=W}2$ z4J#9^?pQlDtro%*=Kw|r3Zu&oWr9^UeU`IGYu=>>d8EuB*J`)YB9GnDRfOmF(;k;g zMbm3JRoUw*o1Xr3QtLhy(PzT7?r5{T%oCFvDx#0QcgV!D4HGe)I9ejVs`(vTRDb1G zTU6i3#i|ZbGqQ@z(3v=?%6_J@`_C-y46@oMw#0|BG+)Q&aNuIpcV9Ne*7%_k;ASQ$0)eDvFMjPharf8 zpuY{)S>+LB4d*ko92b&?V(BD_sdbf2I|j`wL%&R*QcT88WP$|s*Db8qJOLN~{xQfA zO5p1ub%<71@27q(2u`lh@se5D6)lxH(Pt`>XQnTlV=1Vilql(nn#z@MOQ_Ia#NS`h zH5kydq7U6-d~4bIy7?T;w`1_U+7=R+3m&asOC5J3KYrDpfG8V?QiK_bmR74j-I|!? z1OHg1o>dM75INskuou~cwG}H^r4OM?jPyYkw^E@sfYF! z(lR@R)(XnlUo;S@iDe+E84OBjRXj5xIlcdM@`UMq<;|pB7lZS7_8Y{&yb}2L1;uvw7?H9KEfWQXoK=kSt*rI!RRY@lv;}Vb6F7HC*$W(tW&JOxh=I_>@ zFO-Lo*S?HAWc)gJr8)EWXy0xT#2M>%efuYc<`UVr^$XL?*vQ3TM8SCJ#$W%p=#^JK z`xb{m=k(L}#jS%Nh+zy<`)r13fg)LXY;&;3;*`HK&E_2bae6gwAQl}@v%P(XHxdm% zvsIbRN-3sC#faBFRaF15x#)p7lUm$Rd zFBJ86SbeP0Sdd(3MUKh(_g3VyPdTm^Sdp!foi`hI+hrG_uZf(jngBi432 zt~#5;k#P9m<>9Lc65D&Y-_N4CAlwIXW$-7bSt$=GTj$(^P;K zydWQF9lMaTMr0v&(SDy}7X@M$g@@Y1$Y;NI>@VLx?z7EqQ_@uW>NK~k=cfTlpX`&2R`UO z_D|_C=x9!lA$(&YpfFQdAjtAh`fOXb|53Y})UzP_Ic!LY9QIwC)Q8(e!)4FINezN` zb50+(Ic<*j6;avwZeNn@|3sftq?LFhV(rl9f{qk@-oGgT;XkI&OEEo=pYVs-$Vce2 zMB}C0Bz-xFy~vxJ;6F|Rqv{L9Cilywp}Ot!_KR%LHWcr)cTI?#M2R==DjQ!T_b z@OWrxs8w#GVM=)-sou-oQ7oMmB>=Cq+np(%DI=g7NGh8?bv~kD4#43CApRR1MC^`O z-&IuE^dvr_mwWa^;3Im5XbyZtgDRqHoEJxm*ddx_YZC}Xf-`U_u_zTwgbtbyw@lJjo1gp&Sj}YiD_KKI(Vy@t}W;0?S znBM{e;SOF;#D2KPuFh@`6zo2nDnGyjI|;`^k2@uBiR8#7(nuYdwy3#8PT8YNWYTYB zzKK6BIJmc8M3traMIv9yFY@B&^^OHQCKvJheMf`7>dmPdLv8PG(8y=P)pX)l=u^NOLbZkJCYYxEDl3fqTIgBw$wNW5CDc z+zYesbMA$^4iXwE)62a;@jl%P!*ZNmUM(r;fJ^Op=y5N+^Qrpx1@47!5Yd5qVZu!& z!p3k(x%JGw@H%~{GWP=XXZ{6qEd)*mHX6ylaM!(oe__jkt|RzK()Jk)O$Qek0PP&UMI-Zt_h zt8PF=W9f-?H@T%MGBuQ~o1fQty1+De2&e%I2z|>Q@}7c0$>E*n0BpxQgMLJM@u;Ug z7XhfNsW$|5t-Ci+w{b5}^>cyF5|2y$0h~j5;+%`>qRn^lx}vcmXI9;!PR%mh zw4V&DKU?pwxU8-|pA##2d1d`T3Jtilu0}8BT{0_paoH8_#btG;+Kal2+Un1-PwMLH z6Z&Lc{Ui&{?>dx<2iKRzpE&WN`np+H&izJZS!w-fmCdcYroPZQDnV(nP!LDaIarp~ zA(hFs$oj5tp`dbzrS!vH?{QFvt*XBJiUepdpi7?8IInDrE$glu#r_YDVU6T3Gx{8A zm&|hEE>RS+E1C;=|PjU93_OO8z;RLfcp!Iu_Q zyY-m_8_R3zAJhykk)tz~NN%(!(slllZ*J~x!+B4_af?&dC^HLV3iJY8x~)Bdhlpm_ zLqOX~{{R@Pn_&JiF9h?a^Y7t8hUUi|ZhovD zNUclW-loc#9~*ULe&|}+@ic#-@%yaJRTGPjL5TD?rW`@1w(IXF5=O!sHkm)ZRTY`@ zFu`P92VfO5u<@qyCq5RpBpc9;LCIY5E4c(2`qIhYlimepFEZ{I$dum(-=Yq=Q#4z@ zcRvN2*DvR9c68#4NyV%sucGL(peWW{WaES6_MI0zXuykD8h#&d{oXx-O~cx@YC=4_ z^){<;%b#3@ueP-%w-C!$O)c-84D?5-7BBB`p-L%oKK)2tI5|}xI=05JL592>z1Wd5 zVF^x-CmR@E3!1J$#U(tCS0!y--@@AG8`mGdN+C3X`QKpv;~DM=l~9|1h5KbSkpPJJ z``|rQ*5MWn-j_J?Nxdf_n_$5IZSWFvHzh`#ymxi1l6`l{kNuYkiXe*;xN(b6@ea3s z0vaHK@f#xQ?}NtZWbGQ#yzz&0o@9@Ov$z+&elSHN*`V$H*F}^M+6Z@jn+JmrB|75o z1>lkBi1GGiUj5N!!e@%4K=B)Y;ycvCMwNhuT6Bfx?KiU_W=Um`>Ll+7h;_+R+bE;} zi&u$!x1@=65^7p*C6T@okzvz@NjjKT)x^&&Ak(0wr5h_9Rnv@A2jG|a-Mwz6=I6DV zaw1{>m`7B0jm~ozK0{4-;}g1+ZLhnbbDF*n=R^~x0_>jVGTf51mmsA3JP!K~zP?^4G{e!quh`+SRQ#k?^bUOu>Kkv2k3*P~YK+f6ccdXKyE7AE-+SSU z5%wj~i`=o${nX6+zg3@6`&F5>PxyaO zJIP-05BwGJ_28Q*3;y%J{Hx7^SP#+dfpLI4D4sY>|HO_!=xfCDJC*;d$NlQg4?G&% z9QLRPDSS)$;W>mTAv(BgLau-ODN;Pb2r7Tds%_m}PwR*|jxss2sQwi@jBs6AwW(X_ z7pt9q@e?t~C2wo8Nx!&XSM&?J_9ivv-C8U6xal9UmIsTr>38e3=){i~HFD2k1$e<= zb}*+xvyc+4XW^p3(~@Ytpji8;8#M15%M<@#B1M^btLfNKJ!JACggkWHX8 zoT@gJc#2)mk&9=-*(`)5`ANvsEDK@S8S4lZoa|9LV8Dl3Zjj$`_(QrRNgVJK@jyX$p5a;0 z?a-OWlMK%t@upMB4pm|-^_GBHxiwf>UV<&Oy!3lx@cRy~6|MV*ad3(Lw-o6Sp2Nb4 zZ0BDpU3cQ>^%co|D-lzbs1B8_?9J^~n!$OoFoxpw4dWDlKV!&NriLka(+Zl(yWZ{_ zoppaVbfRumlJF|-4ZEGp2y5fsjEzm@58F3KO9^PFY3#kV8{=LMZ)4kf`eDYT>q0EQ zOY57pKp-x!kNkOc&@Y;hO{XPKX_l>Qt5{VLN6^O#8IHbQ^?tgH4gB|D>g+~6Klr;* z&l%73qMlE?`tEM?-*%%OD7rHtGYXB3bdA^O(7l;$OLjH_>7oG%@67D3G5!_j@m(sC zzGqJGG23aAn*$X<5$~70F8vpW@O6t0pEo|?9d*^G-^!X2edyA|a0LFXZl9(npTItB z+PVML9#l38(}|0sv2C+!=TPoAYUt7HguMBLe>oe;c&03F_#uu}<&Q4*&s!m=#8JgU zB{b0hc`G-1ap(T2V2Bjg>$wsCYj^zbRw>a--fpKs@jv5(@ISl4|3s}4;l}s8$e|A$ ztM~|id7k4-H6jly(|RVYFSBy!AIf|d!#=LSO)>$HC(2$Hh|IG@QG#F7lOHMJaYA-w zl{_S8h+M^@YM|d;Ki6;vRcn2qT5Q@IK4#-&wQu zn4D|1cT6tOb=Bm;tWITJ)(tGz#a~M+z3~XO-g<6+qV)_iI-XllHF{mo`LZjbHxB0g zRBy;v*e=ZmZVue~fNJ8&GnC(Mrf$`I=Y_iShChQcY`xx2qiu4vYD8dA(Ph7~vU5TI z1gKzYq42Zhb19jNBY)BbZAEKW9I2J_h9=DLMdv6!#nxXGzVAhDyk9d&JH!ZHIhVBH z>SNriE2^z9x?~f%-!lF!s4>0agRS8S1@UrgY+BGxBnu+;uX)Yp=2@N#g`s)Z)X21^ zKG;H2%72vE6ytv&jRpPhXZ>F)FM_gOUa#T-6iwIWX4MyJ4gmOw(N#gJdA{E=Sm}oy zk{npA6NdPgZ8Mk_|F9QK-fw%lKmVM*yPq5vK&1KIxk}948~*7_237s#A?Ys*k=@ij zWVs=cW0!6+R16(SB4Dn}gwT?IcKoA7F8I!v$qgcK_$rZEw1r$?tQcUkiD;94(AB3M-Y{w|kYPbw%9#W-0Ilj(>%V zlALHUGiY)F_+5SVDazQxDG;OI)j<$(j^|>B)Y$f@t-oxUoPHF<(vwbrCIhCquv@!-iT+|4&q0Cg`(_5{^TA#tVi#mJNtRA=r7#!?jP}dGtbj_zd!i# zbY|aq(#{Nhxrej6JGZ{IMo7rWzlEZMSBPWbV8Ah#toTHjR(2xUFW%f;fACBu>50mh z;f)vx8XpxJ{qGLs*n)?7VdLS>DXH;q`-=_5u@~cWV<_U9-_^{-lgxW3fWDYl^*VkQDOAzIaK^8AM2+kr{^Yw(Fe&C>{V`Q0O0V{$|$L&%@s{{*|ruS(jC{9?ySj zzEFOf8|^T3!C~{q#NEe+83|^AtEATK+8oToKgIat->ROHpr38d3`xooZs%R#sxl8+ zFr-VK(g+hlWn2M2rVY&8n8ux=WfE58~6(bGWlZH z{gQ8l-T~M`t-l9QRXeCIa!_rq5>yyn>U{%^O@8Zyp7Yb@gvOe`j~en)4P8P*($8+c zTW#TqSq)PCcN9qmpS|0zI^6ZZ8RSCVZ-cD&{2z)$5Y-s;caXdL>OGnv|eSjdWD@k++r@fTd%T0-rtWT%(TwF(`gh}A zHA14Dg)X99N%j=0+JBAZOnsbz1vP} z(lSc&Rk8?qBQEnev*$x?%LZjJp{$r8T(;L($XEQGFk#IH#$Wk`$Gobcv*c=&&23}3 zQ7ba=JO6=KwsnvFNVM+dP5NIv#z^qIgTCeZ&qePP?FC~fmDnqxnXlz>pvI0YM?wTD z$8rY=4PM>>H3)J%{tytH0>c3>_V!Z%lKXf(c|NA}9e)j|s3KoEp|8pJkJ%v6OkiX@ zc_xn2>#Tr9PSWa`#oFF`O|c48`$Yij=9)L+kv~Wj&W5QrDOX81X?r$>_JL(8lTQeb z%0YuCd6%rMX#8~0{88NfkMP5<{jVOtuU~fU&EF^N_gwDQ5a;w4#RqL(d@W?F73@@?#(Lqrh^Mq zb+>!?fP45m_pr@O>DA$(G(q1OVkVr7R7Rn|Ojr#?u|Mwj4j+bb22O8f!b&qM?)+h2 ztjFe{@_XOPTPNawEMi;owy)`kh~K8G7hdH9@y0K>WQvY%Uj|C${})$5$>ERxeGAXL zf-fQihLmJ2FQdTNHU5tW>$sKQZ_!{AIv6>2`kXAN&MP0y4f|hSGS>0ZUOivTvM-kC zi#Ge@Husu8`x)7b5dwNx3d(g3Fcv`KblH957(2{ z0QF0r(ul0|r#--%sSrkreFpL4KUQZmc|4t>YB18)I{ds%^(>;+j{=$mw=j*D|9lec zVIs=GNk5QSF`;GheE7|02@P)RSfm`_k+gojPF?4026u8QtGH`1f**xiY~ne7-&2b} zbFrWg1%beDRO@^9r;{o2weuu8+S8rg?wouuQ#B(#lCJzHh8&mH>p%RXH*F{xBMqgO z7hQ-#JcL*15B+>C%q$$ZDpK@Py|UWbV!SK&{(_*KKRqZmd{yML7b&(X@`<~=tBd;L zBK`blf6ExmOaTqnnTDZf9ny=;8yR1*Ee9Yj`n@#EVSIdHHr-#VO7dY*1uNZQ>aV?w zQ_AFX1GUts7A6>f=){qx(zw)qG5_kdW+CLCdklkNfd=?$=*N+=&)vHZu6Oo9OvsLd zov)t_b{sS2i%_5Pk33wqn_6mms%B-%6!1UzO}ZJ-(?5s*TO55+`D~~P7)$jfvuebB z)kfqWb^#i$p}4=7{8^4t#9z^p;Z>p*wOUH6F?SAYv5by5^Xmoc+Xu}KeuhxA=tb(D z0)AzJQMEniOU^#b!S8A^`2Erl_Rcd>;}Q~*;dgPbx#2}7fv)9QNO=?<|JD!DbZ8ds zEAsX`2(+*61g4HyffeY873$hlzI{V#>NDi&c}WZW`n9HoHk3Fm^%pFBtG{ky_&@qJ zG&6TM*aV})??vLf8TrRW$&67$KK}1Qy)}H}|Em=RKrDLgMMl(OSe4#lhSgX#D#OZc zx02q?$x#NTs_cvAPaI)Z5;pE zqL`JA(~9*fkvy%0{I5az>w|1!8G*q`Ol!A3x&+X4B?4?^j@k1-rj<<^J3$(ZhXq!_yCXi0Q6r%zySv& z#n3fzscH*`YL97b3NaP@%L<)vft=Bx+XO7Ma1Fz7I(YABO2hjB?+fpG-%%0Zy&}N- zVi=a;J*6S#{nzuX zN;!LIqbkL}@-_ICH{u@=;$R}*dmW+uIlM2c-VTV0QMZ)hEQSMo$B0ZInhyT6AQK|6 z?-*t1b8x>5_x^W(72w)b9-E>zKacChMVX()QeP#XZvQAW{oXx=y)4w9Z#>kWKxN4P zKZP^B?<;hXyRz?BsrIASE5AZ77#s`3zJGsSeSF0mIf>RBR+JL^=El8~_a(payy@{3 zuW>SU4#5X?gQ2Us19&xVa8vo}^}-rYat^Tl(dR#_*qg*)Vi6~PoagS!S3mjnKm zKPQ}oy)rZNU4NC)_(tWnUe0ZA()B0*GC-urAYar|(0S}0`OEw(dhx%IJ%eBMZ-V+q zPdL2pLOMa;4s(4Yr*rE<_3d5%mKei;Fa9U(J$x+ycK;q=_wEbW+wR#N*vmp-)8f;X zXcqMypC)gDuQ390^R_EPF`NuRw@^0yb=x#Ew`*o@_v_ZFJ?WuZrSKxReHVfrHcVp4 zWEOr6HWC~V_izV5zx$=XFf~r>i{PwA8dSE8=rXAvRjs)SYKeOnWXIXxe1cY_XW9C6 zxL`PTu|!ztDL8cdtGIB26|PxIR4<)stvE!jm_kfb0{GAFj<0w%9CqF zKBT4}!Up85&U3(&|IjlCkkh%-M=*aa#DIsG7GVu9$+H=y(>Q47bo)9IPws_HmE4Mc zum)^+k)mgDg<8McR8|Za5LIw(jj%F5CHUF)i`G#NT+7{>6$%U=u zuk@e23%|}9`E?4^{ujkxIQ;)g9=;6!NgDpGt5BfDCTdCq0T$rst2Qhqd!51w{f=$7 z(|8%2V`I@hWmRDTGB>mS?fMy5e?WR@rhGJ3qIk>Rm#V;G0u797mWn5Yxtw!6Bb zYBiM|w?(G2DYo^GlPNYAhWL{|2NLeA{I0UNCx7}5#VbxyP)o7{{&{HJ14;E)s&Vu0 zSr16XnASde4l%kDEK5 zp`n0UlU3IoZ(XYH@lo9bqR&81H+c>H=LEBfLGovPM90$oUPm81`)UftgtNCIBBSI|^?U%X%1N+q} zw=H@AFaAH)&ILZI;`-x>un>f}K|xY68f&ysL4txNXzB(7Y&2*@EAiFF7me=-2}VHO zxQVhZD^aP%S4*`IY;B7cHKJ7z3W#k*w2G(|-#1481s{mon*aBA=HAT%eDweM^U>_R zb7#)XoY$N=b7n@!C=z@7UIM@OESctW>mB6_O=5Ncav1B&F9@w>P5{ARrNMNy0B4U> z-B+~0D(_L$3$-|@**Rdzk6Hw^P3-3s{e)JtY5nmQ7YcKD29a15}wzQ-t>uevB5XL9BrGU5EjQWYu%;Ty|OB)>H7BsYJ z3$$yRee1fjufK?ZxC*QB_hYQCIN^nT3yFV7^Dh|1P3b!4fExdH2YXmIc19|+iqj2j zXudo$$?R7BbTK!4y#wU`qPgC8uIyYUI;xLCu2{y@uG`7d>w!5q^p!`x(QuyM7SIf`Ia z7C$pXlMABQQXam4m$L8z{C_$f=|Hh%qsFKkuXbZpt+);~DgaDK8>LBHMTM2A&|GSe zIx93;ti%qq8L?Pvm_JGtk*(z6iDVnkD79^Mm(=W8nIbsEt~@vU;Ev^8l9NlRr;!{1 z=XrdV9`aQIaf?oU4nuNqz1bW+UV4`S#!!18hG2K>Rhe=Fjt^e*pVq$+VdNd4UJxG1@^q!qL?6S(fh^Z~o(&izH8Pl)1IHR`8i$Ub(3g8rWVkFkaT^U2xH+PKQc}fIK)^ zg1WpSk7j3y1LB<1@NM&9!ETt2d7a98IffzI?*`WN{rTb5lD+_*lm)HrF|>#~3cWq< z+_}h^!=n8Mz2z<#W4>Abmi@Sg{0+S0|5^S{H=a(*-|ue!ui=NU`yB21H2FPlw$=miv{)IV``{8#UXBSB}YSAw>DJ0E6>Fi71{CdvcsE#wu02#hDk@Fn@>cMevZNF-A!PK7Bb>jR%bM@Yw}7)_(JUI<@MjyHu&XU=1jN0%|t(H zqJQa+@e-hf?9GVhx&^U|(u2Oy+4tWvKb@5(+Qo2${KG1k<(;!IpjTTrdIfSB{C+e2 z_A;hT%g;qW{XfuewJ_ZCe)3f4?0t`5ec=lQ0*XxoM=F?p_cGSc$G_&h%1|hD>x+1m zpHg)A2Cyyp1ozMTS)Nn4e9ADWbSXFR%hQ<+L=Ps4iySp9}R; zjm4Ja9c%?==X$TVsbpx@)y{2J2yTm3dIRadtu8qX3V-42bU*_ALy9kki_j1GqVsh1 ztEkm@aTy$(!JKd~Vc>*-50fNQ{aSDM6^Oqx~R| zX|vkTo#}r2VOh!2&f1UQt@X~B>Dpf?;B>;;|4v)?_BV3SPgm;;)2-)*9nPom+n-DO z^R4~rk%<ASXksXL_`d9wH?QZdTs*9gihqd?|({IZEl^1SbeFr0& zb}5_*%Ov#bi}>~$6*)fZ1y7lp)t!lQ4LXend_vJ z|4%cqoYJ)wDwb+gW%Am^V4*U3!xDbXM|lscEz_EoX)Ng5CmdhED=zpA?RW4%bLtz8 z$nZ|2E%DMqRV;%o*j6^a5N{}xOY2Z-Dq6sHi2P!yTC)zvN+DYZmjjq{V8$1+_plaE zXq_xtoE9DZE422meJjhaI(>3-a7FyetX&%3lkTXJla!3>vD*&rM-(K6cZPStNV6C@ z!I>OEE95GTY9C5n#~)=ISp0glvIIwuYvxshDpT2ShmOo>{}n*g5H@ervU#JC%^P+8 z=8faksM^3GyQmg5e8(oYtX0dk@{Pp5JgUx%ytUG_Q%SbYE>-*lEBAhFZXZWoW$M_@ z3RZKETT`BqrN$q}U3bJkEfbJz8gvQ`Iw3JAqhk+D|4F=f9bkh3&yVzn=&9}poSqa_uJk8|>OhT>=8iW({yWnK*$aDaic$RbK2f4(+g z(&(*IhXUD1o?Z>CBVUxd%>Hp7q6LhFuN$KgEnfO+oAAOai8=MVZo01V&I3wt=s-*z zZ(1eAhLT#>{#)X05E#>smBgIpaZS~b2xlXFe#r9rEd7pJ-tbQwv06J`V6tu_boD|dvI=c;FyiR$D#G=G1{>;I zgMLnwj}=da23=PK6e4gw^M3IsE!uK$Z$BXt6={3CH{!%)h%07@TMz$f#Pr9vriaxt z)_v$~v04%l85di#%xCH!#*G6G6}-R?%C}{5OW zQ?p8BYv)=3mY19Aj#4*RGMt$G*8b?%7_W?iioa@O^65}KJ=;*c7ADgWxLm)W*nV+1 zZseV*7s#><^9nZGFWa^4mpw!F%Qj(1wYs@L$0h)1qmR%fg02D7#Nf^X+gAs%6ff@Q zX3n<2L4!zO{J0zq`xsa#&>~48sQNWU?V>vZjb2^E1j^pIicHU4Oxy1nrZYt(Bn7aNAxA{SHK_itA zg`Wx?cR2cW!ilceb)>r8EveAuhw)*A|Dm?qhmA#i*u(!&qYwNqWIdr0pP%4BRg-8H zT%gpq{M4!-bq`hhcRw{ss?a5V!Q$nB4S5K{lQzL*+EyPc{qzq)eqR{nYf9Sf0VTQ~XMWs!DQbz0t2hD7p1&%vVtgRiyw-X%aK6)qo9^|LE{0u`Xxzuub zw<|4RB#zaHmtJom!7iJEjiKvu6*STa9bAexjWRmzMx0!kh!n?5Pj+RLD7GdsVr3#h ziZ{hCBTnR`MCqG&>E2c>PnpE2q)T7uRZIbtd{&N9Z9$^)cmu2xjrl%f+9}rS%WmGwiATWq$@jx`umZcwFMSP+PQAUpy)Vk*yJ&VMoH|kkb<=H@qmOR%f zJ?fsT+U;tcRAZ4^qq@8cX$?(QB}!AB-l>+>$mZi_tJRy}5^9v7s=YBTfx{r0t$uHR zm%zGOvo*ro-6hm1K`rqzT>_R`vo*)tqEH&-DW9)vVjhjrj1SU^r4p_0^EbMzvy-2Q zI?`H5K2d(HJ|tT8vpTk(ziBNLerS3$GIxpgXGN2jN6g6I;zhS=9_jNNwzR3l|=vg{OU*sK?d69lVo#Va%NQF zxT8C@$`Dk)z`Bd~qexTEiNP|VXyod-zKzzzOCMMwmf%R@pD*XV{Zy-azMi9U!an0o zS8z;XO}p+wwH|He8_n6mkM&IN7GzE@gU&js!y1~)X}{;>@I@*kh^oTPM& z)owPw#SpK=0lJYU2t7>s$SxHBF0wl+hO@zpHzOZ?0iS z$} z)=2TzhJJ~kDnoL9>o;XnhG^>Nk`Ma#z)T#^+3$V{Hs3MjNaXQ6zhzCWu9fBp@v^0_5>QjX3t$}v^zHEsRUzF6myC*_MJi(OsUHFOP=-f8zjT99Dh7<{S3 z)FSiS7Me8fGHK`L0w+xYTb@)bGixsysm0b>%`=N^o>}C*OPi7>4QkoY=GyWkZo$L9 zP-`ADFq#MNqEf6Mg6Hc+9gc2F{ZtSBgek7*5I13R9l*#-&a7gHEQ3rr85Q9ZwnUp& zi`xCz=ZI`wMu|uWt_v)Ny4PH<%tuI zj+f5-y|{@U%!+EFH9m^Sa2kWzw_hj>BNcjnP8Y_6Zehs2pCRn&_6Hd#YH7PQmw_(V zNaQwJi@qChC5$ARHeTA#>g!J5MZ!RL`YOTbJKMrQK)Vu>7366)$TCwOE6AW3(ZoC5 ztkkV$yz%@kqzmK{ zft=R#{XTud*J{!oFktM;+>H9Z9I!Sl{P4uShM%KO>g*I#Ipj2RFwkb<1r(Z58NafK zjnUfwXgX;l-<)y^9=7m+7SadQHtvt)<;7eI9uYTtBuW7*kCwc*^J}FSDIqoViNDAx z!iF*X&W15dzSF&@98hml3;d1$r)3L`5QnN=K)Hrd|E%8$V=QV-D&k{C$9JNs6PbTV zpN`(<^xsjUk4zBPL2++#=xzmd!8F98gZytnr<14QW_h_jqWSF|mq>em{99GTg?Bz$ z)|3^hLgG{Q2%1DhWFgk+Ma1s}m09^Ah95h@Op4S@cf}<6BMn_*8=TR|n&MmgO{+8s zFjtWH)wlSvcW+_}nnTUr{`hr#5H?&oxGaG02-jA{d%`s;ED^esa~ADU3&YITU@7a>AiC=e5wF^+cV(f`B6pRn}2|A?AXq4 z+kXQ?i~e~x{nq|=?~t9s`?me|EhV>^Mf#Y1+V)upc7o8b{aNrEKzqN^t-jzQ$p_u-Ku%M7hLpXe{ z{2G`Si7!uHWVuGz(FC>(Pn>0}bjdGJ9Q6lEBg|FyRNnkEi!&Z6uxDy{9CoJPTfCEb zh^FMZ0HTBJw!(Uk40w(1`um@gTC`uI8=Mkbz|t7)0({wJ##?8y2EbKST9tUoUg?~I-`U4EO2=3ECb4+b&CG`EhB`^KElY@r>e-Vz3 z%EW5#^iBV!?hKjKqOL;^CauSZVdxIta-o{m@jN;-%I1Xl%w#%{!5I+b1}Y2XDW-XiK6m z4u~_wbAz~4<*EAN;fE@QCDz4X-#420do;YPz5li+^P}PNt*srqj^2iwkplomZ)=Ue zvu|)e_?LrZJ2D{*)c5G+UC&+U@E*9bd)M3d$AqPujz0&Ag?p|a(?3WeC#BZ5{wV|m zNnlH-S(>Lad){Fj_L0wL@BXLR`b6f`-O6k#GBxy-D^Ttw&$2)d|K@juu)RUX6`F>| z8?*YhHeB3PGX4Cs&tnsGG8$zxIDVE2R7L7TSlwi;)TqIdP5*}RP2;YZarX3vanqV+ z^*#UGhQngB`pqPMFjm_<4QJ~$CN{cSl>NBqA#_Na;Op?*NUU@oB&D- zR=7+YD1Uh4ocFN#?#=#ezu8q%=_)A=Dmf}$iT6mse_um?tDyrlsHxtqc#!|wM)tSu zn;m#8hVFZaVIYSen;jgMZXD+;SnIx~*UTM2FBhidBbzI3M;7ZxX=akx$`q|K@%PCL z>N7b)3*)?Jsc=|6{;Zcw09{Q5w}=p0Y7?|a92Ir-d8gKv-c9Ptb~(uRAZyFZG&cAGkQh(?iox4wc$OO@u^NOHfp4}3(s zsL{#>+!yY$4Y>O;o;=MXR=_DYYXfeC^S@4W@dp8a4c&E^thUg~zsuZkhuJ>oeKJ(j zJLIq~tNG<{%Q&mXmM(5D)^jR!i}KSBSQN$Xt?F6eGvh)9=ENUSfsBSDyr#cuuDjRI z=#UHFqrXl1sFk%jWKGRC*tXQ?-J&3j#IvpH9d(@PpFiRa5C6ydPmgbkShF;)q=w9j zrly?7`eM`P8Ce+_*Ie!kp%i-ZHowiU{mpN)H}*T~pFSq4@#wdJB!68E!3}&z8ej%l zGvGPv`~%%;9CLLvHS;_|DJ@L_{b{B$|m_zVn6Ts89Q*9 zlkZ1+b5z&ZrYEhRwYkNe=Y*Z6_t%OP31%SrP5Hk}vexr%{`-S&V8eL9kthXt5Nkiw zwku%_w>&{YDtiP|MKBUCJ?BnPgn!0DxT<=FG*o$SE9Asjm>H`eqs61%i9do@;pvEM zMVC5VcJ5z9HU=|D7uOq2VSh1)zW(}ua{8MxGfQXYpU{KfWKIKh)%XUw=An95GSJgyG(I6q2Qiz$_PheMSge}TKiVGHbt|8hkz#6m_C=q!pR zPtMn=A~1L=?}a-QqP(JWgCV}y{`$vCNkS-VQI@9&0P0U^Krzu#L>^CYPCC?@uZ?C6 ziVWVhM`&2OnBgw2JDJqWE_q0|r_ftgw}WJKnS8D7xD~siwR*}%ARqqv@>ZeatJar; z*_N+{s~5oi_12esulm96D)?4`VY+2lOfHlyA5F~x11=`2na>DLaDs&_iY>Azws=Pq z*%|B`BzNc+e;q}9-^-jL)G^X*{b&-!n0@g6=;vhVA@<{{@oqgvm9UEJjgTLnqYn!+ z8lD#C7;S^a<5VbnqUo7_r=Vxb&I;M17^2eJT;@gM&RFRQ zw+Iu2WNHl?R>|=ymO6B}{mCV38=$*BCS%pY1tKuG72_~JqkfNQe0i34+7DH^V8#`} zmI~EQutwf=Ci3CkaV8EE?k{&~lTW7Mb4hA7hS2`iOM|B4NZgUquKl{e0{*X7`_X9p z=@$PQ6(|L(?n9o^8*=LC&siY4i6`4c(`&P!MZx~^1Pz;F;$(I;8Jz$i5>JB_@oBMB zbSZ{@Jt@9+pUgJek->3w+T})FdsU) zDIw~B#&*6y$om00b#vdvne~I?o4*8xO$ZqV{Q&nW&{@s?5Ap*9a9-6J;LUsQM0ucm z--f?G#A~=Dz~a+A89?~^`u!Q>s$Aq<7WJ`zFnRHR72m4(gIY{5H$?q24Dy=Z&$URq z`wDXO%MfM1j0O364;b$stuS7zWDswM_x$~i>DZ*eg!)>+K?YU8MguuB8NE*6KnH0& zd)1g{$-(=)f@*tb6^mc*7g5k9^?!FiL1V4Osy`{Gc^Az`wAfdS6IB1KjtDO}l5QBR zI+ofuIhQRNZ5y@EEV1a9^c=sg?eK&*mbz5ccd5#NnMXF2{c4UfyAX+V6L?>4g?+~@ zz}AYvQ_bcT^}I>1GJH8jBcN>o78YBn>_Q)?y$1aPsJU=cgsdo=<|jT-c|N>b04iWV zFeIdrp|OzR+W_ZXCbZL4dj-HEzm>teGrJ&*0FDRXG{f%)_%33l{pLeYf0=|j+MOOv zSCoSVf!3K)WP=TZ6=<}&7YU!pjB^@7RDH2l=+|cgIU0xy`}=>!GG5`=vMltJ-&pCq z8>PYyLU`w$g>URY2pUbf8q)5uG5->O1uU2)c*)a-Af*W06b3OyvgGB17$D1&6(iut zN_1963n33@JhVyI_(oGVX~l^JK^C0YQp~v;6Q3o$yyYo>LGC5qDqEgnsOH;=Tb(W4 z^3)T0kA_cpX4;yJP)4Gv@3b|MtUh#%gW3U6yPIkiS^SjMw) z9McJHf0%32!A^_I`1*VR%jlkOH{1vLEE26&V^g6U{)74Y_ENJ}AHUDHR+ru+=Cb%b z1Fi^Mg>*nj$6?;#NohbF*m$B9%e&rdI^k{RC$p@iTZ>ck6HPTBSlbm?YgIyOz7m)! zd0P^8)Wu^3g<`K%b_Qz@5?*_SF^eoYc%Nsh&k|Z;**m=4$ybJer9$O{{qxg?yPljf zP_VGO-;>(=+MZl+1D9u&55(F`g|7NH$k<3A8_gLUAmcaR2;x9MfQ7b<1!J%9uAKZf zFZho^yh&WH>)zP}0H}NR%J+P~d+yzjtfPCa>fR~Gs(TG#d1$aW0o8s9J!O5mLc@`- zS66y}`9R`PPRD1X z*>~vQw4EiMw39^6C)-J?ci_$v2k#_Nqdzlyhj9^0m=^{~bP9y|OpT$diVoOA4G&y( zP-`!(=w^FZ6g({9feR4aylrDpXmjwe#Y&%3XN9&?TV?V>HzV^@HF|Y909^EBx!RJp zf6H!^1YTkaIs-PSOwB7$qolC2^v;N~MU|7TW+{EU{oYxy*-uw{lDCa^ zH(ELqDnDIqQvS8PYt}Z0IU7|G0RVH7(rh`I64qadJi$2C(M|%<`0YMF{HbI%$$eDT zUAIJ=KEH!$-OY^Z6W~-LYv+7XSRcOrBY->qE=eDrc~-O`pZM*feGlclg%#nJbI2b} z66pscZt8rtU3a8y{^FxO}_ZMNayeQ4tyY;W?;_|hD!4G=B56?^z?=J z?YzPI-tuo%8w?`{UWtmlGd0=(YLpVq?9pf+VjM?jghnO)Facum0 zXB?yW`T9##i4p`fL%+PMgx+)fcNNroKEL88<&*Gc+3#bPPvdAV?}~a;K6R$hzB}Z3 z>-Oquv4E(D0-~O2&{}T4ORZ-DvYvPE!TkvVVIAOd`-pSKes|$~hV|;bX$?m5W}(kb z-onlIDvu^`3#$}s-hK?GI@4RN3J4rV0r8${#q1qnPT`d*lO+bNO|Jv^2D>1iPtIa%umNO#a~8oqQAGTS1r*U8G;$7y0iI|9y%7Ud69)sC>d!D#c&J(>M%41o4Yi36ujx!5}==icK%W+0!@@6+h|6N=fV2m!hJXW5n8t>P? zbhD)zJ3qSRuM`My6f^<&WG_$NyoKt@``r97KNDIuuU;cRSw_7`t=$ z5G!4CtvY#7KzY<$-F%GsLurx*9c8xttkQQsev>ne-iYitFpD_O_}sy)*eKd{uig@< zezOtP5tCX^y_#AN@oQC{bgf(8pw^3bQmZ$0Cy8k8kDJt`JPiY>yr~}oHv-&1Y2OVv z_Zd-gx{a)yLCQ_TRdsamSN1fh1E}YM}X zo`0v)d*>P~O048m=rM(Le|nr%u!Lt?`cfGcyycSaa!I!;=~Eu#b~BUt~qR2HQx~&J(G3qy z40J=6k3Velr(^4mJ73>QdwcJ*r6PQ>N6Kbnr7+f} z;C@D}Q7X-}Z@v1T3jOlmBVEv=x7Xg%by`wQg$~VUcTnP&Hl2Rb3NRzDmYUX`o&HJ} zz6H$`a4T2k*!f}3%OJqs-xQzX-@h7l>$jwMw|;>FZOeFT;3)v*eu1Okc6SOiGHw4{ zgEP2=5guB#hHNS2PfH|1NUA<3;kkO zxz)4p){o7I#lZg!497viF3aU=r@vT`Dckzc)r`z`cK zNssYk;1B*Q{nBm!`;WwEP47FdxUV3l{-pfh9yiUHN#F2#K{}2lZS3Wp^EdpKUjkv=d^-UwWGtRGwHha%~hia@b z)J)U8CrOawCngyF{#fsllR5oDmwg8#h|zb)^Jfp(9;lx?hDrTMUk)Zs3N!}=n!D0_ z5>VfK{_I!4KmS(U{#Fjo9#wRy!GHFqqVDj|`Bw17KmPsR|8n|wv-+F3&%B!ApN;nJ zF6%Cz>u>NO`qdnrXrJx&-EGE`iu3f&`33zhlmEecxrF7VRQ8Zh>AaS9t~9kv_y>7j zBagStW!OWlSB45dgVv!RD~JKj9>mu6u#g8$Mz`>roSLO|4og|!wOyFw@0xMA#Z>>HW`b? zdb^kxduR(D*7BgB1qN)^jr0P$vhCl$8IVL})to?Oql^pgmkXzCTwo&QyT@$&I%ArR z4fRFxv?vB#&Q)66*ijZuhOX)>9h-Nx{rJ4#U!!e}uaUt}BYjZqjXu;oC7dv35#b8? zLWNX03x@mA`&>qA@&)p=qe)uCMIS*VaL3tWpT&&l7cx{!&%aSI@k5g{>tkyEPiLBTO6%)`q`*~d@VBS_`gt3RMY6b+I$vRAdIf zWM?_7Mn-1LU}l$=5r09@?>U5KW&RcKZVK@c8@Nr zZyd@sbROBFCC_nXQGLJiBzN=<<*i4FdYntk%M&ZT!HVgRZ|^HpSM{cbp6CkK4>E6g z2Qk2;YlX+!7BtJnrPk>3UhQf+6wlwp^PT6f-|9)zGduPsWe%X^3(SdKGd-hzR~?&s zwZ)in{KPcfXg2{2Z59UQf43(azgR`Q>R>{Pb6`Q*#s0U%dQIiN3Ps6Q({9Pwa=}VY zA&7IiHYJeXtIJZ79~q$$_qFdD%jAxRW%d|nK90Y-q`wpiyBa^gDET^8!aq~_HN3?A zpx+{XZ@rU$b2>J?@8tGAUn~2+$g`7w|88mYz*=>Xady4^E_F&U2%cDYnYb+9_|IF| z8rahsKmUS)m#hn3tW7RPW=D5fqCdeQjD0Gou9be%T~iIm$kt!3dKAPqSb0-p51TfT z_&`o`uRoZ#dfxQB56?wEcF()R-|cT|xQ>6;H{5)Mo&aPGPmTTj99N$G(LfHu#lNQ} z!|o>)`hhNRSz;o4dax09H2|*Vt7B?;=IYpS`hh|6X>pDs@CUY1IyZU<_c?`@W#qUz zt?_i)>NYNVu9NUo3RR*&>NT<@$98Qh;6ExK9A}egsa?XAb1XqLWeTD5FvGM0o zkkY={3Uu!QC~>2|GkTN3=r6-6Xr7I}S}{;*(^;I45oQK_{ZAMQS>Fbz`jeITeO|p&-`8}@mxZQP5)lRjXUVL-)=@0QTArHn9)El1wGl~H|0PRw z<+T$cC*QMct*@u(1FVNm*Ya~JbnIW*jCeEvH9zo=eBxA`$|rD-uDLL;-@L7T{0X0si}s1OLZq_@#p12z(%q<{2KGH3DsQzDwH2 zB@I*36q3H$VDV;5`Wije-av>}FlFiSYx9ev82gIkn<|Xrn<@(zZSs{U)LZ`>lMFh@u}Znav)2K zKw;XL4F=iUE|mJivwliJzIR*FslR+1VRdV~hJ(gH_ccFD%Ct46PxL96A2{!aBrm2a z&<~P8?eJiLx4>3p$(&+#K3XGCh(LP&tck2&u5B2A>33W{^S8ky9{EF;c(D?TSW>A! zCy3v&JtYTPn@%PY_Vdj8@A0=!xaD;!!+SC3Gpyfa=~euAtwa5$x3AL2HOJP1whY}p zN+|N^ZQc?s6RT_Ozts2C*!eXRGb&29G}I@j6FoJH#kcV}$=zvu5u%R?GDmwHG?jK? ztOy*VerUkm>_~fSB`luIY2|(;c3UXGm-Xug2@fWKH}QOZRS07$dlTyowgH-oy${%p zY)#-?mekN6S^eu}P-L&%ZXH?0kGCes6-6&CQd`09Vrw(l^$P#&1Cf2C)j_cn$WfSZ zDs(Ul%ZR}}2buljopG26#}Jo#6{%j-C1tv#)0H&VCH>D{R`%UOlDJ9XQCEPl1UgN0uET*t4NhY>gBO&Nbs zz~|Y9A+a{i78IX9V0BE7ncVjRmYAini7r^krhK^N7{12ZCM$cms_^3-{Qo0d($FXUy+Je|7Y$?d0H#i7Ugq@7db$EAiwi0zMz^^EvX< zFR@U((AD_WG06g!rC2D_ef7rbNWFCbz~?XbG<@Dw06sU449G7}fj1!N2Q}t=yZZ;% zIQ}RUj`D>gux(p2P%ddsS#_>@%Kllp<*jP&*1;=i(2VDC!Tvo7qo=Yb#r?3zyJ{)o zw(x+M?x&I#dEY$;bmJHVH@RNJ0g8pZ)Up#!r-2~RR1E@%qGak>6m43gH}8WQ(Mau! z>ona|=+2>rho9^Z9@dWt@L(bgtaNTvJ#ekhdWHJ_$Y$`6J`8+rS0ab*y$+vND8 z&rwPax`V;*-N&RavTT0va(&;`Wp$X-fpR6&Z-!W>7k!sbzkEp0X%U~+LZCU4&3bL% zWByp`_g~$o63+P0XIv|Mj%0kB{VV?c==b*pNjtwEUH+bprWS}-uwR1I?AP};GRfG^ zdnNhIFB=$2b!Q8Wa2xx0yt->0N{Y=;I#ktR{TN)VqAh~Qcr7^0%EQfe4IrJaQRyfO zA$JQ3p=9U)espI7>OaEyqVLIPA8z@B6%W8!0b4oA9^YZ54(G=DFGMM~$OhVK z-1#wT2&R+2uN1k+p6ZH5dlX&Q{#8YFIu`ezJlUy5gx%%GxX;bYf-A`p1^PjS?SJXk z+D9>~GQ1gB$ZhZmIOtu<$2m5Pa2_k&yGBU0rLu_lmzmE-?V>H3)#(;UYP}ZY%IqKR z4kMAn%{pSGZ~RClZHdg#p33X^GqHRGZKKz_FOjtnYu-g1-(eT={zrDS;<(P_!Q{{0 zifK3ISP{V@Tut9FDtSES;B0jGjGW}~0E~AzI&SAZObu=Di{grLBzzPn05uT*#t~Rw zRqE%2g-~I*J|rKKJ-^D-UnKk8f_q)O3Upp2760=7z_)x%mOLh7k&FX58O}l3vJ|OGZP+LX`j+=^*DS zgwF*z>q*^KUU_HbM(7pfY^BZLj^BR~-(#g$pCuk++r2M~sl4O2(%=&X1Uv~?fG4xx zX!eexvNK$1I7o#}GhUa6W?XS#pc!pA5TBzK0}r|x*w`O07k3{YH1wbxl?e@5Xx4T6 zc37;-BIx;~^(o(fKF;Y!v60rN7FmbH z!#8uC^w4D|AZ%(4=T4|)oHVg*S}O*7xOo$qB>$5oj?ek7HW!~9Zn>9_$yV`BG`Yla z+qU|C$sF z^Z1dffH$^I)1d4kPrSZUZCL)`l_N498DQT_Zz52HV}OFbd9MRW%65@H`+okNt_6anP<&;hpB$*u7mB*|57qedl%0^P7Wq3a7DqUHk93(>&!qoKe_B3C^2- zggq=!rS#*YXlH8dS?v=tyjrF!J9MQRdzQnV6JXDYu&3;tO7UB{IKtS|SCgsG=BJz$ zcBXgh4@_S_qXe=wN^8ZaI99r)Iz8f5ZGbPjV@- zo0TXX;rj6tZ-N{DygP2(NoP`_w{|r}^=dAPD)+lPDk|^TF+1p`_W3({$(;SVLY4QN z-v|0+H|rply?iJr{ixJ`#Or&dQ!8e&UM?d%BH@jOA3AxLZBJ%4RK;g!xjk#I@72}2 z6UG^p9)1@pJ(*I+(pG8WCEMtg${UB?@g}?-U@OSra2LEGj&BSw47@yy?0fFl0|VZ~ z!@GCBeOND}y_*Vl{ZESdJXaVE`h9_o6MT~0i z*#GImpo5yM$cl2STM;m%>2RLG%0;A%@fBRoIga0pyaT70cKhYu&~90(GgbPhVj3## zCgA;0i=v$a9FWGnSq{4N?ne}6SC|T)s=}$UPrMD?*V#Tizby7iDwLaLlpMS#l&svh z2PN^JkM2RrO7lu|5zx_Zprc>4=vO8BnSD|#R;@`-xypagjeg}byVK9vcb1uDQRoK+ zo@ARi;~%EWrCJs|LmYw8elq`Cgj`!TY?vJ0{o2 zf)|gZtqTYs07=}#nsq6H5DziyX~*daColsBMNY;r-B5o}D|Z{@XM~&g(#I6;_?P!_ z?cWjLEio1BUTA~ZK!tw&6@`)~XN8x&kug21bMD6!?&#M!cZ=0-N18!*h_)^{3i3SX zUHgDYMjT2s`G7^%aJYFWnmmGa;%!>~JzGa0w{oUyjgCEMr|9=xsP5^xw#zP>_)wcb ztvs&H)AGecI3upDp^@IN_E1oqeWbZZVr(#_Bb$UP!QMRo+Z?g)B$fqraxx?+^6tAH zv3^-+Nh&Y)=NDDl@#0wPcm!Z01HX@Z(2iIA_W3=*iKMB#x5fnH|4STSPjM(T0|)!D zIUGc+R~^Yg9F6`q3{`*k}*Sf*0EbnB@wMZo{CHK{)D8Z~j(-!;k8vs|>ZuTWBd;cbB?-R33&PGsXNdxPCH4H>$gx zT(0e&h(^#p^5I^WZeDhnsh0gWqgoEVPHGX(NEut zW_}o5@%b)@^m*3|hW)%spb zl#*PG_`_zxX63wPt^3Zup6N}*o!hJRsnGqI#zemjL(I2x zdl1tbdPsK?woglsGLAk!Fs1c=jp#$DoBlwW+G!A}jz-p}$C%A0q{kR$U*$;p%Q}7< zRJi%qcArqSq|}EWCKhd4{PSHJhQ~k4tUsM)iBswNL4QZnwuQ5cYpFk0dX%-Y z#*mG<6FPFCLjCBA_xs~abPiMk9fKiZs#xi+R^VXaSjyw@PUyM6(Gv?g?IBq52fCWd zZvUw+R3m5jVZw{1#XswF1)ZRSBl){a!|t5^QlAn2No+j;TH7DwuktiZ5lRwsJ>J_F z@rUzRT4^l|UGMGrlP^2%B!6-;a%ee%r%=NnS7rqHIxZunUyxFyl(S-`CruVTPVtpP zDl}Pbv!1T3u$~^RgtU@~mF8Q4{ezx9Sd44IsSNC;bWd0RzKg%Ak(HX2*38SS+2Rf* ziTB-+mHs>N`JE%FKJRc}NDK!VHpVa*y;Kk|Nm3#U!EduHSxIp{;6 zjp!IMAyEY%YVl~$t#%y6h{QUb5>%W~f4Y1qk;zFmC`Y3cQbPupm$1q2&Xp5do+{(W z`U%A^)iV|bL7;h;9|UXWSl3H8k2KA8`O9dwQ<~IXA1h6(7Lmi(Z#~m!YvMmfq-zJt z|KUA4Bp{QhogY)j^uv*8WPe)G^nQ+z2ZLN#@NP7KUAyH4-!g)~6hm#zLwWCtnQh7>iYm5W+np?;z zlt+`t=jt2km8)Bvi)MDdt*B%AthtwKDJly_&_8ri2u<67_VwYX^6uZl=;6=1=Zr8M zzx@(8-g1q@v309ym3pc3d*mpTi(?;o2DII|We88P*_Sf_u%z4HUbIE~KW2r_=6I3j zbs>Q|If6O(c_-(N2{FkT98##&>de*Ak`KcvNn_Beoj8ELU-BXjpcfSYA-uvqealOp z3C|m%X31pBN*=-av*sl#FZp|T-Z9i!e$cvv?@MZx0FiM+eV_7!b}geg>wYOBUQC(b zII}3=@e%K{iP9uPZ~h3j0k^f%nRW2dua;wOj5k)q=1Q9zH(aE9sjTo69o3VX&R}9k zgWEBDSZtma|L{FY^z@Gk-Fb498i8v{>3qJAANqofg-$(16OB9Vi+4e}+LO2POQ@7> z-%Gb043(T~DwiVO#H)ompYa@}R;tG3WY<5daV-zNzmZR?c=P9p-pQ`Eq8P5${8aAw1Fk%RFWNB>Z;DYQF z2F$1P1173mAc1f^;$!g-9{wD@xPGecn)a>2Qqc3``bG~j{Uy2pXv73QGNEiFlOscn z2O~W3bbOctmx|=)PH}U~M(@h;Mu8RFs26yV`VlkIo!+O;QI$K=Tb8>18NJ2t&|7KH zdjUT_y|LJnPjY zAA{dcn$5m4k$#DGm`FRf@4&GKs#vSlCimh4`Fz4TbMSyBn(?G>BFDH7>0?r!?b zq+}!2>7QY3GY`_0U{2{^?iGG~B0XN^FsCoX2N<0${4J7#8W!e$_`RN(`@^gqF(*>Q>Th!yX+hdNOfNMdEJej2f>&# z`H;}MI73jw1aOUUi()^mk4!|Z_)-#M_&?(X>_@2BqU*2@k5E}mpe{Rj@jZf#0o*ap zfM5U(9pVE)sjz{OvLCl}E8AsRUL2Hd9sRPKAHC`tTD!VwJvF6$MQNLI)5k`s=XL>S zyAA4rGp+v|<-0;y^uS_i-?{&1wZmVX@P~n~KMZ1x#1KT235^3Be`dYjM@B=T*Y8}{ zs6y6#~I31=yl*!^}jM#TmNbQf7M2o}CQYH?c_P5&dCDy8ak8=J9lZI2?*XS9{ zI3$Sx8(&QPgZn!6P{nadG{zhdLm`|<6oMJfr>C24Fm_&J(+OrWVwCMo?Q^sCktvum8KQN{5 zM0h}fDQahr3o;wMdyf&Lo>@@b+$WkknZBBtWm_s%n}6mxuOAKY`*?Z|*^=2GucP*4 z=_mYfsVcqPSji>g+gM+;^*iBqO+@FCkW1w8g9%^#(1`y+2E-q{Ye0N&;@-Zjw6+ib zdi&JL&-H>Ee?KDn!>#%Qnzci1j)u9R{hl?yPk(--A6b2$f+A-kV5^`qKyExDLy_D@ zjl#gz5qgUPvMv(=pve7DOJWAW#ZbQf$_%LJ{TP+ z?>0W@ABc8g?EXlibUrJr$RA1Sk8>l5zIfM3p)puDJ`x-{UPBZ&SN694;2=k$;AZ#XLZ>Mf`w=U-CmuKn`78;qag@ zZhR>*Ts);!rX0&tnw8%Z7u7Q;+8Y;uolAE8vl?4@phl(fiS>;P=4z_(^Qfy)U%YHr z+db9PHq^eC-o9_o+TNSKliD!%JY`QF7Jg{vE|G1kGfhSwH-QdM_>vR6ZpK!Z)I}6b z>@pALem`Z-4>xP^y_~qk@{;j`>idn}z)cM2$xf^z-Ko~bathaxRPUpz%o?u2ZfddN zDD@DwK$e=3Dt&98o~<5Ztq!8D>>`?o>2I#8nJ8;@Gv&BeTl`m<9KhK<%X#9S>)d2D zcKT_9%EAv_nZuvU2UjN6mnU8-)5%QTdc#FfvZZ@*q~iA+lX%mip82SLh#rxt9%*L7 z)-8*vCSJNAB7MuM{ZAM1F6Z*Yda%3JKJ|_q2eaucc*Q?ykQPr)aQ4lk?1PM#o?_*R zK`}La{Xzl3Wv{o?Pxa>C+V(d^a{!5!qp)my=E)Fb28T<8Zab7MV5#gI^i#4f+;XtB z^Mw3(={9MRhJM_jozt-=mu54j5J&u?&!2+$DHCq=-ib!s&8km3gwUYHI;{2bB2B>= zcte-`p224AIU-kf=2RPOG=89tqnzY$qt#=hPOVOFuxpufG?3JKhnGm;9Gk^hLQybB zXwSos%Fqp?8ZrS>MUYOhchDtN&y*hQlHL*W7GA3M1SB4xRS|D2Vh(<9qrC>?Y_6#A0%J>;di!vZIJ8fP4d0VwyG_}}tn7g3MO>nwUlbDHuC+nk}%> zVBQO8m1c5O3fxUjWM4lTaCSdp>mu^#-kCN%c!?wE0RnogdR64@b&&-0Ps*(=T3RDb z#JdEP#enVtI$|t^S>a;s$!c=}z%|~-`_n?;Vab_mh1(Y6R~K>qGS?pOoO^3JuiZ{_ zIAaGv#Hek~WIGUb6T|>z-nthN(E7wtKY~&KMp0y6#wAqI1en+4-z4(iN2%Gy;!#r4 z5(y)EO=@Z?H13tdGrUh+yyV|ip-xF%W#tHzbQ{bJq=Xz{77i0`%UOhneDsD59#cE=G4%>p8h*dXA=Lg6ZLcb_ z?Nv|P_Nu=GOf3KDMod^|;*F7c(e(aeu_GqlBK>0G*)P8BCA?QAZI4s!h;S9udob?jYb?7bG7M&ppm%Sf_(uzPK+5hrB}5jYvEBbUP;hX!wrRF8|bsP%5YP>u3C zNf;S0R#q~VN##v`xl8?gOz?!_pH@N8+MSe$##a|cJ6A+YKD%m8WpX#|II99uIA>y3 zn1cqZ-E*#~o>6}_8NlQWVNwe_J|?9^^v{g5B|Oj)rD2?Pb9|n4 zjKie9cy*%;lhu8}WS9iZoc|2%hRLc6cEBY2`#vX-J}`cbk$fCS<4-z_Z4IaH5;Ts2 zX3uM(dYv=guvX-r4QmngKIy(I-$sfEOO^*LZT8=lPgvVxAYDFTP2br?96M%QeG3>t zZj8UUfbH4v^~2ELm8n6A3YJ9<`mFMx4HYY1?-O0|*)bLSJyn_ccNX|IXgb9}$=#)x z>`Tp#HJY1-f$(YeCX<}6wQl|*@Tu(xm~>!`HuKK4hV7{X)*G#VjzePZ+4|aQeZAA& z*A3!%-osrdQkR}CynKUVg3(caprSO4$sn|G$hu6c7L@nt{YGzJRt;Y7Cd zPB}uFIuuRx$KrYCP>mvN)ZecAbfT#lozWHVaK0z?Qu$$|9DP{4bYCk%%*JB{F*P@F z^kMCbgsS8MOECTQ=qOIixxrH1rJojNH~U^%x<@zuZJj2Z_0R-bUsU&{qVe66Mvr}?&5+-6kQ!rB#qX$OHS5wgyrRq3q|y5k)lcy zlR}EPiAj+h1*FIet3Ka*l={r(ONYNhtkYZX?V6iJcTab^%Ddxy3dv!xNd`!j41{VF zNPSM%@@j<9Bnm&+(FrUYFIPRuDY@mzW3vdt3qLeFC;ZTi!JHA%xuI870IkhZyK}rf z26o3wdtcw};QD{7G*>VCX^z+&lZeu_$j;trJL;7~HQ?A4ScUj+PIM!UJ0GLOR3N2b z>%HkptvIw!t7C)gOBDO1IzrdHd+vPCWC@((N|JPf_|Wf{jLq;CpDK%~>2RuP<#Jz> za4v!3-VfqyWG3_Yb~Ii`48YZ=D-3w>&WktL!F; zNxbxWtDrw{Yg#*YkEX7uF+u*+8)cwC!r@pzj6C$C#>Ki3ozQ6+{`K$^Is%0 z9e}hKH!eNCmb6&u;1M*QGcgF1&i4jScATs!K?AWxK(aE)$5p1!;{p@!%xr*j{3{fs zpE2}@?d%o>E8Wc^-Q%C8v@OAG~V0-svD|KayI-=2;S8 z1jOxJ^D6p-Nm`es2@>6QJJ#9{+i4({?8_=FTxVZCAssm}Wk43LHH*#_msvJo_b>X&?LDPo6uDGvt6djDPd z^uF0Zx_mM~^c^W!!{4%4@wjlypLr5MRU-RNfGf0qe{Cak-pQ$|&WcYrRjl~@n6mgA znUgc0>o2DupvA_u_&;qH=*MD@#PYp>2d8?s|O>t0KJSH49)axD+YUF^RrpOD>VAYDEoTiWWT9{J3{m! zB|i1n&mG!<+c9W#C&x8)gzQIpg?mW-LohI$Dp|AZCVpx6AC-l3%8V{inxGdW48A9D=W-~gGhv$xlu3k$0mLRV{=3G7Quv|9jgdP-wkR-VrxZ$lc$2(MZMjS70y=g=;waz^bpZY_HA%FzOe4-_d&;y ziug+C_ZJ;7Q6tt?#>pjb2gE$85>1gyi=ZDz5JI1P|HX(|#7iZds2s{!1t~;4Wm4v9 z|6Td?UTdUs`9w^8PZRSPXt}GOK>&m`0j^-o3SZlVw|{bKYA=;G4f=M50{Y!&Sk*~{ zj(%&Q-+fm>Kimhz2jB63r=JfIE_1@>YU)P6c?E?uRm4zVyXY6t%|x~v@p>SECxIKlxw3PZdbL0shhG&h_~4L zV|I&xm_lI*Vs;f2Q|KIgAy4Jg0u+sZiT=`1(=_hb6HhoH+;Tt9x?y?3vFd-gnp~^{-fN? zOJBSr_O(gK6OTenf6K~B!W{fy2@TlZ9&8@;7cTu>T!kdFuTRFpO2v~^(YE^IqcBXv z?qyBIwe|IN*w_8bVvT)g;4g}I_H7vHr#BRM`(wmM!CJncAjpn1I-0qP118#UP%G12 z+OGca&$^@@&?TkOrNAFcm#PkRUD6lt+bp?e5tGHcKpklF@hNE3|LT1(pW^E%M)$PXZfJKJqJ{1XkbW z1o^%>K{VCZo^HRcKC>^MQbI3~K^N72kpev~tIU^OGh z_arM4Q?sH_h!QOG8U&~&pZO1-4yTS*^>C);fpe{#E;L+P(59C9?w;lD*?PL(dWx&i zemPyvew{hvt+5kOi21S>`{$U^O)G>c(x~BetxBNOme8P>>!naHQXYC?o*dYYP6v9237^siR~l0- z@Fi;Z@IzCyBQe}E*{JLm-9_!?>KRxzDy2d8B;is2lTmgKMc8F~irVFJ0Cy?gHj5W=&dBEeoPTE} zSkRo5-!TBwINw`p0U18>K-zLD)UjRiM|D?(fhVn zzED^fF@b-|-|S8>U@81J-Jb90_B_AabDU>-{K_*nA^gXyObBz{4JL%<(vi<3*E{O7 z*JvbsW$R^{Ugx&=|1iBFU-Q3e=-}pm*I)vzyENpcIl)2dbqR3;|8?Q9}e4ezo!-&y`=`)E}}F1zxCOSkpL-84cmstiCf? z>rS>V0)QP$>YG@CQK!07dC_YSE}Km4H5=iIe=(?Gcy!t5qN0)KUUq4Hv?QltP*Y>p z1(!CQuM2TF+H~$I1xGe-s6SdvW-u5+mIJ>PBz|!<(K`n0lAF7!q1fS04Jn)V+#)gP zoqqkH^IkJ)xr>rdSjia+^c`oaQ&s8y$G^x7-)JGPEdQrUXJ2@PJD$P2JMUdn3NfII zUa1=d8es1~t~sWY^yiX z1zYdluf7B9E^Hm~Ps7#^=7KGSm3R}_2Vt11!~MvBfY?0Mv9Cq!- zERA@0EAb6MvQ|DvOSW7!UXBl&(y9PkQdw)mZJpis_Y*SA4Nkn<8V*_EN}rd$BSg!I zNY7QCg_fsm#VbwCTVJ*IJ$QZ4zPEp-_F-)b+i++xzx^9(oQ>8{?d-FLD%oWX$3cmP z{l+4H3JswFJOaT-=vP8~TnT1X9j|1j3A4-cmn0XIwmSeSAgxH(UqW=|Xy z22*oZh&h>Ijd#AFrWnx`YvK-@@Ge(c&`h_A9!=iA#CoU!{w zu%b?U;-x>fT=++;idzlc#okcMV8}AHh5uKXkPilVcd`mVmka0+*6H;SqGyHYsDyUyoJwdu*5qEe}$1KE~C^^tgK%yM!_YuB)*=TXg?S`I642qpKcbnT3K$>MP@$>`YE4lfJNjST(icYyrEJz^#Y(giXk zS{?XX3_LeS_|{~?;_0w2M6NAw!3#$2eD$$umBu^P zPuxPDKZ`PjM^>A1a|xor585?(CJ0o;abVYyIYJUE8ils zgBzE#j)kQbO*Uq=wojxv8vbiVAC(MjrS{YL(i%-{VHLvZ_t{A|t}L-!iuj6u(VzX6 z#ivX^`vT-+#|%ZVlg!E<2WS_WVmZX@{})1jgFR^Dq5z z!vt~eKr2Y;07I5(&uxqqTT#nA}L2fJp+?F!Kgh?b|5d-1iDovDsLpK z^Pe{i^|nnCU+9YtEBA9^6gXbD%|ofsvoAsmc5e;f^kb;j$RK#ucf^zfqH^jY4oKCS z(Hp$1J;d_PvF8>vJD;gwDfH9VqWG?GT}3m$tW2yi{4muHH{Xwq&(W{_%3|B|>o@Rs zK>c6&yKDXGR(`VUpJ<=2SwQDAmisQ3yZlII2sqIw^0pOu&5FEaC7x@)LM1rga<$QW z==0cbRj>N?8{K4;&!^A7UZb(W%3pgWXIlobA^LUebDxObJ(4~_SvtEUCz|DZ5?8CN355UbEqVBBA>RK>L&ouyK=A;n>$Q8-#cD! z8tYdork0HeQvmP~Sh8!lb(PJ4BizDvess;G+>9K0zGhOse&eN=3=_R&x94bKO!a(D zJ>IskfWD|VxCqrP#ZCTF%fD-M&3MVH7J*W;IE~j^O;8Srg-QfnFMcd3K8}HWkQEpf zO`MK3p(V+Lt%-r@+E1$#QQKvQ#uPF<0nAG#-7B&fj{ZMxN|{DM{gV=UZzIROi5l zEIu0x}hH`OeTDfZcD=~Qp-*}6$ZY51$@jAXN zx2I+|)C!?N1n%s{x>30zn<{t9wPUZ7V{mu`J2JLS7?qLO>W!KPo5YJPIH6oPp2K!b zcAwB(o{~QmOF@RcOE!h$!>KQITxMdv&u6#X51$=6*7)pQYYTk#pTXjK`0Ny^2f2!f zdm^L=KGTFYQ4RB$nNpqKG0yQBIlb!@YhrvxcJDU#W?3U%(!J3*3QB+S?(I2G@td?U znw)PkocyUtCMqUh`&Q#}Y^xPTYx>H@KrqH|!NJU|%2eOMlT(o#g2(u+Kv0jfChyLu z_WkIZ^1->v-QK9dIPn>A8JGv{yGlaWjNT^yyEmNrkzW?=ydpI%@l5-1mV3KsOf#L1 zNG^2kT4MHG$+K6?iXOxu<~|<8DKYLts?D-}`cI?ciZAiqZjENXMEtMRsg%`RWgtZB zSXv?av;W`#8r!D+#!Kf}w(RH{QF{mM}&LmMKAHTPZ5cLX>3G;uD7p; z@4DN5de;6g|NKnNMim@v9U@9jzbXG$Cw@~`G^!nqxYkb3cV?k~Z(tR(KGVuH|D>X5 za#wdn56LkD!zS{Oclndd6yW*VSP6@YH%sDD&J_2yy+p5o5AGG7MkZ=vX1zQ6@g1_XcG~Rcn{faRw_?TrEIwS!B4auF#A;f5JBTM+?A{k4i83C znt_abKHBfSzZ7CK^O^2oS>j_p^h3gsAy2pL`_X3kqHC|xJ6ML zrP^pwqa+wMO`L#?!)R=2-CJ61-KfQ-6vb8+WpQP(%3=kr)hCUusI4Mc^M8NNeV)lA z1hwD)kJpRL%=6s!+_T?v&!s+|zE!&M`hA;x=*H)yH)iypuMOUsqtOtwpuv+N?tW&5 zUZgVNTh^-gyVn6}((^A}`5`Z?(C17duod<_F6kLrTZ95YQ(tx1rF}f zqJyaSqvOL3Z(IdQxY!8tjDe`@OL5xpUEASke3tiYKV0S$jdv9F=+{) zfq=4Fry~Bk4l3<;8hxGo4fN$ZlP$B4Q?ys=0fL{9;LuivC!^l!AD@- zSXiyC?z^b0E$~MB6gy1HYs>3WxnK;H{mbK?`VS%=TDn>(QtH_?3cdSN@qmHv*+&;- zhN!9qOfUq#?09uDbnQ>Cfkp<-YKE48Zzb^c#w`a}tT`o(HFa$$^wJ#b=4Jcn{5IIk znal8l47NMdl`OKMF)XtDuL%WBhRPS1pgn`52-06(4Mc4kBK~&s&WQMvZVA!ppKogb zo$r@U_?UG~Phl3>TZ!#aDPfq}KgB|6mY`ECUnAy|OcW((Qw(@9YFBlZIv> za6j9oZiHeQ{W|#FFJN@>kCAHUgIdM-PHJ@ZPu&2echmtHUyww+^Q}zEhEIl$c-jDP@KOM9;mbP%z?<>c zoo3yNg}pPUa`St{&96W_G+#Uv6d=G{{Eu<@m{Qt9Q#;qGIH~!adT84G5cpO@N)U6( z!+t$noCCv4j zm%5qj-EZ$a*TaLky7^gl=uYSJ85C00Jc6dy_;akz&>UUtxm%xchq(E<`17xAbku-7 zRB4Kp?3gz%J>w3p7c8J)1+jS&nKc8nx7?n?dCo-8=N018x_Lc9&l*BPPu$MV_ zQ9h>SRyu7a>di{JF2#Qos(&c^*|4c94pkI>-6;gSXMA#1c+L_XS%J(F7T@hk?weM! zMbX;3$Da|cQkpvy*l17X3+VX9{x@;y4C>Csz(J^UU#jZ%SVghL+P>w+k}U`b-+tS$;P=@sSN*yjU=$&206MLkI^)pZY~( zi+P6x7JuIK=XX>7gEXn_#Wwn5XuB_soOk+a{g-#4ZDnUb#TET(K_h6A4<^Osi+-bz zB!sHmo$HieV(O_{tbjJX2^&yb9_{GH;os#FkX_C{TqL=JI@j2cmr-}ICRrf z%Zu~qE>lnQErtRdDo9+A$wvQ(9fmkZ|ECPd7~E^3-`$9TuZM|Lzvu&J2Hw77o0d@AaG!V#b^sUE^Ij z)BNvj2_i(7pK%a&i>kBC)T9k}OLp1=E6CkrnIw~{??VEZuj;T>nb+Q?RAAh$VonR;Tkj>H`MC#66{}1!OPHW<-Sp7x6)KKW|Jj6u2c!0q>X@20V7% zaPkC~kM;X*_Yb{j`1wMk_Txn8iW@+z;h2vde?+abYtRRl1*!M6QgD}%NQ zkFO|XvnVLVM8dOws=*}i-Rt<=8DQ{;VjZ9x5qOesn>U#KsqeW6GN(a}E{+xL+b)FH zwnD!08;nM}YFokdgL}VV^=xawfMq)a$&s9=d$$*f2Q%3=ISohI8(*shJGKJo`)9JP zD_Ei*j#K>9Xo+5Aa!|E1q+I~#yEXVy8nLzfqifgM#6VKDHPC)qHxV}N)NhMo`J z>X_JV^e)`3)X-wIXn?quzgZ_%*HEWM{)Gd{G8BOwQ~HM>ZGbzZDqc8lw|4bB&g zq0`i_2T)m0-bK`k%fb+P^;zwKe&+ps;>Pw_7v-Lms+Tw;&rc6C@Wz);;(o|;zcTw@ z^3g&d1VhcYwTUm`1?S|RM6^^YX3ijSRYz-`=68bw)W~3#ef(M0yXPm!4&6el^yNQ_ z2=wM{VfBPi-oMG-nrdFR<3i9Wn+Q-fZApB49G6|jWnt0n{>Ew80TJwL1`;b*s;enrc~yy%)O(Iwu&(PtZPdg3jP zC}l)@5FYAsv__jAw8Chkr>EyDN;SgF)clZDgm(S)hbL$Jc_6>MhtARn%z7%7^!C?I zH>@VJD#!alM$G1Wnhnc!lJ2fo;8<;@Y}x7|i(4N+DuF*-uYH2fiyze3FgBxpU(J%v z5-4)bOS~SJjQaY1^v)y77wD=;VE%w=&)-9CY zEbNNH*QO&G{U)Git|TSoEy6_3Rp4dqb+#1u2s+)js2+V5V$Et&b$ilo`2MBL5{WGfz5`0B~C6xm!S_EuXND|*%n!f2n)ZKP8k zrh=2*6Yp*+szN32s$)g*jtVCK;6E460l#0S|iS(U*9gjFhCjF@lKKE-Y-X|#3lUL%m`O<##q|;QYR79o1H{T0t zMq^91DHX;S8Db_V!4mfh?Ec_Y+mzvWKg!$sqSTfZ(fB*%>>x8{_>^zMM!lz=cwc!;X8gh}Wv`!T`HJz64ggcQ zH(ievdh(A?v>s;Z&|_t$1zbFnC=*7Q&w6DZQjw}Ag-rN2I!E3gin3$2%# zk>%EBrCT3XWr7e(f28|3LK~4SpcbR_=ZI{Dxe)=pipyT?wn>CkLj?We8f#^7rq}zA zn`LwF>kv^GCvHqd7DyLwsl4$IvhK#x* z@3UoH7M}_Ei(lnUdXATXCdx(PAd}1<@4d&~XaCev78!baPkd7gC#nS&ARn@tbrHv4 z{{X7LL`1mP&onHJ!W}oYu(6XPmIs5roqP42Mx zkDY1qP}L#+*C;vKl`3DfT7hPX7t9Fr_UQp(dhcHqke?61rWXWQOclK9HGFeE;#wmC z@`gY!HN2UC3RVim|_@lRq%Pn;}5;x-g=+?MxZ(W(Kj?B{NC}$4#qLM3dZs1UdA}a z_wpIX>K)fIuGQA@;L%4V*Ts+%3eZ8lsW_mzd2lDXE$rlR> z>l}ZZK)lL-ul&h>we~o25}T5jaibE+dbuabVv;r6`g^^Vs%REJp{Aa+_r!oN>#tRO zz`#~M>v~I?=CutIt1gzj%J0|^sJg~{+BsH)fTd{S7sdn=w@Cw$JKKESstCwX95&T| zKcz=Rh!*0IW)6sw{fkcRbn%S~#OR)C0}o9{iwCa2A{TB<1TbJ zk1skn<>Ph4J3@ghexPoim%}gbv&*!}-Z6TXtYs0}K>OD4k_&3uU&hZDR^NGE{MVYN zmK28rOOV>BZTXok!Q=;7f*0lmOW=L^=U@eN${`*2KK@SnKKRdICjdHN5B!`;1Psr} zB#*!M$2-KUO9hpIi>{~jGn@55MJ-n7i$AgH_J=MlyPrm1^Lr5y zOdoA&`^8ROc6y-myVVTLsW3n1C@Lz9!}ocXnKGJmpK|esXUqnDTi5`_HQmg>RC;@? zC!WSz{u|;4UQ@*ar2>%g?=<2w;<5hVJN?|HV#(*sE8FGrtaTOuc{N~j8PKCi|B870 zKM&x2sma^e-dbhd-RGY>#0iO~x6#_n8g&m2BilJhhMrS}x43Q|Z}_ncWFEgExB3?; zqDW!&p=#b!l#x^8Sa?A%9LnQ@H}a4VPakOtI$B??`c|#_R_~x-*qpz#Ufig?XO7f? z@775GmXEd8sSCit6O-^)sp$nR8nVK@k^QWdFlQATCpfD*&M|YGD%5N0iO&AIw>R+g zOIzYM^H0ukaKZk<|MR|R!d&^9DXLtyIgIFhPOhGKUl47gxgTe)sV=^t?d#hEf26~X z<;6HscQNjk7Tb1VfGgRR5Pl!XMuQn^n|XNb=Y&rL5N{f<11!l<>oPWL>}1%-=cJY0 zExqiyl$A?E!)<*FHl!&p<_88zrjtcUcR1gB3G5L4V@~P3XR;TkzU27e6tDaY8TBui zGO~f5f7vpa{Ifk27V7KeK18C41LV>V-S{i8=SykR6fl{XhOth*q^-Z{4i0S_HM9=2 zJxT36akvI%J{T8w)pm$RR;=M;^!vl#(}wRy;nZk}G-})Z*D;xn8p?jOm{;Wq+#<-< zv6WH&y@9B$G4ObNC1Hk1A%6LzBg_KvALfoV#yQwd=VXtz?oQKB$7FjHb>|=7q z-%_uU4O%0^RnDvTddYzmJ>;cmvhO~v|I)f9Lw(XlP!V6n=BjrRz2mvok-l5sRj(Y` zq9u44S_Pr{tGxbx$V#!6zNYm7LlL)Ttv^78m(EmaoPVjeQlDKBIDmiR2u;*M-IxE( zrm^B(T}+SB#94-LIH^cSXPe&N7w`q|Dn>u@HpB?mC-?jsd7MHk7YeDd)e4>}c<3)r zRD9q#_>KUJJ{AD>p)Hys8JOeT(vpt;h=sS$%I4!4(F1+ZlLRGbBjm@C^v)WY*V;q-5*NJ@#W-S)o%- z&RFC&_T4+Te;)tZ`{!WplC4o?<$4c&KMBT7elQTGPQpF1K;RENx~-=WGtx<f``MPP{MX}J+^aHqbt9^fr6 z+V1SsYsU}kU-8df`zQ5B{A;cNE|0IOh`$U59{)|fdr$u%ebUx(+XHl?_QNxWi?X}K zCt{pf_(O1sN?77R`}D)b10tGF5Fa7_!5pKuOV{GI@&AT8(kZWBa9; zC4y0XspP0193}sB5R|2N+#LWf@P0SA(+l#S+zN&!2mbwTw6^SDcS5v|WfxrBRXuhz z$~*GuofgBeKv2pPfFN!Ji1=6QcZx5XscCjuKa2h}RuKs=7<2Zlb8-)EUc0yUC z`B!2^i{BQR4-oMe_$N{&gek>YMV6{y$XfA-H=S(eaeWTp-SbE0lYZeIe9{au;!U|* z>U;`T;6|o*=2QLzTfXi7Acuc%JN$#W%OZouK&6Z1EVp={Su2@dV^OcS7;hb+u@x8* zy~vrZ{#{t*4Alp2pqQ#9a2l1v{v}^@@oj{^J#|I+usqi4f*)O*;gvQx3&7cbjSIE+ zh>O%NvM0a5RJ>SAz7`uXmtj`DI*@sk*d(Btc~s@hBZ~w_rAe7bRbFq!%$Rw^OK*Ss z6*@ix8GNSYdFgB)0P z^3A6tYb$cs#)k8xqihpI0%y-B#1L zixXMnE!7cwJ$H6?+HzAZs%{}t_UC(jyZvZM|n@fqHedn&<>fL)j`BiwgUhe`M!XE==B9;VA z@5pe6z4Ltx8YwA1yi*3v4*32?Dd03942~wBvt&jxXng&uLqGh=!Wge+1pcv%hV+ z;~)5eVp9rF4Uo8yV<=L1_SOLo z;Gosk6b&AzFs_R2xrUDYIrF^oY^U*5cW69+5NmN7k5xzGxu`?q(IfAKHRvhBd1!iy zmfpT(24A!rYftimF9m#&4)w4ND9A5NUPe79>_JsU+2-+*0{66~NfhF`tzEq$0>N(P zdD`h&#lD(<3RI)de9^22-MrNQO)U^Mq`$2zf0X>JrlblI-cMhLuOvgW>o_Ld z+XaVK+pwtp=3i7BzhV$KC%0Ch-0D!ei#36t199K3)6w*Dda#n3yEnvoa9wJqCSSY* z-BYW0mx}G-9z=qcyf0tFJ@&@vzqZ5mE()Te9@f}=QZlsJLS6f^l`kDkVr&jaOW(qL zs{lMIqb2tE)S*9_p0oXI*yR1x+hpjT8&Hl9weK#VDs?yG>O)bEN4_RdOF2H|=E1}l zjJx}7!L2_(pwz4u^q44*TDpcVV5TKWODi~b;(YY2vIM`ha>{bG~yP{#g7=9Kk{2FGP`M0kPX`y01M>NYlR z?^E}e#_fC5t!~_&RrfNYwf*Jr!HvKOjzduA9ehFc$!S;Vzp3;)D!sw#XVtAyd$rO# z8l;vKsP8Cfnsce2>&sj46_+f|SUhd8BwJKU2$n+Dw(6a7fxY@F1!*InllR9-N;jDM zI;f;$ubNy;*VlJ^vk+zOj(Pb;WOlw%?6h%IuD$L9jj33}sZ6zHsdZAvXH8bqUE89x z=DN)`qxKFx*$aT{fr174 zi$V;wU7%b=1|eQY3qP5Dqo4*0QXw1{210)~9Udjh=-q;tIJA5t_>U)UK4dAAnMR7W zw0U0dm!Y9#)|MM3c`PUbn}&L4{vOiH6ILa8nlegrKK{F5eGThMc!0XdI`=>vfV)}I z&|Ql2drG&46Q`^N#+n$i;z6omf=atZ2 zM6kyI&>xBeDf!cd%JhEHSeW=7pBYrHQs<6&^IpvR{MBN==;Q`=ICt1_ZhoTQT6~IH zl`GyxqE@rL-Gbo==Gm|~AFT7-V<_xbJq_aEkNamw*QpcBgRT!a5S-@)yF zroxcjHK)=wR#FcCy7u>8F>qv?_O;l)kHz?Gq=3`Ney(S7?A@R*skTHwcmb--><=QG z5m(-0WyG|$Dfo@%H)p` z{E0m?)-`b6nPgrtKz_QJ5T}10l1?S{16o+bV_d-c+B303kp&85H9LhEC8OLL`>Tu& z&-og@PssW551+ciu(tnHN6R(pz1C+KuyOA|_x|5g-1`QpDUFO+_JUI_oi^=#y4)Ii z*$M`VhOZMPLwBEwlQ~oMU=1~97T~{8{NsVC`+5DW2h~DK*p0t*O)t!)8d$lFNbUcB zPdjmAb4ZzI!n^ZmnWTnI$}-s9ft>(IE?Z>(Zbim_jgpX@twu^;0n?^;17(* z0?`!1W?05Z3k>O^iSsG8wSBEtAYc3n1~Cl=G3gD~RSod(@{c`(#(gTKZfo@u86JI9|mGE#<3oHRy(`S!Qi z{#GWk{rf=|Ej6-vqruS^(=fJ-gz@oXnZ5t_HSRrNGGz%zc6b5POb$4pRByC1kR0&Z zJ3ofN`jYrYa3fsjku-svA5fjQVn5MbD$0!(GrgbA^`X!@D44r2&DKZxAy|+J$bZ&{ zA&5TdqFRFi+-d7mnb;q18{nUe;JGfFDEyrG8h2a6C~^b7dY40_Vpd|O<9J>;7=u|%=_zM_5t}K7}^x0o$5wV{ZyHPrs zEbth?s!EP`)h{>8l3{wm7~Aeib+^+OvNdLPJ21bbjc-KP@tLA9O_WflSX)+HBQ=Uk zoP{TKar+vL764^?7e3#0u$1eov4VR__eUEM3uX3x{|h&C>iS#sP673*=Dz=r^$z-tV}7C+cjwwFAt+ zx8JwImk5hp@@K}4I^zBNK?lXIOxl~;ssEk$Gublwd|UtFnV(4TbveHb1y>+TXXzCy zRwGzdTX+nqSy`bPZ7|wfmIj#!AFhahKrlJc>C#1FR8)LGdq#0a#*LXJ&*)Q8=wFr> zetE+rAwX1XZ-R2rnGnaQK^sTK z-|(+j8g+=hiH_>A(X^!>fF$A`mC$fiN|ScKlns?g?JJfA@z))M(;+5=jQQT7_wBT> z9YWVO0nGous6!X;SoMx?Y4M|SRPHi<)OX7Gaion!3!g_PM}CBx-AQggz7%)DT;M7l zPtFXj37q0-({zk+7ua6_yB?pLxjB9j=~GiwaVnikaJY0AlrxJH`e?LpC6GL7mp+25h6LvcJ{#w>F(Q%jpLO)C!%d zltFE;|NfVDJ4b|SD4E?YlaoJF@A-yhl7Hlz*XO&*&mL0UyU>S`g!XG0ALxHJ>mVI~ zUwnhX5Xm}B3MJ`Bhvn#V`LIZaWCn$CHey58u|Djkt>j((e$NtR1C)pUXfG7;!c+_i z@8^Iw^?L>H&(r(;TdyS|dh^{AZLnCY5Ia^RmikZ8Afd&gNzt{i2ja6Y+H$p@$TM{>PT zTFGKc7N{KO@LY?h_NSZ-5BTS%uQWQ^Y_UDHa-3$P68*}N&E?2u%U^WMG)-pElIWo2 zT)Grhay%u*+gjdZDgCdi=W?}s48e*kI2yd62mUxLN8gEnD@rKFQoUXgf2|@3 z1;D2q{_Mbi*1;{%NgkCZlN`8gy4xSwG~?}d@1*B<<`-U%yLQ67)>oN#2l4aG>0jnA zj&(l2;fEtZ(Z)o8!XY! zOf0<4a)b&BEP~4}?t>)AX^vioo|ZogeJs3Sw)MjI3&PoGdEtJ&@J1ut*$ zct`%;2_xsLNDanyjeh0YQA~k#4^I$p2(IJu9_G$1f!wdYEBZDzT*_z)N@tyuTj<^K z^PS+`g(2heQfcjy7Pj7Og#X>>yBQMue@Wj?xde+Q9q!Yj_ZeXf0rjI~oC2w#qB(jv zKUM10&ZS7Tp12++>xw;HLSuGd^0ytuN^-nyr~Rk>8Ft=SXdTW8ieCnmp}%w#y&z(* zEHZ(OsY{{277eMuX~P_eybjhtLc79kH%y2QTG5r>(A;;E8?wj|8v6YA-_S;YVVAf9 z-=gZmQCmQ2-dz@I5C~*QZ1|6j#Hy#1kze9w{M(4+b&GZ;G0Crc=j^oVt;0Kbx}&ds z-1;$s39>8n2l9vB%_Z!PJ?g|%BR~={-EF{PprSb8s8N>X4(LQ#&Lj$CDxj({%F0ia zyM#YTzea1yfEZA+c}9Zm3$z>%a<+9TWUiF{LQ5wKcY(YVXh5by=j4v@K6=j4M&M&k zQ%!4Ry10f!TGp|Dq*J7&X?Ual*s1z=C9RWwx)YGUiL|=-AHy^I8T?;p6#N?m{|0F& zj`z5|8%A&-PNP9hF0K9qa}Pk%1*@qwBshb~+slT2uXxAyOd zZxROMOC-T+ona|(m2=qs)&TL-%(tL~t6!u9$!pObp9xY>J&0bNU|iy;pkjd*L%oXcT5ETZ7F9)C*6P&l*|er zPSA@I9=?OV#*#m0a>u?rtX`7?25SuL(3!599Pm9V>*rj(O~tYKDIt;$bM<_o-#O9E z>x1A&ujxZTq^yZc%qkK_I&tR*M}kCE2(Dwvw{Wabw^5zMbaRb7TQ0GJDv0nY5QJ1x ziz{t!#6U6!m|u@8`AZ+~5j&cQR@R|gp)^2LTJ4V`)Wze5He z6o&@cMXaKk05$BH)$fI_G;Y;Zy71;92EyJ~Fj)i5={o5sOaQ8|?CE{uPD$)&I#IvmZM2UjfI{YtY=2`w-r}qw8hHXmzEcPI{nVF@Pgb^N*ce4T)zi@Z>s-L-|ODh z{@z!8>Nd2V&)QYQS3h$T^Y=VOZ`rZpck=PMZ+L72+rjIuMUHk^qg|R#URjbR7!FJ` z@Dg<}{MO;<o zrpJmNdfMNwyGYfmQb(xy=}mZCX+t7d2r~1oV|^zh4cCQlF0=m4-)4?+>)Q0nP>yCA5xJtJtnig-JD;+Ds^bDe9dKnoK4o9eSB_f(s* z8mmQFeeDJ*tE-`R@31E}Ly=#4o907F$xxjub+Jl4OsSUcXpi;I^InQ~PkM?iZT)8l zXYw3cw3!zKK}_T zsn%lF5R{N3Z_;^gX`Fz!MP40EB6YmNAKJ0YVlnut=n8p;GPwV5K1_u3+nkgbo~cLN zG!a{oi4(5%VGVNvixShVBdKo&f0hpgnP@+qX}~@cSL`*4^ycQl7uazbg+?v_QiEw! zZo|A3PJH~|zqfl=Jpzm^I{WxL#Ed)pn2U+S%~!!7%XJ&$j2#-drYRd;fsHz^s4LHsJ`XJx zs39PKnl6>kqROr;l7wnrVK;wuoG( zPqAv;AEU1i+t{egt zuk!&)%9k-|a(VoOSkbZ8JK}U$=BW6{>`}VE>B#cr*_mvW>ln^)^i`gmn(dwGzTm@O z>piPDk@y#u-mwFj0>-S=rU9yT^Q=Y5xZ+E^{}6>%5nt+E{g@gfmniuqcm#-dTxje$ z_bM3gan}d9#L^I5R*JGTuGvQ=DLT9I&rQ?9b~>Y(I{(P|r{<_$C&-D!)w0b)^aC$Q zExau%|05yqiONdizkjE-K?aVgY#SU+POdcmw1`L%U2+?x#J}eGB}Nw;wH0fB$s$P_ zP#W6hAcg3PR#-9aCmbEs{e-aQ@y|pCnB|ed6D)jV7j&%qd|-_KL=7 zaYb>Ih0bUj7)?fD*LJ$~78^Y|!@bsNd(i530{og6G4EiHJ*1 zE%sLNye&6Y6tOqG!NrECuGwp-q|tc_#-V-h0gK8>ooi*0AxL+^HF|+9SyN4!{8P2T znu(sWy~l3$*Gnjw-SXYeS1fn*Un~DZ5P#-7A5&}`-P<@qUH+{5avOn5G{J%A?d@ww zt9Y3xp+QEPBujWfP#|z%RQhM^xD02%NR*Tzumc-YWk^^iw z#?Xj^DiUKW+YWPaL(a{)5VWC7jZXnyq{%n@(9xLV$_hptRQFFVMRtsMnk+<^&v_7` zFNAzoDs9t)#&VcgZ50B!G``IH0@g?(h?QOXNberZDn{>tZuaoE15(os{Iq`K37c%V z*-T_o5|azHBGIRUG<4;K8z)|1Vjud$f$sQva_IU$5kfU_mCl#@5j>VVDdSOLJDPfL zuB(}&$O{hdz*eg}cUbOhvxaE=g3R*diJZHfv@KS&>=9Moqdb1jhHb5O}wm8vv-)+%& z|E+E0+*;v1sW6rJX742nSMkYR`t??+%O{E*C`4+5H;Aupo<{K<6O}!b=RJC(KU-q} z9kUhW^I9ud{qz}jKl1QQ%XrV|!waTxc5G}uGYHSLV_3{0`GX$e1)IX>Fa9)q)UxpT zt3Hi}k9rAX<)HSZ;RS2M=da~C(LCk(;qy1?-G=b_?_Uu<_TBmer|i$?-|F|7(vQ!j z;h!!RMLWi3FZP-x{@@yGgroSLF_7gLq!7OE&`TSR&5&1WUHnV6KW@A9WAvA`h?m%u$Zp{orpBx| zBSLlKNVRYz?p+AZC?qaaGclS0(~j{DNHtIo!3F0S6v3AW*koe0we-|VeXt?7uafvw zsd>{GtF_}+)mDoC5FFv!DJ-d;*fU-N@6+NLyyKtR{sxTEpd|N^q>opAKQl^ZU3RvN5ZOkIw~{f8 z*+Ph7jz*c}X-cWS=TnsG0i;%ON_E>9l8@MD&{pk zHF$5Sh!pZE5qvcdnKso?Z2zFxe7_i|>4YVRYl2HQ0@=9*4c+7?Pn) z+Ymkr6x+$fild2>K;Ix%zCBLVP&NND9TvUryyg|>1r0NtW05LudRQ#{L$Xj zd#PvU-k8x~=IkrpcIa-cqQ8!F?bdZ|_wkQ0Aq#eDcOJ3&-jS&`|9ci~7SJXm`GoH{ zfls*v72t3lwP=W$rc|ESkcRxNnL>R3pTmFM_lhI|BAPk;wK^UDf0n}kirie$K=G`) z+{21zP0N+$pQ45_Z$J$nDa1dK-4VZ`{6J$sXV3}SA=stxlIn2mG0{Nm&vTg{gmXW? z;+Mc1ZWDr4BxV{`1dKGQLT)80MEPyQMkOj%Zo|x6>9FC>xyDG#SCp>Yrm}4~uNQm2 zR$z=c>Cc6H%C2zp3iTRyoxl|G0NUF#INNZ8VmP7Hyl#1Dfi>U3LtF0_o?%gdXC47kZ@dUP8Tx9ZA^o}IK>Gag=}0fGFC5Jgw(jqpT~B!^Ig=GK{vTezyYK?uwSKW{ z9n#UqBZjWu9KRCSTS4fG9Xz;5Hj3?INs!HGCv{Fn+eBecLkp?Fs}iGebcFU>1LZvV ziBXOem9XuIi#-9Usx}hD^TFAK^JmNZzqG!uy&pwrZA%*(I^3EF-ck7fZvV*eh1M&u zDv(i5Th~x@bcbD@1mqRPl36p6fms~TV#=|Z6|nB3-{yegZ=Z9ln~oRQNOF@5kY-+oZk3u^V*bgO%UAJcCT$C;4;Z+p36!1xQmfMYKW zFrZu2dh|pe2Q=7hO(Mq(3C)B&AXt$BTTFer^`9lMc8Xszew1f_3)q%D(lMyOZ=4*^ zY!s`VFQAO}at_P|oQ6)%$vslvs+$4EtoanfEKL&d?+w{1`l#bIqs!OmAa6WU!df^} zYRWX2=`~;PPo?$3E*3#*==Q~p|9FSL`QqGf+?1TQLo1Rx>%I-Ei1;?e zuOz2rdp~hsa=iFYHS~(yNb#&8Eyc~BW6LM-#U%$e#N`1$02flCJezam@NV&w9?`ru z(&q^Rd1#LL%Xk8KiY@M8q#<<({j6|gX8mNcC?Wq_{CUX7J zx_|@pp;_<2g^mL-WO0BK?@r?YD+ztDlT15YYjIjj_Fc{C7F4r6tR&96X{)#4q?5_} zy7zO{VEv-3U%E?OF3o!&XahXnv)B0EB2;6jqEJIl^8w7c)?a}xr2B30ty-T+Q=#2F ztxZI06Hy2G>HzveGC__;17{=3Rssjl`$xMWD0os{DI5gbR2YTi4Wu0j2$uULc!7Xt z^$HYplMJ2pGK~DnPsPa9PmDvv9kcOPUz0wE)=NdW${(TImE94!e}jaCh?qN{7?2Dp zUP=FxC}-VZTY=%5&nF+*`nWHbTMAg+*||CP`CM*9pKQTi-_lq#VGwuH)g2y<5B)LU z$p3ez*0E1TJT#u)+_IA_x{xnky)CIb#IGLm3@hijL;XmkgTf20-!J|}?1O_9ff|1H zU%iVzUlFMYm%i50wl~6O$XZk`>0Ry{qRS}HO1W0W+V2s|z2VBO3Skd^O8z7?b(1rY#DN;0sFWyJD;oR*_>BFq_96#kj zv!C+7|J?;5Thk%3oR|uLF=Q<)i_jX=Xqm+iLMz<-0i-vZfCbLh_(sr^gHYwMzr9i!&rW>7}qlPVr@=h!widcPkqthV>UMucP=87IHj6K$M|%glGZYjx)HBL2ro6iA%U1MkmsT(N zoXhf%tP>%p5&%xSOZa~^>@FBHjraqWGexa;v~-tHke24!XXloVPiv__?`b99J_*C; zGi83@KOsP$Cw0Az$Fya7N9}GGBIETY=xC0g#iKd5%Bqho)<9HLgIvsK`&wmn{~IK_ zGq{EWjbGWbM*XXYsQj>1_AmAU z!w(2Q`(B^xv6P1%yrImR-A0MlzOXF~L_Y*9*Y_H4?d6)6-;55qZdNJlgi>2nRT*k+ z8M@+~I6nM1Ext}#bHw&ky}PgcmQzs+x2ME$XXS@q#{YFb4(2`qMh^dn^~-fae^GIM z@L29%e&&f{m14`Asa!4SI1v=0oFIW3*p4D51XUX`-QKBjt7dkZr20oqI+vGlK#t(8 z?mj;%dQ9f7eAAkY(=UD`gzTJO0(TNoTHyC*;n-<{0BL~17b*I2xPWY6s`)#I9^UHTK_ovtg9G?x$Xvj|AJ`{XIwe ziZK#t#^~P>1;Y@k^U1_fBa#QLjTJ3vq30IeU4sA~5%0BjM6%b~D3el5DzW()er#&7 zWm*Y6wIUxFRB&)9Zfz?DI;J!glIfp#Pb=UnzFs-f9<>9VHY zfj`=5Ia`0!S^t~#<1YGzTbr=i--Vw|D_?gS-_$F*8J{!@_s{VE1jYv%%To{j^C$G1 zEyv+LE`=RUeG+ZO{8M-Q3Uw0PM*U=;(mRxf@t^(KZ)g`E(qE!<=k%AW6<*r(QGxI= zKF=2h{wM6J*q%E^Fa0&=8t$jBu+Y{1>Rh3#2dIg}*v}>dB^HFTa-6s6@ zH|ai}DOjV``dy=_BY#^&9f@IV@>n>He-D&hkW)sF!Hcv25>%b*_9(P~IQ0T40h?2qM9sc6p=}ozW=h zBGJ~Xr35BfAZ2gNl-+@-WuK01Km~zlF2yjnY&D0)5_;p&W2xkp##@oGvAvP&pGeiM z07U4Nfx98Lp2=ck_NI=vJr|t4^CPVoK%)i#;G94?M;z9dD!?745Jc6=is8p%73WP< zKUUfg^{Oi<)p6m5>v5F1-pQTne+!J2=a%7V{^Bv#INASRsA@Iar|V-y&9jYdX(eqG z@w(OPDZ$&ZTf*5cGeWrEZu+Y3!~M?4Zk+&CYb9oB2&_%D)}{*BRMCfW8?c~i%*#`X zX2xL!86y?|rCX0teL!f!S2j_67znmK;Un0daxic95;MS(WT z0Cyn7ed=j?K|}>N(``B*hA=bUYec{8;8x!CmkIqOkQhyN>v-qW5`B`2(5KHcUHL7e*?@x^Lt}CM2*Za=6#~6o;n{xr zu%NNoPLWQAjy^+t`aXLt`rOnM@SinTqGdqfZov#c{UHEUX&c_{JG4UPQ*+oRbHkz^ zQQ2dQ^OQ;l@paqtwt{qRpUtMCR3t!pj3h=G&PIszYc}JC?>YJ|?XiNe=?slSXr%R(S7nq~ z?6#e=83PHaFBw@C(2Mm=BSIYNx9-hzP^4rZg7cFDx8Ex(|4Z*l@`orwNV=0P7&nGc zaM`HBm#5!L2zl-SB~4#7(!}&odHb@qO2VZ{yeeT^@Sk_U3?Cd2TD9aYWbI(6voo5D z0<+0}>gG}sf1x~1R}OZga&l@^(399(dAn(_rZB3-juE)I)7-0fUzIT`{x0`2m23DLgJF+~?-)fC zZ}Lrn3>-0T3C0=;0=h;`fJO1_)8!Q_PwcPLl+i?Ja|V{(PtN_Iy`}XS3?HEo%*Js6 z!`)(83@eO#!Q1b0T|1ul)9}?F=_t!%b%WP9J_h7~KAn&!=TAd302Ae0%wl z_j`?qUvy~Zh~#O9#)^)B8xX&9{^vFEhQ zm#^DP%om$34zuH6UZWCYs;?jtn%PI}r%3@VgP3fDPqUWaBF3&nr=S8<4e-1Zg1NRq zunBi^pyG3LSGe)NAfD3xGFy(Fvb5p8u=mQ?i2kGhxaJzulx zo>%6vmnq6#F;h_>QO|Z4A8*x^d8|*JGLP+HO=Q)rZoR?g?4)(Mp9`$Pa)AYTdsqNg z>WbHGrFyO=VN>kOUg6~XR5a~cd}qCoAaOvs9H>xsv3YU<#lt*rf7AH$rnnDk8`q5;5cTwD(UQ-C$*|w&S=T$P16cGoOZr~^v3e7{uK38tcm1H_W4ER zD8X=BbpRQoG$~c7@g~og>=N6CorZM>AYmp2jAroMaUBiK4?d@ zaAWxP`zeZj^=5cxZ)$}X9F)z%_9!V>U$;l>f&PZ2T3z(>5@`pJPxz`JE*s3D2m9dGho6 z>5SoqtEG*8u{pY=o#O^?MSHA}mu)}Ph}N?xmOgsz$`>xXaWDsI`WBQW$2?!sxPAW{ zdX>bMM0nIcvn+Wbk9OFjrIE6NHFdAH{jm!)Y(IR1SKh<|D#XF!GZr=K*LvAUwf1$j zzFyAPZgIeCyP*5!Z`~XAkiPQnyV)l?U&C?+dlS(Ft5!=WHqvj$6C7#c#_bGm>=r5V zsXYLh-qIhY2K}`?y>siYywb(;8NZl>AU919Py8NgRP|4#%OrhTTW5A z>F>4j|ZaOA>Ykm{AK6WW*H#y9bSrz#~j?}S_ zEA=V9CiRo2paC|9R*C^9vyMoWI)+j@uzDoNHIHR|wSRepsjJ(ZhHrlR&4L|LhlT_n zpvZ*_ro79mzuBF}!kp-MnKr{m&PktP>nRXO8pG-G)y?lWTH9{qC+C~`qxzn&94YKM zoXWn&%TZhtg{$i?Z|)f@x_G*@ISb)KlI}^`c6n_pkmB!8Vi2O}lz2>r=HJOVxsh{m zpBLqJsu;xnsp4a**ilPya#<&T0hc-c`oLcGR-En6ko+{Ke&h6<|F)v@+!R6cz%-4# zkAKaHqP$iNS?isp&XWT_9IlhW%5Hh_K1{!%F#TkvLE0+~hR}9@7l?NLDf@XV+{XF0 zwvv4U|5l60Jw7j2_E$9Nf1>E;>o*#GCZGCeCPe{1JRPi+DIhb}o>p1atfD>D(rmZ; z5SR+d;J5GiPr8j4Z}qWnx8o(8QKV5ML%-T{DExPkMLxPdr39-7?}NXPpU8YZ*ho^9 zO`d~+-n_TPVa@A3+ilXIp}P{!`p|~;j9)7X&KL`0%AmfDS*8xF*+<>`mQR$iYJ&P* zX|J6{B+U(193gVv0sg2DvBqK9c2|M$kB+sjH2%oIfsD_S|l_n7R)`2xs~(7^K) zxFOUG%00W1X~v4~x1t0T-ny9I+Rl7dU%VsgD38^tMl0gOBe9~1R&w`f{03bxA6t>* zT}BzsSL!tNLe7Mx+D;J3!0|5FU}(tNmNs_WvqoQYN`|-h9QZ?QTRYjgnz2dlkt+q| z*~Xo4n{O!O*_uY;2@Ox`aMbdNBrb?}>ri}CeZ;xnJvEmL^EHNQi|cap)A2Hn9rdn1 zv!tnD*yyv)sxP{tq^Y4-*|7Q(OJLvU)N`tu#!bF_-D4WMz;o7fwRAGO8-uQP4l+C?kMMq86 z>HtW*`~qaQ_sn%#ocmIEPz(rC8*nm;W(;RrTTD~EGIDY{gMe7=TdbZY{VRUp6Y(oETQUv`&TZG=7d$f*zW6oo@?i%cLYgL0Su)!91eKpwB2revu zj-EM5&f2V7R}Rg1o`G_Hq79c6hv#|#-|+2Qxj3M50fsL4doL)PKs&V4>hP2Wb-&710P zqD;>bgK==;-&A}nTqIAUSy7ysX-#BJZo{69GtE>hn-BI|q4E)Q;9aUX3TjYMHAPuK z`_W07ewNnInk2G4+oC7kZ*Qc9>I5hzI=c`-JfdJoyEp%1P0ziWbw-2wHtJ1=e(q^P zvyFj!d)XQXfp;iU~+Mf`V$&YIZAuaWLoC*RA&8QzB+ikw8MU+(OywpB~%Z( zT3+1HqeGIk!A^rW8nUQOGqKU)8l0uyO)s?Yu`FE{c~4r!pkOeIpn)zGlc8g7Bieod zGscKv0l)S>{Rzi>(}Y`B5P4(%mk!bz@^b!<70o`|G+6NXj?+r+)=AyGN4FY2_bjF=PVPA@QPhAZ*k|+8Qq74ytHF^({)anzQa82QA@NRVl$NL4X zAqqCS2EVt8)8ept8h4GPati+Bj&FhQC&&C>W=h_aIc|?$zEC+-x}E4v$1%~pG|`tP z*hC+QbU)Fp2D6I@RsNMLIK?m6Wuil2ZrxAxk(O_nXy$jHXv?y0XH)+(f7#eS{jp8w zjf1BZh!SMV{vV3+A!v0_)#*?9Z6OsDYZ@4jwc-~XX-IyHLhj`|;Z`R)Hu z*y+ptqmrAYxtXp1_;~wdm*A52^S%MUm=+eAbzt<7kvZRTw&ful1*C_aw*b z{U2GV1Z5>cbygzla{C}4I~otiik8;~I!306?M&}nVnAe7M6jgtmU$nXNt9NzGJnq3J%&VWeg%Q5Iy^taG($y$eqq#q9q#bryq5C9 zt<$s0lZ3RA7yRb0^$Hub82OCEsLesqfIC^n?`e8U{_n!oHw}&s!dIzW;6KQZ72S2M z53SLGl5?aFtsqL}9L&%a!}DmI)i^lng3jMN{W#9YcvFS;*oJ5we(HawJoC@&@Ll>7 z-pFxE1qOi+E9=;@GR8NWP7ez@MYGyFnmivrgdO6Ur*H|JQHdWQbw?NYe%J{Z!!ZJ8 zoVP`*5&TBalp8dT6|M>2x5W9Qiy<68 z6T5f&8Noac59TTOhi5K!^D7n)WU%~6Ws-x`IG+$!?zp|6U2c{%cOF-~-`z;9@EmS? zY0@|J_Wh+Fz=Fwk>ctLq`$3M%kh0p~Ne-MqNqGh$ZcbSE_Rad>P;t{N-jfAjFYD7m zMcLEjQ{GF<=3HUk;kj?)M(gy1EHajtLhUM~Kh_`8GO zGRMDb1ixy*uUd0#(2#1S?KRr0-QoVmhU|>`gS}xRg@?9Z=D!C~8f2{r1Y!dw1=-q| zlG&?%|EBLp%SuY?(Z*J~E4G58PmK-zGU}!od@FhBy?hzimCSl@FX=1hr_nh>P@~ok zr|k{;RDqhgL-1S5T8$E9TUlacF-k74tY0h~n&Dl(K*tYDc`f_=pP zSRmWlL=ZtzjZ+xi2_g%G_3_cfNzufajAr0()?LjUvwmwIMGx`eja5YeQmj?4r3$7# z6Nn0u1-i&6fr#O3gA%MJMi}F@!YX1k26j}lhBfR3bX2o>Q?W~3Tof};LV z1`LtGS?|KreT?cVGkQp77=8`w%D-6QeFcPkTPqGQoLlZzJKy#L7)(i(x8x~JxHBjE z=lA{2+J5VJq{FZKv;bZ7114{%)Gz4clc?*1#{m5@Lm_`zB*2pchdl+a!ovY#toD}u zQN7!i?{40C!e4~=el0DO%RH`(#etdV8V+y!rgmEwweY7WXhC5KUb9sXS|7z>=?fpl;wg0pK zZ~e>vTL~v}{@*$BFExFXFL1}_IR`}2{|r0^oa&1bw!Tv9M3A6Z%2u(It=@rG2m}yL za<>0ERFsROW8uRa*vln@BTd|8)tc?Siw}ED(k4j7xl;ZMHJv*DAis^BFCx^<_V_In zU~eKOE9`ErN$4YAW=`9u{MmEd06a!(j4iJLcunyg$zVL^>$7iO2X}yXjj7B*@6(hh%r6%#E!>;HW2QXpP$h66KgC;} zw24{};pk|>$El_lglfe2_#u2v#)!l>rNYknnzA;0zU=)lqK)|N|4RezyC^p>3^ajhmt0;P9> zk`cr?nSv6VBac}#+*N1f(O=gvGvlatq8dOLRlo%H7`Rx~y;j~+c58}c&3Gv@H!TTO02b(hy-S2KX*7qPkE6|QxVEf8cQ zJoQchLOq+oG79I*#VbW0)#dDGe5bJOo8qbx2vuX>iN|MnW8S95PX6F~ss&fu!pz4= z)fOgEhP3M)Vv!*e;3pj#^r({q6gdpMV#>-dIo~n&MW|CS_thE;%zdSe$^XQizJ=c@ zt=i883`wlF;-)OlHZLHW@9FrfSrp#5jk89TNrv)UQIlRCh`O50DqVB5;jhKK@2;K| zY;GYE6CJ&h&kQvN9%3G@xj|bZLBhgHsUnW1=luMOceVX|n4hA2mC_E$LVN8OqxfQe zYk)n(Z#_G2W$2!!>tc+o84v-i7M9K|>&DC}LL6~h|v9k6hF@=B32HF)CP zQYC7TzKYx59fI^jK9ixuzBKsTbA>#*r*hf}bPJZ$ik;NxEIcu+6$-)$Eh#Eve{{!v z982mUx<-l3j25Z6=^Wa+FSk)6WTYZPw`h!Lu^zg7&#D7YY_uo7?13>GUNpTRG_l}I zLx4m{f%n8C(#U*_NJatHO61?Y|7quG0I@L{^`|sWhGLrAVeII`4J0DDkMq9cCmqUF zC$G?G9VwQ4;LCn&+Aa|gp7EfDksR>KiQR&^et?Ur7WBPY=Q!vX#9_;xs_q1yU!PVc z|Iem-b(E|#Gz?x{K;mEi_Z>iDIw{AdSc_^gnFdW?V?als>FbnUrIr^mOn zziIsK+ZMuT#85Ap^@va+CH;a6nNt`!qJIadq@SGqU4T`8YFUOi{~m!#Xwd~;T}Isj zssL*OEb4+i$xumqn?Exy0^n=r`T#t<(7{`Qw&_q*UCBZG4U#*cT| z@jEm6y>@hE^rl~br~KB(=cGqbc;km)XD^W-HP3vg>&%DxYF8=Z-RDFzN257AA)oFlXEia$3or1UOC?Mr$y6QKl1X7(4xa# zZoN?41vR2VRv;;m_>vcmm*lh^X?lQJcdGnTZXN8{v( zFT5KkWAoN8FNu&?kUU}?hMj^9hpd8hlcBBakq#rL3El&Y9mUbk54b?^w##$rBAO|0 zuvj@gI{ggbdXv_@-EISv-hxy&3JD~0`U^|6AH1N;fx8=h{CoiPF=imiJ-oJlqK8xw z!O^?nxL~nf?W)Nbet)C?=pN&afe+YA9Q!}}k0yO%`x_On&47LX)Y1QY`{9|kFVJcI zZOwffoJ=A*rka?ajW)Fn@2k zy}^V6?=L3pC~<}5-D?R*bgGi4q^u~sJ``YwYj+Yb+AmO#{wKE0O9}@tktuqCDJN};n zNYd~#arFO={}*@We?q#5S&-x&b+m2|GFmw8jAw9h-Jyo0x6G0nK!61K>Kdg_Aqk(` zT$Gjf-TMnjWwrPF!fHG?<#$Q^V3yQV7t(d&WEu0)zYzRjGVmD7NZ4; zG&Zm{=06S3FyC;ZGLHzEn+j5hE8Z^tmg4Vc?j=&^jY}kO+5+4m#eUDM0i1MKSk=y%=PK1s(9A%%h8cLwMv^= zk~vPkWWDRBSJ~v^OuLUlM-;8h@cCv7svVh3*i{w+|>*+0~w?V=>qQ=W02N^UYNWd6wPaC zdDfSsm6`1?k&ghegjuKjEPYc$D$el^_*?`fHpgJBI-Le^SFG_8?~kML5dg!zT$w;v-EEDR%T-rpA@ONQ=ukM`B0HTFnJ6<2zf2SaFEs0s5d(7S|A z5%2GLJK?C=vaJ)CY&w=2eb$4UdE#9W@h<*^F8}i}jII=Aep8+F)6(3WMH!7^SL6o{ zt;j$>JhWCWhKtZzRt(FucPoZv>oZm~bBts%VQ)QK+@aHbM=+dZ==G&XgPiI?Zd%v= zsf@IB(yqwI?BlzfeY{je)bx>A6WGUFj9~pwOv|nMjbgmbKD8dn(D&es-Ud;I%t)mH zM0L3GniJFF0}EG&XBc?`!AMIqc4|ib>C}85z%RMk|+f=ElS2Kw@R;7YTwNO>Q zzPr?f5dbge+K)N@Or2{}u^6j)E|k@GaW;LA6@58cBgEzC8v}7Nmruo;6S%oj?%^L> zNb=R(Zpr)~{FPGKxGLTs%||HgRz$WB@}?KG63gJJ((sZ4KHawrZm~wL5EnDq7FtLF zS=vp66#}hr((;QCe@Nrr&DW<8i+2vOuKD_y3~$xde|0hvZE+eD48+o$*yErj2PN~} zu#0M|gukQMzSwA>{HP}Ea6!r^?;8TxG%_j&o4=kV*bLDW@_V){z)o(bKYb&Z~@ey&hSyrt7O(6RzflJhXoPnMy@{oAFla` zglR0hwQo1{8J>BhFgNy5gWymr8m*N#RP#{g*ZSd%=Y;>JA?(ZvLRf!aP-)Et;T0u5 z&VD#bv+f;@_aMIltmAcW5gl`S_2aB-e^I(2}8pehI3a{1*Y& zpKx;E!&k8_uD!<4_x}cc@4tuGv0xHY8fCFV@9&5CP;LE|`+=SQ7U@PlOCZ1#s-jI_ zW@G{{<%imf{z#O>698&YPSX?1{h@|BjxN%z%Wl?EsV^p>6`2Sjf?0p{Aw z4}OaO+`;m~dZuCmja3_fJT!hs+IlXy%DHo4K*Mv~Vh)e!6Z@w^i|OK_F?~j7n-BMO z?*Ro&$fLW%&qW(6`go*@a^VR4nt!^&U}`2=&l(hQvSL`CjR#U-9wP~{S!~74vdZU4 z0nzZusmL~=dzq@Z;~7q#3x(}nweT3q9kAOz^6%)V2i!63vMBbT3rFTmBQ@K4`PUNy z!i-hV+N{E7+12z~`0?8jhWN!7UCGp0Q&>zWd>L-o5!VPA45KQ+s>(>LXy1;JBF3WG z8fgPc0%+;oYk?y+sVI|b8zC43lZx7;xLCp_Rcl29(d`KLs}~^LFHY}7xLVj8@BgFi zUBIiVj{g5dI2x4n1S&L2sj)@{uR%qF8ch)7L_-M|HC|pDt0JvbQ#`@QH8BK|9(IWq zD^{%7T8q`TXe~vd8ZLzhRRJ%cXp8q9gDu{;TJ!sSXYGA*5@P$d@Bh#9kbU;r>oRNB ztXZ>W&CI&}=zzp*;;M%1mfv=oy`lW~sXEzF|4^%A{Nk`@m3vc0yLo~}+vZeJFxo}I zXrE-@GulP6e)n$6@|VjdgQ>etqX#`4YB?C>!sH-VWnj(zdu&vg)Kvp&3*Ijd=%6rP zW!zO3WN9P|r!Lv({6dP){Q7oB@%uuG&%8(}3XX`GF{cRqr%Y8?Gwi{dgNe4QBD55@(mWjo$Q}f)QOO$L#8}IqM+I`T&SY6UI7tnhYn1~ zHEK|kGiTU2Ec)2cJY6oq?vNS4dNZ8uaF9`hYo?vQlehv#J|D7I879!ipP< zmWj0j+Dbt4O52c2k47ZDV>LTednjbRkGH_7$HZyYeKoaDOsfVm|~GWk{K^VA_72egynHg{MP5@3oQ zAKmWC&TduzprO{~9Z9moo6g_0nmG|PE~lHC9oa^Zj|L${+*8t8%+lvNKP*Ji0royC z@NWv@mvD%yBMarv;EBZq`e+kWhY$}%jQ#s%7$f>mj&U5LtUlXxBUZ;YeV_$-*>#sx{py|-t#8D3s}H?n-`!k&b`P!&-xTxiuzbt@ zcu~WogNL62yLd6S`-7NwI43W6+NYKKvSKUupRY^qyzXO?>tpSnKG8Wly3;4`aP+QY zS_#bIuD{!;NkmxUo@0mv_Rr$ly}8jjOUYQgdux#Q)#8TD%3FN&CIc_j4y#~A073d| ziaMc&SMKXZ<0W41oyD8p89DIn*s`Df<5z1hKC7Wfb^~DS#p2yN$i>}D?-sB8{QQ!E zZ^f1!w&fQU1&40=1@}u8@BXkP{R1)_Y+sU%u?W-C^nGfexPenu#%|y~K)jQoE*`ig zwk*t=tfAY#s^RmFH4qn}c;HJ^S8dh3++Ll!$q=SAFOfEAo@56>Y~V(b%~poKW6^TJ zE@|*fn91d?W8I2Z{*!Jq)buG%RNlAEcfxZ%$oYbtH8sr0~_nkZ7zUQ;PG z5uh?Ud%J`(T3Tk`PmW!BX4+6f2@EW*-IE@j{Rh65G(2c0jTc6jUN9aE_vX^i%=MD_%i|bIS?0hl|tDlxTf^XAQ(>`kIuTsoS z&0->C^ygd2KrSPD)aLidAumrlO8l})QzIvs={tc{oUp28wSF=E77Kcwi|joN&K=lB zfcJV!Uy)nQ6UVpWc7-0lpjbgG+_t&6;W;&7ps;IbB&Rrt1N~9= zq}%G;1@+@jczZY)3+J5X5A6%lQYgbvqM=`I|etfJFpHSj5d;L@y zja-9_pXvK90?Iq849o9ULUT%mdz5dlK&gV!<3CqUGxILjCo~Vt_Vyo$hiB32JgpKOhrWd8@iq2nR?LM+lLMg~}~#$pM`cxEY>DuQye(n_ME))jlpY!lUR z+W@kZWB5Cvdt>FdaSt3dc3kCU9BPyD~q}Eb(m;*@DUjGo(p8vB6YA@&k z&(g37zOD8(WDo&e)T|MiAl?lv^)Fr7W+E-OT5pct&*I*xtc-xq>}Cw^%tri5IQRS_ zJ${v)|9ruXNY^ky%$*=wcd33R^31uB@6o#9B#f^)uXIeb?reTm&p4RJ=4# zE~-8^_k_mEV@b{~Hb>1q#Vag~2acK}ha4jtO6hMD@y+T;ln)?4TKdf1(K_unDU+Ap z7@h0$8{5hr8k)LoykJHdty6?m?T>)(kjfmuGdJ(A0qAXV^Zp8u9z0I?pS75rqTB5} zZKivfE!^`hx=_{nq=i8aN}y&(i?eRn&a3Uerk)0VQuqN_j2$`LiaYXhqKB5LGk2}j z<>zmH!J2oL=68kWfis2)V?u>Q7!qYiVjNa~RW89sS<>t7w6c9UDIkzf%UV1g!cG90 z<4Pg;f_1O5dzrs`;7fbfJEdp-F9#jat4T-v|J5t4?2b=PX5%ztK-$b3V~N45R%@;n ztkxqHzwi%-*cCQ!Q!bSM?{J!0`Tx1HVw*=Rf}PXM?W}A`_3AV;pG5!dMIPGiw9i?L zihl$r{+QKyv#gZ=!x@@zF46(|B{sm5gdp3K1+f!wA!pca{>kdhY;D7CU^IfJA>UvP!rJmVU(pEhGkkH5=xL{AvrX$QMh(F7tlPB7$pqck72K zpSOs=oF>+UNugU-Sb1_-d06=GhVe`P=gOBf%v)mROT4@FgYw))OZjtLdCH;v`tU4k zjLaLAxeuB3!)5lff~J_+s-h$@iU4qZo;pUCzFbyV87W#@go1=+7A1#i8A7p0T6$K^ z!q9Zte{c8OEcKPJ&2TXc4LVp6r7w`Kf?rNjZF|N4!}Z{cfoP&#^A7^4M?Wt4cH1V- zV)>%p3ZufhKmOUaHbi93(1L`|T*4U?`{A3|avytzqQrc0rn-A<5(-q%0OZi4Yte%- zlmQ?yu#!0T=g20;BL|x#NJ|C$-&>k95;PdTqlCny7)q5w)R35>%(Lb&I*{LFV9M7} zTGo1G%&W@wC%Fp1o%`e;t%P-j6S|sYEO+{(SQH-(7BX1-W)`BY@h$`CJ#^5Yf=MS_aK+GiSW^YJMG7lMHDwgbGZ;5tzC_=FGxfYt!R>YTx@p zQH=gOu7gvio4-R|je56yuA6Dj&8TTpucjYd;uWR0vV|Ka_!cR+XfU54LdMY|fw@U7 zVk?bZOE`@-B8MuDW3=|y%t@y9Tf+&8O07c*XSG!}wj9Q{aD@n#xh1C^xEOpD0KiY= z?e=BPUvT09i^26MzqLZz$T2uu4K@E?EOBg?vM|37_pfGuzkMIDbA^?J!Z8T83I~bN z{EO2!v(@W_sS@%D;B%(}l$c_DOpyhH&Vc zDSdi*-~oO5d9N?&)Bn9o7AAPcS5Ri8SMSS=|D$@}p>gbRLS8wPHEDzY&6}hqc4;j? z!Rg(vXx&CiC;^2MQP+}CryZmJQif)^c9F~o*dY2=n?Ei4Kk9m880-&CzgmWVm6da% z&UN%h*O{{of`jT#ADyyX!hyM|Y5m0KZ}ZEv+v53V7si5%Y)wQ*PUmD4hDHeiAAfAt zr+W{<-shgKwx*UQ`}jp}bGk)Rea(*T8oq`{-KK=isiqdYg;-i;xqJcQS5#M(rd5tZ zVlUJF0x{cMN3_~%16LmNrm>&2@agc66#3(GW9TM-9QO~c=OtW{=HGjZIY)h)ts+;I zmcvpDVc|iuHERUT>e_<&c>!~c#agkD;QsAnPM}}UCl6tR;1`@?4dXJ$wUv+?W55C_ zdql50?lL+*s|B>QO3uJQlngC?_6FzSPkzgtfK`~DjZ2$2d*S@~?>a;zzWmixMd1m_ zekD&=C4Z;%@9SazZ1Gm_sODU%@&Bl!c!~r@lN5Y^ekHYX)v`Dp4vhs*?Oi zr=5Kzwy0P zwkBcnt&^peMs2YBRr3Z~xt9>9>tkNeueSUX6E>PXI&4-BQ!JFDX;LR>82SG46gAZ` z`rEU9o>d>Bsb#6EVY(XS0nCJ!mpH;;2KYC~TCQQ0?T@zcyHUu?@be-hYmT-YoILB0 zex^PCTVMiX>l0JJHU&%pJ#7Uxjf}S{$=Dfx2~|*APE3SSKCpiOo< zxZMiP+?d+GA~Vj!JcHmzVg5W(Ci(O2*}?Q?7FDQ2N&KV-<$eEWASBTfQDUw;%1Krb z&&^2AE`D_6A15Z~S5S=N)oOy`60Tz269z}JhEDUd)vSmapHKx`>$VC#rcFoIy+O3< z_0N9<4_YGG5r6-_t;CPRasS)eJKsPIx4P~~lA<`n5>iJ;a(Ke9mTdh1_-{UhV7=1N63XRep z&CS;n`nD&n$1HteZmFJl2sSjM|9-}46~|iI3d>VHQ$Ase)!ry%T6S;rLe8~o*}_HV z97{97{dCxJ=;VCH&1**tK)p7qs(NNQN{`d=2#eLuj8V-1{Y-ot56f-wp-IgaW4hJR z)bt)uwEDM=XOB@Ea3{=)yE^U38 z>N1ZDGOKc7Ez9b}qn4+?CC4gU@)uX3wM(8H%QM$aJ4HaiJimY6pPZHUWRW4t9cYJC z;SZXsK6e}`U4V?8$f0aZ)7z@|of`i;`5D1#?}{I#?FW?qh9}}qYTj_ zHvBITefbO!eU7S!;skFJ(apF0ZxM}tI7D?ms6MD2)wx17^!=Y>`#Zk}+rMtd_Wcgq z{+(uW2cIOq|J$YxyZ$xQVHVSE*8&L%SyJkEh%c##JGwgPO?4B^93o+;li5gQCJPPy zOd%ircquFlU0z=d>84?c9Z+RMQANvxe7E`H1TCi#(wG?knEDMv`MAvv<(3E9-l-PD zTI6wb5VSpVExSdqtxQidUSf7nev_wvNmXig7#zgZ%!fvLJL6SCvspJ^xC>q-8vGl{ zZ=LCU+Lg^8{Gbrfac$#oV^iz-1VrMldq^YAOE!P!A9GQWCOiAWw-zwE6%FhNH+hRpQ$9&uXAeN*=QQ)|p?rCwaxlBjRmu2PN2+Jau1kTk;ia zwez;*o_=Z}1(hugMpI5~2<63=?<0?Cby>iP)@47(5RE8pU~{ibI7o|NB2QND0*m2n8+nP*d~5rocO!T>C5cdpWm+B!)g(bSJ|{ctu>6S>aK{ z6S<3mFYqTFee-3pQUV>e%1qD~_y?uYXb{6~723p=NTc1N-U`b*39*py)4Sqtmn1T$ z16xU=&kQ{X3Re3IYe0$%>dH6k167z4^A0aAPJDe+aU#Bn?f$e)SsaL){IPtZ(AWQ^ z2J7<6_9%G89&{P~ihbv&reB_BLXLmK%~qz#m09V^tP0Ec6WWV}DwLMfZR;b#sNGSG z_N2K)*Y6cF{>(3=G!!KMM!ScKUo8(o>yEy(|0riVxc$f9dV#H)9cB*R@Tj}dnEgk# z$d5B^ojS`ADq1%dUW4Bg+Mp~KmugsIwlc%?-I$-(h zUK!=ERk65aSgQ5et`&5;eW}YQ$oA*Pur={TxBFRAoXvp6Xo0@Ie6|R3_DC_rWNfFf#{wv3p~Pojx68C(r{+EDcO$G5^2b;S)(yn4Jy7H^VsiDm4643 z$rQ8gyP|8Qn0&A0;D>b5B79BBK+#XIp;$855D|?v0_YQxNrQIj(u4;!oef(AGjCXt zTdg`kfcS!c+{NNn!RiOoaLgje6s`nbR82b_fdsSNp}Gobx_?%-Y+lsV$A|TaXZ1{Fml34 z>xr}jH~-FnsPunkanqynD_oA3mp<(f;5soao>8>6rkcF$mm}L=>Co2td&9QgN~8>r zA(nO5&81zKM@1^XR#cOJ?ZlgJkugqH_v#S3i;UTdyvow`KV1I(vtCtCM*0?3Ss1h7) z3uTZyt0yQJi9ZikO6gqcRXA|aw#Jq=^3u%wZfXW!ruTVAuueKr439ombduJ(Vz1~V z`A?jtdC{a&a9h!^zu^>c{1Ne;9X0b=%~0W)2tBSa` z$QJX0n)BMp{h$U5anw60#*ku*%EjRi>^l3rUoEM(zt5xfxJE0=>SIMKJAXe|u?q)n zE|Fm>CPY7$p_vzXcXNkX|GOp3dW=2O{2k1C$Yf%pkfHU}9k_V?>)#rj=KozA093Yz z*cn^vXf2f!WzXT>i|irY7e*BegOzDp`~=k{*;F``l;~erArhGtTqsAmh$&f6U)g+~SYO)_Oe)yF=nSEa7x0>AERUZXZ zp*80?4lz|L{O1m{eB+n7d@8Gar5*AG+M@DDuyjVwRb@|ub<-AI!qY!~y!w`;=l@ac zekq7z?erYLY&wVbu5cxnqA$Asv?pT~)^&a@onlZWiEqR2kHK=34MuiR&AGYSVZ_fY zNjw-(|L51X_Dp@7e53$u6i_vLZBF#yhfRfZQb7OkBS4qvmkN65ArQ9Bu7U2i{1!au zI-|Oq`7ttaF$-j&=3V-X2sGWA9j*HsAApeqhPhfxocz9x&ATqCyMpnHTh6fpKvk|S z>Xo*3PBqQ5(F#obyvXGTz=TCX*D%5VvT2CsMbxSi8@68QEElg#(IvR^oryckdo|gZ zx~zd(z>@3%uiX8IMC)E8jm3CEy8Jz zl7iBrbHC2d>SwA!Oj`UllVB%EPCH~7NKR{=NWecfh>?}g!6UuQWp{=W(MAi?*R_^d zM)rzdzvKpTi|zYEe;7D+b`4%@gbmeE*llvXW$nzW>urO9DWK!J{&hchOODNeB% zJB=FyGWY#Ar*S`lfrqj+r*Y=Bq~Wj)n%m|E$8r;2*0G#_{q5?$+XPU+PURE{_X%4v zlH}jve5;_>-zbBgYr>B9!WKP9XMg>BSD9qWW7v6=FQlOYrX)G^Co8`&VVtwQH^5CPosFVt$~FF~(VQ9NYB%zIkC*aP5f zPg%%1I-M?kJ5~KCB~*4SLFfbc$F>hcRgqH|b^7b{lNQ&aqm7j5Cliyh*(7IGPsxB$ zcmN}1*#M`z1cX@fu;35tPp9{*{pV_J4ZczfJ>+zDTIF&6J!i|7^|YSSC?oRgLxZlS z1Hb{SuiY7y27H*XGL8Ib;3?37nbx8|H2mK?$J7(;HdpPxEO-MU{<5btMB%Z;iQmw% z1u+Qx8rz_RrdsWI^ZhqdvDLB{^;svZw7)w1{GLHYF;_1AEeAyUBaK{ZUtL>`AKGs7 zz^r{cJ(i9<`=UgkjJj#RYMV^SI%LC)A#!a=RAscv zbtnFwU@8dMwd~lIB{Mr&QPWLNTVh?po&B_rcj0_^_zHW8k$17s|7nX8e_wtH{zm<^nX^ zpSL}A;BA_;^!rz%ANu!?v+-Y3-LAivkS?LkbsqiOB732~h@b>R>i_!fp`pv=m+x;= zfY$y^$)pQO5{A$p_q&lw7~knBLkl}lb%VBveOoKcmBOdBrSLc0F3n76jwmeq*_XQ7 zN|)y-M~|}LRdfI`lqh~&GR^D1XG{>p-tjlSw0_@|^hs4cfcdrQCP`lP8%dHSj^N7; zW`BbFR1|!gARM5Qk8FGay8zlOh4y~amwQ^Ar7FjwMa$skY22^i_q>GLo}jEy&kZwU zJCSAMV-EDjVN5Y^`U!vAUxP8z{xz$ewWat5mi>z%H2cppn7feaM9m8QVFHwLB^zo# z1lACl`+bLLWvJ!4*-pgcy!%In(5Rm&(6rv&&N4duvi21pv~&A*DIAvG#SPDLpEOSE zr-311rpwm-m)`N3g-^44)NI&L;-ZYL(gbct*lwxKSzs%G!$#AF6z^F(D zMqkrdP4Kh+B$WrhRI|#-q-b=zNzvslI$Ll5{b!tRM0sS6u~H$0Iqhs{UM_(A<6l#s zTpg)>p7kzY8(sY2oq{~^gQ^nmLNs=JuASUFR`W%;5&6P4A~{GEpU*}6k;wcf51eX| zBWze|)@YPqu|Jq#(Gf-i@((J|nzhA`C1Txlm3+&UeEUmEE;MZe{zKd11KIlJ3tk&i zWV!)V?jJNpY@l<4%E&_0i~z>Hxey-vlw$X_0VA9($Lxq2Al5&A=afAcou zvt^pX<;F*xsbe(=vJGsbVJh%jp>b{aL{$&`6VDhgbBb!DY=s7q<%lp$np|amjr)Fu zeGffYL+f!T219?_KDSz)SnPJZ))-X0z#0vQ5cMRw%>IchlO`$Cax0SdDEXHO8~yJ{ z*ihZcql=;H(hvy!U8;RbiYd^4Z=bTNv1|L3kJCa!Tk)?hIi{?V^ZkckJ%Cl1Fxbv9 z72!L-WhH?tE&fP!w)TMVsBH1bEb&OHAC{YAimo~Ji})(j^vbB49vNFSJ@}5E5N6u! z?;a@%;^b3==s)|%@Usiz?dQWjg3qWPhL-v3+Vd+R=1+bknIpX6#fS%wno78i2-IQADc`)$(qYeKyXuip~C*$K=MAXuE}N3g;1O zbzM;@1r<;b`71l-jVd*tvloapmAjYLwdZK25^QUqm2GXa|KUY$CQx+|=39mAAJGlh z7Mu}Qt5(+)mRYsP5306yT^SdP|9-c+(*fsJe%s4oHwSgqO&dQn1gYa^ee(~J0Bqgp zbZbhp<$CevJDM6ru=n{MK`v6nu9d9GRI4 z(+zG!T$XnIbN&6tR=FOsFI9V2Byis|`0w7k+fg&8KQZbeU^iz=-_rOn8T!1jQJj2JB?lakR2VVz7#a7=Scdr2 zU#l51>H2G~tBfX@I;_sF@>GA_?@pgOy|!b+e|}RcA~gR0j=#%3s1(;ww?+6#Z}7zZ zTT-{NMHrx`7d#P~@+}?HRC{7WtY`a8s;~gNNi_y-Ti|le4lL)l3CcHSpBN|3FC%gk z!hRHa_OZ3{w|xxA@79+Q9eKwY<n%DlDETTJWNrQpnS$2;X|<>jC1)Ef+9TPI zY<`p^Mqp^>3|sh}r{78^{z;(>cOh_+PUjFu=Xbm{VK)i)=vXwP2u^wpsYYBkH9)9Dt9n zor_V^1O248n_{&hrp*oTMrRcg3?)}SKaBaa{~=rd ztQK^B3xirND8-Pp9WuDbUX}ihmEJ(}X&E?8O`QUo zkr$+r#m8hhbEe0I`Ag#344E+?&etnw_#!0jjb>nKX4-yV3!ENQPn#X94VqIBnpp zJuS`u?GY$_))i)moOx!ur~c}d!QjcDxfVvT*2)XN6ocBl zE z-m-Xu-#ODisk;+b#%c@teHO6IGF{b8fMNdwbutP5B&xoG{v&Db^ye`Gn$Usqq0Ii- zJRNbb1hF6u7`GZ7gmjMW-EA4{eY@>s+5ZYkrc}<^4$h<;ZagGTz9P^EeU94xew(AN zx>Z)IBT;`XqKcYy3^BQ7izP2Rp$d&N^4-*r9d(M$gf)jYCURPGjtc(ayD)aqcVT$Y zHvhrf92Sg{oHa*9tqb|fd2Ma zAnmLp#6?jMqiWd6`%S(ub@gm^+WsUKlFpnR{9M^ZayXjRPu9@Gw94aIH6b0_JGTBc z*gN)g@K2oqO}NuOGf+`K{0rr7pWa2y{tg&@XDEbro0Tv0r0n`Ga}4e`P2yAko;)f~ zO&Z%UzLRBb6RqoSoT+Qp)kw6zTb>o%pG50=K?ut}v_QgHqVoA~p&eUv& z0dCI;*>(lsy4RkNoO5vUuZf)|HxL$`^nE-Ue%_& zJMB3)SCztM;=dJpnwy&@B`fwZPn|+d3+*t^&)-1}ya+V1_WKys_sNW#jw97{(J~5| z_WLX6;Y#q`Uw1JCX1(N}g5Q9Uxm-0dzp|~yK3k+%$9%o6N09E;hjhWYRSjX$Cqbvl z=2$Tt*BMmH{&D#jz8`>JS5DvW4Za)jtZaL%zL1=m+MV$4Kw6QTVThQyQ)2&4iTykM z$y#~?1+T!;`r@C{V(2~mE{9$#1~^$N-gzkIxx5qZb9u9shrBsKUe`Tm*6UyE@}3*y z9T4QrvnSx|>Gk>3qZ+pPxrIR$0?S|Q8%Qq$&RaVF>i484>lrctUU>h4h+@J=fDw8sO@~FUrnJD|)h! zm*R$f#SNdZ8~fErc~{8~Y|t(aNpvqZLuK^&V-S2Gu zZsvDuKjW*)Vn6iVe(0lw-kkc_nsQRB($%q*(Y7C zyP~~%Z%+K&mIufhlwf>o_KhkXS6msX<{FWlntc{Z@-SumsvBRDE}_z!skHKYLZ`qJ zsV>%&&JEDhi+uV7Bs%K74kS7$4vCh~oZt62Y+fnk3gg0Tl@w=>Z*1G--}c~vGo*bo zB!#EEHliJI+sXvW+K(!JaK2-PsoE(A5xMF%6Y#$MMO3IF8lVcEl4gfy=u```o|UUg zl-rFR9+ttoTVCZfn)L{Q-H)XgG0!y~+5#H=`~A+Ne@lPSRTt*lJV66R>{FU(m!Q66 zU)3%+Nl!7;8xa709gIa?9c@!EK+4&D9S+03A)bU{s>RDSO~t-+ES5S<*DL>=Ff z*M%vQ&cA)9+}f?~)$CYcczM*>hI+x1c(+bPtRX=?jH1%nSort;9$;u3+LFSO>4uHV z;K4T|?ItqM)B{&SbXAix@Gy!WVtV1$Z2!UUZFSc&P)N%o6=(;E`Dk!UO5{5TpRg@$ z`(E|`5YdW?iZ)CcgnWLabg%`=5}k9Bjm@y!d`1u*wEb;AM^*n>7>aV(XAbZuYzO6D zW|7G+b_1K8dFv3x&QZx+s9#kAt5gWg$8{n-&40lajE!}&OtoPuJW;h4bV|Byth~qp zB0L~9Q)s{U*`gxTnIEB3XU2Cd@Ys!$=sx|&r$~0Kyfnz8d)DG8La{C?iurfV6FFO9 z%7r}dqHOr1faLz|_m#oa@&VOBM8V#0k9`Y9vSy727!~o#r>sx+V*1wT_gV4Rww9eq zugLb31g9TRAap(ZvfB z{einTkXq4&=w4MX^1&TYhu8nd59ov+`Rd{Dq`)r?n`(VHiC~A{)egT<-9-9N8=y^N z3GO&xYa)Ufaqdi2zEM}pUI4bP#5xZC>g!rLMGfuKJNS+n##W0TH%auSs>~XvuF2-a zfIx4o5mWVfKz#biShm8A0J|i2K+p$sFjBTvwjW++7H<(1G zr`+4f$ew|K-6)`858>&$$(L6?bs!@;q#e_)|LK~&2hdlUsw$^zH@qS#Y@-6<1dN8W zgUma&-@^EwbAx%Sj5ZdcxynU}P4Ur`8py8C?jOQ>-eJuDkxq!(Nr3YQbgZhGkY`){ zB{w^axkD6pY8)J>1lY@O#~vdje&ljjanhHJf~O;}_iDQzaNG1Ve>nr)rTDVpY98!??H3@L6VR zEb_X+X)EqSjB8=za?~f#V5DX`XsVU@4asGKk>QS<_5_F;+1)V^E_5r*IKr}LzJI)8 zJQ@Qj40z-;D^dQ*Aok~4@(`54*i} zHJSazuaODi!^RDkP@W{}=V1w&KNXNraMfBT5;F5cfBe#}=}1Sf16rC>))~>yWLVSz z=i{oE>6KaDjLx|?U_Ct_CgIPetRNTw1i>MAI|TmU|8PLNt@kBqwW}XG->ZNtI1%V@ zl-r0vw$*KT)bv|1FL*-G* zffcya=9O`@=Xq(BS1NXiYQ)zP&&tt-Tq;0x_|27>MW(1HRP8@*giEn&%~!o#aE1S_ zYXtp1Ymob0eg3J@SwBaXZp88Jinf+RSzk5&RtSO?P_5rQAO+d5V;)U9rf+CC8@PBS zuCSS)p0>TH$-PlzCH|ke8RtxMZevz_crOQE8JC!k+qYHo5@mxVEBrB6GIA7LYy}BV z)kywHBVnEyr1(GnmgZ3qEfJ<+WJ`R?CCsMF(lndGXf-7YViDue@94Jy;)Q=Hf-h{bLYtw8!S~4Xz-D%dKTy&Aq1AgX%+<%Z%2n;0$KFATFY2IYoYZ z*0XT~LW9_1rcywp7qcs{m;~J_`*MfDh~bq{?k^Y@KPtINVq4QaTK5?B)tu*c;=klK zmqOv#T?KB$68&38c8Qyu-+`NR+O(1cdQ6y2HU$`z?%4rT?7GWTKlJZ|Z2xyzSAAcz zE!p?2su0!__FeD(aI<=G-hgmP<32VEK(S^;+h)TI@d-H*`lo70K}qeDjBd_R*l-f9 zdz}ozOK{AVh%6ne?L!bd2Uc0(k6R4qp__|T7p$RN#HE(}BiRA4+Kl8Pv;^HS0Y98TO%m3tTyLHsLK)ib?2UJPdntJUNx_6`S+W9WAOnKy8DOe+Am(Vueh*0!)l zr^r<9`jXtMnf@gWP5!GH@7O%Jnt5;y{&KEf?rl*xB`RO0ioC;-O~$l^wbICuGy;D5 zQN0*Mm8)BsiQ{~Pvv=7wewf?C&=h*r7tYi!5KFc&e9sd>pY-u@`-swYYs(PMi`d|p z{5h3bTHLmQ8#bmL#tlxnM-)|mern~1#ooo~`d&O_{iHsFnlK^ve_$2-l_}nGB?4DT z!)D3v=TN>;JTXPE?PO^0-}<`)mL0c=(Q+qKoxGO$oKSbQ{@D6=9_wGeWGAF?{Q+~V z_DCZ^h!DJ*nSEQG5T}FO3+=pHS!*$c=?Xgk?ca6{Q>)hj3@5+Yf_I?&P5-rK&DzYM zROg=>KOz{up2u1GFYP`Aq_0$`|EWr9CH?#Z8VtU*k!h{d@RM-oG%^Ls|`Ps zQ!8(E`a{tR+C?fKU*cVmUNU55<**ozG76%D9T{Swss<%yR0KJ;#zZfwUKN_OgrK_-i$k-QT6$dv`k8kIkRm(;LcJIH3E$my1MR7_aR@ebDP!*6{hL%=wlt@R z<2HVi89#b2`%1fQ2_8lQc^=Jlf zpI&cwTw;b}31G8mDRc*C0r8sc<@S1>-{SAYJ3Y{$h z^v}Abi0yY=Y{1_h0v5K2XWS8ry{R~}^gM(*xJp!uL=!FPO3}hB7YSqfK%!urN)!y} z^PC5qug7-sC>#M^Z>|Q1-&tr<@8Xjd(t;65D33KL<&R*q7ybXs2!``^Y3`2GbS}kE z<=Zbx$Uqryj(Mqf@mBfo{KZj^QD0&-%YE?#q`nEY1p}=Vwic!3X7N$(ZzXRqivx15 zStBYp!!K1JN3c#`l2b=~HoG%Jf9T=V=_CM=ex;RaXXwAcC=gC+@r#rDhvjaH6>5cM zikaxm6tgE&q}0*_GERJz8=o_9E|>9Z&DpwtDO&dlzlom16--V*s-D6vOm%ON%8l|_ z#fj1Z#fey6aiS`pnCeWw7yW*~fy>+sO^<5w`6pb!PJ`}M2=#>!$=*Zr()`0eb8M3` z5}n`KB-BFa-7Pi&y;*eabYSfOLp33bAhrchQ2u7?+EHxl%Uh`eM3)2PMy zA#c}M;-{|A4>jA8utH~xc=zS^bYSsXS0rH*l*RbLeQvklc!AVlOi9C^X+I|c&lup@ zDHP;uHKhBltk%vTZ%LvkOAf4J$G~Fi>$tDYjM-JuTO#C1Na)^A= zJ`*8_mtRPd1Nn4+w$vfq>dE=gvnlkz_=8&O2-AU%L>4~u<-{NuAsdEDR#=^}WCMWy z(mK_NnjqgQ|C&MvIrCnNq8G^%}*Q{9r-OeMB9ik}rNBX5#XH$|oY#hhz8#4$H;Pjt=1QkLOu zQ`C{59R@E;?J*0CU|0fe+ro03O}e$Tl{VNZt%j9}u=J|QwcV24yV3=};7qTs%I7#* zyVjT|FTxW}bZd3JQjGgU&*~-Q3Zo5Hu6I5^nd(;~{|saQnShoHSpZ`^OS5Nft2|n( zvnzBVmUZ9azAL6$3B#C20QDC2fe9h(2$qfZbYWZ+L!e1bC;Qy7k2*qExwOjfV@3x+ zd$EXwxW)pI|1AfM!tzPx1|R{0`GW(7%PDg>$r>Of7rL+ReLyZqc%AXg5PMa@_9*O(k6A-gi?e#7i#@rf~^Q#v`tYM zNL}<=q~c#&;O1euh-tA^4pIcs64eqQM=lD5irS#6(L^(&@+C5Shb6N_R)McL7v7dX zAyeZ_tgv!e%(VQL*W%hHL0>YYIqEH25MN#d6~pf zmC*gb3+!nNNWj4#KG#8BCdid799{wKfDdU+u_H=L60VjM@UH=UGiv1W=vPNJY;U;< zwIorX25qJfg8ypXZGQU8Yq#0_vyrC3jn-i2@#{2hNj}s`I`K0fNM%c%1d|rRrgq+B z+WzDO_9rZa6X9m;Pl(zwK4)azJ6hC+X88MlA^}g|w4QlD#|5em4OQPG^L&pyG)kM2rJ z453lzVrktsTKBkRo=K1(@we#QpX)s_mYLe@bnxvbjnmPn`&XRp6!6gNRY+)FqzC3> zey(f^L1UhD>Je3e4dT&B1^fV^F5k&?#6R4I0)CR_KAGuC%0c7u=3r$kk<{9*fY0-X znmd+y36aptv9N{a<&6{vOz>FysHj*6c6>WPLJ%^xQLLU20PInM~sQaG;~akERio!6}61 z)K}Yg;`@b;&UX6YU={YdX-u}uN&Ye6*GJ~qKno3ct{YvD56+x*oBSqLR z$F|jEx-7&mkSNV(8`c4hoZxR=*l0et+rz$(Oo&GCpH4sQ?UL>dK zWFCy3Ke-22R9+CnW&^U%Yd@e5op4DCz)JkoRUCO66Ibb%w&^BO52tPaF~uGeF<>)S z`FmrPLO`K@L0g;$+jyv|CIJ_k4v@iQ-e5>;)@X!R`$K1n@mTpTKC3amm&Jt8}NT^#-3l7_M>3JFkN?Nw)5W z%-VwGYc&5E*Ey=8H9O|b(+}sIW%|KCfj?BSk|S6Rnvy67aBIKVJ9i^Aw5PV?rDwqMVRO$uWPx-=y?NnArZgcC{al0=*;Iw!L90dLaFh`mgWC`{_k}2{}sVq zv!l_#=ZYUang8}oELdW%b|9G&<+(A1@?T$_r2Mrj9OV;#XzIZV-HalcBXsd!#tkGv zvHqJf_5j*!4M~o+6CBNNj-RhN66BL6h6Ai3I&{$h=hnt-)^3}5{X5uzNIR$Xmq9i9 zeUCJJi2!VFC<1K9G5wG32`RageSw`X(jrTmXbX7yN6zJd0a?_GT=^1m-{f3@%4UVg z)d~u%OvyuXe?eGr>to4z5&jT=-Rkf=UL31thXzve{~|+Z@I)Z7c^?RaDg1T;*_hX7 zrEwSz09+l)(I0MFgCGBJBIDC%DnW>KQOH(R|aX2D#T~47DOHEu?}7& z6*f~fQBy?*g$e_En8LH+f4N3e-;2D|hrQj+@3=*~O0}p!EOCc#k9&6N0cN6&jNY%# zVD!8`Tk+Z#(ZM#P3icu|6rGCxLzQ@$wFjvy>=5@hX$GTZ(iRYBD}@r$HLkpB{@(kP zsHWh$9bg+`V|mK-=Zd-qA3f+KPKlb-t$cs}FkA*@7;K@8Xp}Ww7CK(!r={3m{^4!R z*$RGSO`Rxt(m~&sEorQFEn*ifwyz=Tv>eV{Y!02~L<{qtH-W zaI!T3b&ON{jY5jLv&^ugME@^Xj@S;OS_s3RQxio0z?W_P5c8|`s{U)wQXjlP3BehY z7v$hQB+m5qVHKrx7~6(*wk;**GYq|W(_U@X)w!R^% zrJlbKTOaxunpKqO)d~7&RNwa%)PPwzv+JYT_(qzb#wYiE#d!=EGE3Mw#Kv@|{P|9CBT;%5p#S(q~ zb|&);){SBtM|t=s4wQV&qXwB2h4~ng5>baPK@ov^k*iB^io8cwlaP!X`im+0Ri;I4 zLAk+#A~zPg?)_saL+A~juuSv%^xA^+!Wu1ahPN@-Dm)t5D#8uVa;U%u$%N8j&mmSreO0z~0rk}ePuVuxLewNQRdQHkl zhc@!mKkPqlWdjrH5wuAa;?==seTG%41$|eM5~gpHy*p)~I@qld&2a^Rjc+>D1`=)v z-&(Ho*Vbc#0CtQUOwHEd=&VywWrYnD6Q3_paPIpPY2rn=|~jbRk&g6G$59Uym$dkB{E;q15g(!6%ZHm43@k3HUI%L2z3admM|dxnl+jWEb!so zCQftu-_(HO$+mpqZ7H_<#f~x?dlsBjW_^W*SX`bk>~ft)HINctUha~Q*jhr!BUK@u zKR$9Qy^%?szkDgwEoVvANJZ?(kwM!gjc6a0(&8aOgQyjC&pugraY7RKQoYy<+^|*39SBBc0%4v=E$Y!63>S!Q|(kaxQf1>smca zpETa2{f!759ue4_xOe}f$Ny@E2m-03p%4!84J%;>Nae7RZ1mRL8Y;lb{a=t<9k5A? z)@V?ha}{rWijH}a>nQTwncc3izL#_PVZsjGO(MB!_TPnAF5eI5Xfzff_$?5dJS4yQ1}Q zmV~pW(`-pZE-AFxcc~s>Ln*T_wT=I(1uxR=dRwgj5@)eKYZ_~`7uk88B|WU9T#{`4 zUS6T~``-ZEaXt5s|B)j@mWrhF!i&Ui4HwOnr>)q z$C-sX)EF2)0=DH36gldS;BQ@|nXfNlO34s5Rl!-_Tsve)lvTvq*e#S!V5!mmB{t;M zTZ(};RAWrM1~tYFFG`K!mP*}eTU+qy@5R*=U1kCvVcumEOkc5u{oB+>#V3h}3UA&M zYoLDbmNr5tb&stZc3Ory5cAGGt+wECt09w9{+}E#HR`#i37dTyc=0cjeN3%3scc0# z4vIs$ocS;`_}_6+rv}glN_Rb4EMPBkLDOl0=?(5ZuWU*Ic-@E`kc|w)jl4W-3(iUc zZ}&o9#vWsfzxt72qfoVgRd@+^uW+)96(vg`WV@5NQV54p?={7e@HKDl!p zg@Z9c>Bk=0N5;bm$%$`QhuU@JYgoP0U#HX`mGl~%-&!$>ZwC$m=iBoM12S2It?%u- z!WT@o6?}m`t0F1XPRU7&&i*P;)E1ojxCZegO%JQLA<6*{EaM4ReS1xHK~1gai^i9! zZD#ipgCVm1X^9Eud8bM*-?Al}cG-!~C;3PC)M9<}r)<*K%QO-YnpK@P*b5#L zScp@hmn8CkSPz#WVsmW!ZTHnbk#Qpdp5}V#A885w-xP?Jd=JEM<1z8HMzDzcb&yZxNCOI|0^ zJTJJx=`M3*Gh42mxrtCNobUiPM7OGW6g2~sKQHFluXt|0no5t=KBbXOtGvL!`LB|r zGL{4qOk6_wY<-l4)HL3_KN=C(nWtZ~7<4o|?;36RSV$?ugtNRc@pv_5*yOO;dpw|; zmlmH42#9c>_$^<<&Il@%q!-yrPP4u7d!q+#y~H|hC{RE0O}f{mZQs!9Wk(`#udvdY z?UlZy`ytz_jICQOg+KghIm%E~n*OgV^~X-wX1BwoHk70Z1}EF!RF^vZ>Nftx|C{*L zlmF%U*^~(yz2wroVHQjCe|mm4{6D3ye@j|9Mq0Apy8hn~mmJCe6>*6#q*WIBy-i4e ziMZAW6zwRhe=KpQWg-5@LjgIx=>N2j$f>no`^Vx3)J1Oz~%JGsfleE=g$fZBpR(rsxx6EnRnVWp~FUR+%<2#IRD`t)V!T2WX z#XQkw%htMQW5UkQ*lx~W+0ZO~khNb7Z-I+Qn}qzACpNRa7n;J;ZDjC{*k9s88hy&!(? zuU!8SEGFh=X$-Qe3!eHVl-^iLpf-3k3XLhp+?3}3=5rrO2b1M!b$*`g=aj!zj-LjZ zqJmY9Wu=V#`E)0L`1d|%oAbH%$-*PX*pgLDfAx-kGHzOZ8s;pZdG^1**3{yt>HbB$ zBVE<3(+~fM2i1>cLmFW}lI+_#U*0$M)9CAJ#*VdPB8}0v923>2siT?Gi4-C1XQ`Lj z*xzvU*iXNqL_%tKww^ZouUzMtNS-M;5@l4@ERb^Odl*l4Qgwjt)seNXy} z1bZDsgh%;aX5Pn&HDIegGs?6U(@c$X{&LR!r|9e_%#7h9P%;>+7i%yWU{kcTpZiz% z7yVrQ3`BSf12;?lD;)YVXKm>&E_A9U>~n9I{&Ry9m>QK!0@Dpvx2YI3@}>Yysu+~w zzh`D1QdgOZ;Y=%FdX7?3QuG|9{&Hod!xQL3PFfb#tt%X0&qQWhH>62MmwD4?zx~Ff zkNI`#-N;&AWcy8+JTL#bpp$|}!WSk9VZ0cdP0YXd-sF2QOf_pXdYvs4{96OHQHo&I z(#`Q$f!3KJrRu?@|4xI19f@3k_zj6vi&7wwDm@_)dm_o!TRLWz_6+V2L$SNa-kmL! z_N~i!FCqUDOMk*{-z=_uawD)4NF@@K4wj-Re?bHF*|UKa{GTd+Y~51%@(&uPE7MQO3tqlzswxbKt`XAhJ8`V!r8djDt5L3;oKcJDCH6oqP^l9fqoi_ukr)nDitEJFw2CnSNDx#gix&6VN z0>8ulz_tP+epqI3uA3OcMYoQq(?Dn5E1Q8LIc%-2X$N(`aq-_<4F9(8l7jw_wVD_K~_Pgb@E*BEl zzt3F%%0!K&qGo!6$%^z3HT$*CpAlKE2Zn^*Vr{EpLtdP56uv&)vxa-I-9^=V(r?ynH{5@6;_M`hvyO9{nsW8Lup|*FiR$Xb%#nJKBOf=Q6XZb^E3V}d9S)Om?O3aE zD|f6JS%AJ6i@n{2`mB z+4UQY{Z=^v5~U{Na1(jHqDv$MN??n?2-DRfM4!uTkW)+)RAZJfO5G+>AWHdfRviGV z6F9))fR=0Ba03}-BwPR)Rp7=|jaPE~m}GpNkD|9Hgp+|E5#BO3@Qc{WFYq}0IF^oj ztQ0`7SV-g(v_FGuMCgp<+@nIsoov+cEfD{X6@47WpPoa8AKk3ypyBx|<8OA#tQ!&% zWsrWeFcHXFoWJJ6ei}h?XZR(nfr9){O9MqjZ`Z~4B?F(w;B@4`mBlOfo?mkG`dIqD zm^U>&HslKfxmTxlC8KVbaYl6Mxn%k1mPvxP*D!C?Gtlr6xArKi-TpU|Z;SHx#5Z>; zJLHpF&Z0kGm3~K|vIw4a9>_s|@_Gt^Szj9QTy%pRb`2u<$e(Rfyjee|@>3c`e&+qm z^*N+1J>C4gKwSPnA9~Ht+WkGJRW&BEqU)KJ)5>GJS7D}Nv6lNUI*i4rwm^^WmHEgn z$htb;g66TNDDD1aca1x`(_4FqAme=?9FBlxkO23}UzWk=)>Fa`V8Dq-{=a%F_6oaW zi#&ZMLFIZ@Vh7d4`Qrx&n%!b}VNN5?+O3nY?r1sm`(}4BaAR!c9)_wZmc9otUnRL) z<#M~U>`C>(?Ju@v*<|Tsa5(^hO)Mj)^+(|RJ2~LIhdKiNbOodTDi(15eEu|cC9L>A zt?YUlwbW?dcSV0g_D{M&yn5gZv4JnfR<O z-|Bsb#d~>^J}#{OqUYp{+EwpV@9TE!%ONTQ${^Cf@&{?ry7@ZY z@FIWyCIILbEpf|tf5OXGgO}TT@*;Xz9V?JLGV^2#-Vi^M_)L0@){SvBl)rz53pJw} zzOA@39Dl2jj=v>#M9%0=;vtsE<=Ka|SNl9^GsndW{-Wmz?eK31OP+PenQ6=W2PKzc z>l=Vt@LZVV#2AU0L5_vj@S+%wv@WS`<~L&nigRR8j6a)?^1TY1m-3I_3v_c#5rrQul5j3M*l zdNO0WVkOtMS5t6?N*ob$aMnHOa-XfxHg15t$T@S8MGNMu9rK@x72K)cz<&o%gKl;z z?%te8sQ`CB4s*PFIEf+rclAlW6#OKp>#i{8#M#M4G1KPaHQNG$i@U=dQzI#(URX{J z8`F0Bc$l2gd1d^K72I#XbtQKD_j^g3nI9{-hi9CA{FJBlUKCV@9KTduSH%hx zx@zWeZv3>lF?h~7f}S1~l=^2arQARk{G1#bJC%;s*&&`6dE*W;gixG#7B2yf$oM*S z{yY@czcdx9Pj}OKg;4-1?I8?;{K-^9kZ!}snD#*|*rk@|ZRJa>;CHJ3rgr>3s`pc3 z1;6GgDD@t#8_HkM`jtnhu}@HAWeTnQM!EaJf2_V}9pS%~Kbx=?NgSL{;E@2Ff=~Ib zQCzKZ9pI$dHFq+S}AENje3ek<0q{_5UG7WnZkb* zHqT1ln~L#KS0<||*c;|}kUPGY9~t!aH>-L1n!OZ!t~#Ni{b9~k_wg~Lkcy$aIJQ;r z1v%nJ#tPc>jA)4vb*|>Nz$99pA53-|Y*qp3UzWMe^_5U8n``l7ZLXX2^nxdwW${2A z6KNE&Ly>cWCzF?sPKvMJtdyn3^xqZ9*(@4$iI_CBRfoF{M@U5dk@H ztV~SJ)9*%oB-%%XtuRZcRu$H-$dxO0%P;s7$gef~zB&5S)@a>DYQY;k@@~SwsKv9b z#fxcC;banH5q;$fo49~xLZgwfG~;X{-RUZ>rXNBX^|P!M2^?jdWmF3c=fICj=jsgM z(9)$IORvi-ZQp(So85F1zC@S5( z@@5y3M*Dh9!yvQhIJ*YGyNG~4y3btt=YF_8$aLCn0>A)D77M*w*##)($VQB${M(MT zc2TB**~Ju-src5wjJt_;Fa(WtF>W(1&DOrLxIK~wC7qA?vpXD{TWodBP zKzn`ScWGcZRTit$`ML?P@&Y2@E}`DE${`X5D@J-TZW`Qs?c@`RYxeww^!U-^8~Lf_ zINo=y8`X3>)jm$OsiLro=qxcTQqHLPLgX8tsLv_5%5b=fAFuQZU25po_u{UvHar;; zxMPk^Ji{;tgIC=l)9k>`4f(pv~L#JST`Nw2ti=t*@4KiH{j;T=1}(Xj%9zCQnqy>$QXDl$jFsho|pMQ zSEwCyuAkhg9-7W|I~5r|k~&wV_>-`yQ9xxiR38J#%%&MC96D~hUO1$AeY*cx6auhvyJMU|sba4Z4+YC`x6&Ng62(z-{+Po@jkxXKhK$GVVb zmDzX}b{x+_{}0sC5%_Lj3cR4kiQdttj-Y+&d3wBRarQD;^XMkB&@@H?+FluvK{UV(lSf;)0{N( zqPuk?CeWztJ}UIAEjT}HX+*hN8dV-#iPYQ>kX$fWqhPa6<5^p9n3chQeV#ZC=erhK zvSyv${CPiAlvAaL;z?t;KDpxS|u7ql?@6>pg@_!1p+*UGJ>yzAe zYnME@%hW`tve^F>n6cmMC9?k;*CBkRDWd%Ej0Z~iE~6{u6l^EE<)+;o4i}M6V%+p) zUN?3cn%uS~e>nZdG%>;29TTLfDwn1TQZQ!|6l$5pH?th|vhj<2eWjyclf3*R|pYW)9vrIS7Vh}>#k6eVRH=|rC_Lo(v+Knt`pn#YBIIu;>E;I+ z8S&LXj*EHl@j&YM!awVELMqW=*!Wda%|zaNo0FTO$EXA#^X1i2ThQxAqDwomB47K7 zRm@)?yB8VxM@}JLlk_0v=xQb;bv0eRg&-r(Bo6k^oFjNMqvtT@h&8M*4&FV4-dujP zp*|JfIomqHd#2#MV~OCEnwrI^w%{5McpJL}`2E=-z|)DI)DEzeC$)PHnSS1dsMpel zd!wJ>e)D}t+}gdUc4bb9*C(A#%WyO+2MzbGc*gO!qU!zjeO1oz{7vzvTXIo*>hd7s z-(75j-c%F_GyWYtgF#%LEU~yWS$gP^^@KAz_972n1auY??x-YyOBCua@KWQb*69zRzZuwKW2!SHqvdGk zNpz`mSx`7E#Lb{)!VFd(7apM0oUc%Wm3`Gof;BO@7YT~c6KC0BTYgbdaOjp_DE~5p zZ&PgdKcq2Tx$j`zJujWszk zKg%Uk>zWviwyt348nUiaWgu~m=o=S|%zpF(#s1fVx;yu+tF|oI;*;mIX_8FqANn~4 z70#I5i}b%w%ltwc6~E%pS8b8iP+}<6?>~k=#wEy{L+pMvh7P*+&GcCMdL4RU9db-` z>Dh(VZ8`DR`P(D@3V#ocZ$!T4M`nDT^oF`!EB?*s(rLZgEa!(d{+9hM%dVoCan3lJ zIYelA5A9^E?FEh2?!RfkYTu{5FG>jP!p)uo*cKeD@w3C2E&S~f-^AZT;~V&!8UJ(Z z!4#JMn9N6$dDwYvmbJyQzHM3G;Jf91Nqe+Hu~s;=xTcAvViYCb(5w>gVl>#u>*zo8 zB#BqKvmCJy!aKkb%EcD`AA4^C9#xUGk0(GRKw>Ad7z8w6t6`G_0TVHrV2}Wc%jkwN78X{IID?v-J3?YksQu8XiyRWdKP zGslEyP72RFpb@PEtRiRi@?*IgH)HR_z8s+xLoYP#2-^|IqZc|R9Nb7F1D=N)GFI(1U|+25IhUf`%&)EeYtC@F3t9Q9z8I6??CV8 zI3KaV3ESBL$0H^e?8V(AEf9gnFQs+VT!k$0i{58CD}j2-=+m0 z;V-l>FogOSDOTCtQYK8QP@Y-rQd&+s$S%d*EOB_&JhMG03&Qw1hsGOUVT|90Na0(In5!R-YdN5O zr1E?j5|*6ntw5vb#L0L_Phk1^R_WBa)*Ou`g`FNKOlHeTrP8Nx4h05JFR#QN1ZYV7 zqWwLh-a-ci`?c~%PS(6elzbklp;2rI?ou*O5O+XwIM--5CumdImKJykFd%CpZt?r< zcmTz~Y%R{^jKNj#LTM~f41!A4b{`3ASwTiv;2LGA>=?Ebb5dh6M->mFCRQa`opj3( z*p*~q7f2=9vT?{6PJLmUi2vwRi;*7A z<6?14+Z~P-I?$6WA%xmrD^U}v1s_}wN)LgFz=$gtRgi)4=jY_9 zrwX4C#dcCKx!vNMu`z_h73sfKo5Sp~93>J)kS5M?1$mq0@?3<-^`potqH@XKe5lup zxoCQfQ8WHBm3B0~pqqBhU920}&k7PqP1VnbnCGxoj7a)pTJACvOO&ijz9fmSgsS#FWvsqhI`~B|Rz|E)nRiKC7XZuxE>0Do3PY%+g#TDvt)$P}W z3yzi`N&4A9UL7K&{7$~U{)~)>_1AY^{j1hrYyAjn{Xpa3+9=ouFk+Z9zj!kCFqbYD zkw~jake=B(#elT~V_HTvf*3N|ec$jdCslmx% z>CtK+26(ilIBy;ndgR7_J))w~oOnSY;T&E#GtfxSico@=Qbuqid`%EXS8zR{x52(LJ}Bqc%c#b_8L`-W ze(48w3OZHD zd^G5S{y^~HiY$=9*{P!9STQ7=0_kA!7BzbXIvQWgv$1g=r@6G?4;J8L@dNE0cjRX5 zo^Wk$$K5zS&ed^?3$A!>`#tXHP1x~=odV_jjsZLq1OTwgQ62l|F0skU7}_-Efb7pf zhwU<^f*0xH3zI6Qp_6>80T%j|Ndr~82Aiq}y6RP5p^7qoQLN_&i!j%X_ys4MI6rud zb@rQIc;>OZk2RgEp@PV;N&W2=Rxo~w)U4f9{1o<}^w7%0aiAZ8vjezIew*rnI-q%! zK0*bClETdJITRN?NmT>K{86IW)sE6!$$>3-QeJklx*KMLEsGPc3`Oe)6OzTI@*7{6 zAH-kl)YSs`E0`)9=UUC+0{+e93Yo*)Cc)XGOCnJCtzsNf%J0E-W4WXppV`xsJcUzX zu&cgBf0l8`QR?7x&sz*6M`F&ea_}3ws{=Cu zg7M!JHp@6HfF)Ys6_PYdhp4}ufDrZLxM9s-p3w7`TwMWb{8QiylA2k(_RO3dRp1UM z#SUy+0d8vSL2B$l)wWLBdXu&luY)*O>8R~^9N5NhB)wHcsq!ncc%{eGtx`f5auV3=O0Yg<{hlfW60Md^AEUC zPmIS{m+OlHqtOCf7EOb~XwvafQT-mw6G>fu7V7T0Z8==w$Syt+{&^ea0Pv-nGnF+1?{4(3i zd(K%*vP>WWj?$&t^%@TUG_72JPzNWSzj$SrY{x>3)UvzuMTAlo;JQ@8`P!9paXN*8 z2yI~ySmyc`H^xunXiq1*{Yde=RF=guqKmN-#Zk)Xo8r6Co58=`#32p(#{fUq?eg4> zF7UMCyHlbH(CXz`fQnRncgHA4$r_|^R5g0f_^t!kdp0RJC3_Wa!oM#(BX<^jh^R(U zGZHpr_u|orL=L=$r)VcP4+lTi;|pG>gV?G}O&6bK^$K%c@|FGTQaPPa%Q^ zqAB7?!vC>bs`~eFw$cKGm+*`Q=zc$o4Hl}vw=xON8C0#`8?t&u2QRd)f?YvO*)}0& z0e`$(?R_LTzXm>mdTBZ7v0mTWRqBz1eM!at8s$(CBm>|j5{Z= z4DDRep+gs$%>05L?O2iB3qi6|r6_G-IJ96;3=$_%p7mMl)OTI z=#2Ipaxe7$vy<+xyr^r0fA7ov4g6dENAj;pr{BcC9-f2IwOEMrTWa#~na=g_Fby@= zJUlPN!=Kl`N)flMe*;{%|JO@2FhoLl#dFQr#7a9bCAt0&r-vl zvX_9dPbyBB8e;$Bcy<=p?{Zx_d}{yQSi_I;XPZ0sbN{ac&0Qj=VjV1n#Q1w?C$?_u zhG-*+NKl{kGwfvf34!Jzo`$LCFVN4$q7F8HgO~qm{ucE?+eX(o8kI)dM$Iw0E5_Ho zu#nH!uG29XXkUD1{OB=EGTK@S&TsvmoielYGE_0cYzzOuzzkzlaV2I0iYuEG zd{|tG8L8sR_<}8%dZ^xF#lQG{psi3J9QoG}Ul~a*_?)@-Gxr{OKfZulZ5$=f82bZ8 z!0Nop$njg3;*Z+%mrv-L7t9bH(I4=2!Lv9v3{kGrm}BKAiE)*+?GnY>rxPKImBtv6 zF|G&o^Ks_6i_Z~kiAh@@7UN2{V_Z+q51&FHGd$~uud`y1`YK{>&&opFSgl$Z}>?+QldKDDlE7xTz8ok z`*1PvVf?LKJiho=Vau_TC~;J%bj*X-V4LepWe^f;MjcEpiS}g9MA2Nbg^6Epf+Hb2 z){&SMi{B*tCgC>)zbQD5M!fflpJOlXAo)rOxpT`;fcM8t-wUTdpUD3B#5k^cLp1R` z!97juI@S`nyfI_G9K&-6%=)$@^#m86_%pA;ZS~Nt6qU94Lv6kc5CN_~%d7Ec4g1#ufaGEBvQKG;;JQQw)sipSYpn3jD1I2; z;ud3~@zGN25r!NBjC;$>J-BL+Koo??k2Uq&b~+}5-}PcL7V+`C9&aA;u6JW4@^z0~j!6 zb=1)Xlej#?Erl3FJ3=F-CinTx??A}-avn!=~?9w#t} zB{RZm=bIXY67Xa`WrJ)zlXTl4<+xP+HOPo?5VUu!|B3*)nIMoKX&KTk0;Vr6RYMKa zHXNoQVfq^wdItFZk4?)@qO%EDDTx4szvXwh6#J%m^}*z@IW21@;h^D2V z4bl)>Il}mRxCcPKxlx4QFdRfCjnfQ>7E%L(82(O+Gk41dqUCHXs4;}nGBaBG)()Zoyhcrqv2IMcA6Ev!ysaH(2pkZ$21 z>}c8k426IP`KxKx*Em|@{Ctb@A8z-Yb<6j_-h{YAaT-z?!VWeJh(~{7L49P zh=;8e>tBha?cbyCL_pn#OV!XoH2~CuwV<9bP}-`uvWc3oJpyS2F4e23IEiWqq=B`N zh8iTY#FP2%O;+{(`Benceq5@t2B{H{8rDKejG$>Ykxct&5lK}HsXE(W#Qvqko>ifmKY?>sW?HRIr+%iT48HIa&BZcYfY+GW)~%!mXxcL#t)zt^L#t8gjTW1G$RV78JTYV#t^8qMb3Hqx>;G?PvL^EX_w|Jf(>$1FEEq!zU=O~|q82RII# z4&6YKFjqU@EXB6IXl{1LO~i5&bv_+z)cI*$%?qq*UI0oDjYBoN8sc;{|0k zsaU{}D_Ju|r5RSnFRE)^n&8bcezBrJC>EExvb02~);`@2}9kh3TXR z=*c|SrtIHOM^N?^F4a3+f8vjM6z`GchO*|Q>@L8NvM-0(%D^Jg?V6*;H3@1YiE3|% zTBM0evxrIq_?LI_>rFXm8Eqmcn=ioBh@p{`xk*_!O<8OtWqwF8%GG3tufS1OAuzxNLC+r5Bu-r(( zE+S#kAPidHjapxbmq{Ig*?zjI#|)Cz`W7~l_tl6hPQj&G3EBWsW3V2}X7`D@u%10a6EwSu_OgAo7XIu?ISN+d)!Ar=~lW;P9n z+!0*(9GB{O4e<4y5nM|>xUw;mO(+q&u2FQy9$Rhy=(YK=4Z8fin`IkN{-{ps@hZ33zh=c_3p7t$*9if*wyp#q41$4oa7{qdhA%Sd4AryNr(yp~+! zm|`NX#ecs83Fvp5JfU}a39#-pSSHGJU2hBP0gd%9gr!h_8|!Oaivz!(@v3cC2+|!y z>T8fpROf;hEhM)_Dix|uTw_r+om8Q5WfmZz=4zy5B30e3>&L?uP%AH1=j!@3&`8e; z(sCQ=F(Pq%vKR@}ueZkfzyquo3>NwYVwJpajha@Vt3d4X3c(s>WA!5zsk#IS^*z@= zAow^Q(;nou?q8O)z+?qC8O9c;r#TjuV-0oryqMNkPPF`+5}I7BN*IagG}bShuAmo? zlJ9`Uor<6|y8=Dj{Pt=~yAO9~MQtndB`(#ysEfcfpn>}IcD9mXT=4F8_EOyqknU3+ zvw=KcMi|@zT&l}0poRom6bTeC5nk5OlX<-jbnygD5oQb6;=AG!{H+34gr-J>8W;gZ z|8I#wYc6PUHriS4i25bqQoUed#Skkx0!s}xKstP~ZivOGD{%%<7^C{&QjN5LP9e~$ zQ4x%4Vt}Yop3Er%gsF-6!PgTAjnNI3dgHslNByzdVoy9&{~AaQ$V|c$$tC`++>0rg z1^v2WQbb#P7R!aTu3pnl^lR*Xwx3ujk!|rdT#J6)fP`A$7X9i(q!@!lu7R}qS6E1K z8YxDQ-n@!TAkt4C8>GWXsD2vhKrxV37e&xCVxon#wyn^#1uu9q3v8ryL}L4S4GGGZ zD=%=q0kOs!tTav4kpipz6ltujf|X)pZ6p@k&znf77d29UBAsK9Osn33sYK1GE*hy& z>bHNeRlhM7r*0vqZqrChD?7vf6>?H%xt-Iq#n3+m3ATTow}5$Hki7Hkyq7XB>Fb4r zN;LE_XQ|}8!Oq#!%GrfEzvgNRv|r{NDmi=DIrnWg;Z^FuG`M<$X6p@xAq55g012ZW9 z0*%CzY@kV9XIe;W&k&@}f>dB5olPXl{|qE3f3A9f{E0QzV3}Bv<0}iRNMm)|N2*e6 ztn+X!RGo>0dQl_wC(=0vi4)AA>XVh0CUwzBAMPd6{yeLG@8MdI)+3>A(@0T7+BZ?x zudPOU?PZIm&st0Uo)x5pHqv86lKue+)US=kT0R|E_ZqBr8f)?!7S;nAYo=hiY^+Jd zBG>OiLT$s!4shxYBK0*$y*1Lxr>y$9HPShPbm9uDe(fxz7DSq>k&=m2H9^UR}sV*UCf0r^eUSS^V4uW`D5muOx!TxRj=NGqvdwNUl6jdj$b>N`@E z1|*qjO~?GFBwSV^-%5-^0)6|D-FohoIXR1(g!!Tn$?W>S#z&f)0F0ou6yp4R9JJbU67GyZILT zI9o22ZZ4bfGQS!Bpw-X)nf=^5Tn&QpK6Rg#BC|FhP?HW1u;kwy z*CPL>NKpP*{h@l%orV)RPLEKlmtZ#|*@t3!-`+J!U9)j_^@b=$wY%VwP9fIV#}D6z zY>b4dUiS02u;;f%S(}hs+0VZn6?(r6#|z5A9qPyi3;*4)=Nn!&n=0|qZF%m=>>~BR z@8>P!3IuG>GBi>Ov`>^+$;*qJWJGii>QNT_sX`C&4%%(t_2wz70!mX^o@s-B;O zR^}a}De9#uS~JgTWo6BUqFkY<50MaGruTIzX=3Z|g@k$sD>hUKilf9vX^B;y0IOtv z+#ln;4HA3&ZHuE*a7l@cg2c}3WO2O2etvz}^C2%;9KS_B_hi17OU?+#QC9r=wT9!X zks!xMsSI7W?M0~DKSt}iId$FUR$JU&ewx(nAKS?7k%GyZJ%MYf*~3Vve`O1o<`HRx zLCVrdyO&#Bx35|3Kky;xh(<@#6jYU(kM%p7t+g+9h zY_pIy5oxGKI$Q{(t#|6$8UJ+d9TrVH6Qy=z1!VtX7jOtRo1gL-;ptCC{I>v986n@O%&wDov2Alk#UCknt;5RGIxJ zrR@KF&>DZs^N(vIzY3O@mb~0pZ9IDBVX|VObCY>gfnQFw<5B*H`mNpO(SgugX%FbP zlzDUzzuJJc>~7vVW*+gJawG|O^nU%8eBTaa@atdZt3X?-`oq%;Dg(>Dy zDt--xE6iKz=22GYt@q4ZF7qhQyoHX6Ce-Svp8EkE)l;|D-BFQUZ!$Mbi3b_kQSI9b znfYT{OhQN1?RJr0iew3`4?5bH!mqVH=uOJMMprfFQfgLaFFaE>U4pJkwV@{sLo*zP zMpl({y0$CY*E3pEbUgk6DFBVH<$d>&H+EE^1eYp9Fk=o~qwUaey`*G>LD2ErAvVI$ zCn6BsxKu|$3F^4aMgZ@kRC|L!iFqtCtsb3#> zon;d~ixWb8TS&-4f=ORhb9~$eXlf^%R8QtuI}^(hYW*zmSa0!(Vxq>1PxRpj#wU6; zV*lq+OphT(Tp@0_yk=J6IiQZ~fepxj+h%juKe$pTCCE z=$hXAqa=yu~59-5sCG#L6&!$f~8+yta*@uitUp}^UaPx**-Pj znV|7LLHn|}q5eWVfBaQgR)~F3{`g1Di>x-~pT`=q=Rqmwz8=Ps>-39xV~!FI#WcuXiU!{`iTv+x}0iC~db*RN8qq*m<}XLe4}& zC2FK+h*WBj+H0giA6iN~Un4!Skw}-=NdJRtL0X7}+IXSRRGf@O*S(1ZF=n}5je73v zAH|`9C*^fzfzOxx9c8s<4uAYhSAl36K6MEzE6c~TcoZG!ZnKcGHPSO1$jTowEeSu0Yia)vA%XUqY(A94Rx(W)F2X-rja(^0i-7kQcsN(Rb(MOr;*MPq#JCc zb`}!rt-kK50*mjjmauDq!YkWS8AkhZU@raH)>9qNZuA4E3W!LZ*>ph)evHJGgxM1Svb|= zdM}MN6QgA4e{ZXPlQ?`PRd*qw#uLfc@-#>Q+mfhfSZv)^ihsp=rDY2iPy5ge39%2l zE+33S`7hj{xpJYdOM}@~`70U;S3Z&QM_FJoyR7oxXZhb>08imLy0B=@F5Mlc{Tbb{ zcFAMLW6D##yFwR14-o#3K%oXL-zd@U8g`R#^5}V7>i)^_r-#g!%4x~*84CeQkDc^S zHGtZaefJ{rhJfSeMEHL<<5G>)yjGZ3bHNdC!K!TdE3jyERCfcU-BFJK(G5KH9x<}) z0#K>=i7$hJ$=VJ4!3)qzR2%#piu;mB1>{D|?Ayfu8u}+)VWYF(?X&db=7z%4JJ*T+ zOK~(gBXBMHaXk{$|L&Bk*<&$lJ-1%0QyUVn>EovNu~Sp_4~@az9*{H|TT-yM2OD^> z_5mlB_y)w5xiXp;_Mt#hxXA+>fGV(`UTt_owhQCb4s2J^UnsvGugM0z{zxU^+#o!7xs6_C$0uinQ-H(*uwOhf`WcbT`j7FZ^PoGINz0!6x1x^ zs-(hZzTCDM1KQ$CsbJJQ`gFIN3WWEo;v?k5;|^@%kP!Otoza^51NyMm2ZwF@u7a$x zz(g<#tA=-|d!9atX#5eS1^*`ajyW&W;MFPv?MK>CMsr7LDRb0lMl$}K`kK^#RE?%o zz&&DvlAu4ACln4)SL&O_jrRUHUo5n%1r(%F`hZ4-&5(#m9}pAL566nw^k#)AxF4N9 z04E_M(I9<5gThumS0mOh18+6e${BhoOhAs6u_I9evNS^0+F3MycMHFxg`XUT-@+(A z)i(};j0=O&@4Kw`aW1WLn1MKK%%XKrcs2`FZEBg@XxdG z&kVyq&ETVwY@A`#z5A}F@3+4%`aLL8_k0P^?(=K^h z<}xNF6sGwmw8)s$qOhZHLQ=-0Bx!YMk=LUtSD+pCOBM#lOZ#2|ocdaw^nXpl`5SQ8 zsK{^Q@3|=S_wo1f*a)&t%HJaHKMwOBME~lsu3a9hpB<`OM4`dQjD9)h@B@A*1OAh> zKX;&Sr1W0{OTTcGzR1V;C`!qnk-)z7c|)At;KDBb`xp+kugmF*AFdhg##okiZg6JC z72Isw4S@n!Qp_$M`lK^v7qK@N=_mW%5tZw2f%d^oyx2sYgEd(?0_Jw6T4&K}`Oe^G za(oAMt!_`@yK8gc77k6^Z5_jv*Vynha4w|mhO3oVHZY@$(@}aUu5-OkXP{RN@$>s~ zVVq^HQRBiPu8oZt??Grf$4Q4%4uwk>r!9d*$Kiy97SvlDH`Bt2i&%WW(8+@{any&~ z*#Nx`pL@e8d?x~l3} zLmXhRLTW74-6RFAm4XC67x;DPZ{JX*>eE}S-!^3>gRR!5&gY^)8M9#iUc{ z*HM3%ev&@Noaaw&f5kkr|1Cy7$I66}VAA=p!dE;hR(MgS?tsr%&oe+|o8rE@?{%!q zah|WPYA<&9xm`8va2I~0Qg3Jtx5Lg!_1fV;6Uz?MzuH&*v2Lq@v`9-lz_P@Bkg)Z= zW2UQiOWL%ICox<*(!TH`c1HI(WjW z>gA@Y!;OD&qgB^yYSy)O%c6hrfBg@+P;dX!Z-2PKP?LZ9_&?YG?EAQO`)-T^|G56A z4*wFLFAhcg_vMuKm` z?s6zpysxYQ!-^X7J&Vhy1)S`spx6Tk`2}68Xa+i}ap%2+VtgvEFY2`Iba&hz@tM zzm;rXg_Tx2De@hQ`a@!)Iq<_D3v;v?-}d)$Jp)eGQs=jpZu~r+eSlUDouJVDF-Q5G zV7=D_cO&8hQ}5Cpb~-w2oS^BBw!7=>qlQC)Nk(Wc@y5MEwnx({^j!=3pj)t&q%Xyy zZxrt>Fjrk9YzD&cvGkpoZe1sb~D?++dzinF8bvR$8+q9^z z76rj4rEd`brEsN``eLZmPzs!hb$Pqs8>L;GR=I7+4U7$|;vN4}?(*TGXMOBCwXGWS zJw#2As_Z3bS#U=PtFF`^#{UbhiQs<@iK(IUs@uPRHUI0Xe=_Ue5^DJ*zZfo)`8E^Y zJz+6HpZ_eZz*oW$?|G-b`rH2haOz+_bugd2w*B7-|DQ)1BHRpLAQea0B~ZOmr1_YW z9pMds-BOy-f$_Q-$+QsqNwy{QY8cA0`<69>hs9e5Obn37pWZPSF+k z*bKYB6om0wN& z$|3&)ev=9ZlaZ?TcKRyHWx2?th zU85rCf4VA+{w3f4FVMfCxzPW}#v1fL`U2?JD`CR}*A8!7V_|#Y5eXKuq_rD*XYGa5GkDvAfd4JsawGRFKzxc&T z;}>(^3s)$$>f8Td{GyF1D?gkQ|6%?7Kl^A|YmwjY zwvP|2`$Zb4p8xFRdiTFzANQ@Tt$&R{=6~Nl{@?nGuvJQS|H$=szjOV?vGSkO&YJ5l zPB~Dop8mJjU-UM_hx?DWeexgH&pYbvjkri9m5WrcNQjdI_WHozwvJ4%-_p}}KJh2@ zXN4^DRL}hEf7yQ=U)z6-(9h>i)_>RFSbd%NRd4>Bl8TE-G^`ZDIz93~1@X_1>s3{8 zIk{8_>xK9NW8d=qG)_`*3K#1~b)SBz)u-25ANsrd_o;8xwy#fp^dHvWEY48$borvn zT%Kbw6WhDi9Kb2b@&Eb+8^C=nqA?2)jTwZB&?Nb*+^(g@Hoy+Cre7htDIBurZ%?wm zQTTH?^aC+?u0ADatx-;viQi)xdIID3dOyfyj6^C_qrrN*MmKA9|Cd%sRo%1CFemsJ zsnF|HUy-))g550agp_|p-J`5rQ+_9zKWI08`WUPNh}ql{YgWJHrfx%(=7X6liwhAF zZ4rFmvNtr@DP%aXB<8$%*u2)pD<4dW~fdWq~$m8mxYvZYe#jmeK_Ya6$OruWtTh z(Z8tzK0RGt&_)>E-TElzaef(nwAr(!7JgnIX;b#pO(blYxl!;8)>lQ#HOsi*=}A zdBQsEAN{O$#nh9#Yt<=uKg&-dmkXbg^8d#2>!QCCOFK*Ed;M{_E`J>M@8>pgWo(I< zj_t#OLv`9Bm~Rs^{GZhCYLo(1gN~nU{u{dyvHCJA*3E5Qoc;d9<$d4nUFY_`qgwWi zn0?*wX&se*aaXNMV}9*t=D+Kze?9ZhSF+Ghg@48TGvy1(Q5i)BW|g?eSDK*cZwnvJ zr@v6wQ(Fs}|2$AfRX6OcRaGrtZA5-XzIOc*BLq60CH*Js2g9VEi>M&iKYmh2{l5C} z52;_1i25yHNx!Ln*^ply@vSS^KG841V`GcK+4!`h>UL8_tYE-GesxA&6^yB)f(uET zcGaGg#7@GEE~0)f?*Faz`{nvMFuSIH_GYQsL?z{in$O<7_N*8P|x0XDdEZozDd+3?4!f3R=WrJ;G>Aje=LZ*>e+wbC|!?UTj&Rrqhy)%;oL)rJ$gGFp8Msx z?S99Kso3T<6gRg`gxe7JzW-WmFWT<7w)~Kz(^|*1?;LVDI&E>RxUy~aTDiX+_tE?0 zraG?O$7g#S*M2e5asH=;&8H;d_w&MLQ<~s+t>eBm!M40nR(Q&kM*JG}A;%3{@c&xe zT!W{2JFspc=+azR;53*E&e(#sseVYR&-R%bOOtSvcC|bMr}hjq2idYPC^& zeT&o=JiS>w1ne5j_+jDzx3AG&m;d6uu8i*|c6a$2ZFc#4Z1!Z{Q#k=A2w*31qrGl# zqs_s1)tW0fyhqi7!<4eU?2}Y~kNuTg1xB*JS7k`5&Lq30g0$MkSJ_7FRi6PaTen-h zqjZ>6J;whm?J)kq&8S;C`wy&DqsMCckBQV@SvuC672}{q_A6t@LrPk?ivH6_C{%6^ zPSQ%vLm5CuigqDVVW862sk`^qLGdjWwJ9EFD9#e4o=p|}+4U>+>vvjt+P;u}AKp{1 ze#5Xt`d3c2kJi|qaMlbswZ8ad{Dga3Puo}{b^ANX`l!0-JA?QR(uV`n>=roKMwROC zWA(9r=$EWNtMUC{OMauMCaDx6gzM%?<2=Y|xA@}6p>bMD$&gar-w$?C(CW4KYe`C0 z6uY?9D&+s93e|P5|GNNONTGg3j;{u2(m0HvDH@#ga|EgL>!BsMh?=fRct%Xu<3`2B zKjiw{JeH4*6Zm8C$6B8?P{vn!O&XY_*Q9}Eo5VlL$7hzkdvF5Bw5%RcZ}MCbhLEy2 zE=L~h_*Tb;uptoLvp#Q~^6s+qo$pV5&#*6Gt#8T~PW_toS?oXS;9q{2XrWQ?-=oz0 z3&Ot&P5)=7MGbSK6{G*uW2R5vty{1`pD;5NUno3D|04YT6X*jn2MyqFEcqJ|U*S|4 zbrA()zyS(UFlg%n?Ls6914+h2z;_a+hkm(9wZ3sI#FKWs*%ogid;&Wou^E*VQ4!)` zYNajI6Co33!kyFr%^vF|BNRs|C-SH$fm(BYM>&NvIDWW%2-8u+Xv$q)b z23OnV7QQFSxiM7Ce};d_zlwjmH-{_2{|f(V6Ri4JRQ){vav+~N#y>YuX<+}@P|-f1 zeY>^oQ*&~4D=|TnT|4S&BWORX-w9_p_8-^P*$sdIg`}j_!lS+f=YB% z(ErF1R#e;VeMZz{sANCbP3nB=i?~d zA{L9IFZ#DDd4)yGZbZH^zIV*#e6On`_UL}^>UhGn=ESAB?Z5Bu@6pWVpAzlLI6kdW zT6yqv^zZM`ABu2AtIJ&(71O(BJ62q5{O62K69;0VHZC>Cf9+e@#g(lmHOlsU`bl>B z@q%rH2(ETzY@Ueoc;Z?WA5SibDL#Hl;i;?i8sYd$y7Y_+E|zQy8I`>2pYRZG#~&Oc zq}pQ@9qfOFQ7Pl*@@N4ueC@>WiT>2@KN$YEv6~JZ)u*qB5X3_)p@v5)J&g7rrfjHN zO@5jGP>+0ckD}#MPynG!xD5hvc@G(ZxY{3bMej{3FAFwwk>{JHcXq7k(IBh%L~KzT z{B2gy(m&%6^fRltIKVhVP)JZbAbOpC40E*r+qljK-&x`N_J!+<|8w+-O_aaz@xK-mO39 zcZYKT%dIY2Uw1V`f7rpNiYpcvY^;v7Z%659OV3A$p4YaV`i{uw5A#p|ysmCqf5tzp zaXydbpH8P(p*MCX2A;yqW0xh_1IFSsEblR#w+6;)uIm1*E^P>LRRz}8O=O6nfsuxn zI==9W>~|ggZ@)0oeR=TmF--Jj885$1Qq{oPwCVj}x}&YVKTPCzBlNRI{}-X3vyJ}= zg|s_FuyGV9iXG@(lgl&LPJ~9VFr=mN--q>rKf};tW+l z|782C-AnNRwf?c}-r-0jx_sIA87xC@p7i1EmyGidzhSW96qonLlwcE=XJd-`_H)u| z1sUMq^ak<4he(@r5QQ~P;Sm1Pzdsp&B|HL^4CgOc+t<6fZ=Kxzy0eb*rHhYIFL!e= zi;cBrZfBah|E-g-7~Ll`a?Mj(fZKM2)1mQ;qx43@??A2n?NYx^s9!?l_=W!c8Q74E z^JhB!BplNdBB~iE3BJP;lI;1#llWTJXm+k&xs#-694o+BHyRZ{k8Ia<&9dk2n88_uY4VI7SjOKiUHX1 zJL$hnTT0=Qh*ad)dpgs7SH^Oy8gBOB*dP7#s}rPuevLm|NI}z@g^Ae(|K#b>FxKiR z1aUc1NOAcvwbgDOzDtu2Yy}ubyEG^yEH<7 z2cWE9tG{V=+n)<)KM~1>gH)mJTcC^4G1rmM>{uAvIJIvz);Hh;k61(|<@0di0?UD8e`fdu zTbO(1xrfZi5{a11zkW2OHM420{! z)0}xzosVTIa^jQAXBaeVJ^8gxEnk5rFPxz7@|?3Aw<6AGcn1$;&|Z#2L@Pyr03+Nr zF3<6p>1VtAEjBq;o`#90Eh95p6(;zGY{Igs9$Q@gqDC353U=YhUVb7bYF!8-(sDRf zl%s=7xtz zgk5}scfuG~^_IHcytd|>tqUEhPtBWW6ylT213>+j32j+k`-lvok`W6~Z)0tjh!S7q z$bbZ_bXTPL{0Xl8s$RqMrQe^?*_E-!;dvBQL)a-c$KUU0w&z%M(I-e9mehxy>g0k7 zC=y0NlHWfAWKb`y#-Z+jokir{CeTesx3$_w}|D>LHX~H?Kj)+hE;5xdW z0Wnwm?_JR{e=@X3IM=8=n8}<&@({@YrB!GWGK$@!mPryB_NXT$d63D)NUE#xg4?@U zy@!i3%eNSbmY$F`Z<_No9;DKoDy0u$Q>QHdxSD+peGbP;}pKk4`~lW_|lK4uhwOTgqRwSNX+vNftrFT;7MBOXYXI z^J)2g-MI|ES@V`VSK-%PB-Ve}PKsHAV+e97xb&>V3jmN@xUD_)Z$yv{e*@pF$HoyAy; ztGk^N$pZgzDpr=xdfnLtgjJt_dB>M=^fPr6p4b;HpcxDvrftWp?vb?WfIjnSp_A(y zb+`uFnm@qbHY>;LUVJ#mJ7n=O*yhEs%|DLJ@t$eYCvxVU>+-k7?V;5<^E%u3%UKvI zUPi*vS7pHeRH=SR7`79!x?{;cR6yuvS><@grL z2r0+0@?j^xZwA}(xRim!bI#tl$np1_IW;Xxy>@J0bq@RL98}v4c)s9RftT?YI2cvsdUprP*mu^b2IHGGYtjtW zv)f)S!e=LKeq~|$_v3D(9AKt2T(o3qxZqP38!$>=1ayjNsr)Wkt=yDQf;a z?3^#}8uK)3J+0QdTu*sYZZ*y#KIHbEkofOrhyNo;d7uxwJBP>i^^Hn!`)5SEGpZ&| z<`6VC- z7YrXTa(qCAf0WDBm|N(8BCg2^EAP$${uVP)&aQ(fdDk&-&aNNbe&?=%a5$AG^RivC zj0TJ7cd5X6;$u}}`f8x}y@BX6Mshujch^8~Akd7@@PR(6H~)$3spEkou>2A17?=TG ze1bf6@M1;;FCy3=jEUsMxo-+Dz+YAM@Baondh9$IJFewoo1bGxJM?l?)q`LFJF#Q( zYd%SZR?km;u@mFBt*8@8_@${&#;>~nIkpY!%UtGV2wlEs1tY|l9V^Vs)Nj7*SfSqz zJb0|$K3MyY50I9K7${Z`!@A|c;a`>oEY1MkN$Zv@(?B7|@qL%SQFqnq?fv*@*}hky z3)POCHJ)Ql^%qN%UDdPF@p>?ZN|)@Nwq$&I7w5IuD!p>o>pPC;QuAN4IykilxeeNxb7* zL@IpqNQH6`A>u*9MSS3uOs3IBB{uTA6(TNT%Hp%9dqxc=i-n5#~nFQ)z0tL z6JjkNmLjr!KIZlu?^G}=;D(XdP<%acw14zCUQ|WMZWSEZ*%)_jkvsDRV8bltZyvat zSqFq=_01!&|H?-^nAU78-*pU*@L%~BFJtAhEO?dY_>G0;S-)Awi&5~jraCKj7(|u6 zV?FHTzp}zp*~G$W<2l~ddgM?aI>3cB7KtVA6vpXFGz)xzj#H=Gs4Ehpcwj%`x|+F; z74wF&=I=z$lSB}sIsHW4f}_3Z-vl1V`>F`0f@Yl((X~wo`0#-7rCN{T0^|73+H)u@ z{mwk$P#~Z85l*gwl^nQ~4-#uVh{gPXlaG$DZAO$IA83XLD1S*ysZ+8|c_(~)%*t!Z zJs=%{so68Nuv!K92_?0l)`O-f|8YL*C51Rj-$MPZf?U3N(kA@ZVO*Fu94iC!T^W0) zUG12?6qMQiD~29(OL${t+^HjH9q)Qc;RWhEDap`tM)*a1EgBjHI*@{e_;@iy7pkTQ z$4u3z=5gq*MV(q#Rg+~c1L6r=5^ivAEdYALsz1)@izsQ&Ikht08(z|NwMt41+=UF% zemuv!IZ8`#mF>HaEjc^mJ{Nu*_m0E8T;G7<1AQZKSlY8>W#D$)Q+L!ZE}8caRo1Lf z6SR*&BR<<%>sg0D5H3VWMh!(iloMn$)-gMPr{cd;J{7!J*#h#ZY~Qu;N=&4j+MpQC zs~`Pefi|+bEBxZ7@QWd}D2UPa;}&46UbUV!3k<*m;J2yu=(GU+N!6g%gBF3)`5

    &`Jt@Yh%O927?UX);@ORt{O#B3Y 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μ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

${u(x)}
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
2+4qpT^PJEmXs(b$HMNet(A7=9iex~WC- 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
2%139% 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 z%0A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

qL>Ns5qAck%Lh&VE3r> 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®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 -D4vC3TqygSJ>q0$LC7uH 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�DX4@K?SPT-7X3)>KQh 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�Dzy?94=L$V2>rSP=sbhyqzEZ9 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 z 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 z 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�H;=D|VHvbeUL+H-6LI;C} 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 m32kLJW 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

{_hMzWoK8|&qbJep@3)*oBrytyu%{SnQe+;(N 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 literal 0 HcmV?d00001 diff --git a/client/node_modules/@esbuild/win32-x64/package.json b/client/node_modules/@esbuild/win32-x64/package.json new file mode 100644 index 0000000..94abf8c --- /dev/null +++ b/client/node_modules/@esbuild/win32-x64/package.json @@ -0,0 +1,20 @@ +{ + "name": "@esbuild/win32-x64", + "version": "0.21.5", + "description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.", + "repository": { + "type": "git", + "url": "git+https://github.com/evanw/esbuild.git" + }, + "license": "MIT", + "preferUnplugged": true, + "engines": { + "node": ">=12" + }, + "os": [ + "win32" + ], + "cpu": [ + "x64" + ] +} diff --git a/client/node_modules/@jridgewell/gen-mapping/LICENSE b/client/node_modules/@jridgewell/gen-mapping/LICENSE new file mode 100644 index 0000000..1f6ce94 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/LICENSE @@ -0,0 +1,19 @@ +Copyright 2024 Justin Ridgewell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/client/node_modules/@jridgewell/gen-mapping/README.md b/client/node_modules/@jridgewell/gen-mapping/README.md new file mode 100644 index 0000000..93692b1 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/README.md @@ -0,0 +1,227 @@ +# @jridgewell/gen-mapping + +> Generate source maps + +`gen-mapping` allows you to generate a source map during transpilation or minification. +With a source map, you're able to trace the original location in the source file, either in Chrome's +DevTools or using a library like [`@jridgewell/trace-mapping`][trace-mapping]. + +You may already be familiar with the [`source-map`][source-map] package's `SourceMapGenerator`. This +provides the same `addMapping` and `setSourceContent` API. + +## Installation + +```sh +npm install @jridgewell/gen-mapping +``` + +## Usage + +```typescript +import { GenMapping, addMapping, setSourceContent, toEncodedMap, toDecodedMap } from '@jridgewell/gen-mapping'; + +const map = new GenMapping({ + file: 'output.js', + sourceRoot: 'https://example.com/', +}); + +setSourceContent(map, 'input.js', `function foo() {}`); + +addMapping(map, { + // Lines start at line 1, columns at column 0. + generated: { line: 1, column: 0 }, + source: 'input.js', + original: { line: 1, column: 0 }, +}); + +addMapping(map, { + generated: { line: 1, column: 9 }, + source: 'input.js', + original: { line: 1, column: 9 }, + name: 'foo', +}); + +assert.deepEqual(toDecodedMap(map), { + version: 3, + file: 'output.js', + names: ['foo'], + sourceRoot: 'https://example.com/', + sources: ['input.js'], + sourcesContent: ['function foo() {}'], + mappings: [ + [ [0, 0, 0, 0], [9, 0, 0, 9, 0] ] + ], +}); + +assert.deepEqual(toEncodedMap(map), { + version: 3, + file: 'output.js', + names: ['foo'], + sourceRoot: 'https://example.com/', + sources: ['input.js'], + sourcesContent: ['function foo() {}'], + mappings: 'AAAA,SAASA', +}); +``` + +### Smaller Sourcemaps + +Not everything needs to be added to a sourcemap, and needless markings can cause signficantly +larger file sizes. `gen-mapping` exposes `maybeAddSegment`/`maybeAddMapping` APIs that will +intelligently determine if this marking adds useful information. If not, the marking will be +skipped. + +```typescript +import { maybeAddMapping } from '@jridgewell/gen-mapping'; + +const map = new GenMapping(); + +// Adding a sourceless marking at the beginning of a line isn't useful. +maybeAddMapping(map, { + generated: { line: 1, column: 0 }, +}); + +// Adding a new source marking is useful. +maybeAddMapping(map, { + generated: { line: 1, column: 0 }, + source: 'input.js', + original: { line: 1, column: 0 }, +}); + +// But adding another marking pointing to the exact same original location isn't, even if the +// generated column changed. +maybeAddMapping(map, { + generated: { line: 1, column: 9 }, + source: 'input.js', + original: { line: 1, column: 0 }, +}); + +assert.deepEqual(toEncodedMap(map), { + version: 3, + names: [], + sources: ['input.js'], + sourcesContent: [null], + mappings: 'AAAA', +}); +``` + +## Benchmarks + +``` +node v18.0.0 + +amp.js.map +Memory Usage: +gen-mapping: addSegment 5852872 bytes +gen-mapping: addMapping 7716042 bytes +source-map-js 6143250 bytes +source-map-0.6.1 6124102 bytes +source-map-0.8.0 6121173 bytes +Smallest memory usage is gen-mapping: addSegment + +Adding speed: +gen-mapping: addSegment x 441 ops/sec ±2.07% (90 runs sampled) +gen-mapping: addMapping x 350 ops/sec ±2.40% (86 runs sampled) +source-map-js: addMapping x 169 ops/sec ±2.42% (80 runs sampled) +source-map-0.6.1: addMapping x 167 ops/sec ±2.56% (80 runs sampled) +source-map-0.8.0: addMapping x 168 ops/sec ±2.52% (80 runs sampled) +Fastest is gen-mapping: addSegment + +Generate speed: +gen-mapping: decoded output x 150,824,370 ops/sec ±0.07% (102 runs sampled) +gen-mapping: encoded output x 663 ops/sec ±0.22% (98 runs sampled) +source-map-js: encoded output x 197 ops/sec ±0.45% (84 runs sampled) +source-map-0.6.1: encoded output x 198 ops/sec ±0.33% (85 runs sampled) +source-map-0.8.0: encoded output x 197 ops/sec ±0.06% (93 runs sampled) +Fastest is gen-mapping: decoded output + + +*** + + +babel.min.js.map +Memory Usage: +gen-mapping: addSegment 37578063 bytes +gen-mapping: addMapping 37212897 bytes +source-map-js 47638527 bytes +source-map-0.6.1 47690503 bytes +source-map-0.8.0 47470188 bytes +Smallest memory usage is gen-mapping: addMapping + +Adding speed: +gen-mapping: addSegment x 31.05 ops/sec ±8.31% (43 runs sampled) +gen-mapping: addMapping x 29.83 ops/sec ±7.36% (51 runs sampled) +source-map-js: addMapping x 20.73 ops/sec ±6.22% (38 runs sampled) +source-map-0.6.1: addMapping x 20.03 ops/sec ±10.51% (38 runs sampled) +source-map-0.8.0: addMapping x 19.30 ops/sec ±8.27% (37 runs sampled) +Fastest is gen-mapping: addSegment + +Generate speed: +gen-mapping: decoded output x 381,379,234 ops/sec ±0.29% (96 runs sampled) +gen-mapping: encoded output x 95.15 ops/sec ±2.98% (72 runs sampled) +source-map-js: encoded output x 15.20 ops/sec ±7.41% (33 runs sampled) +source-map-0.6.1: encoded output x 16.36 ops/sec ±10.46% (31 runs sampled) +source-map-0.8.0: encoded output x 16.06 ops/sec ±6.45% (31 runs sampled) +Fastest is gen-mapping: decoded output + + +*** + + +preact.js.map +Memory Usage: +gen-mapping: addSegment 416247 bytes +gen-mapping: addMapping 419824 bytes +source-map-js 1024619 bytes +source-map-0.6.1 1146004 bytes +source-map-0.8.0 1113250 bytes +Smallest memory usage is gen-mapping: addSegment + +Adding speed: +gen-mapping: addSegment x 13,755 ops/sec ±0.15% (98 runs sampled) +gen-mapping: addMapping x 13,013 ops/sec ±0.11% (101 runs sampled) +source-map-js: addMapping x 4,564 ops/sec ±0.21% (98 runs sampled) +source-map-0.6.1: addMapping x 4,562 ops/sec ±0.11% (99 runs sampled) +source-map-0.8.0: addMapping x 4,593 ops/sec ±0.11% (100 runs sampled) +Fastest is gen-mapping: addSegment + +Generate speed: +gen-mapping: decoded output x 379,864,020 ops/sec ±0.23% (93 runs sampled) +gen-mapping: encoded output x 14,368 ops/sec ±4.07% (82 runs sampled) +source-map-js: encoded output x 5,261 ops/sec ±0.21% (99 runs sampled) +source-map-0.6.1: encoded output x 5,124 ops/sec ±0.58% (99 runs sampled) +source-map-0.8.0: encoded output x 5,434 ops/sec ±0.33% (96 runs sampled) +Fastest is gen-mapping: decoded output + + +*** + + +react.js.map +Memory Usage: +gen-mapping: addSegment 975096 bytes +gen-mapping: addMapping 1102981 bytes +source-map-js 2918836 bytes +source-map-0.6.1 2885435 bytes +source-map-0.8.0 2874336 bytes +Smallest memory usage is gen-mapping: addSegment + +Adding speed: +gen-mapping: addSegment x 4,772 ops/sec ±0.15% (100 runs sampled) +gen-mapping: addMapping x 4,456 ops/sec ±0.13% (97 runs sampled) +source-map-js: addMapping x 1,618 ops/sec ±0.24% (97 runs sampled) +source-map-0.6.1: addMapping x 1,622 ops/sec ±0.12% (99 runs sampled) +source-map-0.8.0: addMapping x 1,631 ops/sec ±0.12% (100 runs sampled) +Fastest is gen-mapping: addSegment + +Generate speed: +gen-mapping: decoded output x 379,107,695 ops/sec ±0.07% (99 runs sampled) +gen-mapping: encoded output x 5,421 ops/sec ±1.60% (89 runs sampled) +source-map-js: encoded output x 2,113 ops/sec ±1.81% (98 runs sampled) +source-map-0.6.1: encoded output x 2,126 ops/sec ±0.10% (100 runs sampled) +source-map-0.8.0: encoded output x 2,176 ops/sec ±0.39% (98 runs sampled) +Fastest is gen-mapping: decoded output +``` + +[source-map]: https://www.npmjs.com/package/source-map +[trace-mapping]: https://github.com/jridgewell/sourcemaps/tree/main/packages/trace-mapping diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs new file mode 100644 index 0000000..bbb0cac --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs @@ -0,0 +1,292 @@ +// src/set-array.ts +var SetArray = class { + constructor() { + this._indexes = { __proto__: null }; + this.array = []; + } +}; +function cast(set) { + return set; +} +function get(setarr, key) { + return cast(setarr)._indexes[key]; +} +function put(setarr, key) { + const index = get(setarr, key); + if (index !== void 0) return index; + const { array, _indexes: indexes } = cast(setarr); + const length = array.push(key); + return indexes[key] = length - 1; +} +function remove(setarr, key) { + const index = get(setarr, key); + if (index === void 0) return; + const { array, _indexes: indexes } = cast(setarr); + for (let i = index + 1; i < array.length; i++) { + const k = array[i]; + array[i - 1] = k; + indexes[k]--; + } + indexes[key] = void 0; + array.pop(); +} + +// src/gen-mapping.ts +import { + encode +} from "@jridgewell/sourcemap-codec"; +import { TraceMap, decodedMappings } from "@jridgewell/trace-mapping"; + +// src/sourcemap-segment.ts +var COLUMN = 0; +var SOURCES_INDEX = 1; +var SOURCE_LINE = 2; +var SOURCE_COLUMN = 3; +var NAMES_INDEX = 4; + +// src/gen-mapping.ts +var NO_NAME = -1; +var GenMapping = class { + constructor({ file, sourceRoot } = {}) { + this._names = new SetArray(); + this._sources = new SetArray(); + this._sourcesContent = []; + this._mappings = []; + this.file = file; + this.sourceRoot = sourceRoot; + this._ignoreList = new SetArray(); + } +}; +function cast2(map) { + return map; +} +function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) { + return addSegmentInternal( + false, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content + ); +} +function addMapping(map, mapping) { + return addMappingInternal(false, map, mapping); +} +var maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => { + return addSegmentInternal( + true, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content + ); +}; +var maybeAddMapping = (map, mapping) => { + return addMappingInternal(true, map, mapping); +}; +function setSourceContent(map, source, content) { + const { + _sources: sources, + _sourcesContent: sourcesContent + // _originalScopes: originalScopes, + } = cast2(map); + const index = put(sources, source); + sourcesContent[index] = content; +} +function setIgnore(map, source, ignore = true) { + const { + _sources: sources, + _sourcesContent: sourcesContent, + _ignoreList: ignoreList + // _originalScopes: originalScopes, + } = cast2(map); + const index = put(sources, source); + if (index === sourcesContent.length) sourcesContent[index] = null; + if (ignore) put(ignoreList, index); + else remove(ignoreList, index); +} +function toDecodedMap(map) { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names, + _ignoreList: ignoreList + // _originalScopes: originalScopes, + // _generatedRanges: generatedRanges, + } = cast2(map); + removeEmptyFinalLines(mappings); + return { + version: 3, + file: map.file || void 0, + names: names.array, + sourceRoot: map.sourceRoot || void 0, + sources: sources.array, + sourcesContent, + mappings, + // originalScopes, + // generatedRanges, + ignoreList: ignoreList.array + }; +} +function toEncodedMap(map) { + const decoded = toDecodedMap(map); + return Object.assign({}, decoded, { + // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)), + // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]), + mappings: encode(decoded.mappings) + }); +} +function fromMap(input) { + const map = new TraceMap(input); + const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot }); + putAll(cast2(gen)._names, map.names); + putAll(cast2(gen)._sources, map.sources); + cast2(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null); + cast2(gen)._mappings = decodedMappings(map); + if (map.ignoreList) putAll(cast2(gen)._ignoreList, map.ignoreList); + return gen; +} +function allMappings(map) { + const out = []; + const { _mappings: mappings, _sources: sources, _names: names } = cast2(map); + for (let i = 0; i < mappings.length; i++) { + const line = mappings[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const generated = { line: i + 1, column: seg[COLUMN] }; + let source = void 0; + let original = void 0; + let name = void 0; + if (seg.length !== 1) { + source = sources.array[seg[SOURCES_INDEX]]; + original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] }; + if (seg.length === 5) name = names.array[seg[NAMES_INDEX]]; + } + out.push({ generated, source, original, name }); + } + } + return out; +} +function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names + // _originalScopes: originalScopes, + } = cast2(map); + const line = getIndex(mappings, genLine); + const index = getColumnIndex(line, genColumn); + if (!source) { + if (skipable && skipSourceless(line, index)) return; + return insert(line, index, [genColumn]); + } + assert(sourceLine); + assert(sourceColumn); + const sourcesIndex = put(sources, source); + const namesIndex = name ? put(names, name) : NO_NAME; + if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content != null ? content : null; + if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) { + return; + } + return insert( + line, + index, + name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn] + ); +} +function assert(_val) { +} +function getIndex(arr, index) { + for (let i = arr.length; i <= index; i++) { + arr[i] = []; + } + return arr[index]; +} +function getColumnIndex(line, genColumn) { + let index = line.length; + for (let i = index - 1; i >= 0; index = i--) { + const current = line[i]; + if (genColumn >= current[COLUMN]) break; + } + return index; +} +function insert(array, index, value) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; +} +function removeEmptyFinalLines(mappings) { + const { length } = mappings; + let len = length; + for (let i = len - 1; i >= 0; len = i, i--) { + if (mappings[i].length > 0) break; + } + if (len < length) mappings.length = len; +} +function putAll(setarr, array) { + for (let i = 0; i < array.length; i++) put(setarr, array[i]); +} +function skipSourceless(line, index) { + if (index === 0) return true; + const prev = line[index - 1]; + return prev.length === 1; +} +function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) { + if (index === 0) return false; + const prev = line[index - 1]; + if (prev.length === 1) return false; + return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME); +} +function addMappingInternal(skipable, map, mapping) { + const { generated, source, original, name, content } = mapping; + if (!source) { + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + null, + null, + null, + null, + null + ); + } + assert(original); + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + source, + original.line - 1, + original.column, + name, + content + ); +} +export { + GenMapping, + addMapping, + addSegment, + allMappings, + fromMap, + maybeAddMapping, + maybeAddSegment, + setIgnore, + setSourceContent, + toDecodedMap, + toEncodedMap +}; +//# sourceMappingURL=gen-mapping.mjs.map diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map new file mode 100644 index 0000000..4e37e45 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["../src/set-array.ts", "../src/gen-mapping.ts", "../src/sourcemap-segment.ts"], + "mappings": "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", + "names": ["cast"] +} diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js new file mode 100644 index 0000000..cb84af5 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js @@ -0,0 +1,358 @@ +(function (global, factory) { + if (typeof exports === 'object' && typeof module !== 'undefined') { + factory(module, require('@jridgewell/sourcemap-codec'), require('@jridgewell/trace-mapping')); + module.exports = def(module); + } else if (typeof define === 'function' && define.amd) { + define(['module', '@jridgewell/sourcemap-codec', '@jridgewell/trace-mapping'], function(mod) { + factory.apply(this, arguments); + mod.exports = def(mod); + }); + } else { + const mod = { exports: {} }; + factory(mod, global.sourcemapCodec, global.traceMapping); + global = typeof globalThis !== 'undefined' ? globalThis : global || self; + global.genMapping = def(mod); + } + function def(m) { return 'default' in m.exports ? m.exports.default : m.exports; } +})(this, (function (module, require_sourcemapCodec, require_traceMapping) { +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// umd:@jridgewell/sourcemap-codec +var require_sourcemap_codec = __commonJS({ + "umd:@jridgewell/sourcemap-codec"(exports, module2) { + module2.exports = require_sourcemapCodec; + } +}); + +// umd:@jridgewell/trace-mapping +var require_trace_mapping = __commonJS({ + "umd:@jridgewell/trace-mapping"(exports, module2) { + module2.exports = require_traceMapping; + } +}); + +// src/gen-mapping.ts +var gen_mapping_exports = {}; +__export(gen_mapping_exports, { + GenMapping: () => GenMapping, + addMapping: () => addMapping, + addSegment: () => addSegment, + allMappings: () => allMappings, + fromMap: () => fromMap, + maybeAddMapping: () => maybeAddMapping, + maybeAddSegment: () => maybeAddSegment, + setIgnore: () => setIgnore, + setSourceContent: () => setSourceContent, + toDecodedMap: () => toDecodedMap, + toEncodedMap: () => toEncodedMap +}); +module.exports = __toCommonJS(gen_mapping_exports); + +// src/set-array.ts +var SetArray = class { + constructor() { + this._indexes = { __proto__: null }; + this.array = []; + } +}; +function cast(set) { + return set; +} +function get(setarr, key) { + return cast(setarr)._indexes[key]; +} +function put(setarr, key) { + const index = get(setarr, key); + if (index !== void 0) return index; + const { array, _indexes: indexes } = cast(setarr); + const length = array.push(key); + return indexes[key] = length - 1; +} +function remove(setarr, key) { + const index = get(setarr, key); + if (index === void 0) return; + const { array, _indexes: indexes } = cast(setarr); + for (let i = index + 1; i < array.length; i++) { + const k = array[i]; + array[i - 1] = k; + indexes[k]--; + } + indexes[key] = void 0; + array.pop(); +} + +// src/gen-mapping.ts +var import_sourcemap_codec = __toESM(require_sourcemap_codec()); +var import_trace_mapping = __toESM(require_trace_mapping()); + +// src/sourcemap-segment.ts +var COLUMN = 0; +var SOURCES_INDEX = 1; +var SOURCE_LINE = 2; +var SOURCE_COLUMN = 3; +var NAMES_INDEX = 4; + +// src/gen-mapping.ts +var NO_NAME = -1; +var GenMapping = class { + constructor({ file, sourceRoot } = {}) { + this._names = new SetArray(); + this._sources = new SetArray(); + this._sourcesContent = []; + this._mappings = []; + this.file = file; + this.sourceRoot = sourceRoot; + this._ignoreList = new SetArray(); + } +}; +function cast2(map) { + return map; +} +function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) { + return addSegmentInternal( + false, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content + ); +} +function addMapping(map, mapping) { + return addMappingInternal(false, map, mapping); +} +var maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => { + return addSegmentInternal( + true, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content + ); +}; +var maybeAddMapping = (map, mapping) => { + return addMappingInternal(true, map, mapping); +}; +function setSourceContent(map, source, content) { + const { + _sources: sources, + _sourcesContent: sourcesContent + // _originalScopes: originalScopes, + } = cast2(map); + const index = put(sources, source); + sourcesContent[index] = content; +} +function setIgnore(map, source, ignore = true) { + const { + _sources: sources, + _sourcesContent: sourcesContent, + _ignoreList: ignoreList + // _originalScopes: originalScopes, + } = cast2(map); + const index = put(sources, source); + if (index === sourcesContent.length) sourcesContent[index] = null; + if (ignore) put(ignoreList, index); + else remove(ignoreList, index); +} +function toDecodedMap(map) { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names, + _ignoreList: ignoreList + // _originalScopes: originalScopes, + // _generatedRanges: generatedRanges, + } = cast2(map); + removeEmptyFinalLines(mappings); + return { + version: 3, + file: map.file || void 0, + names: names.array, + sourceRoot: map.sourceRoot || void 0, + sources: sources.array, + sourcesContent, + mappings, + // originalScopes, + // generatedRanges, + ignoreList: ignoreList.array + }; +} +function toEncodedMap(map) { + const decoded = toDecodedMap(map); + return Object.assign({}, decoded, { + // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)), + // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]), + mappings: (0, import_sourcemap_codec.encode)(decoded.mappings) + }); +} +function fromMap(input) { + const map = new import_trace_mapping.TraceMap(input); + const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot }); + putAll(cast2(gen)._names, map.names); + putAll(cast2(gen)._sources, map.sources); + cast2(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null); + cast2(gen)._mappings = (0, import_trace_mapping.decodedMappings)(map); + if (map.ignoreList) putAll(cast2(gen)._ignoreList, map.ignoreList); + return gen; +} +function allMappings(map) { + const out = []; + const { _mappings: mappings, _sources: sources, _names: names } = cast2(map); + for (let i = 0; i < mappings.length; i++) { + const line = mappings[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const generated = { line: i + 1, column: seg[COLUMN] }; + let source = void 0; + let original = void 0; + let name = void 0; + if (seg.length !== 1) { + source = sources.array[seg[SOURCES_INDEX]]; + original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] }; + if (seg.length === 5) name = names.array[seg[NAMES_INDEX]]; + } + out.push({ generated, source, original, name }); + } + } + return out; +} +function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names + // _originalScopes: originalScopes, + } = cast2(map); + const line = getIndex(mappings, genLine); + const index = getColumnIndex(line, genColumn); + if (!source) { + if (skipable && skipSourceless(line, index)) return; + return insert(line, index, [genColumn]); + } + assert(sourceLine); + assert(sourceColumn); + const sourcesIndex = put(sources, source); + const namesIndex = name ? put(names, name) : NO_NAME; + if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content != null ? content : null; + if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) { + return; + } + return insert( + line, + index, + name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn] + ); +} +function assert(_val) { +} +function getIndex(arr, index) { + for (let i = arr.length; i <= index; i++) { + arr[i] = []; + } + return arr[index]; +} +function getColumnIndex(line, genColumn) { + let index = line.length; + for (let i = index - 1; i >= 0; index = i--) { + const current = line[i]; + if (genColumn >= current[COLUMN]) break; + } + return index; +} +function insert(array, index, value) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; +} +function removeEmptyFinalLines(mappings) { + const { length } = mappings; + let len = length; + for (let i = len - 1; i >= 0; len = i, i--) { + if (mappings[i].length > 0) break; + } + if (len < length) mappings.length = len; +} +function putAll(setarr, array) { + for (let i = 0; i < array.length; i++) put(setarr, array[i]); +} +function skipSourceless(line, index) { + if (index === 0) return true; + const prev = line[index - 1]; + return prev.length === 1; +} +function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) { + if (index === 0) return false; + const prev = line[index - 1]; + if (prev.length === 1) return false; + return sourcesIndex === prev[SOURCES_INDEX] && sourceLine === prev[SOURCE_LINE] && sourceColumn === prev[SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME); +} +function addMappingInternal(skipable, map, mapping) { + const { generated, source, original, name, content } = mapping; + if (!source) { + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + null, + null, + null, + null, + null + ); + } + assert(original); + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + source, + original.line - 1, + original.column, + name, + content + ); +} +})); +//# sourceMappingURL=gen-mapping.umd.js.map diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map new file mode 100644 index 0000000..b13750b --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["umd:@jridgewell/sourcemap-codec", "umd:@jridgewell/trace-mapping", "../src/gen-mapping.ts", "../src/set-array.ts", "../src/sourcemap-segment.ts"], + "mappings": "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", + "names": ["module", "module", "cast"] +} diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts b/client/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts new file mode 100644 index 0000000..9ba936e --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts @@ -0,0 +1,88 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types'; +export type { DecodedSourceMap, EncodedSourceMap, Mapping }; +export type Options = { + file?: string | null; + sourceRoot?: string | null; +}; +/** + * Provides the state to generate a sourcemap. + */ +export declare class GenMapping { + private _names; + private _sources; + private _sourcesContent; + private _mappings; + private _ignoreList; + file: string | null | undefined; + sourceRoot: string | null | undefined; + constructor({ file, sourceRoot }?: Options); +} +/** + * A low-level API to associate a generated position with an original source position. Line and + * column here are 0-based, unlike `addMapping`. + */ +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source?: null, sourceLine?: null, sourceColumn?: null, name?: null, content?: null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name?: null, content?: string | null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name: string, content?: string | null): void; +/** + * A high-level API to associate a generated position with an original source position. Line is + * 1-based, but column is 0-based, due to legacy behavior in `source-map` library. + */ +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source?: null; + original?: null; + name?: null; + content?: null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name?: null; + content?: string | null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name: string; + content?: string | null; +}): void; +/** + * Same as `addSegment`, but will only add the segment if it generates useful information in the + * resulting map. This only works correctly if segments are added **in order**, meaning you should + * not add a segment with a lower generated line/column than one that came before. + */ +export declare const maybeAddSegment: typeof addSegment; +/** + * Same as `addMapping`, but will only add the mapping if it generates useful information in the + * resulting map. This only works correctly if mappings are added **in order**, meaning you should + * not add a mapping with a lower generated line/column than one that came before. + */ +export declare const maybeAddMapping: typeof addMapping; +/** + * Adds/removes the content of the source file to the source map. + */ +export declare function setSourceContent(map: GenMapping, source: string, content: string | null): void; +export declare function setIgnore(map: GenMapping, source: string, ignore?: boolean): void; +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toDecodedMap(map: GenMapping): DecodedSourceMap; +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toEncodedMap(map: GenMapping): EncodedSourceMap; +/** + * Constructs a new GenMapping, using the already present mappings of the input. + */ +export declare function fromMap(input: SourceMapInput): GenMapping; +/** + * Returns an array of high-level mapping objects for every recorded segment, which could then be + * passed to the `source-map` library. + */ +export declare function allMappings(map: GenMapping): Mapping[]; diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts b/client/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts new file mode 100644 index 0000000..6ed4354 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts @@ -0,0 +1,32 @@ +type Key = string | number | symbol; +/** + * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the + * index of the `key` in the backing array. + * + * This is designed to allow synchronizing a second array with the contents of the backing array, + * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, + * and there are never duplicates. + */ +export declare class SetArray { + private _indexes; + array: readonly T[]; + constructor(); +} +/** + * Gets the index associated with `key` in the backing array, if it is already present. + */ +export declare function get(setarr: SetArray, key: T): number | undefined; +/** + * Puts `key` into the backing array, if it is not already present. Returns + * the index of the `key` in the backing array. + */ +export declare function put(setarr: SetArray, key: T): number; +/** + * Pops the last added item out of the SetArray. + */ +export declare function pop(setarr: SetArray): void; +/** + * Removes the key, if it exists in the set. + */ +export declare function remove(setarr: SetArray, key: T): void; +export {}; diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts b/client/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts new file mode 100644 index 0000000..aa19fb5 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts @@ -0,0 +1,12 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; +export declare const COLUMN = 0; +export declare const SOURCES_INDEX = 1; +export declare const SOURCE_LINE = 2; +export declare const SOURCE_COLUMN = 3; +export declare const NAMES_INDEX = 4; +export {}; diff --git a/client/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts b/client/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts new file mode 100644 index 0000000..8eb90fb --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts @@ -0,0 +1,43 @@ +import type { SourceMapSegment } from './sourcemap-segment'; +export interface SourceMapV3 { + file?: string | null; + names: readonly string[]; + sourceRoot?: string; + sources: readonly (string | null)[]; + sourcesContent?: readonly (string | null)[]; + version: 3; + ignoreList?: readonly number[]; +} +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +export interface DecodedSourceMap extends SourceMapV3 { + mappings: readonly SourceMapSegment[][]; +} +export interface Pos { + line: number; + column: number; +} +export interface OriginalPos extends Pos { + source: string; +} +export interface BindingExpressionRange { + start: Pos; + expression: string; +} +export type Mapping = { + generated: Pos; + source: undefined; + original: undefined; + name: undefined; +} | { + generated: Pos; + source: string; + original: Pos; + name: string; +} | { + generated: Pos; + source: string; + original: Pos; + name: undefined; +}; diff --git a/client/node_modules/@jridgewell/gen-mapping/package.json b/client/node_modules/@jridgewell/gen-mapping/package.json new file mode 100644 index 0000000..036f9b7 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/package.json @@ -0,0 +1,67 @@ +{ + "name": "@jridgewell/gen-mapping", + "version": "0.3.13", + "description": "Generate source maps", + "keywords": [ + "source", + "map" + ], + "main": "dist/gen-mapping.umd.js", + "module": "dist/gen-mapping.mjs", + "types": "types/gen-mapping.d.cts", + "files": [ + "dist", + "src", + "types" + ], + "exports": { + ".": [ + { + "import": { + "types": "./types/gen-mapping.d.mts", + "default": "./dist/gen-mapping.mjs" + }, + "default": { + "types": "./types/gen-mapping.d.cts", + "default": "./dist/gen-mapping.umd.js" + } + }, + "./dist/gen-mapping.umd.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "benchmark": "run-s build:code benchmark:*", + "benchmark:install": "cd benchmark && npm install", + "benchmark:only": "node --expose-gc benchmark/index.js", + "build": "run-s -n build:code build:types", + "build:code": "node ../../esbuild.mjs gen-mapping.ts", + "build:types": "run-s build:types:force build:types:emit build:types:mts", + "build:types:force": "rimraf tsconfig.build.tsbuildinfo", + "build:types:emit": "tsc --project tsconfig.build.json", + "build:types:mts": "node ../../mts-types.mjs", + "clean": "run-s -n clean:code clean:types", + "clean:code": "tsc --build --clean tsconfig.build.json", + "clean:types": "rimraf dist types", + "test": "run-s -n test:types test:only test:format", + "test:format": "prettier --check '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:types": "eslint '{src,test}/**/*.ts'", + "lint": "run-s -n lint:types lint:format", + "lint:format": "npm run test:format -- --write", + "lint:types": "npm run test:types -- --fix", + "prepublishOnly": "npm run-s -n build test" + }, + "homepage": "https://github.com/jridgewell/sourcemaps/tree/main/packages/gen-mapping", + "repository": { + "type": "git", + "url": "git+https://github.com/jridgewell/sourcemaps.git", + "directory": "packages/gen-mapping" + }, + "author": "Justin Ridgewell ", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } +} diff --git a/client/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts b/client/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts new file mode 100644 index 0000000..ecc878c --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts @@ -0,0 +1,614 @@ +import { SetArray, put, remove } from './set-array'; +import { + encode, + // encodeGeneratedRanges, + // encodeOriginalScopes +} from '@jridgewell/sourcemap-codec'; +import { TraceMap, decodedMappings } from '@jridgewell/trace-mapping'; + +import { + COLUMN, + SOURCES_INDEX, + SOURCE_LINE, + SOURCE_COLUMN, + NAMES_INDEX, +} from './sourcemap-segment'; + +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +// import type { OriginalScope, GeneratedRange } from '@jridgewell/sourcemap-codec'; +import type { SourceMapSegment } from './sourcemap-segment'; +import type { + DecodedSourceMap, + EncodedSourceMap, + Pos, + Mapping, + // BindingExpressionRange, + // OriginalPos, + // OriginalScopeInfo, + // GeneratedRangeInfo, +} from './types'; + +export type { DecodedSourceMap, EncodedSourceMap, Mapping }; + +export type Options = { + file?: string | null; + sourceRoot?: string | null; +}; + +const NO_NAME = -1; + +/** + * Provides the state to generate a sourcemap. + */ +export class GenMapping { + declare private _names: SetArray; + declare private _sources: SetArray; + declare private _sourcesContent: (string | null)[]; + declare private _mappings: SourceMapSegment[][]; + // private declare _originalScopes: OriginalScope[][]; + // private declare _generatedRanges: GeneratedRange[]; + declare private _ignoreList: SetArray; + declare file: string | null | undefined; + declare sourceRoot: string | null | undefined; + + constructor({ file, sourceRoot }: Options = {}) { + this._names = new SetArray(); + this._sources = new SetArray(); + this._sourcesContent = []; + this._mappings = []; + // this._originalScopes = []; + // this._generatedRanges = []; + this.file = file; + this.sourceRoot = sourceRoot; + this._ignoreList = new SetArray(); + } +} + +interface PublicMap { + _names: GenMapping['_names']; + _sources: GenMapping['_sources']; + _sourcesContent: GenMapping['_sourcesContent']; + _mappings: GenMapping['_mappings']; + // _originalScopes: GenMapping['_originalScopes']; + // _generatedRanges: GenMapping['_generatedRanges']; + _ignoreList: GenMapping['_ignoreList']; +} + +/** + * Typescript doesn't allow friend access to private fields, so this just casts the map into a type + * with public access modifiers. + */ +function cast(map: unknown): PublicMap { + return map as any; +} + +/** + * A low-level API to associate a generated position with an original source position. Line and + * column here are 0-based, unlike `addMapping`. + */ +export function addSegment( + map: GenMapping, + genLine: number, + genColumn: number, + source?: null, + sourceLine?: null, + sourceColumn?: null, + name?: null, + content?: null, +): void; +export function addSegment( + map: GenMapping, + genLine: number, + genColumn: number, + source: string, + sourceLine: number, + sourceColumn: number, + name?: null, + content?: string | null, +): void; +export function addSegment( + map: GenMapping, + genLine: number, + genColumn: number, + source: string, + sourceLine: number, + sourceColumn: number, + name: string, + content?: string | null, +): void; +export function addSegment( + map: GenMapping, + genLine: number, + genColumn: number, + source?: string | null, + sourceLine?: number | null, + sourceColumn?: number | null, + name?: string | null, + content?: string | null, +): void { + return addSegmentInternal( + false, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content, + ); +} + +/** + * A high-level API to associate a generated position with an original source position. Line is + * 1-based, but column is 0-based, due to legacy behavior in `source-map` library. + */ +export function addMapping( + map: GenMapping, + mapping: { + generated: Pos; + source?: null; + original?: null; + name?: null; + content?: null; + }, +): void; +export function addMapping( + map: GenMapping, + mapping: { + generated: Pos; + source: string; + original: Pos; + name?: null; + content?: string | null; + }, +): void; +export function addMapping( + map: GenMapping, + mapping: { + generated: Pos; + source: string; + original: Pos; + name: string; + content?: string | null; + }, +): void; +export function addMapping( + map: GenMapping, + mapping: { + generated: Pos; + source?: string | null; + original?: Pos | null; + name?: string | null; + content?: string | null; + }, +): void { + return addMappingInternal(false, map, mapping as Parameters[2]); +} + +/** + * Same as `addSegment`, but will only add the segment if it generates useful information in the + * resulting map. This only works correctly if segments are added **in order**, meaning you should + * not add a segment with a lower generated line/column than one that came before. + */ +export const maybeAddSegment: typeof addSegment = ( + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content, +) => { + return addSegmentInternal( + true, + map, + genLine, + genColumn, + source, + sourceLine, + sourceColumn, + name, + content, + ); +}; + +/** + * Same as `addMapping`, but will only add the mapping if it generates useful information in the + * resulting map. This only works correctly if mappings are added **in order**, meaning you should + * not add a mapping with a lower generated line/column than one that came before. + */ +export const maybeAddMapping: typeof addMapping = (map, mapping) => { + return addMappingInternal(true, map, mapping as Parameters[2]); +}; + +/** + * Adds/removes the content of the source file to the source map. + */ +export function setSourceContent(map: GenMapping, source: string, content: string | null): void { + const { + _sources: sources, + _sourcesContent: sourcesContent, + // _originalScopes: originalScopes, + } = cast(map); + const index = put(sources, source); + sourcesContent[index] = content; + // if (index === originalScopes.length) originalScopes[index] = []; +} + +export function setIgnore(map: GenMapping, source: string, ignore = true) { + const { + _sources: sources, + _sourcesContent: sourcesContent, + _ignoreList: ignoreList, + // _originalScopes: originalScopes, + } = cast(map); + const index = put(sources, source); + if (index === sourcesContent.length) sourcesContent[index] = null; + // if (index === originalScopes.length) originalScopes[index] = []; + if (ignore) put(ignoreList, index); + else remove(ignoreList, index); +} + +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export function toDecodedMap(map: GenMapping): DecodedSourceMap { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names, + _ignoreList: ignoreList, + // _originalScopes: originalScopes, + // _generatedRanges: generatedRanges, + } = cast(map); + removeEmptyFinalLines(mappings); + + return { + version: 3, + file: map.file || undefined, + names: names.array, + sourceRoot: map.sourceRoot || undefined, + sources: sources.array, + sourcesContent, + mappings, + // originalScopes, + // generatedRanges, + ignoreList: ignoreList.array, + }; +} + +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export function toEncodedMap(map: GenMapping): EncodedSourceMap { + const decoded = toDecodedMap(map); + return Object.assign({}, decoded, { + // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)), + // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]), + mappings: encode(decoded.mappings as SourceMapSegment[][]), + }); +} + +/** + * Constructs a new GenMapping, using the already present mappings of the input. + */ +export function fromMap(input: SourceMapInput): GenMapping { + const map = new TraceMap(input); + const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot }); + + putAll(cast(gen)._names, map.names); + putAll(cast(gen)._sources, map.sources as string[]); + cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null); + cast(gen)._mappings = decodedMappings(map) as GenMapping['_mappings']; + // TODO: implement originalScopes/generatedRanges + if (map.ignoreList) putAll(cast(gen)._ignoreList, map.ignoreList); + + return gen; +} + +/** + * Returns an array of high-level mapping objects for every recorded segment, which could then be + * passed to the `source-map` library. + */ +export function allMappings(map: GenMapping): Mapping[] { + const out: Mapping[] = []; + const { _mappings: mappings, _sources: sources, _names: names } = cast(map); + + for (let i = 0; i < mappings.length; i++) { + const line = mappings[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + + const generated = { line: i + 1, column: seg[COLUMN] }; + let source: string | undefined = undefined; + let original: Pos | undefined = undefined; + let name: string | undefined = undefined; + + if (seg.length !== 1) { + source = sources.array[seg[SOURCES_INDEX]]; + original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] }; + + if (seg.length === 5) name = names.array[seg[NAMES_INDEX]]; + } + + out.push({ generated, source, original, name } as Mapping); + } + } + + return out; +} + +// This split declaration is only so that terser can elminiate the static initialization block. +function addSegmentInternal( + skipable: boolean, + map: GenMapping, + genLine: number, + genColumn: number, + source: S, + sourceLine: S extends string ? number : null | undefined, + sourceColumn: S extends string ? number : null | undefined, + name: S extends string ? string | null | undefined : null | undefined, + content: S extends string ? string | null | undefined : null | undefined, +): void { + const { + _mappings: mappings, + _sources: sources, + _sourcesContent: sourcesContent, + _names: names, + // _originalScopes: originalScopes, + } = cast(map); + const line = getIndex(mappings, genLine); + const index = getColumnIndex(line, genColumn); + + if (!source) { + if (skipable && skipSourceless(line, index)) return; + return insert(line, index, [genColumn]); + } + + // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source + // isn't nullish. + assert(sourceLine); + assert(sourceColumn); + + const sourcesIndex = put(sources, source); + const namesIndex = name ? put(names, name) : NO_NAME; + if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null; + // if (sourcesIndex === originalScopes.length) originalScopes[sourcesIndex] = []; + + if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) { + return; + } + + return insert( + line, + index, + name + ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] + : [genColumn, sourcesIndex, sourceLine, sourceColumn], + ); +} + +function assert(_val: unknown): asserts _val is T { + // noop. +} + +function getIndex(arr: T[][], index: number): T[] { + for (let i = arr.length; i <= index; i++) { + arr[i] = []; + } + return arr[index]; +} + +function getColumnIndex(line: SourceMapSegment[], genColumn: number): number { + let index = line.length; + for (let i = index - 1; i >= 0; index = i--) { + const current = line[i]; + if (genColumn >= current[COLUMN]) break; + } + return index; +} + +function insert(array: T[], index: number, value: T) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; +} + +function removeEmptyFinalLines(mappings: SourceMapSegment[][]) { + const { length } = mappings; + let len = length; + for (let i = len - 1; i >= 0; len = i, i--) { + if (mappings[i].length > 0) break; + } + if (len < length) mappings.length = len; +} + +function putAll(setarr: SetArray, array: T[]) { + for (let i = 0; i < array.length; i++) put(setarr, array[i]); +} + +function skipSourceless(line: SourceMapSegment[], index: number): boolean { + // The start of a line is already sourceless, so adding a sourceless segment to the beginning + // doesn't generate any useful information. + if (index === 0) return true; + + const prev = line[index - 1]; + // If the previous segment is also sourceless, then adding another sourceless segment doesn't + // genrate any new information. Else, this segment will end the source/named segment and point to + // a sourceless position, which is useful. + return prev.length === 1; +} + +function skipSource( + line: SourceMapSegment[], + index: number, + sourcesIndex: number, + sourceLine: number, + sourceColumn: number, + namesIndex: number, +): boolean { + // A source/named segment at the start of a line gives position at that genColumn + if (index === 0) return false; + + const prev = line[index - 1]; + + // If the previous segment is sourceless, then we're transitioning to a source. + if (prev.length === 1) return false; + + // If the previous segment maps to the exact same source position, then this segment doesn't + // provide any new position information. + return ( + sourcesIndex === prev[SOURCES_INDEX] && + sourceLine === prev[SOURCE_LINE] && + sourceColumn === prev[SOURCE_COLUMN] && + namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME) + ); +} + +function addMappingInternal( + skipable: boolean, + map: GenMapping, + mapping: { + generated: Pos; + source: S; + original: S extends string ? Pos : null | undefined; + name: S extends string ? string | null | undefined : null | undefined; + content: S extends string ? string | null | undefined : null | undefined; + }, +) { + const { generated, source, original, name, content } = mapping; + if (!source) { + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + null, + null, + null, + null, + null, + ); + } + assert(original); + return addSegmentInternal( + skipable, + map, + generated.line - 1, + generated.column, + source as string, + original.line - 1, + original.column, + name, + content, + ); +} + +/* +export function addOriginalScope( + map: GenMapping, + data: { + start: Pos; + end: Pos; + source: string; + kind: string; + name?: string; + variables?: string[]; + }, +): OriginalScopeInfo { + const { start, end, source, kind, name, variables } = data; + const { + _sources: sources, + _sourcesContent: sourcesContent, + _originalScopes: originalScopes, + _names: names, + } = cast(map); + const index = put(sources, source); + if (index === sourcesContent.length) sourcesContent[index] = null; + if (index === originalScopes.length) originalScopes[index] = []; + + const kindIndex = put(names, kind); + const scope: OriginalScope = name + ? [start.line - 1, start.column, end.line - 1, end.column, kindIndex, put(names, name)] + : [start.line - 1, start.column, end.line - 1, end.column, kindIndex]; + if (variables) { + scope.vars = variables.map((v) => put(names, v)); + } + const len = originalScopes[index].push(scope); + return [index, len - 1, variables]; +} +*/ + +// Generated Ranges +/* +export function addGeneratedRange( + map: GenMapping, + data: { + start: Pos; + isScope: boolean; + originalScope?: OriginalScopeInfo; + callsite?: OriginalPos; + }, +): GeneratedRangeInfo { + const { start, isScope, originalScope, callsite } = data; + const { + _originalScopes: originalScopes, + _sources: sources, + _sourcesContent: sourcesContent, + _generatedRanges: generatedRanges, + } = cast(map); + + const range: GeneratedRange = [ + start.line - 1, + start.column, + 0, + 0, + originalScope ? originalScope[0] : -1, + originalScope ? originalScope[1] : -1, + ]; + if (originalScope?.[2]) { + range.bindings = originalScope[2].map(() => [[-1]]); + } + if (callsite) { + const index = put(sources, callsite.source); + if (index === sourcesContent.length) sourcesContent[index] = null; + if (index === originalScopes.length) originalScopes[index] = []; + range.callsite = [index, callsite.line - 1, callsite.column]; + } + if (isScope) range.isScope = true; + generatedRanges.push(range); + + return [range, originalScope?.[2]]; +} + +export function setEndPosition(range: GeneratedRangeInfo, pos: Pos) { + range[0][2] = pos.line - 1; + range[0][3] = pos.column; +} + +export function addBinding( + map: GenMapping, + range: GeneratedRangeInfo, + variable: string, + expression: string | BindingExpressionRange, +) { + const { _names: names } = cast(map); + const bindings = (range[0].bindings ||= []); + const vars = range[1]; + + const index = vars!.indexOf(variable); + const binding = getIndex(bindings, index); + + if (typeof expression === 'string') binding[0] = [put(names, expression)]; + else { + const { start } = expression; + binding.push([put(names, expression.expression), start.line - 1, start.column]); + } +} +*/ diff --git a/client/node_modules/@jridgewell/gen-mapping/src/set-array.ts b/client/node_modules/@jridgewell/gen-mapping/src/set-array.ts new file mode 100644 index 0000000..a2a73a5 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/src/set-array.ts @@ -0,0 +1,82 @@ +type Key = string | number | symbol; + +/** + * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the + * index of the `key` in the backing array. + * + * This is designed to allow synchronizing a second array with the contents of the backing array, + * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, + * and there are never duplicates. + */ +export class SetArray { + declare private _indexes: Record; + declare array: readonly T[]; + + constructor() { + this._indexes = { __proto__: null } as any; + this.array = []; + } +} + +interface PublicSet { + array: T[]; + _indexes: SetArray['_indexes']; +} + +/** + * Typescript doesn't allow friend access to private fields, so this just casts the set into a type + * with public access modifiers. + */ +function cast(set: SetArray): PublicSet { + return set as any; +} + +/** + * Gets the index associated with `key` in the backing array, if it is already present. + */ +export function get(setarr: SetArray, key: T): number | undefined { + return cast(setarr)._indexes[key]; +} + +/** + * Puts `key` into the backing array, if it is not already present. Returns + * the index of the `key` in the backing array. + */ +export function put(setarr: SetArray, key: T): number { + // The key may or may not be present. If it is present, it's a number. + const index = get(setarr, key); + if (index !== undefined) return index; + + const { array, _indexes: indexes } = cast(setarr); + + const length = array.push(key); + return (indexes[key] = length - 1); +} + +/** + * Pops the last added item out of the SetArray. + */ +export function pop(setarr: SetArray): void { + const { array, _indexes: indexes } = cast(setarr); + if (array.length === 0) return; + + const last = array.pop()!; + indexes[last] = undefined; +} + +/** + * Removes the key, if it exists in the set. + */ +export function remove(setarr: SetArray, key: T): void { + const index = get(setarr, key); + if (index === undefined) return; + + const { array, _indexes: indexes } = cast(setarr); + for (let i = index + 1; i < array.length; i++) { + const k = array[i]; + array[i - 1] = k; + indexes[k]!--; + } + indexes[key] = undefined; + array.pop(); +} diff --git a/client/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts b/client/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts new file mode 100644 index 0000000..fb296dd --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts @@ -0,0 +1,16 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; + +export type SourceMapSegment = + | [GeneratedColumn] + | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] + | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; + +export const COLUMN = 0; +export const SOURCES_INDEX = 1; +export const SOURCE_LINE = 2; +export const SOURCE_COLUMN = 3; +export const NAMES_INDEX = 4; diff --git a/client/node_modules/@jridgewell/gen-mapping/src/types.ts b/client/node_modules/@jridgewell/gen-mapping/src/types.ts new file mode 100644 index 0000000..b087f70 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/src/types.ts @@ -0,0 +1,61 @@ +// import type { GeneratedRange, OriginalScope } from '@jridgewell/sourcemap-codec'; +import type { SourceMapSegment } from './sourcemap-segment'; + +export interface SourceMapV3 { + file?: string | null; + names: readonly string[]; + sourceRoot?: string; + sources: readonly (string | null)[]; + sourcesContent?: readonly (string | null)[]; + version: 3; + ignoreList?: readonly number[]; +} + +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; + // originalScopes: string[]; + // generatedRanges: string; +} + +export interface DecodedSourceMap extends SourceMapV3 { + mappings: readonly SourceMapSegment[][]; + // originalScopes: readonly OriginalScope[][]; + // generatedRanges: readonly GeneratedRange[]; +} + +export interface Pos { + line: number; // 1-based + column: number; // 0-based +} + +export interface OriginalPos extends Pos { + source: string; +} + +export interface BindingExpressionRange { + start: Pos; + expression: string; +} + +// export type OriginalScopeInfo = [number, number, string[] | undefined]; +// export type GeneratedRangeInfo = [GeneratedRange, string[] | undefined]; + +export type Mapping = + | { + generated: Pos; + source: undefined; + original: undefined; + name: undefined; + } + | { + generated: Pos; + source: string; + original: Pos; + name: string; + } + | { + generated: Pos; + source: string; + original: Pos; + name: undefined; + }; diff --git a/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts new file mode 100644 index 0000000..7618d85 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts @@ -0,0 +1,89 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types.cts'; +export type { DecodedSourceMap, EncodedSourceMap, Mapping }; +export type Options = { + file?: string | null; + sourceRoot?: string | null; +}; +/** + * Provides the state to generate a sourcemap. + */ +export declare class GenMapping { + private _names; + private _sources; + private _sourcesContent; + private _mappings; + private _ignoreList; + file: string | null | undefined; + sourceRoot: string | null | undefined; + constructor({ file, sourceRoot }?: Options); +} +/** + * A low-level API to associate a generated position with an original source position. Line and + * column here are 0-based, unlike `addMapping`. + */ +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source?: null, sourceLine?: null, sourceColumn?: null, name?: null, content?: null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name?: null, content?: string | null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name: string, content?: string | null): void; +/** + * A high-level API to associate a generated position with an original source position. Line is + * 1-based, but column is 0-based, due to legacy behavior in `source-map` library. + */ +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source?: null; + original?: null; + name?: null; + content?: null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name?: null; + content?: string | null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name: string; + content?: string | null; +}): void; +/** + * Same as `addSegment`, but will only add the segment if it generates useful information in the + * resulting map. This only works correctly if segments are added **in order**, meaning you should + * not add a segment with a lower generated line/column than one that came before. + */ +export declare const maybeAddSegment: typeof addSegment; +/** + * Same as `addMapping`, but will only add the mapping if it generates useful information in the + * resulting map. This only works correctly if mappings are added **in order**, meaning you should + * not add a mapping with a lower generated line/column than one that came before. + */ +export declare const maybeAddMapping: typeof addMapping; +/** + * Adds/removes the content of the source file to the source map. + */ +export declare function setSourceContent(map: GenMapping, source: string, content: string | null): void; +export declare function setIgnore(map: GenMapping, source: string, ignore?: boolean): void; +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toDecodedMap(map: GenMapping): DecodedSourceMap; +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toEncodedMap(map: GenMapping): EncodedSourceMap; +/** + * Constructs a new GenMapping, using the already present mappings of the input. + */ +export declare function fromMap(input: SourceMapInput): GenMapping; +/** + * Returns an array of high-level mapping objects for every recorded segment, which could then be + * passed to the `source-map` library. + */ +export declare function allMappings(map: GenMapping): Mapping[]; +//# sourceMappingURL=gen-mapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map new file mode 100644 index 0000000..8a2b183 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"gen-mapping.d.ts","sourceRoot":"","sources":["../src/gen-mapping.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts new file mode 100644 index 0000000..bbc0d89 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts @@ -0,0 +1,89 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types.mts'; +export type { DecodedSourceMap, EncodedSourceMap, Mapping }; +export type Options = { + file?: string | null; + sourceRoot?: string | null; +}; +/** + * Provides the state to generate a sourcemap. + */ +export declare class GenMapping { + private _names; + private _sources; + private _sourcesContent; + private _mappings; + private _ignoreList; + file: string | null | undefined; + sourceRoot: string | null | undefined; + constructor({ file, sourceRoot }?: Options); +} +/** + * A low-level API to associate a generated position with an original source position. Line and + * column here are 0-based, unlike `addMapping`. + */ +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source?: null, sourceLine?: null, sourceColumn?: null, name?: null, content?: null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name?: null, content?: string | null): void; +export declare function addSegment(map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name: string, content?: string | null): void; +/** + * A high-level API to associate a generated position with an original source position. Line is + * 1-based, but column is 0-based, due to legacy behavior in `source-map` library. + */ +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source?: null; + original?: null; + name?: null; + content?: null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name?: null; + content?: string | null; +}): void; +export declare function addMapping(map: GenMapping, mapping: { + generated: Pos; + source: string; + original: Pos; + name: string; + content?: string | null; +}): void; +/** + * Same as `addSegment`, but will only add the segment if it generates useful information in the + * resulting map. This only works correctly if segments are added **in order**, meaning you should + * not add a segment with a lower generated line/column than one that came before. + */ +export declare const maybeAddSegment: typeof addSegment; +/** + * Same as `addMapping`, but will only add the mapping if it generates useful information in the + * resulting map. This only works correctly if mappings are added **in order**, meaning you should + * not add a mapping with a lower generated line/column than one that came before. + */ +export declare const maybeAddMapping: typeof addMapping; +/** + * Adds/removes the content of the source file to the source map. + */ +export declare function setSourceContent(map: GenMapping, source: string, content: string | null): void; +export declare function setIgnore(map: GenMapping, source: string, ignore?: boolean): void; +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toDecodedMap(map: GenMapping): DecodedSourceMap; +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function toEncodedMap(map: GenMapping): EncodedSourceMap; +/** + * Constructs a new GenMapping, using the already present mappings of the input. + */ +export declare function fromMap(input: SourceMapInput): GenMapping; +/** + * Returns an array of high-level mapping objects for every recorded segment, which could then be + * passed to the `source-map` library. + */ +export declare function allMappings(map: GenMapping): Mapping[]; +//# sourceMappingURL=gen-mapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map new file mode 100644 index 0000000..8a2b183 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"gen-mapping.d.ts","sourceRoot":"","sources":["../src/gen-mapping.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts new file mode 100644 index 0000000..5d8cda3 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts @@ -0,0 +1,33 @@ +type Key = string | number | symbol; +/** + * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the + * index of the `key` in the backing array. + * + * This is designed to allow synchronizing a second array with the contents of the backing array, + * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, + * and there are never duplicates. + */ +export declare class SetArray { + private _indexes; + array: readonly T[]; + constructor(); +} +/** + * Gets the index associated with `key` in the backing array, if it is already present. + */ +export declare function get(setarr: SetArray, key: T): number | undefined; +/** + * Puts `key` into the backing array, if it is not already present. Returns + * the index of the `key` in the backing array. + */ +export declare function put(setarr: SetArray, key: T): number; +/** + * Pops the last added item out of the SetArray. + */ +export declare function pop(setarr: SetArray): void; +/** + * Removes the key, if it exists in the set. + */ +export declare function remove(setarr: SetArray, key: T): void; +export {}; +//# sourceMappingURL=set-array.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map new file mode 100644 index 0000000..c52b8bc --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"set-array.d.ts","sourceRoot":"","sources":["../src/set-array.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG;IACvC,QAAgB,QAAQ,CAAgC;IAChD,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;;CAM7B;AAeD;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAElF;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAStE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAM5D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAYvE"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts new file mode 100644 index 0000000..5d8cda3 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts @@ -0,0 +1,33 @@ +type Key = string | number | symbol; +/** + * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the + * index of the `key` in the backing array. + * + * This is designed to allow synchronizing a second array with the contents of the backing array, + * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, + * and there are never duplicates. + */ +export declare class SetArray { + private _indexes; + array: readonly T[]; + constructor(); +} +/** + * Gets the index associated with `key` in the backing array, if it is already present. + */ +export declare function get(setarr: SetArray, key: T): number | undefined; +/** + * Puts `key` into the backing array, if it is not already present. Returns + * the index of the `key` in the backing array. + */ +export declare function put(setarr: SetArray, key: T): number; +/** + * Pops the last added item out of the SetArray. + */ +export declare function pop(setarr: SetArray): void; +/** + * Removes the key, if it exists in the set. + */ +export declare function remove(setarr: SetArray, key: T): void; +export {}; +//# sourceMappingURL=set-array.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map new file mode 100644 index 0000000..c52b8bc --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"set-array.d.ts","sourceRoot":"","sources":["../src/set-array.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG;IACvC,QAAgB,QAAQ,CAAgC;IAChD,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;;CAM7B;AAeD;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAElF;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAStE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAM5D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAYvE"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts new file mode 100644 index 0000000..6886295 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts @@ -0,0 +1,13 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; +export declare const COLUMN = 0; +export declare const SOURCES_INDEX = 1; +export declare const SOURCE_LINE = 2; +export declare const SOURCE_COLUMN = 3; +export declare const NAMES_INDEX = 4; +export {}; +//# sourceMappingURL=sourcemap-segment.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map new file mode 100644 index 0000000..23cdc45 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-segment.d.ts","sourceRoot":"","sources":["../src/sourcemap-segment.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GACxB,CAAC,eAAe,CAAC,GACjB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,GACzD,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1E,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts new file mode 100644 index 0000000..6886295 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts @@ -0,0 +1,13 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; +export declare const COLUMN = 0; +export declare const SOURCES_INDEX = 1; +export declare const SOURCE_LINE = 2; +export declare const SOURCE_COLUMN = 3; +export declare const NAMES_INDEX = 4; +export {}; +//# sourceMappingURL=sourcemap-segment.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map new file mode 100644 index 0000000..23cdc45 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-segment.d.ts","sourceRoot":"","sources":["../src/sourcemap-segment.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GACxB,CAAC,eAAe,CAAC,GACjB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,GACzD,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1E,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts b/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts new file mode 100644 index 0000000..58da00a --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts @@ -0,0 +1,44 @@ +import type { SourceMapSegment } from './sourcemap-segment.cts'; +export interface SourceMapV3 { + file?: string | null; + names: readonly string[]; + sourceRoot?: string; + sources: readonly (string | null)[]; + sourcesContent?: readonly (string | null)[]; + version: 3; + ignoreList?: readonly number[]; +} +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +export interface DecodedSourceMap extends SourceMapV3 { + mappings: readonly SourceMapSegment[][]; +} +export interface Pos { + line: number; + column: number; +} +export interface OriginalPos extends Pos { + source: string; +} +export interface BindingExpressionRange { + start: Pos; + expression: string; +} +export type Mapping = { + generated: Pos; + source: undefined; + original: undefined; + name: undefined; +} | { + generated: Pos; + source: string; + original: Pos; + name: string; +} | { + generated: Pos; + source: string; + original: Pos; + name: undefined; +}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map b/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map new file mode 100644 index 0000000..159e734 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,EAAE,MAAM,CAAC;CAGlB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EAAE,CAAC;CAGzC;AAED,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,MAAM,OAAO,GACf;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts b/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts new file mode 100644 index 0000000..e9837eb --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts @@ -0,0 +1,44 @@ +import type { SourceMapSegment } from './sourcemap-segment.mts'; +export interface SourceMapV3 { + file?: string | null; + names: readonly string[]; + sourceRoot?: string; + sources: readonly (string | null)[]; + sourcesContent?: readonly (string | null)[]; + version: 3; + ignoreList?: readonly number[]; +} +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +export interface DecodedSourceMap extends SourceMapV3 { + mappings: readonly SourceMapSegment[][]; +} +export interface Pos { + line: number; + column: number; +} +export interface OriginalPos extends Pos { + source: string; +} +export interface BindingExpressionRange { + start: Pos; + expression: string; +} +export type Mapping = { + generated: Pos; + source: undefined; + original: undefined; + name: undefined; +} | { + generated: Pos; + source: string; + original: Pos; + name: string; +} | { + generated: Pos; + source: string; + original: Pos; + name: undefined; +}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map b/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map new file mode 100644 index 0000000..159e734 --- /dev/null +++ b/client/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,EAAE,MAAM,CAAC;CAGlB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EAAE,CAAC;CAGzC;AAED,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,MAAM,OAAO,GACf;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/LICENSE b/client/node_modules/@jridgewell/remapping/LICENSE new file mode 100644 index 0000000..1f6ce94 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/LICENSE @@ -0,0 +1,19 @@ +Copyright 2024 Justin Ridgewell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/client/node_modules/@jridgewell/remapping/README.md b/client/node_modules/@jridgewell/remapping/README.md new file mode 100644 index 0000000..6d092d7 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/README.md @@ -0,0 +1,218 @@ +# @jridgewell/remapping + +> Remap sequential sourcemaps through transformations to point at the original source code + +Remapping allows you to take the sourcemaps generated through transforming your code and "remap" +them to the original source locations. Think "my minified code, transformed with babel and bundled +with webpack", all pointing to the correct location in your original source code. + +With remapping, none of your source code transformations need to be aware of the input's sourcemap, +they only need to generate an output sourcemap. This greatly simplifies building custom +transformations (think a find-and-replace). + +## Installation + +```sh +npm install @jridgewell/remapping +``` + +## Usage + +```typescript +function remapping( + map: SourceMap | SourceMap[], + loader: (file: string, ctx: LoaderContext) => (SourceMap | null | undefined), + options?: { excludeContent: boolean, decodedMappings: boolean } +): SourceMap; + +// LoaderContext gives the loader the importing sourcemap, tree depth, the ability to override the +// "source" location (where child sources are resolved relative to, or the location of original +// source), and the ability to override the "content" of an original source for inclusion in the +// output sourcemap. +type LoaderContext = { + readonly importer: string; + readonly depth: number; + source: string; + content: string | null | undefined; +} +``` + +`remapping` takes the final output sourcemap, and a `loader` function. For every source file pointer +in the sourcemap, the `loader` will be called with the resolved path. If the path itself represents +a transformed file (it has a sourcmap associated with it), then the `loader` should return that +sourcemap. If not, the path will be treated as an original, untransformed source code. + +```js +// Babel transformed "helloworld.js" into "transformed.js" +const transformedMap = JSON.stringify({ + file: 'transformed.js', + // 1st column of 2nd line of output file translates into the 1st source + // file, line 3, column 2 + mappings: ';CAEE', + sources: ['helloworld.js'], + version: 3, +}); + +// Uglify minified "transformed.js" into "transformed.min.js" +const minifiedTransformedMap = JSON.stringify({ + file: 'transformed.min.js', + // 0th column of 1st line of output file translates into the 1st source + // file, line 2, column 1. + mappings: 'AACC', + names: [], + sources: ['transformed.js'], + version: 3, +}); + +const remapped = remapping( + minifiedTransformedMap, + (file, ctx) => { + + // The "transformed.js" file is an transformed file. + if (file === 'transformed.js') { + // The root importer is empty. + console.assert(ctx.importer === ''); + // The depth in the sourcemap tree we're currently loading. + // The root `minifiedTransformedMap` is depth 0, and its source children are depth 1, etc. + console.assert(ctx.depth === 1); + + return transformedMap; + } + + // Loader will be called to load transformedMap's source file pointers as well. + console.assert(file === 'helloworld.js'); + // `transformed.js`'s sourcemap points into `helloworld.js`. + console.assert(ctx.importer === 'transformed.js'); + // This is a source child of `transformed`, which is a source child of `minifiedTransformedMap`. + console.assert(ctx.depth === 2); + return null; + } +); + +console.log(remapped); +// { +// file: 'transpiled.min.js', +// mappings: 'AAEE', +// sources: ['helloworld.js'], +// version: 3, +// }; +``` + +In this example, `loader` will be called twice: + +1. `"transformed.js"`, the first source file pointer in the `minifiedTransformedMap`. We return the + associated sourcemap for it (its a transformed file, after all) so that sourcemap locations can + be traced through it into the source files it represents. +2. `"helloworld.js"`, our original, unmodified source code. This file does not have a sourcemap, so + we return `null`. + +The `remapped` sourcemap now points from `transformed.min.js` into locations in `helloworld.js`. If +you were to read the `mappings`, it says "0th column of the first line output line points to the 1st +column of the 2nd line of the file `helloworld.js`". + +### Multiple transformations of a file + +As a convenience, if you have multiple single-source transformations of a file, you may pass an +array of sourcemap files in the order of most-recent transformation sourcemap first. Note that this +changes the `importer` and `depth` of each call to our loader. So our above example could have been +written as: + +```js +const remapped = remapping( + [minifiedTransformedMap, transformedMap], + () => null +); + +console.log(remapped); +// { +// file: 'transpiled.min.js', +// mappings: 'AAEE', +// sources: ['helloworld.js'], +// version: 3, +// }; +``` + +### Advanced control of the loading graph + +#### `source` + +The `source` property can overridden to any value to change the location of the current load. Eg, +for an original source file, it allows us to change the location to the original source regardless +of what the sourcemap source entry says. And for transformed files, it allows us to change the +relative resolving location for child sources of the loaded sourcemap. + +```js +const remapped = remapping( + minifiedTransformedMap, + (file, ctx) => { + + if (file === 'transformed.js') { + // We pretend the transformed.js file actually exists in the 'src/' directory. When the nested + // source files are loaded, they will now be relative to `src/`. + ctx.source = 'src/transformed.js'; + return transformedMap; + } + + console.assert(file === 'src/helloworld.js'); + // We could futher change the source of this original file, eg, to be inside a nested directory + // itself. This will be reflected in the remapped sourcemap. + ctx.source = 'src/nested/transformed.js'; + return null; + } +); + +console.log(remapped); +// { +// …, +// sources: ['src/nested/helloworld.js'], +// }; +``` + + +#### `content` + +The `content` property can be overridden when we encounter an original source file. Eg, this allows +you to manually provide the source content of the original file regardless of whether the +`sourcesContent` field is present in the parent sourcemap. It can also be set to `null` to remove +the source content. + +```js +const remapped = remapping( + minifiedTransformedMap, + (file, ctx) => { + + if (file === 'transformed.js') { + // transformedMap does not include a `sourcesContent` field, so usually the remapped sourcemap + // would not include any `sourcesContent` values. + return transformedMap; + } + + console.assert(file === 'helloworld.js'); + // We can read the file to provide the source content. + ctx.content = fs.readFileSync(file, 'utf8'); + return null; + } +); + +console.log(remapped); +// { +// …, +// sourcesContent: [ +// 'console.log("Hello world!")', +// ], +// }; +``` + +### Options + +#### excludeContent + +By default, `excludeContent` is `false`. Passing `{ excludeContent: true }` will exclude the +`sourcesContent` field from the returned sourcemap. This is mainly useful when you want to reduce +the size out the sourcemap. + +#### decodedMappings + +By default, `decodedMappings` is `false`. Passing `{ decodedMappings: true }` will leave the +`mappings` field in a [decoded state](https://github.com/rich-harris/sourcemap-codec) instead of +encoding into a VLQ string. diff --git a/client/node_modules/@jridgewell/remapping/dist/remapping.mjs b/client/node_modules/@jridgewell/remapping/dist/remapping.mjs new file mode 100644 index 0000000..8b7009c --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/dist/remapping.mjs @@ -0,0 +1,144 @@ +// src/build-source-map-tree.ts +import { TraceMap } from "@jridgewell/trace-mapping"; + +// src/source-map-tree.ts +import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from "@jridgewell/gen-mapping"; +import { traceSegment, decodedMappings } from "@jridgewell/trace-mapping"; +var SOURCELESS_MAPPING = /* @__PURE__ */ SegmentObject("", -1, -1, "", null, false); +var EMPTY_SOURCES = []; +function SegmentObject(source, line, column, name, content, ignore) { + return { source, line, column, name, content, ignore }; +} +function Source(map, sources, source, content, ignore) { + return { + map, + sources, + source, + content, + ignore + }; +} +function MapSource(map, sources) { + return Source(map, sources, "", null, false); +} +function OriginalSource(source, content, ignore) { + return Source(null, EMPTY_SOURCES, source, content, ignore); +} +function traceMappings(tree) { + const gen = new GenMapping({ file: tree.map.file }); + const { sources: rootSources, map } = tree; + const rootNames = map.names; + const rootMappings = decodedMappings(map); + for (let i = 0; i < rootMappings.length; i++) { + const segments = rootMappings[i]; + for (let j = 0; j < segments.length; j++) { + const segment = segments[j]; + const genCol = segment[0]; + let traced = SOURCELESS_MAPPING; + if (segment.length !== 1) { + const source2 = rootSources[segment[1]]; + traced = originalPositionFor( + source2, + segment[2], + segment[3], + segment.length === 5 ? rootNames[segment[4]] : "" + ); + if (traced == null) continue; + } + const { column, line, name, content, source, ignore } = traced; + maybeAddSegment(gen, i, genCol, source, line, column, name); + if (source && content != null) setSourceContent(gen, source, content); + if (ignore) setIgnore(gen, source, true); + } + } + return gen; +} +function originalPositionFor(source, line, column, name) { + if (!source.map) { + return SegmentObject(source.source, line, column, name, source.content, source.ignore); + } + const segment = traceSegment(source.map, line, column); + if (segment == null) return null; + if (segment.length === 1) return SOURCELESS_MAPPING; + return originalPositionFor( + source.sources[segment[1]], + segment[2], + segment[3], + segment.length === 5 ? source.map.names[segment[4]] : name + ); +} + +// src/build-source-map-tree.ts +function asArray(value) { + if (Array.isArray(value)) return value; + return [value]; +} +function buildSourceMapTree(input, loader) { + const maps = asArray(input).map((m) => new TraceMap(m, "")); + const map = maps.pop(); + for (let i = 0; i < maps.length; i++) { + if (maps[i].sources.length > 1) { + throw new Error( + `Transformation map ${i} must have exactly one source file. +Did you specify these with the most recent transformation maps first?` + ); + } + } + let tree = build(map, loader, "", 0); + for (let i = maps.length - 1; i >= 0; i--) { + tree = MapSource(maps[i], [tree]); + } + return tree; +} +function build(map, loader, importer, importerDepth) { + const { resolvedSources, sourcesContent, ignoreList } = map; + const depth = importerDepth + 1; + const children = resolvedSources.map((sourceFile, i) => { + const ctx = { + importer, + depth, + source: sourceFile || "", + content: void 0, + ignore: void 0 + }; + const sourceMap = loader(ctx.source, ctx); + const { source, content, ignore } = ctx; + if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth); + const sourceContent = content !== void 0 ? content : sourcesContent ? sourcesContent[i] : null; + const ignored = ignore !== void 0 ? ignore : ignoreList ? ignoreList.includes(i) : false; + return OriginalSource(source, sourceContent, ignored); + }); + return MapSource(map, children); +} + +// src/source-map.ts +import { toDecodedMap, toEncodedMap } from "@jridgewell/gen-mapping"; +var SourceMap = class { + constructor(map, options) { + const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map); + this.version = out.version; + this.file = out.file; + this.mappings = out.mappings; + this.names = out.names; + this.ignoreList = out.ignoreList; + this.sourceRoot = out.sourceRoot; + this.sources = out.sources; + if (!options.excludeContent) { + this.sourcesContent = out.sourcesContent; + } + } + toString() { + return JSON.stringify(this); + } +}; + +// src/remapping.ts +function remapping(input, loader, options) { + const opts = typeof options === "object" ? options : { excludeContent: !!options, decodedMappings: false }; + const tree = buildSourceMapTree(input, loader); + return new SourceMap(traceMappings(tree), opts); +} +export { + remapping as default +}; +//# sourceMappingURL=remapping.mjs.map diff --git a/client/node_modules/@jridgewell/remapping/dist/remapping.mjs.map b/client/node_modules/@jridgewell/remapping/dist/remapping.mjs.map new file mode 100644 index 0000000..66801e6 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/dist/remapping.mjs.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["../src/build-source-map-tree.ts", "../src/source-map-tree.ts", "../src/source-map.ts", "../src/remapping.ts"], + "mappings": "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", + "names": ["source"] +} diff --git a/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js b/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js new file mode 100644 index 0000000..077eb4d --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js @@ -0,0 +1,212 @@ +(function (global, factory) { + if (typeof exports === 'object' && typeof module !== 'undefined') { + factory(module, require('@jridgewell/gen-mapping'), require('@jridgewell/trace-mapping')); + module.exports = def(module); + } else if (typeof define === 'function' && define.amd) { + define(['module', '@jridgewell/gen-mapping', '@jridgewell/trace-mapping'], function(mod) { + factory.apply(this, arguments); + mod.exports = def(mod); + }); + } else { + const mod = { exports: {} }; + factory(mod, global.genMapping, global.traceMapping); + global = typeof globalThis !== 'undefined' ? globalThis : global || self; + global.remapping = def(mod); + } + function def(m) { return 'default' in m.exports ? m.exports.default : m.exports; } +})(this, (function (module, require_genMapping, require_traceMapping) { +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// umd:@jridgewell/trace-mapping +var require_trace_mapping = __commonJS({ + "umd:@jridgewell/trace-mapping"(exports, module2) { + module2.exports = require_traceMapping; + } +}); + +// umd:@jridgewell/gen-mapping +var require_gen_mapping = __commonJS({ + "umd:@jridgewell/gen-mapping"(exports, module2) { + module2.exports = require_genMapping; + } +}); + +// src/remapping.ts +var remapping_exports = {}; +__export(remapping_exports, { + default: () => remapping +}); +module.exports = __toCommonJS(remapping_exports); + +// src/build-source-map-tree.ts +var import_trace_mapping2 = __toESM(require_trace_mapping()); + +// src/source-map-tree.ts +var import_gen_mapping = __toESM(require_gen_mapping()); +var import_trace_mapping = __toESM(require_trace_mapping()); +var SOURCELESS_MAPPING = /* @__PURE__ */ SegmentObject("", -1, -1, "", null, false); +var EMPTY_SOURCES = []; +function SegmentObject(source, line, column, name, content, ignore) { + return { source, line, column, name, content, ignore }; +} +function Source(map, sources, source, content, ignore) { + return { + map, + sources, + source, + content, + ignore + }; +} +function MapSource(map, sources) { + return Source(map, sources, "", null, false); +} +function OriginalSource(source, content, ignore) { + return Source(null, EMPTY_SOURCES, source, content, ignore); +} +function traceMappings(tree) { + const gen = new import_gen_mapping.GenMapping({ file: tree.map.file }); + const { sources: rootSources, map } = tree; + const rootNames = map.names; + const rootMappings = (0, import_trace_mapping.decodedMappings)(map); + for (let i = 0; i < rootMappings.length; i++) { + const segments = rootMappings[i]; + for (let j = 0; j < segments.length; j++) { + const segment = segments[j]; + const genCol = segment[0]; + let traced = SOURCELESS_MAPPING; + if (segment.length !== 1) { + const source2 = rootSources[segment[1]]; + traced = originalPositionFor( + source2, + segment[2], + segment[3], + segment.length === 5 ? rootNames[segment[4]] : "" + ); + if (traced == null) continue; + } + const { column, line, name, content, source, ignore } = traced; + (0, import_gen_mapping.maybeAddSegment)(gen, i, genCol, source, line, column, name); + if (source && content != null) (0, import_gen_mapping.setSourceContent)(gen, source, content); + if (ignore) (0, import_gen_mapping.setIgnore)(gen, source, true); + } + } + return gen; +} +function originalPositionFor(source, line, column, name) { + if (!source.map) { + return SegmentObject(source.source, line, column, name, source.content, source.ignore); + } + const segment = (0, import_trace_mapping.traceSegment)(source.map, line, column); + if (segment == null) return null; + if (segment.length === 1) return SOURCELESS_MAPPING; + return originalPositionFor( + source.sources[segment[1]], + segment[2], + segment[3], + segment.length === 5 ? source.map.names[segment[4]] : name + ); +} + +// src/build-source-map-tree.ts +function asArray(value) { + if (Array.isArray(value)) return value; + return [value]; +} +function buildSourceMapTree(input, loader) { + const maps = asArray(input).map((m) => new import_trace_mapping2.TraceMap(m, "")); + const map = maps.pop(); + for (let i = 0; i < maps.length; i++) { + if (maps[i].sources.length > 1) { + throw new Error( + `Transformation map ${i} must have exactly one source file. +Did you specify these with the most recent transformation maps first?` + ); + } + } + let tree = build(map, loader, "", 0); + for (let i = maps.length - 1; i >= 0; i--) { + tree = MapSource(maps[i], [tree]); + } + return tree; +} +function build(map, loader, importer, importerDepth) { + const { resolvedSources, sourcesContent, ignoreList } = map; + const depth = importerDepth + 1; + const children = resolvedSources.map((sourceFile, i) => { + const ctx = { + importer, + depth, + source: sourceFile || "", + content: void 0, + ignore: void 0 + }; + const sourceMap = loader(ctx.source, ctx); + const { source, content, ignore } = ctx; + if (sourceMap) return build(new import_trace_mapping2.TraceMap(sourceMap, source), loader, source, depth); + const sourceContent = content !== void 0 ? content : sourcesContent ? sourcesContent[i] : null; + const ignored = ignore !== void 0 ? ignore : ignoreList ? ignoreList.includes(i) : false; + return OriginalSource(source, sourceContent, ignored); + }); + return MapSource(map, children); +} + +// src/source-map.ts +var import_gen_mapping2 = __toESM(require_gen_mapping()); +var SourceMap = class { + constructor(map, options) { + const out = options.decodedMappings ? (0, import_gen_mapping2.toDecodedMap)(map) : (0, import_gen_mapping2.toEncodedMap)(map); + this.version = out.version; + this.file = out.file; + this.mappings = out.mappings; + this.names = out.names; + this.ignoreList = out.ignoreList; + this.sourceRoot = out.sourceRoot; + this.sources = out.sources; + if (!options.excludeContent) { + this.sourcesContent = out.sourcesContent; + } + } + toString() { + return JSON.stringify(this); + } +}; + +// src/remapping.ts +function remapping(input, loader, options) { + const opts = typeof options === "object" ? options : { excludeContent: !!options, decodedMappings: false }; + const tree = buildSourceMapTree(input, loader); + return new SourceMap(traceMappings(tree), opts); +} +})); +//# sourceMappingURL=remapping.umd.js.map diff --git a/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map b/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map new file mode 100644 index 0000000..d5e0786 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["umd:@jridgewell/trace-mapping", "umd:@jridgewell/gen-mapping", "../src/remapping.ts", "../src/build-source-map-tree.ts", "../src/source-map-tree.ts", "../src/source-map.ts"], + "mappings": "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", + "names": ["module", "module", "import_trace_mapping", "source", "import_gen_mapping"] +} diff --git a/client/node_modules/@jridgewell/remapping/package.json b/client/node_modules/@jridgewell/remapping/package.json new file mode 100644 index 0000000..ed00441 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/package.json @@ -0,0 +1,71 @@ +{ + "name": "@jridgewell/remapping", + "version": "2.3.5", + "description": "Remap sequential sourcemaps through transformations to point at the original source code", + "keywords": [ + "source", + "map", + "remap" + ], + "main": "dist/remapping.umd.js", + "module": "dist/remapping.mjs", + "types": "types/remapping.d.cts", + "files": [ + "dist", + "src", + "types" + ], + "exports": { + ".": [ + { + "import": { + "types": "./types/remapping.d.mts", + "default": "./dist/remapping.mjs" + }, + "default": { + "types": "./types/remapping.d.cts", + "default": "./dist/remapping.umd.js" + } + }, + "./dist/remapping.umd.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "benchmark": "run-s build:code benchmark:*", + "benchmark:install": "cd benchmark && npm install", + "benchmark:only": "node --expose-gc benchmark/index.js", + "build": "run-s -n build:code build:types", + "build:code": "node ../../esbuild.mjs remapping.ts", + "build:types": "run-s build:types:force build:types:emit build:types:mts", + "build:types:force": "rimraf tsconfig.build.tsbuildinfo", + "build:types:emit": "tsc --project tsconfig.build.json", + "build:types:mts": "node ../../mts-types.mjs", + "clean": "run-s -n clean:code clean:types", + "clean:code": "tsc --build --clean tsconfig.build.json", + "clean:types": "rimraf dist types", + "test": "run-s -n test:types test:only test:format", + "test:format": "prettier --check '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:types": "eslint '{src,test}/**/*.ts'", + "lint": "run-s -n lint:types lint:format", + "lint:format": "npm run test:format -- --write", + "lint:types": "npm run test:types -- --fix", + "prepublishOnly": "npm run-s -n build test" + }, + "homepage": "https://github.com/jridgewell/sourcemaps/tree/main/packages/remapping", + "repository": { + "type": "git", + "url": "git+https://github.com/jridgewell/sourcemaps.git", + "directory": "packages/remapping" + }, + "author": "Justin Ridgewell ", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "devDependencies": { + "source-map": "0.6.1" + } +} diff --git a/client/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts b/client/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts new file mode 100644 index 0000000..3e0262b --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts @@ -0,0 +1,89 @@ +import { TraceMap } from '@jridgewell/trace-mapping'; + +import { OriginalSource, MapSource } from './source-map-tree'; + +import type { Sources, MapSource as MapSourceType } from './source-map-tree'; +import type { SourceMapInput, SourceMapLoader, LoaderContext } from './types'; + +function asArray(value: T | T[]): T[] { + if (Array.isArray(value)) return value; + return [value]; +} + +/** + * Recursively builds a tree structure out of sourcemap files, with each node + * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of + * `OriginalSource`s and `SourceMapTree`s. + * + * Every sourcemap is composed of a collection of source files and mappings + * into locations of those source files. When we generate a `SourceMapTree` for + * the sourcemap, we attempt to load each source file's own sourcemap. If it + * does not have an associated sourcemap, it is considered an original, + * unmodified source file. + */ +export default function buildSourceMapTree( + input: SourceMapInput | SourceMapInput[], + loader: SourceMapLoader, +): MapSourceType { + const maps = asArray(input).map((m) => new TraceMap(m, '')); + const map = maps.pop()!; + + for (let i = 0; i < maps.length; i++) { + if (maps[i].sources.length > 1) { + throw new Error( + `Transformation map ${i} must have exactly one source file.\n` + + 'Did you specify these with the most recent transformation maps first?', + ); + } + } + + let tree = build(map, loader, '', 0); + for (let i = maps.length - 1; i >= 0; i--) { + tree = MapSource(maps[i], [tree]); + } + return tree; +} + +function build( + map: TraceMap, + loader: SourceMapLoader, + importer: string, + importerDepth: number, +): MapSourceType { + const { resolvedSources, sourcesContent, ignoreList } = map; + + const depth = importerDepth + 1; + const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => { + // The loading context gives the loader more information about why this file is being loaded + // (eg, from which importer). It also allows the loader to override the location of the loaded + // sourcemap/original source, or to override the content in the sourcesContent field if it's + // an unmodified source file. + const ctx: LoaderContext = { + importer, + depth, + source: sourceFile || '', + content: undefined, + ignore: undefined, + }; + + // Use the provided loader callback to retrieve the file's sourcemap. + // TODO: We should eventually support async loading of sourcemap files. + const sourceMap = loader(ctx.source, ctx); + + const { source, content, ignore } = ctx; + + // If there is a sourcemap, then we need to recurse into it to load its source files. + if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth); + + // Else, it's an unmodified source file. + // The contents of this unmodified source file can be overridden via the loader context, + // allowing it to be explicitly null or a string. If it remains undefined, we fall back to + // the importing sourcemap's `sourcesContent` field. + const sourceContent = + content !== undefined ? content : sourcesContent ? sourcesContent[i] : null; + const ignored = ignore !== undefined ? ignore : ignoreList ? ignoreList.includes(i) : false; + return OriginalSource(source, sourceContent, ignored); + }); + + return MapSource(map, children); +} diff --git a/client/node_modules/@jridgewell/remapping/src/remapping.ts b/client/node_modules/@jridgewell/remapping/src/remapping.ts new file mode 100644 index 0000000..c0f8b0d --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/src/remapping.ts @@ -0,0 +1,42 @@ +import buildSourceMapTree from './build-source-map-tree'; +import { traceMappings } from './source-map-tree'; +import SourceMap from './source-map'; + +import type { SourceMapInput, SourceMapLoader, Options } from './types'; +export type { + SourceMapSegment, + EncodedSourceMap, + EncodedSourceMap as RawSourceMap, + DecodedSourceMap, + SourceMapInput, + SourceMapLoader, + LoaderContext, + Options, +} from './types'; +export type { SourceMap }; + +/** + * Traces through all the mappings in the root sourcemap, through the sources + * (and their sourcemaps), all the way back to the original source location. + * + * `loader` will be called every time we encounter a source file. If it returns + * a sourcemap, we will recurse into that sourcemap to continue the trace. If + * it returns a falsey value, that source file is treated as an original, + * unmodified source file. + * + * Pass `excludeContent` to exclude any self-containing source file content + * from the output sourcemap. + * + * Pass `decodedMappings` to receive a SourceMap with decoded (instead of + * VLQ encoded) mappings. + */ +export default function remapping( + input: SourceMapInput | SourceMapInput[], + loader: SourceMapLoader, + options?: boolean | Options, +): SourceMap { + const opts = + typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false }; + const tree = buildSourceMapTree(input, loader); + return new SourceMap(traceMappings(tree), opts); +} diff --git a/client/node_modules/@jridgewell/remapping/src/source-map-tree.ts b/client/node_modules/@jridgewell/remapping/src/source-map-tree.ts new file mode 100644 index 0000000..935240f --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/src/source-map-tree.ts @@ -0,0 +1,172 @@ +import { GenMapping, maybeAddSegment, setIgnore, setSourceContent } from '@jridgewell/gen-mapping'; +import { traceSegment, decodedMappings } from '@jridgewell/trace-mapping'; + +import type { TraceMap } from '@jridgewell/trace-mapping'; + +export type SourceMapSegmentObject = { + column: number; + line: number; + name: string; + source: string; + content: string | null; + ignore: boolean; +}; + +export type OriginalSource = { + map: null; + sources: Sources[]; + source: string; + content: string | null; + ignore: boolean; +}; + +export type MapSource = { + map: TraceMap; + sources: Sources[]; + source: string; + content: null; + ignore: false; +}; + +export type Sources = OriginalSource | MapSource; + +const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null, false); +const EMPTY_SOURCES: Sources[] = []; + +function SegmentObject( + source: string, + line: number, + column: number, + name: string, + content: string | null, + ignore: boolean, +): SourceMapSegmentObject { + return { source, line, column, name, content, ignore }; +} + +function Source( + map: TraceMap, + sources: Sources[], + source: '', + content: null, + ignore: false, +): MapSource; +function Source( + map: null, + sources: Sources[], + source: string, + content: string | null, + ignore: boolean, +): OriginalSource; +function Source( + map: TraceMap | null, + sources: Sources[], + source: string | '', + content: string | null, + ignore: boolean, +): Sources { + return { + map, + sources, + source, + content, + ignore, + } as any; +} + +/** + * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes + * (which may themselves be SourceMapTrees). + */ +export function MapSource(map: TraceMap, sources: Sources[]): MapSource { + return Source(map, sources, '', null, false); +} + +/** + * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive + * segment tracing ends at the `OriginalSource`. + */ +export function OriginalSource( + source: string, + content: string | null, + ignore: boolean, +): OriginalSource { + return Source(null, EMPTY_SOURCES, source, content, ignore); +} + +/** + * traceMappings is only called on the root level SourceMapTree, and begins the process of + * resolving each mapping in terms of the original source files. + */ +export function traceMappings(tree: MapSource): GenMapping { + // TODO: Eventually support sourceRoot, which has to be removed because the sources are already + // fully resolved. We'll need to make sources relative to the sourceRoot before adding them. + const gen = new GenMapping({ file: tree.map.file }); + const { sources: rootSources, map } = tree; + const rootNames = map.names; + const rootMappings = decodedMappings(map); + + for (let i = 0; i < rootMappings.length; i++) { + const segments = rootMappings[i]; + + for (let j = 0; j < segments.length; j++) { + const segment = segments[j]; + const genCol = segment[0]; + let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING; + + // 1-length segments only move the current generated column, there's no source information + // to gather from it. + if (segment.length !== 1) { + const source = rootSources[segment[1]]; + traced = originalPositionFor( + source, + segment[2], + segment[3], + segment.length === 5 ? rootNames[segment[4]] : '', + ); + + // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a + // respective segment into an original source. + if (traced == null) continue; + } + + const { column, line, name, content, source, ignore } = traced; + + maybeAddSegment(gen, i, genCol, source, line, column, name); + if (source && content != null) setSourceContent(gen, source, content); + if (ignore) setIgnore(gen, source, true); + } + } + + return gen; +} + +/** + * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own + * child SourceMapTrees, until we find the original source map. + */ +export function originalPositionFor( + source: Sources, + line: number, + column: number, + name: string, +): SourceMapSegmentObject | null { + if (!source.map) { + return SegmentObject(source.source, line, column, name, source.content, source.ignore); + } + + const segment = traceSegment(source.map, line, column); + + // If we couldn't find a segment, then this doesn't exist in the sourcemap. + if (segment == null) return null; + // 1-length segments only move the current generated column, there's no source information + // to gather from it. + if (segment.length === 1) return SOURCELESS_MAPPING; + + return originalPositionFor( + source.sources[segment[1]], + segment[2], + segment[3], + segment.length === 5 ? source.map.names[segment[4]] : name, + ); +} diff --git a/client/node_modules/@jridgewell/remapping/src/source-map.ts b/client/node_modules/@jridgewell/remapping/src/source-map.ts new file mode 100644 index 0000000..5156086 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/src/source-map.ts @@ -0,0 +1,38 @@ +import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping'; + +import type { GenMapping } from '@jridgewell/gen-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Options } from './types'; + +/** + * A SourceMap v3 compatible sourcemap, which only includes fields that were + * provided to it. + */ +export default class SourceMap { + declare file?: string | null; + declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings']; + declare sourceRoot?: string; + declare names: string[]; + declare sources: (string | null)[]; + declare sourcesContent?: (string | null)[]; + declare version: 3; + declare ignoreList: number[] | undefined; + + constructor(map: GenMapping, options: Options) { + const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map); + this.version = out.version; // SourceMap spec says this should be first. + this.file = out.file; + this.mappings = out.mappings as SourceMap['mappings']; + this.names = out.names as SourceMap['names']; + this.ignoreList = out.ignoreList as SourceMap['ignoreList']; + this.sourceRoot = out.sourceRoot; + + this.sources = out.sources as SourceMap['sources']; + if (!options.excludeContent) { + this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent']; + } + } + + toString(): string { + return JSON.stringify(this); + } +} diff --git a/client/node_modules/@jridgewell/remapping/src/types.ts b/client/node_modules/@jridgewell/remapping/src/types.ts new file mode 100644 index 0000000..384961d --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/src/types.ts @@ -0,0 +1,27 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; + +export type { + SourceMapSegment, + DecodedSourceMap, + EncodedSourceMap, +} from '@jridgewell/trace-mapping'; + +export type { SourceMapInput }; + +export type LoaderContext = { + readonly importer: string; + readonly depth: number; + source: string; + content: string | null | undefined; + ignore: boolean | undefined; +}; + +export type SourceMapLoader = ( + file: string, + ctx: LoaderContext, +) => SourceMapInput | null | undefined | void; + +export type Options = { + excludeContent?: boolean; + decodedMappings?: boolean; +}; diff --git a/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts new file mode 100644 index 0000000..e089aea --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts @@ -0,0 +1,15 @@ +import type { MapSource as MapSourceType } from './source-map-tree.cts'; +import type { SourceMapInput, SourceMapLoader } from './types.cts'; +/** + * Recursively builds a tree structure out of sourcemap files, with each node + * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of + * `OriginalSource`s and `SourceMapTree`s. + * + * Every sourcemap is composed of a collection of source files and mappings + * into locations of those source files. When we generate a `SourceMapTree` for + * the sourcemap, we attempt to load each source file's own sourcemap. If it + * does not have an associated sourcemap, it is considered an original, + * unmodified source file. + */ +export = function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType; +//# sourceMappingURL=build-source-map-tree.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map new file mode 100644 index 0000000..38e4290 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"build-source-map-tree.d.ts","sourceRoot":"","sources":["../src/build-source-map-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAO9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,EACxC,MAAM,EAAE,eAAe,GACtB,aAAa,CAkBf"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts new file mode 100644 index 0000000..746ac5f --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts @@ -0,0 +1,15 @@ +import type { MapSource as MapSourceType } from './source-map-tree.mts'; +import type { SourceMapInput, SourceMapLoader } from './types.mts'; +/** + * Recursively builds a tree structure out of sourcemap files, with each node + * being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of + * `OriginalSource`s and `SourceMapTree`s. + * + * Every sourcemap is composed of a collection of source files and mappings + * into locations of those source files. When we generate a `SourceMapTree` for + * the sourcemap, we attempt to load each source file's own sourcemap. If it + * does not have an associated sourcemap, it is considered an original, + * unmodified source file. + */ +export default function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType; +//# sourceMappingURL=build-source-map-tree.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map new file mode 100644 index 0000000..38e4290 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"build-source-map-tree.d.ts","sourceRoot":"","sources":["../src/build-source-map-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAO9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,EACxC,MAAM,EAAE,eAAe,GACtB,aAAa,CAkBf"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/remapping.d.cts b/client/node_modules/@jridgewell/remapping/types/remapping.d.cts new file mode 100644 index 0000000..2022784 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/remapping.d.cts @@ -0,0 +1,21 @@ +import SourceMap from './source-map.cts'; +import type { SourceMapInput, SourceMapLoader, Options } from './types.cts'; +export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types.cts'; +export type { SourceMap }; +/** + * Traces through all the mappings in the root sourcemap, through the sources + * (and their sourcemaps), all the way back to the original source location. + * + * `loader` will be called every time we encounter a source file. If it returns + * a sourcemap, we will recurse into that sourcemap to continue the trace. If + * it returns a falsey value, that source file is treated as an original, + * unmodified source file. + * + * Pass `excludeContent` to exclude any self-containing source file content + * from the output sourcemap. + * + * Pass `decodedMappings` to receive a SourceMap with decoded (instead of + * VLQ encoded) mappings. + */ +export = function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap; +//# sourceMappingURL=remapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/remapping.d.cts.map b/client/node_modules/@jridgewell/remapping/types/remapping.d.cts.map new file mode 100644 index 0000000..9f2fd0e --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/remapping.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"remapping.d.ts","sourceRoot":"","sources":["../src/remapping.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,IAAI,YAAY,EAChC,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,EACxC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAC1B,SAAS,CAKX"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/remapping.d.mts b/client/node_modules/@jridgewell/remapping/types/remapping.d.mts new file mode 100644 index 0000000..95c4066 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/remapping.d.mts @@ -0,0 +1,21 @@ +import SourceMap from './source-map.mts'; +import type { SourceMapInput, SourceMapLoader, Options } from './types.mts'; +export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types.mts'; +export type { SourceMap }; +/** + * Traces through all the mappings in the root sourcemap, through the sources + * (and their sourcemaps), all the way back to the original source location. + * + * `loader` will be called every time we encounter a source file. If it returns + * a sourcemap, we will recurse into that sourcemap to continue the trace. If + * it returns a falsey value, that source file is treated as an original, + * unmodified source file. + * + * Pass `excludeContent` to exclude any self-containing source file content + * from the output sourcemap. + * + * Pass `decodedMappings` to receive a SourceMap with decoded (instead of + * VLQ encoded) mappings. + */ +export default function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap; +//# sourceMappingURL=remapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/remapping.d.mts.map b/client/node_modules/@jridgewell/remapping/types/remapping.d.mts.map new file mode 100644 index 0000000..9f2fd0e --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/remapping.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"remapping.d.ts","sourceRoot":"","sources":["../src/remapping.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,IAAI,YAAY,EAChC,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,EACxC,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAC1B,SAAS,CAKX"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts new file mode 100644 index 0000000..440f65b --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts @@ -0,0 +1,46 @@ +import { GenMapping } from '@jridgewell/gen-mapping'; +import type { TraceMap } from '@jridgewell/trace-mapping'; +export type SourceMapSegmentObject = { + column: number; + line: number; + name: string; + source: string; + content: string | null; + ignore: boolean; +}; +export type OriginalSource = { + map: null; + sources: Sources[]; + source: string; + content: string | null; + ignore: boolean; +}; +export type MapSource = { + map: TraceMap; + sources: Sources[]; + source: string; + content: null; + ignore: false; +}; +export type Sources = OriginalSource | MapSource; +/** + * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes + * (which may themselves be SourceMapTrees). + */ +export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource; +/** + * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive + * segment tracing ends at the `OriginalSource`. + */ +export declare function OriginalSource(source: string, content: string | null, ignore: boolean): OriginalSource; +/** + * traceMappings is only called on the root level SourceMapTree, and begins the process of + * resolving each mapping in terms of the original source files. + */ +export declare function traceMappings(tree: MapSource): GenMapping; +/** + * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own + * child SourceMapTrees, until we find the original source map. + */ +export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null; +//# sourceMappingURL=source-map-tree.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map new file mode 100644 index 0000000..e7cbfb9 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"source-map-tree.d.ts","sourceRoot":"","sources":["../src/source-map-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgD,MAAM,yBAAyB,CAAC;AAGnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AA8CjD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAEtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,GACd,cAAc,CAEhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAyCzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,sBAAsB,GAAG,IAAI,CAmB/B"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts new file mode 100644 index 0000000..440f65b --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts @@ -0,0 +1,46 @@ +import { GenMapping } from '@jridgewell/gen-mapping'; +import type { TraceMap } from '@jridgewell/trace-mapping'; +export type SourceMapSegmentObject = { + column: number; + line: number; + name: string; + source: string; + content: string | null; + ignore: boolean; +}; +export type OriginalSource = { + map: null; + sources: Sources[]; + source: string; + content: string | null; + ignore: boolean; +}; +export type MapSource = { + map: TraceMap; + sources: Sources[]; + source: string; + content: null; + ignore: false; +}; +export type Sources = OriginalSource | MapSource; +/** + * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes + * (which may themselves be SourceMapTrees). + */ +export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource; +/** + * A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive + * segment tracing ends at the `OriginalSource`. + */ +export declare function OriginalSource(source: string, content: string | null, ignore: boolean): OriginalSource; +/** + * traceMappings is only called on the root level SourceMapTree, and begins the process of + * resolving each mapping in terms of the original source files. + */ +export declare function traceMappings(tree: MapSource): GenMapping; +/** + * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own + * child SourceMapTrees, until we find the original source map. + */ +export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null; +//# sourceMappingURL=source-map-tree.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map new file mode 100644 index 0000000..e7cbfb9 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"source-map-tree.d.ts","sourceRoot":"","sources":["../src/source-map-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgD,MAAM,yBAAyB,CAAC;AAGnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AA8CjD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAEtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,GACd,cAAc,CAEhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAyCzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,sBAAsB,GAAG,IAAI,CAmB/B"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map.d.cts b/client/node_modules/@jridgewell/remapping/types/source-map.d.cts new file mode 100644 index 0000000..fdb7eed --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map.d.cts @@ -0,0 +1,19 @@ +import type { GenMapping } from '@jridgewell/gen-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Options } from './types.cts'; +/** + * A SourceMap v3 compatible sourcemap, which only includes fields that were + * provided to it. + */ +export = class SourceMap { + file?: string | null; + mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings']; + sourceRoot?: string; + names: string[]; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList: number[] | undefined; + constructor(map: GenMapping, options: Options); + toString(): string; +} +//# sourceMappingURL=source-map.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map.d.cts.map b/client/node_modules/@jridgewell/remapping/types/source-map.d.cts.map new file mode 100644 index 0000000..593daf8 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"source-map.d.ts","sourceRoot":"","sources":["../src/source-map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAE7B,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;IAe7C,QAAQ,IAAI,MAAM;CAGnB"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map.d.mts b/client/node_modules/@jridgewell/remapping/types/source-map.d.mts new file mode 100644 index 0000000..52ebba2 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map.d.mts @@ -0,0 +1,19 @@ +import type { GenMapping } from '@jridgewell/gen-mapping'; +import type { DecodedSourceMap, EncodedSourceMap, Options } from './types.mts'; +/** + * A SourceMap v3 compatible sourcemap, which only includes fields that were + * provided to it. + */ +export default class SourceMap { + file?: string | null; + mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings']; + sourceRoot?: string; + names: string[]; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList: number[] | undefined; + constructor(map: GenMapping, options: Options); + toString(): string; +} +//# sourceMappingURL=source-map.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/source-map.d.mts.map b/client/node_modules/@jridgewell/remapping/types/source-map.d.mts.map new file mode 100644 index 0000000..593daf8 --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/source-map.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"source-map.d.ts","sourceRoot":"","sources":["../src/source-map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAE7B,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;IAe7C,QAAQ,IAAI,MAAM;CAGnB"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/types.d.cts b/client/node_modules/@jridgewell/remapping/types/types.d.cts new file mode 100644 index 0000000..eeb320f --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/types.d.cts @@ -0,0 +1,16 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping'; +export type { SourceMapInput }; +export type LoaderContext = { + readonly importer: string; + readonly depth: number; + source: string; + content: string | null | undefined; + ignore: boolean | undefined; +}; +export type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void; +export type Options = { + excludeContent?: boolean; + decodedMappings?: boolean; +}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/types.d.cts.map b/client/node_modules/@jridgewell/remapping/types/types.d.cts.map new file mode 100644 index 0000000..4f8647e --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/types.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,KACf,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/types.d.mts b/client/node_modules/@jridgewell/remapping/types/types.d.mts new file mode 100644 index 0000000..eeb320f --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/types.d.mts @@ -0,0 +1,16 @@ +import type { SourceMapInput } from '@jridgewell/trace-mapping'; +export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping'; +export type { SourceMapInput }; +export type LoaderContext = { + readonly importer: string; + readonly depth: number; + source: string; + content: string | null | undefined; + ignore: boolean | undefined; +}; +export type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void; +export type Options = { + excludeContent?: boolean; + decodedMappings?: boolean; +}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/remapping/types/types.d.mts.map b/client/node_modules/@jridgewell/remapping/types/types.d.mts.map new file mode 100644 index 0000000..4f8647e --- /dev/null +++ b/client/node_modules/@jridgewell/remapping/types/types.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,KACf,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/resolve-uri/LICENSE b/client/node_modules/@jridgewell/resolve-uri/LICENSE new file mode 100644 index 0000000..0a81b2a --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/LICENSE @@ -0,0 +1,19 @@ +Copyright 2019 Justin Ridgewell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/client/node_modules/@jridgewell/resolve-uri/README.md b/client/node_modules/@jridgewell/resolve-uri/README.md new file mode 100644 index 0000000..2fe70df --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/README.md @@ -0,0 +1,40 @@ +# @jridgewell/resolve-uri + +> Resolve a URI relative to an optional base URI + +Resolve any combination of absolute URIs, protocol-realtive URIs, absolute paths, or relative paths. + +## Installation + +```sh +npm install @jridgewell/resolve-uri +``` + +## Usage + +```typescript +function resolve(input: string, base?: string): string; +``` + +```js +import resolve from '@jridgewell/resolve-uri'; + +resolve('foo', 'https://example.com'); // => 'https://example.com/foo' +``` + +| Input | Base | Resolution | Explanation | +|-----------------------|-------------------------|--------------------------------|--------------------------------------------------------------| +| `https://example.com` | _any_ | `https://example.com/` | Input is normalized only | +| `//example.com` | `https://base.com/` | `https://example.com/` | Input inherits the base's protocol | +| `//example.com` | _rest_ | `//example.com/` | Input is normalized only | +| `/example` | `https://base.com/` | `https://base.com/example` | Input inherits the base's origin | +| `/example` | `//base.com/` | `//base.com/example` | Input inherits the base's host and remains protocol relative | +| `/example` | _rest_ | `/example` | Input is normalized only | +| `example` | `https://base.com/dir/` | `https://base.com/dir/example` | Input is joined with the base | +| `example` | `https://base.com/file` | `https://base.com/example` | Input is joined with the base without its file | +| `example` | `//base.com/dir/` | `//base.com/dir/example` | Input is joined with the base's last directory | +| `example` | `//base.com/file` | `//base.com/example` | Input is joined with the base without its file | +| `example` | `/base/dir/` | `/base/dir/example` | Input is joined with the base's last directory | +| `example` | `/base/file` | `/base/example` | Input is joined with the base without its file | +| `example` | `base/dir/` | `base/dir/example` | Input is joined with the base's last directory | +| `example` | `base/file` | `base/example` | Input is joined with the base without its file | diff --git a/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs new file mode 100644 index 0000000..e958e88 --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs @@ -0,0 +1,232 @@ +// Matches the scheme of a URL, eg "http://" +const schemeRegex = /^[\w+.-]+:\/\//; +/** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ +const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; +/** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ +const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; +function isAbsoluteUrl(input) { + return schemeRegex.test(input); +} +function isSchemeRelativeUrl(input) { + return input.startsWith('//'); +} +function isAbsolutePath(input) { + return input.startsWith('/'); +} +function isFileUrl(input) { + return input.startsWith('file:'); +} +function isRelative(input) { + return /^[.?#]/.test(input); +} +function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); +} +function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); +} +function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: 7 /* Absolute */, + }; +} +function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = 6 /* SchemeRelative */; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = 5 /* AbsolutePath */; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? 3 /* Query */ + : input.startsWith('#') + ? 2 /* Hash */ + : 4 /* RelativePath */ + : 1 /* Empty */; + return url; +} +function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} +function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } +} +/** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ +function normalizePath(url, type) { + const rel = type <= 4 /* RelativePath */; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; +} +/** + * Attempts to resolve `input` URL/path relative to `base`. + */ +function resolve(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== 7 /* Absolute */) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case 1 /* Empty */: + url.hash = baseUrl.hash; + // fall through + case 2 /* Hash */: + url.query = baseUrl.query; + // fall through + case 3 /* Query */: + case 4 /* RelativePath */: + mergePaths(url, baseUrl); + // fall through + case 5 /* AbsolutePath */: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case 6 /* SchemeRelative */: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case 2 /* Hash */: + case 3 /* Query */: + return queryHash; + case 4 /* RelativePath */: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case 5 /* AbsolutePath */: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } +} + +export { resolve as default }; +//# sourceMappingURL=resolve-uri.mjs.map diff --git a/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map new file mode 100644 index 0000000..1de97d0 --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"resolve-uri.mjs","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js new file mode 100644 index 0000000..a783049 --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js @@ -0,0 +1,240 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.resolveURI = factory()); +})(this, (function () { 'use strict'; + + // Matches the scheme of a URL, eg "http://" + const schemeRegex = /^[\w+.-]+:\/\//; + /** + * Matches the parts of a URL: + * 1. Scheme, including ":", guaranteed. + * 2. User/password, including "@", optional. + * 3. Host, guaranteed. + * 4. Port, including ":", optional. + * 5. Path, including "/", optional. + * 6. Query, including "?", optional. + * 7. Hash, including "#", optional. + */ + const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; + /** + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive). + * + * 1. Host, optional. + * 2. Path, which may include "/", guaranteed. + * 3. Query, including "?", optional. + * 4. Hash, including "#", optional. + */ + const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; + function isAbsoluteUrl(input) { + return schemeRegex.test(input); + } + function isSchemeRelativeUrl(input) { + return input.startsWith('//'); + } + function isAbsolutePath(input) { + return input.startsWith('/'); + } + function isFileUrl(input) { + return input.startsWith('file:'); + } + function isRelative(input) { + return /^[.?#]/.test(input); + } + function parseAbsoluteUrl(input) { + const match = urlRegex.exec(input); + return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || ''); + } + function parseFileUrl(input) { + const match = fileRegex.exec(input); + const path = match[2]; + return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || ''); + } + function makeUrl(scheme, user, host, port, path, query, hash) { + return { + scheme, + user, + host, + port, + path, + query, + hash, + type: 7 /* Absolute */, + }; + } + function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url = parseAbsoluteUrl('http:' + input); + url.scheme = ''; + url.type = 6 /* SchemeRelative */; + return url; + } + if (isAbsolutePath(input)) { + const url = parseAbsoluteUrl('http://foo.com' + input); + url.scheme = ''; + url.host = ''; + url.type = 5 /* AbsolutePath */; + return url; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl('http://foo.com/' + input); + url.scheme = ''; + url.host = ''; + url.type = input + ? input.startsWith('?') + ? 3 /* Query */ + : input.startsWith('#') + ? 2 /* Hash */ + : 4 /* RelativePath */ + : 1 /* Empty */; + return url; + } + function stripPathFilename(path) { + // If a path ends with a parent directory "..", then it's a relative path with excess parent + // paths. It's not a file, so we can't strip it. + if (path.endsWith('/..')) + return path; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); + } + function mergePaths(url, base) { + normalizePath(base, base.type); + // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative + // path). + if (url.path === '/') { + url.path = base.path; + } + else { + // Resolution happens relative to the base path's directory, not the file. + url.path = stripPathFilename(base.path) + url.path; + } + } + /** + * The path can have empty directories "//", unneeded parents "foo/..", or current directory + * "foo/.". We need to normalize to a standard representation. + */ + function normalizePath(url, type) { + const rel = type <= 4 /* RelativePath */; + const pieces = url.path.split('/'); + // We need to preserve the first piece always, so that we output a leading slash. The item at + // pieces[0] is an empty string. + let pointer = 1; + // Positive is the number of real directories we've output, used for popping a parent directory. + // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo". + let positive = 0; + // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will + // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a + // real directory, we won't need to append, unless the other conditions happen again. + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + // An empty directory, could be a trailing slash, or just a double "//" in the path. + if (!piece) { + addTrailingSlash = true; + continue; + } + // If we encounter a real directory, then we don't need to append anymore. + addTrailingSlash = false; + // A current directory, which we can always drop. + if (piece === '.') + continue; + // A parent directory, we need to see if there are any real directories we can pop. Else, we + // have an excess of parents, and we'll need to keep the "..". + if (piece === '..') { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } + else if (rel) { + // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute + // URL, protocol relative URL, or an absolute path, we don't need to keep excess. + pieces[pointer++] = piece; + } + continue; + } + // We've encountered a real directory. Move it to the next insertion pointer, which accounts for + // any popped or dropped directories. + pieces[pointer++] = piece; + positive++; + } + let path = ''; + for (let i = 1; i < pointer; i++) { + path += '/' + pieces[i]; + } + if (!path || (addTrailingSlash && !path.endsWith('/..'))) { + path += '/'; + } + url.path = path; + } + /** + * Attempts to resolve `input` URL/path relative to `base`. + */ + function resolve(input, base) { + if (!input && !base) + return ''; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== 7 /* Absolute */) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case 1 /* Empty */: + url.hash = baseUrl.hash; + // fall through + case 2 /* Hash */: + url.query = baseUrl.query; + // fall through + case 3 /* Query */: + case 4 /* RelativePath */: + mergePaths(url, baseUrl); + // fall through + case 5 /* AbsolutePath */: + // The host, user, and port are joined, you can't copy one without the others. + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + // fall through + case 6 /* SchemeRelative */: + // The input doesn't have a schema at least, so we need to copy at least that over. + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + // This is impossible, because of the empty checks at the start of the function. + // case UrlType.Empty: + case 2 /* Hash */: + case 3 /* Query */: + return queryHash; + case 4 /* RelativePath */: { + // The first char is always a "/", and we need it to be relative. + const path = url.path.slice(1); + if (!path) + return queryHash || '.'; + if (isRelative(base || input) && !isRelative(path)) { + // If base started with a leading ".", or there is no base and input started with a ".", + // then we need to ensure that the relative path starts with a ".". We don't know if + // relative starts with a "..", though, so check before prepending. + return './' + path + queryHash; + } + return path + queryHash; + } + case 5 /* AbsolutePath */: + return url.path + queryHash; + default: + return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash; + } + } + + return resolve; + +})); +//# sourceMappingURL=resolve-uri.umd.js.map diff --git a/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map new file mode 100644 index 0000000..70a37f2 --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"resolve-uri.umd.js","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts b/client/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts new file mode 100644 index 0000000..b7f0b3b --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts @@ -0,0 +1,4 @@ +/** + * Attempts to resolve `input` URL/path relative to `base`. + */ +export default function resolve(input: string, base: string | undefined): string; diff --git a/client/node_modules/@jridgewell/resolve-uri/package.json b/client/node_modules/@jridgewell/resolve-uri/package.json new file mode 100644 index 0000000..02a4c51 --- /dev/null +++ b/client/node_modules/@jridgewell/resolve-uri/package.json @@ -0,0 +1,69 @@ +{ + "name": "@jridgewell/resolve-uri", + "version": "3.1.2", + "description": "Resolve a URI relative to an optional base URI", + "keywords": [ + "resolve", + "uri", + "url", + "path" + ], + "author": "Justin Ridgewell ", + "license": "MIT", + "repository": "https://github.com/jridgewell/resolve-uri", + "main": "dist/resolve-uri.umd.js", + "module": "dist/resolve-uri.mjs", + "types": "dist/types/resolve-uri.d.ts", + "exports": { + ".": [ + { + "types": "./dist/types/resolve-uri.d.ts", + "browser": "./dist/resolve-uri.umd.js", + "require": "./dist/resolve-uri.umd.js", + "import": "./dist/resolve-uri.mjs" + }, + "./dist/resolve-uri.umd.js" + ], + "./package.json": "./package.json" + }, + "files": [ + "dist" + ], + "engines": { + "node": ">=6.0.0" + }, + "scripts": { + "prebuild": "rm -rf dist", + "build": "run-s -n build:*", + "build:rollup": "rollup -c rollup.config.js", + "build:ts": "tsc --project tsconfig.build.json", + "lint": "run-s -n lint:*", + "lint:prettier": "npm run test:lint:prettier -- --write", + "lint:ts": "npm run test:lint:ts -- --fix", + "pretest": "run-s build:rollup", + "test": "run-s -n test:lint test:only", + "test:debug": "mocha --inspect-brk", + "test:lint": "run-s -n test:lint:*", + "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'", + "test:lint:ts": "eslint '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:coverage": "c8 mocha", + "test:watch": "mocha --watch", + "prepublishOnly": "npm run preversion", + "preversion": "run-s test build" + }, + "devDependencies": { + "@jridgewell/resolve-uri-latest": "npm:@jridgewell/resolve-uri@*", + "@rollup/plugin-typescript": "8.3.0", + "@typescript-eslint/eslint-plugin": "5.10.0", + "@typescript-eslint/parser": "5.10.0", + "c8": "7.11.0", + "eslint": "8.7.0", + "eslint-config-prettier": "8.3.0", + "mocha": "9.2.0", + "npm-run-all": "4.1.5", + "prettier": "2.5.1", + "rollup": "2.66.0", + "typescript": "4.5.5" + } +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/LICENSE b/client/node_modules/@jridgewell/sourcemap-codec/LICENSE new file mode 100644 index 0000000..1f6ce94 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/LICENSE @@ -0,0 +1,19 @@ +Copyright 2024 Justin Ridgewell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/client/node_modules/@jridgewell/sourcemap-codec/README.md b/client/node_modules/@jridgewell/sourcemap-codec/README.md new file mode 100644 index 0000000..b3e0708 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/README.md @@ -0,0 +1,264 @@ +# @jridgewell/sourcemap-codec + +Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit). + + +## Why? + +Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap. + +This package makes the process slightly easier. + + +## Installation + +```bash +npm install @jridgewell/sourcemap-codec +``` + + +## Usage + +```js +import { encode, decode } from '@jridgewell/sourcemap-codec'; + +var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' ); + +assert.deepEqual( decoded, [ + // the first line (of the generated code) has no mappings, + // as shown by the starting semi-colon (which separates lines) + [], + + // the second line contains four (comma-separated) segments + [ + // segments are encoded as you'd expect: + // [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ] + + // i.e. the first segment begins at column 2, and maps back to the second column + // of the second line (both zero-based) of the 0th source, and uses the 0th + // name in the `map.names` array + [ 2, 0, 2, 2, 0 ], + + // the remaining segments are 4-length rather than 5-length, + // because they don't map a name + [ 4, 0, 2, 4 ], + [ 6, 0, 2, 5 ], + [ 7, 0, 2, 7 ] + ], + + // the final line contains two segments + [ + [ 2, 1, 10, 19 ], + [ 12, 1, 11, 20 ] + ] +]); + +var encoded = encode( decoded ); +assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' ); +``` + +## Benchmarks + +``` +node v20.10.0 + +amp.js.map - 45120 segments + +Decode Memory Usage: +local code 5815135 bytes +@jridgewell/sourcemap-codec 1.4.15 5868160 bytes +sourcemap-codec 5492584 bytes +source-map-0.6.1 13569984 bytes +source-map-0.8.0 6390584 bytes +chrome dev tools 8011136 bytes +Smallest memory usage is sourcemap-codec + +Decode speed: +decode: local code x 492 ops/sec ±1.22% (90 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 499 ops/sec ±1.16% (89 runs sampled) +decode: sourcemap-codec x 376 ops/sec ±1.66% (89 runs sampled) +decode: source-map-0.6.1 x 34.99 ops/sec ±0.94% (48 runs sampled) +decode: source-map-0.8.0 x 351 ops/sec ±0.07% (95 runs sampled) +chrome dev tools x 165 ops/sec ±0.91% (86 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 444248 bytes +@jridgewell/sourcemap-codec 1.4.15 623024 bytes +sourcemap-codec 8696280 bytes +source-map-0.6.1 8745176 bytes +source-map-0.8.0 8736624 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 796 ops/sec ±0.11% (97 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 795 ops/sec ±0.25% (98 runs sampled) +encode: sourcemap-codec x 231 ops/sec ±0.83% (86 runs sampled) +encode: source-map-0.6.1 x 166 ops/sec ±0.57% (86 runs sampled) +encode: source-map-0.8.0 x 203 ops/sec ±0.45% (88 runs sampled) +Fastest is encode: local code,encode: @jridgewell/sourcemap-codec 1.4.15 + + +*** + + +babel.min.js.map - 347793 segments + +Decode Memory Usage: +local code 35424960 bytes +@jridgewell/sourcemap-codec 1.4.15 35424696 bytes +sourcemap-codec 36033464 bytes +source-map-0.6.1 62253704 bytes +source-map-0.8.0 43843920 bytes +chrome dev tools 45111400 bytes +Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15 + +Decode speed: +decode: local code x 38.18 ops/sec ±5.44% (52 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 38.36 ops/sec ±5.02% (52 runs sampled) +decode: sourcemap-codec x 34.05 ops/sec ±4.45% (47 runs sampled) +decode: source-map-0.6.1 x 4.31 ops/sec ±2.76% (15 runs sampled) +decode: source-map-0.8.0 x 55.60 ops/sec ±0.13% (73 runs sampled) +chrome dev tools x 16.94 ops/sec ±3.78% (46 runs sampled) +Fastest is decode: source-map-0.8.0 + +Encode Memory Usage: +local code 2606016 bytes +@jridgewell/sourcemap-codec 1.4.15 2626440 bytes +sourcemap-codec 21152576 bytes +source-map-0.6.1 25023928 bytes +source-map-0.8.0 25256448 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 127 ops/sec ±0.18% (83 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 128 ops/sec ±0.26% (83 runs sampled) +encode: sourcemap-codec x 29.31 ops/sec ±2.55% (53 runs sampled) +encode: source-map-0.6.1 x 18.85 ops/sec ±3.19% (36 runs sampled) +encode: source-map-0.8.0 x 19.34 ops/sec ±1.97% (36 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15 + + +*** + + +preact.js.map - 1992 segments + +Decode Memory Usage: +local code 261696 bytes +@jridgewell/sourcemap-codec 1.4.15 244296 bytes +sourcemap-codec 302816 bytes +source-map-0.6.1 939176 bytes +source-map-0.8.0 336 bytes +chrome dev tools 587368 bytes +Smallest memory usage is source-map-0.8.0 + +Decode speed: +decode: local code x 17,782 ops/sec ±0.32% (97 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 17,863 ops/sec ±0.40% (100 runs sampled) +decode: sourcemap-codec x 12,453 ops/sec ±0.27% (101 runs sampled) +decode: source-map-0.6.1 x 1,288 ops/sec ±1.05% (96 runs sampled) +decode: source-map-0.8.0 x 9,289 ops/sec ±0.27% (101 runs sampled) +chrome dev tools x 4,769 ops/sec ±0.18% (100 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 262944 bytes +@jridgewell/sourcemap-codec 1.4.15 25544 bytes +sourcemap-codec 323048 bytes +source-map-0.6.1 507808 bytes +source-map-0.8.0 507480 bytes +Smallest memory usage is @jridgewell/sourcemap-codec 1.4.15 + +Encode speed: +encode: local code x 24,207 ops/sec ±0.79% (95 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 24,288 ops/sec ±0.48% (96 runs sampled) +encode: sourcemap-codec x 6,761 ops/sec ±0.21% (100 runs sampled) +encode: source-map-0.6.1 x 5,374 ops/sec ±0.17% (99 runs sampled) +encode: source-map-0.8.0 x 5,633 ops/sec ±0.32% (99 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15,encode: local code + + +*** + + +react.js.map - 5726 segments + +Decode Memory Usage: +local code 678816 bytes +@jridgewell/sourcemap-codec 1.4.15 678816 bytes +sourcemap-codec 816400 bytes +source-map-0.6.1 2288864 bytes +source-map-0.8.0 721360 bytes +chrome dev tools 1012512 bytes +Smallest memory usage is local code + +Decode speed: +decode: local code x 6,178 ops/sec ±0.19% (98 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 6,261 ops/sec ±0.22% (100 runs sampled) +decode: sourcemap-codec x 4,472 ops/sec ±0.90% (99 runs sampled) +decode: source-map-0.6.1 x 449 ops/sec ±0.31% (95 runs sampled) +decode: source-map-0.8.0 x 3,219 ops/sec ±0.13% (100 runs sampled) +chrome dev tools x 1,743 ops/sec ±0.20% (99 runs sampled) +Fastest is decode: @jridgewell/sourcemap-codec 1.4.15 + +Encode Memory Usage: +local code 140960 bytes +@jridgewell/sourcemap-codec 1.4.15 159808 bytes +sourcemap-codec 969304 bytes +source-map-0.6.1 930520 bytes +source-map-0.8.0 930248 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 8,013 ops/sec ±0.19% (100 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 7,989 ops/sec ±0.20% (101 runs sampled) +encode: sourcemap-codec x 2,472 ops/sec ±0.21% (99 runs sampled) +encode: source-map-0.6.1 x 2,200 ops/sec ±0.17% (99 runs sampled) +encode: source-map-0.8.0 x 2,220 ops/sec ±0.37% (99 runs sampled) +Fastest is encode: local code + + +*** + + +vscode.map - 2141001 segments + +Decode Memory Usage: +local code 198955264 bytes +@jridgewell/sourcemap-codec 1.4.15 199175352 bytes +sourcemap-codec 199102688 bytes +source-map-0.6.1 386323432 bytes +source-map-0.8.0 244116432 bytes +chrome dev tools 293734280 bytes +Smallest memory usage is local code + +Decode speed: +decode: local code x 3.90 ops/sec ±22.21% (15 runs sampled) +decode: @jridgewell/sourcemap-codec 1.4.15 x 3.95 ops/sec ±23.53% (15 runs sampled) +decode: sourcemap-codec x 3.82 ops/sec ±17.94% (14 runs sampled) +decode: source-map-0.6.1 x 0.61 ops/sec ±7.81% (6 runs sampled) +decode: source-map-0.8.0 x 9.54 ops/sec ±0.28% (28 runs sampled) +chrome dev tools x 2.18 ops/sec ±10.58% (10 runs sampled) +Fastest is decode: source-map-0.8.0 + +Encode Memory Usage: +local code 13509880 bytes +@jridgewell/sourcemap-codec 1.4.15 13537648 bytes +sourcemap-codec 32540104 bytes +source-map-0.6.1 127531040 bytes +source-map-0.8.0 127535312 bytes +Smallest memory usage is local code + +Encode speed: +encode: local code x 20.10 ops/sec ±0.19% (38 runs sampled) +encode: @jridgewell/sourcemap-codec 1.4.15 x 20.26 ops/sec ±0.32% (38 runs sampled) +encode: sourcemap-codec x 5.44 ops/sec ±1.64% (18 runs sampled) +encode: source-map-0.6.1 x 2.30 ops/sec ±4.79% (10 runs sampled) +encode: source-map-0.8.0 x 2.46 ops/sec ±6.53% (10 runs sampled) +Fastest is encode: @jridgewell/sourcemap-codec 1.4.15 +``` + +# License + +MIT diff --git a/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs new file mode 100644 index 0000000..532bab3 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs @@ -0,0 +1,423 @@ +// src/vlq.ts +var comma = ",".charCodeAt(0); +var semicolon = ";".charCodeAt(0); +var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var intToChar = new Uint8Array(64); +var charToInt = new Uint8Array(128); +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -2147483648 | -value; + } + return relative + value; +} +function encodeInteger(builder, num, relative) { + let delta = num - relative; + delta = delta < 0 ? -delta << 1 | 1 : delta << 1; + do { + let clamped = delta & 31; + delta >>>= 5; + if (delta > 0) clamped |= 32; + builder.write(intToChar[clamped]); + } while (delta > 0); + return num; +} +function hasMoreVlq(reader, max) { + if (reader.pos >= max) return false; + return reader.peek() !== comma; +} + +// src/strings.ts +var bufLength = 1024 * 16; +var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { + decode(buf) { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + } +} : { + decode(buf) { + let out = ""; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + } +}; +var StringWriter = class { + constructor() { + this.pos = 0; + this.out = ""; + this.buffer = new Uint8Array(bufLength); + } + write(v) { + const { buffer } = this; + buffer[this.pos++] = v; + if (this.pos === bufLength) { + this.out += td.decode(buffer); + this.pos = 0; + } + } + flush() { + const { buffer, out, pos } = this; + return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out; + } +}; +var StringReader = class { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +}; + +// src/scopes.ts +var EMPTY = []; +function decodeOriginalScopes(input) { + const { length } = input; + const reader = new StringReader(input); + const scopes = []; + const stack = []; + let line = 0; + for (; reader.pos < length; reader.pos++) { + line = decodeInteger(reader, line); + const column = decodeInteger(reader, 0); + if (!hasMoreVlq(reader, length)) { + const last = stack.pop(); + last[2] = line; + last[3] = column; + continue; + } + const kind = decodeInteger(reader, 0); + const fields = decodeInteger(reader, 0); + const hasName = fields & 1; + const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]; + let vars = EMPTY; + if (hasMoreVlq(reader, length)) { + vars = []; + do { + const varsIndex = decodeInteger(reader, 0); + vars.push(varsIndex); + } while (hasMoreVlq(reader, length)); + } + scope.vars = vars; + scopes.push(scope); + stack.push(scope); + } + return scopes; +} +function encodeOriginalScopes(scopes) { + const writer = new StringWriter(); + for (let i = 0; i < scopes.length; ) { + i = _encodeOriginalScopes(scopes, i, writer, [0]); + } + return writer.flush(); +} +function _encodeOriginalScopes(scopes, index, writer, state) { + const scope = scopes[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope; + if (index > 0) writer.write(comma); + state[0] = encodeInteger(writer, startLine, state[0]); + encodeInteger(writer, startColumn, 0); + encodeInteger(writer, kind, 0); + const fields = scope.length === 6 ? 1 : 0; + encodeInteger(writer, fields, 0); + if (scope.length === 6) encodeInteger(writer, scope[5], 0); + for (const v of vars) { + encodeInteger(writer, v, 0); + } + for (index++; index < scopes.length; ) { + const next = scopes[index]; + const { 0: l, 1: c } = next; + if (l > endLine || l === endLine && c >= endColumn) { + break; + } + index = _encodeOriginalScopes(scopes, index, writer, state); + } + writer.write(comma); + state[0] = encodeInteger(writer, endLine, state[0]); + encodeInteger(writer, endColumn, 0); + return index; +} +function decodeGeneratedRanges(input) { + const { length } = input; + const reader = new StringReader(input); + const ranges = []; + const stack = []; + let genLine = 0; + let definitionSourcesIndex = 0; + let definitionScopeIndex = 0; + let callsiteSourcesIndex = 0; + let callsiteLine = 0; + let callsiteColumn = 0; + let bindingLine = 0; + let bindingColumn = 0; + do { + const semi = reader.indexOf(";"); + let genColumn = 0; + for (; reader.pos < semi; reader.pos++) { + genColumn = decodeInteger(reader, genColumn); + if (!hasMoreVlq(reader, semi)) { + const last = stack.pop(); + last[2] = genLine; + last[3] = genColumn; + continue; + } + const fields = decodeInteger(reader, 0); + const hasDefinition = fields & 1; + const hasCallsite = fields & 2; + const hasScope = fields & 4; + let callsite = null; + let bindings = EMPTY; + let range; + if (hasDefinition) { + const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex); + definitionScopeIndex = decodeInteger( + reader, + definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0 + ); + definitionSourcesIndex = defSourcesIndex; + range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex]; + } else { + range = [genLine, genColumn, 0, 0]; + } + range.isScope = !!hasScope; + if (hasCallsite) { + const prevCsi = callsiteSourcesIndex; + const prevLine = callsiteLine; + callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex); + const sameSource = prevCsi === callsiteSourcesIndex; + callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0); + callsiteColumn = decodeInteger( + reader, + sameSource && prevLine === callsiteLine ? callsiteColumn : 0 + ); + callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn]; + } + range.callsite = callsite; + if (hasMoreVlq(reader, semi)) { + bindings = []; + do { + bindingLine = genLine; + bindingColumn = genColumn; + const expressionsCount = decodeInteger(reader, 0); + let expressionRanges; + if (expressionsCount < -1) { + expressionRanges = [[decodeInteger(reader, 0)]]; + for (let i = -1; i > expressionsCount; i--) { + const prevBl = bindingLine; + bindingLine = decodeInteger(reader, bindingLine); + bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0); + const expression = decodeInteger(reader, 0); + expressionRanges.push([expression, bindingLine, bindingColumn]); + } + } else { + expressionRanges = [[expressionsCount]]; + } + bindings.push(expressionRanges); + } while (hasMoreVlq(reader, semi)); + } + range.bindings = bindings; + ranges.push(range); + stack.push(range); + } + genLine++; + reader.pos = semi + 1; + } while (reader.pos < length); + return ranges; +} +function encodeGeneratedRanges(ranges) { + if (ranges.length === 0) return ""; + const writer = new StringWriter(); + for (let i = 0; i < ranges.length; ) { + i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]); + } + return writer.flush(); +} +function _encodeGeneratedRanges(ranges, index, writer, state) { + const range = ranges[index]; + const { + 0: startLine, + 1: startColumn, + 2: endLine, + 3: endColumn, + isScope, + callsite, + bindings + } = range; + if (state[0] < startLine) { + catchupLine(writer, state[0], startLine); + state[0] = startLine; + state[1] = 0; + } else if (index > 0) { + writer.write(comma); + } + state[1] = encodeInteger(writer, range[1], state[1]); + const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0); + encodeInteger(writer, fields, 0); + if (range.length === 6) { + const { 4: sourcesIndex, 5: scopesIndex } = range; + if (sourcesIndex !== state[2]) { + state[3] = 0; + } + state[2] = encodeInteger(writer, sourcesIndex, state[2]); + state[3] = encodeInteger(writer, scopesIndex, state[3]); + } + if (callsite) { + const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite; + if (sourcesIndex !== state[4]) { + state[5] = 0; + state[6] = 0; + } else if (callLine !== state[5]) { + state[6] = 0; + } + state[4] = encodeInteger(writer, sourcesIndex, state[4]); + state[5] = encodeInteger(writer, callLine, state[5]); + state[6] = encodeInteger(writer, callColumn, state[6]); + } + if (bindings) { + for (const binding of bindings) { + if (binding.length > 1) encodeInteger(writer, -binding.length, 0); + const expression = binding[0][0]; + encodeInteger(writer, expression, 0); + let bindingStartLine = startLine; + let bindingStartColumn = startColumn; + for (let i = 1; i < binding.length; i++) { + const expRange = binding[i]; + bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine); + bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn); + encodeInteger(writer, expRange[0], 0); + } + } + } + for (index++; index < ranges.length; ) { + const next = ranges[index]; + const { 0: l, 1: c } = next; + if (l > endLine || l === endLine && c >= endColumn) { + break; + } + index = _encodeGeneratedRanges(ranges, index, writer, state); + } + if (state[0] < endLine) { + catchupLine(writer, state[0], endLine); + state[0] = endLine; + state[1] = 0; + } else { + writer.write(comma); + } + state[1] = encodeInteger(writer, endColumn, state[1]); + return index; +} +function catchupLine(writer, lastLine, line) { + do { + writer.write(semicolon); + } while (++lastLine < line); +} + +// src/sourcemap-codec.ts +function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(";"); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; +} +function sort(line) { + line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[0] - b[0]; +} +function encode(decoded) { + const writer = new StringWriter(); + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) writer.write(semicolon); + if (line.length === 0) continue; + let genColumn = 0; + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + if (j > 0) writer.write(comma); + genColumn = encodeInteger(writer, segment[0], genColumn); + if (segment.length === 1) continue; + sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex); + sourceLine = encodeInteger(writer, segment[2], sourceLine); + sourceColumn = encodeInteger(writer, segment[3], sourceColumn); + if (segment.length === 4) continue; + namesIndex = encodeInteger(writer, segment[4], namesIndex); + } + } + return writer.flush(); +} +export { + decode, + decodeGeneratedRanges, + decodeOriginalScopes, + encode, + encodeGeneratedRanges, + encodeOriginalScopes +}; +//# sourceMappingURL=sourcemap-codec.mjs.map diff --git a/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map new file mode 100644 index 0000000..c276844 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["../src/vlq.ts", "../src/strings.ts", "../src/scopes.ts", "../src/sourcemap-codec.ts"], + "mappings": ";AAEO,IAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,IAAM,YAAY,IAAI,WAAW,CAAC;AAEzC,IAAM,QAAQ;AACd,IAAM,YAAY,IAAI,WAAW,EAAE;AACnC,IAAM,YAAY,IAAI,WAAW,GAAG;AAEpC,SAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,QAAM,IAAI,MAAM,WAAW,CAAC;AAC5B,YAAU,CAAC,IAAI;AACf,YAAU,CAAC,IAAI;AACjB;AAEO,SAAS,cAAc,QAAsB,UAA0B;AAC5E,MAAI,QAAQ;AACZ,MAAI,QAAQ;AACZ,MAAI,UAAU;AAEd,KAAG;AACD,UAAM,IAAI,OAAO,KAAK;AACtB,cAAU,UAAU,CAAC;AACrB,cAAU,UAAU,OAAO;AAC3B,aAAS;AAAA,EACX,SAAS,UAAU;AAEnB,QAAM,eAAe,QAAQ;AAC7B,aAAW;AAEX,MAAI,cAAc;AAChB,YAAQ,cAAc,CAAC;AAAA,EACzB;AAEA,SAAO,WAAW;AACpB;AAEO,SAAS,cAAc,SAAuB,KAAa,UAA0B;AAC1F,MAAI,QAAQ,MAAM;AAElB,UAAQ,QAAQ,IAAK,CAAC,SAAS,IAAK,IAAI,SAAS;AACjD,KAAG;AACD,QAAI,UAAU,QAAQ;AACtB,eAAW;AACX,QAAI,QAAQ,EAAG,YAAW;AAC1B,YAAQ,MAAM,UAAU,OAAO,CAAC;AAAA,EAClC,SAAS,QAAQ;AAEjB,SAAO;AACT;AAEO,SAAS,WAAW,QAAsB,KAAa;AAC5D,MAAI,OAAO,OAAO,IAAK,QAAO;AAC9B,SAAO,OAAO,KAAK,MAAM;AAC3B;;;ACtDA,IAAM,YAAY,OAAO;AAGzB,IAAM,KACJ,OAAO,gBAAgB,cACH,oBAAI,YAAY,IAChC,OAAO,WAAW,cAChB;AAAA,EACE,OAAO,KAAyB;AAC9B,UAAM,MAAM,OAAO,KAAK,IAAI,QAAQ,IAAI,YAAY,IAAI,UAAU;AAClE,WAAO,IAAI,SAAS;AAAA,EACtB;AACF,IACA;AAAA,EACE,OAAO,KAAyB;AAC9B,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,aAAO,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACnC;AACA,WAAO;AAAA,EACT;AACF;AAED,IAAM,eAAN,MAAmB;AAAA,EAAnB;AACL,eAAM;AACN,SAAQ,MAAM;AACd,SAAQ,SAAS,IAAI,WAAW,SAAS;AAAA;AAAA,EAEzC,MAAM,GAAiB;AACrB,UAAM,EAAE,OAAO,IAAI;AACnB,WAAO,KAAK,KAAK,IAAI;AACrB,QAAI,KAAK,QAAQ,WAAW;AAC1B,WAAK,OAAO,GAAG,OAAO,MAAM;AAC5B,WAAK,MAAM;AAAA,IACb;AAAA,EACF;AAAA,EAEA,QAAgB;AACd,UAAM,EAAE,QAAQ,KAAK,IAAI,IAAI;AAC7B,WAAO,MAAM,IAAI,MAAM,GAAG,OAAO,OAAO,SAAS,GAAG,GAAG,CAAC,IAAI;AAAA,EAC9D;AACF;AAEO,IAAM,eAAN,MAAmB;AAAA,EAIxB,YAAY,QAAgB;AAH5B,eAAM;AAIJ,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,OAAe;AACb,WAAO,KAAK,OAAO,WAAW,KAAK,KAAK;AAAA,EAC1C;AAAA,EAEA,OAAe;AACb,WAAO,KAAK,OAAO,WAAW,KAAK,GAAG;AAAA,EACxC;AAAA,EAEA,QAAQ,MAAsB;AAC5B,UAAM,EAAE,QAAQ,IAAI,IAAI;AACxB,UAAM,MAAM,OAAO,QAAQ,MAAM,GAAG;AACpC,WAAO,QAAQ,KAAK,OAAO,SAAS;AAAA,EACtC;AACF;;;AC7DA,IAAM,QAAe,CAAC;AA+Bf,SAAS,qBAAqB,OAAgC;AACnE,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,SAAS,IAAI,aAAa,KAAK;AACrC,QAAM,SAA0B,CAAC;AACjC,QAAM,QAAyB,CAAC;AAChC,MAAI,OAAO;AAEX,SAAO,OAAO,MAAM,QAAQ,OAAO,OAAO;AACxC,WAAO,cAAc,QAAQ,IAAI;AACjC,UAAM,SAAS,cAAc,QAAQ,CAAC;AAEtC,QAAI,CAAC,WAAW,QAAQ,MAAM,GAAG;AAC/B,YAAM,OAAO,MAAM,IAAI;AACvB,WAAK,CAAC,IAAI;AACV,WAAK,CAAC,IAAI;AACV;AAAA,IACF;AAEA,UAAM,OAAO,cAAc,QAAQ,CAAC;AACpC,UAAM,SAAS,cAAc,QAAQ,CAAC;AACtC,UAAM,UAAU,SAAS;AAEzB,UAAM,QACJ,UAAU,CAAC,MAAM,QAAQ,GAAG,GAAG,MAAM,cAAc,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,GAAG,GAAG,IAAI;AAG5F,QAAI,OAAc;AAClB,QAAI,WAAW,QAAQ,MAAM,GAAG;AAC9B,aAAO,CAAC;AACR,SAAG;AACD,cAAM,YAAY,cAAc,QAAQ,CAAC;AACzC,aAAK,KAAK,SAAS;AAAA,MACrB,SAAS,WAAW,QAAQ,MAAM;AAAA,IACpC;AACA,UAAM,OAAO;AAEb,WAAO,KAAK,KAAK;AACjB,UAAM,KAAK,KAAK;AAAA,EAClB;AAEA,SAAO;AACT;AAEO,SAAS,qBAAqB,QAAiC;AACpE,QAAM,SAAS,IAAI,aAAa;AAEhC,WAAS,IAAI,GAAG,IAAI,OAAO,UAAU;AACnC,QAAI,sBAAsB,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;AAAA,EAClD;AAEA,SAAO,OAAO,MAAM;AACtB;AAEA,SAAS,sBACP,QACA,OACA,QACA,OAGQ;AACR,QAAM,QAAQ,OAAO,KAAK;AAC1B,QAAM,EAAE,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,KAAK,IAAI;AAElF,MAAI,QAAQ,EAAG,QAAO,MAAM,KAAK;AAEjC,QAAM,CAAC,IAAI,cAAc,QAAQ,WAAW,MAAM,CAAC,CAAC;AACpD,gBAAc,QAAQ,aAAa,CAAC;AACpC,gBAAc,QAAQ,MAAM,CAAC;AAE7B,QAAM,SAAS,MAAM,WAAW,IAAI,IAAS;AAC7C,gBAAc,QAAQ,QAAQ,CAAC;AAC/B,MAAI,MAAM,WAAW,EAAG,eAAc,QAAQ,MAAM,CAAC,GAAG,CAAC;AAEzD,aAAW,KAAK,MAAM;AACpB,kBAAc,QAAQ,GAAG,CAAC;AAAA,EAC5B;AAEA,OAAK,SAAS,QAAQ,OAAO,UAAU;AACrC,UAAM,OAAO,OAAO,KAAK;AACzB,UAAM,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI;AACvB,QAAI,IAAI,WAAY,MAAM,WAAW,KAAK,WAAY;AACpD;AAAA,IACF;AACA,YAAQ,sBAAsB,QAAQ,OAAO,QAAQ,KAAK;AAAA,EAC5D;AAEA,SAAO,MAAM,KAAK;AAClB,QAAM,CAAC,IAAI,cAAc,QAAQ,SAAS,MAAM,CAAC,CAAC;AAClD,gBAAc,QAAQ,WAAW,CAAC;AAElC,SAAO;AACT;AAEO,SAAS,sBAAsB,OAAiC;AACrE,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,SAAS,IAAI,aAAa,KAAK;AACrC,QAAM,SAA2B,CAAC;AAClC,QAAM,QAA0B,CAAC;AAEjC,MAAI,UAAU;AACd,MAAI,yBAAyB;AAC7B,MAAI,uBAAuB;AAC3B,MAAI,uBAAuB;AAC3B,MAAI,eAAe;AACnB,MAAI,iBAAiB;AACrB,MAAI,cAAc;AAClB,MAAI,gBAAgB;AAEpB,KAAG;AACD,UAAM,OAAO,OAAO,QAAQ,GAAG;AAC/B,QAAI,YAAY;AAEhB,WAAO,OAAO,MAAM,MAAM,OAAO,OAAO;AACtC,kBAAY,cAAc,QAAQ,SAAS;AAE3C,UAAI,CAAC,WAAW,QAAQ,IAAI,GAAG;AAC7B,cAAM,OAAO,MAAM,IAAI;AACvB,aAAK,CAAC,IAAI;AACV,aAAK,CAAC,IAAI;AACV;AAAA,MACF;AAEA,YAAM,SAAS,cAAc,QAAQ,CAAC;AACtC,YAAM,gBAAgB,SAAS;AAC/B,YAAM,cAAc,SAAS;AAC7B,YAAM,WAAW,SAAS;AAE1B,UAAI,WAA4B;AAChC,UAAI,WAAsB;AAC1B,UAAI;AACJ,UAAI,eAAe;AACjB,cAAM,kBAAkB,cAAc,QAAQ,sBAAsB;AACpE,+BAAuB;AAAA,UACrB;AAAA,UACA,2BAA2B,kBAAkB,uBAAuB;AAAA,QACtE;AAEA,iCAAyB;AACzB,gBAAQ,CAAC,SAAS,WAAW,GAAG,GAAG,iBAAiB,oBAAoB;AAAA,MAC1E,OAAO;AACL,gBAAQ,CAAC,SAAS,WAAW,GAAG,CAAC;AAAA,MACnC;AAEA,YAAM,UAAU,CAAC,CAAC;AAElB,UAAI,aAAa;AACf,cAAM,UAAU;AAChB,cAAM,WAAW;AACjB,+BAAuB,cAAc,QAAQ,oBAAoB;AACjE,cAAM,aAAa,YAAY;AAC/B,uBAAe,cAAc,QAAQ,aAAa,eAAe,CAAC;AAClE,yBAAiB;AAAA,UACf;AAAA,UACA,cAAc,aAAa,eAAe,iBAAiB;AAAA,QAC7D;AAEA,mBAAW,CAAC,sBAAsB,cAAc,cAAc;AAAA,MAChE;AACA,YAAM,WAAW;AAEjB,UAAI,WAAW,QAAQ,IAAI,GAAG;AAC5B,mBAAW,CAAC;AACZ,WAAG;AACD,wBAAc;AACd,0BAAgB;AAChB,gBAAM,mBAAmB,cAAc,QAAQ,CAAC;AAChD,cAAI;AACJ,cAAI,mBAAmB,IAAI;AACzB,+BAAmB,CAAC,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC;AAC9C,qBAAS,IAAI,IAAI,IAAI,kBAAkB,KAAK;AAC1C,oBAAM,SAAS;AACf,4BAAc,cAAc,QAAQ,WAAW;AAC/C,8BAAgB,cAAc,QAAQ,gBAAgB,SAAS,gBAAgB,CAAC;AAChF,oBAAM,aAAa,cAAc,QAAQ,CAAC;AAC1C,+BAAiB,KAAK,CAAC,YAAY,aAAa,aAAa,CAAC;AAAA,YAChE;AAAA,UACF,OAAO;AACL,+BAAmB,CAAC,CAAC,gBAAgB,CAAC;AAAA,UACxC;AACA,mBAAS,KAAK,gBAAgB;AAAA,QAChC,SAAS,WAAW,QAAQ,IAAI;AAAA,MAClC;AACA,YAAM,WAAW;AAEjB,aAAO,KAAK,KAAK;AACjB,YAAM,KAAK,KAAK;AAAA,IAClB;AAEA;AACA,WAAO,MAAM,OAAO;AAAA,EACtB,SAAS,OAAO,MAAM;AAEtB,SAAO;AACT;AAEO,SAAS,sBAAsB,QAAkC;AACtE,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,SAAS,IAAI,aAAa;AAEhC,WAAS,IAAI,GAAG,IAAI,OAAO,UAAU;AACnC,QAAI,uBAAuB,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAAA,EACrE;AAEA,SAAO,OAAO,MAAM;AACtB;AAEA,SAAS,uBACP,QACA,OACA,QACA,OASQ;AACR,QAAM,QAAQ,OAAO,KAAK;AAC1B,QAAM;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,MAAM,CAAC,IAAI,WAAW;AACxB,gBAAY,QAAQ,MAAM,CAAC,GAAG,SAAS;AACvC,UAAM,CAAC,IAAI;AACX,UAAM,CAAC,IAAI;AAAA,EACb,WAAW,QAAQ,GAAG;AACpB,WAAO,MAAM,KAAK;AAAA,EACpB;AAEA,QAAM,CAAC,IAAI,cAAc,QAAQ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAEnD,QAAM,UACH,MAAM,WAAW,IAAI,IAAS,MAAM,WAAW,IAAS,MAAM,UAAU,IAAS;AACpF,gBAAc,QAAQ,QAAQ,CAAC;AAE/B,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,EAAE,GAAG,cAAc,GAAG,YAAY,IAAI;AAC5C,QAAI,iBAAiB,MAAM,CAAC,GAAG;AAC7B,YAAM,CAAC,IAAI;AAAA,IACb;AACA,UAAM,CAAC,IAAI,cAAc,QAAQ,cAAc,MAAM,CAAC,CAAC;AACvD,UAAM,CAAC,IAAI,cAAc,QAAQ,aAAa,MAAM,CAAC,CAAC;AAAA,EACxD;AAEA,MAAI,UAAU;AACZ,UAAM,EAAE,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,IAAI,MAAM;AAC9D,QAAI,iBAAiB,MAAM,CAAC,GAAG;AAC7B,YAAM,CAAC,IAAI;AACX,YAAM,CAAC,IAAI;AAAA,IACb,WAAW,aAAa,MAAM,CAAC,GAAG;AAChC,YAAM,CAAC,IAAI;AAAA,IACb;AACA,UAAM,CAAC,IAAI,cAAc,QAAQ,cAAc,MAAM,CAAC,CAAC;AACvD,UAAM,CAAC,IAAI,cAAc,QAAQ,UAAU,MAAM,CAAC,CAAC;AACnD,UAAM,CAAC,IAAI,cAAc,QAAQ,YAAY,MAAM,CAAC,CAAC;AAAA,EACvD;AAEA,MAAI,UAAU;AACZ,eAAW,WAAW,UAAU;AAC9B,UAAI,QAAQ,SAAS,EAAG,eAAc,QAAQ,CAAC,QAAQ,QAAQ,CAAC;AAChE,YAAM,aAAa,QAAQ,CAAC,EAAE,CAAC;AAC/B,oBAAc,QAAQ,YAAY,CAAC;AACnC,UAAI,mBAAmB;AACvB,UAAI,qBAAqB;AACzB,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,cAAM,WAAW,QAAQ,CAAC;AAC1B,2BAAmB,cAAc,QAAQ,SAAS,CAAC,GAAI,gBAAgB;AACvE,6BAAqB,cAAc,QAAQ,SAAS,CAAC,GAAI,kBAAkB;AAC3E,sBAAc,QAAQ,SAAS,CAAC,GAAI,CAAC;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AAEA,OAAK,SAAS,QAAQ,OAAO,UAAU;AACrC,UAAM,OAAO,OAAO,KAAK;AACzB,UAAM,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI;AACvB,QAAI,IAAI,WAAY,MAAM,WAAW,KAAK,WAAY;AACpD;AAAA,IACF;AACA,YAAQ,uBAAuB,QAAQ,OAAO,QAAQ,KAAK;AAAA,EAC7D;AAEA,MAAI,MAAM,CAAC,IAAI,SAAS;AACtB,gBAAY,QAAQ,MAAM,CAAC,GAAG,OAAO;AACrC,UAAM,CAAC,IAAI;AACX,UAAM,CAAC,IAAI;AAAA,EACb,OAAO;AACL,WAAO,MAAM,KAAK;AAAA,EACpB;AACA,QAAM,CAAC,IAAI,cAAc,QAAQ,WAAW,MAAM,CAAC,CAAC;AAEpD,SAAO;AACT;AAEA,SAAS,YAAY,QAAsB,UAAkB,MAAc;AACzE,KAAG;AACD,WAAO,MAAM,SAAS;AAAA,EACxB,SAAS,EAAE,WAAW;AACxB;;;ACtUO,SAAS,OAAO,UAAqC;AAC1D,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,SAAS,IAAI,aAAa,QAAQ;AACxC,QAAM,UAA6B,CAAC;AACpC,MAAI,YAAY;AAChB,MAAI,eAAe;AACnB,MAAI,aAAa;AACjB,MAAI,eAAe;AACnB,MAAI,aAAa;AAEjB,KAAG;AACD,UAAM,OAAO,OAAO,QAAQ,GAAG;AAC/B,UAAM,OAAsB,CAAC;AAC7B,QAAI,SAAS;AACb,QAAI,UAAU;AACd,gBAAY;AAEZ,WAAO,OAAO,MAAM,MAAM;AACxB,UAAI;AAEJ,kBAAY,cAAc,QAAQ,SAAS;AAC3C,UAAI,YAAY,QAAS,UAAS;AAClC,gBAAU;AAEV,UAAI,WAAW,QAAQ,IAAI,GAAG;AAC5B,uBAAe,cAAc,QAAQ,YAAY;AACjD,qBAAa,cAAc,QAAQ,UAAU;AAC7C,uBAAe,cAAc,QAAQ,YAAY;AAEjD,YAAI,WAAW,QAAQ,IAAI,GAAG;AAC5B,uBAAa,cAAc,QAAQ,UAAU;AAC7C,gBAAM,CAAC,WAAW,cAAc,YAAY,cAAc,UAAU;AAAA,QACtE,OAAO;AACL,gBAAM,CAAC,WAAW,cAAc,YAAY,YAAY;AAAA,QAC1D;AAAA,MACF,OAAO;AACL,cAAM,CAAC,SAAS;AAAA,MAClB;AAEA,WAAK,KAAK,GAAG;AACb,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,OAAQ,MAAK,IAAI;AACtB,YAAQ,KAAK,IAAI;AACjB,WAAO,MAAM,OAAO;AAAA,EACtB,SAAS,OAAO,OAAO;AAEvB,SAAO;AACT;AAEA,SAAS,KAAK,MAA0B;AACtC,OAAK,KAAK,cAAc;AAC1B;AAEA,SAAS,eAAe,GAAqB,GAA6B;AACxE,SAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACnB;AAIO,SAAS,OAAO,SAA8C;AACnE,QAAM,SAAS,IAAI,aAAa;AAChC,MAAI,eAAe;AACnB,MAAI,aAAa;AACjB,MAAI,eAAe;AACnB,MAAI,aAAa;AAEjB,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,UAAM,OAAO,QAAQ,CAAC;AACtB,QAAI,IAAI,EAAG,QAAO,MAAM,SAAS;AACjC,QAAI,KAAK,WAAW,EAAG;AAEvB,QAAI,YAAY;AAEhB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,UAAU,KAAK,CAAC;AACtB,UAAI,IAAI,EAAG,QAAO,MAAM,KAAK;AAE7B,kBAAY,cAAc,QAAQ,QAAQ,CAAC,GAAG,SAAS;AAEvD,UAAI,QAAQ,WAAW,EAAG;AAC1B,qBAAe,cAAc,QAAQ,QAAQ,CAAC,GAAG,YAAY;AAC7D,mBAAa,cAAc,QAAQ,QAAQ,CAAC,GAAG,UAAU;AACzD,qBAAe,cAAc,QAAQ,QAAQ,CAAC,GAAG,YAAY;AAE7D,UAAI,QAAQ,WAAW,EAAG;AAC1B,mBAAa,cAAc,QAAQ,QAAQ,CAAC,GAAG,UAAU;AAAA,IAC3D;AAAA,EACF;AAEA,SAAO,OAAO,MAAM;AACtB;", + "names": [] +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js new file mode 100644 index 0000000..2d8e459 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js @@ -0,0 +1,464 @@ +(function (global, factory) { + if (typeof exports === 'object' && typeof module !== 'undefined') { + factory(module); + module.exports = def(module); + } else if (typeof define === 'function' && define.amd) { + define(['module'], function(mod) { + factory.apply(this, arguments); + mod.exports = def(mod); + }); + } else { + const mod = { exports: {} }; + factory(mod); + global = typeof globalThis !== 'undefined' ? globalThis : global || self; + global.sourcemapCodec = def(mod); + } + function def(m) { return 'default' in m.exports ? m.exports.default : m.exports; } +})(this, (function (module) { +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/sourcemap-codec.ts +var sourcemap_codec_exports = {}; +__export(sourcemap_codec_exports, { + decode: () => decode, + decodeGeneratedRanges: () => decodeGeneratedRanges, + decodeOriginalScopes: () => decodeOriginalScopes, + encode: () => encode, + encodeGeneratedRanges: () => encodeGeneratedRanges, + encodeOriginalScopes: () => encodeOriginalScopes +}); +module.exports = __toCommonJS(sourcemap_codec_exports); + +// src/vlq.ts +var comma = ",".charCodeAt(0); +var semicolon = ";".charCodeAt(0); +var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var intToChar = new Uint8Array(64); +var charToInt = new Uint8Array(128); +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} +function decodeInteger(reader, relative) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -2147483648 | -value; + } + return relative + value; +} +function encodeInteger(builder, num, relative) { + let delta = num - relative; + delta = delta < 0 ? -delta << 1 | 1 : delta << 1; + do { + let clamped = delta & 31; + delta >>>= 5; + if (delta > 0) clamped |= 32; + builder.write(intToChar[clamped]); + } while (delta > 0); + return num; +} +function hasMoreVlq(reader, max) { + if (reader.pos >= max) return false; + return reader.peek() !== comma; +} + +// src/strings.ts +var bufLength = 1024 * 16; +var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { + decode(buf) { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + } +} : { + decode(buf) { + let out = ""; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + } +}; +var StringWriter = class { + constructor() { + this.pos = 0; + this.out = ""; + this.buffer = new Uint8Array(bufLength); + } + write(v) { + const { buffer } = this; + buffer[this.pos++] = v; + if (this.pos === bufLength) { + this.out += td.decode(buffer); + this.pos = 0; + } + } + flush() { + const { buffer, out, pos } = this; + return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out; + } +}; +var StringReader = class { + constructor(buffer) { + this.pos = 0; + this.buffer = buffer; + } + next() { + return this.buffer.charCodeAt(this.pos++); + } + peek() { + return this.buffer.charCodeAt(this.pos); + } + indexOf(char) { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +}; + +// src/scopes.ts +var EMPTY = []; +function decodeOriginalScopes(input) { + const { length } = input; + const reader = new StringReader(input); + const scopes = []; + const stack = []; + let line = 0; + for (; reader.pos < length; reader.pos++) { + line = decodeInteger(reader, line); + const column = decodeInteger(reader, 0); + if (!hasMoreVlq(reader, length)) { + const last = stack.pop(); + last[2] = line; + last[3] = column; + continue; + } + const kind = decodeInteger(reader, 0); + const fields = decodeInteger(reader, 0); + const hasName = fields & 1; + const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]; + let vars = EMPTY; + if (hasMoreVlq(reader, length)) { + vars = []; + do { + const varsIndex = decodeInteger(reader, 0); + vars.push(varsIndex); + } while (hasMoreVlq(reader, length)); + } + scope.vars = vars; + scopes.push(scope); + stack.push(scope); + } + return scopes; +} +function encodeOriginalScopes(scopes) { + const writer = new StringWriter(); + for (let i = 0; i < scopes.length; ) { + i = _encodeOriginalScopes(scopes, i, writer, [0]); + } + return writer.flush(); +} +function _encodeOriginalScopes(scopes, index, writer, state) { + const scope = scopes[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope; + if (index > 0) writer.write(comma); + state[0] = encodeInteger(writer, startLine, state[0]); + encodeInteger(writer, startColumn, 0); + encodeInteger(writer, kind, 0); + const fields = scope.length === 6 ? 1 : 0; + encodeInteger(writer, fields, 0); + if (scope.length === 6) encodeInteger(writer, scope[5], 0); + for (const v of vars) { + encodeInteger(writer, v, 0); + } + for (index++; index < scopes.length; ) { + const next = scopes[index]; + const { 0: l, 1: c } = next; + if (l > endLine || l === endLine && c >= endColumn) { + break; + } + index = _encodeOriginalScopes(scopes, index, writer, state); + } + writer.write(comma); + state[0] = encodeInteger(writer, endLine, state[0]); + encodeInteger(writer, endColumn, 0); + return index; +} +function decodeGeneratedRanges(input) { + const { length } = input; + const reader = new StringReader(input); + const ranges = []; + const stack = []; + let genLine = 0; + let definitionSourcesIndex = 0; + let definitionScopeIndex = 0; + let callsiteSourcesIndex = 0; + let callsiteLine = 0; + let callsiteColumn = 0; + let bindingLine = 0; + let bindingColumn = 0; + do { + const semi = reader.indexOf(";"); + let genColumn = 0; + for (; reader.pos < semi; reader.pos++) { + genColumn = decodeInteger(reader, genColumn); + if (!hasMoreVlq(reader, semi)) { + const last = stack.pop(); + last[2] = genLine; + last[3] = genColumn; + continue; + } + const fields = decodeInteger(reader, 0); + const hasDefinition = fields & 1; + const hasCallsite = fields & 2; + const hasScope = fields & 4; + let callsite = null; + let bindings = EMPTY; + let range; + if (hasDefinition) { + const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex); + definitionScopeIndex = decodeInteger( + reader, + definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0 + ); + definitionSourcesIndex = defSourcesIndex; + range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex]; + } else { + range = [genLine, genColumn, 0, 0]; + } + range.isScope = !!hasScope; + if (hasCallsite) { + const prevCsi = callsiteSourcesIndex; + const prevLine = callsiteLine; + callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex); + const sameSource = prevCsi === callsiteSourcesIndex; + callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0); + callsiteColumn = decodeInteger( + reader, + sameSource && prevLine === callsiteLine ? callsiteColumn : 0 + ); + callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn]; + } + range.callsite = callsite; + if (hasMoreVlq(reader, semi)) { + bindings = []; + do { + bindingLine = genLine; + bindingColumn = genColumn; + const expressionsCount = decodeInteger(reader, 0); + let expressionRanges; + if (expressionsCount < -1) { + expressionRanges = [[decodeInteger(reader, 0)]]; + for (let i = -1; i > expressionsCount; i--) { + const prevBl = bindingLine; + bindingLine = decodeInteger(reader, bindingLine); + bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0); + const expression = decodeInteger(reader, 0); + expressionRanges.push([expression, bindingLine, bindingColumn]); + } + } else { + expressionRanges = [[expressionsCount]]; + } + bindings.push(expressionRanges); + } while (hasMoreVlq(reader, semi)); + } + range.bindings = bindings; + ranges.push(range); + stack.push(range); + } + genLine++; + reader.pos = semi + 1; + } while (reader.pos < length); + return ranges; +} +function encodeGeneratedRanges(ranges) { + if (ranges.length === 0) return ""; + const writer = new StringWriter(); + for (let i = 0; i < ranges.length; ) { + i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]); + } + return writer.flush(); +} +function _encodeGeneratedRanges(ranges, index, writer, state) { + const range = ranges[index]; + const { + 0: startLine, + 1: startColumn, + 2: endLine, + 3: endColumn, + isScope, + callsite, + bindings + } = range; + if (state[0] < startLine) { + catchupLine(writer, state[0], startLine); + state[0] = startLine; + state[1] = 0; + } else if (index > 0) { + writer.write(comma); + } + state[1] = encodeInteger(writer, range[1], state[1]); + const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0); + encodeInteger(writer, fields, 0); + if (range.length === 6) { + const { 4: sourcesIndex, 5: scopesIndex } = range; + if (sourcesIndex !== state[2]) { + state[3] = 0; + } + state[2] = encodeInteger(writer, sourcesIndex, state[2]); + state[3] = encodeInteger(writer, scopesIndex, state[3]); + } + if (callsite) { + const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite; + if (sourcesIndex !== state[4]) { + state[5] = 0; + state[6] = 0; + } else if (callLine !== state[5]) { + state[6] = 0; + } + state[4] = encodeInteger(writer, sourcesIndex, state[4]); + state[5] = encodeInteger(writer, callLine, state[5]); + state[6] = encodeInteger(writer, callColumn, state[6]); + } + if (bindings) { + for (const binding of bindings) { + if (binding.length > 1) encodeInteger(writer, -binding.length, 0); + const expression = binding[0][0]; + encodeInteger(writer, expression, 0); + let bindingStartLine = startLine; + let bindingStartColumn = startColumn; + for (let i = 1; i < binding.length; i++) { + const expRange = binding[i]; + bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine); + bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn); + encodeInteger(writer, expRange[0], 0); + } + } + } + for (index++; index < ranges.length; ) { + const next = ranges[index]; + const { 0: l, 1: c } = next; + if (l > endLine || l === endLine && c >= endColumn) { + break; + } + index = _encodeGeneratedRanges(ranges, index, writer, state); + } + if (state[0] < endLine) { + catchupLine(writer, state[0], endLine); + state[0] = endLine; + state[1] = 0; + } else { + writer.write(comma); + } + state[1] = encodeInteger(writer, endColumn, state[1]); + return index; +} +function catchupLine(writer, lastLine, line) { + do { + writer.write(semicolon); + } while (++lastLine < line); +} + +// src/sourcemap-codec.ts +function decode(mappings) { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + do { + const semi = reader.indexOf(";"); + const line = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + while (reader.pos < semi) { + let seg; + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) sorted = false; + lastCol = genColumn; + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } else { + seg = [genColumn]; + } + line.push(seg); + reader.pos++; + } + if (!sorted) sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + return decoded; +} +function sort(line) { + line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[0] - b[0]; +} +function encode(decoded) { + const writer = new StringWriter(); + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) writer.write(semicolon); + if (line.length === 0) continue; + let genColumn = 0; + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + if (j > 0) writer.write(comma); + genColumn = encodeInteger(writer, segment[0], genColumn); + if (segment.length === 1) continue; + sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex); + sourceLine = encodeInteger(writer, segment[2], sourceLine); + sourceColumn = encodeInteger(writer, segment[3], sourceColumn); + if (segment.length === 4) continue; + namesIndex = encodeInteger(writer, segment[4], namesIndex); + } + } + return writer.flush(); +} +})); +//# sourceMappingURL=sourcemap-codec.umd.js.map diff --git a/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map new file mode 100644 index 0000000..abc18d2 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["../src/sourcemap-codec.ts", "../src/vlq.ts", "../src/strings.ts", "../src/scopes.ts"], + "mappings": "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", + "names": [] +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/package.json b/client/node_modules/@jridgewell/sourcemap-codec/package.json new file mode 100644 index 0000000..da55137 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/package.json @@ -0,0 +1,63 @@ +{ + "name": "@jridgewell/sourcemap-codec", + "version": "1.5.5", + "description": "Encode/decode sourcemap mappings", + "keywords": [ + "sourcemap", + "vlq" + ], + "main": "dist/sourcemap-codec.umd.js", + "module": "dist/sourcemap-codec.mjs", + "types": "types/sourcemap-codec.d.cts", + "files": [ + "dist", + "src", + "types" + ], + "exports": { + ".": [ + { + "import": { + "types": "./types/sourcemap-codec.d.mts", + "default": "./dist/sourcemap-codec.mjs" + }, + "default": { + "types": "./types/sourcemap-codec.d.cts", + "default": "./dist/sourcemap-codec.umd.js" + } + }, + "./dist/sourcemap-codec.umd.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "benchmark": "run-s build:code benchmark:*", + "benchmark:install": "cd benchmark && npm install", + "benchmark:only": "node --expose-gc benchmark/index.js", + "build": "run-s -n build:code build:types", + "build:code": "node ../../esbuild.mjs sourcemap-codec.ts", + "build:types": "run-s build:types:force build:types:emit build:types:mts", + "build:types:force": "rimraf tsconfig.build.tsbuildinfo", + "build:types:emit": "tsc --project tsconfig.build.json", + "build:types:mts": "node ../../mts-types.mjs", + "clean": "run-s -n clean:code clean:types", + "clean:code": "tsc --build --clean tsconfig.build.json", + "clean:types": "rimraf dist types", + "test": "run-s -n test:types test:only test:format", + "test:format": "prettier --check '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:types": "eslint '{src,test}/**/*.ts'", + "lint": "run-s -n lint:types lint:format", + "lint:format": "npm run test:format -- --write", + "lint:types": "npm run test:types -- --fix", + "prepublishOnly": "npm run-s -n build test" + }, + "homepage": "https://github.com/jridgewell/sourcemaps/tree/main/packages/sourcemap-codec", + "repository": { + "type": "git", + "url": "git+https://github.com/jridgewell/sourcemaps.git", + "directory": "packages/sourcemap-codec" + }, + "author": "Justin Ridgewell ", + "license": "MIT" +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts b/client/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts new file mode 100644 index 0000000..d194c2f --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts @@ -0,0 +1,345 @@ +import { StringReader, StringWriter } from './strings'; +import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq'; + +const EMPTY: any[] = []; + +type Line = number; +type Column = number; +type Kind = number; +type Name = number; +type Var = number; +type SourcesIndex = number; +type ScopesIndex = number; + +type Mix = (A & O) | (B & O); + +export type OriginalScope = Mix< + [Line, Column, Line, Column, Kind], + [Line, Column, Line, Column, Kind, Name], + { vars: Var[] } +>; + +export type GeneratedRange = Mix< + [Line, Column, Line, Column], + [Line, Column, Line, Column, SourcesIndex, ScopesIndex], + { + callsite: CallSite | null; + bindings: Binding[]; + isScope: boolean; + } +>; +export type CallSite = [SourcesIndex, Line, Column]; +type Binding = BindingExpressionRange[]; +export type BindingExpressionRange = [Name] | [Name, Line, Column]; + +export function decodeOriginalScopes(input: string): OriginalScope[] { + const { length } = input; + const reader = new StringReader(input); + const scopes: OriginalScope[] = []; + const stack: OriginalScope[] = []; + let line = 0; + + for (; reader.pos < length; reader.pos++) { + line = decodeInteger(reader, line); + const column = decodeInteger(reader, 0); + + if (!hasMoreVlq(reader, length)) { + const last = stack.pop()!; + last[2] = line; + last[3] = column; + continue; + } + + const kind = decodeInteger(reader, 0); + const fields = decodeInteger(reader, 0); + const hasName = fields & 0b0001; + + const scope: OriginalScope = ( + hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind] + ) as OriginalScope; + + let vars: Var[] = EMPTY; + if (hasMoreVlq(reader, length)) { + vars = []; + do { + const varsIndex = decodeInteger(reader, 0); + vars.push(varsIndex); + } while (hasMoreVlq(reader, length)); + } + scope.vars = vars; + + scopes.push(scope); + stack.push(scope); + } + + return scopes; +} + +export function encodeOriginalScopes(scopes: OriginalScope[]): string { + const writer = new StringWriter(); + + for (let i = 0; i < scopes.length; ) { + i = _encodeOriginalScopes(scopes, i, writer, [0]); + } + + return writer.flush(); +} + +function _encodeOriginalScopes( + scopes: OriginalScope[], + index: number, + writer: StringWriter, + state: [ + number, // GenColumn + ], +): number { + const scope = scopes[index]; + const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope; + + if (index > 0) writer.write(comma); + + state[0] = encodeInteger(writer, startLine, state[0]); + encodeInteger(writer, startColumn, 0); + encodeInteger(writer, kind, 0); + + const fields = scope.length === 6 ? 0b0001 : 0; + encodeInteger(writer, fields, 0); + if (scope.length === 6) encodeInteger(writer, scope[5], 0); + + for (const v of vars) { + encodeInteger(writer, v, 0); + } + + for (index++; index < scopes.length; ) { + const next = scopes[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeOriginalScopes(scopes, index, writer, state); + } + + writer.write(comma); + state[0] = encodeInteger(writer, endLine, state[0]); + encodeInteger(writer, endColumn, 0); + + return index; +} + +export function decodeGeneratedRanges(input: string): GeneratedRange[] { + const { length } = input; + const reader = new StringReader(input); + const ranges: GeneratedRange[] = []; + const stack: GeneratedRange[] = []; + + let genLine = 0; + let definitionSourcesIndex = 0; + let definitionScopeIndex = 0; + let callsiteSourcesIndex = 0; + let callsiteLine = 0; + let callsiteColumn = 0; + let bindingLine = 0; + let bindingColumn = 0; + + do { + const semi = reader.indexOf(';'); + let genColumn = 0; + + for (; reader.pos < semi; reader.pos++) { + genColumn = decodeInteger(reader, genColumn); + + if (!hasMoreVlq(reader, semi)) { + const last = stack.pop()!; + last[2] = genLine; + last[3] = genColumn; + continue; + } + + const fields = decodeInteger(reader, 0); + const hasDefinition = fields & 0b0001; + const hasCallsite = fields & 0b0010; + const hasScope = fields & 0b0100; + + let callsite: CallSite | null = null; + let bindings: Binding[] = EMPTY; + let range: GeneratedRange; + if (hasDefinition) { + const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex); + definitionScopeIndex = decodeInteger( + reader, + definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0, + ); + + definitionSourcesIndex = defSourcesIndex; + range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex] as GeneratedRange; + } else { + range = [genLine, genColumn, 0, 0] as GeneratedRange; + } + + range.isScope = !!hasScope; + + if (hasCallsite) { + const prevCsi = callsiteSourcesIndex; + const prevLine = callsiteLine; + callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex); + const sameSource = prevCsi === callsiteSourcesIndex; + callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0); + callsiteColumn = decodeInteger( + reader, + sameSource && prevLine === callsiteLine ? callsiteColumn : 0, + ); + + callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn]; + } + range.callsite = callsite; + + if (hasMoreVlq(reader, semi)) { + bindings = []; + do { + bindingLine = genLine; + bindingColumn = genColumn; + const expressionsCount = decodeInteger(reader, 0); + let expressionRanges: BindingExpressionRange[]; + if (expressionsCount < -1) { + expressionRanges = [[decodeInteger(reader, 0)]]; + for (let i = -1; i > expressionsCount; i--) { + const prevBl = bindingLine; + bindingLine = decodeInteger(reader, bindingLine); + bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0); + const expression = decodeInteger(reader, 0); + expressionRanges.push([expression, bindingLine, bindingColumn]); + } + } else { + expressionRanges = [[expressionsCount]]; + } + bindings.push(expressionRanges); + } while (hasMoreVlq(reader, semi)); + } + range.bindings = bindings; + + ranges.push(range); + stack.push(range); + } + + genLine++; + reader.pos = semi + 1; + } while (reader.pos < length); + + return ranges; +} + +export function encodeGeneratedRanges(ranges: GeneratedRange[]): string { + if (ranges.length === 0) return ''; + + const writer = new StringWriter(); + + for (let i = 0; i < ranges.length; ) { + i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]); + } + + return writer.flush(); +} + +function _encodeGeneratedRanges( + ranges: GeneratedRange[], + index: number, + writer: StringWriter, + state: [ + number, // GenLine + number, // GenColumn + number, // DefSourcesIndex + number, // DefScopesIndex + number, // CallSourcesIndex + number, // CallLine + number, // CallColumn + ], +): number { + const range = ranges[index]; + const { + 0: startLine, + 1: startColumn, + 2: endLine, + 3: endColumn, + isScope, + callsite, + bindings, + } = range; + + if (state[0] < startLine) { + catchupLine(writer, state[0], startLine); + state[0] = startLine; + state[1] = 0; + } else if (index > 0) { + writer.write(comma); + } + + state[1] = encodeInteger(writer, range[1], state[1]); + + const fields = + (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0); + encodeInteger(writer, fields, 0); + + if (range.length === 6) { + const { 4: sourcesIndex, 5: scopesIndex } = range; + if (sourcesIndex !== state[2]) { + state[3] = 0; + } + state[2] = encodeInteger(writer, sourcesIndex, state[2]); + state[3] = encodeInteger(writer, scopesIndex, state[3]); + } + + if (callsite) { + const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite!; + if (sourcesIndex !== state[4]) { + state[5] = 0; + state[6] = 0; + } else if (callLine !== state[5]) { + state[6] = 0; + } + state[4] = encodeInteger(writer, sourcesIndex, state[4]); + state[5] = encodeInteger(writer, callLine, state[5]); + state[6] = encodeInteger(writer, callColumn, state[6]); + } + + if (bindings) { + for (const binding of bindings) { + if (binding.length > 1) encodeInteger(writer, -binding.length, 0); + const expression = binding[0][0]; + encodeInteger(writer, expression, 0); + let bindingStartLine = startLine; + let bindingStartColumn = startColumn; + for (let i = 1; i < binding.length; i++) { + const expRange = binding[i]; + bindingStartLine = encodeInteger(writer, expRange[1]!, bindingStartLine); + bindingStartColumn = encodeInteger(writer, expRange[2]!, bindingStartColumn); + encodeInteger(writer, expRange[0]!, 0); + } + } + } + + for (index++; index < ranges.length; ) { + const next = ranges[index]; + const { 0: l, 1: c } = next; + if (l > endLine || (l === endLine && c >= endColumn)) { + break; + } + index = _encodeGeneratedRanges(ranges, index, writer, state); + } + + if (state[0] < endLine) { + catchupLine(writer, state[0], endLine); + state[0] = endLine; + state[1] = 0; + } else { + writer.write(comma); + } + state[1] = encodeInteger(writer, endColumn, state[1]); + + return index; +} + +function catchupLine(writer: StringWriter, lastLine: number, line: number) { + do { + writer.write(semicolon); + } while (++lastLine < line); +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts b/client/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts new file mode 100644 index 0000000..a81f894 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts @@ -0,0 +1,111 @@ +import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq'; +import { StringWriter, StringReader } from './strings'; + +export { + decodeOriginalScopes, + encodeOriginalScopes, + decodeGeneratedRanges, + encodeGeneratedRanges, +} from './scopes'; +export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes'; + +export type SourceMapSegment = + | [number] + | [number, number, number, number] + | [number, number, number, number, number]; +export type SourceMapLine = SourceMapSegment[]; +export type SourceMapMappings = SourceMapLine[]; + +export function decode(mappings: string): SourceMapMappings { + const { length } = mappings; + const reader = new StringReader(mappings); + const decoded: SourceMapMappings = []; + let genColumn = 0; + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + + do { + const semi = reader.indexOf(';'); + const line: SourceMapLine = []; + let sorted = true; + let lastCol = 0; + genColumn = 0; + + while (reader.pos < semi) { + let seg: SourceMapSegment; + + genColumn = decodeInteger(reader, genColumn); + if (genColumn < lastCol) sorted = false; + lastCol = genColumn; + + if (hasMoreVlq(reader, semi)) { + sourcesIndex = decodeInteger(reader, sourcesIndex); + sourceLine = decodeInteger(reader, sourceLine); + sourceColumn = decodeInteger(reader, sourceColumn); + + if (hasMoreVlq(reader, semi)) { + namesIndex = decodeInteger(reader, namesIndex); + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; + } else { + seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; + } + } else { + seg = [genColumn]; + } + + line.push(seg); + reader.pos++; + } + + if (!sorted) sort(line); + decoded.push(line); + reader.pos = semi + 1; + } while (reader.pos <= length); + + return decoded; +} + +function sort(line: SourceMapSegment[]) { + line.sort(sortComparator); +} + +function sortComparator(a: SourceMapSegment, b: SourceMapSegment): number { + return a[0] - b[0]; +} + +export function encode(decoded: SourceMapMappings): string; +export function encode(decoded: Readonly): string; +export function encode(decoded: Readonly): string { + const writer = new StringWriter(); + let sourcesIndex = 0; + let sourceLine = 0; + let sourceColumn = 0; + let namesIndex = 0; + + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + if (i > 0) writer.write(semicolon); + if (line.length === 0) continue; + + let genColumn = 0; + + for (let j = 0; j < line.length; j++) { + const segment = line[j]; + if (j > 0) writer.write(comma); + + genColumn = encodeInteger(writer, segment[0], genColumn); + + if (segment.length === 1) continue; + sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex); + sourceLine = encodeInteger(writer, segment[2], sourceLine); + sourceColumn = encodeInteger(writer, segment[3], sourceColumn); + + if (segment.length === 4) continue; + namesIndex = encodeInteger(writer, segment[4], namesIndex); + } + } + + return writer.flush(); +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/src/strings.ts b/client/node_modules/@jridgewell/sourcemap-codec/src/strings.ts new file mode 100644 index 0000000..d161965 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/src/strings.ts @@ -0,0 +1,65 @@ +const bufLength = 1024 * 16; + +// Provide a fallback for older environments. +const td = + typeof TextDecoder !== 'undefined' + ? /* #__PURE__ */ new TextDecoder() + : typeof Buffer !== 'undefined' + ? { + decode(buf: Uint8Array): string { + const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + }, + } + : { + decode(buf: Uint8Array): string { + let out = ''; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + }, + }; + +export class StringWriter { + pos = 0; + private out = ''; + private buffer = new Uint8Array(bufLength); + + write(v: number): void { + const { buffer } = this; + buffer[this.pos++] = v; + if (this.pos === bufLength) { + this.out += td.decode(buffer); + this.pos = 0; + } + } + + flush(): string { + const { buffer, out, pos } = this; + return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out; + } +} + +export class StringReader { + pos = 0; + declare private buffer: string; + + constructor(buffer: string) { + this.buffer = buffer; + } + + next(): number { + return this.buffer.charCodeAt(this.pos++); + } + + peek(): number { + return this.buffer.charCodeAt(this.pos); + } + + indexOf(char: string): number { + const { buffer, pos } = this; + const idx = buffer.indexOf(char, pos); + return idx === -1 ? buffer.length : idx; + } +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts b/client/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts new file mode 100644 index 0000000..a42c681 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts @@ -0,0 +1,55 @@ +import type { StringReader, StringWriter } from './strings'; + +export const comma = ','.charCodeAt(0); +export const semicolon = ';'.charCodeAt(0); + +const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +const intToChar = new Uint8Array(64); // 64 possible chars. +const charToInt = new Uint8Array(128); // z is 122 in ASCII + +for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; +} + +export function decodeInteger(reader: StringReader, relative: number): number { + let value = 0; + let shift = 0; + let integer = 0; + + do { + const c = reader.next(); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + + const shouldNegate = value & 1; + value >>>= 1; + + if (shouldNegate) { + value = -0x80000000 | -value; + } + + return relative + value; +} + +export function encodeInteger(builder: StringWriter, num: number, relative: number): number { + let delta = num - relative; + + delta = delta < 0 ? (-delta << 1) | 1 : delta << 1; + do { + let clamped = delta & 0b011111; + delta >>>= 5; + if (delta > 0) clamped |= 0b100000; + builder.write(intToChar[clamped]); + } while (delta > 0); + + return num; +} + +export function hasMoreVlq(reader: StringReader, max: number) { + if (reader.pos >= max) return false; + return reader.peek() !== comma; +} diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts new file mode 100644 index 0000000..c583c75 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts @@ -0,0 +1,50 @@ +type Line = number; +type Column = number; +type Kind = number; +type Name = number; +type Var = number; +type SourcesIndex = number; +type ScopesIndex = number; +type Mix = (A & O) | (B & O); +export type OriginalScope = Mix<[ + Line, + Column, + Line, + Column, + Kind +], [ + Line, + Column, + Line, + Column, + Kind, + Name +], { + vars: Var[]; +}>; +export type GeneratedRange = Mix<[ + Line, + Column, + Line, + Column +], [ + Line, + Column, + Line, + Column, + SourcesIndex, + ScopesIndex +], { + callsite: CallSite | null; + bindings: Binding[]; + isScope: boolean; +}>; +export type CallSite = [SourcesIndex, Line, Column]; +type Binding = BindingExpressionRange[]; +export type BindingExpressionRange = [Name] | [Name, Line, Column]; +export declare function decodeOriginalScopes(input: string): OriginalScope[]; +export declare function encodeOriginalScopes(scopes: OriginalScope[]): string; +export declare function decodeGeneratedRanges(input: string): GeneratedRange[]; +export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string; +export {}; +//# sourceMappingURL=scopes.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map new file mode 100644 index 0000000..630e647 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,MAAM,GAAG,MAAM,CAAC;AACrB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;CAAC,EAClC;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,IAAI;CAAC,EACxC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,GAAG,CAC9B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;CAAC,EAC5B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,YAAY;IAAE,WAAW;CAAC,EACvD;IACE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CACF,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACpD,KAAK,OAAO,GAAG,sBAAsB,EAAE,CAAC;AACxC,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAyCnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAQpE;AA2CD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAoGrE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAUtE"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts new file mode 100644 index 0000000..c583c75 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts @@ -0,0 +1,50 @@ +type Line = number; +type Column = number; +type Kind = number; +type Name = number; +type Var = number; +type SourcesIndex = number; +type ScopesIndex = number; +type Mix = (A & O) | (B & O); +export type OriginalScope = Mix<[ + Line, + Column, + Line, + Column, + Kind +], [ + Line, + Column, + Line, + Column, + Kind, + Name +], { + vars: Var[]; +}>; +export type GeneratedRange = Mix<[ + Line, + Column, + Line, + Column +], [ + Line, + Column, + Line, + Column, + SourcesIndex, + ScopesIndex +], { + callsite: CallSite | null; + bindings: Binding[]; + isScope: boolean; +}>; +export type CallSite = [SourcesIndex, Line, Column]; +type Binding = BindingExpressionRange[]; +export type BindingExpressionRange = [Name] | [Name, Line, Column]; +export declare function decodeOriginalScopes(input: string): OriginalScope[]; +export declare function encodeOriginalScopes(scopes: OriginalScope[]): string; +export declare function decodeGeneratedRanges(input: string): GeneratedRange[]; +export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string; +export {}; +//# sourceMappingURL=scopes.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map new file mode 100644 index 0000000..630e647 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,MAAM,GAAG,MAAM,CAAC;AACrB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,IAAI,GAAG,MAAM,CAAC;AACnB,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;CAAC,EAClC;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,IAAI;CAAC,EACxC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,GAAG,CAC9B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;CAAC,EAC5B;IAAC,IAAI;IAAE,MAAM;IAAE,IAAI;IAAE,MAAM;IAAE,YAAY;IAAE,WAAW;CAAC,EACvD;IACE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,CACF,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACpD,KAAK,OAAO,GAAG,sBAAsB,EAAE,CAAC;AACxC,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAyCnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAQpE;AA2CD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAoGrE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAUtE"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts new file mode 100644 index 0000000..5f35e22 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts @@ -0,0 +1,9 @@ +export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes.cts'; +export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes.cts'; +export type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number]; +export type SourceMapLine = SourceMapSegment[]; +export type SourceMapMappings = SourceMapLine[]; +export declare function decode(mappings: string): SourceMapMappings; +export declare function encode(decoded: SourceMapMappings): string; +export declare function encode(decoded: Readonly): string; +//# sourceMappingURL=sourcemap-codec.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map new file mode 100644 index 0000000..7123d52 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-codec.d.ts","sourceRoot":"","sources":["../src/sourcemap-codec.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,gBAAgB,GACxB,CAAC,MAAM,CAAC,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAiD1D;AAUD,wBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC3D,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts new file mode 100644 index 0000000..199fb9f --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts @@ -0,0 +1,9 @@ +export { decodeOriginalScopes, encodeOriginalScopes, decodeGeneratedRanges, encodeGeneratedRanges, } from './scopes.mts'; +export type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes.mts'; +export type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number]; +export type SourceMapLine = SourceMapSegment[]; +export type SourceMapMappings = SourceMapLine[]; +export declare function decode(mappings: string): SourceMapMappings; +export declare function encode(decoded: SourceMapMappings): string; +export declare function encode(decoded: Readonly): string; +//# sourceMappingURL=sourcemap-codec.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map new file mode 100644 index 0000000..7123d52 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-codec.d.ts","sourceRoot":"","sources":["../src/sourcemap-codec.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,gBAAgB,GACxB,CAAC,MAAM,CAAC,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAiD1D;AAUD,wBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC;AAC3D,wBAAgB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts new file mode 100644 index 0000000..62faceb --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts @@ -0,0 +1,16 @@ +export declare class StringWriter { + pos: number; + private out; + private buffer; + write(v: number): void; + flush(): string; +} +export declare class StringReader { + pos: number; + private buffer; + constructor(buffer: string); + next(): number; + peek(): number; + indexOf(char: string): number; +} +//# sourceMappingURL=strings.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map new file mode 100644 index 0000000..d3602da --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAuBA,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAA6B;IAE3C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,KAAK,IAAI,MAAM;CAIhB;AAED,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,QAAgB,MAAM,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAI1B,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAK9B"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts new file mode 100644 index 0000000..62faceb --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts @@ -0,0 +1,16 @@ +export declare class StringWriter { + pos: number; + private out; + private buffer; + write(v: number): void; + flush(): string; +} +export declare class StringReader { + pos: number; + private buffer; + constructor(buffer: string); + next(): number; + peek(): number; + indexOf(char: string): number; +} +//# sourceMappingURL=strings.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map new file mode 100644 index 0000000..d3602da --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAuBA,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAA6B;IAE3C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAStB,KAAK,IAAI,MAAM;CAIhB;AAED,qBAAa,YAAY;IACvB,GAAG,SAAK;IACR,QAAgB,MAAM,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAI1B,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAK9B"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts new file mode 100644 index 0000000..dbd6602 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts @@ -0,0 +1,7 @@ +import type { StringReader, StringWriter } from './strings.cts'; +export declare const comma: number; +export declare const semicolon: number; +export declare function decodeInteger(reader: StringReader, relative: number): number; +export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number; +export declare function hasMoreVlq(reader: StringReader, max: number): boolean; +//# sourceMappingURL=vlq.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map new file mode 100644 index 0000000..6fdc356 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"vlq.d.ts","sourceRoot":"","sources":["../src/vlq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,eAAO,MAAM,KAAK,QAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,QAAoB,CAAC;AAY3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY1F;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAG3D"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts new file mode 100644 index 0000000..2c739bc --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts @@ -0,0 +1,7 @@ +import type { StringReader, StringWriter } from './strings.mts'; +export declare const comma: number; +export declare const semicolon: number; +export declare function decodeInteger(reader: StringReader, relative: number): number; +export declare function encodeInteger(builder: StringWriter, num: number, relative: number): number; +export declare function hasMoreVlq(reader: StringReader, max: number): boolean; +//# sourceMappingURL=vlq.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map new file mode 100644 index 0000000..6fdc356 --- /dev/null +++ b/client/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"vlq.d.ts","sourceRoot":"","sources":["../src/vlq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,eAAO,MAAM,KAAK,QAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,QAAoB,CAAC;AAY3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY1F;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAG3D"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/LICENSE b/client/node_modules/@jridgewell/trace-mapping/LICENSE new file mode 100644 index 0000000..1f6ce94 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/LICENSE @@ -0,0 +1,19 @@ +Copyright 2024 Justin Ridgewell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/client/node_modules/@jridgewell/trace-mapping/README.md b/client/node_modules/@jridgewell/trace-mapping/README.md new file mode 100644 index 0000000..9fc0ed0 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/README.md @@ -0,0 +1,348 @@ +# @jridgewell/trace-mapping + +> Trace the original position through a source map + +`trace-mapping` allows you to take the line and column of an output file and trace it to the +original location in the source file through a source map. + +You may already be familiar with the [`source-map`][source-map] package's `SourceMapConsumer`. This +provides the same `originalPositionFor` and `generatedPositionFor` API, without requiring WASM. + +## Installation + +```sh +npm install @jridgewell/trace-mapping +``` + +## Usage + +```typescript +import { + TraceMap, + originalPositionFor, + generatedPositionFor, + sourceContentFor, + isIgnored, +} from '@jridgewell/trace-mapping'; + +const tracer = new TraceMap({ + version: 3, + sources: ['input.js'], + sourcesContent: ['content of input.js'], + names: ['foo'], + mappings: 'KAyCIA', + ignoreList: [], +}); + +// Lines start at line 1, columns at column 0. +const traced = originalPositionFor(tracer, { line: 1, column: 5 }); +assert.deepEqual(traced, { + source: 'input.js', + line: 42, + column: 4, + name: 'foo', +}); + +const content = sourceContentFor(tracer, traced.source); +assert.strictEqual(content, 'content for input.js'); + +const generated = generatedPositionFor(tracer, { + source: 'input.js', + line: 42, + column: 4, +}); +assert.deepEqual(generated, { + line: 1, + column: 5, +}); + +const ignored = isIgnored(tracer, 'input.js'); +assert.equal(ignored, false); +``` + +We also provide a lower level API to get the actual segment that matches our line and column. Unlike +`originalPositionFor`, `traceSegment` uses a 0-base for `line`: + +```typescript +import { traceSegment } from '@jridgewell/trace-mapping'; + +// line is 0-base. +const traced = traceSegment(tracer, /* line */ 0, /* column */ 5); + +// Segments are [outputColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] +// Again, line is 0-base and so is sourceLine +assert.deepEqual(traced, [5, 0, 41, 4, 0]); +``` + +### SectionedSourceMaps + +The sourcemap spec defines a special `sections` field that's designed to handle concatenation of +output code with associated sourcemaps. This type of sourcemap is rarely used (no major build tool +produces it), but if you are hand coding a concatenation you may need it. We provide an `AnyMap` +helper that can receive either a regular sourcemap or a `SectionedSourceMap` and returns a +`TraceMap` instance: + +```typescript +import { AnyMap } from '@jridgewell/trace-mapping'; +const fooOutput = 'foo'; +const barOutput = 'bar'; +const output = [fooOutput, barOutput].join('\n'); + +const sectioned = new AnyMap({ + version: 3, + sections: [ + { + // 0-base line and column + offset: { line: 0, column: 0 }, + // fooOutput's sourcemap + map: { + version: 3, + sources: ['foo.js'], + names: ['foo'], + mappings: 'AAAAA', + }, + }, + { + // barOutput's sourcemap will not affect the first line, only the second + offset: { line: 1, column: 0 }, + map: { + version: 3, + sources: ['bar.js'], + names: ['bar'], + mappings: 'AAAAA', + }, + }, + ], +}); + +const traced = originalPositionFor(sectioned, { + line: 2, + column: 0, +}); + +assert.deepEqual(traced, { + source: 'bar.js', + line: 1, + column: 0, + name: 'bar', +}); +``` + +## Benchmarks + +``` +node v20.10.0 + +amp.js.map - 45120 segments + +Memory Usage: +trace-mapping decoded 414164 bytes +trace-mapping encoded 6274352 bytes +source-map-js 10968904 bytes +source-map-0.6.1 17587160 bytes +source-map-0.8.0 8812155 bytes +Chrome dev tools 8672912 bytes +Smallest memory usage is trace-mapping decoded + +Init speed: +trace-mapping: decoded JSON input x 205 ops/sec ±0.19% (88 runs sampled) +trace-mapping: encoded JSON input x 405 ops/sec ±1.47% (88 runs sampled) +trace-mapping: decoded Object input x 4,645 ops/sec ±0.15% (98 runs sampled) +trace-mapping: encoded Object input x 458 ops/sec ±1.63% (91 runs sampled) +source-map-js: encoded Object input x 75.48 ops/sec ±1.64% (67 runs sampled) +source-map-0.6.1: encoded Object input x 39.37 ops/sec ±1.44% (53 runs sampled) +Chrome dev tools: encoded Object input x 150 ops/sec ±1.76% (79 runs sampled) +Fastest is trace-mapping: decoded Object input + +Trace speed (random): +trace-mapping: decoded originalPositionFor x 44,946 ops/sec ±0.16% (99 runs sampled) +trace-mapping: encoded originalPositionFor x 37,995 ops/sec ±1.81% (89 runs sampled) +source-map-js: encoded originalPositionFor x 9,230 ops/sec ±1.36% (93 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 8,057 ops/sec ±0.84% (96 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 28,198 ops/sec ±1.12% (91 runs sampled) +Chrome dev tools: encoded originalPositionFor x 46,276 ops/sec ±1.35% (95 runs sampled) +Fastest is Chrome dev tools: encoded originalPositionFor + +Trace speed (ascending): +trace-mapping: decoded originalPositionFor x 204,406 ops/sec ±0.19% (97 runs sampled) +trace-mapping: encoded originalPositionFor x 196,695 ops/sec ±0.24% (99 runs sampled) +source-map-js: encoded originalPositionFor x 11,948 ops/sec ±0.94% (99 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 10,730 ops/sec ±0.36% (100 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 51,427 ops/sec ±0.21% (98 runs sampled) +Chrome dev tools: encoded originalPositionFor x 162,615 ops/sec ±0.18% (98 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + + +*** + + +babel.min.js.map - 347793 segments + +Memory Usage: +trace-mapping decoded 18504 bytes +trace-mapping encoded 35428008 bytes +source-map-js 51676808 bytes +source-map-0.6.1 63367136 bytes +source-map-0.8.0 43158400 bytes +Chrome dev tools 50721552 bytes +Smallest memory usage is trace-mapping decoded + +Init speed: +trace-mapping: decoded JSON input x 17.82 ops/sec ±6.35% (35 runs sampled) +trace-mapping: encoded JSON input x 31.57 ops/sec ±7.50% (43 runs sampled) +trace-mapping: decoded Object input x 867 ops/sec ±0.74% (94 runs sampled) +trace-mapping: encoded Object input x 33.83 ops/sec ±7.66% (46 runs sampled) +source-map-js: encoded Object input x 6.58 ops/sec ±3.31% (20 runs sampled) +source-map-0.6.1: encoded Object input x 4.23 ops/sec ±3.43% (15 runs sampled) +Chrome dev tools: encoded Object input x 22.14 ops/sec ±3.79% (41 runs sampled) +Fastest is trace-mapping: decoded Object input + +Trace speed (random): +trace-mapping: decoded originalPositionFor x 78,234 ops/sec ±1.48% (29 runs sampled) +trace-mapping: encoded originalPositionFor x 60,761 ops/sec ±1.35% (21 runs sampled) +source-map-js: encoded originalPositionFor x 51,448 ops/sec ±2.17% (89 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 47,221 ops/sec ±1.99% (15 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 84,002 ops/sec ±1.45% (27 runs sampled) +Chrome dev tools: encoded originalPositionFor x 106,457 ops/sec ±1.38% (37 runs sampled) +Fastest is Chrome dev tools: encoded originalPositionFor + +Trace speed (ascending): +trace-mapping: decoded originalPositionFor x 930,943 ops/sec ±0.25% (99 runs sampled) +trace-mapping: encoded originalPositionFor x 843,545 ops/sec ±0.34% (97 runs sampled) +source-map-js: encoded originalPositionFor x 114,510 ops/sec ±1.37% (36 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 87,412 ops/sec ±0.72% (92 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 197,709 ops/sec ±0.89% (59 runs sampled) +Chrome dev tools: encoded originalPositionFor x 688,983 ops/sec ±0.33% (98 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + + +*** + + +preact.js.map - 1992 segments + +Memory Usage: +trace-mapping decoded 33136 bytes +trace-mapping encoded 254240 bytes +source-map-js 837488 bytes +source-map-0.6.1 961928 bytes +source-map-0.8.0 54384 bytes +Chrome dev tools 709680 bytes +Smallest memory usage is trace-mapping decoded + +Init speed: +trace-mapping: decoded JSON input x 3,709 ops/sec ±0.13% (99 runs sampled) +trace-mapping: encoded JSON input x 6,447 ops/sec ±0.22% (101 runs sampled) +trace-mapping: decoded Object input x 83,062 ops/sec ±0.23% (100 runs sampled) +trace-mapping: encoded Object input x 14,980 ops/sec ±0.28% (100 runs sampled) +source-map-js: encoded Object input x 2,544 ops/sec ±0.16% (99 runs sampled) +source-map-0.6.1: encoded Object input x 1,221 ops/sec ±0.37% (97 runs sampled) +Chrome dev tools: encoded Object input x 4,241 ops/sec ±0.39% (93 runs sampled) +Fastest is trace-mapping: decoded Object input + +Trace speed (random): +trace-mapping: decoded originalPositionFor x 91,028 ops/sec ±0.14% (94 runs sampled) +trace-mapping: encoded originalPositionFor x 84,348 ops/sec ±0.26% (98 runs sampled) +source-map-js: encoded originalPositionFor x 26,998 ops/sec ±0.23% (98 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 18,049 ops/sec ±0.26% (100 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 41,916 ops/sec ±0.28% (98 runs sampled) +Chrome dev tools: encoded originalPositionFor x 88,616 ops/sec ±0.14% (98 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + +Trace speed (ascending): +trace-mapping: decoded originalPositionFor x 319,960 ops/sec ±0.16% (100 runs sampled) +trace-mapping: encoded originalPositionFor x 302,153 ops/sec ±0.18% (100 runs sampled) +source-map-js: encoded originalPositionFor x 35,574 ops/sec ±0.19% (100 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 19,943 ops/sec ±0.12% (101 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 54,648 ops/sec ±0.20% (99 runs sampled) +Chrome dev tools: encoded originalPositionFor x 278,319 ops/sec ±0.17% (102 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + + +*** + + +react.js.map - 5726 segments + +Memory Usage: +trace-mapping decoded 10872 bytes +trace-mapping encoded 681512 bytes +source-map-js 2563944 bytes +source-map-0.6.1 2150864 bytes +source-map-0.8.0 88680 bytes +Chrome dev tools 1149576 bytes +Smallest memory usage is trace-mapping decoded + +Init speed: +trace-mapping: decoded JSON input x 1,887 ops/sec ±0.28% (99 runs sampled) +trace-mapping: encoded JSON input x 4,749 ops/sec ±0.48% (97 runs sampled) +trace-mapping: decoded Object input x 74,236 ops/sec ±0.11% (99 runs sampled) +trace-mapping: encoded Object input x 5,752 ops/sec ±0.38% (100 runs sampled) +source-map-js: encoded Object input x 806 ops/sec ±0.19% (97 runs sampled) +source-map-0.6.1: encoded Object input x 418 ops/sec ±0.33% (94 runs sampled) +Chrome dev tools: encoded Object input x 1,524 ops/sec ±0.57% (92 runs sampled) +Fastest is trace-mapping: decoded Object input + +Trace speed (random): +trace-mapping: decoded originalPositionFor x 620,201 ops/sec ±0.33% (96 runs sampled) +trace-mapping: encoded originalPositionFor x 579,548 ops/sec ±0.35% (97 runs sampled) +source-map-js: encoded originalPositionFor x 230,983 ops/sec ±0.62% (54 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 158,145 ops/sec ±0.80% (46 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 343,801 ops/sec ±0.55% (96 runs sampled) +Chrome dev tools: encoded originalPositionFor x 659,649 ops/sec ±0.49% (98 runs sampled) +Fastest is Chrome dev tools: encoded originalPositionFor + +Trace speed (ascending): +trace-mapping: decoded originalPositionFor x 2,368,079 ops/sec ±0.32% (98 runs sampled) +trace-mapping: encoded originalPositionFor x 2,134,039 ops/sec ±2.72% (87 runs sampled) +source-map-js: encoded originalPositionFor x 290,120 ops/sec ±2.49% (82 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 187,613 ops/sec ±0.86% (49 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 479,569 ops/sec ±0.65% (96 runs sampled) +Chrome dev tools: encoded originalPositionFor x 2,048,414 ops/sec ±0.24% (98 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + + +*** + + +vscode.map - 2141001 segments + +Memory Usage: +trace-mapping decoded 5206584 bytes +trace-mapping encoded 208370336 bytes +source-map-js 278493008 bytes +source-map-0.6.1 391564048 bytes +source-map-0.8.0 257508787 bytes +Chrome dev tools 291053000 bytes +Smallest memory usage is trace-mapping decoded + +Init speed: +trace-mapping: decoded JSON input x 1.63 ops/sec ±33.88% (9 runs sampled) +trace-mapping: encoded JSON input x 3.29 ops/sec ±36.13% (13 runs sampled) +trace-mapping: decoded Object input x 103 ops/sec ±0.93% (77 runs sampled) +trace-mapping: encoded Object input x 5.42 ops/sec ±28.54% (19 runs sampled) +source-map-js: encoded Object input x 1.07 ops/sec ±13.84% (7 runs sampled) +source-map-0.6.1: encoded Object input x 0.60 ops/sec ±2.43% (6 runs sampled) +Chrome dev tools: encoded Object input x 2.61 ops/sec ±22.00% (11 runs sampled) +Fastest is trace-mapping: decoded Object input + +Trace speed (random): +trace-mapping: decoded originalPositionFor x 257,019 ops/sec ±0.97% (93 runs sampled) +trace-mapping: encoded originalPositionFor x 179,163 ops/sec ±0.83% (92 runs sampled) +source-map-js: encoded originalPositionFor x 73,337 ops/sec ±1.35% (87 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 38,797 ops/sec ±1.66% (88 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 107,758 ops/sec ±1.94% (45 runs sampled) +Chrome dev tools: encoded originalPositionFor x 188,550 ops/sec ±1.85% (79 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor + +Trace speed (ascending): +trace-mapping: decoded originalPositionFor x 447,621 ops/sec ±3.64% (94 runs sampled) +trace-mapping: encoded originalPositionFor x 323,698 ops/sec ±5.20% (88 runs sampled) +source-map-js: encoded originalPositionFor x 78,387 ops/sec ±1.69% (89 runs sampled) +source-map-0.6.1: encoded originalPositionFor x 41,016 ops/sec ±3.01% (25 runs sampled) +source-map-0.8.0: encoded originalPositionFor x 124,204 ops/sec ±0.90% (92 runs sampled) +Chrome dev tools: encoded originalPositionFor x 230,087 ops/sec ±2.61% (93 runs sampled) +Fastest is trace-mapping: decoded originalPositionFor +``` + +[source-map]: https://www.npmjs.com/package/source-map diff --git a/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs new file mode 100644 index 0000000..73a95c7 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs @@ -0,0 +1,493 @@ +// src/trace-mapping.ts +import { encode, decode } from "@jridgewell/sourcemap-codec"; + +// src/resolve.ts +import resolveUri from "@jridgewell/resolve-uri"; + +// src/strip-filename.ts +function stripFilename(path) { + if (!path) return ""; + const index = path.lastIndexOf("/"); + return path.slice(0, index + 1); +} + +// src/resolve.ts +function resolver(mapUrl, sourceRoot) { + const from = stripFilename(mapUrl); + const prefix = sourceRoot ? sourceRoot + "/" : ""; + return (source) => resolveUri(prefix + (source || ""), from); +} + +// src/sourcemap-segment.ts +var COLUMN = 0; +var SOURCES_INDEX = 1; +var SOURCE_LINE = 2; +var SOURCE_COLUMN = 3; +var NAMES_INDEX = 4; +var REV_GENERATED_LINE = 1; +var REV_GENERATED_COLUMN = 2; + +// src/sort.ts +function maybeSort(mappings, owned) { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) return mappings; + if (!owned) mappings = mappings.slice(); + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; +} +function nextUnsortedSegmentLine(mappings, start) { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) return i; + } + return mappings.length; +} +function isSorted(line) { + for (let j = 1; j < line.length; j++) { + if (line[j][COLUMN] < line[j - 1][COLUMN]) { + return false; + } + } + return true; +} +function sortSegments(line, owned) { + if (!owned) line = line.slice(); + return line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[COLUMN] - b[COLUMN]; +} + +// src/by-source.ts +function buildBySources(decoded, memos) { + const sources = memos.map(() => []); + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + if (seg.length === 1) continue; + const sourceIndex2 = seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + const source = sources[sourceIndex2]; + const segs = source[sourceLine] || (source[sourceLine] = []); + segs.push([sourceColumn, i, seg[COLUMN]]); + } + } + for (let i = 0; i < sources.length; i++) { + const source = sources[i]; + for (let j = 0; j < source.length; j++) { + const line = source[j]; + if (line) line.sort(sortComparator); + } + } + return sources; +} + +// src/binary-search.ts +var found = false; +function binarySearch(haystack, needle, low, high) { + while (low <= high) { + const mid = low + (high - low >> 1); + const cmp = haystack[mid][COLUMN] - needle; + if (cmp === 0) { + found = true; + return mid; + } + if (cmp < 0) { + low = mid + 1; + } else { + high = mid - 1; + } + } + found = false; + return low - 1; +} +function upperBound(haystack, needle, index) { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} +function lowerBound(haystack, needle, index) { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} +function memoizedState() { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1 + }; +} +function memoizedBinarySearch(haystack, needle, state, key) { + const { lastKey, lastNeedle, lastIndex } = state; + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + if (needle >= lastNeedle) { + low = lastIndex === -1 ? 0 : lastIndex; + } else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + return state.lastIndex = binarySearch(haystack, needle, low, high); +} + +// src/types.ts +function parse(map) { + return typeof map === "string" ? JSON.parse(map) : map; +} + +// src/flatten-map.ts +var FlattenMap = function(map, mapUrl) { + const parsed = parse(map); + if (!("sections" in parsed)) { + return new TraceMap(parsed, mapUrl); + } + const mappings = []; + const sources = []; + const sourcesContent = []; + const names = []; + const ignoreList = []; + recurse( + parsed, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + 0, + 0, + Infinity, + Infinity + ); + const joined = { + version: 3, + file: parsed.file, + names, + sources, + sourcesContent, + mappings, + ignoreList + }; + return presortedDecodedMap(joined); +}; +function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) { + const { sections } = input; + for (let i = 0; i < sections.length; i++) { + const { map, offset } = sections[i]; + let sl = stopLine; + let sc = stopColumn; + if (i + 1 < sections.length) { + const nextOffset = sections[i + 1].offset; + sl = Math.min(stopLine, lineOffset + nextOffset.line); + if (sl === stopLine) { + sc = Math.min(stopColumn, columnOffset + nextOffset.column); + } else if (sl < stopLine) { + sc = columnOffset + nextOffset.column; + } + } + addSection( + map, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + lineOffset + offset.line, + columnOffset + offset.column, + sl, + sc + ); + } +} +function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) { + const parsed = parse(input); + if ("sections" in parsed) return recurse(...arguments); + const map = new TraceMap(parsed, mapUrl); + const sourcesOffset = sources.length; + const namesOffset = names.length; + const decoded = decodedMappings(map); + const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map; + append(sources, resolvedSources); + append(names, map.names); + if (contents) append(sourcesContent, contents); + else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null); + if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset); + for (let i = 0; i < decoded.length; i++) { + const lineI = lineOffset + i; + if (lineI > stopLine) return; + const out = getLine(mappings, lineI); + const cOffset = i === 0 ? columnOffset : 0; + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const column = cOffset + seg[COLUMN]; + if (lineI === stopLine && column >= stopColumn) return; + if (seg.length === 1) { + out.push([column]); + continue; + } + const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + out.push( + seg.length === 4 ? [column, sourcesIndex, sourceLine, sourceColumn] : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]] + ); + } + } +} +function append(arr, other) { + for (let i = 0; i < other.length; i++) arr.push(other[i]); +} +function getLine(arr, index) { + for (let i = arr.length; i <= index; i++) arr[i] = []; + return arr[index]; +} + +// src/trace-mapping.ts +var LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)"; +var COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)"; +var LEAST_UPPER_BOUND = -1; +var GREATEST_LOWER_BOUND = 1; +var TraceMap = class { + constructor(map, mapUrl) { + const isString = typeof map === "string"; + if (!isString && map._decodedMemo) return map; + const parsed = parse(map); + const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version; + this.file = file; + this.names = names || []; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || void 0; + const resolve = resolver(mapUrl, sourceRoot); + this.resolvedSources = sources.map(resolve); + const { mappings } = parsed; + if (typeof mappings === "string") { + this._encoded = mappings; + this._decoded = void 0; + } else if (Array.isArray(mappings)) { + this._encoded = void 0; + this._decoded = maybeSort(mappings, isString); + } else if (parsed.sections) { + throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`); + } else { + throw new Error(`invalid source map: ${JSON.stringify(parsed)}`); + } + this._decodedMemo = memoizedState(); + this._bySources = void 0; + this._bySourceMemos = void 0; + } +}; +function cast(map) { + return map; +} +function encodedMappings(map) { + var _a, _b; + return (_b = (_a = cast(map))._encoded) != null ? _b : _a._encoded = encode(cast(map)._decoded); +} +function decodedMappings(map) { + var _a; + return (_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded)); +} +function traceSegment(map, line, column) { + const decoded = decodedMappings(map); + if (line >= decoded.length) return null; + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + GREATEST_LOWER_BOUND + ); + return index === -1 ? null : segments[index]; +} +function originalPositionFor(map, needle) { + let { line, column, bias } = needle; + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + const decoded = decodedMappings(map); + if (line >= decoded.length) return OMapping(null, null, null, null); + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + bias || GREATEST_LOWER_BOUND + ); + if (index === -1) return OMapping(null, null, null, null); + const segment = segments[index]; + if (segment.length === 1) return OMapping(null, null, null, null); + const { names, resolvedSources } = map; + return OMapping( + resolvedSources[segment[SOURCES_INDEX]], + segment[SOURCE_LINE] + 1, + segment[SOURCE_COLUMN], + segment.length === 5 ? names[segment[NAMES_INDEX]] : null + ); +} +function generatedPositionFor(map, needle) { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false); +} +function allGeneratedPositionsFor(map, needle) { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true); +} +function eachMapping(map, cb) { + const decoded = decodedMappings(map); + const { names, resolvedSources } = map; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const generatedLine = i + 1; + const generatedColumn = seg[0]; + let source = null; + let originalLine = null; + let originalColumn = null; + let name = null; + if (seg.length !== 1) { + source = resolvedSources[seg[1]]; + originalLine = seg[2] + 1; + originalColumn = seg[3]; + } + if (seg.length === 5) name = names[seg[4]]; + cb({ + generatedLine, + generatedColumn, + source, + originalLine, + originalColumn, + name + }); + } + } +} +function sourceIndex(map, source) { + const { sources, resolvedSources } = map; + let index = sources.indexOf(source); + if (index === -1) index = resolvedSources.indexOf(source); + return index; +} +function sourceContentFor(map, source) { + const { sourcesContent } = map; + if (sourcesContent == null) return null; + const index = sourceIndex(map, source); + return index === -1 ? null : sourcesContent[index]; +} +function isIgnored(map, source) { + const { ignoreList } = map; + if (ignoreList == null) return false; + const index = sourceIndex(map, source); + return index === -1 ? false : ignoreList.includes(index); +} +function presortedDecodedMap(map, mapUrl) { + const tracer = new TraceMap(clone(map, []), mapUrl); + cast(tracer)._decoded = map.mappings; + return tracer; +} +function decodedMap(map) { + return clone(map, decodedMappings(map)); +} +function encodedMap(map) { + return clone(map, encodedMappings(map)); +} +function clone(map, mappings) { + return { + version: map.version, + file: map.file, + names: map.names, + sourceRoot: map.sourceRoot, + sources: map.sources, + sourcesContent: map.sourcesContent, + mappings, + ignoreList: map.ignoreList || map.x_google_ignoreList + }; +} +function OMapping(source, line, column, name) { + return { source, line, column, name }; +} +function GMapping(line, column) { + return { line, column }; +} +function traceSegmentInternal(segments, memo, line, column, bias) { + let index = memoizedBinarySearch(segments, column, memo, line); + if (found) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); + } else if (bias === LEAST_UPPER_BOUND) index++; + if (index === -1 || index === segments.length) return -1; + return index; +} +function sliceGeneratedPositions(segments, memo, line, column, bias) { + let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND); + if (!found && bias === LEAST_UPPER_BOUND) min++; + if (min === -1 || min === segments.length) return []; + const matchedColumn = found ? column : segments[min][COLUMN]; + if (!found) min = lowerBound(segments, matchedColumn, min); + const max = upperBound(segments, matchedColumn, min); + const result = []; + for (; min <= max; min++) { + const segment = segments[min]; + result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN])); + } + return result; +} +function generatedPosition(map, source, line, column, bias, all) { + var _a, _b; + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + const { sources, resolvedSources } = map; + let sourceIndex2 = sources.indexOf(source); + if (sourceIndex2 === -1) sourceIndex2 = resolvedSources.indexOf(source); + if (sourceIndex2 === -1) return all ? [] : GMapping(null, null); + const bySourceMemos = (_a = cast(map))._bySourceMemos || (_a._bySourceMemos = sources.map(memoizedState)); + const generated = (_b = cast(map))._bySources || (_b._bySources = buildBySources(decodedMappings(map), bySourceMemos)); + const segments = generated[sourceIndex2][line]; + if (segments == null) return all ? [] : GMapping(null, null); + const memo = bySourceMemos[sourceIndex2]; + if (all) return sliceGeneratedPositions(segments, memo, line, column, bias); + const index = traceSegmentInternal(segments, memo, line, column, bias); + if (index === -1) return GMapping(null, null); + const segment = segments[index]; + return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); +} +export { + FlattenMap as AnyMap, + FlattenMap, + GREATEST_LOWER_BOUND, + LEAST_UPPER_BOUND, + TraceMap, + allGeneratedPositionsFor, + decodedMap, + decodedMappings, + eachMapping, + encodedMap, + encodedMappings, + generatedPositionFor, + isIgnored, + originalPositionFor, + presortedDecodedMap, + sourceContentFor, + traceSegment +}; +//# sourceMappingURL=trace-mapping.mjs.map diff --git a/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map new file mode 100644 index 0000000..a789581 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["../src/trace-mapping.ts", "../src/resolve.ts", "../src/strip-filename.ts", "../src/sourcemap-segment.ts", "../src/sort.ts", "../src/by-source.ts", "../src/binary-search.ts", "../src/types.ts", "../src/flatten-map.ts"], + "mappings": "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", + "names": ["sourceIndex", "sourceIndex"] +} diff --git a/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js new file mode 100644 index 0000000..0387ae3 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js @@ -0,0 +1,559 @@ +(function (global, factory) { + if (typeof exports === 'object' && typeof module !== 'undefined') { + factory(module, require('@jridgewell/resolve-uri'), require('@jridgewell/sourcemap-codec')); + module.exports = def(module); + } else if (typeof define === 'function' && define.amd) { + define(['module', '@jridgewell/resolve-uri', '@jridgewell/sourcemap-codec'], function(mod) { + factory.apply(this, arguments); + mod.exports = def(mod); + }); + } else { + const mod = { exports: {} }; + factory(mod, global.resolveURI, global.sourcemapCodec); + global = typeof globalThis !== 'undefined' ? globalThis : global || self; + global.traceMapping = def(mod); + } + function def(m) { return 'default' in m.exports ? m.exports.default : m.exports; } +})(this, (function (module, require_resolveURI, require_sourcemapCodec) { +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// umd:@jridgewell/sourcemap-codec +var require_sourcemap_codec = __commonJS({ + "umd:@jridgewell/sourcemap-codec"(exports, module2) { + module2.exports = require_sourcemapCodec; + } +}); + +// umd:@jridgewell/resolve-uri +var require_resolve_uri = __commonJS({ + "umd:@jridgewell/resolve-uri"(exports, module2) { + module2.exports = require_resolveURI; + } +}); + +// src/trace-mapping.ts +var trace_mapping_exports = {}; +__export(trace_mapping_exports, { + AnyMap: () => FlattenMap, + FlattenMap: () => FlattenMap, + GREATEST_LOWER_BOUND: () => GREATEST_LOWER_BOUND, + LEAST_UPPER_BOUND: () => LEAST_UPPER_BOUND, + TraceMap: () => TraceMap, + allGeneratedPositionsFor: () => allGeneratedPositionsFor, + decodedMap: () => decodedMap, + decodedMappings: () => decodedMappings, + eachMapping: () => eachMapping, + encodedMap: () => encodedMap, + encodedMappings: () => encodedMappings, + generatedPositionFor: () => generatedPositionFor, + isIgnored: () => isIgnored, + originalPositionFor: () => originalPositionFor, + presortedDecodedMap: () => presortedDecodedMap, + sourceContentFor: () => sourceContentFor, + traceSegment: () => traceSegment +}); +module.exports = __toCommonJS(trace_mapping_exports); +var import_sourcemap_codec = __toESM(require_sourcemap_codec()); + +// src/resolve.ts +var import_resolve_uri = __toESM(require_resolve_uri()); + +// src/strip-filename.ts +function stripFilename(path) { + if (!path) return ""; + const index = path.lastIndexOf("/"); + return path.slice(0, index + 1); +} + +// src/resolve.ts +function resolver(mapUrl, sourceRoot) { + const from = stripFilename(mapUrl); + const prefix = sourceRoot ? sourceRoot + "/" : ""; + return (source) => (0, import_resolve_uri.default)(prefix + (source || ""), from); +} + +// src/sourcemap-segment.ts +var COLUMN = 0; +var SOURCES_INDEX = 1; +var SOURCE_LINE = 2; +var SOURCE_COLUMN = 3; +var NAMES_INDEX = 4; +var REV_GENERATED_LINE = 1; +var REV_GENERATED_COLUMN = 2; + +// src/sort.ts +function maybeSort(mappings, owned) { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) return mappings; + if (!owned) mappings = mappings.slice(); + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; +} +function nextUnsortedSegmentLine(mappings, start) { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) return i; + } + return mappings.length; +} +function isSorted(line) { + for (let j = 1; j < line.length; j++) { + if (line[j][COLUMN] < line[j - 1][COLUMN]) { + return false; + } + } + return true; +} +function sortSegments(line, owned) { + if (!owned) line = line.slice(); + return line.sort(sortComparator); +} +function sortComparator(a, b) { + return a[COLUMN] - b[COLUMN]; +} + +// src/by-source.ts +function buildBySources(decoded, memos) { + const sources = memos.map(() => []); + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + if (seg.length === 1) continue; + const sourceIndex2 = seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + const source = sources[sourceIndex2]; + const segs = source[sourceLine] || (source[sourceLine] = []); + segs.push([sourceColumn, i, seg[COLUMN]]); + } + } + for (let i = 0; i < sources.length; i++) { + const source = sources[i]; + for (let j = 0; j < source.length; j++) { + const line = source[j]; + if (line) line.sort(sortComparator); + } + } + return sources; +} + +// src/binary-search.ts +var found = false; +function binarySearch(haystack, needle, low, high) { + while (low <= high) { + const mid = low + (high - low >> 1); + const cmp = haystack[mid][COLUMN] - needle; + if (cmp === 0) { + found = true; + return mid; + } + if (cmp < 0) { + low = mid + 1; + } else { + high = mid - 1; + } + } + found = false; + return low - 1; +} +function upperBound(haystack, needle, index) { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} +function lowerBound(haystack, needle, index) { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} +function memoizedState() { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1 + }; +} +function memoizedBinarySearch(haystack, needle, state, key) { + const { lastKey, lastNeedle, lastIndex } = state; + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + if (needle >= lastNeedle) { + low = lastIndex === -1 ? 0 : lastIndex; + } else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + return state.lastIndex = binarySearch(haystack, needle, low, high); +} + +// src/types.ts +function parse(map) { + return typeof map === "string" ? JSON.parse(map) : map; +} + +// src/flatten-map.ts +var FlattenMap = function(map, mapUrl) { + const parsed = parse(map); + if (!("sections" in parsed)) { + return new TraceMap(parsed, mapUrl); + } + const mappings = []; + const sources = []; + const sourcesContent = []; + const names = []; + const ignoreList = []; + recurse( + parsed, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + 0, + 0, + Infinity, + Infinity + ); + const joined = { + version: 3, + file: parsed.file, + names, + sources, + sourcesContent, + mappings, + ignoreList + }; + return presortedDecodedMap(joined); +}; +function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) { + const { sections } = input; + for (let i = 0; i < sections.length; i++) { + const { map, offset } = sections[i]; + let sl = stopLine; + let sc = stopColumn; + if (i + 1 < sections.length) { + const nextOffset = sections[i + 1].offset; + sl = Math.min(stopLine, lineOffset + nextOffset.line); + if (sl === stopLine) { + sc = Math.min(stopColumn, columnOffset + nextOffset.column); + } else if (sl < stopLine) { + sc = columnOffset + nextOffset.column; + } + } + addSection( + map, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + lineOffset + offset.line, + columnOffset + offset.column, + sl, + sc + ); + } +} +function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) { + const parsed = parse(input); + if ("sections" in parsed) return recurse(...arguments); + const map = new TraceMap(parsed, mapUrl); + const sourcesOffset = sources.length; + const namesOffset = names.length; + const decoded = decodedMappings(map); + const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map; + append(sources, resolvedSources); + append(names, map.names); + if (contents) append(sourcesContent, contents); + else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null); + if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset); + for (let i = 0; i < decoded.length; i++) { + const lineI = lineOffset + i; + if (lineI > stopLine) return; + const out = getLine(mappings, lineI); + const cOffset = i === 0 ? columnOffset : 0; + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const column = cOffset + seg[COLUMN]; + if (lineI === stopLine && column >= stopColumn) return; + if (seg.length === 1) { + out.push([column]); + continue; + } + const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + out.push( + seg.length === 4 ? [column, sourcesIndex, sourceLine, sourceColumn] : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]] + ); + } + } +} +function append(arr, other) { + for (let i = 0; i < other.length; i++) arr.push(other[i]); +} +function getLine(arr, index) { + for (let i = arr.length; i <= index; i++) arr[i] = []; + return arr[index]; +} + +// src/trace-mapping.ts +var LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)"; +var COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)"; +var LEAST_UPPER_BOUND = -1; +var GREATEST_LOWER_BOUND = 1; +var TraceMap = class { + constructor(map, mapUrl) { + const isString = typeof map === "string"; + if (!isString && map._decodedMemo) return map; + const parsed = parse(map); + const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version; + this.file = file; + this.names = names || []; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || void 0; + const resolve = resolver(mapUrl, sourceRoot); + this.resolvedSources = sources.map(resolve); + const { mappings } = parsed; + if (typeof mappings === "string") { + this._encoded = mappings; + this._decoded = void 0; + } else if (Array.isArray(mappings)) { + this._encoded = void 0; + this._decoded = maybeSort(mappings, isString); + } else if (parsed.sections) { + throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`); + } else { + throw new Error(`invalid source map: ${JSON.stringify(parsed)}`); + } + this._decodedMemo = memoizedState(); + this._bySources = void 0; + this._bySourceMemos = void 0; + } +}; +function cast(map) { + return map; +} +function encodedMappings(map) { + var _a, _b; + return (_b = (_a = cast(map))._encoded) != null ? _b : _a._encoded = (0, import_sourcemap_codec.encode)(cast(map)._decoded); +} +function decodedMappings(map) { + var _a; + return (_a = cast(map))._decoded || (_a._decoded = (0, import_sourcemap_codec.decode)(cast(map)._encoded)); +} +function traceSegment(map, line, column) { + const decoded = decodedMappings(map); + if (line >= decoded.length) return null; + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + GREATEST_LOWER_BOUND + ); + return index === -1 ? null : segments[index]; +} +function originalPositionFor(map, needle) { + let { line, column, bias } = needle; + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + const decoded = decodedMappings(map); + if (line >= decoded.length) return OMapping(null, null, null, null); + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + bias || GREATEST_LOWER_BOUND + ); + if (index === -1) return OMapping(null, null, null, null); + const segment = segments[index]; + if (segment.length === 1) return OMapping(null, null, null, null); + const { names, resolvedSources } = map; + return OMapping( + resolvedSources[segment[SOURCES_INDEX]], + segment[SOURCE_LINE] + 1, + segment[SOURCE_COLUMN], + segment.length === 5 ? names[segment[NAMES_INDEX]] : null + ); +} +function generatedPositionFor(map, needle) { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false); +} +function allGeneratedPositionsFor(map, needle) { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true); +} +function eachMapping(map, cb) { + const decoded = decodedMappings(map); + const { names, resolvedSources } = map; + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const generatedLine = i + 1; + const generatedColumn = seg[0]; + let source = null; + let originalLine = null; + let originalColumn = null; + let name = null; + if (seg.length !== 1) { + source = resolvedSources[seg[1]]; + originalLine = seg[2] + 1; + originalColumn = seg[3]; + } + if (seg.length === 5) name = names[seg[4]]; + cb({ + generatedLine, + generatedColumn, + source, + originalLine, + originalColumn, + name + }); + } + } +} +function sourceIndex(map, source) { + const { sources, resolvedSources } = map; + let index = sources.indexOf(source); + if (index === -1) index = resolvedSources.indexOf(source); + return index; +} +function sourceContentFor(map, source) { + const { sourcesContent } = map; + if (sourcesContent == null) return null; + const index = sourceIndex(map, source); + return index === -1 ? null : sourcesContent[index]; +} +function isIgnored(map, source) { + const { ignoreList } = map; + if (ignoreList == null) return false; + const index = sourceIndex(map, source); + return index === -1 ? false : ignoreList.includes(index); +} +function presortedDecodedMap(map, mapUrl) { + const tracer = new TraceMap(clone(map, []), mapUrl); + cast(tracer)._decoded = map.mappings; + return tracer; +} +function decodedMap(map) { + return clone(map, decodedMappings(map)); +} +function encodedMap(map) { + return clone(map, encodedMappings(map)); +} +function clone(map, mappings) { + return { + version: map.version, + file: map.file, + names: map.names, + sourceRoot: map.sourceRoot, + sources: map.sources, + sourcesContent: map.sourcesContent, + mappings, + ignoreList: map.ignoreList || map.x_google_ignoreList + }; +} +function OMapping(source, line, column, name) { + return { source, line, column, name }; +} +function GMapping(line, column) { + return { line, column }; +} +function traceSegmentInternal(segments, memo, line, column, bias) { + let index = memoizedBinarySearch(segments, column, memo, line); + if (found) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); + } else if (bias === LEAST_UPPER_BOUND) index++; + if (index === -1 || index === segments.length) return -1; + return index; +} +function sliceGeneratedPositions(segments, memo, line, column, bias) { + let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND); + if (!found && bias === LEAST_UPPER_BOUND) min++; + if (min === -1 || min === segments.length) return []; + const matchedColumn = found ? column : segments[min][COLUMN]; + if (!found) min = lowerBound(segments, matchedColumn, min); + const max = upperBound(segments, matchedColumn, min); + const result = []; + for (; min <= max; min++) { + const segment = segments[min]; + result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN])); + } + return result; +} +function generatedPosition(map, source, line, column, bias, all) { + var _a, _b; + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + const { sources, resolvedSources } = map; + let sourceIndex2 = sources.indexOf(source); + if (sourceIndex2 === -1) sourceIndex2 = resolvedSources.indexOf(source); + if (sourceIndex2 === -1) return all ? [] : GMapping(null, null); + const bySourceMemos = (_a = cast(map))._bySourceMemos || (_a._bySourceMemos = sources.map(memoizedState)); + const generated = (_b = cast(map))._bySources || (_b._bySources = buildBySources(decodedMappings(map), bySourceMemos)); + const segments = generated[sourceIndex2][line]; + if (segments == null) return all ? [] : GMapping(null, null); + const memo = bySourceMemos[sourceIndex2]; + if (all) return sliceGeneratedPositions(segments, memo, line, column, bias); + const index = traceSegmentInternal(segments, memo, line, column, bias); + if (index === -1) return GMapping(null, null); + const segment = segments[index]; + return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); +} +})); +//# sourceMappingURL=trace-mapping.umd.js.map diff --git a/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map new file mode 100644 index 0000000..68b0c77 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": ["umd:@jridgewell/sourcemap-codec", "umd:@jridgewell/resolve-uri", "../src/trace-mapping.ts", "../src/resolve.ts", "../src/strip-filename.ts", "../src/sourcemap-segment.ts", "../src/sort.ts", "../src/by-source.ts", "../src/binary-search.ts", "../src/types.ts", "../src/flatten-map.ts"], + "mappings": "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", + "names": ["module", "module", "resolveUri", "sourceIndex", "sourceIndex"] +} diff --git a/client/node_modules/@jridgewell/trace-mapping/package.json b/client/node_modules/@jridgewell/trace-mapping/package.json new file mode 100644 index 0000000..9d3a1c0 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/package.json @@ -0,0 +1,67 @@ +{ + "name": "@jridgewell/trace-mapping", + "version": "0.3.31", + "description": "Trace the original position through a source map", + "keywords": [ + "source", + "map" + ], + "main": "dist/trace-mapping.umd.js", + "module": "dist/trace-mapping.mjs", + "types": "types/trace-mapping.d.cts", + "files": [ + "dist", + "src", + "types" + ], + "exports": { + ".": [ + { + "import": { + "types": "./types/trace-mapping.d.mts", + "default": "./dist/trace-mapping.mjs" + }, + "default": { + "types": "./types/trace-mapping.d.cts", + "default": "./dist/trace-mapping.umd.js" + } + }, + "./dist/trace-mapping.umd.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "benchmark": "run-s build:code benchmark:*", + "benchmark:install": "cd benchmark && npm install", + "benchmark:only": "node --expose-gc benchmark/index.mjs", + "build": "run-s -n build:code build:types", + "build:code": "node ../../esbuild.mjs trace-mapping.ts", + "build:types": "run-s build:types:force build:types:emit build:types:mts", + "build:types:force": "rimraf tsconfig.build.tsbuildinfo", + "build:types:emit": "tsc --project tsconfig.build.json", + "build:types:mts": "node ../../mts-types.mjs", + "clean": "run-s -n clean:code clean:types", + "clean:code": "tsc --build --clean tsconfig.build.json", + "clean:types": "rimraf dist types", + "test": "run-s -n test:types test:only test:format", + "test:format": "prettier --check '{src,test}/**/*.ts'", + "test:only": "mocha", + "test:types": "eslint '{src,test}/**/*.ts'", + "lint": "run-s -n lint:types lint:format", + "lint:format": "npm run test:format -- --write", + "lint:types": "npm run test:types -- --fix", + "prepublishOnly": "npm run-s -n build test" + }, + "homepage": "https://github.com/jridgewell/sourcemaps/tree/main/packages/trace-mapping", + "repository": { + "type": "git", + "url": "git+https://github.com/jridgewell/sourcemaps.git", + "directory": "packages/trace-mapping" + }, + "author": "Justin Ridgewell ", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/binary-search.ts b/client/node_modules/@jridgewell/trace-mapping/src/binary-search.ts new file mode 100644 index 0000000..c1144ad --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/binary-search.ts @@ -0,0 +1,115 @@ +import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment'; +import { COLUMN } from './sourcemap-segment'; + +export type MemoState = { + lastKey: number; + lastNeedle: number; + lastIndex: number; +}; + +export let found = false; + +/** + * A binary search implementation that returns the index if a match is found. + * If no match is found, then the left-index (the index associated with the item that comes just + * before the desired index) is returned. To maintain proper sort order, a splice would happen at + * the next index: + * + * ```js + * const array = [1, 3]; + * const needle = 2; + * const index = binarySearch(array, needle, (item, needle) => item - needle); + * + * assert.equal(index, 0); + * array.splice(index + 1, 0, needle); + * assert.deepEqual(array, [1, 2, 3]); + * ``` + */ +export function binarySearch( + haystack: SourceMapSegment[] | ReverseSegment[], + needle: number, + low: number, + high: number, +): number { + while (low <= high) { + const mid = low + ((high - low) >> 1); + const cmp = haystack[mid][COLUMN] - needle; + + if (cmp === 0) { + found = true; + return mid; + } + + if (cmp < 0) { + low = mid + 1; + } else { + high = mid - 1; + } + } + + found = false; + return low - 1; +} + +export function upperBound( + haystack: SourceMapSegment[] | ReverseSegment[], + needle: number, + index: number, +): number { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} + +export function lowerBound( + haystack: SourceMapSegment[] | ReverseSegment[], + needle: number, + index: number, +): number { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) break; + } + return index; +} + +export function memoizedState(): MemoState { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1, + }; +} + +/** + * This overly complicated beast is just to record the last tested line/column and the resulting + * index, allowing us to skip a few tests if mappings are monotonically increasing. + */ +export function memoizedBinarySearch( + haystack: SourceMapSegment[] | ReverseSegment[], + needle: number, + state: MemoState, + key: number, +): number { + const { lastKey, lastNeedle, lastIndex } = state; + + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + + if (needle >= lastNeedle) { + // lastIndex may be -1 if the previous needle was not found. + low = lastIndex === -1 ? 0 : lastIndex; + } else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + + return (state.lastIndex = binarySearch(haystack, needle, low, high)); +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/by-source.ts b/client/node_modules/@jridgewell/trace-mapping/src/by-source.ts new file mode 100644 index 0000000..1da6af0 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/by-source.ts @@ -0,0 +1,41 @@ +import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment'; +import { sortComparator } from './sort'; + +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment'; + +export type Source = ReverseSegment[][]; + +// Rebuilds the original source files, with mappings that are ordered by source line/column instead +// of generated line/column. +export default function buildBySources( + decoded: readonly SourceMapSegment[][], + memos: unknown[], +): Source[] { + const sources: Source[] = memos.map(() => []); + + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + if (seg.length === 1) continue; + + const sourceIndex = seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + + const source = sources[sourceIndex]; + const segs = (source[sourceLine] ||= []); + segs.push([sourceColumn, i, seg[COLUMN]]); + } + } + + for (let i = 0; i < sources.length; i++) { + const source = sources[i]; + for (let j = 0; j < source.length; j++) { + const line = source[j]; + if (line) line.sort(sortComparator); + } + } + + return sources; +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts b/client/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts new file mode 100644 index 0000000..61ac40c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts @@ -0,0 +1,192 @@ +import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping'; +import { + COLUMN, + SOURCES_INDEX, + SOURCE_LINE, + SOURCE_COLUMN, + NAMES_INDEX, +} from './sourcemap-segment'; +import { parse } from './types'; + +import type { + DecodedSourceMap, + DecodedSourceMapXInput, + EncodedSourceMapXInput, + SectionedSourceMapXInput, + SectionedSourceMapInput, + SectionXInput, + Ro, +} from './types'; +import type { SourceMapSegment } from './sourcemap-segment'; + +type FlattenMap = { + new (map: Ro, mapUrl?: string | null): TraceMap; + (map: Ro, mapUrl?: string | null): TraceMap; +}; + +export const FlattenMap: FlattenMap = function (map, mapUrl) { + const parsed = parse(map as SectionedSourceMapInput); + + if (!('sections' in parsed)) { + return new TraceMap(parsed as DecodedSourceMapXInput | EncodedSourceMapXInput, mapUrl); + } + + const mappings: SourceMapSegment[][] = []; + const sources: string[] = []; + const sourcesContent: (string | null)[] = []; + const names: string[] = []; + const ignoreList: number[] = []; + + recurse( + parsed, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + 0, + 0, + Infinity, + Infinity, + ); + + const joined: DecodedSourceMap = { + version: 3, + file: parsed.file, + names, + sources, + sourcesContent, + mappings, + ignoreList, + }; + + return presortedDecodedMap(joined); +} as FlattenMap; + +function recurse( + input: SectionedSourceMapXInput, + mapUrl: string | null | undefined, + mappings: SourceMapSegment[][], + sources: string[], + sourcesContent: (string | null)[], + names: string[], + ignoreList: number[], + lineOffset: number, + columnOffset: number, + stopLine: number, + stopColumn: number, +) { + const { sections } = input; + for (let i = 0; i < sections.length; i++) { + const { map, offset } = sections[i]; + + let sl = stopLine; + let sc = stopColumn; + if (i + 1 < sections.length) { + const nextOffset = sections[i + 1].offset; + sl = Math.min(stopLine, lineOffset + nextOffset.line); + + if (sl === stopLine) { + sc = Math.min(stopColumn, columnOffset + nextOffset.column); + } else if (sl < stopLine) { + sc = columnOffset + nextOffset.column; + } + } + + addSection( + map, + mapUrl, + mappings, + sources, + sourcesContent, + names, + ignoreList, + lineOffset + offset.line, + columnOffset + offset.column, + sl, + sc, + ); + } +} + +function addSection( + input: SectionXInput['map'], + mapUrl: string | null | undefined, + mappings: SourceMapSegment[][], + sources: string[], + sourcesContent: (string | null)[], + names: string[], + ignoreList: number[], + lineOffset: number, + columnOffset: number, + stopLine: number, + stopColumn: number, +) { + const parsed = parse(input); + if ('sections' in parsed) return recurse(...(arguments as unknown as Parameters)); + + const map = new TraceMap(parsed, mapUrl); + const sourcesOffset = sources.length; + const namesOffset = names.length; + const decoded = decodedMappings(map); + const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map; + + append(sources, resolvedSources); + append(names, map.names); + + if (contents) append(sourcesContent, contents); + else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null); + + if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset); + + for (let i = 0; i < decoded.length; i++) { + const lineI = lineOffset + i; + + // We can only add so many lines before we step into the range that the next section's map + // controls. When we get to the last line, then we'll start checking the segments to see if + // they've crossed into the column range. But it may not have any columns that overstep, so we + // still need to check that we don't overstep lines, too. + if (lineI > stopLine) return; + + // The out line may already exist in mappings (if we're continuing the line started by a + // previous section). Or, we may have jumped ahead several lines to start this section. + const out = getLine(mappings, lineI); + // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the + // map can be multiple lines), it doesn't. + const cOffset = i === 0 ? columnOffset : 0; + + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + const column = cOffset + seg[COLUMN]; + + // If this segment steps into the column range that the next section's map controls, we need + // to stop early. + if (lineI === stopLine && column >= stopColumn) return; + + if (seg.length === 1) { + out.push([column]); + continue; + } + + const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + out.push( + seg.length === 4 + ? [column, sourcesIndex, sourceLine, sourceColumn] + : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]], + ); + } + } +} + +function append(arr: T[], other: T[]) { + for (let i = 0; i < other.length; i++) arr.push(other[i]); +} + +function getLine(arr: T[][], index: number): T[] { + for (let i = arr.length; i <= index; i++) arr[i] = []; + return arr[index]; +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/resolve.ts b/client/node_modules/@jridgewell/trace-mapping/src/resolve.ts new file mode 100644 index 0000000..30bfa3b --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/resolve.ts @@ -0,0 +1,16 @@ +import resolveUri from '@jridgewell/resolve-uri'; +import stripFilename from './strip-filename'; + +type Resolve = (source: string | null) => string; +export default function resolver( + mapUrl: string | null | undefined, + sourceRoot: string | undefined, +): Resolve { + const from = stripFilename(mapUrl); + // The sourceRoot is always treated as a directory, if it's not empty. + // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327 + // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401 + const prefix = sourceRoot ? sourceRoot + '/' : ''; + + return (source) => resolveUri(prefix + (source || ''), from); +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/sort.ts b/client/node_modules/@jridgewell/trace-mapping/src/sort.ts new file mode 100644 index 0000000..5d016cb --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/sort.ts @@ -0,0 +1,45 @@ +import { COLUMN } from './sourcemap-segment'; + +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment'; + +export default function maybeSort( + mappings: SourceMapSegment[][], + owned: boolean, +): SourceMapSegment[][] { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) return mappings; + + // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If + // not, we do not want to modify the consumer's input array. + if (!owned) mappings = mappings.slice(); + + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; +} + +function nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) return i; + } + return mappings.length; +} + +function isSorted(line: SourceMapSegment[]): boolean { + for (let j = 1; j < line.length; j++) { + if (line[j][COLUMN] < line[j - 1][COLUMN]) { + return false; + } + } + return true; +} + +function sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] { + if (!owned) line = line.slice(); + return line.sort(sortComparator); +} + +export function sortComparator(a: T, b: T): number { + return a[COLUMN] - b[COLUMN]; +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts b/client/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts new file mode 100644 index 0000000..94f1b6a --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts @@ -0,0 +1,23 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; + +type GeneratedLine = number; + +export type SourceMapSegment = + | [GeneratedColumn] + | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] + | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; + +export type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn]; + +export const COLUMN = 0; +export const SOURCES_INDEX = 1; +export const SOURCE_LINE = 2; +export const SOURCE_COLUMN = 3; +export const NAMES_INDEX = 4; + +export const REV_GENERATED_LINE = 1; +export const REV_GENERATED_COLUMN = 2; diff --git a/client/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts b/client/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts new file mode 100644 index 0000000..2c88980 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts @@ -0,0 +1,8 @@ +/** + * Removes everything after the last "/", but leaves the slash. + */ +export default function stripFilename(path: string | undefined | null): string { + if (!path) return ''; + const index = path.lastIndexOf('/'); + return path.slice(0, index + 1); +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts b/client/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts new file mode 100644 index 0000000..0b793d5 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts @@ -0,0 +1,502 @@ +import { encode, decode } from '@jridgewell/sourcemap-codec'; + +import resolver from './resolve'; +import maybeSort from './sort'; +import buildBySources from './by-source'; +import { + memoizedState, + memoizedBinarySearch, + upperBound, + lowerBound, + found as bsFound, +} from './binary-search'; +import { + COLUMN, + SOURCES_INDEX, + SOURCE_LINE, + SOURCE_COLUMN, + NAMES_INDEX, + REV_GENERATED_LINE, + REV_GENERATED_COLUMN, +} from './sourcemap-segment'; +import { parse } from './types'; + +import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment'; +import type { + SourceMapV3, + DecodedSourceMap, + EncodedSourceMap, + InvalidOriginalMapping, + OriginalMapping, + InvalidGeneratedMapping, + GeneratedMapping, + SourceMapInput, + Needle, + SourceNeedle, + SourceMap, + EachMapping, + Bias, + XInput, + SectionedSourceMap, + Ro, +} from './types'; +import type { Source } from './by-source'; +import type { MemoState } from './binary-search'; + +export type { SourceMapSegment } from './sourcemap-segment'; +export type { + SourceMap, + DecodedSourceMap, + EncodedSourceMap, + Section, + SectionedSourceMap, + SourceMapV3, + Bias, + EachMapping, + GeneratedMapping, + InvalidGeneratedMapping, + InvalidOriginalMapping, + Needle, + OriginalMapping, + OriginalMapping as Mapping, + SectionedSourceMapInput, + SourceMapInput, + SourceNeedle, + XInput, + EncodedSourceMapXInput, + DecodedSourceMapXInput, + SectionedSourceMapXInput, + SectionXInput, +} from './types'; + +interface PublicMap { + _encoded: TraceMap['_encoded']; + _decoded: TraceMap['_decoded']; + _decodedMemo: TraceMap['_decodedMemo']; + _bySources: TraceMap['_bySources']; + _bySourceMemos: TraceMap['_bySourceMemos']; +} + +const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)'; +const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)'; + +export const LEAST_UPPER_BOUND = -1; +export const GREATEST_LOWER_BOUND = 1; + +export { FlattenMap, FlattenMap as AnyMap } from './flatten-map'; + +export class TraceMap implements SourceMap { + declare version: SourceMapV3['version']; + declare file: SourceMapV3['file']; + declare names: SourceMapV3['names']; + declare sourceRoot: SourceMapV3['sourceRoot']; + declare sources: SourceMapV3['sources']; + declare sourcesContent: SourceMapV3['sourcesContent']; + declare ignoreList: SourceMapV3['ignoreList']; + + declare resolvedSources: string[]; + declare private _encoded: string | undefined; + + declare private _decoded: SourceMapSegment[][] | undefined; + declare private _decodedMemo: MemoState; + + declare private _bySources: Source[] | undefined; + declare private _bySourceMemos: MemoState[] | undefined; + + constructor(map: Ro, mapUrl?: string | null) { + const isString = typeof map === 'string'; + if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap; + + const parsed = parse(map as Exclude); + + const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version; + this.file = file; + this.names = names || []; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + this.ignoreList = parsed.ignoreList || (parsed as XInput).x_google_ignoreList || undefined; + + const resolve = resolver(mapUrl, sourceRoot); + this.resolvedSources = sources.map(resolve); + + const { mappings } = parsed; + if (typeof mappings === 'string') { + this._encoded = mappings; + this._decoded = undefined; + } else if (Array.isArray(mappings)) { + this._encoded = undefined; + this._decoded = maybeSort(mappings, isString); + } else if ((parsed as unknown as SectionedSourceMap).sections) { + throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`); + } else { + throw new Error(`invalid source map: ${JSON.stringify(parsed)}`); + } + + this._decodedMemo = memoizedState(); + this._bySources = undefined; + this._bySourceMemos = undefined; + } +} + +/** + * Typescript doesn't allow friend access to private fields, so this just casts the map into a type + * with public access modifiers. + */ +function cast(map: unknown): PublicMap { + return map as any; +} + +/** + * Returns the encoded (VLQ string) form of the SourceMap's mappings field. + */ +export function encodedMappings(map: TraceMap): EncodedSourceMap['mappings'] { + return (cast(map)._encoded ??= encode(cast(map)._decoded!)); +} + +/** + * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. + */ +export function decodedMappings(map: TraceMap): Readonly { + return (cast(map)._decoded ||= decode(cast(map)._encoded!)); +} + +/** + * A low-level API to find the segment associated with a generated line/column (think, from a + * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. + */ +export function traceSegment( + map: TraceMap, + line: number, + column: number, +): Readonly | null { + const decoded = decodedMappings(map); + + // It's common for parent source maps to have pointers to lines that have no + // mapping (like a "//# sourceMappingURL=") at the end of the child file. + if (line >= decoded.length) return null; + + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + GREATEST_LOWER_BOUND, + ); + + return index === -1 ? null : segments[index]; +} + +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +export function originalPositionFor( + map: TraceMap, + needle: Needle, +): OriginalMapping | InvalidOriginalMapping { + let { line, column, bias } = needle; + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + + const decoded = decodedMappings(map); + + // It's common for parent source maps to have pointers to lines that have no + // mapping (like a "//# sourceMappingURL=") at the end of the child file. + if (line >= decoded.length) return OMapping(null, null, null, null); + + const segments = decoded[line]; + const index = traceSegmentInternal( + segments, + cast(map)._decodedMemo, + line, + column, + bias || GREATEST_LOWER_BOUND, + ); + + if (index === -1) return OMapping(null, null, null, null); + + const segment = segments[index]; + if (segment.length === 1) return OMapping(null, null, null, null); + + const { names, resolvedSources } = map; + return OMapping( + resolvedSources[segment[SOURCES_INDEX]], + segment[SOURCE_LINE] + 1, + segment[SOURCE_COLUMN], + segment.length === 5 ? names[segment[NAMES_INDEX]] : null, + ); +} + +/** + * Finds the generated line/column position of the provided source/line/column source position. + */ +export function generatedPositionFor( + map: TraceMap, + needle: SourceNeedle, +): GeneratedMapping | InvalidGeneratedMapping { + const { source, line, column, bias } = needle; + return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false); +} + +/** + * Finds all generated line/column positions of the provided source/line/column source position. + */ +export function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[] { + const { source, line, column, bias } = needle; + // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit. + return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true); +} + +/** + * Iterates each mapping in generated position order. + */ +export function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void { + const decoded = decodedMappings(map); + const { names, resolvedSources } = map; + + for (let i = 0; i < decoded.length; i++) { + const line = decoded[i]; + for (let j = 0; j < line.length; j++) { + const seg = line[j]; + + const generatedLine = i + 1; + const generatedColumn = seg[0]; + let source = null; + let originalLine = null; + let originalColumn = null; + let name = null; + if (seg.length !== 1) { + source = resolvedSources[seg[1]]; + originalLine = seg[2] + 1; + originalColumn = seg[3]; + } + if (seg.length === 5) name = names[seg[4]]; + + cb({ + generatedLine, + generatedColumn, + source, + originalLine, + originalColumn, + name, + } as EachMapping); + } + } +} + +function sourceIndex(map: TraceMap, source: string): number { + const { sources, resolvedSources } = map; + let index = sources.indexOf(source); + if (index === -1) index = resolvedSources.indexOf(source); + return index; +} + +/** + * Retrieves the source content for a particular source, if its found. Returns null if not. + */ +export function sourceContentFor(map: TraceMap, source: string): string | null { + const { sourcesContent } = map; + if (sourcesContent == null) return null; + const index = sourceIndex(map, source); + return index === -1 ? null : sourcesContent[index]; +} + +/** + * Determines if the source is marked to ignore by the source map. + */ +export function isIgnored(map: TraceMap, source: string): boolean { + const { ignoreList } = map; + if (ignoreList == null) return false; + const index = sourceIndex(map, source); + return index === -1 ? false : ignoreList.includes(index); +} + +/** + * A helper that skips sorting of the input map's mappings array, which can be expensive for larger + * maps. + */ +export function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap { + const tracer = new TraceMap(clone(map, []), mapUrl); + cast(tracer)._decoded = map.mappings; + return tracer; +} + +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export function decodedMap( + map: TraceMap, +): Omit & { mappings: readonly SourceMapSegment[][] } { + return clone(map, decodedMappings(map)); +} + +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export function encodedMap(map: TraceMap): EncodedSourceMap { + return clone(map, encodedMappings(map)); +} + +function clone( + map: TraceMap | DecodedSourceMap, + mappings: T, +): T extends string ? EncodedSourceMap : DecodedSourceMap { + return { + version: map.version, + file: map.file, + names: map.names, + sourceRoot: map.sourceRoot, + sources: map.sources, + sourcesContent: map.sourcesContent, + mappings, + ignoreList: map.ignoreList || (map as XInput).x_google_ignoreList, + } as any; +} + +function OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping; +function OMapping( + source: string, + line: number, + column: number, + name: string | null, +): OriginalMapping; +function OMapping( + source: string | null, + line: number | null, + column: number | null, + name: string | null, +): OriginalMapping | InvalidOriginalMapping { + return { source, line, column, name } as any; +} + +function GMapping(line: null, column: null): InvalidGeneratedMapping; +function GMapping(line: number, column: number): GeneratedMapping; +function GMapping( + line: number | null, + column: number | null, +): GeneratedMapping | InvalidGeneratedMapping { + return { line, column } as any; +} + +function traceSegmentInternal( + segments: SourceMapSegment[], + memo: MemoState, + line: number, + column: number, + bias: Bias, +): number; +function traceSegmentInternal( + segments: ReverseSegment[], + memo: MemoState, + line: number, + column: number, + bias: Bias, +): number; +function traceSegmentInternal( + segments: SourceMapSegment[] | ReverseSegment[], + memo: MemoState, + line: number, + column: number, + bias: Bias, +): number { + let index = memoizedBinarySearch(segments, column, memo, line); + if (bsFound) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); + } else if (bias === LEAST_UPPER_BOUND) index++; + + if (index === -1 || index === segments.length) return -1; + return index; +} + +function sliceGeneratedPositions( + segments: ReverseSegment[], + memo: MemoState, + line: number, + column: number, + bias: Bias, +): GeneratedMapping[] { + let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND); + + // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in + // insertion order) segment that matched. Even if we did respect the bias when tracing, we would + // still need to call `lowerBound()` to find the first segment, which is slower than just looking + // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the + // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to + // match LEAST_UPPER_BOUND. + if (!bsFound && bias === LEAST_UPPER_BOUND) min++; + + if (min === -1 || min === segments.length) return []; + + // We may have found the segment that started at an earlier column. If this is the case, then we + // need to slice all generated segments that match _that_ column, because all such segments span + // to our desired column. + const matchedColumn = bsFound ? column : segments[min][COLUMN]; + + // The binary search is not guaranteed to find the lower bound when a match wasn't found. + if (!bsFound) min = lowerBound(segments, matchedColumn, min); + const max = upperBound(segments, matchedColumn, min); + + const result = []; + for (; min <= max; min++) { + const segment = segments[min]; + result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN])); + } + return result; +} + +function generatedPosition( + map: TraceMap, + source: string, + line: number, + column: number, + bias: Bias, + all: false, +): GeneratedMapping | InvalidGeneratedMapping; +function generatedPosition( + map: TraceMap, + source: string, + line: number, + column: number, + bias: Bias, + all: true, +): GeneratedMapping[]; +function generatedPosition( + map: TraceMap, + source: string, + line: number, + column: number, + bias: Bias, + all: boolean, +): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] { + line--; + if (line < 0) throw new Error(LINE_GTR_ZERO); + if (column < 0) throw new Error(COL_GTR_EQ_ZERO); + + const { sources, resolvedSources } = map; + let sourceIndex = sources.indexOf(source); + if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source); + if (sourceIndex === -1) return all ? [] : GMapping(null, null); + + const bySourceMemos = (cast(map)._bySourceMemos ||= sources.map(memoizedState)); + const generated = (cast(map)._bySources ||= buildBySources(decodedMappings(map), bySourceMemos)); + + const segments = generated[sourceIndex][line]; + if (segments == null) return all ? [] : GMapping(null, null); + + const memo = bySourceMemos[sourceIndex]; + + if (all) return sliceGeneratedPositions(segments, memo, line, column, bias); + + const index = traceSegmentInternal(segments, memo, line, column, bias); + if (index === -1) return GMapping(null, null); + + const segment = segments[index]; + return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); +} diff --git a/client/node_modules/@jridgewell/trace-mapping/src/types.ts b/client/node_modules/@jridgewell/trace-mapping/src/types.ts new file mode 100644 index 0000000..730a61f --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/src/types.ts @@ -0,0 +1,114 @@ +import type { SourceMapSegment } from './sourcemap-segment'; +import type { GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap } from './trace-mapping'; + +export interface SourceMapV3 { + file?: string | null; + names: string[]; + sourceRoot?: string; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList?: number[]; +} + +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} + +export interface DecodedSourceMap extends SourceMapV3 { + mappings: SourceMapSegment[][]; +} + +export interface Section { + offset: { line: number; column: number }; + map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap; +} + +export interface SectionedSourceMap { + file?: string | null; + sections: Section[]; + version: 3; +} + +export type OriginalMapping = { + source: string | null; + line: number; + column: number; + name: string | null; +}; + +export type InvalidOriginalMapping = { + source: null; + line: null; + column: null; + name: null; +}; + +export type GeneratedMapping = { + line: number; + column: number; +}; +export type InvalidGeneratedMapping = { + line: null; + column: null; +}; + +export type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND; + +export type XInput = { x_google_ignoreList?: SourceMapV3['ignoreList'] }; +export type EncodedSourceMapXInput = EncodedSourceMap & XInput; +export type DecodedSourceMapXInput = DecodedSourceMap & XInput; +export type SectionedSourceMapXInput = Omit & { + sections: SectionXInput[]; +}; +export type SectionXInput = Omit & { + map: SectionedSourceMapInput; +}; + +export type SourceMapInput = string | EncodedSourceMapXInput | DecodedSourceMapXInput | TraceMap; +export type SectionedSourceMapInput = SourceMapInput | SectionedSourceMapXInput; + +export type Needle = { line: number; column: number; bias?: Bias }; +export type SourceNeedle = { source: string; line: number; column: number; bias?: Bias }; + +export type EachMapping = + | { + generatedLine: number; + generatedColumn: number; + source: null; + originalLine: null; + originalColumn: null; + name: null; + } + | { + generatedLine: number; + generatedColumn: number; + source: string | null; + originalLine: number; + originalColumn: number; + name: string | null; + }; + +export abstract class SourceMap { + declare version: SourceMapV3['version']; + declare file: SourceMapV3['file']; + declare names: SourceMapV3['names']; + declare sourceRoot: SourceMapV3['sourceRoot']; + declare sources: SourceMapV3['sources']; + declare sourcesContent: SourceMapV3['sourcesContent']; + declare resolvedSources: SourceMapV3['sources']; + declare ignoreList: SourceMapV3['ignoreList']; +} + +export type Ro = + T extends Array + ? V[] | Readonly | RoArray | Readonly> + : T extends object + ? T | Readonly | RoObject | Readonly> + : T; +type RoArray = Ro[]; +type RoObject = { [K in keyof T]: T[K] | Ro }; + +export function parse(map: T): Exclude { + return typeof map === 'string' ? JSON.parse(map) : (map as Exclude); +} diff --git a/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts new file mode 100644 index 0000000..b7bb85c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts @@ -0,0 +1,33 @@ +import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment.cts'; +export type MemoState = { + lastKey: number; + lastNeedle: number; + lastIndex: number; +}; +export declare let found: boolean; +/** + * A binary search implementation that returns the index if a match is found. + * If no match is found, then the left-index (the index associated with the item that comes just + * before the desired index) is returned. To maintain proper sort order, a splice would happen at + * the next index: + * + * ```js + * const array = [1, 3]; + * const needle = 2; + * const index = binarySearch(array, needle, (item, needle) => item - needle); + * + * assert.equal(index, 0); + * array.splice(index + 1, 0, needle); + * assert.deepEqual(array, [1, 2, 3]); + * ``` + */ +export declare function binarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, low: number, high: number): number; +export declare function upperBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; +export declare function lowerBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; +export declare function memoizedState(): MemoState; +/** + * This overly complicated beast is just to record the last tested line/column and the resulting + * index, allowing us to skip a few tests if mappings are monotonically increasing. + */ +export declare function memoizedBinarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, state: MemoState, key: number): number; +//# sourceMappingURL=binary-search.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map new file mode 100644 index 0000000..648e84c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"binary-search.d.ts","sourceRoot":"","sources":["../src/binary-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,IAAI,KAAK,SAAQ,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,CAmBR;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,aAAa,IAAI,SAAS,CAMzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CAsBR"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts new file mode 100644 index 0000000..19e1e6b --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts @@ -0,0 +1,33 @@ +import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment.mts'; +export type MemoState = { + lastKey: number; + lastNeedle: number; + lastIndex: number; +}; +export declare let found: boolean; +/** + * A binary search implementation that returns the index if a match is found. + * If no match is found, then the left-index (the index associated with the item that comes just + * before the desired index) is returned. To maintain proper sort order, a splice would happen at + * the next index: + * + * ```js + * const array = [1, 3]; + * const needle = 2; + * const index = binarySearch(array, needle, (item, needle) => item - needle); + * + * assert.equal(index, 0); + * array.splice(index + 1, 0, needle); + * assert.deepEqual(array, [1, 2, 3]); + * ``` + */ +export declare function binarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, low: number, high: number): number; +export declare function upperBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; +export declare function lowerBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; +export declare function memoizedState(): MemoState; +/** + * This overly complicated beast is just to record the last tested line/column and the resulting + * index, allowing us to skip a few tests if mappings are monotonically increasing. + */ +export declare function memoizedBinarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, state: MemoState, key: number): number; +//# sourceMappingURL=binary-search.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map new file mode 100644 index 0000000..648e84c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"binary-search.d.ts","sourceRoot":"","sources":["../src/binary-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,IAAI,KAAK,SAAQ,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,CAmBR;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,aAAa,IAAI,SAAS,CAMzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CAsBR"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts new file mode 100644 index 0000000..da49693 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts @@ -0,0 +1,4 @@ +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment.cts'; +export type Source = ReverseSegment[][]; +export = function buildBySources(decoded: readonly SourceMapSegment[][], memos: unknown[]): Source[]; +//# sourceMappingURL=by-source.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map new file mode 100644 index 0000000..32d2a7a --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"by-source.d.ts","sourceRoot":"","sources":["../src/by-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,MAAM,MAAM,GAAG,cAAc,EAAE,EAAE,CAAC;AAIxC,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,EACtC,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,EAAE,CA4BV"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts new file mode 100644 index 0000000..f361049 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts @@ -0,0 +1,4 @@ +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment.mts'; +export type Source = ReverseSegment[][]; +export default function buildBySources(decoded: readonly SourceMapSegment[][], memos: unknown[]): Source[]; +//# sourceMappingURL=by-source.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map new file mode 100644 index 0000000..32d2a7a --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"by-source.d.ts","sourceRoot":"","sources":["../src/by-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,MAAM,MAAM,GAAG,cAAc,EAAE,EAAE,CAAC;AAIxC,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,EACtC,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,EAAE,CA4BV"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts new file mode 100644 index 0000000..433d849 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts @@ -0,0 +1,9 @@ +import { TraceMap } from './trace-mapping.cts'; +import type { SectionedSourceMapInput, Ro } from './types.cts'; +type FlattenMap = { + new (map: Ro, mapUrl?: string | null): TraceMap; + (map: Ro, mapUrl?: string | null): TraceMap; +}; +export declare const FlattenMap: FlattenMap; +export {}; +//# sourceMappingURL=flatten-map.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map new file mode 100644 index 0000000..994b208 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"flatten-map.d.ts","sourceRoot":"","sources":["../src/flatten-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwC,MAAM,iBAAiB,CAAC;AAUjF,OAAO,KAAK,EAKV,uBAAuB,EAEvB,EAAE,EACH,MAAM,SAAS,CAAC;AAGjB,KAAK,UAAU,GAAG;IAChB,KAAK,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IACzE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAsCV,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts new file mode 100644 index 0000000..444a1be --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts @@ -0,0 +1,9 @@ +import { TraceMap } from './trace-mapping.mts'; +import type { SectionedSourceMapInput, Ro } from './types.mts'; +type FlattenMap = { + new (map: Ro, mapUrl?: string | null): TraceMap; + (map: Ro, mapUrl?: string | null): TraceMap; +}; +export declare const FlattenMap: FlattenMap; +export {}; +//# sourceMappingURL=flatten-map.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map new file mode 100644 index 0000000..994b208 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"flatten-map.d.ts","sourceRoot":"","sources":["../src/flatten-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwC,MAAM,iBAAiB,CAAC;AAUjF,OAAO,KAAK,EAKV,uBAAuB,EAEvB,EAAE,EACH,MAAM,SAAS,CAAC;AAGjB,KAAK,UAAU,GAAG;IAChB,KAAK,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IACzE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAsCV,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts new file mode 100644 index 0000000..62aeedb --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts @@ -0,0 +1,4 @@ +type Resolve = (source: string | null) => string; +export = function resolver(mapUrl: string | null | undefined, sourceRoot: string | undefined): Resolve; +export {}; +//# sourceMappingURL=resolve.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map new file mode 100644 index 0000000..9f155ac --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AACjD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAQT"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts new file mode 100644 index 0000000..e2798a1 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts @@ -0,0 +1,4 @@ +type Resolve = (source: string | null) => string; +export default function resolver(mapUrl: string | null | undefined, sourceRoot: string | undefined): Resolve; +export {}; +//# sourceMappingURL=resolve.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map new file mode 100644 index 0000000..9f155ac --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AACjD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAQT"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts new file mode 100644 index 0000000..aa14c12 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts @@ -0,0 +1,4 @@ +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment.cts'; +export = function maybeSort(mappings: SourceMapSegment[][], owned: boolean): SourceMapSegment[][]; +export declare function sortComparator(a: T, b: T): number; +//# sourceMappingURL=sort.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map new file mode 100644 index 0000000..48b8e67 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAC9B,KAAK,EAAE,OAAO,GACb,gBAAgB,EAAE,EAAE,CAYtB;AAuBD,wBAAgB,cAAc,CAAC,CAAC,SAAS,gBAAgB,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAE9F"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts new file mode 100644 index 0000000..c5b94e6 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts @@ -0,0 +1,4 @@ +import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment.mts'; +export default function maybeSort(mappings: SourceMapSegment[][], owned: boolean): SourceMapSegment[][]; +export declare function sortComparator(a: T, b: T): number; +//# sourceMappingURL=sort.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map new file mode 100644 index 0000000..48b8e67 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAC9B,KAAK,EAAE,OAAO,GACb,gBAAgB,EAAE,EAAE,CAYtB;AAuBD,wBAAgB,cAAc,CAAC,CAAC,SAAS,gBAAgB,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAE9F"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts new file mode 100644 index 0000000..8d3cabc --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts @@ -0,0 +1,17 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +type GeneratedLine = number; +export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; +export type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn]; +export declare const COLUMN = 0; +export declare const SOURCES_INDEX = 1; +export declare const SOURCE_LINE = 2; +export declare const SOURCE_COLUMN = 3; +export declare const NAMES_INDEX = 4; +export declare const REV_GENERATED_LINE = 1; +export declare const REV_GENERATED_COLUMN = 2; +export {}; +//# sourceMappingURL=sourcemap-segment.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map new file mode 100644 index 0000000..0c94a46 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-segment.d.ts","sourceRoot":"","sources":["../src/sourcemap-segment.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,aAAa,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,gBAAgB,GACxB,CAAC,eAAe,CAAC,GACjB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,GACzD,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AAE5E,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts new file mode 100644 index 0000000..8d3cabc --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts @@ -0,0 +1,17 @@ +type GeneratedColumn = number; +type SourcesIndex = number; +type SourceLine = number; +type SourceColumn = number; +type NamesIndex = number; +type GeneratedLine = number; +export type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; +export type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn]; +export declare const COLUMN = 0; +export declare const SOURCES_INDEX = 1; +export declare const SOURCE_LINE = 2; +export declare const SOURCE_COLUMN = 3; +export declare const NAMES_INDEX = 4; +export declare const REV_GENERATED_LINE = 1; +export declare const REV_GENERATED_COLUMN = 2; +export {}; +//# sourceMappingURL=sourcemap-segment.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map new file mode 100644 index 0000000..0c94a46 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"sourcemap-segment.d.ts","sourceRoot":"","sources":["../src/sourcemap-segment.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,aAAa,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,gBAAgB,GACxB,CAAC,eAAe,CAAC,GACjB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,GACzD,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AAE5E,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts new file mode 100644 index 0000000..8b3c0e9 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts @@ -0,0 +1,5 @@ +/** + * Removes everything after the last "/", but leaves the slash. + */ +export = function stripFilename(path: string | undefined | null): string; +//# sourceMappingURL=strip-filename.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map new file mode 100644 index 0000000..17a25da --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"strip-filename.d.ts","sourceRoot":"","sources":["../src/strip-filename.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI7E"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts new file mode 100644 index 0000000..cbbaee0 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts @@ -0,0 +1,5 @@ +/** + * Removes everything after the last "/", but leaves the slash. + */ +export default function stripFilename(path: string | undefined | null): string; +//# sourceMappingURL=strip-filename.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map new file mode 100644 index 0000000..17a25da --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"strip-filename.d.ts","sourceRoot":"","sources":["../src/strip-filename.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAI7E"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts new file mode 100644 index 0000000..a40f305 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts @@ -0,0 +1,80 @@ +import type { SourceMapSegment } from './sourcemap-segment.cts'; +import type { SourceMapV3, DecodedSourceMap, EncodedSourceMap, InvalidOriginalMapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, SourceMapInput, Needle, SourceNeedle, SourceMap, EachMapping, Ro } from './types.cts'; +export type { SourceMapSegment } from './sourcemap-segment.cts'; +export type { SourceMap, DecodedSourceMap, EncodedSourceMap, Section, SectionedSourceMap, SourceMapV3, Bias, EachMapping, GeneratedMapping, InvalidGeneratedMapping, InvalidOriginalMapping, Needle, OriginalMapping, OriginalMapping as Mapping, SectionedSourceMapInput, SourceMapInput, SourceNeedle, XInput, EncodedSourceMapXInput, DecodedSourceMapXInput, SectionedSourceMapXInput, SectionXInput, } from './types.cts'; +export declare const LEAST_UPPER_BOUND = -1; +export declare const GREATEST_LOWER_BOUND = 1; +export { FlattenMap, FlattenMap as AnyMap } from './flatten-map.cts'; +export declare class TraceMap implements SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + ignoreList: SourceMapV3['ignoreList']; + resolvedSources: string[]; + private _encoded; + private _decoded; + private _decodedMemo; + private _bySources; + private _bySourceMemos; + constructor(map: Ro, mapUrl?: string | null); +} +/** + * Returns the encoded (VLQ string) form of the SourceMap's mappings field. + */ +export declare function encodedMappings(map: TraceMap): EncodedSourceMap['mappings']; +/** + * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. + */ +export declare function decodedMappings(map: TraceMap): Readonly; +/** + * A low-level API to find the segment associated with a generated line/column (think, from a + * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. + */ +export declare function traceSegment(map: TraceMap, line: number, column: number): Readonly | null; +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +export declare function originalPositionFor(map: TraceMap, needle: Needle): OriginalMapping | InvalidOriginalMapping; +/** + * Finds the generated line/column position of the provided source/line/column source position. + */ +export declare function generatedPositionFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping | InvalidGeneratedMapping; +/** + * Finds all generated line/column positions of the provided source/line/column source position. + */ +export declare function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[]; +/** + * Iterates each mapping in generated position order. + */ +export declare function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void; +/** + * Retrieves the source content for a particular source, if its found. Returns null if not. + */ +export declare function sourceContentFor(map: TraceMap, source: string): string | null; +/** + * Determines if the source is marked to ignore by the source map. + */ +export declare function isIgnored(map: TraceMap, source: string): boolean; +/** + * A helper that skips sorting of the input map's mappings array, which can be expensive for larger + * maps. + */ +export declare function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap; +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function decodedMap(map: TraceMap): Omit & { + mappings: readonly SourceMapSegment[][]; +}; +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function encodedMap(map: TraceMap): EncodedSourceMap; +//# sourceMappingURL=trace-mapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map new file mode 100644 index 0000000..b5a874c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"trace-mapping.d.ts","sourceRoot":"","sources":["../src/trace-mapping.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts new file mode 100644 index 0000000..bc2ff0f --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts @@ -0,0 +1,80 @@ +import type { SourceMapSegment } from './sourcemap-segment.mts'; +import type { SourceMapV3, DecodedSourceMap, EncodedSourceMap, InvalidOriginalMapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, SourceMapInput, Needle, SourceNeedle, SourceMap, EachMapping, Ro } from './types.mts'; +export type { SourceMapSegment } from './sourcemap-segment.mts'; +export type { SourceMap, DecodedSourceMap, EncodedSourceMap, Section, SectionedSourceMap, SourceMapV3, Bias, EachMapping, GeneratedMapping, InvalidGeneratedMapping, InvalidOriginalMapping, Needle, OriginalMapping, OriginalMapping as Mapping, SectionedSourceMapInput, SourceMapInput, SourceNeedle, XInput, EncodedSourceMapXInput, DecodedSourceMapXInput, SectionedSourceMapXInput, SectionXInput, } from './types.mts'; +export declare const LEAST_UPPER_BOUND = -1; +export declare const GREATEST_LOWER_BOUND = 1; +export { FlattenMap, FlattenMap as AnyMap } from './flatten-map.mts'; +export declare class TraceMap implements SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + ignoreList: SourceMapV3['ignoreList']; + resolvedSources: string[]; + private _encoded; + private _decoded; + private _decodedMemo; + private _bySources; + private _bySourceMemos; + constructor(map: Ro, mapUrl?: string | null); +} +/** + * Returns the encoded (VLQ string) form of the SourceMap's mappings field. + */ +export declare function encodedMappings(map: TraceMap): EncodedSourceMap['mappings']; +/** + * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. + */ +export declare function decodedMappings(map: TraceMap): Readonly; +/** + * A low-level API to find the segment associated with a generated line/column (think, from a + * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. + */ +export declare function traceSegment(map: TraceMap, line: number, column: number): Readonly | null; +/** + * A higher-level API to find the source/line/column associated with a generated line/column + * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in + * `source-map` library. + */ +export declare function originalPositionFor(map: TraceMap, needle: Needle): OriginalMapping | InvalidOriginalMapping; +/** + * Finds the generated line/column position of the provided source/line/column source position. + */ +export declare function generatedPositionFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping | InvalidGeneratedMapping; +/** + * Finds all generated line/column positions of the provided source/line/column source position. + */ +export declare function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[]; +/** + * Iterates each mapping in generated position order. + */ +export declare function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void; +/** + * Retrieves the source content for a particular source, if its found. Returns null if not. + */ +export declare function sourceContentFor(map: TraceMap, source: string): string | null; +/** + * Determines if the source is marked to ignore by the source map. + */ +export declare function isIgnored(map: TraceMap, source: string): boolean; +/** + * A helper that skips sorting of the input map's mappings array, which can be expensive for larger + * maps. + */ +export declare function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap; +/** + * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function decodedMap(map: TraceMap): Omit & { + mappings: readonly SourceMapSegment[][]; +}; +/** + * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects + * a sourcemap, or to JSON.stringify. + */ +export declare function encodedMap(map: TraceMap): EncodedSourceMap; +//# sourceMappingURL=trace-mapping.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map new file mode 100644 index 0000000..b5a874c --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"trace-mapping.d.ts","sourceRoot":"","sources":["../src/trace-mapping.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts b/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts new file mode 100644 index 0000000..729c2c3 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts @@ -0,0 +1,107 @@ +import type { SourceMapSegment } from './sourcemap-segment.cts'; +import type { GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap } from './trace-mapping.cts'; +export interface SourceMapV3 { + file?: string | null; + names: string[]; + sourceRoot?: string; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList?: number[]; +} +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +export interface DecodedSourceMap extends SourceMapV3 { + mappings: SourceMapSegment[][]; +} +export interface Section { + offset: { + line: number; + column: number; + }; + map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap; +} +export interface SectionedSourceMap { + file?: string | null; + sections: Section[]; + version: 3; +} +export type OriginalMapping = { + source: string | null; + line: number; + column: number; + name: string | null; +}; +export type InvalidOriginalMapping = { + source: null; + line: null; + column: null; + name: null; +}; +export type GeneratedMapping = { + line: number; + column: number; +}; +export type InvalidGeneratedMapping = { + line: null; + column: null; +}; +export type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND; +export type XInput = { + x_google_ignoreList?: SourceMapV3['ignoreList']; +}; +export type EncodedSourceMapXInput = EncodedSourceMap & XInput; +export type DecodedSourceMapXInput = DecodedSourceMap & XInput; +export type SectionedSourceMapXInput = Omit & { + sections: SectionXInput[]; +}; +export type SectionXInput = Omit & { + map: SectionedSourceMapInput; +}; +export type SourceMapInput = string | EncodedSourceMapXInput | DecodedSourceMapXInput | TraceMap; +export type SectionedSourceMapInput = SourceMapInput | SectionedSourceMapXInput; +export type Needle = { + line: number; + column: number; + bias?: Bias; +}; +export type SourceNeedle = { + source: string; + line: number; + column: number; + bias?: Bias; +}; +export type EachMapping = { + generatedLine: number; + generatedColumn: number; + source: null; + originalLine: null; + originalColumn: null; + name: null; +} | { + generatedLine: number; + generatedColumn: number; + source: string | null; + originalLine: number; + originalColumn: number; + name: string | null; +}; +export declare abstract class SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + resolvedSources: SourceMapV3['sources']; + ignoreList: SourceMapV3['ignoreList']; +} +export type Ro = T extends Array ? V[] | Readonly | RoArray | Readonly> : T extends object ? T | Readonly | RoObject | Readonly> : T; +type RoArray = Ro[]; +type RoObject = { + [K in keyof T]: T[K] | Ro; +}; +export declare function parse(map: T): Exclude; +export {}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map b/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map new file mode 100644 index 0000000..9224783 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts b/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts new file mode 100644 index 0000000..a26d186 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts @@ -0,0 +1,107 @@ +import type { SourceMapSegment } from './sourcemap-segment.mts'; +import type { GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap } from './trace-mapping.mts'; +export interface SourceMapV3 { + file?: string | null; + names: string[]; + sourceRoot?: string; + sources: (string | null)[]; + sourcesContent?: (string | null)[]; + version: 3; + ignoreList?: number[]; +} +export interface EncodedSourceMap extends SourceMapV3 { + mappings: string; +} +export interface DecodedSourceMap extends SourceMapV3 { + mappings: SourceMapSegment[][]; +} +export interface Section { + offset: { + line: number; + column: number; + }; + map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap; +} +export interface SectionedSourceMap { + file?: string | null; + sections: Section[]; + version: 3; +} +export type OriginalMapping = { + source: string | null; + line: number; + column: number; + name: string | null; +}; +export type InvalidOriginalMapping = { + source: null; + line: null; + column: null; + name: null; +}; +export type GeneratedMapping = { + line: number; + column: number; +}; +export type InvalidGeneratedMapping = { + line: null; + column: null; +}; +export type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND; +export type XInput = { + x_google_ignoreList?: SourceMapV3['ignoreList']; +}; +export type EncodedSourceMapXInput = EncodedSourceMap & XInput; +export type DecodedSourceMapXInput = DecodedSourceMap & XInput; +export type SectionedSourceMapXInput = Omit & { + sections: SectionXInput[]; +}; +export type SectionXInput = Omit & { + map: SectionedSourceMapInput; +}; +export type SourceMapInput = string | EncodedSourceMapXInput | DecodedSourceMapXInput | TraceMap; +export type SectionedSourceMapInput = SourceMapInput | SectionedSourceMapXInput; +export type Needle = { + line: number; + column: number; + bias?: Bias; +}; +export type SourceNeedle = { + source: string; + line: number; + column: number; + bias?: Bias; +}; +export type EachMapping = { + generatedLine: number; + generatedColumn: number; + source: null; + originalLine: null; + originalColumn: null; + name: null; +} | { + generatedLine: number; + generatedColumn: number; + source: string | null; + originalLine: number; + originalColumn: number; + name: string | null; +}; +export declare abstract class SourceMap { + version: SourceMapV3['version']; + file: SourceMapV3['file']; + names: SourceMapV3['names']; + sourceRoot: SourceMapV3['sourceRoot']; + sources: SourceMapV3['sources']; + sourcesContent: SourceMapV3['sourcesContent']; + resolvedSources: SourceMapV3['sources']; + ignoreList: SourceMapV3['ignoreList']; +} +export type Ro = T extends Array ? V[] | Readonly | RoArray | Readonly> : T extends object ? T | Readonly | RoObject | Readonly> : T; +type RoArray = Ro[]; +type RoObject = { + [K in keyof T]: T[K] | Ro; +}; +export declare function parse(map: T): Exclude; +export {}; +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map b/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map new file mode 100644 index 0000000..9224783 --- /dev/null +++ b/client/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/client/node_modules/@rolldown/pluginutils/LICENSE b/client/node_modules/@rolldown/pluginutils/LICENSE new file mode 100644 index 0000000..afc0cdb --- /dev/null +++ b/client/node_modules/@rolldown/pluginutils/LICENSE @@ -0,0 +1,25 @@ +MIT License + +Copyright (c) 2024-present VoidZero Inc. & Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +end of terms and conditions + +The licenses of externally maintained libraries from which parts of the Software is derived are listed [here](https://github.com/rolldown/rolldown/blob/main/THIRD-PARTY-LICENSE). diff --git a/client/node_modules/@rolldown/pluginutils/dist/index.cjs b/client/node_modules/@rolldown/pluginutils/dist/index.cjs new file mode 100644 index 0000000..e1ed532 --- /dev/null +++ b/client/node_modules/@rolldown/pluginutils/dist/index.cjs @@ -0,0 +1,271 @@ + +//#region src/utils.ts +const postfixRE = /[?#].*$/; +function cleanUrl(url) { + return url.replace(postfixRE, ""); +} +function extractQueryWithoutFragment(url) { + const questionMarkIndex = url.indexOf("?"); + if (questionMarkIndex === -1) return ""; + const fragmentIndex = url.indexOf("#", questionMarkIndex); + if (fragmentIndex === -1) return url.substring(questionMarkIndex); + else return url.substring(questionMarkIndex, fragmentIndex); +} + +//#endregion +//#region src/composable-filters.ts +var And = class { + kind; + args; + constructor(...args) { + if (args.length === 0) throw new Error("`And` expects at least one operand"); + this.args = args; + this.kind = "and"; + } +}; +var Or = class { + kind; + args; + constructor(...args) { + if (args.length === 0) throw new Error("`Or` expects at least one operand"); + this.args = args; + this.kind = "or"; + } +}; +var Not = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "not"; + } +}; +var Id = class { + kind; + pattern; + params; + constructor(pattern, params) { + this.pattern = pattern; + this.kind = "id"; + this.params = params ?? { cleanUrl: false }; + } +}; +var ModuleType = class { + kind; + pattern; + constructor(pattern) { + this.pattern = pattern; + this.kind = "moduleType"; + } +}; +var Code = class { + kind; + pattern; + constructor(expr) { + this.pattern = expr; + this.kind = "code"; + } +}; +var Query = class { + kind; + key; + pattern; + constructor(key, pattern) { + this.pattern = pattern; + this.key = key; + this.kind = "query"; + } +}; +var Include = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "include"; + } +}; +var Exclude = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "exclude"; + } +}; +function and(...args) { + return new And(...args); +} +function or(...args) { + return new Or(...args); +} +function not(expr) { + return new Not(expr); +} +function id(pattern, params) { + return new Id(pattern, params); +} +function moduleType(pattern) { + return new ModuleType(pattern); +} +function code(pattern) { + return new Code(pattern); +} +function query(key, pattern) { + return new Query(key, pattern); +} +function include(expr) { + return new Include(expr); +} +function exclude(expr) { + return new Exclude(expr); +} +/** +* convert a queryObject to FilterExpression like +* ```js +* and(query(k1, v1), query(k2, v2)) +* ``` +* @param queryFilterObject The query filter object needs to be matched. +* @returns a `And` FilterExpression +*/ +function queries(queryFilter) { + let arr = Object.entries(queryFilter).map(([key, value]) => { + return new Query(key, value); + }); + return and(...arr); +} +function interpreter(exprs, code$1, id$1, moduleType$1) { + let arr = []; + if (Array.isArray(exprs)) arr = exprs; + else arr = [exprs]; + return interpreterImpl(arr, code$1, id$1, moduleType$1); +} +function interpreterImpl(expr, code$1, id$1, moduleType$1, ctx = {}) { + let hasInclude = false; + for (const e of expr) switch (e.kind) { + case "include": { + hasInclude = true; + if (exprInterpreter(e.expr, code$1, id$1, moduleType$1, ctx)) return true; + break; + } + case "exclude": { + if (exprInterpreter(e.expr, code$1, id$1, moduleType$1)) return false; + break; + } + } + return !hasInclude; +} +function exprInterpreter(expr, code$1, id$1, moduleType$1, ctx = {}) { + switch (expr.kind) { + case "and": return expr.args.every((e) => exprInterpreter(e, code$1, id$1, moduleType$1, ctx)); + case "or": return expr.args.some((e) => exprInterpreter(e, code$1, id$1, moduleType$1, ctx)); + case "not": return !exprInterpreter(expr.expr, code$1, id$1, moduleType$1, ctx); + case "id": { + if (id$1 === void 0) throw new Error("`id` is required for `id` expression"); + if (expr.params.cleanUrl) id$1 = cleanUrl(id$1); + return typeof expr.pattern === "string" ? id$1 === expr.pattern : expr.pattern.test(id$1); + } + case "moduleType": { + if (moduleType$1 === void 0) throw new Error("`moduleType` is required for `moduleType` expression"); + return moduleType$1 === expr.pattern; + } + case "code": { + if (code$1 === void 0) throw new Error("`code` is required for `code` expression"); + return typeof expr.pattern === "string" ? code$1.includes(expr.pattern) : expr.pattern.test(code$1); + } + case "query": { + if (id$1 === void 0) throw new Error("`id` is required for `Query` expression"); + if (!ctx.urlSearchParamsCache) { + let queryString = extractQueryWithoutFragment(id$1); + ctx.urlSearchParamsCache = new URLSearchParams(queryString); + } + let urlParams = ctx.urlSearchParamsCache; + if (typeof expr.pattern === "boolean") if (expr.pattern) return urlParams.has(expr.key); + else return !urlParams.has(expr.key); + else if (typeof expr.pattern === "string") return urlParams.get(expr.key) === expr.pattern; + else return expr.pattern.test(urlParams.get(expr.key) ?? ""); + } + default: throw new Error(`Expression ${JSON.stringify(expr)} is not expected.`); + } +} + +//#endregion +//#region src/simple-filters.ts +/** +* Constructs a RegExp that matches the exact string specified. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { exactRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: exactRegex('foo') }, +* handler(id) {} // will only be called for `foo` +* } +* } +* ``` +*/ +function exactRegex(str, flags) { + return new RegExp(`^${escapeRegex(str)}$`, flags); +} +/** +* Constructs a RegExp that matches a value that has the specified prefix. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { prefixRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: prefixRegex('foo') }, +* handler(id) {} // will only be called for IDs starting with `foo` +* } +* } +* ``` +*/ +function prefixRegex(str, flags) { + return new RegExp(`^${escapeRegex(str)}`, flags); +} +const escapeRegexRE = /[-/\\^$*+?.()|[\]{}]/g; +function escapeRegex(str) { + return str.replace(escapeRegexRE, "\\$&"); +} +function makeIdFiltersToMatchWithQuery(input) { + if (!Array.isArray(input)) return makeIdFilterToMatchWithQuery(input); + return input.map((i) => makeIdFilterToMatchWithQuery(i)); +} +function makeIdFilterToMatchWithQuery(input) { + if (typeof input === "string") return `${input}{?*,}`; + return makeRegexIdFilterToMatchWithQuery(input); +} +function makeRegexIdFilterToMatchWithQuery(input) { + return new RegExp(input.source.replace(/(? = T extends string ? string : T; +/** +* Converts a id filter to match with an id with a query. +* +* @param input the id filters to convert. +* +* @example +* ```ts +* import { makeIdFiltersToMatchWithQuery } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* transform: { +* filter: { id: makeIdFiltersToMatchWithQuery(['**' + '/*.js', /\.ts$/]) }, +* // The handler will be called for IDs like: +* // - foo.js +* // - foo.js?foo +* // - foo.txt?foo.js +* // - foo.ts +* // - foo.ts?foo +* // - foo.txt?foo.ts +* handler(code, id) {} +* } +* } +* ``` +*/ +declare function makeIdFiltersToMatchWithQuery(input: T): WidenString; +declare function makeIdFiltersToMatchWithQuery(input: readonly T[]): WidenString[]; +declare function makeIdFiltersToMatchWithQuery(input: string | RegExp | readonly (string | RegExp)[]): string | RegExp | (string | RegExp)[]; +//#endregion +export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; \ No newline at end of file diff --git a/client/node_modules/@rolldown/pluginutils/dist/index.d.ts b/client/node_modules/@rolldown/pluginutils/dist/index.d.ts new file mode 100644 index 0000000..97c0163 --- /dev/null +++ b/client/node_modules/@rolldown/pluginutils/dist/index.d.ts @@ -0,0 +1,157 @@ +//#region src/composable-filters.d.ts +type StringOrRegExp = string | RegExp; +type PluginModuleType = "js" | "jsx" | "ts" | "tsx" | "json" | "text" | "base64" | "dataurl" | "binary" | "empty" | (string & {}); +type FilterExpressionKind = FilterExpression["kind"]; +type FilterExpression = And | Or | Not | Id | ModuleType | Code | Query; +type TopLevelFilterExpression = Include | Exclude; +declare class And { + kind: "and"; + args: FilterExpression[]; + constructor(...args: FilterExpression[]); +} +declare class Or { + kind: "or"; + args: FilterExpression[]; + constructor(...args: FilterExpression[]); +} +declare class Not { + kind: "not"; + expr: FilterExpression; + constructor(expr: FilterExpression); +} +interface QueryFilterObject { + [key: string]: StringOrRegExp | boolean; +} +interface IdParams { + cleanUrl?: boolean; +} +declare class Id { + kind: "id"; + pattern: StringOrRegExp; + params: IdParams; + constructor(pattern: StringOrRegExp, params?: IdParams); +} +declare class ModuleType { + kind: "moduleType"; + pattern: PluginModuleType; + constructor(pattern: PluginModuleType); +} +declare class Code { + kind: "code"; + pattern: StringOrRegExp; + constructor(expr: StringOrRegExp); +} +declare class Query { + kind: "query"; + key: string; + pattern: StringOrRegExp | boolean; + constructor(key: string, pattern: StringOrRegExp | boolean); +} +declare class Include { + kind: "include"; + expr: FilterExpression; + constructor(expr: FilterExpression); +} +declare class Exclude { + kind: "exclude"; + expr: FilterExpression; + constructor(expr: FilterExpression); +} +declare function and(...args: FilterExpression[]): And; +declare function or(...args: FilterExpression[]): Or; +declare function not(expr: FilterExpression): Not; +declare function id(pattern: StringOrRegExp, params?: IdParams): Id; +declare function moduleType(pattern: PluginModuleType): ModuleType; +declare function code(pattern: StringOrRegExp): Code; +declare function query(key: string, pattern: StringOrRegExp | boolean): Query; +declare function include(expr: FilterExpression): Include; +declare function exclude(expr: FilterExpression): Exclude; +/** +* convert a queryObject to FilterExpression like +* ```js +* and(query(k1, v1), query(k2, v2)) +* ``` +* @param queryFilterObject The query filter object needs to be matched. +* @returns a `And` FilterExpression +*/ +declare function queries(queryFilter: QueryFilterObject): And; +declare function interpreter(exprs: TopLevelFilterExpression | TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType): boolean; +interface InterpreterCtx { + urlSearchParamsCache?: URLSearchParams; +} +declare function interpreterImpl(expr: TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType, ctx?: InterpreterCtx): boolean; +declare function exprInterpreter(expr: FilterExpression, code?: string, id?: string, moduleType?: PluginModuleType, ctx?: InterpreterCtx): boolean; +//#endregion +//#region src/simple-filters.d.ts +/** +* Constructs a RegExp that matches the exact string specified. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { exactRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: exactRegex('foo') }, +* handler(id) {} // will only be called for `foo` +* } +* } +* ``` +*/ +declare function exactRegex(str: string, flags?: string): RegExp; +/** +* Constructs a RegExp that matches a value that has the specified prefix. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { prefixRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: prefixRegex('foo') }, +* handler(id) {} // will only be called for IDs starting with `foo` +* } +* } +* ``` +*/ +declare function prefixRegex(str: string, flags?: string): RegExp; +type WidenString = T extends string ? string : T; +/** +* Converts a id filter to match with an id with a query. +* +* @param input the id filters to convert. +* +* @example +* ```ts +* import { makeIdFiltersToMatchWithQuery } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* transform: { +* filter: { id: makeIdFiltersToMatchWithQuery(['**' + '/*.js', /\.ts$/]) }, +* // The handler will be called for IDs like: +* // - foo.js +* // - foo.js?foo +* // - foo.txt?foo.js +* // - foo.ts +* // - foo.ts?foo +* // - foo.txt?foo.ts +* handler(code, id) {} +* } +* } +* ``` +*/ +declare function makeIdFiltersToMatchWithQuery(input: T): WidenString; +declare function makeIdFiltersToMatchWithQuery(input: readonly T[]): WidenString[]; +declare function makeIdFiltersToMatchWithQuery(input: string | RegExp | readonly (string | RegExp)[]): string | RegExp | (string | RegExp)[]; +//#endregion +export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; \ No newline at end of file diff --git a/client/node_modules/@rolldown/pluginutils/dist/index.js b/client/node_modules/@rolldown/pluginutils/dist/index.js new file mode 100644 index 0000000..18361e8 --- /dev/null +++ b/client/node_modules/@rolldown/pluginutils/dist/index.js @@ -0,0 +1,255 @@ +//#region src/utils.ts +const postfixRE = /[?#].*$/; +function cleanUrl(url) { + return url.replace(postfixRE, ""); +} +function extractQueryWithoutFragment(url) { + const questionMarkIndex = url.indexOf("?"); + if (questionMarkIndex === -1) return ""; + const fragmentIndex = url.indexOf("#", questionMarkIndex); + if (fragmentIndex === -1) return url.substring(questionMarkIndex); + else return url.substring(questionMarkIndex, fragmentIndex); +} + +//#endregion +//#region src/composable-filters.ts +var And = class { + kind; + args; + constructor(...args) { + if (args.length === 0) throw new Error("`And` expects at least one operand"); + this.args = args; + this.kind = "and"; + } +}; +var Or = class { + kind; + args; + constructor(...args) { + if (args.length === 0) throw new Error("`Or` expects at least one operand"); + this.args = args; + this.kind = "or"; + } +}; +var Not = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "not"; + } +}; +var Id = class { + kind; + pattern; + params; + constructor(pattern, params) { + this.pattern = pattern; + this.kind = "id"; + this.params = params ?? { cleanUrl: false }; + } +}; +var ModuleType = class { + kind; + pattern; + constructor(pattern) { + this.pattern = pattern; + this.kind = "moduleType"; + } +}; +var Code = class { + kind; + pattern; + constructor(expr) { + this.pattern = expr; + this.kind = "code"; + } +}; +var Query = class { + kind; + key; + pattern; + constructor(key, pattern) { + this.pattern = pattern; + this.key = key; + this.kind = "query"; + } +}; +var Include = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "include"; + } +}; +var Exclude = class { + kind; + expr; + constructor(expr) { + this.expr = expr; + this.kind = "exclude"; + } +}; +function and(...args) { + return new And(...args); +} +function or(...args) { + return new Or(...args); +} +function not(expr) { + return new Not(expr); +} +function id(pattern, params) { + return new Id(pattern, params); +} +function moduleType(pattern) { + return new ModuleType(pattern); +} +function code(pattern) { + return new Code(pattern); +} +function query(key, pattern) { + return new Query(key, pattern); +} +function include(expr) { + return new Include(expr); +} +function exclude(expr) { + return new Exclude(expr); +} +/** +* convert a queryObject to FilterExpression like +* ```js +* and(query(k1, v1), query(k2, v2)) +* ``` +* @param queryFilterObject The query filter object needs to be matched. +* @returns a `And` FilterExpression +*/ +function queries(queryFilter) { + let arr = Object.entries(queryFilter).map(([key, value]) => { + return new Query(key, value); + }); + return and(...arr); +} +function interpreter(exprs, code$1, id$1, moduleType$1) { + let arr = []; + if (Array.isArray(exprs)) arr = exprs; + else arr = [exprs]; + return interpreterImpl(arr, code$1, id$1, moduleType$1); +} +function interpreterImpl(expr, code$1, id$1, moduleType$1, ctx = {}) { + let hasInclude = false; + for (const e of expr) switch (e.kind) { + case "include": { + hasInclude = true; + if (exprInterpreter(e.expr, code$1, id$1, moduleType$1, ctx)) return true; + break; + } + case "exclude": { + if (exprInterpreter(e.expr, code$1, id$1, moduleType$1)) return false; + break; + } + } + return !hasInclude; +} +function exprInterpreter(expr, code$1, id$1, moduleType$1, ctx = {}) { + switch (expr.kind) { + case "and": return expr.args.every((e) => exprInterpreter(e, code$1, id$1, moduleType$1, ctx)); + case "or": return expr.args.some((e) => exprInterpreter(e, code$1, id$1, moduleType$1, ctx)); + case "not": return !exprInterpreter(expr.expr, code$1, id$1, moduleType$1, ctx); + case "id": { + if (id$1 === void 0) throw new Error("`id` is required for `id` expression"); + if (expr.params.cleanUrl) id$1 = cleanUrl(id$1); + return typeof expr.pattern === "string" ? id$1 === expr.pattern : expr.pattern.test(id$1); + } + case "moduleType": { + if (moduleType$1 === void 0) throw new Error("`moduleType` is required for `moduleType` expression"); + return moduleType$1 === expr.pattern; + } + case "code": { + if (code$1 === void 0) throw new Error("`code` is required for `code` expression"); + return typeof expr.pattern === "string" ? code$1.includes(expr.pattern) : expr.pattern.test(code$1); + } + case "query": { + if (id$1 === void 0) throw new Error("`id` is required for `Query` expression"); + if (!ctx.urlSearchParamsCache) { + let queryString = extractQueryWithoutFragment(id$1); + ctx.urlSearchParamsCache = new URLSearchParams(queryString); + } + let urlParams = ctx.urlSearchParamsCache; + if (typeof expr.pattern === "boolean") if (expr.pattern) return urlParams.has(expr.key); + else return !urlParams.has(expr.key); + else if (typeof expr.pattern === "string") return urlParams.get(expr.key) === expr.pattern; + else return expr.pattern.test(urlParams.get(expr.key) ?? ""); + } + default: throw new Error(`Expression ${JSON.stringify(expr)} is not expected.`); + } +} + +//#endregion +//#region src/simple-filters.ts +/** +* Constructs a RegExp that matches the exact string specified. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { exactRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: exactRegex('foo') }, +* handler(id) {} // will only be called for `foo` +* } +* } +* ``` +*/ +function exactRegex(str, flags) { + return new RegExp(`^${escapeRegex(str)}$`, flags); +} +/** +* Constructs a RegExp that matches a value that has the specified prefix. +* +* This is useful for plugin hook filters. +* +* @param str the string to match. +* @param flags flags for the RegExp. +* +* @example +* ```ts +* import { prefixRegex } from '@rolldown/pluginutils'; +* const plugin = { +* name: 'plugin', +* resolveId: { +* filter: { id: prefixRegex('foo') }, +* handler(id) {} // will only be called for IDs starting with `foo` +* } +* } +* ``` +*/ +function prefixRegex(str, flags) { + return new RegExp(`^${escapeRegex(str)}`, flags); +} +const escapeRegexRE = /[-/\\^$*+?.()|[\]{}]/g; +function escapeRegex(str) { + return str.replace(escapeRegexRE, "\\$&"); +} +function makeIdFiltersToMatchWithQuery(input) { + if (!Array.isArray(input)) return makeIdFilterToMatchWithQuery(input); + return input.map((i) => makeIdFilterToMatchWithQuery(i)); +} +function makeIdFilterToMatchWithQuery(input) { + if (typeof input === "string") return `${input}{?*,}`; + return makeRegexIdFilterToMatchWithQuery(input); +} +function makeRegexIdFilterToMatchWithQuery(input) { + return new RegExp(input.source.replace(/(?VaWd(UJNu|4hgea~~w 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�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 lw&} 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

Z|*lJx3yA?+} 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⁢sys2 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