From 5e678a8919cef5fe0515d7a7d70d26c7ba894010 Mon Sep 17 00:00:00 2001 From: Alexandre Mouton-Brady Date: Fri, 25 Sep 2020 15:48:47 +0200 Subject: [PATCH] :arrow_up: Update to yarn 2 + solid 0.20 + clean up deps --- .gitignore | 9 +- .pnp.js | 14962 ++++++++++++++++++++++++++++++++++++ .vscode/extensions.json | 5 + .vscode/settings.json | 8 + .yarnrc.yml | 5 + package.json | 25 +- playground/package.json | 15 - playground/pnpm-lock.yaml | 2109 ----- playground/src/index.html | 13 - playground/src/main.tsx | 6 - playground/tsconfig.json | 11 - playground/vite.config.ts | 10 - pnpm-lock.yaml | 2442 ------ yarn.lock | 3892 ++++++++++ 14 files changed, 18894 insertions(+), 4618 deletions(-) create mode 100755 .pnp.js create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 .yarnrc.yml delete mode 100644 playground/package.json delete mode 100644 playground/pnpm-lock.yaml delete mode 100644 playground/src/index.html delete mode 100644 playground/src/main.tsx delete mode 100644 playground/tsconfig.json delete mode 100644 playground/vite.config.ts delete mode 100644 pnpm-lock.yaml create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 7dbcbd3..bb475e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ node_modules lib -dist \ No newline at end of file +dist + +.yarn/* +!.yarn/cache +!.yarn/releases +!.yarn/plugins +!.yarn/sdks +!.yarn/versions \ No newline at end of file diff --git a/.pnp.js b/.pnp.js new file mode 100755 index 0000000..214abaf --- /dev/null +++ b/.pnp.js @@ -0,0 +1,14962 @@ +#!/usr/bin/env node +/* eslint-disable */ + +try { + Object.freeze({}).detectStrictMode = true; +} catch (error) { + throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`); +} + +var __non_webpack_module__ = module; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState({ + "__info": [ + "This file is automatically generated. Do not touch it, or risk", + "your modifications being lost. We also recommend you not to read", + "it either without using the @yarnpkg/pnp package, as the data layout", + "is entirely unspecified and WILL change from a version to another." + ], + "dependencyTreeRoots": [ + { + "name": "@amoutonbrady/vite-plugin-solid", + "reference": "workspace:." + } + ], + "enableTopLevelFallback": true, + "ignorePatternData": "(^(?:\\.yarn\\/sdks(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)|$))$)", + "fallbackExclusionList": [ + ["@amoutonbrady/vite-plugin-solid", ["workspace:."]] + ], + "fallbackPool": [ + ], + "locationBlacklistData": [ + ], + "packageRegistryData": [ + [null, [ + [null, { + "packageLocation": "./", + "packageDependencies": [ + ["@babel/core", "npm:7.11.6"], + ["@babel/preset-typescript", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:7.10.4"], + ["@babel/types", "npm:7.11.5"], + ["@rollup/plugin-babel", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:5.2.1"], + ["@types/babel__core", "npm:7.1.10"], + ["@types/dedent", "npm:0.7.0"], + ["@types/node", "npm:14.11.2"], + ["babel-preset-solid", "npm:0.20.0"], + ["dedent", "npm:0.7.0"], + ["rollup", "npm:2.28.2"], + ["solid-js", "npm:0.20.0"], + ["source-map", "npm:0.7.3"], + ["typescript", "patch:typescript@npm%3A4.0.3#builtin::version=4.0.3&hash=5b02a2"], + ["vite", "npm:1.0.0-rc.4"] + ], + "linkType": "SOFT", + }] + ]], + ["@amoutonbrady/vite-plugin-solid", [ + ["workspace:.", { + "packageLocation": "./", + "packageDependencies": [ + ["@amoutonbrady/vite-plugin-solid", "workspace:."], + ["@babel/core", "npm:7.11.6"], + ["@babel/preset-typescript", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:7.10.4"], + ["@babel/types", "npm:7.11.5"], + ["@rollup/plugin-babel", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:5.2.1"], + ["@types/babel__core", "npm:7.1.10"], + ["@types/dedent", "npm:0.7.0"], + ["@types/node", "npm:14.11.2"], + ["babel-preset-solid", "npm:0.20.0"], + ["dedent", "npm:0.7.0"], + ["rollup", "npm:2.28.2"], + ["solid-js", "npm:0.20.0"], + ["source-map", "npm:0.7.3"], + ["typescript", "patch:typescript@npm%3A4.0.3#builtin::version=4.0.3&hash=5b02a2"], + ["vite", "npm:1.0.0-rc.4"] + ], + "linkType": "SOFT", + }] + ]], + ["@babel/code-frame", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.10.4-ab1ee3c93e-05245d3b22.zip/node_modules/@babel/code-frame/", + "packageDependencies": [ + ["@babel/code-frame", "npm:7.10.4"], + ["@babel/highlight", "npm:7.10.4"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/core", [ + ["npm:7.11.6", { + "packageLocation": "./.yarn/cache/@babel-core-npm-7.11.6-297ab082a2-ad61c22807.zip/node_modules/@babel/core/", + "packageDependencies": [ + ["@babel/core", "npm:7.11.6"], + ["@babel/code-frame", "npm:7.10.4"], + ["@babel/generator", "npm:7.11.6"], + ["@babel/helper-module-transforms", "npm:7.11.0"], + ["@babel/helpers", "npm:7.10.4"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/template", "npm:7.10.4"], + ["@babel/traverse", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"], + ["convert-source-map", "npm:1.7.0"], + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["gensync", "npm:1.0.0-beta.1"], + ["json5", "npm:2.1.3"], + ["lodash", "npm:4.17.20"], + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"], + ["semver", "npm:5.7.1"], + ["source-map", "npm:0.5.7"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/generator", [ + ["npm:7.11.6", { + "packageLocation": "./.yarn/cache/@babel-generator-npm-7.11.6-54b7afa079-734bd60e01.zip/node_modules/@babel/generator/", + "packageDependencies": [ + ["@babel/generator", "npm:7.11.6"], + ["@babel/types", "npm:7.11.5"], + ["jsesc", "npm:2.5.2"], + ["source-map", "npm:0.5.7"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-create-class-features-plugin", [ + ["virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.5", { + "packageLocation": "./.yarn/$$virtual/@babel-helper-create-class-features-plugin-virtual-2b55547341/0/cache/@babel-helper-create-class-features-plugin-npm-7.10.5-d617be0e4a-ba8fb0f7b7.zip/node_modules/@babel/helper-create-class-features-plugin/", + "packageDependencies": [ + ["@babel/helper-create-class-features-plugin", "virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.5"], + ["@babel/core", "npm:7.11.6"], + ["@babel/helper-function-name", "npm:7.10.4"], + ["@babel/helper-member-expression-to-functions", "npm:7.11.0"], + ["@babel/helper-optimise-call-expression", "npm:7.10.4"], + ["@babel/helper-plugin-utils", "npm:7.10.4"], + ["@babel/helper-replace-supers", "npm:7.10.4"], + ["@babel/helper-split-export-declaration", "npm:7.11.0"], + ["@types/babel__core", "npm:7.1.10"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core" + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-function-name", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-function-name-npm-7.10.4-153d80f559-41ab8f48bb.zip/node_modules/@babel/helper-function-name/", + "packageDependencies": [ + ["@babel/helper-function-name", "npm:7.10.4"], + ["@babel/helper-get-function-arity", "npm:7.10.4"], + ["@babel/template", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-get-function-arity", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-get-function-arity-npm-7.10.4-29a99c32bb-4f0ddd4340.zip/node_modules/@babel/helper-get-function-arity/", + "packageDependencies": [ + ["@babel/helper-get-function-arity", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-member-expression-to-functions", [ + ["npm:7.11.0", { + "packageLocation": "./.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.11.0-4510369a62-745f0697ca.zip/node_modules/@babel/helper-member-expression-to-functions/", + "packageDependencies": [ + ["@babel/helper-member-expression-to-functions", "npm:7.11.0"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-module-imports", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-module-imports-npm-7.10.4-f55d85af2c-84d03b58e7.zip/node_modules/@babel/helper-module-imports/", + "packageDependencies": [ + ["@babel/helper-module-imports", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-module-transforms", [ + ["npm:7.11.0", { + "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.11.0-58f745effc-8b74d0a729.zip/node_modules/@babel/helper-module-transforms/", + "packageDependencies": [ + ["@babel/helper-module-transforms", "npm:7.11.0"], + ["@babel/helper-module-imports", "npm:7.10.4"], + ["@babel/helper-replace-supers", "npm:7.10.4"], + ["@babel/helper-simple-access", "npm:7.10.4"], + ["@babel/helper-split-export-declaration", "npm:7.11.0"], + ["@babel/template", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"], + ["lodash", "npm:4.17.20"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-optimise-call-expression", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-optimise-call-expression-npm-7.10.4-135301e242-70dd5a6daf.zip/node_modules/@babel/helper-optimise-call-expression/", + "packageDependencies": [ + ["@babel/helper-optimise-call-expression", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-plugin-utils", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.10.4-af87df4f11-9f617e619a.zip/node_modules/@babel/helper-plugin-utils/", + "packageDependencies": [ + ["@babel/helper-plugin-utils", "npm:7.10.4"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-replace-supers", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-replace-supers-npm-7.10.4-8bf69fb844-2d7e0627cd.zip/node_modules/@babel/helper-replace-supers/", + "packageDependencies": [ + ["@babel/helper-replace-supers", "npm:7.10.4"], + ["@babel/helper-member-expression-to-functions", "npm:7.11.0"], + ["@babel/helper-optimise-call-expression", "npm:7.10.4"], + ["@babel/traverse", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-simple-access", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.10.4-0a4bf355e6-a7ce52a229.zip/node_modules/@babel/helper-simple-access/", + "packageDependencies": [ + ["@babel/helper-simple-access", "npm:7.10.4"], + ["@babel/template", "npm:7.10.4"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-split-export-declaration", [ + ["npm:7.11.0", { + "packageLocation": "./.yarn/cache/@babel-helper-split-export-declaration-npm-7.11.0-d39c69702f-ddfc44d0cf.zip/node_modules/@babel/helper-split-export-declaration/", + "packageDependencies": [ + ["@babel/helper-split-export-declaration", "npm:7.11.0"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helper-validator-identifier", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.10.4-0689d787fa-25098ef842.zip/node_modules/@babel/helper-validator-identifier/", + "packageDependencies": [ + ["@babel/helper-validator-identifier", "npm:7.10.4"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/helpers", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.10.4-5e11989f8d-96859c490a.zip/node_modules/@babel/helpers/", + "packageDependencies": [ + ["@babel/helpers", "npm:7.10.4"], + ["@babel/template", "npm:7.10.4"], + ["@babel/traverse", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/highlight", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-highlight-npm-7.10.4-c7ff18fbba-c167b938af.zip/node_modules/@babel/highlight/", + "packageDependencies": [ + ["@babel/highlight", "npm:7.10.4"], + ["@babel/helper-validator-identifier", "npm:7.10.4"], + ["chalk", "npm:2.4.2"], + ["js-tokens", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/parser", [ + ["npm:7.11.5", { + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.11.5-7dfe3dc547-ef2874e4d2.zip/node_modules/@babel/parser/", + "packageDependencies": [ + ["@babel/parser", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/plugin-syntax-jsx", [ + ["virtual:febd773f058288dcff567beb89c2a3191317484a9d51cd33a6942b5dfdf73ff9e6d7244158d1fa8e88a63aadb27f701151a7b89f5703661f7089fa3735135a06#npm:7.10.4", { + "packageLocation": "./.yarn/$$virtual/@babel-plugin-syntax-jsx-virtual-e39e8e912a/0/cache/@babel-plugin-syntax-jsx-npm-7.10.4-87f1f900f7-7c9a5c56e5.zip/node_modules/@babel/plugin-syntax-jsx/", + "packageDependencies": [ + ["@babel/plugin-syntax-jsx", "virtual:febd773f058288dcff567beb89c2a3191317484a9d51cd33a6942b5dfdf73ff9e6d7244158d1fa8e88a63aadb27f701151a7b89f5703661f7089fa3735135a06#npm:7.10.4"], + ["@babel/core", null], + ["@babel/helper-plugin-utils", "npm:7.10.4"], + ["@types/babel__core", null] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core" + ], + "linkType": "HARD", + }] + ]], + ["@babel/plugin-syntax-typescript", [ + ["virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.4", { + "packageLocation": "./.yarn/$$virtual/@babel-plugin-syntax-typescript-virtual-9b3dd4ad3a/0/cache/@babel-plugin-syntax-typescript-npm-7.10.4-538671574b-9511691ac0.zip/node_modules/@babel/plugin-syntax-typescript/", + "packageDependencies": [ + ["@babel/plugin-syntax-typescript", "virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.4"], + ["@babel/core", "npm:7.11.6"], + ["@babel/helper-plugin-utils", "npm:7.10.4"], + ["@types/babel__core", "npm:7.1.10"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core" + ], + "linkType": "HARD", + }] + ]], + ["@babel/plugin-transform-typescript", [ + ["virtual:5087325cbb4b4e206ebe1d0bd058b4ef6bff99476c24bbb450266cddbce734b854b3c7765a86f5d5494481d5da7bed8fa95e5fdd9ebe324ad9340b10d4def6a0#npm:7.11.0", { + "packageLocation": "./.yarn/$$virtual/@babel-plugin-transform-typescript-virtual-eb8d994ca1/0/cache/@babel-plugin-transform-typescript-npm-7.11.0-8aa0302fa5-0f2e43de8b.zip/node_modules/@babel/plugin-transform-typescript/", + "packageDependencies": [ + ["@babel/plugin-transform-typescript", "virtual:5087325cbb4b4e206ebe1d0bd058b4ef6bff99476c24bbb450266cddbce734b854b3c7765a86f5d5494481d5da7bed8fa95e5fdd9ebe324ad9340b10d4def6a0#npm:7.11.0"], + ["@babel/core", "npm:7.11.6"], + ["@babel/helper-create-class-features-plugin", "virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.5"], + ["@babel/helper-plugin-utils", "npm:7.10.4"], + ["@babel/plugin-syntax-typescript", "virtual:eb8d994ca10e069139cd22878c48b00a1bb3765dd996b0c5e7010abb20fb37c5eea2ccb4d521021c3d4cdfda71ddf19e70c4524bc62224f55d54cdd6a57e07fb#npm:7.10.4"], + ["@types/babel__core", "npm:7.1.10"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core" + ], + "linkType": "HARD", + }] + ]], + ["@babel/preset-typescript", [ + ["virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:7.10.4", { + "packageLocation": "./.yarn/$$virtual/@babel-preset-typescript-virtual-5087325cbb/0/cache/@babel-preset-typescript-npm-7.10.4-74bf655e0f-e14357988c.zip/node_modules/@babel/preset-typescript/", + "packageDependencies": [ + ["@babel/preset-typescript", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:7.10.4"], + ["@babel/core", "npm:7.11.6"], + ["@babel/helper-plugin-utils", "npm:7.10.4"], + ["@babel/plugin-transform-typescript", "virtual:5087325cbb4b4e206ebe1d0bd058b4ef6bff99476c24bbb450266cddbce734b854b3c7765a86f5d5494481d5da7bed8fa95e5fdd9ebe324ad9340b10d4def6a0#npm:7.11.0"], + ["@types/babel__core", "npm:7.1.10"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core" + ], + "linkType": "HARD", + }] + ]], + ["@babel/template", [ + ["npm:7.10.4", { + "packageLocation": "./.yarn/cache/@babel-template-npm-7.10.4-521586243b-23a5c4f7ab.zip/node_modules/@babel/template/", + "packageDependencies": [ + ["@babel/template", "npm:7.10.4"], + ["@babel/code-frame", "npm:7.10.4"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/traverse", [ + ["npm:7.11.5", { + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.11.5-2395052be8-206010caee.zip/node_modules/@babel/traverse/", + "packageDependencies": [ + ["@babel/traverse", "npm:7.11.5"], + ["@babel/code-frame", "npm:7.10.4"], + ["@babel/generator", "npm:7.11.6"], + ["@babel/helper-function-name", "npm:7.10.4"], + ["@babel/helper-split-export-declaration", "npm:7.11.0"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"], + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["globals", "npm:11.12.0"], + ["lodash", "npm:4.17.20"] + ], + "linkType": "HARD", + }] + ]], + ["@babel/types", [ + ["npm:7.11.5", { + "packageLocation": "./.yarn/cache/@babel-types-npm-7.11.5-d0fc2e4f15-a1515b3ed1.zip/node_modules/@babel/types/", + "packageDependencies": [ + ["@babel/types", "npm:7.11.5"], + ["@babel/helper-validator-identifier", "npm:7.10.4"], + ["lodash", "npm:4.17.20"], + ["to-fast-properties", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@nodelib/fs.scandir", [ + ["npm:2.1.3", { + "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.3-92e0b8f0d5-1f100655dd.zip/node_modules/@nodelib/fs.scandir/", + "packageDependencies": [ + ["@nodelib/fs.scandir", "npm:2.1.3"], + ["@nodelib/fs.stat", "npm:2.0.3"], + ["run-parallel", "npm:1.1.9"] + ], + "linkType": "HARD", + }] + ]], + ["@nodelib/fs.stat", [ + ["npm:2.0.3", { + "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.3-be9eaa5ef7-1bfdb2f419.zip/node_modules/@nodelib/fs.stat/", + "packageDependencies": [ + ["@nodelib/fs.stat", "npm:2.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["@nodelib/fs.walk", [ + ["npm:1.2.4", { + "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.4-1ae6c97d00-f4bffba16c.zip/node_modules/@nodelib/fs.walk/", + "packageDependencies": [ + ["@nodelib/fs.walk", "npm:1.2.4"], + ["@nodelib/fs.scandir", "npm:2.1.3"], + ["fastq", "npm:1.8.0"] + ], + "linkType": "HARD", + }] + ]], + ["@rollup/plugin-babel", [ + ["virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:5.2.1", { + "packageLocation": "./.yarn/$$virtual/@rollup-plugin-babel-virtual-d15d039263/0/cache/@rollup-plugin-babel-npm-5.2.1-9eda7bce3d-d5ae15ab30.zip/node_modules/@rollup/plugin-babel/", + "packageDependencies": [ + ["@rollup/plugin-babel", "virtual:8f110da7357cf206b47bc791e15cd755b316e2ecbb6866828c0291ecd5a215b8e819c1f0bdfe6ad91a1a26d9d400fbc2cda64c7f6174af1d367a22da017d95e6#npm:5.2.1"], + ["@babel/core", "npm:7.11.6"], + ["@babel/helper-module-imports", "npm:7.10.4"], + ["@rollup/pluginutils", "virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0"], + ["@types/babel__core", "npm:7.1.10"], + ["@types/rollup", null], + ["@types/types__babel__core", null], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core", + "@types/rollup", + "@types/types__babel__core", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["@rollup/plugin-commonjs", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:14.0.0", { + "packageLocation": "./.yarn/$$virtual/@rollup-plugin-commonjs-virtual-1050adcf72/0/cache/@rollup-plugin-commonjs-npm-14.0.0-9910a4d06b-f8c733dee5.zip/node_modules/@rollup/plugin-commonjs/", + "packageDependencies": [ + ["@rollup/plugin-commonjs", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:14.0.0"], + ["@rollup/pluginutils", "virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0"], + ["@types/rollup", null], + ["commondir", "npm:1.0.1"], + ["estree-walker", "npm:1.0.1"], + ["glob", "npm:7.1.6"], + ["is-reference", "npm:1.2.1"], + ["magic-string", "npm:0.25.7"], + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["@rollup/plugin-json", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:4.1.0", { + "packageLocation": "./.yarn/$$virtual/@rollup-plugin-json-virtual-5abe5fe211/0/cache/@rollup-plugin-json-npm-4.1.0-c932de6f49-07bc6bc83d.zip/node_modules/@rollup/plugin-json/", + "packageDependencies": [ + ["@rollup/plugin-json", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:4.1.0"], + ["@rollup/pluginutils", "virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0"], + ["@types/rollup", null], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["@rollup/plugin-node-resolve", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:8.4.0", { + "packageLocation": "./.yarn/$$virtual/@rollup-plugin-node-resolve-virtual-62db18bc6d/0/cache/@rollup-plugin-node-resolve-npm-8.4.0-4a347c713e-1c3da8d000.zip/node_modules/@rollup/plugin-node-resolve/", + "packageDependencies": [ + ["@rollup/plugin-node-resolve", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:8.4.0"], + ["@rollup/pluginutils", "virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0"], + ["@types/resolve", "npm:1.17.1"], + ["@types/rollup", null], + ["builtin-modules", "npm:3.1.0"], + ["deep-freeze", "npm:0.0.1"], + ["deepmerge", "npm:4.2.2"], + ["is-module", "npm:1.0.0"], + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["@rollup/pluginutils", [ + ["virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0", { + "packageLocation": "./.yarn/$$virtual/@rollup-pluginutils-virtual-61373d1733/0/cache/@rollup-pluginutils-npm-3.1.0-b44b222e7d-45da6411e0.zip/node_modules/@rollup/pluginutils/", + "packageDependencies": [ + ["@rollup/pluginutils", "virtual:1050adcf72ab35cd40bed6d70fd0d8e503b76099d7f3cc02506c5eb1353697a3de85aa9cd8670f1dfc559b5bb7ac91bb059a8612680b233a3ca24753e895a64c#npm:3.1.0"], + ["@types/estree", "npm:0.0.39"], + ["@types/rollup", null], + ["estree-walker", "npm:1.0.1"], + ["picomatch", "npm:2.2.2"], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }], + ["virtual:bf39d803931830728a6e8a8001ad350d7a88b0d0cd8815565938275bf52597d4ddf154b4d2234f9473c9f2affeca2fdb063d72499070ffa8b9276e2e6750a4dc#npm:3.1.0", { + "packageLocation": "./.yarn/$$virtual/@rollup-pluginutils-virtual-17da3f8237/0/cache/@rollup-pluginutils-npm-3.1.0-b44b222e7d-45da6411e0.zip/node_modules/@rollup/pluginutils/", + "packageDependencies": [ + ["@rollup/pluginutils", "virtual:bf39d803931830728a6e8a8001ad350d7a88b0d0cd8815565938275bf52597d4ddf154b4d2234f9473c9f2affeca2fdb063d72499070ffa8b9276e2e6750a4dc#npm:3.1.0"], + ["@types/estree", "npm:0.0.39"], + ["@types/rollup", null], + ["estree-walker", "npm:1.0.1"], + ["picomatch", "npm:2.2.2"], + ["rollup", null] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["@types/accepts", [ + ["npm:1.3.5", { + "packageLocation": "./.yarn/cache/@types-accepts-npm-1.3.5-1d59cd2a7a-78a31c01d9.zip/node_modules/@types/accepts/", + "packageDependencies": [ + ["@types/accepts", "npm:1.3.5"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/babel__core", [ + ["npm:7.1.10", { + "packageLocation": "./.yarn/cache/@types-babel__core-npm-7.1.10-04ad501e9b-fd013086d2.zip/node_modules/@types/babel__core/", + "packageDependencies": [ + ["@types/babel__core", "npm:7.1.10"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"], + ["@types/babel__generator", "npm:7.6.1"], + ["@types/babel__template", "npm:7.0.3"], + ["@types/babel__traverse", "npm:7.0.14"] + ], + "linkType": "HARD", + }] + ]], + ["@types/babel__generator", [ + ["npm:7.6.1", { + "packageLocation": "./.yarn/cache/@types-babel__generator-npm-7.6.1-1afd3e1fa9-d9f19e0e47.zip/node_modules/@types/babel__generator/", + "packageDependencies": [ + ["@types/babel__generator", "npm:7.6.1"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@types/babel__template", [ + ["npm:7.0.3", { + "packageLocation": "./.yarn/cache/@types-babel__template-npm-7.0.3-7d9695a7d2-936119303a.zip/node_modules/@types/babel__template/", + "packageDependencies": [ + ["@types/babel__template", "npm:7.0.3"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@types/babel__traverse", [ + ["npm:7.0.14", { + "packageLocation": "./.yarn/cache/@types-babel__traverse-npm-7.0.14-d81c870835-322b1fc7db.zip/node_modules/@types/babel__traverse/", + "packageDependencies": [ + ["@types/babel__traverse", "npm:7.0.14"], + ["@babel/types", "npm:7.11.5"] + ], + "linkType": "HARD", + }] + ]], + ["@types/body-parser", [ + ["npm:1.19.0", { + "packageLocation": "./.yarn/cache/@types-body-parser-npm-1.19.0-3ca4d08a60-4576f3fde5.zip/node_modules/@types/body-parser/", + "packageDependencies": [ + ["@types/body-parser", "npm:1.19.0"], + ["@types/connect", "npm:3.4.33"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/color-name", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/@types-color-name-npm-1.1.1-00b0925070-8311db94a9.zip/node_modules/@types/color-name/", + "packageDependencies": [ + ["@types/color-name", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["@types/connect", [ + ["npm:3.4.33", { + "packageLocation": "./.yarn/cache/@types-connect-npm-3.4.33-959638d9c6-6414495b59.zip/node_modules/@types/connect/", + "packageDependencies": [ + ["@types/connect", "npm:3.4.33"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/content-disposition", [ + ["npm:0.5.3", { + "packageLocation": "./.yarn/cache/@types-content-disposition-npm-0.5.3-90ee2edb84-1b7d94b19a.zip/node_modules/@types/content-disposition/", + "packageDependencies": [ + ["@types/content-disposition", "npm:0.5.3"] + ], + "linkType": "HARD", + }] + ]], + ["@types/cookies", [ + ["npm:0.7.4", { + "packageLocation": "./.yarn/cache/@types-cookies-npm-0.7.4-884cdf5d42-641b1f5122.zip/node_modules/@types/cookies/", + "packageDependencies": [ + ["@types/cookies", "npm:0.7.4"], + ["@types/connect", "npm:3.4.33"], + ["@types/express", "npm:4.17.8"], + ["@types/keygrip", "npm:1.0.2"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/dedent", [ + ["npm:0.7.0", { + "packageLocation": "./.yarn/cache/@types-dedent-npm-0.7.0-6255895dfd-8fec52e207.zip/node_modules/@types/dedent/", + "packageDependencies": [ + ["@types/dedent", "npm:0.7.0"] + ], + "linkType": "HARD", + }] + ]], + ["@types/estree", [ + ["npm:0.0.39", { + "packageLocation": "./.yarn/cache/@types-estree-npm-0.0.39-f898500e96-43e5361de3.zip/node_modules/@types/estree/", + "packageDependencies": [ + ["@types/estree", "npm:0.0.39"] + ], + "linkType": "HARD", + }] + ]], + ["@types/express", [ + ["npm:4.17.8", { + "packageLocation": "./.yarn/cache/@types-express-npm-4.17.8-c21b94ed16-9220ef3cb0.zip/node_modules/@types/express/", + "packageDependencies": [ + ["@types/express", "npm:4.17.8"], + ["@types/body-parser", "npm:1.19.0"], + ["@types/express-serve-static-core", "npm:4.17.13"], + ["@types/qs", "npm:6.9.5"], + ["@types/serve-static", "npm:1.13.5"] + ], + "linkType": "HARD", + }] + ]], + ["@types/express-serve-static-core", [ + ["npm:4.17.13", { + "packageLocation": "./.yarn/cache/@types-express-serve-static-core-npm-4.17.13-864c105004-6db6f2e0eb.zip/node_modules/@types/express-serve-static-core/", + "packageDependencies": [ + ["@types/express-serve-static-core", "npm:4.17.13"], + ["@types/node", "npm:14.11.2"], + ["@types/qs", "npm:6.9.5"], + ["@types/range-parser", "npm:1.2.3"] + ], + "linkType": "HARD", + }] + ]], + ["@types/http-assert", [ + ["npm:1.5.1", { + "packageLocation": "./.yarn/cache/@types-http-assert-npm-1.5.1-b9321aaef7-0c9cbc568b.zip/node_modules/@types/http-assert/", + "packageDependencies": [ + ["@types/http-assert", "npm:1.5.1"] + ], + "linkType": "HARD", + }] + ]], + ["@types/http-errors", [ + ["npm:1.8.0", { + "packageLocation": "./.yarn/cache/@types-http-errors-npm-1.8.0-962b3aae39-f6a0cf40d0.zip/node_modules/@types/http-errors/", + "packageDependencies": [ + ["@types/http-errors", "npm:1.8.0"] + ], + "linkType": "HARD", + }] + ]], + ["@types/keygrip", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/@types-keygrip-npm-1.0.2-2e57be51bc-8d86a3d702.zip/node_modules/@types/keygrip/", + "packageDependencies": [ + ["@types/keygrip", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/koa", [ + ["npm:2.11.4", { + "packageLocation": "./.yarn/cache/@types-koa-npm-2.11.4-d0c29246d3-2ccf318062.zip/node_modules/@types/koa/", + "packageDependencies": [ + ["@types/koa", "npm:2.11.4"], + ["@types/accepts", "npm:1.3.5"], + ["@types/content-disposition", "npm:0.5.3"], + ["@types/cookies", "npm:0.7.4"], + ["@types/http-assert", "npm:1.5.1"], + ["@types/http-errors", "npm:1.8.0"], + ["@types/keygrip", "npm:1.0.2"], + ["@types/koa-compose", "npm:3.2.5"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/koa-compose", [ + ["npm:3.2.5", { + "packageLocation": "./.yarn/cache/@types-koa-compose-npm-3.2.5-b9ab25d904-bb6cae0309.zip/node_modules/@types/koa-compose/", + "packageDependencies": [ + ["@types/koa-compose", "npm:3.2.5"], + ["@types/koa", "npm:2.11.4"] + ], + "linkType": "HARD", + }] + ]], + ["@types/lru-cache", [ + ["npm:5.1.0", { + "packageLocation": "./.yarn/cache/@types-lru-cache-npm-5.1.0-eea307985c-55bffcbc95.zip/node_modules/@types/lru-cache/", + "packageDependencies": [ + ["@types/lru-cache", "npm:5.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["@types/mime", [ + ["npm:2.0.3", { + "packageLocation": "./.yarn/cache/@types-mime-npm-2.0.3-809d6f0e0f-6df548a912.zip/node_modules/@types/mime/", + "packageDependencies": [ + ["@types/mime", "npm:2.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["@types/node", [ + ["npm:14.11.2", { + "packageLocation": "./.yarn/cache/@types-node-npm-14.11.2-53170144b7-3badcce399.zip/node_modules/@types/node/", + "packageDependencies": [ + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/qs", [ + ["npm:6.9.5", { + "packageLocation": "./.yarn/cache/@types-qs-npm-6.9.5-98e83ee762-afe4721a80.zip/node_modules/@types/qs/", + "packageDependencies": [ + ["@types/qs", "npm:6.9.5"] + ], + "linkType": "HARD", + }] + ]], + ["@types/range-parser", [ + ["npm:1.2.3", { + "packageLocation": "./.yarn/cache/@types-range-parser-npm-1.2.3-c06253b351-092fabae0e.zip/node_modules/@types/range-parser/", + "packageDependencies": [ + ["@types/range-parser", "npm:1.2.3"] + ], + "linkType": "HARD", + }] + ]], + ["@types/resolve", [ + ["npm:1.17.1", { + "packageLocation": "./.yarn/cache/@types-resolve-npm-1.17.1-9a8396bef2-8e72a73574.zip/node_modules/@types/resolve/", + "packageDependencies": [ + ["@types/resolve", "npm:1.17.1"], + ["@types/node", "npm:14.11.2"] + ], + "linkType": "HARD", + }] + ]], + ["@types/serve-static", [ + ["npm:1.13.5", { + "packageLocation": "./.yarn/cache/@types-serve-static-npm-1.13.5-9e6c8c7261-1d4e222e24.zip/node_modules/@types/serve-static/", + "packageDependencies": [ + ["@types/serve-static", "npm:1.13.5"], + ["@types/express-serve-static-core", "npm:4.17.13"], + ["@types/mime", "npm:2.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/compiler-core", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-compiler-core-npm-3.0.0-007e360451-c987bcd74d.zip/node_modules/@vue/compiler-core/", + "packageDependencies": [ + ["@vue/compiler-core", "npm:3.0.0"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"], + ["@vue/shared", "npm:3.0.0"], + ["estree-walker", "npm:2.0.1"], + ["source-map", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/compiler-dom", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-compiler-dom-npm-3.0.0-7dc881da81-88cd218f89.zip/node_modules/@vue/compiler-dom/", + "packageDependencies": [ + ["@vue/compiler-dom", "npm:3.0.0"], + ["@vue/compiler-core", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/compiler-sfc", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/@vue-compiler-sfc-virtual-dbc6f08c32/0/cache/@vue-compiler-sfc-npm-3.0.0-42f60511fd-c4fe7702e0.zip/node_modules/@vue/compiler-sfc/", + "packageDependencies": [ + ["@vue/compiler-sfc", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:3.0.0"], + ["@babel/parser", "npm:7.11.5"], + ["@babel/types", "npm:7.11.5"], + ["@types/vue", null], + ["@vue/compiler-core", "npm:3.0.0"], + ["@vue/compiler-dom", "npm:3.0.0"], + ["@vue/compiler-ssr", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"], + ["consolidate", "npm:0.16.0"], + ["estree-walker", "npm:2.0.1"], + ["hash-sum", "npm:2.0.0"], + ["lru-cache", "npm:5.1.1"], + ["magic-string", "npm:0.25.7"], + ["merge-source-map", "npm:1.1.0"], + ["postcss", "npm:7.0.34"], + ["postcss-modules", "npm:3.2.2"], + ["postcss-selector-parser", "npm:6.0.3"], + ["source-map", "npm:0.6.1"], + ["vue", "npm:3.0.0"] + ], + "packagePeers": [ + "@types/vue", + "vue" + ], + "linkType": "HARD", + }] + ]], + ["@vue/compiler-ssr", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-compiler-ssr-npm-3.0.0-da77d90eda-206b9fcc70.zip/node_modules/@vue/compiler-ssr/", + "packageDependencies": [ + ["@vue/compiler-ssr", "npm:3.0.0"], + ["@vue/compiler-dom", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/reactivity", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-reactivity-npm-3.0.0-a1edef59a7-764ca2c5fe.zip/node_modules/@vue/reactivity/", + "packageDependencies": [ + ["@vue/reactivity", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/runtime-core", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-runtime-core-npm-3.0.0-e398ee6610-005c1af021.zip/node_modules/@vue/runtime-core/", + "packageDependencies": [ + ["@vue/runtime-core", "npm:3.0.0"], + ["@vue/reactivity", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/runtime-dom", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-runtime-dom-npm-3.0.0-df951c9ad6-dbdf6ca2b0.zip/node_modules/@vue/runtime-dom/", + "packageDependencies": [ + ["@vue/runtime-dom", "npm:3.0.0"], + ["@vue/runtime-core", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"], + ["csstype", "npm:2.6.13"] + ], + "linkType": "HARD", + }] + ]], + ["@vue/shared", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/@vue-shared-npm-3.0.0-eb5d0e2833-0be874d92b.zip/node_modules/@vue/shared/", + "packageDependencies": [ + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["abbrev", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/abbrev-npm-1.1.1-3659247eab-9f9236a3cc.zip/node_modules/abbrev/", + "packageDependencies": [ + ["abbrev", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["accepts", [ + ["npm:1.3.7", { + "packageLocation": "./.yarn/cache/accepts-npm-1.3.7-0dc9de65aa-2686fa30db.zip/node_modules/accepts/", + "packageDependencies": [ + ["accepts", "npm:1.3.7"], + ["mime-types", "npm:2.1.27"], + ["negotiator", "npm:0.6.2"] + ], + "linkType": "HARD", + }] + ]], + ["ajv", [ + ["npm:6.12.5", { + "packageLocation": "./.yarn/cache/ajv-npm-6.12.5-15b6d1a59d-d9ec559bd7.zip/node_modules/ajv/", + "packageDependencies": [ + ["ajv", "npm:6.12.5"], + ["fast-deep-equal", "npm:3.1.3"], + ["fast-json-stable-stringify", "npm:2.1.0"], + ["json-schema-traverse", "npm:0.4.1"], + ["uri-js", "npm:4.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["ansi-regex", [ + ["npm:2.1.1", { + "packageLocation": "./.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-93a53c923f.zip/node_modules/ansi-regex/", + "packageDependencies": [ + ["ansi-regex", "npm:2.1.1"] + ], + "linkType": "HARD", + }], + ["npm:5.0.0", { + "packageLocation": "./.yarn/cache/ansi-regex-npm-5.0.0-9c076068d9-cbd9b5c9db.zip/node_modules/ansi-regex/", + "packageDependencies": [ + ["ansi-regex", "npm:5.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["ansi-styles", [ + ["npm:3.2.1", { + "packageLocation": "./.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-456e1c23d9.zip/node_modules/ansi-styles/", + "packageDependencies": [ + ["ansi-styles", "npm:3.2.1"], + ["color-convert", "npm:1.9.3"] + ], + "linkType": "HARD", + }], + ["npm:4.2.1", { + "packageLocation": "./.yarn/cache/ansi-styles-npm-4.2.1-de50ec308d-c8c007d5da.zip/node_modules/ansi-styles/", + "packageDependencies": [ + ["ansi-styles", "npm:4.2.1"], + ["@types/color-name", "npm:1.1.1"], + ["color-convert", "npm:2.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["any-promise", [ + ["npm:1.3.0", { + "packageLocation": "./.yarn/cache/any-promise-npm-1.3.0-f34eeaa7e7-e829425e4a.zip/node_modules/any-promise/", + "packageDependencies": [ + ["any-promise", "npm:1.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["anymatch", [ + ["npm:3.1.1", { + "packageLocation": "./.yarn/cache/anymatch-npm-3.1.1-7dcfa6178a-cf61bbaf7f.zip/node_modules/anymatch/", + "packageDependencies": [ + ["anymatch", "npm:3.1.1"], + ["normalize-path", "npm:3.0.0"], + ["picomatch", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["aproba", [ + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/aproba-npm-1.2.0-34129f0778-d4bac3e640.zip/node_modules/aproba/", + "packageDependencies": [ + ["aproba", "npm:1.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["are-we-there-yet", [ + ["npm:1.1.5", { + "packageLocation": "./.yarn/cache/are-we-there-yet-npm-1.1.5-b8418908b0-2d6fdb0ddd.zip/node_modules/are-we-there-yet/", + "packageDependencies": [ + ["are-we-there-yet", "npm:1.1.5"], + ["delegates", "npm:1.0.0"], + ["readable-stream", "npm:2.3.7"] + ], + "linkType": "HARD", + }] + ]], + ["argparse", [ + ["npm:1.0.10", { + "packageLocation": "./.yarn/cache/argparse-npm-1.0.10-528934e59d-435adaef5f.zip/node_modules/argparse/", + "packageDependencies": [ + ["argparse", "npm:1.0.10"], + ["sprintf-js", "npm:1.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["array-union", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-93af542eb8.zip/node_modules/array-union/", + "packageDependencies": [ + ["array-union", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["asn1", [ + ["npm:0.2.4", { + "packageLocation": "./.yarn/cache/asn1-npm-0.2.4-219dd49411-5743ace942.zip/node_modules/asn1/", + "packageDependencies": [ + ["asn1", "npm:0.2.4"], + ["safer-buffer", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["assert-plus", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-1bda24f673.zip/node_modules/assert-plus/", + "packageDependencies": [ + ["assert-plus", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["asynckit", [ + ["npm:0.4.0", { + "packageLocation": "./.yarn/cache/asynckit-npm-0.4.0-c718858525-a024000b9d.zip/node_modules/asynckit/", + "packageDependencies": [ + ["asynckit", "npm:0.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["at-least-node", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-8f33efc162.zip/node_modules/at-least-node/", + "packageDependencies": [ + ["at-least-node", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["aws-sign2", [ + ["npm:0.7.0", { + "packageLocation": "./.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-7162b9b8fb.zip/node_modules/aws-sign2/", + "packageDependencies": [ + ["aws-sign2", "npm:0.7.0"] + ], + "linkType": "HARD", + }] + ]], + ["aws4", [ + ["npm:1.10.1", { + "packageLocation": "./.yarn/cache/aws4-npm-1.10.1-c15d26e3d7-53f2897324.zip/node_modules/aws4/", + "packageDependencies": [ + ["aws4", "npm:1.10.1"] + ], + "linkType": "HARD", + }] + ]], + ["babel-plugin-jsx-dom-expressions", [ + ["npm:0.20.11", { + "packageLocation": "./.yarn/cache/babel-plugin-jsx-dom-expressions-npm-0.20.11-febd773f05-0a419e27da.zip/node_modules/babel-plugin-jsx-dom-expressions/", + "packageDependencies": [ + ["babel-plugin-jsx-dom-expressions", "npm:0.20.11"], + ["@babel/helper-module-imports", "npm:7.10.4"], + ["@babel/plugin-syntax-jsx", "virtual:febd773f058288dcff567beb89c2a3191317484a9d51cd33a6942b5dfdf73ff9e6d7244158d1fa8e88a63aadb27f701151a7b89f5703661f7089fa3735135a06#npm:7.10.4"] + ], + "linkType": "HARD", + }] + ]], + ["babel-plugin-transform-rename-import", [ + ["npm:2.3.0", { + "packageLocation": "./.yarn/cache/babel-plugin-transform-rename-import-npm-2.3.0-172d6f4557-c3a64bf9a2.zip/node_modules/babel-plugin-transform-rename-import/", + "packageDependencies": [ + ["babel-plugin-transform-rename-import", "npm:2.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["babel-preset-solid", [ + ["npm:0.20.0", { + "packageLocation": "./.yarn/cache/babel-preset-solid-npm-0.20.0-145be9e2ce-0e91f2a3dc.zip/node_modules/babel-preset-solid/", + "packageDependencies": [ + ["babel-preset-solid", "npm:0.20.0"], + ["babel-plugin-jsx-dom-expressions", "npm:0.20.11"], + ["babel-plugin-transform-rename-import", "npm:2.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["balanced-match", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/balanced-match-npm-1.0.0-951a2ad706-f515a605fe.zip/node_modules/balanced-match/", + "packageDependencies": [ + ["balanced-match", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["bcrypt-pbkdf", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-3f57eb99bb.zip/node_modules/bcrypt-pbkdf/", + "packageDependencies": [ + ["bcrypt-pbkdf", "npm:1.0.2"], + ["tweetnacl", "npm:0.14.5"] + ], + "linkType": "HARD", + }] + ]], + ["big.js", [ + ["npm:5.2.2", { + "packageLocation": "./.yarn/cache/big.js-npm-5.2.2-e147c30820-ea33d7d256.zip/node_modules/big.js/", + "packageDependencies": [ + ["big.js", "npm:5.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["binary-extensions", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/binary-extensions-npm-2.1.0-0681d7e2ce-12bee28179.zip/node_modules/binary-extensions/", + "packageDependencies": [ + ["binary-extensions", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["bluebird", [ + ["npm:3.7.2", { + "packageLocation": "./.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-4f2288662f.zip/node_modules/bluebird/", + "packageDependencies": [ + ["bluebird", "npm:3.7.2"] + ], + "linkType": "HARD", + }] + ]], + ["brace-expansion", [ + ["npm:1.1.11", { + "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-4c878e25e4.zip/node_modules/brace-expansion/", + "packageDependencies": [ + ["brace-expansion", "npm:1.1.11"], + ["balanced-match", "npm:1.0.0"], + ["concat-map", "npm:0.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["braces", [ + ["npm:3.0.2", { + "packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-f3493181c3.zip/node_modules/braces/", + "packageDependencies": [ + ["braces", "npm:3.0.2"], + ["fill-range", "npm:7.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["brotli-size", [ + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/brotli-size-npm-4.0.0-962e692600-32727e85a7.zip/node_modules/brotli-size/", + "packageDependencies": [ + ["brotli-size", "npm:4.0.0"], + ["duplexer", "npm:0.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["buffer-from", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/buffer-from-npm-1.1.1-22917b8ed8-540ceb79c4.zip/node_modules/buffer-from/", + "packageDependencies": [ + ["buffer-from", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["builtin-modules", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/builtin-modules-npm-1.1.1-209bbd4692-777c3ea296.zip/node_modules/builtin-modules/", + "packageDependencies": [ + ["builtin-modules", "npm:1.1.1"] + ], + "linkType": "HARD", + }], + ["npm:3.1.0", { + "packageLocation": "./.yarn/cache/builtin-modules-npm-3.1.0-fb00ef3f7a-54f062393c.zip/node_modules/builtin-modules/", + "packageDependencies": [ + ["builtin-modules", "npm:3.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["cache-content-type", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/cache-content-type-npm-1.0.1-f709f8c309-3afcece8c7.zip/node_modules/cache-content-type/", + "packageDependencies": [ + ["cache-content-type", "npm:1.0.1"], + ["mime-types", "npm:2.1.27"], + ["ylru", "npm:1.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["caller-callsite", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/caller-callsite-npm-2.0.0-9cf308d7bb-4f62ec12d0.zip/node_modules/caller-callsite/", + "packageDependencies": [ + ["caller-callsite", "npm:2.0.0"], + ["callsites", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["caller-path", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/caller-path-npm-2.0.0-7ff6a26cb9-c4b19e43d4.zip/node_modules/caller-path/", + "packageDependencies": [ + ["caller-path", "npm:2.0.0"], + ["caller-callsite", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["callsites", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/callsites-npm-2.0.0-cc39942b7f-0ccd42292b.zip/node_modules/callsites/", + "packageDependencies": [ + ["callsites", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["caseless", [ + ["npm:0.12.0", { + "packageLocation": "./.yarn/cache/caseless-npm-0.12.0-e83bc5df83-147f48bff9.zip/node_modules/caseless/", + "packageDependencies": [ + ["caseless", "npm:0.12.0"] + ], + "linkType": "HARD", + }] + ]], + ["chalk", [ + ["npm:2.4.2", { + "packageLocation": "./.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-22c7b7b5bc.zip/node_modules/chalk/", + "packageDependencies": [ + ["chalk", "npm:2.4.2"], + ["ansi-styles", "npm:3.2.1"], + ["escape-string-regexp", "npm:1.0.5"], + ["supports-color", "npm:5.5.0"] + ], + "linkType": "HARD", + }], + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/chalk-npm-3.0.0-e813208025-4018b0c812.zip/node_modules/chalk/", + "packageDependencies": [ + ["chalk", "npm:3.0.0"], + ["ansi-styles", "npm:4.2.1"], + ["supports-color", "npm:7.2.0"] + ], + "linkType": "HARD", + }], + ["npm:4.1.0", { + "packageLocation": "./.yarn/cache/chalk-npm-4.1.0-c746e252ba-f860285b41.zip/node_modules/chalk/", + "packageDependencies": [ + ["chalk", "npm:4.1.0"], + ["ansi-styles", "npm:4.2.1"], + ["supports-color", "npm:7.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["chokidar", [ + ["npm:3.4.2", { + "packageLocation": "./.yarn/cache/chokidar-npm-3.4.2-4e5f7d3b1f-a394c13d28.zip/node_modules/chokidar/", + "packageDependencies": [ + ["chokidar", "npm:3.4.2"], + ["anymatch", "npm:3.1.1"], + ["braces", "npm:3.0.2"], + ["fsevents", "patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=87eb42"], + ["glob-parent", "npm:5.1.1"], + ["is-binary-path", "npm:2.1.0"], + ["is-glob", "npm:4.0.1"], + ["normalize-path", "npm:3.0.0"], + ["readdirp", "npm:3.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["chownr", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-b06ba0bf42.zip/node_modules/chownr/", + "packageDependencies": [ + ["chownr", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["clean-css", [ + ["npm:4.2.3", { + "packageLocation": "./.yarn/cache/clean-css-npm-4.2.3-976d15760b-a60f780082.zip/node_modules/clean-css/", + "packageDependencies": [ + ["clean-css", "npm:4.2.3"], + ["source-map", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["cli-cursor", [ + ["npm:3.1.0", { + "packageLocation": "./.yarn/cache/cli-cursor-npm-3.1.0-fee1e46b5e-15dbfc222f.zip/node_modules/cli-cursor/", + "packageDependencies": [ + ["cli-cursor", "npm:3.1.0"], + ["restore-cursor", "npm:3.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["cli-spinners", [ + ["npm:2.4.0", { + "packageLocation": "./.yarn/cache/cli-spinners-npm-2.4.0-dcdee2d7be-c32291dbcc.zip/node_modules/cli-spinners/", + "packageDependencies": [ + ["cli-spinners", "npm:2.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["clone", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/clone-npm-1.0.4-a610fcbcf9-aaaa58f990.zip/node_modules/clone/", + "packageDependencies": [ + ["clone", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["co", [ + ["npm:4.6.0", { + "packageLocation": "./.yarn/cache/co-npm-4.6.0-03f2d1feb6-3f22dbbe0f.zip/node_modules/co/", + "packageDependencies": [ + ["co", "npm:4.6.0"] + ], + "linkType": "HARD", + }] + ]], + ["code-point-at", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/code-point-at-npm-1.1.0-37de5fe566-7d9837296e.zip/node_modules/code-point-at/", + "packageDependencies": [ + ["code-point-at", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["color-convert", [ + ["npm:1.9.3", { + "packageLocation": "./.yarn/cache/color-convert-npm-1.9.3-1fe690075e-5f244daa3d.zip/node_modules/color-convert/", + "packageDependencies": [ + ["color-convert", "npm:1.9.3"], + ["color-name", "npm:1.1.3"] + ], + "linkType": "HARD", + }], + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/color-convert-npm-2.0.1-79730e935b-3d5d8a011a.zip/node_modules/color-convert/", + "packageDependencies": [ + ["color-convert", "npm:2.0.1"], + ["color-name", "npm:1.1.4"] + ], + "linkType": "HARD", + }] + ]], + ["color-name", [ + ["npm:1.1.3", { + "packageLocation": "./.yarn/cache/color-name-npm-1.1.3-728b7b5d39-d8b91bb90a.zip/node_modules/color-name/", + "packageDependencies": [ + ["color-name", "npm:1.1.3"] + ], + "linkType": "HARD", + }], + ["npm:1.1.4", { + "packageLocation": "./.yarn/cache/color-name-npm-1.1.4-025792b0ea-3e1c9a4dee.zip/node_modules/color-name/", + "packageDependencies": [ + ["color-name", "npm:1.1.4"] + ], + "linkType": "HARD", + }] + ]], + ["combined-stream", [ + ["npm:1.0.8", { + "packageLocation": "./.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-5791ce7944.zip/node_modules/combined-stream/", + "packageDependencies": [ + ["combined-stream", "npm:1.0.8"], + ["delayed-stream", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["commander", [ + ["npm:2.20.3", { + "packageLocation": "./.yarn/cache/commander-npm-2.20.3-d8dcbaa39b-b73428e97d.zip/node_modules/commander/", + "packageDependencies": [ + ["commander", "npm:2.20.3"] + ], + "linkType": "HARD", + }] + ]], + ["commondir", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/commondir-npm-1.0.1-291b790340-98f18ad14f.zip/node_modules/commondir/", + "packageDependencies": [ + ["commondir", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["concat-map", [ + ["npm:0.0.1", { + "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-554e28d9ee.zip/node_modules/concat-map/", + "packageDependencies": [ + ["concat-map", "npm:0.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["console-control-strings", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-58a404d951.zip/node_modules/console-control-strings/", + "packageDependencies": [ + ["console-control-strings", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["consolidate", [ + ["npm:0.16.0", { + "packageLocation": "./.yarn/cache/consolidate-npm-0.16.0-1a9b3c81f9-b75f222ef3.zip/node_modules/consolidate/", + "packageDependencies": [ + ["consolidate", "npm:0.16.0"], + ["bluebird", "npm:3.7.2"] + ], + "linkType": "HARD", + }] + ]], + ["content-disposition", [ + ["npm:0.5.3", { + "packageLocation": "./.yarn/cache/content-disposition-npm-0.5.3-9a9a567e17-8f1f235c04.zip/node_modules/content-disposition/", + "packageDependencies": [ + ["content-disposition", "npm:0.5.3"], + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["content-type", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-ff6e19cbf2.zip/node_modules/content-type/", + "packageDependencies": [ + ["content-type", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["convert-source-map", [ + ["npm:1.7.0", { + "packageLocation": "./.yarn/cache/convert-source-map-npm-1.7.0-f9727424f7-b10fbf041e.zip/node_modules/convert-source-map/", + "packageDependencies": [ + ["convert-source-map", "npm:1.7.0"], + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["cookies", [ + ["npm:0.8.0", { + "packageLocation": "./.yarn/cache/cookies-npm-0.8.0-d7388cbd94-c401e0f791.zip/node_modules/cookies/", + "packageDependencies": [ + ["cookies", "npm:0.8.0"], + ["depd", "npm:2.0.0"], + ["keygrip", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["core-util-is", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-089015ee3c.zip/node_modules/core-util-is/", + "packageDependencies": [ + ["core-util-is", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["cosmiconfig", [ + ["npm:5.2.1", { + "packageLocation": "./.yarn/cache/cosmiconfig-npm-5.2.1-4a84462a41-02d51fb288.zip/node_modules/cosmiconfig/", + "packageDependencies": [ + ["cosmiconfig", "npm:5.2.1"], + ["import-fresh", "npm:2.0.0"], + ["is-directory", "npm:0.3.1"], + ["js-yaml", "npm:3.14.0"], + ["parse-json", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["cross-spawn", [ + ["npm:7.0.3", { + "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-51f10036f5.zip/node_modules/cross-spawn/", + "packageDependencies": [ + ["cross-spawn", "npm:7.0.3"], + ["path-key", "npm:3.1.1"], + ["shebang-command", "npm:2.0.0"], + ["which", "npm:2.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["cssesc", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-673783eda1.zip/node_modules/cssesc/", + "packageDependencies": [ + ["cssesc", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["csstype", [ + ["npm:2.6.13", { + "packageLocation": "./.yarn/cache/csstype-npm-2.6.13-2f54b26722-0a84ef4b06.zip/node_modules/csstype/", + "packageDependencies": [ + ["csstype", "npm:2.6.13"] + ], + "linkType": "HARD", + }] + ]], + ["dashdash", [ + ["npm:1.14.1", { + "packageLocation": "./.yarn/cache/dashdash-npm-1.14.1-be8f10a286-5959409ee4.zip/node_modules/dashdash/", + "packageDependencies": [ + ["dashdash", "npm:1.14.1"], + ["assert-plus", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["debug", [ + ["virtual:1a693cbdf41f6c76f18019cb77210859be16eef16627dac0e03e92b6d2ec98699c09dfca0638e23027cc025cfc583b1dd02ea5865067befc65c418929d1f00e3#npm:3.1.0", { + "packageLocation": "./.yarn/$$virtual/debug-virtual-2f638cde4d/0/cache/debug-npm-3.1.0-9f0accb99b-1295acd5e0.zip/node_modules/debug/", + "packageDependencies": [ + ["debug", "virtual:1a693cbdf41f6c76f18019cb77210859be16eef16627dac0e03e92b6d2ec98699c09dfca0638e23027cc025cfc583b1dd02ea5865067befc65c418929d1f00e3#npm:3.1.0"], + ["ms", "npm:2.0.0"], + ["supports-color", null] + ], + "packagePeers": [ + "supports-color" + ], + "linkType": "HARD", + }], + ["virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0", { + "packageLocation": "./.yarn/$$virtual/debug-virtual-f9af9a4d90/0/cache/debug-npm-4.3.0-b4bda317a1-847d2760d1.zip/node_modules/debug/", + "packageDependencies": [ + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["ms", "npm:2.1.2"], + ["supports-color", null] + ], + "packagePeers": [ + "supports-color" + ], + "linkType": "HARD", + }], + ["virtual:4248438d52dae4f796f8ae7839807024b795f7c70ddf4cbb58a4d6330ce027df2b3c8481d65b7430d525478785f68212512cd0d537d63bda0f170167a0f757f6#npm:3.2.6", { + "packageLocation": "./.yarn/$$virtual/debug-virtual-be6ca825a9/0/cache/debug-npm-3.2.6-6214e40f12-619feb53b1.zip/node_modules/debug/", + "packageDependencies": [ + ["debug", "virtual:4248438d52dae4f796f8ae7839807024b795f7c70ddf4cbb58a4d6330ce027df2b3c8481d65b7430d525478785f68212512cd0d537d63bda0f170167a0f757f6#npm:3.2.6"], + ["ms", "npm:2.1.2"], + ["supports-color", null] + ], + "packagePeers": [ + "supports-color" + ], + "linkType": "HARD", + }] + ]], + ["dedent", [ + ["npm:0.7.0", { + "packageLocation": "./.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-05c18541a4.zip/node_modules/dedent/", + "packageDependencies": [ + ["dedent", "npm:0.7.0"] + ], + "linkType": "HARD", + }] + ]], + ["deep-equal", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/deep-equal-npm-1.0.1-f05565c4e5-97d8558d19.zip/node_modules/deep-equal/", + "packageDependencies": [ + ["deep-equal", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["deep-freeze", [ + ["npm:0.0.1", { + "packageLocation": "./.yarn/cache/deep-freeze-npm-0.0.1-12d684fc1a-c43ab54de9.zip/node_modules/deep-freeze/", + "packageDependencies": [ + ["deep-freeze", "npm:0.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["deepmerge", [ + ["npm:4.2.2", { + "packageLocation": "./.yarn/cache/deepmerge-npm-4.2.2-112165ced2-85abf8e004.zip/node_modules/deepmerge/", + "packageDependencies": [ + ["deepmerge", "npm:4.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["defaults", [ + ["npm:1.0.3", { + "packageLocation": "./.yarn/cache/defaults-npm-1.0.3-e829107b9e-974f63dd0a.zip/node_modules/defaults/", + "packageDependencies": [ + ["defaults", "npm:1.0.3"], + ["clone", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["delayed-stream", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-d9dfb0a7c7.zip/node_modules/delayed-stream/", + "packageDependencies": [ + ["delayed-stream", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["delegates", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/delegates-npm-1.0.0-9b1942d75f-7459e34d29.zip/node_modules/delegates/", + "packageDependencies": [ + ["delegates", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["depd", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-f45566ff70.zip/node_modules/depd/", + "packageDependencies": [ + ["depd", "npm:1.1.2"] + ], + "linkType": "HARD", + }], + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/depd-npm-2.0.0-b6c51a4b43-20726d843f.zip/node_modules/depd/", + "packageDependencies": [ + ["depd", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["destroy", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/destroy-npm-1.0.4-a2203e01cb-5a516fc5a8.zip/node_modules/destroy/", + "packageDependencies": [ + ["destroy", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["dir-glob", [ + ["npm:3.0.1", { + "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-687fa3bd60.zip/node_modules/dir-glob/", + "packageDependencies": [ + ["dir-glob", "npm:3.0.1"], + ["path-type", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["dotenv", [ + ["npm:8.2.0", { + "packageLocation": "./.yarn/cache/dotenv-npm-8.2.0-6b21df4d37-16cb89cbd7.zip/node_modules/dotenv/", + "packageDependencies": [ + ["dotenv", "npm:8.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["dotenv-expand", [ + ["npm:5.1.0", { + "packageLocation": "./.yarn/cache/dotenv-expand-npm-5.1.0-c3fff50eb5-b895c6220d.zip/node_modules/dotenv-expand/", + "packageDependencies": [ + ["dotenv-expand", "npm:5.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["duplexer", [ + ["npm:0.1.1", { + "packageLocation": "./.yarn/cache/duplexer-npm-0.1.1-d906abcf74-cd332f728a.zip/node_modules/duplexer/", + "packageDependencies": [ + ["duplexer", "npm:0.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["ecc-jsbn", [ + ["npm:0.1.2", { + "packageLocation": "./.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-5b4dd05f24.zip/node_modules/ecc-jsbn/", + "packageDependencies": [ + ["ecc-jsbn", "npm:0.1.2"], + ["jsbn", "npm:0.1.1"], + ["safer-buffer", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["ee-first", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/ee-first-npm-1.1.1-33f8535b39-ba74f91398.zip/node_modules/ee-first/", + "packageDependencies": [ + ["ee-first", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["emojis-list", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/emojis-list-npm-3.0.0-7faa48e6fd-a79126b55b.zip/node_modules/emojis-list/", + "packageDependencies": [ + ["emojis-list", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["encodeurl", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-6ee5fcbcd2.zip/node_modules/encodeurl/", + "packageDependencies": [ + ["encodeurl", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["end-of-stream", [ + ["npm:1.4.4", { + "packageLocation": "./.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-7da60e458b.zip/node_modules/end-of-stream/", + "packageDependencies": [ + ["end-of-stream", "npm:1.4.4"], + ["once", "npm:1.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["env-paths", [ + ["npm:2.2.0", { + "packageLocation": "./.yarn/cache/env-paths-npm-2.2.0-ac4ed99068-09de4fd1c0.zip/node_modules/env-paths/", + "packageDependencies": [ + ["env-paths", "npm:2.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["error-ex", [ + ["npm:1.3.2", { + "packageLocation": "./.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-6c6c918742.zip/node_modules/error-ex/", + "packageDependencies": [ + ["error-ex", "npm:1.3.2"], + ["is-arrayish", "npm:0.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["es-module-lexer", [ + ["npm:0.3.25", { + "packageLocation": "./.yarn/cache/es-module-lexer-npm-0.3.25-119f63c85b-e22022a18b.zip/node_modules/es-module-lexer/", + "packageDependencies": [ + ["es-module-lexer", "npm:0.3.25"] + ], + "linkType": "HARD", + }] + ]], + ["esbuild", [ + ["npm:0.6.34", { + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.6.34-28502a09f4/node_modules/esbuild/", + "packageDependencies": [ + ["esbuild", "npm:0.6.34"] + ], + "linkType": "HARD", + }] + ]], + ["escape-html", [ + ["npm:1.0.3", { + "packageLocation": "./.yarn/cache/escape-html-npm-1.0.3-376c22ee74-900a7f2b80.zip/node_modules/escape-html/", + "packageDependencies": [ + ["escape-html", "npm:1.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["escape-string-regexp", [ + ["npm:1.0.5", { + "packageLocation": "./.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-f9484b8b4c.zip/node_modules/escape-string-regexp/", + "packageDependencies": [ + ["escape-string-regexp", "npm:1.0.5"] + ], + "linkType": "HARD", + }] + ]], + ["esprima", [ + ["npm:4.0.1", { + "packageLocation": "./.yarn/cache/esprima-npm-4.0.1-1084e98778-5df45a3d9c.zip/node_modules/esprima/", + "packageDependencies": [ + ["esprima", "npm:4.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["estree-walker", [ + ["npm:0.6.1", { + "packageLocation": "./.yarn/cache/estree-walker-npm-0.6.1-fe92d0e1f6-a63b94b841.zip/node_modules/estree-walker/", + "packageDependencies": [ + ["estree-walker", "npm:0.6.1"] + ], + "linkType": "HARD", + }], + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/estree-walker-npm-1.0.1-e916593b23-85e7cee763.zip/node_modules/estree-walker/", + "packageDependencies": [ + ["estree-walker", "npm:1.0.1"] + ], + "linkType": "HARD", + }], + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/estree-walker-npm-2.0.1-fb1693c2a7-51ae3892e2.zip/node_modules/estree-walker/", + "packageDependencies": [ + ["estree-walker", "npm:2.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["etag", [ + ["npm:1.8.1", { + "packageLocation": "./.yarn/cache/etag-npm-1.8.1-54a3b989d9-f18341a3c1.zip/node_modules/etag/", + "packageDependencies": [ + ["etag", "npm:1.8.1"] + ], + "linkType": "HARD", + }] + ]], + ["eventemitter3", [ + ["npm:4.0.7", { + "packageLocation": "./.yarn/cache/eventemitter3-npm-4.0.7-7afcdd74ae-1fc12c7bc3.zip/node_modules/eventemitter3/", + "packageDependencies": [ + ["eventemitter3", "npm:4.0.7"] + ], + "linkType": "HARD", + }] + ]], + ["execa", [ + ["npm:4.0.3", { + "packageLocation": "./.yarn/cache/execa-npm-4.0.3-b70e1b2212-65b237d178.zip/node_modules/execa/", + "packageDependencies": [ + ["execa", "npm:4.0.3"], + ["cross-spawn", "npm:7.0.3"], + ["get-stream", "npm:5.2.0"], + ["human-signals", "npm:1.1.1"], + ["is-stream", "npm:2.0.0"], + ["merge-stream", "npm:2.0.0"], + ["npm-run-path", "npm:4.0.1"], + ["onetime", "npm:5.1.2"], + ["signal-exit", "npm:3.0.3"], + ["strip-final-newline", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["extend", [ + ["npm:3.0.2", { + "packageLocation": "./.yarn/cache/extend-npm-3.0.2-e1ca07ac54-1406da1f0c.zip/node_modules/extend/", + "packageDependencies": [ + ["extend", "npm:3.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["extsprintf", [ + ["npm:1.3.0", { + "packageLocation": "./.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-892efd56aa.zip/node_modules/extsprintf/", + "packageDependencies": [ + ["extsprintf", "npm:1.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["fast-deep-equal", [ + ["npm:3.1.3", { + "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-451526766b.zip/node_modules/fast-deep-equal/", + "packageDependencies": [ + ["fast-deep-equal", "npm:3.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["fast-glob", [ + ["npm:3.2.4", { + "packageLocation": "./.yarn/cache/fast-glob-npm-3.2.4-be5d1d4c86-18f9eca898.zip/node_modules/fast-glob/", + "packageDependencies": [ + ["fast-glob", "npm:3.2.4"], + ["@nodelib/fs.stat", "npm:2.0.3"], + ["@nodelib/fs.walk", "npm:1.2.4"], + ["glob-parent", "npm:5.1.1"], + ["merge2", "npm:1.4.1"], + ["micromatch", "npm:4.0.2"], + ["picomatch", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["fast-json-stable-stringify", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-7df3fabfe4.zip/node_modules/fast-json-stable-stringify/", + "packageDependencies": [ + ["fast-json-stable-stringify", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["fastq", [ + ["npm:1.8.0", { + "packageLocation": "./.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip/node_modules/fastq/", + "packageDependencies": [ + ["fastq", "npm:1.8.0"], + ["reusify", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["fill-range", [ + ["npm:7.0.1", { + "packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-efca43d59b.zip/node_modules/fill-range/", + "packageDependencies": [ + ["fill-range", "npm:7.0.1"], + ["to-regex-range", "npm:5.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["follow-redirects", [ + ["npm:1.13.0", { + "packageLocation": "./.yarn/cache/follow-redirects-npm-1.13.0-ae26ae301a-f220828d3f.zip/node_modules/follow-redirects/", + "packageDependencies": [ + ["follow-redirects", "npm:1.13.0"] + ], + "linkType": "HARD", + }] + ]], + ["forever-agent", [ + ["npm:0.6.1", { + "packageLocation": "./.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-9cc0054dd4.zip/node_modules/forever-agent/", + "packageDependencies": [ + ["forever-agent", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["form-data", [ + ["npm:2.3.3", { + "packageLocation": "./.yarn/cache/form-data-npm-2.3.3-c016cc11c0-862e686b10.zip/node_modules/form-data/", + "packageDependencies": [ + ["form-data", "npm:2.3.3"], + ["asynckit", "npm:0.4.0"], + ["combined-stream", "npm:1.0.8"], + ["mime-types", "npm:2.1.27"] + ], + "linkType": "HARD", + }] + ]], + ["fresh", [ + ["npm:0.5.2", { + "packageLocation": "./.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-2f76c8505d.zip/node_modules/fresh/", + "packageDependencies": [ + ["fresh", "npm:0.5.2"] + ], + "linkType": "HARD", + }] + ]], + ["fs-extra", [ + ["npm:9.0.1", { + "packageLocation": "./.yarn/cache/fs-extra-npm-9.0.1-2925889105-b7374cb058.zip/node_modules/fs-extra/", + "packageDependencies": [ + ["fs-extra", "npm:9.0.1"], + ["at-least-node", "npm:1.0.0"], + ["graceful-fs", "npm:4.2.4"], + ["jsonfile", "npm:6.0.1"], + ["universalify", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["fs-minipass", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-e14a490658.zip/node_modules/fs-minipass/", + "packageDependencies": [ + ["fs-minipass", "npm:2.1.0"], + ["minipass", "npm:3.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["fs.realpath", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-698a91b169.zip/node_modules/fs.realpath/", + "packageDependencies": [ + ["fs.realpath", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["fsevents", [ + ["patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=87eb42", { + "packageLocation": "./.yarn/unplugged/fsevents-patch-fd7e8c5233/node_modules/fsevents/", + "packageDependencies": [ + ["fsevents", "patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=87eb42"], + ["node-gyp", "npm:7.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["gauge", [ + ["npm:2.7.4", { + "packageLocation": "./.yarn/cache/gauge-npm-2.7.4-2189a73529-b136dbeb8e.zip/node_modules/gauge/", + "packageDependencies": [ + ["gauge", "npm:2.7.4"], + ["aproba", "npm:1.2.0"], + ["console-control-strings", "npm:1.1.0"], + ["has-unicode", "npm:2.0.1"], + ["object-assign", "npm:4.1.1"], + ["signal-exit", "npm:3.0.3"], + ["string-width", "npm:1.0.2"], + ["strip-ansi", "npm:3.0.1"], + ["wide-align", "npm:1.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["generic-names", [ + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/generic-names-npm-2.0.1-6ef8235104-1ed17b3c9a.zip/node_modules/generic-names/", + "packageDependencies": [ + ["generic-names", "npm:2.0.1"], + ["loader-utils", "npm:1.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["gensync", [ + ["npm:1.0.0-beta.1", { + "packageLocation": "./.yarn/cache/gensync-npm-1.0.0-beta.1-0bc9838d39-3d14f7c34f.zip/node_modules/gensync/", + "packageDependencies": [ + ["gensync", "npm:1.0.0-beta.1"] + ], + "linkType": "HARD", + }] + ]], + ["get-stream", [ + ["npm:5.2.0", { + "packageLocation": "./.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-c71c5625f4.zip/node_modules/get-stream/", + "packageDependencies": [ + ["get-stream", "npm:5.2.0"], + ["pump", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["getpass", [ + ["npm:0.1.7", { + "packageLocation": "./.yarn/cache/getpass-npm-0.1.7-519164a3be-2650725bc6.zip/node_modules/getpass/", + "packageDependencies": [ + ["getpass", "npm:0.1.7"], + ["assert-plus", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["glob", [ + ["npm:7.1.6", { + "packageLocation": "./.yarn/cache/glob-npm-7.1.6-1ce3a5189a-789977b524.zip/node_modules/glob/", + "packageDependencies": [ + ["glob", "npm:7.1.6"], + ["fs.realpath", "npm:1.0.0"], + ["inflight", "npm:1.0.6"], + ["inherits", "npm:2.0.4"], + ["minimatch", "npm:3.0.4"], + ["once", "npm:1.4.0"], + ["path-is-absolute", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["glob-parent", [ + ["npm:5.1.1", { + "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.1-57b061cd88-2af6e196fb.zip/node_modules/glob-parent/", + "packageDependencies": [ + ["glob-parent", "npm:5.1.1"], + ["is-glob", "npm:4.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["globals", [ + ["npm:11.12.0", { + "packageLocation": "./.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-2563d3306a.zip/node_modules/globals/", + "packageDependencies": [ + ["globals", "npm:11.12.0"] + ], + "linkType": "HARD", + }] + ]], + ["globby", [ + ["npm:11.0.1", { + "packageLocation": "./.yarn/cache/globby-npm-11.0.1-b32c0f1cff-e7239e9e46.zip/node_modules/globby/", + "packageDependencies": [ + ["globby", "npm:11.0.1"], + ["array-union", "npm:2.1.0"], + ["dir-glob", "npm:3.0.1"], + ["fast-glob", "npm:3.2.4"], + ["ignore", "npm:5.1.8"], + ["merge2", "npm:1.4.1"], + ["slash", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["graceful-fs", [ + ["npm:4.2.4", { + "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.4-734467635f-d095ee4dc6.zip/node_modules/graceful-fs/", + "packageDependencies": [ + ["graceful-fs", "npm:4.2.4"] + ], + "linkType": "HARD", + }] + ]], + ["har-schema", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/har-schema-npm-2.0.0-3a318c0ca5-e27ac33a96.zip/node_modules/har-schema/", + "packageDependencies": [ + ["har-schema", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["har-validator", [ + ["npm:5.1.5", { + "packageLocation": "./.yarn/cache/har-validator-npm-5.1.5-bd9ac162f5-01b905cdaa.zip/node_modules/har-validator/", + "packageDependencies": [ + ["har-validator", "npm:5.1.5"], + ["ajv", "npm:6.12.5"], + ["har-schema", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["has-flag", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-63aade480d.zip/node_modules/has-flag/", + "packageDependencies": [ + ["has-flag", "npm:3.0.0"] + ], + "linkType": "HARD", + }], + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/has-flag-npm-4.0.0-32af9f0536-2e5391139d.zip/node_modules/has-flag/", + "packageDependencies": [ + ["has-flag", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["has-unicode", [ + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/has-unicode-npm-2.0.1-893adb4747-ed3719f95c.zip/node_modules/has-unicode/", + "packageDependencies": [ + ["has-unicode", "npm:2.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["hash-sum", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/hash-sum-npm-2.0.0-2216318cf2-9d833f05e8.zip/node_modules/hash-sum/", + "packageDependencies": [ + ["hash-sum", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["http-assert", [ + ["npm:1.4.1", { + "packageLocation": "./.yarn/cache/http-assert-npm-1.4.1-cabfc41ff3-bf6a90287f.zip/node_modules/http-assert/", + "packageDependencies": [ + ["http-assert", "npm:1.4.1"], + ["deep-equal", "npm:1.0.1"], + ["http-errors", "npm:1.7.3"] + ], + "linkType": "HARD", + }] + ]], + ["http-errors", [ + ["npm:1.4.0", { + "packageLocation": "./.yarn/cache/http-errors-npm-1.4.0-2c89f89e59-9c7223c083.zip/node_modules/http-errors/", + "packageDependencies": [ + ["http-errors", "npm:1.4.0"], + ["inherits", "npm:2.0.1"], + ["statuses", "npm:1.5.0"] + ], + "linkType": "HARD", + }], + ["npm:1.6.3", { + "packageLocation": "./.yarn/cache/http-errors-npm-1.6.3-9b5bc0b0a8-850a3bf69f.zip/node_modules/http-errors/", + "packageDependencies": [ + ["http-errors", "npm:1.6.3"], + ["depd", "npm:1.1.2"], + ["inherits", "npm:2.0.3"], + ["setprototypeof", "npm:1.1.0"], + ["statuses", "npm:1.5.0"] + ], + "linkType": "HARD", + }], + ["npm:1.7.3", { + "packageLocation": "./.yarn/cache/http-errors-npm-1.7.3-f6dc83b082-563ae4a3f1.zip/node_modules/http-errors/", + "packageDependencies": [ + ["http-errors", "npm:1.7.3"], + ["depd", "npm:1.1.2"], + ["inherits", "npm:2.0.4"], + ["setprototypeof", "npm:1.1.1"], + ["statuses", "npm:1.5.0"], + ["toidentifier", "npm:1.0.0"] + ], + "linkType": "HARD", + }], + ["npm:1.8.0", { + "packageLocation": "./.yarn/cache/http-errors-npm-1.8.0-4399ea3b8d-95ad78508b.zip/node_modules/http-errors/", + "packageDependencies": [ + ["http-errors", "npm:1.8.0"], + ["depd", "npm:1.1.2"], + ["inherits", "npm:2.0.4"], + ["setprototypeof", "npm:1.2.0"], + ["statuses", "npm:1.5.0"], + ["toidentifier", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["http-proxy", [ + ["npm:1.18.1", { + "packageLocation": "./.yarn/cache/http-proxy-npm-1.18.1-a313c479c5-fc2062718d.zip/node_modules/http-proxy/", + "packageDependencies": [ + ["http-proxy", "npm:1.18.1"], + ["eventemitter3", "npm:4.0.7"], + ["follow-redirects", "npm:1.13.0"], + ["requires-port", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["http-signature", [ + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/http-signature-npm-1.2.0-ee92426f34-d28227eed3.zip/node_modules/http-signature/", + "packageDependencies": [ + ["http-signature", "npm:1.2.0"], + ["assert-plus", "npm:1.0.0"], + ["jsprim", "npm:1.4.1"], + ["sshpk", "npm:1.16.1"] + ], + "linkType": "HARD", + }] + ]], + ["human-signals", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/human-signals-npm-1.1.1-616b2586c2-cac115f635.zip/node_modules/human-signals/", + "packageDependencies": [ + ["human-signals", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["icss-replace-symbols", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/icss-replace-symbols-npm-1.1.0-bc11c612de-6529ec8274.zip/node_modules/icss-replace-symbols/", + "packageDependencies": [ + ["icss-replace-symbols", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["icss-utils", [ + ["npm:4.1.1", { + "packageLocation": "./.yarn/cache/icss-utils-npm-4.1.1-9d588ebc46-437ba4f7c9.zip/node_modules/icss-utils/", + "packageDependencies": [ + ["icss-utils", "npm:4.1.1"], + ["postcss", "npm:7.0.34"] + ], + "linkType": "HARD", + }] + ]], + ["ignore", [ + ["npm:5.1.8", { + "packageLocation": "./.yarn/cache/ignore-npm-5.1.8-aa9a49ada4-b08e3d5b5d.zip/node_modules/ignore/", + "packageDependencies": [ + ["ignore", "npm:5.1.8"] + ], + "linkType": "HARD", + }] + ]], + ["import-cwd", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/import-cwd-npm-2.1.0-e65be8b668-2b8cb7bab3.zip/node_modules/import-cwd/", + "packageDependencies": [ + ["import-cwd", "npm:2.1.0"], + ["import-from", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["import-fresh", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/import-fresh-npm-2.0.0-8b4e6073aa-c95204ecfb.zip/node_modules/import-fresh/", + "packageDependencies": [ + ["import-fresh", "npm:2.0.0"], + ["caller-path", "npm:2.0.0"], + ["resolve-from", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["import-from", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/import-from-npm-2.1.0-1a73711878-eb8dddd9d2.zip/node_modules/import-from/", + "packageDependencies": [ + ["import-from", "npm:2.1.0"], + ["resolve-from", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["indexes-of", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/indexes-of-npm-1.0.1-5ce8500941-e1c232a326.zip/node_modules/indexes-of/", + "packageDependencies": [ + ["indexes-of", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["inflight", [ + ["npm:1.0.6", { + "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-17c53fc42c.zip/node_modules/inflight/", + "packageDependencies": [ + ["inflight", "npm:1.0.6"], + ["once", "npm:1.4.0"], + ["wrappy", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["inherits", [ + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/inherits-npm-2.0.1-0011554c03-6f59f627a6.zip/node_modules/inherits/", + "packageDependencies": [ + ["inherits", "npm:2.0.1"] + ], + "linkType": "HARD", + }], + ["npm:2.0.3", { + "packageLocation": "./.yarn/cache/inherits-npm-2.0.3-401e64b080-9488f9433e.zip/node_modules/inherits/", + "packageDependencies": [ + ["inherits", "npm:2.0.3"] + ], + "linkType": "HARD", + }], + ["npm:2.0.4", { + "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-98426da247.zip/node_modules/inherits/", + "packageDependencies": [ + ["inherits", "npm:2.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["is-arrayish", [ + ["npm:0.2.1", { + "packageLocation": "./.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-fc2bbe14db.zip/node_modules/is-arrayish/", + "packageDependencies": [ + ["is-arrayish", "npm:0.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-binary-path", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-49a1446a3c.zip/node_modules/is-binary-path/", + "packageDependencies": [ + ["is-binary-path", "npm:2.1.0"], + ["binary-extensions", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-directory", [ + ["npm:0.3.1", { + "packageLocation": "./.yarn/cache/is-directory-npm-0.3.1-e835db28ed-e921dc1817.zip/node_modules/is-directory/", + "packageDependencies": [ + ["is-directory", "npm:0.3.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-docker", [ + ["npm:2.1.1", { + "packageLocation": "./.yarn/cache/is-docker-npm-2.1.1-f58143f915-dc8e36fa63.zip/node_modules/is-docker/", + "packageDependencies": [ + ["is-docker", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-extglob", [ + ["npm:2.1.1", { + "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-ca623e2c56.zip/node_modules/is-extglob/", + "packageDependencies": [ + ["is-extglob", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-fullwidth-code-point", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-1.0.0-0e436ba1ef-fc3d51ef08.zip/node_modules/is-fullwidth-code-point/", + "packageDependencies": [ + ["is-fullwidth-code-point", "npm:1.0.0"], + ["number-is-nan", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-generator-function", [ + ["npm:1.0.7", { + "packageLocation": "./.yarn/cache/is-generator-function-npm-1.0.7-f264e5a57d-6842c32609.zip/node_modules/is-generator-function/", + "packageDependencies": [ + ["is-generator-function", "npm:1.0.7"] + ], + "linkType": "HARD", + }] + ]], + ["is-glob", [ + ["npm:4.0.1", { + "packageLocation": "./.yarn/cache/is-glob-npm-4.0.1-341760116f-98cd4f715f.zip/node_modules/is-glob/", + "packageDependencies": [ + ["is-glob", "npm:4.0.1"], + ["is-extglob", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["is-interactive", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/is-interactive-npm-1.0.0-7ff7c6e04a-d79b435e51.zip/node_modules/is-interactive/", + "packageDependencies": [ + ["is-interactive", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-module", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/is-module-npm-1.0.0-79ba918283-2cbd41e276.zip/node_modules/is-module/", + "packageDependencies": [ + ["is-module", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-number", [ + ["npm:7.0.0", { + "packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-eec6e506c6.zip/node_modules/is-number/", + "packageDependencies": [ + ["is-number", "npm:7.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-reference", [ + ["npm:1.2.1", { + "packageLocation": "./.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-9daa3d7c4d.zip/node_modules/is-reference/", + "packageDependencies": [ + ["is-reference", "npm:1.2.1"], + ["@types/estree", "npm:0.0.39"] + ], + "linkType": "HARD", + }] + ]], + ["is-stream", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/is-stream-npm-2.0.0-1401f82ad7-f92ba04a8b.zip/node_modules/is-stream/", + "packageDependencies": [ + ["is-stream", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-typedarray", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-4e21156e73.zip/node_modules/is-typedarray/", + "packageDependencies": [ + ["is-typedarray", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["is-wsl", [ + ["npm:2.2.0", { + "packageLocation": "./.yarn/cache/is-wsl-npm-2.2.0-2ba10d6393-3dcc4073d4.zip/node_modules/is-wsl/", + "packageDependencies": [ + ["is-wsl", "npm:2.2.0"], + ["is-docker", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["isarray", [ + ["npm:0.0.1", { + "packageLocation": "./.yarn/cache/isarray-npm-0.0.1-92e37e0a70-daeda3c236.zip/node_modules/isarray/", + "packageDependencies": [ + ["isarray", "npm:0.0.1"] + ], + "linkType": "HARD", + }], + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/isarray-npm-1.0.0-db4f547720-b0ff31a290.zip/node_modules/isarray/", + "packageDependencies": [ + ["isarray", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["isbuiltin", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/isbuiltin-npm-1.0.0-17a6009fe4-58cd661555.zip/node_modules/isbuiltin/", + "packageDependencies": [ + ["isbuiltin", "npm:1.0.0"], + ["builtin-modules", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["isexe", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/isexe-npm-2.0.0-b58870bd2e-7b437980bb.zip/node_modules/isexe/", + "packageDependencies": [ + ["isexe", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["isstream", [ + ["npm:0.1.2", { + "packageLocation": "./.yarn/cache/isstream-npm-0.1.2-8581c75385-8e6e5c4cf1.zip/node_modules/isstream/", + "packageDependencies": [ + ["isstream", "npm:0.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["jest-worker", [ + ["npm:24.9.0", { + "packageLocation": "./.yarn/cache/jest-worker-npm-24.9.0-bcd452e3a8-9740355081.zip/node_modules/jest-worker/", + "packageDependencies": [ + ["jest-worker", "npm:24.9.0"], + ["merge-stream", "npm:2.0.0"], + ["supports-color", "npm:6.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["js-tokens", [ + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-1fc4e4667a.zip/node_modules/js-tokens/", + "packageDependencies": [ + ["js-tokens", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["js-yaml", [ + ["npm:3.14.0", { + "packageLocation": "./.yarn/cache/js-yaml-npm-3.14.0-7ecf74b3d2-2eb95464e5.zip/node_modules/js-yaml/", + "packageDependencies": [ + ["js-yaml", "npm:3.14.0"], + ["argparse", "npm:1.0.10"], + ["esprima", "npm:4.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["jsbn", [ + ["npm:0.1.1", { + "packageLocation": "./.yarn/cache/jsbn-npm-0.1.1-0eb7132404-b530d48a64.zip/node_modules/jsbn/", + "packageDependencies": [ + ["jsbn", "npm:0.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["jsesc", [ + ["npm:2.5.2", { + "packageLocation": "./.yarn/cache/jsesc-npm-2.5.2-c5acb78804-ca91ec33d7.zip/node_modules/jsesc/", + "packageDependencies": [ + ["jsesc", "npm:2.5.2"] + ], + "linkType": "HARD", + }] + ]], + ["json-parse-better-errors", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/json-parse-better-errors-npm-1.0.2-7f37637d19-b4c4f0e43b.zip/node_modules/json-parse-better-errors/", + "packageDependencies": [ + ["json-parse-better-errors", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["json-schema", [ + ["npm:0.2.3", { + "packageLocation": "./.yarn/cache/json-schema-npm-0.2.3-018ee3dfc9-d382ea841f.zip/node_modules/json-schema/", + "packageDependencies": [ + ["json-schema", "npm:0.2.3"] + ], + "linkType": "HARD", + }] + ]], + ["json-schema-traverse", [ + ["npm:0.4.1", { + "packageLocation": "./.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-6f71bddba3.zip/node_modules/json-schema-traverse/", + "packageDependencies": [ + ["json-schema-traverse", "npm:0.4.1"] + ], + "linkType": "HARD", + }] + ]], + ["json-stringify-safe", [ + ["npm:5.0.1", { + "packageLocation": "./.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-261dfb8eb3.zip/node_modules/json-stringify-safe/", + "packageDependencies": [ + ["json-stringify-safe", "npm:5.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["json5", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/json5-npm-1.0.1-647fc8794b-df41624f9f.zip/node_modules/json5/", + "packageDependencies": [ + ["json5", "npm:1.0.1"], + ["minimist", "npm:1.2.5"] + ], + "linkType": "HARD", + }], + ["npm:2.1.3", { + "packageLocation": "./.yarn/cache/json5-npm-2.1.3-b71ec6bcca-957e493710.zip/node_modules/json5/", + "packageDependencies": [ + ["json5", "npm:2.1.3"], + ["minimist", "npm:1.2.5"] + ], + "linkType": "HARD", + }] + ]], + ["jsonfile", [ + ["npm:6.0.1", { + "packageLocation": "./.yarn/cache/jsonfile-npm-6.0.1-989c3a9870-ebd6932424.zip/node_modules/jsonfile/", + "packageDependencies": [ + ["jsonfile", "npm:6.0.1"], + ["graceful-fs", "npm:4.2.4"], + ["universalify", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["jsprim", [ + ["npm:1.4.1", { + "packageLocation": "./.yarn/cache/jsprim-npm-1.4.1-948d2c9ec3-ee0177b7ef.zip/node_modules/jsprim/", + "packageDependencies": [ + ["jsprim", "npm:1.4.1"], + ["assert-plus", "npm:1.0.0"], + ["extsprintf", "npm:1.3.0"], + ["json-schema", "npm:0.2.3"], + ["verror", "npm:1.10.0"] + ], + "linkType": "HARD", + }] + ]], + ["keygrip", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/keygrip-npm-1.1.0-8da030c3ff-917fc9c6ad.zip/node_modules/keygrip/", + "packageDependencies": [ + ["keygrip", "npm:1.1.0"], + ["tsscmp", "npm:1.0.6"] + ], + "linkType": "HARD", + }] + ]], + ["koa", [ + ["npm:2.13.0", { + "packageLocation": "./.yarn/cache/koa-npm-2.13.0-1a693cbdf4-d8dca4c17f.zip/node_modules/koa/", + "packageDependencies": [ + ["koa", "npm:2.13.0"], + ["accepts", "npm:1.3.7"], + ["cache-content-type", "npm:1.0.1"], + ["content-disposition", "npm:0.5.3"], + ["content-type", "npm:1.0.4"], + ["cookies", "npm:0.8.0"], + ["debug", "virtual:1a693cbdf41f6c76f18019cb77210859be16eef16627dac0e03e92b6d2ec98699c09dfca0638e23027cc025cfc583b1dd02ea5865067befc65c418929d1f00e3#npm:3.1.0"], + ["delegates", "npm:1.0.0"], + ["depd", "npm:1.1.2"], + ["destroy", "npm:1.0.4"], + ["encodeurl", "npm:1.0.2"], + ["escape-html", "npm:1.0.3"], + ["fresh", "npm:0.5.2"], + ["http-assert", "npm:1.4.1"], + ["http-errors", "npm:1.8.0"], + ["is-generator-function", "npm:1.0.7"], + ["koa-compose", "npm:4.1.0"], + ["koa-convert", "npm:1.2.0"], + ["on-finished", "npm:2.3.0"], + ["only", "npm:0.0.2"], + ["parseurl", "npm:1.3.3"], + ["statuses", "npm:1.5.0"], + ["type-is", "npm:1.6.18"], + ["vary", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["koa-compose", [ + ["npm:3.2.1", { + "packageLocation": "./.yarn/cache/koa-compose-npm-3.2.1-0020b997fa-68f839a57c.zip/node_modules/koa-compose/", + "packageDependencies": [ + ["koa-compose", "npm:3.2.1"], + ["any-promise", "npm:1.3.0"] + ], + "linkType": "HARD", + }], + ["npm:4.1.0", { + "packageLocation": "./.yarn/cache/koa-compose-npm-4.1.0-b682d9324e-53a9b90f21.zip/node_modules/koa-compose/", + "packageDependencies": [ + ["koa-compose", "npm:4.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["koa-conditional-get", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/koa-conditional-get-npm-2.0.0-8cce35f297-f59a0333e3.zip/node_modules/koa-conditional-get/", + "packageDependencies": [ + ["koa-conditional-get", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["koa-convert", [ + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/koa-convert-npm-1.2.0-5a09e15433-d74bafebae.zip/node_modules/koa-convert/", + "packageDependencies": [ + ["koa-convert", "npm:1.2.0"], + ["co", "npm:4.6.0"], + ["koa-compose", "npm:3.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["koa-etag", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/koa-etag-npm-3.0.0-9988e7f468-30ef727cd8.zip/node_modules/koa-etag/", + "packageDependencies": [ + ["koa-etag", "npm:3.0.0"], + ["etag", "npm:1.8.1"], + ["mz", "npm:2.7.0"] + ], + "linkType": "HARD", + }] + ]], + ["koa-proxies", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:0.11.0", { + "packageLocation": "./.yarn/$$virtual/koa-proxies-virtual-b916031321/0/cache/koa-proxies-npm-0.11.0-f801f535f2-461cf9ee8f.zip/node_modules/koa-proxies/", + "packageDependencies": [ + ["koa-proxies", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:0.11.0"], + ["@types/koa", "npm:2.11.4"], + ["http-proxy", "npm:1.18.1"], + ["koa", "npm:2.13.0"], + ["path-match", "npm:1.2.4"] + ], + "packagePeers": [ + "@types/koa", + "koa" + ], + "linkType": "HARD", + }] + ]], + ["koa-send", [ + ["npm:5.0.1", { + "packageLocation": "./.yarn/cache/koa-send-npm-5.0.1-1b37331b00-f7a1eae721.zip/node_modules/koa-send/", + "packageDependencies": [ + ["koa-send", "npm:5.0.1"], + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["http-errors", "npm:1.8.0"], + ["resolve-path", "npm:1.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["koa-static", [ + ["npm:5.0.0", { + "packageLocation": "./.yarn/cache/koa-static-npm-5.0.0-4248438d52-46ef53f108.zip/node_modules/koa-static/", + "packageDependencies": [ + ["koa-static", "npm:5.0.0"], + ["debug", "virtual:4248438d52dae4f796f8ae7839807024b795f7c70ddf4cbb58a4d6330ce027df2b3c8481d65b7430d525478785f68212512cd0d537d63bda0f170167a0f757f6#npm:3.2.6"], + ["koa-send", "npm:5.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["loader-utils", [ + ["npm:1.4.0", { + "packageLocation": "./.yarn/cache/loader-utils-npm-1.4.0-a56254a277-9fd690e57a.zip/node_modules/loader-utils/", + "packageDependencies": [ + ["loader-utils", "npm:1.4.0"], + ["big.js", "npm:5.2.2"], + ["emojis-list", "npm:3.0.0"], + ["json5", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["lodash", [ + ["npm:4.17.20", { + "packageLocation": "./.yarn/cache/lodash-npm-4.17.20-c0db62021c-c62101d250.zip/node_modules/lodash/", + "packageDependencies": [ + ["lodash", "npm:4.17.20"] + ], + "linkType": "HARD", + }] + ]], + ["lodash.camelcase", [ + ["npm:4.3.0", { + "packageLocation": "./.yarn/cache/lodash.camelcase-npm-4.3.0-bf268e3bf0-3cb674ed3b.zip/node_modules/lodash.camelcase/", + "packageDependencies": [ + ["lodash.camelcase", "npm:4.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["log-symbols", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/log-symbols-npm-3.0.0-b9d1446657-bfa7cceaea.zip/node_modules/log-symbols/", + "packageDependencies": [ + ["log-symbols", "npm:3.0.0"], + ["chalk", "npm:2.4.2"] + ], + "linkType": "HARD", + }] + ]], + ["lru-cache", [ + ["npm:5.1.1", { + "packageLocation": "./.yarn/cache/lru-cache-npm-5.1.1-f475882a51-ffd9a280fa.zip/node_modules/lru-cache/", + "packageDependencies": [ + ["lru-cache", "npm:5.1.1"], + ["yallist", "npm:3.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["magic-string", [ + ["npm:0.25.7", { + "packageLocation": "./.yarn/cache/magic-string-npm-0.25.7-0a0bd9c864-4b70c13eb2.zip/node_modules/magic-string/", + "packageDependencies": [ + ["magic-string", "npm:0.25.7"], + ["sourcemap-codec", "npm:1.4.8"] + ], + "linkType": "HARD", + }] + ]], + ["media-typer", [ + ["npm:0.3.0", { + "packageLocation": "./.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-be1c825782.zip/node_modules/media-typer/", + "packageDependencies": [ + ["media-typer", "npm:0.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["merge-source-map", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/merge-source-map-npm-1.1.0-f4ef12b36d-fc9701ad15.zip/node_modules/merge-source-map/", + "packageDependencies": [ + ["merge-source-map", "npm:1.1.0"], + ["source-map", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["merge-stream", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-cde834809a.zip/node_modules/merge-stream/", + "packageDependencies": [ + ["merge-stream", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["merge2", [ + ["npm:1.4.1", { + "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7ad40d8b14.zip/node_modules/merge2/", + "packageDependencies": [ + ["merge2", "npm:1.4.1"] + ], + "linkType": "HARD", + }] + ]], + ["micromatch", [ + ["npm:4.0.2", { + "packageLocation": "./.yarn/cache/micromatch-npm-4.0.2-f059c00e51-0cb0e11d64.zip/node_modules/micromatch/", + "packageDependencies": [ + ["micromatch", "npm:4.0.2"], + ["braces", "npm:3.0.2"], + ["picomatch", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["mime-db", [ + ["npm:1.44.0", { + "packageLocation": "./.yarn/cache/mime-db-npm-1.44.0-d6ab7b4e20-b4e3b21414.zip/node_modules/mime-db/", + "packageDependencies": [ + ["mime-db", "npm:1.44.0"] + ], + "linkType": "HARD", + }] + ]], + ["mime-types", [ + ["npm:2.1.27", { + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.27-bbebca8e17-51fe2f2c08.zip/node_modules/mime-types/", + "packageDependencies": [ + ["mime-types", "npm:2.1.27"], + ["mime-db", "npm:1.44.0"] + ], + "linkType": "HARD", + }] + ]], + ["mimic-fn", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-f7d2d7febe.zip/node_modules/mimic-fn/", + "packageDependencies": [ + ["mimic-fn", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["minimatch", [ + ["npm:3.0.4", { + "packageLocation": "./.yarn/cache/minimatch-npm-3.0.4-6e76f51c23-47eab92639.zip/node_modules/minimatch/", + "packageDependencies": [ + ["minimatch", "npm:3.0.4"], + ["brace-expansion", "npm:1.1.11"] + ], + "linkType": "HARD", + }] + ]], + ["minimist", [ + ["npm:1.2.5", { + "packageLocation": "./.yarn/cache/minimist-npm-1.2.5-ced0e1f617-b77b859014.zip/node_modules/minimist/", + "packageDependencies": [ + ["minimist", "npm:1.2.5"] + ], + "linkType": "HARD", + }] + ]], + ["minipass", [ + ["npm:3.1.3", { + "packageLocation": "./.yarn/cache/minipass-npm-3.1.3-af723e33f3-d12b95a845.zip/node_modules/minipass/", + "packageDependencies": [ + ["minipass", "npm:3.1.3"], + ["yallist", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["minizlib", [ + ["npm:2.1.2", { + "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-5a45b57b34.zip/node_modules/minizlib/", + "packageDependencies": [ + ["minizlib", "npm:2.1.2"], + ["minipass", "npm:3.1.3"], + ["yallist", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["mkdirp", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1aa3a6a2d7.zip/node_modules/mkdirp/", + "packageDependencies": [ + ["mkdirp", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["ms", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-1a230340cc.zip/node_modules/ms/", + "packageDependencies": [ + ["ms", "npm:2.0.0"] + ], + "linkType": "HARD", + }], + ["npm:2.1.2", { + "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-9b65fb709b.zip/node_modules/ms/", + "packageDependencies": [ + ["ms", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["mute-stream", [ + ["npm:0.0.8", { + "packageLocation": "./.yarn/cache/mute-stream-npm-0.0.8-489a7d6c2b-315c40f463.zip/node_modules/mute-stream/", + "packageDependencies": [ + ["mute-stream", "npm:0.0.8"] + ], + "linkType": "HARD", + }] + ]], + ["mz", [ + ["npm:2.7.0", { + "packageLocation": "./.yarn/cache/mz-npm-2.7.0-ec3cef4ec2-063966dd8e.zip/node_modules/mz/", + "packageDependencies": [ + ["mz", "npm:2.7.0"], + ["any-promise", "npm:1.3.0"], + ["object-assign", "npm:4.1.1"], + ["thenify-all", "npm:1.6.0"] + ], + "linkType": "HARD", + }] + ]], + ["negotiator", [ + ["npm:0.6.2", { + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.2-ba538e167a-4b230bd15f.zip/node_modules/negotiator/", + "packageDependencies": [ + ["negotiator", "npm:0.6.2"] + ], + "linkType": "HARD", + }] + ]], + ["node-forge", [ + ["npm:0.10.0", { + "packageLocation": "./.yarn/cache/node-forge-npm-0.10.0-605ba7b28b-c7a729933a.zip/node_modules/node-forge/", + "packageDependencies": [ + ["node-forge", "npm:0.10.0"] + ], + "linkType": "HARD", + }] + ]], + ["node-gyp", [ + ["npm:7.1.0", { + "packageLocation": "./.yarn/unplugged/node-gyp-npm-7.1.0-713c6fffcd/node_modules/node-gyp/", + "packageDependencies": [ + ["node-gyp", "npm:7.1.0"], + ["env-paths", "npm:2.2.0"], + ["glob", "npm:7.1.6"], + ["graceful-fs", "npm:4.2.4"], + ["nopt", "npm:4.0.3"], + ["npmlog", "npm:4.1.2"], + ["request", "npm:2.88.2"], + ["rimraf", "npm:2.7.1"], + ["semver", "npm:7.3.2"], + ["tar", "npm:6.0.5"], + ["which", "npm:2.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["nopt", [ + ["npm:4.0.3", { + "packageLocation": "./.yarn/cache/nopt-npm-4.0.3-b35e68a869-bf7b8c15fd.zip/node_modules/nopt/", + "packageDependencies": [ + ["nopt", "npm:4.0.3"], + ["abbrev", "npm:1.1.1"], + ["osenv", "npm:0.1.5"] + ], + "linkType": "HARD", + }] + ]], + ["normalize-path", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/normalize-path-npm-3.0.0-658ba7d77f-215a701b47.zip/node_modules/normalize-path/", + "packageDependencies": [ + ["normalize-path", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["npm-run-path", [ + ["npm:4.0.1", { + "packageLocation": "./.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-058fd06880.zip/node_modules/npm-run-path/", + "packageDependencies": [ + ["npm-run-path", "npm:4.0.1"], + ["path-key", "npm:3.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["npmlog", [ + ["npm:4.1.2", { + "packageLocation": "./.yarn/cache/npmlog-npm-4.1.2-cfb32957b5-0cd63f127c.zip/node_modules/npmlog/", + "packageDependencies": [ + ["npmlog", "npm:4.1.2"], + ["are-we-there-yet", "npm:1.1.5"], + ["console-control-strings", "npm:1.1.0"], + ["gauge", "npm:2.7.4"], + ["set-blocking", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["number-is-nan", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/number-is-nan-npm-1.0.1-845325a0fe-42251b2653.zip/node_modules/number-is-nan/", + "packageDependencies": [ + ["number-is-nan", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["oauth-sign", [ + ["npm:0.9.0", { + "packageLocation": "./.yarn/cache/oauth-sign-npm-0.9.0-7aa9422221-af1ab60297.zip/node_modules/oauth-sign/", + "packageDependencies": [ + ["oauth-sign", "npm:0.9.0"] + ], + "linkType": "HARD", + }] + ]], + ["object-assign", [ + ["npm:4.1.1", { + "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-66cf021898.zip/node_modules/object-assign/", + "packageDependencies": [ + ["object-assign", "npm:4.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["on-finished", [ + ["npm:2.3.0", { + "packageLocation": "./.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-362e646082.zip/node_modules/on-finished/", + "packageDependencies": [ + ["on-finished", "npm:2.3.0"], + ["ee-first", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["once", [ + ["npm:1.4.0", { + "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-57afc24653.zip/node_modules/once/", + "packageDependencies": [ + ["once", "npm:1.4.0"], + ["wrappy", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["onetime", [ + ["npm:5.1.2", { + "packageLocation": "./.yarn/cache/onetime-npm-5.1.2-3ed148fa42-e425f6caeb.zip/node_modules/onetime/", + "packageDependencies": [ + ["onetime", "npm:5.1.2"], + ["mimic-fn", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["only", [ + ["npm:0.0.2", { + "packageLocation": "./.yarn/cache/only-npm-0.0.2-122402a3f9-d9bb82243a.zip/node_modules/only/", + "packageDependencies": [ + ["only", "npm:0.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["open", [ + ["npm:7.2.1", { + "packageLocation": "./.yarn/cache/open-npm-7.2.1-b32e527915-ff35ebbfb2.zip/node_modules/open/", + "packageDependencies": [ + ["open", "npm:7.2.1"], + ["is-docker", "npm:2.1.1"], + ["is-wsl", "npm:2.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["ora", [ + ["npm:4.1.1", { + "packageLocation": "./.yarn/cache/ora-npm-4.1.1-2df946d305-21db2c0af3.zip/node_modules/ora/", + "packageDependencies": [ + ["ora", "npm:4.1.1"], + ["chalk", "npm:3.0.0"], + ["cli-cursor", "npm:3.1.0"], + ["cli-spinners", "npm:2.4.0"], + ["is-interactive", "npm:1.0.0"], + ["log-symbols", "npm:3.0.0"], + ["mute-stream", "npm:0.0.8"], + ["strip-ansi", "npm:6.0.0"], + ["wcwidth", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["os-homedir", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/os-homedir-npm-1.0.2-01f82faa88-725256246b.zip/node_modules/os-homedir/", + "packageDependencies": [ + ["os-homedir", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["os-tmpdir", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/os-tmpdir-npm-1.0.2-e305b0689b-ca158a3c2e.zip/node_modules/os-tmpdir/", + "packageDependencies": [ + ["os-tmpdir", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["osenv", [ + ["npm:0.1.5", { + "packageLocation": "./.yarn/cache/osenv-npm-0.1.5-435137eb60-1c7462808c.zip/node_modules/osenv/", + "packageDependencies": [ + ["osenv", "npm:0.1.5"], + ["os-homedir", "npm:1.0.2"], + ["os-tmpdir", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["parse-json", [ + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/parse-json-npm-4.0.0-a6f7771010-fa9d23708f.zip/node_modules/parse-json/", + "packageDependencies": [ + ["parse-json", "npm:4.0.0"], + ["error-ex", "npm:1.3.2"], + ["json-parse-better-errors", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["parseurl", [ + ["npm:1.3.3", { + "packageLocation": "./.yarn/cache/parseurl-npm-1.3.3-1542397e00-52c9e86cb5.zip/node_modules/parseurl/", + "packageDependencies": [ + ["parseurl", "npm:1.3.3"] + ], + "linkType": "HARD", + }] + ]], + ["path-is-absolute", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-907e1e3e6a.zip/node_modules/path-is-absolute/", + "packageDependencies": [ + ["path-is-absolute", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["path-key", [ + ["npm:3.1.1", { + "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-e44aa3ca9f.zip/node_modules/path-key/", + "packageDependencies": [ + ["path-key", "npm:3.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["path-match", [ + ["npm:1.2.4", { + "packageLocation": "./.yarn/cache/path-match-npm-1.2.4-6f2b6812ea-a642538d47.zip/node_modules/path-match/", + "packageDependencies": [ + ["path-match", "npm:1.2.4"], + ["http-errors", "npm:1.4.0"], + ["path-to-regexp", "npm:1.8.0"] + ], + "linkType": "HARD", + }] + ]], + ["path-parse", [ + ["npm:1.0.6", { + "packageLocation": "./.yarn/cache/path-parse-npm-1.0.6-4a4c90546c-2eee4b93fb.zip/node_modules/path-parse/", + "packageDependencies": [ + ["path-parse", "npm:1.0.6"] + ], + "linkType": "HARD", + }] + ]], + ["path-to-regexp", [ + ["npm:1.8.0", { + "packageLocation": "./.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-4c0d9aaf3f.zip/node_modules/path-to-regexp/", + "packageDependencies": [ + ["path-to-regexp", "npm:1.8.0"], + ["isarray", "npm:0.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["path-type", [ + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-ef5835f2eb.zip/node_modules/path-type/", + "packageDependencies": [ + ["path-type", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["performance-now", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-bb4ebed0b0.zip/node_modules/performance-now/", + "packageDependencies": [ + ["performance-now", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["picomatch", [ + ["npm:2.2.2", { + "packageLocation": "./.yarn/cache/picomatch-npm-2.2.2-1ce736a913-20fa75e0a5.zip/node_modules/picomatch/", + "packageDependencies": [ + ["picomatch", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["pify", [ + ["npm:2.3.0", { + "packageLocation": "./.yarn/cache/pify-npm-2.3.0-8b63310934-d5758aa570.zip/node_modules/pify/", + "packageDependencies": [ + ["pify", "npm:2.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["postcss", [ + ["npm:7.0.34", { + "packageLocation": "./.yarn/cache/postcss-npm-7.0.34-e272abe714-60e02f81ce.zip/node_modules/postcss/", + "packageDependencies": [ + ["postcss", "npm:7.0.34"], + ["chalk", "npm:2.4.2"], + ["source-map", "npm:0.6.1"], + ["supports-color", "npm:6.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-discard-comments", [ + ["npm:4.0.2", { + "packageLocation": "./.yarn/cache/postcss-discard-comments-npm-4.0.2-09a2a33168-7b357a3a4b.zip/node_modules/postcss-discard-comments/", + "packageDependencies": [ + ["postcss-discard-comments", "npm:4.0.2"], + ["postcss", "npm:7.0.34"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-import", [ + ["npm:12.0.1", { + "packageLocation": "./.yarn/cache/postcss-import-npm-12.0.1-1108779ed3-4495dba068.zip/node_modules/postcss-import/", + "packageDependencies": [ + ["postcss-import", "npm:12.0.1"], + ["postcss", "npm:7.0.34"], + ["postcss-value-parser", "npm:3.3.1"], + ["read-cache", "npm:1.0.0"], + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-load-config", [ + ["npm:2.1.1", { + "packageLocation": "./.yarn/cache/postcss-load-config-npm-2.1.1-9d43388122-020099936b.zip/node_modules/postcss-load-config/", + "packageDependencies": [ + ["postcss-load-config", "npm:2.1.1"], + ["cosmiconfig", "npm:5.2.1"], + ["import-cwd", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-modules", [ + ["npm:3.2.2", { + "packageLocation": "./.yarn/cache/postcss-modules-npm-3.2.2-1cef301503-da8c001ad6.zip/node_modules/postcss-modules/", + "packageDependencies": [ + ["postcss-modules", "npm:3.2.2"], + ["generic-names", "npm:2.0.1"], + ["icss-replace-symbols", "npm:1.1.0"], + ["lodash.camelcase", "npm:4.3.0"], + ["postcss", "npm:7.0.34"], + ["postcss-modules-extract-imports", "npm:2.0.0"], + ["postcss-modules-local-by-default", "npm:3.0.3"], + ["postcss-modules-scope", "npm:2.2.0"], + ["postcss-modules-values", "npm:3.0.0"], + ["string-hash", "npm:1.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-modules-extract-imports", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/postcss-modules-extract-imports-npm-2.0.0-da9714d21f-82e5932581.zip/node_modules/postcss-modules-extract-imports/", + "packageDependencies": [ + ["postcss-modules-extract-imports", "npm:2.0.0"], + ["postcss", "npm:7.0.34"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-modules-local-by-default", [ + ["npm:3.0.3", { + "packageLocation": "./.yarn/cache/postcss-modules-local-by-default-npm-3.0.3-c3456a1d54-6d34b3b1dc.zip/node_modules/postcss-modules-local-by-default/", + "packageDependencies": [ + ["postcss-modules-local-by-default", "npm:3.0.3"], + ["icss-utils", "npm:4.1.1"], + ["postcss", "npm:7.0.34"], + ["postcss-selector-parser", "npm:6.0.3"], + ["postcss-value-parser", "npm:4.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-modules-scope", [ + ["npm:2.2.0", { + "packageLocation": "./.yarn/cache/postcss-modules-scope-npm-2.2.0-e243a2b896-c560d3aa7b.zip/node_modules/postcss-modules-scope/", + "packageDependencies": [ + ["postcss-modules-scope", "npm:2.2.0"], + ["postcss", "npm:7.0.34"], + ["postcss-selector-parser", "npm:6.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-modules-values", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/postcss-modules-values-npm-3.0.0-bbe8110e5b-01dc4ea51e.zip/node_modules/postcss-modules-values/", + "packageDependencies": [ + ["postcss-modules-values", "npm:3.0.0"], + ["icss-utils", "npm:4.1.1"], + ["postcss", "npm:7.0.34"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-selector-parser", [ + ["npm:6.0.3", { + "packageLocation": "./.yarn/cache/postcss-selector-parser-npm-6.0.3-5ecd7e8783-9a9cdf00d4.zip/node_modules/postcss-selector-parser/", + "packageDependencies": [ + ["postcss-selector-parser", "npm:6.0.3"], + ["cssesc", "npm:3.0.0"], + ["indexes-of", "npm:1.0.1"], + ["uniq", "npm:1.0.1"], + ["util-deprecate", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["postcss-value-parser", [ + ["npm:3.3.1", { + "packageLocation": "./.yarn/cache/postcss-value-parser-npm-3.3.1-24ecbb1b05-834603f6bd.zip/node_modules/postcss-value-parser/", + "packageDependencies": [ + ["postcss-value-parser", "npm:3.3.1"] + ], + "linkType": "HARD", + }], + ["npm:4.1.0", { + "packageLocation": "./.yarn/cache/postcss-value-parser-npm-4.1.0-4620e3e849-7083140388.zip/node_modules/postcss-value-parser/", + "packageDependencies": [ + ["postcss-value-parser", "npm:4.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["process-nextick-args", [ + ["npm:2.0.1", { + "packageLocation": "./.yarn/cache/process-nextick-args-npm-2.0.1-b8d7971609-ddeb0f07d0.zip/node_modules/process-nextick-args/", + "packageDependencies": [ + ["process-nextick-args", "npm:2.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["psl", [ + ["npm:1.8.0", { + "packageLocation": "./.yarn/cache/psl-npm-1.8.0-226099d70e-92d47c6257.zip/node_modules/psl/", + "packageDependencies": [ + ["psl", "npm:1.8.0"] + ], + "linkType": "HARD", + }] + ]], + ["pump", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/pump-npm-3.0.0-0080bf6a7a-5464d5cf6c.zip/node_modules/pump/", + "packageDependencies": [ + ["pump", "npm:3.0.0"], + ["end-of-stream", "npm:1.4.4"], + ["once", "npm:1.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["punycode", [ + ["npm:2.1.1", { + "packageLocation": "./.yarn/cache/punycode-npm-2.1.1-26eb3e15cf-0202dc191c.zip/node_modules/punycode/", + "packageDependencies": [ + ["punycode", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["qs", [ + ["npm:6.5.2", { + "packageLocation": "./.yarn/cache/qs-npm-6.5.2-dbf9d8386b-fa0410eff2.zip/node_modules/qs/", + "packageDependencies": [ + ["qs", "npm:6.5.2"] + ], + "linkType": "HARD", + }] + ]], + ["randombytes", [ + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/randombytes-npm-2.1.0-e3da76bccf-ede2693af0.zip/node_modules/randombytes/", + "packageDependencies": [ + ["randombytes", "npm:2.1.0"], + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["read-cache", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/read-cache-npm-1.0.0-00fa89ed05-17a1996977.zip/node_modules/read-cache/", + "packageDependencies": [ + ["read-cache", "npm:1.0.0"], + ["pify", "npm:2.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["readable-stream", [ + ["npm:2.3.7", { + "packageLocation": "./.yarn/cache/readable-stream-npm-2.3.7-77b22a9818-6e38265606.zip/node_modules/readable-stream/", + "packageDependencies": [ + ["readable-stream", "npm:2.3.7"], + ["core-util-is", "npm:1.0.2"], + ["inherits", "npm:2.0.4"], + ["isarray", "npm:1.0.0"], + ["process-nextick-args", "npm:2.0.1"], + ["safe-buffer", "npm:5.1.2"], + ["string_decoder", "npm:1.1.1"], + ["util-deprecate", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["readdirp", [ + ["npm:3.4.0", { + "packageLocation": "./.yarn/cache/readdirp-npm-3.4.0-503e0a2772-0159f43eb0.zip/node_modules/readdirp/", + "packageDependencies": [ + ["readdirp", "npm:3.4.0"], + ["picomatch", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], + ["request", [ + ["npm:2.88.2", { + "packageLocation": "./.yarn/cache/request-npm-2.88.2-f4a57c72c4-7a74841f30.zip/node_modules/request/", + "packageDependencies": [ + ["request", "npm:2.88.2"], + ["aws-sign2", "npm:0.7.0"], + ["aws4", "npm:1.10.1"], + ["caseless", "npm:0.12.0"], + ["combined-stream", "npm:1.0.8"], + ["extend", "npm:3.0.2"], + ["forever-agent", "npm:0.6.1"], + ["form-data", "npm:2.3.3"], + ["har-validator", "npm:5.1.5"], + ["http-signature", "npm:1.2.0"], + ["is-typedarray", "npm:1.0.0"], + ["isstream", "npm:0.1.2"], + ["json-stringify-safe", "npm:5.0.1"], + ["mime-types", "npm:2.1.27"], + ["oauth-sign", "npm:0.9.0"], + ["performance-now", "npm:2.1.0"], + ["qs", "npm:6.5.2"], + ["safe-buffer", "npm:5.1.2"], + ["tough-cookie", "npm:2.5.0"], + ["tunnel-agent", "npm:0.6.0"], + ["uuid", "npm:3.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["requires-port", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/requires-port-npm-1.0.0-fd036b488a-0db25fb2ac.zip/node_modules/requires-port/", + "packageDependencies": [ + ["requires-port", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["resolve", [ + ["patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa", { + "packageLocation": "./.yarn/cache/resolve-patch-38ce149af0-4bcfb56886.zip/node_modules/resolve/", + "packageDependencies": [ + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"], + ["path-parse", "npm:1.0.6"] + ], + "linkType": "HARD", + }] + ]], + ["resolve-from", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/resolve-from-npm-3.0.0-0bff35697e-dc0c83b3b8.zip/node_modules/resolve-from/", + "packageDependencies": [ + ["resolve-from", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["resolve-path", [ + ["npm:1.4.0", { + "packageLocation": "./.yarn/cache/resolve-path-npm-1.4.0-796e63d898-bba379cf68.zip/node_modules/resolve-path/", + "packageDependencies": [ + ["resolve-path", "npm:1.4.0"], + ["http-errors", "npm:1.6.3"], + ["path-is-absolute", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["restore-cursor", [ + ["npm:3.1.0", { + "packageLocation": "./.yarn/cache/restore-cursor-npm-3.1.0-52c5a4c98f-38e0af0830.zip/node_modules/restore-cursor/", + "packageDependencies": [ + ["restore-cursor", "npm:3.1.0"], + ["onetime", "npm:5.1.2"], + ["signal-exit", "npm:3.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["reusify", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-08ef02ed05.zip/node_modules/reusify/", + "packageDependencies": [ + ["reusify", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["rimraf", [ + ["npm:2.7.1", { + "packageLocation": "./.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-059efac283.zip/node_modules/rimraf/", + "packageDependencies": [ + ["rimraf", "npm:2.7.1"], + ["glob", "npm:7.1.6"] + ], + "linkType": "HARD", + }] + ]], + ["rollup", [ + ["npm:2.28.2", { + "packageLocation": "./.yarn/cache/rollup-npm-2.28.2-71105444f3-a0cfb9b5f7.zip/node_modules/rollup/", + "packageDependencies": [ + ["rollup", "npm:2.28.2"], + ["fsevents", "patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=87eb42"] + ], + "linkType": "HARD", + }] + ]], + ["rollup-plugin-dynamic-import-variables", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/rollup-plugin-dynamic-import-variables-npm-1.1.0-bf39d80393-ecbe1821df.zip/node_modules/rollup-plugin-dynamic-import-variables/", + "packageDependencies": [ + ["rollup-plugin-dynamic-import-variables", "npm:1.1.0"], + ["@rollup/pluginutils", "virtual:bf39d803931830728a6e8a8001ad350d7a88b0d0cd8815565938275bf52597d4ddf154b4d2234f9473c9f2affeca2fdb063d72499070ffa8b9276e2e6750a4dc#npm:3.1.0"], + ["estree-walker", "npm:2.0.1"], + ["globby", "npm:11.0.1"], + ["magic-string", "npm:0.25.7"] + ], + "linkType": "HARD", + }] + ]], + ["rollup-plugin-terser", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:5.3.1", { + "packageLocation": "./.yarn/$$virtual/rollup-plugin-terser-virtual-9add382df3/0/cache/rollup-plugin-terser-npm-5.3.1-825cbdcec7-18ebbdc41a.zip/node_modules/rollup-plugin-terser/", + "packageDependencies": [ + ["rollup-plugin-terser", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:5.3.1"], + ["@babel/code-frame", "npm:7.10.4"], + ["@types/rollup", null], + ["jest-worker", "npm:24.9.0"], + ["rollup", "npm:2.28.2"], + ["rollup-pluginutils", "npm:2.8.2"], + ["serialize-javascript", "npm:4.0.0"], + ["terser", "npm:4.8.0"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["rollup-plugin-vue", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:6.0.0-beta.10", { + "packageLocation": "./.yarn/$$virtual/rollup-plugin-vue-virtual-1b1fb2ab1f/0/cache/rollup-plugin-vue-npm-6.0.0-beta.10-1f9c12406a-6c2ea6207c.zip/node_modules/rollup-plugin-vue/", + "packageDependencies": [ + ["rollup-plugin-vue", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:6.0.0-beta.10"], + ["@types/vue__compiler-sfc", null], + ["@vue/compiler-sfc", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:3.0.0"], + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["hash-sum", "npm:2.0.0"], + ["rollup-pluginutils", "npm:2.8.2"] + ], + "packagePeers": [ + "@types/vue__compiler-sfc", + "@vue/compiler-sfc" + ], + "linkType": "HARD", + }] + ]], + ["rollup-plugin-web-worker-loader", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:1.4.0", { + "packageLocation": "./.yarn/$$virtual/rollup-plugin-web-worker-loader-virtual-4592b4546c/0/cache/rollup-plugin-web-worker-loader-npm-1.4.0-7464b49811-96cec6feb8.zip/node_modules/rollup-plugin-web-worker-loader/", + "packageDependencies": [ + ["rollup-plugin-web-worker-loader", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:1.4.0"], + ["@types/rollup", null], + ["rollup", "npm:2.28.2"] + ], + "packagePeers": [ + "@types/rollup", + "rollup" + ], + "linkType": "HARD", + }] + ]], + ["rollup-pluginutils", [ + ["npm:2.8.2", { + "packageLocation": "./.yarn/cache/rollup-pluginutils-npm-2.8.2-f554dd6ac5-6922c1a26d.zip/node_modules/rollup-pluginutils/", + "packageDependencies": [ + ["rollup-pluginutils", "npm:2.8.2"], + ["estree-walker", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["run-parallel", [ + ["npm:1.1.9", { + "packageLocation": "./.yarn/cache/run-parallel-npm-1.1.9-83c6b2d620-a05ca86e99.zip/node_modules/run-parallel/", + "packageDependencies": [ + ["run-parallel", "npm:1.1.9"] + ], + "linkType": "HARD", + }] + ]], + ["safe-buffer", [ + ["npm:5.1.2", { + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.1.2-c27fedf6c4-2708587c1b.zip/node_modules/safe-buffer/", + "packageDependencies": [ + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["safer-buffer", [ + ["npm:2.1.2", { + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-549ba83f5b.zip/node_modules/safer-buffer/", + "packageDependencies": [ + ["safer-buffer", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["selfsigned", [ + ["npm:1.10.8", { + "packageLocation": "./.yarn/cache/selfsigned-npm-1.10.8-c48e1ebfb2-a382ec2af9.zip/node_modules/selfsigned/", + "packageDependencies": [ + ["selfsigned", "npm:1.10.8"], + ["node-forge", "npm:0.10.0"] + ], + "linkType": "HARD", + }] + ]], + ["semver", [ + ["npm:5.7.1", { + "packageLocation": "./.yarn/cache/semver-npm-5.7.1-40bcea106b-06ff0ed753.zip/node_modules/semver/", + "packageDependencies": [ + ["semver", "npm:5.7.1"] + ], + "linkType": "HARD", + }], + ["npm:7.3.2", { + "packageLocation": "./.yarn/cache/semver-npm-7.3.2-161b023bbb-bceb46d396.zip/node_modules/semver/", + "packageDependencies": [ + ["semver", "npm:7.3.2"] + ], + "linkType": "HARD", + }] + ]], + ["serialize-javascript", [ + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/serialize-javascript-npm-4.0.0-b4aeff413b-f17305aaab.zip/node_modules/serialize-javascript/", + "packageDependencies": [ + ["serialize-javascript", "npm:4.0.0"], + ["randombytes", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], + ["set-blocking", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-0ac2403b0c.zip/node_modules/set-blocking/", + "packageDependencies": [ + ["set-blocking", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["setprototypeof", [ + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.1.0-7d8becb375-8a3fb2ff4b.zip/node_modules/setprototypeof/", + "packageDependencies": [ + ["setprototypeof", "npm:1.1.0"] + ], + "linkType": "HARD", + }], + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.1.1-706b6318ec-0efed4da5a.zip/node_modules/setprototypeof/", + "packageDependencies": [ + ["setprototypeof", "npm:1.1.1"] + ], + "linkType": "HARD", + }], + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-7269143985.zip/node_modules/setprototypeof/", + "packageDependencies": [ + ["setprototypeof", "npm:1.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["shebang-command", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-85aa394d8c.zip/node_modules/shebang-command/", + "packageDependencies": [ + ["shebang-command", "npm:2.0.0"], + ["shebang-regex", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["shebang-regex", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-ea18044ffa.zip/node_modules/shebang-regex/", + "packageDependencies": [ + ["shebang-regex", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["signal-exit", [ + ["npm:3.0.3", { + "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.3-5a2d797648-f8f3fec95c.zip/node_modules/signal-exit/", + "packageDependencies": [ + ["signal-exit", "npm:3.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["slash", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-fc3e8597d8.zip/node_modules/slash/", + "packageDependencies": [ + ["slash", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["solid-js", [ + ["npm:0.20.0", { + "packageLocation": "./.yarn/cache/solid-js-npm-0.20.0-f11a1f8628-2b4be75a30.zip/node_modules/solid-js/", + "packageDependencies": [ + ["solid-js", "npm:0.20.0"] + ], + "linkType": "HARD", + }] + ]], + ["source-map", [ + ["npm:0.5.7", { + "packageLocation": "./.yarn/cache/source-map-npm-0.5.7-7c3f035429-737face965.zip/node_modules/source-map/", + "packageDependencies": [ + ["source-map", "npm:0.5.7"] + ], + "linkType": "HARD", + }], + ["npm:0.6.1", { + "packageLocation": "./.yarn/cache/source-map-npm-0.6.1-1a3621db16-8647829a06.zip/node_modules/source-map/", + "packageDependencies": [ + ["source-map", "npm:0.6.1"] + ], + "linkType": "HARD", + }], + ["npm:0.7.3", { + "packageLocation": "./.yarn/cache/source-map-npm-0.7.3-e3b4f7982a-351ce26ffa.zip/node_modules/source-map/", + "packageDependencies": [ + ["source-map", "npm:0.7.3"] + ], + "linkType": "HARD", + }] + ]], + ["source-map-support", [ + ["npm:0.5.19", { + "packageLocation": "./.yarn/cache/source-map-support-npm-0.5.19-65b33ae61e-59d4efaae9.zip/node_modules/source-map-support/", + "packageDependencies": [ + ["source-map-support", "npm:0.5.19"], + ["buffer-from", "npm:1.1.1"], + ["source-map", "npm:0.6.1"] + ], + "linkType": "HARD", + }] + ]], + ["sourcemap-codec", [ + ["npm:1.4.8", { + "packageLocation": "./.yarn/cache/sourcemap-codec-npm-1.4.8-3a1a9e60b1-4d56d1232a.zip/node_modules/sourcemap-codec/", + "packageDependencies": [ + ["sourcemap-codec", "npm:1.4.8"] + ], + "linkType": "HARD", + }] + ]], + ["sprintf-js", [ + ["npm:1.0.3", { + "packageLocation": "./.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-51df1bce9e.zip/node_modules/sprintf-js/", + "packageDependencies": [ + ["sprintf-js", "npm:1.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["sshpk", [ + ["npm:1.16.1", { + "packageLocation": "./.yarn/cache/sshpk-npm-1.16.1-feb759e7e0-4bd7422634.zip/node_modules/sshpk/", + "packageDependencies": [ + ["sshpk", "npm:1.16.1"], + ["asn1", "npm:0.2.4"], + ["assert-plus", "npm:1.0.0"], + ["bcrypt-pbkdf", "npm:1.0.2"], + ["dashdash", "npm:1.14.1"], + ["ecc-jsbn", "npm:0.1.2"], + ["getpass", "npm:0.1.7"], + ["jsbn", "npm:0.1.1"], + ["safer-buffer", "npm:2.1.2"], + ["tweetnacl", "npm:0.14.5"] + ], + "linkType": "HARD", + }] + ]], + ["statuses", [ + ["npm:1.5.0", { + "packageLocation": "./.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-57735269bf.zip/node_modules/statuses/", + "packageDependencies": [ + ["statuses", "npm:1.5.0"] + ], + "linkType": "HARD", + }] + ]], + ["string-hash", [ + ["npm:1.1.3", { + "packageLocation": "./.yarn/cache/string-hash-npm-1.1.3-3cb8892e7c-178d855be2.zip/node_modules/string-hash/", + "packageDependencies": [ + ["string-hash", "npm:1.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["string-width", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/string-width-npm-1.0.2-01031f9add-b11745daa9.zip/node_modules/string-width/", + "packageDependencies": [ + ["string-width", "npm:1.0.2"], + ["code-point-at", "npm:1.1.0"], + ["is-fullwidth-code-point", "npm:1.0.0"], + ["strip-ansi", "npm:3.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["string_decoder", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/string_decoder-npm-1.1.1-e46a6c1353-bc2dc169d8.zip/node_modules/string_decoder/", + "packageDependencies": [ + ["string_decoder", "npm:1.1.1"], + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["strip-ansi", [ + ["npm:3.0.1", { + "packageLocation": "./.yarn/cache/strip-ansi-npm-3.0.1-6aec1365b9-98772dcf44.zip/node_modules/strip-ansi/", + "packageDependencies": [ + ["strip-ansi", "npm:3.0.1"], + ["ansi-regex", "npm:2.1.1"] + ], + "linkType": "HARD", + }], + ["npm:6.0.0", { + "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.0-904613e9eb-10568c91ca.zip/node_modules/strip-ansi/", + "packageDependencies": [ + ["strip-ansi", "npm:6.0.0"], + ["ansi-regex", "npm:5.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["strip-final-newline", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-74dbd8a602.zip/node_modules/strip-final-newline/", + "packageDependencies": [ + ["strip-final-newline", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["supports-color", [ + ["npm:5.5.0", { + "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-edacee6425.zip/node_modules/supports-color/", + "packageDependencies": [ + ["supports-color", "npm:5.5.0"], + ["has-flag", "npm:3.0.0"] + ], + "linkType": "HARD", + }], + ["npm:6.1.0", { + "packageLocation": "./.yarn/cache/supports-color-npm-6.1.0-7d19cd7f55-8682157129.zip/node_modules/supports-color/", + "packageDependencies": [ + ["supports-color", "npm:6.1.0"], + ["has-flag", "npm:3.0.0"] + ], + "linkType": "HARD", + }], + ["npm:7.2.0", { + "packageLocation": "./.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-8e57067c39.zip/node_modules/supports-color/", + "packageDependencies": [ + ["supports-color", "npm:7.2.0"], + ["has-flag", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["tar", [ + ["npm:6.0.5", { + "packageLocation": "./.yarn/cache/tar-npm-6.0.5-a5360f3389-7ae2621092.zip/node_modules/tar/", + "packageDependencies": [ + ["tar", "npm:6.0.5"], + ["chownr", "npm:2.0.0"], + ["fs-minipass", "npm:2.1.0"], + ["minipass", "npm:3.1.3"], + ["minizlib", "npm:2.1.2"], + ["mkdirp", "npm:1.0.4"], + ["yallist", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["terser", [ + ["npm:4.8.0", { + "packageLocation": "./.yarn/cache/terser-npm-4.8.0-272e3d2592-d7ab95898b.zip/node_modules/terser/", + "packageDependencies": [ + ["terser", "npm:4.8.0"], + ["commander", "npm:2.20.3"], + ["source-map", "npm:0.6.1"], + ["source-map-support", "npm:0.5.19"] + ], + "linkType": "HARD", + }] + ]], + ["thenify", [ + ["npm:3.3.1", { + "packageLocation": "./.yarn/cache/thenify-npm-3.3.1-030bedb22c-c3cbda4f5f.zip/node_modules/thenify/", + "packageDependencies": [ + ["thenify", "npm:3.3.1"], + ["any-promise", "npm:1.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["thenify-all", [ + ["npm:1.6.0", { + "packageLocation": "./.yarn/cache/thenify-all-npm-1.6.0-96309bbc8b-22775c13a1.zip/node_modules/thenify-all/", + "packageDependencies": [ + ["thenify-all", "npm:1.6.0"], + ["thenify", "npm:3.3.1"] + ], + "linkType": "HARD", + }] + ]], + ["to-fast-properties", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-40e6198424.zip/node_modules/to-fast-properties/", + "packageDependencies": [ + ["to-fast-properties", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["to-regex-range", [ + ["npm:5.0.1", { + "packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-2b6001e314.zip/node_modules/to-regex-range/", + "packageDependencies": [ + ["to-regex-range", "npm:5.0.1"], + ["is-number", "npm:7.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["toidentifier", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.0-5dad252f90-95720e8a0f.zip/node_modules/toidentifier/", + "packageDependencies": [ + ["toidentifier", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["tough-cookie", [ + ["npm:2.5.0", { + "packageLocation": "./.yarn/cache/tough-cookie-npm-2.5.0-79a2fe43fe-bf5d6fac5c.zip/node_modules/tough-cookie/", + "packageDependencies": [ + ["tough-cookie", "npm:2.5.0"], + ["psl", "npm:1.8.0"], + ["punycode", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["tsscmp", [ + ["npm:1.0.6", { + "packageLocation": "./.yarn/cache/tsscmp-npm-1.0.6-3223087558-1a5b76eb37.zip/node_modules/tsscmp/", + "packageDependencies": [ + ["tsscmp", "npm:1.0.6"] + ], + "linkType": "HARD", + }] + ]], + ["tunnel-agent", [ + ["npm:0.6.0", { + "packageLocation": "./.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-03db75a4f9.zip/node_modules/tunnel-agent/", + "packageDependencies": [ + ["tunnel-agent", "npm:0.6.0"], + ["safe-buffer", "npm:5.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["tweetnacl", [ + ["npm:0.14.5", { + "packageLocation": "./.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-e1c9d52e2e.zip/node_modules/tweetnacl/", + "packageDependencies": [ + ["tweetnacl", "npm:0.14.5"] + ], + "linkType": "HARD", + }] + ]], + ["type-is", [ + ["npm:1.6.18", { + "packageLocation": "./.yarn/cache/type-is-npm-1.6.18-6dee4d4961-20a3514f1d.zip/node_modules/type-is/", + "packageDependencies": [ + ["type-is", "npm:1.6.18"], + ["media-typer", "npm:0.3.0"], + ["mime-types", "npm:2.1.27"] + ], + "linkType": "HARD", + }] + ]], + ["typescript", [ + ["patch:typescript@npm%3A4.0.3#builtin::version=4.0.3&hash=5b02a2", { + "packageLocation": "./.yarn/cache/typescript-patch-b8e40b0a95-72db87d09f.zip/node_modules/typescript/", + "packageDependencies": [ + ["typescript", "patch:typescript@npm%3A4.0.3#builtin::version=4.0.3&hash=5b02a2"] + ], + "linkType": "HARD", + }] + ]], + ["uniq", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/uniq-npm-1.0.1-5cab2dd0f3-a5603a5b31.zip/node_modules/uniq/", + "packageDependencies": [ + ["uniq", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["universalify", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/universalify-npm-1.0.0-eff81409f3-d74303a8d9.zip/node_modules/universalify/", + "packageDependencies": [ + ["universalify", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["uri-js", [ + ["npm:4.4.0", { + "packageLocation": "./.yarn/cache/uri-js-npm-4.4.0-a39c5b3ee7-9705773441.zip/node_modules/uri-js/", + "packageDependencies": [ + ["uri-js", "npm:4.4.0"], + ["punycode", "npm:2.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["util-deprecate", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-73c2b1cf02.zip/node_modules/util-deprecate/", + "packageDependencies": [ + ["util-deprecate", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["uuid", [ + ["npm:3.4.0", { + "packageLocation": "./.yarn/cache/uuid-npm-3.4.0-4fd8ef88ad-1ce3f37e21.zip/node_modules/uuid/", + "packageDependencies": [ + ["uuid", "npm:3.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["vary", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/vary-npm-1.1.2-b49f70ae63-591f059f72.zip/node_modules/vary/", + "packageDependencies": [ + ["vary", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["verror", [ + ["npm:1.10.0", { + "packageLocation": "./.yarn/cache/verror-npm-1.10.0-c3f839c579-38ea80312c.zip/node_modules/verror/", + "packageDependencies": [ + ["verror", "npm:1.10.0"], + ["assert-plus", "npm:1.0.0"], + ["core-util-is", "npm:1.0.2"], + ["extsprintf", "npm:1.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["vite", [ + ["npm:1.0.0-rc.4", { + "packageLocation": "./.yarn/cache/vite-npm-1.0.0-rc.4-d97010bdf2-ee38ae0ef0.zip/node_modules/vite/", + "packageDependencies": [ + ["vite", "npm:1.0.0-rc.4"], + ["@babel/parser", "npm:7.11.5"], + ["@rollup/plugin-commonjs", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:14.0.0"], + ["@rollup/plugin-json", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:4.1.0"], + ["@rollup/plugin-node-resolve", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:8.4.0"], + ["@types/koa", "npm:2.11.4"], + ["@types/lru-cache", "npm:5.1.0"], + ["@vue/compiler-dom", "npm:3.0.0"], + ["@vue/compiler-sfc", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:3.0.0"], + ["brotli-size", "npm:4.0.0"], + ["chalk", "npm:4.1.0"], + ["chokidar", "npm:3.4.2"], + ["clean-css", "npm:4.2.3"], + ["debug", "virtual:2395052be89e7cb60a9e457720a81c812457953cc762643b2dddf96818b24121417de8a1244c250c72573d9df94e1c92243e353c6f07da586de517860c3c8e2e#npm:4.3.0"], + ["dotenv", "npm:8.2.0"], + ["dotenv-expand", "npm:5.1.0"], + ["es-module-lexer", "npm:0.3.25"], + ["esbuild", "npm:0.6.34"], + ["etag", "npm:1.8.1"], + ["execa", "npm:4.0.3"], + ["fs-extra", "npm:9.0.1"], + ["hash-sum", "npm:2.0.0"], + ["isbuiltin", "npm:1.0.0"], + ["koa", "npm:2.13.0"], + ["koa-conditional-get", "npm:2.0.0"], + ["koa-etag", "npm:3.0.0"], + ["koa-proxies", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:0.11.0"], + ["koa-send", "npm:5.0.1"], + ["koa-static", "npm:5.0.0"], + ["lru-cache", "npm:5.1.1"], + ["magic-string", "npm:0.25.7"], + ["merge-source-map", "npm:1.1.0"], + ["mime-types", "npm:2.1.27"], + ["minimist", "npm:1.2.5"], + ["open", "npm:7.2.1"], + ["ora", "npm:4.1.1"], + ["postcss", "npm:7.0.34"], + ["postcss-discard-comments", "npm:4.0.2"], + ["postcss-import", "npm:12.0.1"], + ["postcss-load-config", "npm:2.1.1"], + ["resolve", "patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa"], + ["rollup", "npm:2.28.2"], + ["rollup-plugin-dynamic-import-variables", "npm:1.1.0"], + ["rollup-plugin-terser", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:5.3.1"], + ["rollup-plugin-vue", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:6.0.0-beta.10"], + ["rollup-plugin-web-worker-loader", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:1.4.0"], + ["rollup-pluginutils", "npm:2.8.2"], + ["selfsigned", "npm:1.10.8"], + ["slash", "npm:3.0.0"], + ["vue", "npm:3.0.0"], + ["ws", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:7.3.1"] + ], + "linkType": "HARD", + }] + ]], + ["vue", [ + ["npm:3.0.0", { + "packageLocation": "./.yarn/cache/vue-npm-3.0.0-6474504e0b-c4be2cd4f8.zip/node_modules/vue/", + "packageDependencies": [ + ["vue", "npm:3.0.0"], + ["@vue/compiler-dom", "npm:3.0.0"], + ["@vue/runtime-dom", "npm:3.0.0"], + ["@vue/shared", "npm:3.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["wcwidth", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/wcwidth-npm-1.0.1-05fa596453-abf8ba432d.zip/node_modules/wcwidth/", + "packageDependencies": [ + ["wcwidth", "npm:1.0.1"], + ["defaults", "npm:1.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["which", [ + ["npm:2.0.2", { + "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-ea9b1db126.zip/node_modules/which/", + "packageDependencies": [ + ["which", "npm:2.0.2"], + ["isexe", "npm:2.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["wide-align", [ + ["npm:1.1.3", { + "packageLocation": "./.yarn/cache/wide-align-npm-1.1.3-48c7d4953c-4f850f84da.zip/node_modules/wide-align/", + "packageDependencies": [ + ["wide-align", "npm:1.1.3"], + ["string-width", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["wrappy", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-519fcda0fc.zip/node_modules/wrappy/", + "packageDependencies": [ + ["wrappy", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["ws", [ + ["virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:7.3.1", { + "packageLocation": "./.yarn/$$virtual/ws-virtual-d3ee6f6c19/0/cache/ws-npm-7.3.1-0fa30fe373-9302f1f665.zip/node_modules/ws/", + "packageDependencies": [ + ["ws", "virtual:d97010bdf23f7288b940ab8cd617c022baf57ce1667f1e722f2458ccdb59ee88820017b987abde43388b03dfd7fede4a5a21c62c08c4cacfec5e2b8ef6844a8c#npm:7.3.1"], + ["@types/bufferutil", null], + ["@types/utf-8-validate", null], + ["bufferutil", null], + ["utf-8-validate", null] + ], + "packagePeers": [ + "@types/bufferutil", + "@types/utf-8-validate", + "bufferutil", + "utf-8-validate" + ], + "linkType": "HARD", + }] + ]], + ["yallist", [ + ["npm:3.1.1", { + "packageLocation": "./.yarn/cache/yallist-npm-3.1.1-a568a556b4-f352c93b92.zip/node_modules/yallist/", + "packageDependencies": [ + ["yallist", "npm:3.1.1"] + ], + "linkType": "HARD", + }], + ["npm:4.0.0", { + "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-a2960ef879.zip/node_modules/yallist/", + "packageDependencies": [ + ["yallist", "npm:4.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["ylru", [ + ["npm:1.2.1", { + "packageLocation": "./.yarn/cache/ylru-npm-1.2.1-4471986a45-ce002a8bb5.zip/node_modules/ylru/", + "packageDependencies": [ + ["ylru", "npm:1.2.1"] + ], + "linkType": "HARD", + }] + ]] + ] + }, {basePath: basePath || __dirname}); + } + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["pnpHook"] = factory(); + else + root["pnpHook"] = factory(); +})(global, function() { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 398: +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "uY": () => /* binding */ FakeFS, + "fS": () => /* binding */ BasePortableFakeFS +}); + +// UNUSED EXPORTS: normalizeLineEndings + +// EXTERNAL MODULE: external "os" +var external_os_ = __webpack_require__(87); + +// EXTERNAL MODULE: external "fs" +var external_fs_ = __webpack_require__(747); +var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); + +// EXTERNAL MODULE: ../yarnpkg-fslib/sources/path.ts +var path = __webpack_require__(9); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/copyPromise.ts + + // 1980-01-01, like Fedora + +const defaultTime = 315532800; +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + await destinationFs.mkdirPromise(destinationFs.pathUtils.dirname(destination), { + recursive: true + }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts); + + for (const operation of prelayout) await operation(); + + await Promise.all(postlayout.map(operation => { + return operation(); + })); +} + +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = await maybeLStat(destinationFs, destination); + const sourceStat = await sourceFs.lstatPromise(source); + if (opts.stableTime) postlayout.push(() => updateTime(destination, defaultTime, defaultTime));else postlayout.push(() => updateTime(destination, sourceStat.atime, sourceStat.mtime)); + + switch (true) { + case sourceStat.isDirectory(): + { + await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + case sourceStat.isFile(): + { + await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + case sourceStat.isSymbolicLink(): + { + await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + break; + } + + postlayout.push(() => { + return destinationFs.chmodPromise(destination, sourceStat.mode & 0o777); + }); +} + +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} + +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return; + } + } + + if (destinationStat === null) prelayout.push(async () => destinationFs.mkdirPromise(destination, { + mode: sourceStat.mode + })); + const entries = await sourceFs.readdirPromise(source); + + if (opts.stableSort) { + for (const entry of entries.sort()) { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts); + } + } else { + await Promise.all(entries.map(async entry => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts); + })); + } +} + +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return; + } + } + + if (destinationFs === sourceFs) { + prelayout.push(async () => destinationFs.copyFilePromise(source, destination, (external_fs_default()).constants.COPYFILE_FICLONE)); + } else { + prelayout.push(async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source))); + } +} + +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return; + } + } + + const target = await sourceFs.readlinkPromise(source); + prelayout.push(async () => destinationFs.symlinkPromise((0,path/* convertPath */.CI)(destinationFs.pathUtils, target), destination)); +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/FakeFS.ts + + + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + + async *genTraversePromise(init, { + stableSort = false + } = {}) { + const stack = [init]; + + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + + if (stableSort) { + for (const entry of entries.sort()) { + stack.push(this.pathUtils.join(p, entry)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + + async removePromise(p, { + recursive = true, + maxRetries = 5 + } = {}) { + let stat; + + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + + if (stat.isDirectory()) { + if (recursive) for (const entry of await this.readdirPromise(p)) await this.removePromise(this.pathUtils.resolve(p, entry)); // 5 gives 1s worth of retries at worst + + let t = 0; + + do { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) { + if (maxRetries === 0) { + break; + } else { + await new Promise(resolve => setTimeout(resolve, t * 100)); + continue; + } + } else { + throw error; + } + } + } while (t++ < maxRetries); + } else { + await this.unlinkPromise(p); + } + } + + removeSync(p, { + recursive = true + } = {}) { + let stat; + + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + + if (stat.isDirectory()) { + if (recursive) for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + + async mkdirpPromise(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) await this.chmodPromise(subPath, chmod); + + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + } + + mkdirpSync(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) this.chmodSync(subPath, chmod); + + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + } + + async copyPromise(destination, source, { + baseFs = this, + overwrite = true, + stableSort = false, + stableTime = false + } = {}) { + return await copyPromise(this, destination, baseFs, source, { + overwrite, + stableSort, + stableTime + }); + } + + copySync(destination, source, { + baseFs = this, + overwrite = true + } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { + baseFs, + overwrite + }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync((0,path/* convertPath */.CI)(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + + const mode = stat.mode & 0o777; + this.chmodSync(destination, mode); + } + + async changeFilePromise(p, content, { + automaticNewlines + } = {}) { + let current = ``; + + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) {// ignore errors, no big deal + } + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + await this.writeFilePromise(p, normalizedContent); + } + + changeFileSync(p, content, { + automaticNewlines = false + } = {}) { + let current = ``; + + try { + current = this.readFileSync(p, `utf8`); + } catch (error) {// ignore errors, no big deal + } + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + this.writeFileSync(p, normalizedContent); + } + + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1000 / 60; + const startTime = Date.now(); + let fd = null; // Even when we detect that a lock file exists, we still look inside to see + // whether the pid that created it is still alive. It's not foolproof + // (there are false positive), but there are no false negative and that's + // all that matters in 99% of the cases. + + const isAlive = async () => { + let pid; + + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + // If we can't read the file repeatedly, we assume the process was + // aborted before even writing finishing writing the payload. + return Date.now() - startTime < 500; + } + + try { + // "As a special case, a signal of 0 can be used to test for the + // existence of a process" - so we check whether it's alive. + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!(await isAlive())) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error) {// No big deal if we can't remove it. Just fallback to wait for + // it to be eventually released by its owner. + } + } + + if (Date.now() - startTime < 60 * 1000) { + await new Promise(resolve => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + + await this.writePromise(fd, JSON.stringify([process.pid])); + + try { + return await callback(); + } finally { + try { + // closePromise needs to come before unlinkPromise otherwise another process can attempt + // to get the file handle after the unlink but before close resuling in + // EPERM: operation not permitted, open + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) {// noop + } + } + } + + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\n`); + } + + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\n`); + } + + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } + +} +FakeFS.DEFAULT_TIME = 315532800; +class BasePortableFakeFS extends FakeFS { + constructor() { + super(path/* ppath */.y1); + } + +} + +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) return external_os_.EOL; + const crlf = matches.filter(nl => nl === `\r\n`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r\n` : `\n`; +} + +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +/***/ }), + +/***/ 9: +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "LZ": () => /* binding */ PortablePath, +/* harmony export */ "cS": () => /* binding */ npath, +/* harmony export */ "y1": () => /* binding */ ppath, +/* harmony export */ "CI": () => /* binding */ convertPath +/* harmony export */ }); +/* unused harmony exports Filename, toFilename */ +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(622); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); + +var PathType; + +(function (PathType) { + PathType[PathType["File"] = 0] = "File"; + PathType[PathType["Portable"] = 1] = "Portable"; + PathType[PathType["Native"] = 2] = "Native"; +})(PathType || (PathType = {})); + +const PortablePath = { + root: `/`, + dot: `.` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + pnpJs: `.pnp.js`, + rc: `.yarnrc.yml` +}; +const npath = Object.create((path__WEBPACK_IMPORTED_MODULE_0___default())); +const ppath = Object.create((path__WEBPACK_IMPORTED_MODULE_0___default().posix)); + +npath.cwd = () => process.cwd(); + +ppath.cwd = () => toPortablePath(process.cwd()); + +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__WEBPACK_IMPORTED_MODULE_0___default().posix.resolve(...segments); + } else { + return path__WEBPACK_IMPORTED_MODULE_0___default().posix.resolve(ppath.cwd(), ...segments); + } +}; + +const contains = function (pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) return `.`; + if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; + + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; + +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; + +npath.contains = (from, to) => contains(npath, from, to); + +ppath.contains = (from, to) => contains(ppath, from, to); + +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\\\\(\.\\)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; // Path should look like "/N:/berry/scripts/plugin-pack.js" +// And transform to "N:\berry\scripts\plugin-pack.js" + +function fromPortablePath(p) { + if (process.platform !== `win32`) return p; + if (p.match(PORTABLE_PATH_REGEXP)) p = p.replace(PORTABLE_PATH_REGEXP, `$1`);else if (p.match(UNC_PORTABLE_PATH_REGEXP)) p = p.replace(UNC_PORTABLE_PATH_REGEXP, (match, p1, p2) => `\\\\${p1 ? `.\\` : ``}${p2}`);else return p; + return p.replace(/\//g, `\\`); +} // Path should look like "N:/berry/scripts/plugin-pack.js" +// And transform to "/N:/berry/scripts/plugin-pack.js" + + +function toPortablePath(p) { + if (process.platform !== `win32`) return p; + if (p.match(WINDOWS_PATH_REGEXP)) p = p.replace(WINDOWS_PATH_REGEXP, `/$1`);else if (p.match(UNC_WINDOWS_PATH_REGEXP)) p = p.replace(UNC_WINDOWS_PATH_REGEXP, (match, p1, p2) => `/unc/${p1 ? `.dot/` : ``}${p2}`); + return p.replace(/\\/g, `/`); +} + +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} +function toFilename(filename) { + if (npath.parse(filename).dir !== `` || ppath.parse(filename).dir !== ``) throw new Error(`Invalid filename: "${filename}"`); + return filename; +} + +/***/ }), + +/***/ 170: +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": () => /* default */ _entryPoint +}); + +// EXTERNAL MODULE: external "fs" +var external_fs_ = __webpack_require__(747); +var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); + +// EXTERNAL MODULE: ../yarnpkg-fslib/sources/FakeFS.ts + 1 modules +var FakeFS = __webpack_require__(398); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/errors.ts +function makeError(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { + code + }); +} + +function EBUSY(message) { + return makeError(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } + +} +// EXTERNAL MODULE: ../yarnpkg-fslib/sources/path.ts +var sources_path = __webpack_require__(9); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/NodeFS.ts + + + + +class NodeFS extends FakeFS/* BasePortableFakeFS */.fS { + constructor(realFs = (external_fs_default())) { + super(); + this.realFs = realFs; // @ts-expect-error + + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + + getExtractHint() { + return false; + } + + getRealPath() { + return sources_path/* PortablePath.root */.LZ.root; + } + + resolve(p) { + return sources_path/* ppath.resolve */.y1.resolve(p); + } + + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + + openSync(p, flags, mode) { + return this.realFs.openSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), flags, mode); + } + + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + + closeSync(fd) { + this.realFs.closeSync(fd); + } + + createReadStream(p, opts) { + const realPath = p !== null ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + + createWriteStream(p, opts) { + const realPath = p !== null ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then(path => { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(path); + }); + } + + realpathSync(p) { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(this.realFs.realpathSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {})); + } + + async existsPromise(p) { + return await new Promise(resolve => { + this.realFs.exists(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), resolve); + }); + } + + accessSync(p, mode) { + return this.realFs.accessSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mode); + } + + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + + existsSync(p) { + return this.realFs.existsSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + + async statPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.stat(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + statSync(p) { + return this.realFs.statSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + + async lstatPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.lstat(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + lstatSync(p) { + return this.realFs.lstatSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + + chmodSync(p, mask) { + return this.realFs.chmodSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mask); + } + + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + + chownSync(p, uid, gid) { + return this.realFs.chownSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), uid, gid); + } + + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(oldP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + + renameSync(oldP, newP) { + return this.realFs.renameSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(oldP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP)); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(sourceP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(sourceP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(destP), flags); + } + + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + unlinkSync(p) { + return this.realFs.unlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime); + } + + async lutimesPromiseImpl(p, atime, mtime) { + // @ts-expect-error: Not yet in DefinitelyTyped + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + lutimesSyncImpl(p, atime, mtime) { + // @ts-expect-error: Not yet in DefinitelyTyped + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime); + } + + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + + mkdirSync(p, opts) { + return this.realFs.mkdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts); + } + + async rmdirPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.rmdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + rmdirSync(p) { + return this.realFs.rmdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(existingP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + + linkSync(existingP, newP) { + return this.realFs.linkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(existingP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP)); + } + + async symlinkPromise(target, p, type) { + const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); + return await new Promise((resolve, reject) => { + this.realFs.symlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(target.replace(/\/+$/, ``)), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), symlinkType, this.makeCallback(resolve, reject)); + }); + } + + symlinkSync(target, p, type) { + const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); + return this.realFs.symlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(target.replace(/\/+$/, ``)), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), symlinkType); + } + + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return await new Promise((resolve, reject) => { + if (withFileTypes) { + this.realFs.readdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), { + withFileTypes: true + }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(value => resolve(value), reject)); + } + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + if (withFileTypes) { + return this.realFs.readdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), { + withFileTypes: true + }); + } else { + return this.realFs.readdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); + } + } + + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then(path => { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(path); + }); + } + + readlinkSync(p) { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(this.realFs.readlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p))); + } + + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + + truncateSync(p, len) { + return this.realFs.truncateSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), len); + } + + watch(p, a, b) { + return this.realFs.watch(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), // @ts-expect-error + a, b); + } + + watchFile(p, a, b) { + return this.realFs.watchFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), // @ts-expect-error + a, b); + } + + unwatchFile(p, cb) { + return this.realFs.unwatchFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), cb); + } + + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ProxiedFS.ts + +class ProxiedFS extends FakeFS/* FakeFS */.uY { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + + openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + + closePromise(fd) { + return this.baseFs.closePromise(fd); + } + + closeSync(fd) { + this.baseFs.closeSync(fd); + } + + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + + existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + + accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + + statPromise(p) { + return this.baseFs.statPromise(this.mapToBase(p)); + } + + statSync(p) { + return this.baseFs.statSync(this.mapToBase(p)); + } + + lstatPromise(p) { + return this.baseFs.lstatPromise(this.mapToBase(p)); + } + + lstatSync(p) { + return this.baseFs.lstatSync(this.mapToBase(p)); + } + + chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + + chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + + renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + + copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + + writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + + unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + + utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + + mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + + rmdirPromise(p) { + return this.baseFs.rmdirPromise(this.mapToBase(p)); + } + + rmdirSync(p) { + return this.baseFs.rmdirSync(this.mapToBase(p)); + } + + linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + + symlinkPromise(target, p, type) { + return this.baseFs.symlinkPromise(this.mapToBase(target), this.mapToBase(p), type); + } + + symlinkSync(target, p, type) { + return this.baseFs.symlinkSync(this.mapToBase(target), this.mapToBase(p), type); + } + + readFilePromise(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + + readFileSync(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return this.baseFs.readdirPromise(this.mapToBase(p), { + withFileTypes: withFileTypes + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + return this.baseFs.readdirSync(this.mapToBase(p), { + withFileTypes: withFileTypes + }); + } + + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + + watch(p, a, b) { + return this.baseFs.watch(this.mapToBase(p), // @ts-expect-error + a, b); + } + + watchFile(p, a, b) { + return this.baseFs.watchFile(this.mapToBase(p), // @ts-expect-error + a, b); + } + + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/VirtualFS.ts + + + +const NUMBER_REGEXP = /^[0-9]+$/; // $0: full path +// $1: virtual folder +// $2: virtual segment +// $3: hash +// $4: depth +// $5: subpath + +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ + baseFs = new NodeFS() + } = {}) { + super(sources_path/* ppath */.y1); + this.baseFs = baseFs; + } + + static makeVirtualPath(base, component, to) { + if (sources_path/* ppath.basename */.y1.basename(base) !== `$$virtual`) throw new Error(`Assertion failed: Virtual folders must be named "$$virtual"`); + if (!sources_path/* ppath.basename */.y1.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target + + const target = sources_path/* ppath.relative */.y1.relative(sources_path/* ppath.dirname */.y1.dirname(base), to); + const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path + + let depth = 0; + + while (depth < segments.length && segments[depth] === `..`) depth += 1; + + const finalSegments = segments.slice(depth); + const fullVirtualPath = sources_path/* ppath.join */.y1.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) return p; + const target = sources_path/* ppath.dirname */.y1.dirname(match[1]); + if (!match[3] || !match[4]) return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(sources_path/* ppath.join */.y1.join(target, backstep, subpath)); + } + + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + getRealPath() { + return this.baseFs.getRealPath(); + } + + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return this.baseFs.realpathSync(p); + if (!match[5]) return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return await this.baseFs.realpathPromise(p); + if (!match[5]) return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + mapToBase(p) { + return VirtualFS.resolveVirtual(p); + } + + mapFromBase(p) { + return p; + } + +} +// EXTERNAL MODULE: external "stream" +var external_stream_ = __webpack_require__(413); + +// EXTERNAL MODULE: external "util" +var external_util_ = __webpack_require__(669); + +// EXTERNAL MODULE: external "zlib" +var external_zlib_ = __webpack_require__(761); +var external_zlib_default = /*#__PURE__*/__webpack_require__.n(external_zlib_); + +// EXTERNAL MODULE: external "events" +var external_events_ = __webpack_require__(614); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/constants.ts +const S_IFMT = 0o170000; +const S_IFDIR = 0o040000; +const S_IFREG = 0o100000; +const S_IFLNK = 0o120000; +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/statUtils.ts + +class DirEntry { + constructor() { + this.name = ``; + this.mode = 0; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } + +} +class StatEntry { + constructor() { + this.dev = 0; + this.ino = 0; + this.mode = 0; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } + +} +function makeDefaultStats() { + return Object.assign(new StatEntry(), { + uid: 0, + gid: 0, + size: 0, + blksize: 0, + atimeMs: 0, + mtimeMs: 0, + ctimeMs: 0, + birthtimeMs: 0, + atime: new Date(0), + mtime: new Date(0), + ctime: new Date(0), + birthtime: new Date(0), + mode: S_IFREG | 0o644 + }); +} +function makeEmptyStats() { + return Object.assign(makeDefaultStats(), { + nlink: 0, + blocks: 0, + mode: 0 + }); +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) return false; + if (a.birthtimeMs !== b.birthtimeMs) return false; + if (a.blksize !== b.blksize) return false; + if (a.blocks !== b.blocks) return false; + if (a.ctimeMs !== b.ctimeMs) return false; + if (a.dev !== b.dev) return false; + if (a.gid !== b.gid) return false; + if (a.ino !== b.ino) return false; + if (a.isBlockDevice() !== b.isBlockDevice()) return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) return false; + if (a.isDirectory() !== b.isDirectory()) return false; + if (a.isFIFO() !== b.isFIFO()) return false; + if (a.isFile() !== b.isFile()) return false; + if (a.isSocket() !== b.isSocket()) return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) return false; + if (a.mode !== b.mode) return false; + if (a.mtimeMs !== b.mtimeMs) return false; + if (a.nlink !== b.nlink) return false; + if (a.rdev !== b.rdev) return false; + if (a.size !== b.size) return false; + if (a.uid !== b.uid) return false; + return true; +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile/CustomStatWatcher.ts + + +var Event; + +(function (Event) { + Event["Change"] = "change"; + Event["Stop"] = "stop"; +})(Event || (Event = {})); + +var Status; + +(function (Status) { + Status["Ready"] = "ready"; + Status["Running"] = "running"; + Status["Stopped"] = "stopped"; +})(Status || (Status = {})); + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends external_events_.EventEmitter { + constructor(fakeFs, path, { + bigint = false + } = {}) { + super(); + this.status = Status.Ready; + this.changeListeners = new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + + start() { + assertStatus(this.status, Status.Ready); + this.status = Status.Running; // Node allows other listeners to be registered up to 3 milliseconds + // after the watcher has been started, so that's what we're doing too + + this.startTimeout = setTimeout(() => { + this.startTimeout = null; // Per the Node FS docs: + // "When an fs.watchFile operation results in an ENOENT error, + // it will invoke the listener once, with all the fields zeroed + // (or, for dates, the Unix Epoch)." + + if (!this.fakeFs.existsSync(this.path)) { + this.emit(Event.Change, this.lastStats, this.lastStats); + } + }, 3); + } + + stop() { + assertStatus(this.status, Status.Running); + this.status = Status.Stopped; + + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + + this.emit(Event.Stop); + } + + stat() { + try { + return this.fakeFs.statSync(this.path); + } catch (error) { + if (error.code === `ENOENT`) { + return makeEmptyStats(); + } else { + throw error; + } + } + } + /** + * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes. + * + * @param opts.persistent Decides whether the interval should be immediately unref-ed. + */ + + + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) return; + this.lastStats = currentStats; + this.emit(Event.Change, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + + + registerChangeListener(listener, opts) { + this.addListener(Event.Change, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + + + unregisterChangeListener(listener) { + this.removeListener(Event.Change, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) clearInterval(interval); + this.changeListeners.delete(listener); + } + /** + * Unregisters all listeners and clears all assigned intervals. + */ + + + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + + hasChangeListeners() { + return this.changeListeners.size > 0; + } + /** + * Refs all stored intervals. + */ + + + ref() { + for (const interval of this.changeListeners.values()) interval.ref(); + + return this; + } + /** + * Unrefs all stored intervals. + */ + + + unref() { + for (const interval of this.changeListeners.values()) interval.unref(); + + return this; + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile.ts + +const statWatchersByFakeFS = new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) statWatchersByFakeFS.set(fakeFs, statWatchers = new Map()); + let statWatcher = statWatchers.get(path); + + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { + bigint + }); + statWatchers.set(path, statWatcher); + } + + statWatcher.registerChangeListener(listener, { + persistent, + interval + }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) return; + if (typeof cb === `undefined`) statWatcher.unregisterAllChangeListeners();else statWatcher.unregisterChangeListener(cb); + + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) return; + + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipFS.ts + + + + + + + + + + + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; + +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) return +time; + + if (Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1000; + } else { + return time; + } + } // convert to 123.456 UNIX timestamp + + + if ((0,external_util_.isDate)(time)) return time.getTime() / 1000; + throw new Error(`Invalid time`); +} + +class ZipFS extends FakeFS/* BasePortableFakeFS */.fS { + constructor(source, opts) { + super(); + this.lzSource = null; + this.listings = new Map(); + this.entries = new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + + this.fileSources = new Map(); + this.fds = new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + + if (source === null) { + source = Buffer.from([0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); + } + + if (typeof source === `string`) { + const { + baseFs = new NodeFS() + } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + + const errPtr = this.libzip.malloc(4); + + try { + let flags = 0; + if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + + if (typeof source === `string`) { + this.zip = this.libzip.open(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + + this.listings.set(sources_path/* PortablePath.root */.LZ.root, new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (sources_path/* ppath.isAbsolute */.y1.isAbsolute(raw)) continue; + const p = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, raw); + this.registerEntry(p, t); // If the raw path is a directory, register it + // to prevent empty folder being skipped + + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); // This error should never come up because of the file source cache + + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + + return false; + } + + getAllFiles() { + return Array.from(this.entries.keys()); + } + + getRealPath() { + if (!this.path) throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + + getBufferAndClose() { + this.prepareClose(); + if (!this.lzSource) throw new Error(`ZipFS was not created from a Buffer`); + + try { + // Prevent close from cleaning up the source + this.libzip.source.keep(this.lzSource); // Close the zip archive + + if (this.libzip.close(this.zip) === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); // Open the source for reading + + if (this.libzip.source.open(this.lzSource) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the end of source + + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Get the size of source + + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the start of source + + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) throw new Error(`Couldn't allocate enough memory`); + + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + return Buffer.from(memory); + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + + prepareClose() { + if (!this.ready) throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + + saveAndClose() { + if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + this.prepareClose(); + + if (this.readOnly) { + this.discardAndClose(); + return; + } + + const previousMod = this.baseFs.existsSync(this.path) ? this.baseFs.statSync(this.path).mode & 0o777 : null; + const rc = this.libzip.close(this.zip); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); // this.libzip overrides the chmod when writing the archive, which is a weird + // behavior I don't totally understand (plus the umask seems bogus in some + // weird cases - maybe related to emscripten?) + // + // See also https://github.com/nih-at/libzip/issues/77 + + if (previousMod === null) this.baseFs.chmodSync(this.path, this.stats.mode);else if (previousMod !== (this.baseFs.statSync(this.path).mode & 0o777)) this.baseFs.chmodSync(this.path, previousMod); + this.ready = false; + } + + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + + resolve(p) { + return sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p); + } + + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { + cursor: 0, + p + }); + return fd; + } + + hasOpenFileHandles() { + return !!this.fds.size; + } + + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset = 0, length = 0, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + let realPosition; + if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) entry.cursor += bytesRead; + return bytesRead; + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + + async closePromise(fd) { + return this.closeSync(fd); + } + + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + this.fds.delete(fd); + } + + createReadStream(p, { + encoding + } = {}) { + if (p === null) throw new Error(`Unimplemented`); + let fd = this.openSync(p, `r`); + + const closeStream = () => { + if (fd === -1) return; + this.closeSync(fd); + fd = -1; + }; + + const stream = Object.assign(new external_stream_.PassThrough(), { + bytesRead: 0, + path: p, + close: () => { + clearImmediate(immediate); + closeStream(); + }, + _destroy: (error, callback) => { + clearImmediate(immediate); + closeStream(); + callback(error); + } + }); + const immediate = setImmediate(() => { + try { + const data = this.readFileSync(p, encoding); + stream.bytesRead = data.length; + stream.end(data); + stream.destroy(); + } catch (error) { + stream.emit(`error`, error); + stream.end(); + stream.destroy(); + } finally { + closeStream(); + } + }); + return stream; + } + + createWriteStream(p, { + encoding + } = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (p === null) throw new Error(`Unimplemented`); + const chunks = []; + let fd = this.openSync(p, `w`); + + const closeStream = () => { + if (fd === -1) return; + + try { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + } finally { + this.closeSync(fd); + fd = -1; + } + }; + + const stream = Object.assign(new external_stream_.PassThrough(), { + bytesWritten: 0, + path: p, + close: () => { + stream.end(); + closeStream(); + }, + _destroy: (error, callback) => { + closeStream(); + callback(error); + } + }); + stream.on(`data`, chunk => { + const chunkBuffer = Buffer.from(chunk); + stream.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + stream.on(`end`, () => { + closeStream(); + }); + return stream; + } + + async realpathPromise(p) { + return this.realpathSync(p); + } + + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + + async existsPromise(p) { + return this.existsSync(p); + } + + existsSync(p) { + if (!this.ready) throw EBUSY(`archive closed, existsSync '${p}'`); + + if (this.symlinkCount === 0) { + const resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p); + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + + let resolvedP; + + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p); + } catch (error) { + return false; + } + + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + + accessSync(p, mode = external_fs_.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`access '${p}'`); + + if (this.readOnly && mode & external_fs_.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + + async statPromise(p) { + return this.statSync(p); + } + + statSync(p) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP); + } + + async lstatPromise(p) { + return this.lstatSync(p); + } + + lstatSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP); + } + + statImpl(reason, p) { + const entry = this.entries.get(p); // File, or explicit directory + + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; + const defaultMode = type === S_IFDIR ? 0o755 : 0o644; + const mode = type | this.getUnixMode(entry, defaultMode) & 0o777; + return Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode + }); + } // Implicit directory + + + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = S_IFDIR | 0o755; + return Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode + }); + } + + throw new Error(`Unreachable`); + } + + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + + registerListing(p) { + let listing = this.listings.get(p); + if (listing) return listing; + const parentListing = this.registerListing(sources_path/* ppath.dirname */.y1.dirname(p)); + listing = new Set(); + parentListing.add(sources_path/* ppath.basename */.y1.basename(p)); + this.listings.set(p, listing); + return listing; + } + + registerEntry(p, index) { + const parentListing = this.registerListing(sources_path/* ppath.dirname */.y1.dirname(p)); + parentListing.add(sources_path/* ppath.basename */.y1.basename(p)); + this.entries.set(p, index); + } + + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(sources_path/* ppath.dirname */.y1.dirname(p)); + parentListing === null || parentListing === void 0 ? void 0 : parentListing.delete(sources_path/* ppath.basename */.y1.basename(p)); + } + + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) return; + this.fileSources.delete(entry); + + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + resolveFilename(reason, p, resolveLastComponent = true) { + if (!this.ready) throw EBUSY(`archive closed, ${reason}`); + let resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p); + if (resolvedP === `/`) return sources_path/* PortablePath.root */.LZ.root; + const fileIndex = this.entries.get(resolvedP); + + if (resolveLastComponent && fileIndex !== undefined) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, sources_path/* ppath.resolve */.y1.resolve(sources_path/* ppath.dirname */.y1.dirname(resolvedP), target), true); + } else { + return resolvedP; + } + } + + while (true) { + const parentP = this.resolveFilename(reason, sources_path/* ppath.dirname */.y1.dirname(resolvedP), true); + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) throw ENOENT(reason); + if (!isDir) throw ENOTDIR(reason); + resolvedP = sources_path/* ppath.resolve */.y1.resolve(parentP, sources_path/* ppath.basename */.y1.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); + if (index === -1) break; + + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* ppath.dirname */.y1.dirname(resolvedP), target); + } else { + break; + } + } + + return resolvedP; + } + + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) throw new Error(`Couldn't allocate enough memory`); // Copy the file into the Emscripten heap + + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { + buffer, + byteLength: content.byteLength + }; + } + + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); + + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + + return source; + } + + allocateSource(content) { + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); + + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + + return source; + } + + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = sources_path/* ppath.relative */.y1.relative(sources_path/* PortablePath.root */.LZ.root, p); + const lzSource = this.allocateSource(content); + + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + + if (this.level !== `mixed`) { + // Use store for level 0, and deflate for 1..9 + let method; + if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + isSymbolicLink(index) { + if (this.symlinkCount === 0) return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & S_IFMT) === S_IFLNK; + } + + getFileSource(index, opts = { + asyncDecompress: false + }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) throw this.makeLibzipError(this.libzip.getError(this.zip)); + + try { + const rc = this.libzip.fread(file, buffer, size, 0); + if (rc === -1) throw this.makeLibzipError(this.libzip.file.getError(file));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + external_zlib_default().inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = external_zlib_default().inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + + chmodSync(p, mask) { + if (this.readOnly) throw EROFS(`chmod '${p}'`); // We don't allow to make the extracted entries group-writable + + mask &= 0o755; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, S_IFREG | 0o000); + const newMod = oldMod & ~0o777 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + + async copyFilePromise(sourceP, destP, flags) { + const { + indexSource, + indexDest, + resolvedDestP + } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { + asyncDecompress: true + }); + const newIndex = this.setFileSource(resolvedDestP, source); + + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + + copyFileSync(sourceP, destP, flags = 0) { + const { + indexSource, + indexDest, + resolvedDestP + } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (external_fs_.constants.COPYFILE_EXCL | external_fs_.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + + async appendFilePromise(p, content, opts) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) opts = { + flag: `a` + };else if (typeof opts === `string`) opts = { + flag: `a`, + encoding: opts + };else if (typeof opts.flag === `undefined`) opts = { + flag: `a`, + ...opts + }; + return this.writeFilePromise(p, content, opts); + } + + appendFileSync(p, content, opts = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) opts = { + flag: `a` + };else if (typeof opts === `string`) opts = { + flag: `a`, + encoding: opts + };else if (typeof opts.flag === `undefined`) opts = { + flag: `a`, + ...opts + }; + return this.writeFileSync(p, content, opts); + } + + async writeFilePromise(p, content, opts) { + const { + encoding, + index, + resolvedP + } = this.prepareWriteFile(p, opts); + if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([await this.getFileSource(index, { + asyncDecompress: true + }), Buffer.from(content)]); + if (encoding !== null) content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + + if (newIndex !== index) { + this.registerEntry(resolvedP, newIndex); + } + } + + writeFileSync(p, content, opts) { + const { + encoding, + index, + resolvedP + } = this.prepareWriteFile(p, opts); + if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + + if (newIndex !== index) { + this.registerEntry(resolvedP, newIndex); + } + } + + prepareWriteFile(p, opts) { + if (typeof p !== `string`) throw EBADF(`read`); + if (this.readOnly) throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`open '${p}'`); + let encoding = null; + if (typeof opts === `string`) encoding = opts;else if (typeof opts === `object` && opts.encoding) encoding = opts.encoding; + const index = this.entries.get(resolvedP); + return { + encoding, + resolvedP, + index + }; + } + + async unlinkPromise(p) { + return this.unlinkSync(p); + } + + unlinkSync(p) { + if (this.readOnly) throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + + utimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + + lutimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + + mkdirSync(p, { + mode = 0o755, + recursive = false + } = {}) { + if (recursive) { + this.mkdirpSync(p, { + chmod: mode + }); + return; + } + + if (this.readOnly) throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + } + + async rmdirPromise(p) { + return this.rmdirSync(p); + } + + rmdirSync(p) { + if (this.readOnly) throw EROFS(`rmdir '${p}'`); + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, sources_path/* ppath.relative */.y1.relative(sources_path/* PortablePath.root */.LZ.root, resolvedP)); + if (index === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + + linkSync(existingP, newP) { + // Zip archives don't support hard links: + // https://stackoverflow.com/questions/8859616/are-hard-links-possible-within-a-zip-archive + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + + symlinkSync(target, p) { + if (this.readOnly) throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 0o777) << 16); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + + async readFilePromise(p, encoding) { + // This is messed up regarding the TS signatures + if (typeof encoding === `object`) // @ts-expect-error + encoding = encoding ? encoding.encoding : undefined; + const data = await this.readFileBuffer(p, { + asyncDecompress: true + }); + return encoding ? data.toString(encoding) : data; + } + + readFileSync(p, encoding) { + // This is messed up regarding the TS signatures + if (typeof encoding === `object`) // @ts-expect-error + encoding = encoding ? encoding.encoding : undefined; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + + readFileBuffer(p, opts = { + asyncDecompress: false + }) { + if (typeof p !== `string`) throw EBADF(`read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`open '${p}'`); // Ensures that the last component is a directory, if the user said so (even if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return this.readdirSync(p, { + withFileTypes: withFileTypes + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!withFileTypes) return entries; + return entries.map(name => { + return Object.assign(this.statImpl(`lstat`, sources_path/* ppath.join */.y1.join(p, name)), { + name + }); + }); + } + + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { + asyncDecompress: true + })).toString(); + } + + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`readlink '${p}'`); // Ensure that the last component is a directory (if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) throw EINVAL(`readlink '${p}'`); + return entry; + } + + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { + asyncDecompress: true + }); + const truncated = Buffer.alloc(len, 0x00); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0x00); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + + watch(p, a, b) { + let persistent; + + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + + default: + { + ({ + persistent = true + } = a); + } + break; + } + + if (!persistent) return { + on: () => {}, + close: () => {} + }; + const interval = setInterval(() => {}, 24 * 60 * 60 * 1000); + return { + on: () => {}, + close: () => { + clearInterval(interval); + } + }; + } + + watchFile(p, a, b) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + return watchFile(this, resolvedP, a, b); + } + + unwatchFile(p, cb) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + return unwatchFile(this, resolvedP, cb); + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipOpenFS.ts + + + + + + +const ZIP_FD = 0x80000000; +const FILE_PARTS_REGEX = /.*?(? { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode)); + }); + } + + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); + } + } + + async closePromise(fd) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { + code: `EBADF` + }); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + + closeSync(fd) { + if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { + code: `EBADF` + }); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + + createReadStream(p, opts) { + if (p === null) return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createReadStream(subPath, opts); + }); + } + + createWriteStream(p, opts) { + if (p === null) return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { + archivePath, + subPath + }) => { + let realArchivePath = this.realPaths.get(archivePath); + + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(sources_path/* PortablePath.root */.LZ.root, await zipFs.realpathPromise(subPath))); + }); + } + + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { + archivePath, + subPath + }) => { + let realArchivePath = this.realPaths.get(archivePath); + + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(sources_path/* PortablePath.root */.LZ.root, zipFs.realpathSync(subPath))); + }); + } + + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.existsPromise(subPath); + }); + } + + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.existsSync(subPath); + }); + } + + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { + subPath + }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { + subPath + }) => { + return zipFs.accessSync(subPath, mode); + }); + } + + async statPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.statPromise(subPath); + }); + } + + statSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.statSync(subPath); + }); + } + + async lstatPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.lstatPromise(subPath); + }); + } + + lstatSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.lstatSync(subPath); + }); + } + + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { + subPath + }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { + subPath + }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (zipFs, { + subPath + }) => { + return await zipFs.chownPromise(subPath, uid, gid); + }); + } + + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (zipFs, { + subPath + }) => { + return zipFs.chownSync(subPath, uid, gid); + }); + } + + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, async (zipFsO, { + subPath: subPathO + }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, async (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, (zipFsO, { + subPath: subPathO + }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_.constants.COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = await sourceFs.readFilePromise(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + await destFs.writeFilePromise(destP, content); + }; + + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { + subPath: subPathD + }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { + subPath: subPathS + }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_.constants.COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = sourceFs.readFileSync(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + destFs.writeFileSync(destP, content); + }; + + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { + subPath: subPathD + }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { + subPath: subPathS + }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); + } + + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); + } + + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); + } + + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); + } + + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.unlinkPromise(subPath); + }); + } + + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.unlinkSync(subPath); + }); + } + + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { + subPath + }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); + } + + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { + subPath + }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); + } + + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + + async rmdirPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.rmdirPromise(subPath); + }); + } + + rmdirSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.rmdirSync(subPath); + }); + } + + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (zipFs, { + subPath + }) => { + return await zipFs.linkPromise(existingP, subPath); + }); + } + + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (zipFs, { + subPath + }) => { + return zipFs.linkSync(existingP, subPath); + }); + } + + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { + subPath + }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { + subPath + }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + + default: + return await this.baseFs.readFilePromise(p, encoding); + } + }, async (zipFs, { + subPath + }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + + default: + return this.baseFs.readFileSync(p, encoding); + } + }, (zipFs, { + subPath + }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, { + withFileTypes: withFileTypes + }); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readdirPromise(subPath, { + withFileTypes: withFileTypes + }); + }, { + requireSubpath: false + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, { + withFileTypes: withFileTypes + }); + }, (zipFs, { + subPath + }) => { + return zipFs.readdirSync(subPath, { + withFileTypes: withFileTypes + }); + }, { + requireSubpath: false + }); + } + + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.readlinkSync(subPath); + }); + } + + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (zipFs, { + subPath + }) => { + return await zipFs.truncatePromise(subPath, len); + }); + } + + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (zipFs, { + subPath + }) => { + return zipFs.truncateSync(subPath, len); + }); + } + + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch(p, // @ts-expect-error + a, b); + }, (zipFs, { + subPath + }) => { + return zipFs.watch(subPath, // @ts-expect-error + a, b); + }); + } + + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile(p, // @ts-expect-error + a, b); + }, () => { + return watchFile(this, p, a, b); + }); + } + + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + + async makeCallPromise(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return await discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo)); + } + + makeCallSync(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return discard(); + if (requireSubpath && zipInfo.subPath === `/`) return discard(); + return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo)); + } + + findZip(p) { + if (this.filter && !this.filter.test(p)) return null; + let filePath = ``; + + while (true) { + const parts = FILE_PARTS_REGEX.exec(p.substr(filePath.length)); + if (!parts) return null; + filePath = this.pathUtils.join(filePath, parts[0]); + + if (this.isZip.has(filePath) === false) { + if (this.notZip.has(filePath)) continue; + + try { + if (!this.baseFs.lstatSync(filePath).isFile()) { + this.notZip.add(filePath); + continue; + } + } catch (_a) { + return null; + } + + this.isZip.add(filePath); + } + + return { + archivePath: filePath, + subPath: this.pathUtils.join(sources_path/* PortablePath.root */.LZ.root, p.substr(filePath.length)) + }; + } + } + + limitOpenFiles(max) { + if (this.zipInstances === null) return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.zipInstances.size - max; + + for (const [path, { + zipFs, + expiresAt, + refCount + }] of this.zipInstances.entries()) { + if (refCount !== 0 || zipFs.hasOpenFileHandles()) { + continue; + } else if (now >= expiresAt) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } + + if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may + // have instantiated the zip archive while we were waiting + + cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, zipOptions), + expiresAt: 0, + refCount: 0 + }; + } + } // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + cachedZipFs.refCount += 1; + + try { + return await accept(cachedZipFs.zipFs); + } finally { + cachedZipFs.refCount -= 1; + } + } else { + const zipFs = new ZipFS(p, await getZipOptions()); + + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, getZipOptions()), + expiresAt: 0, + refCount: 0 + }; + } // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedZipFs.zipFs); + } else { + const zipFs = new ZipFS(p, getZipOptions()); + + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + +} +// CONCATENATED MODULE: ../yarnpkg-libzip/sources/makeInterface.ts +const number64 = [`number`, `number`]; +var Errors; + +(function (Errors) { + Errors[Errors["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors[Errors["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors[Errors["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors[Errors["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors[Errors["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors[Errors["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors[Errors["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors[Errors["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors[Errors["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors[Errors["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors[Errors["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors[Errors["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors[Errors["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors[Errors["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors[Errors["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors[Errors["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors[Errors["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors[Errors["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors[Errors["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors[Errors["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors[Errors["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors[Errors["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors[Errors["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors[Errors["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors[Errors["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors[Errors["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors[Errors["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors[Errors["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors[Errors["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors[Errors["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors[Errors["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors[Errors["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; +})(Errors || (Errors = {})); + +const makeInterface = libzip => ({ + // Those are getters because they can change after memory growth + get HEAP8() { + return libzip.HEAP8; + }, + + get HEAPU8() { + return libzip.HEAPU8; + }, + + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0x00, + ZIP_OPSYS_AMIGA: 0x01, + ZIP_OPSYS_OPENVMS: 0x02, + ZIP_OPSYS_UNIX: 0x03, + ZIP_OPSYS_VM_CMS: 0x04, + ZIP_OPSYS_ATARI_ST: 0x05, + ZIP_OPSYS_OS_2: 0x06, + ZIP_OPSYS_MACINTOSH: 0x07, + ZIP_OPSYS_Z_SYSTEM: 0x08, + ZIP_OPSYS_CPM: 0x09, + ZIP_OPSYS_WINDOWS_NTFS: 0x0a, + ZIP_OPSYS_MVS: 0x0b, + ZIP_OPSYS_VSE: 0x0c, + ZIP_OPSYS_ACORN_RISC: 0x0d, + ZIP_OPSYS_VFAT: 0x0e, + ZIP_OPSYS_ALTERNATE_MVS: 0x0f, + ZIP_OPSYS_BEOS: 0x10, + ZIP_OPSYS_TANDEM: 0x11, + ZIP_OPSYS_OS_400: 0x12, + ZIP_OPSYS_OS_X: 0x13, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), + open: libzip.cwrap(`zip_source_open`, `number`, [`number`]), + close: libzip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: libzip.cwrap(`zip_source_error`, `number`, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); +// CONCATENATED MODULE: ../yarnpkg-libzip/sources/sync.ts + +let mod = null; +function getLibzipSync() { + if (mod === null) mod = makeInterface(__webpack_require__(368)); + return mod; +} +async function getLibzipPromise() { + return getLibzipSync(); +} +// EXTERNAL MODULE: external "module" +var external_module_ = __webpack_require__(282); +var external_module_default = /*#__PURE__*/__webpack_require__.n(external_module_); + +// EXTERNAL MODULE: external "string_decoder" +var external_string_decoder_ = __webpack_require__(304); +var external_string_decoder_default = /*#__PURE__*/__webpack_require__.n(external_string_decoder_); + +// EXTERNAL MODULE: external "os" +var external_os_ = __webpack_require__(87); +var external_os_default = /*#__PURE__*/__webpack_require__.n(external_os_); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/index.ts + + + + + + + + + + + + + + + + + + + + + + + +function getTempName(prefix) { + const tmpdir = sources_path/* npath.toPortablePath */.cS.toPortablePath(external_os_default().tmpdir()); + const hash = Math.ceil(Math.random() * 0x100000000).toString(16).padStart(8, `0`); + return sources_path/* ppath.join */.y1.join(tmpdir, `${prefix}${hash}`); +} + +function patchFs(patchedFs, fakeFs) { + const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `chmodSync`, `chownSync`, `closeSync`, `copyFileSync`, `linkSync`, `lstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `truncateSync`, `unlinkSync`, `unwatchFile`, `utimesSync`, `watch`, `watchFile`, `writeFileSync`, `writeSync`]); + const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `copyFilePromise`, `linkPromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `truncatePromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]); + const FILEHANDLE_IMPLEMENTATIONS = new Set([`appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `readPromise`, `readFilePromise`, `statPromise`, `truncatePromise`, `utimesPromise`, `writePromise`, `writeFilePromise`]); + + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + + if (typeof (orig === null || orig === void 0 ? void 0 : orig[external_util_.promisify.custom]) !== `undefined`) { + replacement[external_util_.promisify.custom] = orig[external_util_.promisify.custom]; + } + }; + /** Callback implementations */ + + + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.existsPromise(p).then(exists => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (p, buffer, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.readPromise(p, buffer, ...args).then(bytesRead => { + callback(null, bytesRead, buffer); + }, error => { + callback(error); + }); + }); + }); + + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then(result => { + callback(null, result); + }, error => { + callback(error); + }); + }); + }; + + setupFn(patchedFs, origName, wrapper); + } + + patchedFs.realpath.native = patchedFs.realpath; + } + /** Sync implementations */ + + { + setupFn(patchedFs, `existsSync`, p => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + /** Promise implementations */ + + { + // `fs.promises` is a getter that returns a reference to require(`fs/promises`), + // so we can just patch `fs.promises` and both will be updated + const origEmitWarning = process.emitWarning; + + process.emitWarning = () => {}; + + let patchedFsPromises; + + try { + patchedFsPromises = patchedFs.promises; + } finally { + process.emitWarning = origEmitWarning; + } + + if (typeof patchedFsPromises !== `undefined`) { + // `fs.promises.exists` doesn't exist + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; // Open is a bit particular with fs.promises: it returns a file handle + // instance instead of the traditional file descriptor number + + if (fnName === `open`) continue; + setupFn(patchedFsPromises, origName, fakeImpl.bind(fakeFs)); + } + + class FileHandle { + constructor(fd) { + this.fd = fd; + } + + } + + for (const fnName of FILEHANDLE_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + setupFn(FileHandle.prototype, origName, function (...args) { + return fakeImpl.call(fakeFs, this.fd, ...args); + }); + } + + setupFn(patchedFsPromises, `open`, async (...args) => { + // @ts-expect-error + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd); + }); // `fs.promises.realpath` doesn't have a `native` property + } + } +} +function extendFs(realFs, fakeFs) { + const patchedFs = Object.create(realFs); + patchFs(patchedFs, fakeFs); + return patchedFs; +} +const tmpdirs = new Set(); +let cleanExitRegistered = false; + +function registerCleanExit() { + if (cleanExitRegistered) return; + cleanExitRegistered = true; + process.once(`exit`, () => { + xfs.rmtempSync(); + }); +} + +const xfs = Object.assign(new NodeFS(), { + detachTemp(p) { + tmpdirs.delete(p); + }, + + mktempSync(cb) { + registerCleanExit(); + + while (true) { + const p = getTempName(`xfs-`); + + try { + this.mkdirSync(p); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + const realP = this.realpathSync(p); + tmpdirs.add(realP); + + if (typeof cb !== `undefined`) { + try { + return cb(realP); + } finally { + if (tmpdirs.has(realP)) { + tmpdirs.delete(realP); + + try { + this.removeSync(realP); + } catch (_a) {// Too bad if there's an error + } + } + } + } else { + return p; + } + } + }, + + async mktempPromise(cb) { + registerCleanExit(); + + while (true) { + const p = getTempName(`xfs-`); + + try { + await this.mkdirPromise(p); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + const realP = await this.realpathPromise(p); + tmpdirs.add(realP); + + if (typeof cb !== `undefined`) { + try { + return await cb(realP); + } finally { + if (tmpdirs.has(realP)) { + tmpdirs.delete(realP); + + try { + await this.removePromise(realP); + } catch (_a) {// Too bad if there's an error + } + } + } + } else { + return realP; + } + } + }, + + async rmtempPromise() { + await Promise.all(Array.from(tmpdirs.values()).map(async p => { + try { + await xfs.removePromise(p, { + maxRetries: 0 + }); + tmpdirs.delete(p); + } catch (_a) {// Too bad if there's an error + } + })); + }, + + rmtempSync() { + for (const p of tmpdirs) { + try { + xfs.removeSync(p); + tmpdirs.delete(p); + } catch (_a) {// Too bad if there's an error + } + } + } + +}); +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/PosixFS.ts + + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(sources_path/* npath */.cS); + this.baseFs = baseFs; + } + + mapFromBase(path) { + return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(path); + } + + mapToBase(path) { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(path); + } + +} +// EXTERNAL MODULE: external "url" +var external_url_ = __webpack_require__(835); + +// CONCATENATED MODULE: ./sources/loader/internalTools.ts + +var ErrorCode; + +(function (ErrorCode) { + ErrorCode["API_ERROR"] = "API_ERROR"; + ErrorCode["BLACKLISTED"] = "BLACKLISTED"; + ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED"; + ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY"; + ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY"; + ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED"; + ErrorCode["INTERNAL"] = "INTERNAL"; + ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY"; + ErrorCode["UNSUPPORTED"] = "UNSUPPORTED"; +})(ErrorCode || (ErrorCode = {})); // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages +// that expect this umbrella error when the resolution fails + + +const MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BLACKLISTED, ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]); +/** + * Simple helper function that assign an error code to an error, so that it can more easily be caught and used + * by third-parties. + */ + +function internalTools_makeError(pnpCode, message, data = {}) { + const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { ...propertySpec, + value: code + }, + pnpCode: { ...propertySpec, + value: pnpCode + }, + data: { ...propertySpec, + value: data + } + }); +} +/** + * Returns the module that should be used to resolve require calls. It's usually the direct parent, except if we're + * inside an eval expression. + */ + +function getIssuerModule(parent) { + let issuer = parent; + + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) issuer = issuer.parent; + + return issuer || null; +} +function getPathForDisplay(p) { + return sources_path/* npath.normalize */.cS.normalize(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)); +} +// CONCATENATED MODULE: ./sources/loader/applyPatch.ts + + + + + +function applyPatch(pnpapi, opts) { + // @ts-expect-error + const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`))); + /** + * The cache that will be used for all accesses occuring outside of a PnP context. + */ + + const defaultCache = {}; + /** + * Used to disable the resolution hooks (for when we want to fallback to the previous resolution - we then need + * a way to "reset" the environment temporarily) + */ + + let enableNativeHooks = true; // @ts-expect-error + + process.versions.pnp = String(pnpapi.VERSIONS.std); + + const moduleExports = __webpack_require__(282); + + moduleExports.findPnpApi = lookupSource => { + const lookupPath = lookupSource instanceof external_url_.URL ? (0,external_url_.fileURLToPath)(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance; + }; + + function getRequireStack(parent) { + const requireStack = []; + + for (let cursor = parent; cursor; cursor = cursor.parent) requireStack.push(cursor.filename || cursor.id); + + return requireStack; + } // A small note: we don't replace the cache here (and instead use the native one). This is an effort to not + // break code similar to "delete require.cache[require.resolve(FOO)]", where FOO is a package located outside + // of the Yarn dependency tree. In this case, we defer the load to the native loader. If we were to replace the + // cache by our own, the native loader would populate its own cache, which wouldn't be exposed anymore, so the + // delete call would be broken. + + + const originalModuleLoad = external_module_.Module._load; + + external_module_.Module._load = function (request, parent, isMain) { + if (!enableNativeHooks) return originalModuleLoad.call(external_module_.Module, request, parent, isMain); // Builtins are managed by the regular Node loader + + if (builtinModules.has(request)) { + try { + enableNativeHooks = false; + return originalModuleLoad.call(external_module_.Module, request, parent, isMain); + } finally { + enableNativeHooks = true; + } + } + + const parentApiPath = opts.manager.getApiPathFromParent(parent); + const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null; // Requests that aren't covered by the PnP runtime goes through the + // parent `_load` implementation. This is required for VSCode, for example, + // which override `_load` to provide additional builtins to its extensions. + + if (parentApi === null) return originalModuleLoad(request, parent, isMain); // The 'pnpapi' name is reserved to return the PnP api currently in use + // by the program + + if (request === `pnpapi`) return parentApi; // Request `Module._resolveFilename` (ie. `resolveRequest`) to tell us + // which file we should load + + const modulePath = external_module_.Module._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the + // module that required it. If it isn't, then we need to create a new + // store and possibly load its sandboxed PnP runtime. + + + const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false; + const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(sources_path/* npath.dirname */.cS.dirname(modulePath)); + const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : { + instance: null, + cache: defaultCache + }; // Check if the module has already been created for the given file + + const cacheEntry = entry.cache[modulePath]; + if (cacheEntry) return cacheEntry.exports; // Create a new module and store it into the cache + // @ts-expect-error + + const module = new external_module_.Module(modulePath, parent); // @ts-expect-error + + module.pnpApiPath = moduleApiPath; + entry.cache[modulePath] = module; // The main module is exposed as global variable + + if (isMain) { + process.mainModule = module; + module.id = `.`; + } // Try to load the module, and remove it from the cache if it fails + + + let hasThrown = true; + + try { + // @ts-expect-error + module.load(modulePath); + hasThrown = false; + } finally { + if (hasThrown) { + delete external_module_.Module._cache[modulePath]; + } + } + + return module.exports; + }; + + function getIssuerSpecsFromPaths(paths) { + return paths.map(path => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + + function getIssuerSpecsFromModule(module) { + const issuer = getIssuerModule(module); + const issuerPath = issuer !== null ? sources_path/* npath.dirname */.cS.dirname(issuer.filename) : process.cwd(); + return [{ + apiPath: opts.manager.getApiPathFromParent(issuer), + path: issuerPath, + module + }]; + } + + function makeFakeParent(path) { + const fakeParent = new external_module_.Module(``); + const fakeFilePath = sources_path/* npath.join */.cS.join(path, `[file]`); + fakeParent.paths = external_module_.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } // Splits a require request into its components, or return null if the request is a file path + + + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = external_module_.Module._resolveFilename; + + external_module_.Module._resolveFilename = function (request, parent, isMain, options) { + if (builtinModules.has(request)) return request; + if (!enableNativeHooks) return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, options); + + if (options && options.plugnplay === false) { + const { + plugnplay, + ...rest + } = options; // Workaround a bug present in some version of Node (now fixed) + // https://github.com/nodejs/node/pull/28078 + + const forwardedOptions = Object.keys(rest).length > 0 ? rest : undefined; + + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } // We check that all the options present here are supported; better + // to fail fast than to introduce subtle bugs in the runtime. + + + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + + if (optionNames.size > 0) { + throw internalTools_makeError(ErrorCode.UNSUPPORTED, `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`); + } + } + + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + + if (request.match(pathRegExp) === null) { + const parentDirectory = (parent === null || parent === void 0 ? void 0 : parent.filename) != null ? sources_path/* npath.dirname */.cS.dirname(parent.filename) : null; + const absoluteRequest = sources_path/* npath.isAbsolute */.cS.isAbsolute(request) ? request : parentDirectory !== null ? sources_path/* npath.resolve */.cS.resolve(parentDirectory, request) : null; + + if (absoluteRequest !== null) { + const apiPath = parentDirectory === sources_path/* npath.dirname */.cS.dirname(absoluteRequest) && (parent === null || parent === void 0 ? void 0 : parent.pnpApiPath) ? parent.pnpApiPath : opts.manager.findApiPathFor(absoluteRequest); + + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + + let firstError; + + for (const { + apiPath, + path, + module + } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(external_module_.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + + if (resolution !== null) { + return resolution; + } + } + + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) firstError.message += `\nRequire stack:\n- ${requireStack.join(`\n- `)}`; + throw firstError; + }; + + const originalFindPath = external_module_.Module._findPath; + + external_module_.Module._findPath = function (request, paths, isMain) { + if (request === `pnpapi`) return false; + if (!enableNativeHooks) return originalFindPath.call(external_module_.Module, request, paths, isMain); + + for (const path of paths || []) { + let resolution; + + try { + const pnpApiPath = opts.manager.findApiPathFor(path); + + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(external_module_.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + + if (resolution) { + return resolution; + } + } + + return false; + }; + + patchFs((external_fs_default()), new PosixFS(opts.fakeFs)); +} +// CONCATENATED MODULE: ./sources/loader/hydrateRuntimeState.ts + +function hydrateRuntimeState(data, { + basePath +}) { + const portablePath = sources_path/* npath.toPortablePath */.cS.toPortablePath(basePath); + const absolutePortablePath = sources_path/* ppath.resolve */.y1.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + return [packageReference, { + // We use ppath.join instead of ppath.resolve because: + // 1) packageInformationData.packageLocation is a relative path when part of the SerializedState + // 2) ppath.join preserves trailing slashes + packageLocation: sources_path/* ppath.join */.y1.join(absolutePortablePath, packageInformationData.packageLocation), + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup: packageInformationData.discardFromLookup || false + }]; + }))]; + })); + const packageLocatorsByLocations = new Map(); + const packageLocationLengths = new Set(); + + for (const [packageName, storeData] of data.packageRegistryData) { + for (const [packageReference, packageInformationData] of storeData) { + if (packageName === null !== (packageReference === null)) throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + if (packageInformationData.discardFromLookup) continue; // @ts-expect-error: TypeScript isn't smart enough to understand the type assertion + + const packageLocator = { + name: packageName, + reference: packageReference + }; + packageLocatorsByLocations.set(packageInformationData.packageLocation, packageLocator); + packageLocationLengths.add(packageInformationData.packageLocation.length); + } + } + + for (const location of data.locationBlacklistData) packageLocatorsByLocations.set(location, null); + + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocationLengths: [...packageLocationLengths].sort((a, b) => b - a), + packageLocatorsByLocations, + packageRegistry + }; +} +// CONCATENATED MODULE: ./sources/loader/makeApi.ts + + + + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); // @ts-expect-error + + const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`))); // Splits a require request into its components, or return null if the request is a file path + + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; // Matches if the path starts with a valid path qualifier (./, ../, /) + // eslint-disable-next-line no-unused-vars + + const isStrictRegExp = /^\.{0,2}\//; // Matches if the path must point to a directory (ie ends with /) + + const isDirRegExp = /\/$/; // We only instantiate one of those so that we can use strict-equal comparisons + + const topLevelLocator = { + name: null, + reference: null + }; // Used for compatibility purposes - cf setupCompatibilityLayer + + const fallbackLocators = []; // To avoid emitting the same warning multiple times + + const emittedWarnings = new Set(); + if (runtimeState.enableTopLevelFallback === true) fallbackLocators.push(topLevelLocator); + + if (opts.compatibilityMode !== false) { + // ESLint currently doesn't have any portable way for shared configs to + // specify their own plugins that should be used (cf issue #10125). This + // will likely get fixed at some point but it'll take time, so in the + // meantime we'll just add additional fallback entries for common shared + // configs. + // Similarly, Gatsby generates files within the `public` folder located + // within the project, but doesn't pre-resolve the `require` calls to use + // its own dependencies. Meaning that when PnP see a file from the `public` + // folder making a require, it thinks that your project forgot to list one + // of your dependencies. + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ + name, + reference + }); + } + } + } + } + } + /** + * The setup code will be injected here. The tables listed below are guaranteed to be filled after the call to + * the $$DYNAMICALLY_GENERATED_CODE function. + */ + + + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations, + packageLocationLengths + } = runtimeState; + /** + * Allows to print useful logs just be setting a value in the environment + */ + + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + + function maybeLog(name, fn) { + if (opts.allowDebug === false) return fn; + + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + console.trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + console.trace(logEntry); + throw error; + } + }; + } + } + + return fn; + } + /** + * Returns information about a package in a safe way (will throw if they cannot be retrieved) + */ + + + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + + if (!packageInformation) { + throw internalTools_makeError(ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`); + } + + return packageInformation; + } + /** + * Returns whether the specified locator is a dependency tree root (in which case it's part of the project) or not + */ + + + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) return true; + + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) return true; + + return false; + } + /** + * Implements the node resolution for folder access and extension selection + */ + + + function applyNodeExtensionResolution(unqualifiedPath, candidates, { + extensions + }) { + let stat; + + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) {} // If the file exists and is a file, we can stop right there + + + if (stat && !stat.isDirectory()) return opts.fakeFs.realpathSync(unqualifiedPath); // If the file is a directory, we must check if it contains a package.json with a "main" entry + + if (stat && stat.isDirectory()) { + let pkgJson; + + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(sources_path/* ppath.join */.y1.join(unqualifiedPath, `package.json`), `utf8`)); + } catch (error) {} + + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) nextUnqualifiedPath = sources_path/* ppath.resolve */.y1.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location + + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { + extensions + }); + + if (resolution !== null) { + return resolution; + } + } + } // Otherwise we check if we find a file that match one of the supported extensions + + + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } // Otherwise, we check if the path is a folder - in such a case, we try to use its index + + + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = sources_path/* ppath.format */.y1.format({ + dir: unqualifiedPath, + name: `index`, + ext: extensions[i] + }); + candidates.push(candidateFile); + + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } // Otherwise there's nothing else we can do :( + + + return null; + } + /** + * This function creates fake modules that can be used with the _resolveFilename function. + * Ideally it would be nice to be able to avoid this, since it causes useless allocations + * and cannot be cached efficiently (we recompute the nodeModulePaths every time). + * + * Fortunately, this should only affect the fallback, and there hopefully shouldn't have a + * lot of them. + */ + + + function makeFakeModule(path) { + // @ts-expect-error + const fakeModule = new external_module_.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = external_module_.Module._nodeModulePaths(path); + return fakeModule; + } + /** + * Normalize path to posix format. + */ + + + function normalizePath(p) { + return sources_path/* npath.toPortablePath */.cS.toPortablePath(p); + } + /** + * Forward the resolution to the next resolver (usually the native one) + */ + + + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) issuer = sources_path/* ppath.join */.y1.join(issuer, `internal.js`); // Since we would need to create a fake module anyway (to call _resolveLookupPath that + // would give us the paths to give to _resolveFilename), we can as well not use + // the {paths} option at all, since it internally makes _resolveFilename create another + // fake module anyway. + + return external_module_.Module._resolveFilename(request, makeFakeModule(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(issuer)), false, { + plugnplay: false + }); + } + /** + * + */ + + + function isPathIgnored(path) { + if (ignorePattern === null) return false; + const subPath = sources_path/* ppath.contains */.y1.contains(runtimeState.basePath, path); + if (subPath === null) return false; + + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + /** + * This key indicates which version of the standard is implemented by this resolver. The `std` key is the + * Plug'n'Play standard, and any other key are third-party extensions. Third-party extensions are not allowed + * to override the standard, and can only offer new methods. + * + * If a new version of the Plug'n'Play standard is released and some extensions conflict with newly added + * functions, they'll just have to fix the conflicts and bump their own version number. + */ + + + const VERSIONS = { + std: 3, + resolveVirtual: 1 + }; + /** + * We export a special symbol for easy access to the top level locator. + */ + + const topLevel = topLevelLocator; + /** + * Gets the package information for a given locator. Returns null if they cannot be retrieved. + */ + + function getPackageInformation({ + name, + reference + }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) return null; + return packageInformation; + } + /** + * Find all packages that depend on the specified one. + * + * Note: This is a private function; we expect consumers to implement it + * themselves. We keep it that way because this implementation isn't + * optimized at all, since we only need it when printing errors. + */ + + + function findPackageDependents({ + name, + reference + }) { + const dependents = []; + + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) continue; + + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) continue; // Don't forget that all packages depend on themselves + + if (dependentName === name && dependentReference === reference) continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + + return dependents; + } + /** + * Find all packages that broke the peer dependency on X, starting from Y. + * + * Note: This is a private function; we expect consumers to implement it + * themselves. We keep it that way because this implementation isn't + * optimized at all, since we only need it when printing errors. + */ + + + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = new Map(); + const alreadyVisited = new Set(); + + const traversal = currentPackage => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) brokenPackages.set(dependent.name, brokenSet = new Set()); + brokenSet.add(dependent.reference); + } + } + }; + + traversal(initialPackage); + const brokenList = []; + + for (const name of [...brokenPackages.keys()].sort()) for (const reference of [...brokenPackages.get(name)].sort()) brokenList.push({ + name, + reference + }); + + return brokenList; + } + /** + * Finds the package locator that owns the specified path. If none is found, returns null instead. + */ + + + function findPackageLocator(location) { + let relativeLocation = normalizePath(sources_path/* ppath.relative */.y1.relative(runtimeState.basePath, location)); + if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`; + if (location.match(isDirRegExp) && !relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`; + let from = 0; // If someone wants to use a binary search to go from O(n) to O(log n), be my guest + + while (from < packageLocationLengths.length && packageLocationLengths[from] > relativeLocation.length) from += 1; + + for (let t = from; t < packageLocationLengths.length; ++t) { + const locator = packageLocatorsByLocations.get(relativeLocation.substr(0, packageLocationLengths[t])); + if (typeof locator === `undefined`) continue; // Ensures that the returned locator isn't a blacklisted one. + // + // Blacklisted packages are packages that cannot be used because their dependencies cannot be deduced. This only + // happens with peer dependencies, which effectively have different sets of dependencies depending on their + // parents. + // + // In order to deambiguate those different sets of dependencies, the Yarn implementation of PnP will generate a + // symlink for each combination of // it will find, and will + // blacklist the target of those symlinks. By doing this, we ensure that files loaded through a specific path + // will always have the same set of dependencies, provided the symlinks are correctly preserved. + // + // Unfortunately, some tools do not preserve them, and when it happens PnP isn't able anymore to deduce the set of + // dependencies based on the path of the file that makes the require calls. But since we've blacklisted those + // paths, we're able to print a more helpful error message that points out that a third-party package is doing + // something incompatible! + + if (locator === null) { + const locationForDisplay = getPathForDisplay(location); + throw internalTools_makeError(ErrorCode.BLACKLISTED, `A forbidden path has been used in the package resolution process - this is usually caused by one of your tools calling 'fs.realpath' on the return value of 'require.resolve'. Since we need to use symlinks to simultaneously provide valid filesystem paths and disambiguate peer dependencies, they must be passed untransformed to 'require'.\n\nForbidden path: ${locationForDisplay}`, { + location: locationForDisplay + }); + } + + return locator; + } + + return null; + } + /** + * Transforms a request (what's typically passed as argument to the require function) into an unqualified path. + * This path is called "unqualified" because it only changes the package name to the package location on the disk, + * which means that the end result still cannot be directly accessed (for example, it doesn't try to resolve the + * file extension, or to resolve directories to their "index.js" content). Use the "resolveUnqualified" function + * to convert them to fully-qualified paths, or just use "resolveRequest" that do both operations in one go. + * + * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be + * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative + * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/"). + */ + + + function resolveToUnqualified(request, issuer, { + considerBuiltins = true + } = {}) { + // The 'pnpapi' request is reserved and will always return the path to the PnP file, from everywhere + if (request === `pnpapi`) return sources_path/* npath.toPortablePath */.cS.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module + + if (considerBuiltins && builtinModules.has(request)) return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); // We allow disabling the pnp resolution for some subpaths. + // This is because some projects, often legacy, contain multiple + // levels of dependencies (ie. a yarn.lock inside a subfolder of + // a yarn.lock). This is typically solved using workspaces, but + // not all of them have been converted already. + + if (issuer && isPathIgnored(issuer)) { + // Absolute paths that seem to belong to a PnP tree are still + // handled by our runtime even if the issuer isn't. This is + // because the native Node resolution uses a special version + // of the `stat` syscall which would otherwise bypass the + // filesystem layer we require to access the files. + if (!sources_path/* ppath.isAbsolute */.y1.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + + if (result === false) { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + return sources_path/* npath.toPortablePath */.cS.toPortablePath(result); + } + } + + let unqualifiedPath; // If the request is a relative or absolute path, we just return it normalized + + const dependencyNameMatch = request.match(pathRegExp); + + if (!dependencyNameMatch) { + if (sources_path/* ppath.isAbsolute */.y1.isAbsolute(request)) { + unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(request); + } else { + if (!issuer) { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } // We use ppath.join instead of ppath.resolve because: + // 1) The request is a relative path in this branch + // 2) ppath.join preserves trailing slashes + + + const absoluteIssuer = sources_path/* ppath.resolve */.y1.resolve(issuer); + + if (issuer.match(isDirRegExp)) { + unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(sources_path/* ppath.join */.y1.join(absoluteIssuer, request)); + } else { + unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(sources_path/* ppath.join */.y1.join(sources_path/* ppath.dirname */.y1.dirname(absoluteIssuer), request)); + } + } // No need to use the return value; we just want to check the blacklist status + + + findPackageLocator(unqualifiedPath); + } // Things are more hairy if it's a package require - we then need to figure out which package is needed, and in + // particular the exact version for the given location on the dependency tree + else { + if (!issuer) { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); // If the issuer file doesn't seem to be owned by a package managed through pnp, then we resort to using the next + // resolution algorithm in the chain, usually the native Node resolution one + + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + + if (result === false) { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + return sources_path/* npath.toPortablePath */.cS.toPortablePath(result); + } + + const issuerInformation = getPackageInformationSafe(issuerLocator); // We obtain the dependency reference in regard to the package that request it + + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; // If we can't find it, we check if we can potentially load it from the packages that have been defined as potential fallbacks. + // It's a bit of a hack, but it improves compatibility with the existing Node ecosystem. Hopefully we should eventually be able + // to kill this logic and become stricter once pnp gets enough traction and the affected packages fix themselves. + + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + // To allow programs to become gradually stricter, starting from the v2 we enforce that workspaces cannot depend on fallbacks. + // This works by having a list containing all their locators, and checking when a fallback is required whether it's one of them. + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) continue; + if (alwaysWarnOnFallback) fallbackReference = reference;else dependencyReference = reference; + break; + } + + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } // If we can't find the path, and if the package making the request is the top-level, we can offer nicer error messages + + + let error = null; + + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + + if (brokenAncestors.every(ancestor => isDependencyTreeRoot(ancestor))) { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName, + brokenAncestors + }); + } else { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName, + brokenAncestors + }); + } + } + } else if (dependencyReference === undefined) { + if (!considerBuiltins && builtinModules.has(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName + }); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName + }); + } + } + } + + if (dependencyReference == null) { + if (fallbackReference === null || error === null) throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + + if (!emittedWarnings.has(message)) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } // We need to check that the package exists on the filesystem, because it might not have been installed + + + const dependencyLocator = Array.isArray(dependencyReference) ? { + name: dependencyReference[0], + reference: dependencyReference[1] + } : { + name: dependencyName, + reference: dependencyReference + }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + + if (!dependencyInformation.packageLocation) { + throw internalTools_makeError(ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyLocator: Object.assign({}, dependencyLocator) + }); + } // Now that we know which package we should resolve to, we only have to find out the file location + // packageLocation is always absolute as it's returned by getPackageInformationSafe + + + const dependencyLocation = dependencyInformation.packageLocation; + + if (subPath) { + // We use ppath.join instead of ppath.resolve because: + // 1) subPath is always a relative path + // 2) ppath.join preserves trailing slashes + unqualifiedPath = sources_path/* ppath.join */.y1.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + + return sources_path/* ppath.normalize */.y1.normalize(unqualifiedPath); + } + /** + * Transforms an unqualified path into a qualified path by using the Node resolution algorithm (which automatically + * appends ".js" / ".json", and transforms directory accesses into "index.js"). + */ + + + function resolveUnqualified(unqualifiedPath, { + extensions = Object.keys(external_module_.Module._extensions) + } = {}) { + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { + extensions + }); + + if (qualifiedPath) { + return sources_path/* ppath.normalize */.y1.normalize(qualifiedPath); + } else { + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + throw internalTools_makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of the candidates can be found on the disk.\n\nSource path: ${unqualifiedPathForDisplay}\n${candidates.map(candidate => `Rejected candidate: ${getPathForDisplay(candidate)}\n`).join(``)}`, { + unqualifiedPath: unqualifiedPathForDisplay + }); + } + } + /** + * Transforms a request into a fully qualified path. + * + * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be + * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative + * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/"). + */ + + + function resolveRequest(request, issuer, { + considerBuiltins, + extensions + } = {}) { + const unqualifiedPath = resolveToUnqualified(request, issuer, { + considerBuiltins + }); + if (unqualifiedPath === null) return null; + + try { + return resolveUnqualified(unqualifiedPath, { + extensions + }); + } catch (resolutionError) { + if (resolutionError.pnpCode === `QUALIFIED_PATH_RESOLUTION_FAILED`) Object.assign(resolutionError.data, { + request: getPathForDisplay(request), + issuer: issuer && getPathForDisplay(issuer) + }); + throw resolutionError; + } + } + + function resolveVirtual(request) { + const normalized = sources_path/* ppath.normalize */.y1.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { + name: referencish[0], + reference: referencish[1] + }; + } else { + return { + name, + reference: referencish + }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getPackageInformation: locator => { + const info = getPackageInformation(locator); + if (info === null) return null; + const packageLocation = sources_path/* npath.fromPortablePath */.cS.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, + packageLocation + }; + return nativeInfo; + }, + findPackageLocator: path => { + return findPackageLocator(sources_path/* npath.toPortablePath */.cS.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts) => { + const portableIssuer = issuer !== null ? sources_path/* npath.toPortablePath */.cS.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(sources_path/* npath.toPortablePath */.cS.toPortablePath(request), portableIssuer, opts); + if (resolution === null) return null; + return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts) => { + return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolveUnqualified(sources_path/* npath.toPortablePath */.cS.toPortablePath(unqualifiedPath), opts)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts) => { + const portableIssuer = issuer !== null ? sources_path/* npath.toPortablePath */.cS.toPortablePath(issuer) : null; + const resolution = resolveRequest(sources_path/* npath.toPortablePath */.cS.toPortablePath(request), portableIssuer, opts); + if (resolution === null) return null; + return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, path => { + const result = resolveVirtual(sources_path/* npath.toPortablePath */.cS.toPortablePath(path)); + + if (result !== null) { + return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(result); + } else { + return null; + } + }) + }; +} +// CONCATENATED MODULE: ./sources/loader/makeManager.ts + + +function makeManager(pnpapi, opts) { + const initialApiPath = sources_path/* npath.toPortablePath */.cS.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(sources_path/* npath.toPortablePath */.cS.toPortablePath(initialApiPath)); + const apiMetadata = new Map([[initialApiPath, { + cache: external_module_.Module._cache, + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }]]); + + function loadApiInstance(pnpApiPath) { + const nativePath = sources_path/* npath.fromPortablePath */.cS.fromPortablePath(pnpApiPath); // @ts-expect-error + + const module = new external_module_.Module(nativePath, null); // @ts-expect-error + + module.load(nativePath); + return module.exports; + } + + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + + if (stats.mtime > apiEntry.stats.mtime) { + console.warn(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${pnpApiPath})`); + apiEntry.instance = loadApiInstance(pnpApiPath); + apiEntry.stats = stats; + } + } + + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + cache: {}, + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + + return apiEntry; + } + + const findApiPathCache = new Map(); + + function addToCache(start, end, target) { + let curr; + let next = start; + + do { + curr = next; + findApiPathCache.set(curr, target); + next = sources_path/* ppath.dirname */.y1.dirname(curr); + } while (curr !== end); + } + + function findApiPathFor(modulePath) { + const start = VirtualFS.resolveVirtual(sources_path/* ppath.resolve */.y1.resolve(sources_path/* npath.toPortablePath */.cS.toPortablePath(modulePath))); + let curr; + let next = start; + + do { + curr = next; + const cached = findApiPathCache.get(curr); + + if (cached !== undefined) { + addToCache(start, curr, cached); + return cached; + } + + const candidate = sources_path/* ppath.join */.y1.join(curr, `.pnp.js`); + + if (xfs.existsSync(candidate) && xfs.statSync(candidate).isFile()) { + addToCache(start, curr, candidate); + return candidate; + } + + const cjsCandidate = sources_path/* ppath.join */.y1.join(curr, `.pnp.cjs`); + + if (xfs.existsSync(cjsCandidate) && xfs.statSync(cjsCandidate).isFile()) { + addToCache(start, curr, cjsCandidate); + return cjsCandidate; + } + + next = sources_path/* ppath.dirname */.y1.dirname(curr); + } while (curr !== sources_path/* PortablePath.root */.LZ.root); + + addToCache(start, curr, null); + return null; + } + + function getApiPathFromParent(parent) { + if (parent == null) return initialApiPath; + + if (typeof parent.pnpApiPath === `undefined`) { + if (parent.filename !== null) { + return parent.pnpApiPath = findApiPathFor(parent.filename); + } else { + return initialApiPath; + } + } + + if (parent.pnpApiPath !== null) return parent.pnpApiPath; + return null; + } + + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} +// CONCATENATED MODULE: ./sources/loader/_entryPoint.ts + + + + + + + + + // We must copy the fs into a local, because otherwise +// 1. we would make the NodeFS instance use the function that we patched (infinite loop) +// 2. Object.create(fs) isn't enough, since it won't prevent the proto from being modified + +const localFs = { ...(external_fs_default()) +}; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things: +// 1. all requests inside a folder named "$$virtual" will be remapped according the virtual folder rules +// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation +// 3. any remaining request will be forwarded to Node as-is + +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + libzip: getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: defaultFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = undefined, + fakeFs = defaultFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: api => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + } +}); +manager = makeManager(defaultApi, { + fakeFs: defaultFsLayer +}); // eslint-disable-next-line arca/no-default-export + +/* harmony default export */ const _entryPoint = (defaultApi); + +if (__non_webpack_module__.parent && __non_webpack_module__.parent.id === `internal/preload`) { + defaultApi.setup(); + + if (__non_webpack_module__.filename) { + // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run" + // It's annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn't happen anyway. + delete (external_module_default())._cache[__non_webpack_module__.filename]; + } +} + +if (process.mainModule === __non_webpack_module__) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ + code, + message, + data + }, null])}\n`); + }; + + const reportSuccess = resolution => { + process.stdout.write(`${JSON.stringify([null, resolution])}\n`); + }; + + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + + const processRequest = data => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} \n`); + process.exitCode = 64; + /* EX_USAGE */ + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new (external_string_decoder_default()).StringDecoder(); + process.stdin.on(`data`, chunk => { + buffer += decoder.write(chunk); + + do { + const index = buffer.indexOf(`\n`); + if (index === -1) break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +/***/ }), + +/***/ 368: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var frozenFs = Object.assign({}, __webpack_require__(747)); +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow; +}; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = true; +var scriptDirectory = ""; +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} +var read_, readBinary; +var nodeFS; +var nodePath; +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = __webpack_require__(622).dirname(scriptDirectory) + "/"; + } else { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = __webpack_require__(622); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/"); + } + arguments_ = process["argv"].slice(2); + if (true) { + module["exports"] = Module; + } + (function() {})("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + (function() {})("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; +} else { +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (Module["quit"]) quit_ = Module["quit"]; +var tempRet0 = 0; +var setTempRet0 = function(value) { + tempRet0 = value; +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); +} +function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + default: + abort("invalid type for getValue: " + type); + } + return null; +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + initial: 31, + maximum: 31 + 0, + element: "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } +} +function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; +} +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + array: function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} +function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + }; +} +var UTF8Decoder = + typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; +function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + } + return str; +} +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; +} +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | (u >> 6); + heap[outIdx++] = 128 | (u & 63); + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | (u >> 12); + heap[outIdx++] = 128 | ((u >> 6) & 63); + heap[outIdx++] = 128 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | (u >> 18); + heap[outIdx++] = 128 | ((u >> 12) & 63); + heap[outIdx++] = 128 | ((u >> 6) & 63); + heap[outIdx++] = 128 | (u & 63); + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023); + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4; + } + return len; +} +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} +var WASM_PAGE_SIZE = 65536; +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); +} +var DYNAMIC_BASE = 5263680, + DYNAMICTOP_PTR = 20640; +var INITIAL_INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"]; +} else { + wasmMemory = new WebAssembly.Memory({ + initial: INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE, + maximum: 2147483648 / WASM_PAGE_SIZE + }); +} +if (wasmMemory) { + buffer = wasmMemory.buffer; +} +INITIAL_INITIAL_MEMORY = buffer.byteLength; +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func); + } else { + Module["dynCall_vi"](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} +function preMain() { + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); +} +function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +function getUniqueRunDependency(id) { + return id; +} +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } +} +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + throw new WebAssembly.RuntimeError(what); +} +function hasPrefix(str, prefix) { + return String.prototype.startsWith + ? str.startsWith(prefix) + : str.indexOf(prefix) === 0; +} +var dataURIPrefix = "data:application/octet-stream;base64,"; +function isDataURI(filename) { + return hasPrefix(filename, dataURIPrefix); +} +var wasmBinaryFile = + "data:application/octet-stream;base64,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A3I2AgQgASAFaiIEIANBAXI2AgQgAyAEaiADNgIAIAgEQCAIQQN2IgVBA3RB4JwBaiEAQcycASgCACECAn9BASAFdCIFIAZxRQRAQbicASAFIAZyNgIAIAAMAQsgACgCCAshBSAAIAI2AgggBSACNgIMIAIgADYCDCACIAU2AggLQcycASAENgIAQcCcASADNgIACyABQQhqIQALIAtBEGokACAAC4IEAQN/IAJBgARPBEAgACABIAIQExogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCACQQFIBEAgACECDAELIABBA3FFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANPDQEgAkEDcQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyADQXxqIgQgAEkEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAACz8BAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCDCADKAIIIAMoAgQQ1gEhACADQRBqJAAgAAvdAQEBfyMAQRBrIgEkACABIAA2AgwCQCABKAIMRQ0AIAEoAgwoAjBBAEsEQCABKAIMIgAgACgCMEF/ajYCMAsgASgCDCgCMEEASw0AIAEoAgwoAiBBAEsEQCABKAIMQQE2AiAgASgCDBAyGgsgASgCDCgCJEEBRgRAIAEoAgwQagsCQCABKAIMKAIsRQ0AIAEoAgwtAChBAXEN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QSBqJAALiwMBAX8jAEEwayIDJAAgAyAANgIkIAMgATYCICADIAI3AxgCQCADKAIkLQAoQQFxBEAgA0J/NwMoDAELAkACQCADKAIkKAIgQQBNDQAgAykDGEL///////////8AVg0AIAMpAxhCAFgNASADKAIgDQELIAMoAiRBDGpBEkEAEBUgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAiIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRCCBAfNgIAAkAgASgCAEUEQCABQgA3AwgMAQsgASABKAIALQAArSABKAIALQAHrUI4hiABKAIALQAGrUIwhnwgASgCAC0ABa1CKIZ8IAEoAgAtAAStQiCGfCABKAIALQADrUIYhnwgASgCAC0AAq1CEIZ8IAEoAgAtAAGtQgiGfHw3AwgLIAEpAwghAiABQRBqJAAgAguoAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIgQQBNBEAgASgCCEEMakESQQAQFSABQX82AgwMAQsgASgCCCIAIAAoAiBBf2o2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECIaIAEoAggoAgAEQCABKAIIKAIAEDJBAEgEQCABKAIIQQxqQRRBABAVCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAAC/ECAgJ/AX4CQCACRQ0AIAAgAmoiA0F/aiABOgAAIAAgAToAACACQQNJDQAgA0F+aiABOgAAIAAgAToAASADQX1qIAE6AAAgACABOgACIAJBB0kNACADQXxqIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIANgIAIAMgAiAEa0F8cSICaiIBQXxqIAA2AgAgAkEJSQ0AIAMgADYCCCADIAA2AgQgAUF4aiAANgIAIAFBdGogADYCACACQRlJDQAgAyAANgIYIAMgADYCFCADIAA2AhAgAyAANgIMIAFBcGogADYCACABQWxqIAA2AgAgAUFoaiAANgIAIAFBZGogADYCACACIANBBHFBGHIiAWsiAkEgSQ0AIACtIgVCIIYgBYQhBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsL3AEBAX8jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIoBEAgASgCDCgCKEEANgIoIAEoAgwoAihCADcDICABKAIMAn4gASgCDCkDGCABKAIMKQMgVgRAIAEoAgwpAxgMAQsgASgCDCkDIAs3AxgLIAEgASgCDCkDGDcDAANAIAEpAwAgASgCDCkDCFpFBEAgASgCDCgCACABKQMAp0EEdGooAgAQFiABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAgAQFiABKAIMKAIEEBYgASgCDBAWCyABQRBqJAALYAIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQoAiRBAUcEQCABKAIEQQxqQRJBABAVIAFCfzcDCAwBCyABIAEoAgRBAEIAQQ0QIjcDCAsgASkDCCECIAFBEGokACACC6ABAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNwMIIAMgAygCGCgCACADKAIUIAMpAwgQywEiAjcDAAJAIAJCAFMEQCADKAIYQQhqIAMoAhgoAgAQGCADQX82AhwMAQsgAykDACADKQMIUgRAIAMoAhhBCGpBBkEbEBUgA0F/NgIcDAELIANBADYCHAsgAygCHCEAIANBIGokACAAC2sBAX8jAEEgayICIAA2AhwgAkIBIAIoAhythjcDECACQQxqIAE2AgADQCACIAIoAgwiAEEEajYCDCACIAAoAgA2AgggAigCCEEASEUEQCACIAIpAxBCASACKAIIrYaENwMQDAELCyACKQMQCy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQFiABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFSACQX82AgwMAQsgAigCBBA8IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAYIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAiQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAACzEBAX8jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMEFwgASgCDBAWCyABQRBqJAAL3wQBAX8jAEEgayICIAA2AhggAiABNgIUAkAgAigCGEUEQCACQQE2AhwMAQsgAiACKAIYKAIANgIMAkAgAigCGCgCCARAIAIgAigCGCgCCDYCEAwBCyACQQE2AhAgAkEANgIIA0ACQCACKAIIIAIoAhgvAQRPDQACQCACKAIMIAIoAghqLQAAQR9KBEAgAigCDCACKAIIai0AAEGAAUgNAQsgAigCDCACKAIIai0AAEENRg0AIAIoAgwgAigCCGotAABBCkYNACACKAIMIAIoAghqLQAAQQlGBEAMAQsgAkEDNgIQAkAgAigCDCACKAIIai0AAEHgAXFBwAFGBEAgAkEBNgIADAELAkAgAigCDCACKAIIai0AAEHwAXFB4AFGBEAgAkECNgIADAELAkAgAigCDCACKAIIai0AAEH4AXFB8AFGBEAgAkEDNgIADAELIAJBBDYCEAwECwsLIAIoAgggAigCAGogAigCGC8BBE8EQCACQQQ2AhAMAgsgAkEBNgIEA0AgAigCBCACKAIATQRAIAIoAgwgAigCCCACKAIEamotAABBwAFxQYABRwRAIAJBBDYCEAwGBSACIAIoAgRBAWo2AgQMAgsACwsgAiACKAIAIAIoAghqNgIICyACIAIoAghBAWo2AggMAQsLCyACKAIYIAIoAhA2AgggAigCFARAAkAgAigCFEECRw0AIAIoAhBBA0cNACACQQI2AhAgAigCGEECNgIICwJAIAIoAhQgAigCEEYNACACKAIQQQFGDQAgAkEFNgIcDAILCyACIAIoAhA2AhwLIAIoAhwLagEBfyMAQRBrIgEgADYCDCABKAIMQgA3AwAgASgCDEEANgIIIAEoAgxCfzcDECABKAIMQQA2AiwgASgCDEF/NgIoIAEoAgxCADcDGCABKAIMQgA3AyAgASgCDEEAOwEwIAEoAgxBADsBMgtVAQJ/QaChASgCACIBIABBA2pBfHEiAmohAAJAIAJBAU5BACAAIAFNGw0AIAA/AEEQdEsEQCAAEBRFDQELQaChASAANgIAIAEPC0G0nAFBMDYCAEF/Cz8BAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCDCADKAIIIAMoAgQQ7AIhACADQRBqJAAgAAuqAgEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDIaIAEoAgwoAgAQHAsgASgCDCgCHBAWIAEoAgwoAiAQJiABKAIMKAIkECYgASgCDCgCUBCBAyABKAIMKAJABEAgAUIANwMAA0AgASkDACABKAIMKQMwWkUEQCABKAIMKAJAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCQBAWCyABQgA3AwADQCABKQMAIAEoAgwoAkStWkUEQCABKAIMKAJMIAEpAwCnQQJ0aigCABCEAyABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkwQFiABKAIMKAJUEPsCIAEoAgxBCGoQOCABKAIMEBYLIAFBEGokAAtvAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCADKAIQrRAfNgIMAkAgAygCDEUEQCADQX82AhwMAQsgAygCDCADKAIUIAMoAhAQGhogA0EANgIcCyADKAIcGiADQSBqJAALogEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCDCAEKQMQECoiADYCBAJAIABFBEAgBCgCCEEOQQAQFSAEQQA2AhwMAQsgBCgCGCAEKAIEKAIEIAQpAxAgBCgCCBBhQQBIBEAgBCgCBBAXIARBADYCHAwBCyAEIAQoAgQ2AhwLIAQoAhwhACAEQSBqJAAgAAugAQEBfyMAQSBrIgMkACADIAA2AhQgAyABNgIQIAMgAjcDCCADIAMoAhA2AgQCQCADKQMIQghUBEAgA0J/NwMYDAELIwBBEGsiACADKAIUNgIMIAAoAgwoAgAhACADKAIEIAA2AgAjAEEQayIAIAMoAhQ2AgwgACgCDCgCBCEAIAMoAgQgADYCBCADQgg3AxgLIAMpAxghAiADQSBqJAAgAguDAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQX9qIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUF/aiIBIAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELPwEBfyMAQRBrIgIgADYCDCACIAE2AgggAigCDARAIAIoAgwgAigCCCgCADYCACACKAIMIAIoAggoAgQ2AgQLC7wCAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCCAEKAIIRQRAIAQgBCgCGEEIajYCCAsCQCAEKQMQIAQoAhgpAzBaBEAgBCgCCEESQQAQFSAEQQA2AhwMAQsCQCAEKAIMQQhxRQRAIAQoAhgoAkAgBCkDEKdBBHRqKAIEDQELIAQoAhgoAkAgBCkDEKdBBHRqKAIARQRAIAQoAghBEkEAEBUgBEEANgIcDAILAkAgBCgCGCgCQCAEKQMQp0EEdGotAAxBAXFFDQAgBCgCDEEIcQ0AIAQoAghBF0EAEBUgBEEANgIcDAILIAQgBCgCGCgCQCAEKQMQp0EEdGooAgA2AhwMAQsgBCAEKAIYKAJAIAQpAxCnQQR0aigCBDYCHAsgBCgCHCEAIARBIGokACAAC4QBAQF/IwBBEGsiASQAIAEgADYCCCABQdgAEBkiADYCBAJAIABFBEAgAUEANgIMDAELAkAgASgCCARAIAEoAgQgASgCCEHYABAaGgwBCyABKAIEEF0LIAEoAgRBADYCACABKAIEQQE6AAUgASABKAIENgIMCyABKAIMIQAgAUEQaiQAIAAL1AIBAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEKAIUBEAgBCgCFEEANgIACyAEQbDTADYCHAwBCyAEKAIQQcAAcUUEQCAEKAIYKAIIRQRAIAQoAhhBABA7GgsCQAJAAkAgBCgCEEGAAXFFDQAgBCgCGCgCCEEBRg0AIAQoAhgoAghBAkcNAQsgBCgCGCgCCEEERw0BCyAEKAIYKAIMRQRAIAQoAhgoAgAgBCgCGC8BBCAEKAIYQRBqIAQoAgwQ0gEhACAEKAIYIAA2AgwgAEUEQCAEQQA2AhwMBAsLIAQoAhQEQCAEKAIUIAQoAhgoAhA2AgALIAQgBCgCGCgCDDYCHAwCCwsgBCgCFARAIAQoAhQgBCgCGC8BBDYCAAsgBCAEKAIYKAIANgIcCyAEKAIcIQAgBEEgaiQAIAALOQEBfyMAQRBrIgEgADYCDEEAIQAgASgCDC0AAEEBcQR/IAEoAgwpAxAgASgCDCkDCFEFQQALQQFxC/ICAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggtAChBAXEEQCABQX82AgwMAQsgASgCCCgCJEEDRgRAIAEoAghBDGpBF0EAEBUgAUF/NgIMDAELAkAgASgCCCgCIEEASwRAAn8jAEEQayIAIAEoAgg2AgwgACgCDCkDGELAAINQCwRAIAEoAghBDGpBHUEAEBUgAUF/NgIMDAMLDAELIAEoAggoAgAEQCABKAIIKAIAEElBAEgEQCABKAIIQQxqIAEoAggoAgAQGCABQX82AgwMAwsLIAEoAghBAEIAQQAQIkIAUwRAIAEoAggoAgAEQCABKAIIKAIAEDIaCyABQX82AgwMAgsLIAEoAghBADoANCABKAIIQQA6ADUjAEEQayIAIAEoAghBDGo2AgwgACgCDARAIAAoAgxBADYCACAAKAIMQQA2AgQLIAEoAggiACAAKAIgQQFqNgIgIAFBADYCDAsgASgCDCEAIAFBEGokACAAC3cCAX8BfiMAQRBrIgEkACABIAA2AgQCQCABKAIELQAoQQFxBEAgAUJ/NwMIDAELIAEoAgQoAiBBAE0EQCABKAIEQQxqQRJBABAVIAFCfzcDCAwBCyABIAEoAgRBAEIAQQcQIjcDCAsgASkDCCECIAFBEGokACACC50BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBtP4ASQ0AIAEoAgQoAgRB0/4ATQ0BCyABQQE2AgwMAQsgAUEANgIMCyABKAIMC4ABAQN/IwBBEGsiAiAANgIMIAIgATYCCCACKAIIQQh2IQEgAigCDCgCCCEDIAIoAgwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCCEH/AXEhASACKAIMKAIIIQMgAigCDCICKAIUIQAgAiAAQQFqNgIUIAAgA2ogAToAAAuCAQECfyAARQRAIAEQGQ8LIAFBQE8EQEG0nAFBMDYCAEEADwsgAEF4akEQIAFBC2pBeHEgAUELSRsQ7wIiAgRAIAJBCGoPCyABEBkiAkUEQEEADwsgAiAAQXxBeCAAQXxqKAIAIgNBA3EbIANBeHFqIgMgASADIAFJGxAaGiAAEBYgAgubBQEBfyMAQUBqIgQkACAEIAA2AjggBCABNwMwIAQgAjYCLCAEIAM2AiggBEHIABAZIgA2AiQCQCAARQRAIARBADYCPAwBCyAEKAIkQgA3AzggBCgCJEIANwMYIAQoAiRCADcDMCAEKAIkQQA2AgAgBCgCJEEANgIEIAQoAiRCADcDCCAEKAIkQgA3AxAgBCgCJEEANgIoIAQoAiRCADcDIAJAIAQpAzBQBEBBCBAZIQAgBCgCJCAANgIEIABFBEAgBCgCJBAWIAQoAihBDkEAEBUgBEEANgI8DAMLIAQoAiQoAgRCADcDAAwBCyAEKAIkIAQpAzBBABC9AUEBcUUEQCAEKAIoQQ5BABAVIAQoAiQQNCAEQQA2AjwMAgsgBEIANwMIIARCADcDGCAEQgA3AxADQCAEKQMYIAQpAzBUBEAgBCgCOCAEKQMYp0EEdGopAwhQRQRAIAQoAjggBCkDGKdBBHRqKAIARQRAIAQoAihBEkEAEBUgBCgCJBA0IARBADYCPAwFCyAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aigCADYCACAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aikDCDcDCCAEKAIkKAIEIAQpAxinQQN0aiAEKQMINwMAIAQgBCgCOCAEKQMYp0EEdGopAwggBCkDCHw3AwggBCAEKQMQQgF8NwMQCyAEIAQpAxhCAXw3AxgMAQsLIAQoAiQgBCkDEDcDCCAEKAIkAn5CACAEKAIsDQAaIAQoAiQpAwgLNwMYIAQoAiQoAgQgBCgCJCkDCKdBA3RqIAQpAwg3AwAgBCgCJCAEKQMINwMwCyAEIAQoAiQ2AjwLIAQoAjwhACAEQUBrJAAgAAueAQEBfyMAQSBrIgQkACAEIAA2AhggBCABNwMQIAQgAjYCDCAEIAM2AgggBCAEKAIYIAQpAxAgBCgCDCAEKAIIEEUiADYCBAJAIABFBEAgBEEANgIcDAELIAQgBCgCBCgCMEEAIAQoAgwgBCgCCBBHIgA2AgAgAEUEQCAEQQA2AhwMAQsgBCAEKAIANgIcCyAEKAIcIQAgBEEgaiQAIAAL2gEBAX8jAEEgayIEJAAgBCAAOwEaIAQgATsBGCAEIAI2AhQgBCADNgIQIARBEBAZIgA2AgwCQCAARQRAIARBADYCHAwBCyAEKAIMQQA2AgAgBCgCDCAEKAIQNgIEIAQoAgwgBC8BGjsBCCAEKAIMIAQvARg7AQoCQCAELwEYQQBKBEAgBCgCFCAELwEYEMkBIQAgBCgCDCAANgIMIABFBEAgBCgCDBAWIARBADYCHAwDCwwBCyAEKAIMQQA2AgwLIAQgBCgCDDYCHAsgBCgCHCEAIARBIGokACAAC4wDAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE7ARYgBCACNgIQIAQgAzYCDAJAIAQvARZFBEAgBEEANgIcDAELAkACQAJAAkAgBCgCEEGAMHEiAARAIABBgBBGDQEgAEGAIEYNAgwDCyAEQQA2AgQMAwsgBEECNgIEDAILIARBBDYCBAwBCyAEKAIMQRJBABAVIARBADYCHAwBCyAEQRQQGSIANgIIIABFBEAgBCgCDEEOQQAQFSAEQQA2AhwMAQsgBC8BFkEBahAZIQAgBCgCCCAANgIAIABFBEAgBCgCCBAWIARBADYCHAwBCyAEKAIIKAIAIAQoAhggBC8BFhAaGiAEKAIIKAIAIAQvARZqQQA6AAAgBCgCCCAELwEWOwEEIAQoAghBADYCCCAEKAIIQQA2AgwgBCgCCEEANgIQIAQoAgQEQCAEKAIIIAQoAgQQO0EFRgRAIAQoAggQJiAEKAIMQRJBABAVIARBADYCHAwCCwsgBCAEKAIINgIcCyAEKAIcIQAgBEEgaiQAIAALNwEBfyMAQRBrIgEgADYCCAJAIAEoAghFBEAgAUEAOwEODAELIAEgASgCCC8BBDsBDgsgAS8BDgtDAQN/AkAgAkUNAANAIAAtAAAiBCABLQAAIgVGBEAgAUEBaiEBIABBAWohACACQX9qIgINAQwCCwsgBCAFayEDCyADC5YBAQV/IAAoAkxBAE4EQEEBIQMLIAAoAgBBAXEiBEUEQCAAKAI0IgEEQCABIAAoAjg2AjgLIAAoAjgiAgRAIAIgATYCNAsgAEGAoQEoAgBGBEBBgKEBIAI2AgALCyAAEJsBIQEgACAAKAIMEQAAIQIgACgCYCIFBEAgBRAWCwJAIARFBEAgABAWDAELIANFDQALIAEgAnILjgMCAX8BfiMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjYCHCAEIAM2AhgCQCAEKAIkRQRAIARCfzcDKAwBCyAEKAIgRQRAIAQoAhhBEkEAEBUgBEJ/NwMoDAELIAQoAhxBgyBxBEAgBEEYQRkgBCgCHEEBcRs2AhQgBEIANwMAA0AgBCkDACAEKAIkKQMwVARAIAQgBCgCJCAEKQMAIAQoAhwgBCgCGBBPNgIQIAQoAhAEQCAEKAIcQQJxBEAgBCAEKAIQIgAgABAsQQFqEKICNgIMIAQoAgwEQCAEIAQoAgxBAWo2AhALCyAEKAIgIAQoAhAgBCgCFBECAEUEQCMAQRBrIgAgBCgCGDYCDCAAKAIMBEAgACgCDEEANgIAIAAoAgxBADYCBAsgBCAEKQMANwMoDAULCyAEIAQpAwBCAXw3AwAMAQsLIAQoAhhBCUEAEBUgBEJ/NwMoDAELIAQgBCgCJCgCUCAEKAIgIAQoAhwgBCgCGBD/AjcDKAsgBCkDKCEFIARBMGokACAFC9AHAQF/IwBBIGsiASQAIAEgADYCHCABIAEoAhwoAiw2AhADQCABIAEoAhwoAjwgASgCHCgCdGsgASgCHCgCbGs2AhQgASgCHCgCbCABKAIQIAEoAhwoAixBhgJrak8EQCABKAIcKAI4IAEoAhwoAjggASgCEGogASgCECABKAIUaxAaGiABKAIcIgAgACgCcCABKAIQazYCcCABKAIcIgAgACgCbCABKAIQazYCbCABKAIcIgAgACgCXCABKAIQazYCXCABKAIcEN0CIAEgASgCECABKAIUajYCFAsgASgCHCgCACgCBARAIAEgASgCHCgCACABKAIcKAJ0IAEoAhwoAjggASgCHCgCbGpqIAEoAhQQczYCGCABKAIcIgAgASgCGCAAKAJ0ajYCdCABKAIcKAJ0IAEoAhwoArQtakEDTwRAIAEgASgCHCgCbCABKAIcKAK0LWs2AgwgASgCHCABKAIcKAI4IAEoAgxqLQAANgJIIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAWpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSANAIAEoAhwoArQtBEAgASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEECamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIIAEoAhwoAkAgASgCDCABKAIcKAI0cUEBdGogASgCHCgCRCABKAIcKAJIQQF0ai8BADsBACABKAIcKAJEIAEoAhwoAkhBAXRqIAEoAgw7AQAgASABKAIMQQFqNgIMIAEoAhwiACAAKAK0LUF/ajYCtC0gASgCHCgCdCABKAIcKAK0LWpBA08NAQsLC0EAIQAgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDMgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBAzIAEoAhwiACABKAIEIAAoAsAtajYCwC0LCwsgAUEgaiQAC4YFAQF/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzYCECAEQQM2AgwCQCAEKAIcKAK8LUEQIAQoAgxrSgRAIAQgBCgCEDYCCCAEKAIcIgAgAC8BuC0gBCgCCEH//wNxIAQoAhwoArwtdHI7AbgtIAQoAhwvAbgtQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwvAbgtQQh1IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCAEKAIIQf//A3FBECAEKAIcKAK8LWt1OwG4LSAEKAIcIgAgACgCvC0gBCgCDEEQa2o2ArwtDAELIAQoAhwiACAALwG4LSAEKAIQQf//A3EgBCgCHCgCvC10cjsBuC0gBCgCHCIAIAQoAgwgACgCvC1qNgK8LQsgBCgCHBC4ASAEKAIUQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRB//8DcUEIdSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB/wFxIQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCFEF/c0H//wNxQQh1IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCgCCCAEKAIcKAIUaiAEKAIYIAQoAhQQGhogBCgCHCIAIAQoAhQgACgCFGo2AhQgBEEgaiQAC/kBAQF/IwBBIGsiAiQAIAIgADYCHCACIAE5AxACQCACKAIcRQ0AIAICfAJ8IAIrAxBEAAAAAAAAAABkBEAgAisDEAwBC0QAAAAAAAAAAAtEAAAAAAAA8D9jBEACfCACKwMQRAAAAAAAAAAAZARAIAIrAxAMAQtEAAAAAAAAAAALDAELRAAAAAAAAPA/CyACKAIcKwMoIAIoAhwrAyChoiACKAIcKwMgoDkDCCACKwMIIAIoAhwrAxihIAIoAhwrAxBkRQ0AIAIoAhwoAgAgAisDCCACKAIcKAIMIAIoAhwoAgQRGgAgAigCHCACKwMIOQMYCyACQSBqJAAL1AMBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhACQAJAIAMoAhgEQCADKAIUDQELIAMoAhBBEkEAEBUgA0EAOgAfDAELIAMoAhgpAwhCAFYEQCADIAMoAhQQfDYCDCADIAMoAgwgAygCGCgCAHA2AgggA0EANgIAIAMgAygCGCgCECADKAIIQQJ0aigCADYCBANAIAMoAgQEQAJAIAMoAgQoAhwgAygCDEcNACADKAIUIAMoAgQoAgAQWw0AAkAgAygCBCkDCEJ/UQRAAkAgAygCAARAIAMoAgAgAygCBCgCGDYCGAwBCyADKAIYKAIQIAMoAghBAnRqIAMoAgQoAhg2AgALIAMoAgQQFiADKAIYIgAgACkDCEJ/fDcDCAJAIAMoAhgiACkDCLogACgCALhEexSuR+F6hD+iY0UNACADKAIYKAIAQYACTQ0AIAMoAhggAygCGCgCAEEBdiADKAIQEFpBAXFFBEAgA0EAOgAfDAgLCwwBCyADKAIEQn83AxALIANBAToAHwwECyADIAMoAgQ2AgAgAyADKAIEKAIYNgIEDAELCwsgAygCEEEJQQAQFSADQQA6AB8LIAMtAB9BAXEhACADQSBqJAAgAAvfAgEBfyMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjYCIAJAIAMoAiQgAygCKCgCAEYEQCADQQE6AC8MAQsgAyADKAIkQQQQeyIANgIcIABFBEAgAygCIEEOQQAQFSADQQA6AC8MAQsgAygCKCkDCEIAVgRAIANBADYCGANAIAMoAhggAygCKCgCAE9FBEAgAyADKAIoKAIQIAMoAhhBAnRqKAIANgIUA0AgAygCFARAIAMgAygCFCgCGDYCECADIAMoAhQoAhwgAygCJHA2AgwgAygCFCADKAIcIAMoAgxBAnRqKAIANgIYIAMoAhwgAygCDEECdGogAygCFDYCACADIAMoAhA2AhQMAQsLIAMgAygCGEEBajYCGAwBCwsLIAMoAigoAhAQFiADKAIoIAMoAhw2AhAgAygCKCADKAIkNgIAIANBAToALwsgAy0AL0EBcSEAIANBMGokACAAC00BAn8gAS0AACECAkAgAC0AACIDRQ0AIAIgA0cNAANAIAEtAAEhAiAALQABIgNFDQEgAUEBaiEBIABBAWohACACIANGDQALCyADIAJrC4kCAQF/IwBBEGsiASQAIAEgADYCDAJAIAEoAgwtAAVBAXEEQCABKAIMKAIAQQJxRQ0BCyABKAIMKAIwECYgASgCDEEANgIwCwJAIAEoAgwtAAVBAXEEQCABKAIMKAIAQQhxRQ0BCyABKAIMKAI0ECQgASgCDEEANgI0CwJAIAEoAgwtAAVBAXEEQCABKAIMKAIAQQRxRQ0BCyABKAIMKAI4ECYgASgCDEEANgI4CwJAIAEoAgwtAAVBAXEEQCABKAIMKAIAQYABcUUNAQsgASgCDCgCVARAIAEoAgwoAlRBACABKAIMKAJUECwQMwsgASgCDCgCVBAWIAEoAgxBADYCVAsgAUEQaiQAC/EBAQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA6AAQgASgCDEEAOgAFIAEoAgxBAToABiABKAIMQb8GOwEIIAEoAgxBCjsBCiABKAIMQQA7AQwgASgCDEF/NgIQIAEoAgxBADYCFCABKAIMQQA2AhggASgCDEIANwMgIAEoAgxCADcDKCABKAIMQQA2AjAgASgCDEEANgI0IAEoAgxBADYCOCABKAIMQQA2AjwgASgCDEEAOwFAIAEoAgxBgIDYjXg2AkQgASgCDEIANwNIIAEoAgxBADsBUCABKAIMQQA7AVIgASgCDEEANgJUC9oTAQF/IwBBsAFrIgMkACADIAA2AqgBIAMgATYCpAEgAyACNgKgASADQQA2ApABIAMgAygCpAEoAjBBABA7NgKUASADIAMoAqQBKAI4QQAQOzYCmAECQAJAAkACQCADKAKUAUECRgRAIAMoApgBQQFGDQELIAMoApQBQQFGBEAgAygCmAFBAkYNAQsgAygClAFBAkcNASADKAKYAUECRw0BCyADKAKkASIAIAAvAQxBgBByOwEMDAELIAMoAqQBIgAgAC8BDEH/7wNxOwEMIAMoApQBQQJGBEAgA0H14AEgAygCpAEoAjAgAygCqAFBCGoQxAE2ApABIAMoApABRQRAIANBfzYCrAEMAwsLAkAgAygCoAFBgAJxDQAgAygCmAFBAkcNACADQfXGASADKAKkASgCOCADKAKoAUEIahDEATYCSCADKAJIRQRAIAMoApABECQgA0F/NgKsAQwDCyADKAJIIAMoApABNgIAIAMgAygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCAAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBAqNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAuIAMoAhwgAygCpAEpAyAQLgwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLgsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAuCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC4LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAIcEBcgAygCkAEQJCADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQUDYCjAEgAygCHBAXIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECo2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFSADKAKQARAkIANBfzYCrAEMAgsgAygCEEECECAgAygCEEHP0wBBAhBAIAMoAhAgAygCpAEvAVJB/wFxEIoBIAMoAhAgAygCpAEoAhBB//8DcRAgAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBUgAygCEBAXIAMoApABECQgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUDYCDCADKAIQEBcgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKiIANgJMIABFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAELIAMoAkxBxdMAQcrTACADKAKgAUGAAnEbQQQQQCADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIAsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQICADKAJMIAMoAqQBLwEMECACQCADLQCFAUEBcQRAIAMoAkxB4wAQIAwBCyADKAJMIAMoAqQBKAIQQf//A3EQIAsgAygCpAEoAhQgA0GeAWogA0GcAWoQwwEgAygCTCADLwGeARAgIAMoAkwgAy8BnAEQIAJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIQwBCyADKAJMIAMoAqQBKAIYECELAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAhIAMoAkxBfxAhDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIQwBCyADKAJMQX8QIQsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAhDAELIAMoAkxBfxAhCwsgAygCTCADKAKkASgCMBBSQf//A3EQICADIAMoAqQBKAI0IAMoAqABEIIBQf//A3EgAygCkAFBgAYQggFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAgIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFJB//8DcRAgIAMoAkwgAygCpAEoAjxB//8DcRAgIAMoAkwgAygCpAEvAUAQICADKAJMIAMoAqQBKAJEECECQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAhDAELIAMoAkxBfxAhCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAJMEBcgAygCkAEQJCADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNkEASARAIAMoAkwQFyADKAKQARAkIANBfzYCrAEMAQsgAygCTBAXIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQhgFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQgQFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABECQgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCBAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIYBQQBIBEAgA0F/NgKsAQwDCwsLIAMgAy0AhwFBAXE2AqwBCyADKAKsASEAIANBsAFqJAAgAAuCAgEBfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjsBEiAFQQA7ARAgBSADNgIMIAUgBDYCCCAFQQA2AgQCQANAIAUoAhgEQAJAIAUoAhgvAQggBS8BEkcNACAFKAIYKAIEIAUoAgxxQYAGcUUNACAFKAIEIAUvARBIBEAgBSAFKAIEQQFqNgIEDAELIAUoAhQEQCAFKAIUIAUoAhgvAQo7AQALIAUoAhgvAQpBAEoEQCAFIAUoAhgoAgw2AhwMBAsgBUGx0wA2AhwMAwsgBSAFKAIYKAIANgIYDAELCyAFKAIIQQlBABAVIAVBADYCHAsgBSgCHCEAIAVBIGokACAAC4QDAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhgCQAJAIAUoAiANACAFLQAfQQFxDQAgBUEANgIsDAELIAUgBSgCIEEBQQAgBS0AH0EBcRtqEBk2AhQgBSgCFEUEQCAFKAIYQQ5BABAVIAVBADYCLAwBCwJAIAUoAigEQCAFIAUoAiggBSgCIK0QHzYCECAFKAIQRQRAIAUoAhhBDkEAEBUgBSgCFBAWIAVBADYCLAwDCyAFKAIUIAUoAhAgBSgCIBAaGgwBCyAFKAIkIAUoAhQgBSgCIK0gBSgCGBBhQQBIBEAgBSgCFBAWIAVBADYCLAwCCwsgBS0AH0EBcQRAIAUoAhQgBSgCIGpBADoAACAFIAUoAhQ2AgwDQCAFKAIMIAUoAhQgBSgCIGpJBEAgBSgCDC0AAEUEQCAFKAIMQSA6AAALIAUgBSgCDEEBajYCDAwBCwsLIAUgBSgCFDYCLAsgBSgCLCEAIAVBMGokACAAC8IBAQF/IwBBMGsiBCQAIAQgADYCKCAEIAE2AiQgBCACNwMYIAQgAzYCFAJAIAQpAxhC////////////AFYEQCAEKAIUQRRBABAVIARBfzYCLAwBCyAEIAQoAiggBCgCJCAEKQMYEC8iAjcDCCACQgBTBEAgBCgCFCAEKAIoEBggBEF/NgIsDAELIAQpAwggBCkDGFMEQCAEKAIUQRFBABAVIARBfzYCLAwBCyAEQQA2AiwLIAQoAiwhACAEQTBqJAAgAAs2AQF/IwBBEGsiASQAIAEgADYCDCABKAIMEGMgASgCDCgCABA6IAEoAgwoAgQQOiABQRBqJAALqwEBAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggEQCABKAIMKAIIEBwgASgCDEEANgIICwJAIAEoAgwoAgRFDQAgASgCDCgCBCgCAEEBcUUNACABKAIMKAIEKAIQQX5HDQAgASgCDCgCBCIAIAAoAgBBfnE2AgAgASgCDCgCBCgCAEUEQCABKAIMKAIEEDogASgCDEEANgIECwsgASgCDEEAOgAMIAFBEGokAAttAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDAJAIAQoAhhFBEAgBEEANgIcDAELIAQgBCgCFCAEKAIQIAQoAgwgBCgCGEEIahCOATYCHAsgBCgCHCEAIARBIGokACAAC4EGAgF/AX4jAEGQAWsiAyQAIAMgADYChAEgAyABNgKAASADIAI2AnwgAxBdAkAgAygCgAEpAwhCAFIEQCADIAMoAoABKAIAKAIAKQNINwNgIAMgAygCgAEoAgAoAgApA0g3A2gMAQsgA0IANwNgIANCADcDaAsgA0IANwNwAkADQCADKQNwIAMoAoABKQMIVARAIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSCADKQNoVARAIAMgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNINwNoCyADKQNoIAMoAoABKQMgVgRAIAMoAnxBE0EAEBUgA0J/NwOIAQwDCyADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSCADKAKAASgCACADKQNwp0EEdGooAgApAyB8IAMoAoABKAIAIAMpA3CnQQR0aigCACgCMBBSQf//A3GtfEIefDcDWCADKQNYIAMpA2BWBEAgAyADKQNYNwNgCyADKQNgIAMoAoABKQMgVgRAIAMoAnxBE0EAEBUgA0J/NwOIAQwDCyADKAKEASgCACADKAKAASgCACADKQNwp0EEdGooAgApA0hBABAoQQBIBEAgAygCfCADKAKEASgCABAYIANCfzcDiAEMAwsgAyADKAKEASgCAEEAQQEgAygCfBDCAUJ/UQRAIAMQXCADQn83A4gBDAMLIAMoAoABKAIAIAMpA3CnQQR0aigCACADEPIBBEAgAygCfEEVQQAQFSADEFwgA0J/NwOIAQwDBSADKAKAASgCACADKQNwp0EEdGooAgAoAjQgAygCNBCFASEAIAMoAoABKAIAIAMpA3CnQQR0aigCACAANgI0IAMoAoABKAIAIAMpA3CnQQR0aigCAEEBOgAEIANBADYCNCADEFwgAyADKQNwQgF8NwNwDAILAAsLIAMCfiADKQNgIAMpA2h9Qv///////////wBUBEAgAykDYCADKQNofQwBC0L///////////8ACzcDiAELIAMpA4gBIQQgA0GQAWokACAEC6YBAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCEBD7ASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFSAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEJYBDAELIAIgASAAEJYBC0EASARAIAQoAghBBEG0nAEoAgAQFSAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJwACf0EAQQAgABAFIgAgAEEbRhsiAEUNABpBtJwBIAA2AgBBAAsaC14BAX8jAEEQayIDJAAgAyABQcCAgAJxBH8gAyACQQRqNgIMIAIoAgAFQQALNgIAIAAgAUGAgAJyIAMQESIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAiGiABKAIMQQA2AiQLIAFBEGokAAszAQF/An8gABAGIgFBYUYEQCAAEBIhAQsgAUGBYE8LBH9BtJwBQQAgAWs2AgBBfwUgAQsLaQECfwJAIAAoAhQgACgCHE0NACAAQQBBACAAKAIkEQEAGiAAKAIUDQBBfw8LIAAoAgQiASAAKAIIIgJJBEAgACABIAJrrEEBIAAoAigREAAaCyAAQQA2AhwgAEIANwMQIABCADcCBEEAC6YBAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAggoAgAEQCACKAIIKAIAIAIoAgQQbUEASARAIAIoAghBDGogAigCCCgCABAYIAJBfzYCDAwCCwsgAigCCCACQQRqQgRBExAiQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAAC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFUhBCADQRBqJAAgBAskAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhCnAiADQRBqJAALpxECD38BfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohEyAFQThqIRBBACEBAkADQAJAIA1BAEgNACABQf////8HIA1rSgRAQbScAUE9NgIAQX8hDQwBCyABIA1qIQ0LIAUoAkwiCSEBAkACQAJAIAktAAAiBgRAA0ACQAJAIAZB/wFxIgdFBEAgASEGDAELIAdBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgc2AkwgBkEBaiEGIAEtAAIhCiAHIQEgCkElRg0ACwsgBiAJayEBIAAEQCAAIAkgARAjCyABDQZBfyEOQQEhBiAFKAJMIQECQCAFKAJMLAABQVBqQQpPDQAgAS0AAkEkRw0AIAEsAAFBUGohDkEBIRFBAyEGCyAFIAEgBmoiATYCTEEAIQYCQCABLAAAIg9BYGoiCkEfSwRAIAEhBwwBCyABIQdBASAKdCIKQYnRBHFFDQADQCAFIAFBAWoiBzYCTCAGIApyIQYgASwAASIPQWBqIgpBH0sNASAHIQFBASAKdCIKQYnRBHENAAsLAkAgD0EqRgRAIAUCfwJAIAcsAAFBUGpBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcB+akEKNgIAIAEsAAFBA3QgA2pBgH1qKAIAIQtBASERIAFBA2oMAQsgEQ0GQQAhEUEAIQsgAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCwsgBSgCTEEBagsiATYCTCALQX9KDQFBACALayELIAZBgMAAciEGDAELIAVBzABqEKMBIgtBAEgNBCAFKAJMIQELQX8hCAJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQVBqQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAfmpBCjYCACABLAACQQN0IANqQYB9aigCACEIIAUgAUEEaiIBNgJMDAILIBENBSAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCCAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQowEhCCAFKAJMIQELQQAhBwNAIAchEkF/IQwgASwAAEG/f2pBOUsNCCAFIAFBAWoiDzYCTCABLAAAIQcgDyEBIAcgEkE6bGpB74IBai0AACIHQX9qQQhJDQALIAdFDQcCQAJAAkAgB0ETRgRAIA5Bf0wNAQwLCyAOQQBIDQEgBCAOQQJ0aiAHNgIAIAUgAyAOQQN0aikDADcDQAtBACEBIABFDQgMAQsgAEUNBiAFQUBrIAcgAhCiASAFKAJMIQ8LIAZB//97cSIKIAYgBkGAwABxGyEGQQAhDEGXgwEhDiAQIQcCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAPQX9qLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFBqH9qDiEEFBQUFBQUFBQOFA8GDg4OFAYUFBQUAgUDFBQJFAEUFAQACwJAIAFBv39qDgcOFAsUDg4OAAsgAUHTAEYNCQwTCyAFKQNAIRRBl4MBDAULQQAhAQJAAkACQAJAAkACQAJAIBJB/wFxDggAAQIDBBoFBhoLIAUoAkAgDTYCAAwZCyAFKAJAIA02AgAMGAsgBSgCQCANrDcDAAwXCyAFKAJAIA07AQAMFgsgBSgCQCANOgAADBULIAUoAkAgDTYCAAwUCyAFKAJAIA2sNwMADBMLIAhBCCAIQQhLGyEIIAZBCHIhBkH4ACEBCyAFKQNAIBAgAUEgcRCrAiEJIAZBCHFFDQMgBSkDQFANAyABQQR2QZeDAWohDkECIQwMAwsgBSkDQCAQEKoCIQkgBkEIcUUNAiAIIBAgCWsiAUEBaiAIIAFKGyEIDAILIAUpA0AiFEJ/VwRAIAVCACAUfSIUNwNAQQEhDEGXgwEMAQsgBkGAEHEEQEEBIQxBmIMBDAELQZmDAUGXgwEgBkEBcSIMGwshDiAUIBAQQyEJCyAGQf//e3EgBiAIQX9KGyEGIAUpA0AhFAJAIAgNACAUUEUNAEEAIQggECEJDAwLIAggFFAgECAJa2oiASAIIAFKGyEIDAsLIAUoAkAiAUGhgwEgARsiCUEAIAgQpgEiASAIIAlqIAEbIQcgCiEGIAEgCWsgCCABGyEIDAoLIAgEQCAFKAJADAILQQAhASAAQSAgC0EAIAYQJwwCCyAFQQA2AgwgBSAFKQNAPgIIIAUgBUEIajYCQEF/IQggBUEIagshB0EAIQECQANAIAcoAgAiCUUNAQJAIAVBBGogCRClASIJQQBIIgoNACAJIAggAWtLDQAgB0EEaiEHIAggASAJaiIBSw0BDAILC0F/IQwgCg0LCyAAQSAgCyABIAYQJyABRQRAQQAhAQwBC0EAIQogBSgCQCEHA0AgBygCACIJRQ0BIAVBBGogCRClASIJIApqIgogAUoNASAAIAVBBGogCRAjIAdBBGohByAKIAFJDQALCyAAQSAgCyABIAZBgMAAcxAnIAsgASALIAFKGyEBDAgLIAAgBSsDQCALIAggBiABQRURHAAhAQwHCyAFIAUpA0A8ADdBASEIIBMhCSAKIQYMBAsgBSABQQFqIgc2AkwgAS0AASEGIAchAQwAAAsACyANIQwgAA0EIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQogFBASEMIAFBAWoiAUEKRw0BDAYLC0EBIQwgAUEKTw0EA0AgBCABQQJ0aigCAA0BIAFBAWoiAUEKRw0ACwwEC0F/IQwMAwsgAEEgIAwgByAJayIKIAggCCAKSBsiD2oiByALIAsgB0gbIgEgByAGECcgACAOIAwQIyAAQTAgASAHIAZBgIAEcxAnIABBMCAPIApBABAnIAAgCSAKECMgAEEgIAEgByAGQYDAAHMQJwwBCwtBACEMCyAFQdAAaiQAIAwLtwEBBH8CQCACKAIQIgMEfyADBSACEK4CDQEgAigCEAsgAigCFCIFayABSQRAIAIgACABIAIoAiQRAQAPCwJAIAIsAEtBAEgNACABIQQDQCAEIgNFDQEgACADQX9qIgRqLQAAQQpHDQALIAIgACADIAIoAiQRAQAiBCADSQ0BIAEgA2shASAAIANqIQAgAigCFCEFIAMhBgsgBSAAIAEQGhogAiACKAIUIAFqNgIUIAEgBmohBAsgBAvSEQEBfyMAQbABayIGJAAgBiAANgKoASAGIAE2AqQBIAYgAjYCoAEgBiADNgKcASAGIAQ2ApgBIAYgBTYClAEgBkEANgKQAQNAIAYoApABQQ9LRQRAIAZBIGogBigCkAFBAXRqQQA7AQAgBiAGKAKQAUEBajYCkAEMAQsLIAZBADYCjAEDQCAGKAKMASAGKAKgAU9FBEAgBkEgaiAGKAKkASAGKAKMAUEBdGovAQBBAXRqIgAgAC8BAEEBajsBACAGIAYoAowBQQFqNgKMAQwBCwsgBiAGKAKYASgCADYCgAEgBkEPNgKEAQNAAkAgBigChAFBAUkNACAGQSBqIAYoAoQBQQF0ai8BAA0AIAYgBigChAFBf2o2AoQBDAELCyAGKAKAASAGKAKEAUsEQCAGIAYoAoQBNgKAAQsCQCAGKAKEAUUEQCAGQcAAOgBYIAZBAToAWSAGQQA7AVogBigCnAEiASgCACEAIAEgAEEEajYCACAAIAZB2ABqIgEoAQA2AQAgBigCnAEiAigCACEAIAIgAEEEajYCACAAIAEoAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQbDrADYCUCAGQfDrADYCTCAGQYECNgJIDAELIAZBsOwANgJQIAZB8OwANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoApQBIAYoAowBQQF0ai8BAEEBaiAGKAJISQRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQX9qIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigCfCAGKAJ4aiAGKAKEAU8NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGhoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPiEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGyEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+0BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvnCAEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHE5FBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUF/ajYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAUhFBEAgAigCLCACKAIkIAIoAhgQdSACIAIoAhhBf2o2AhgMAQsLIAIgAigCHDYCDANAIAIgAigCLCgC4BY2AhggAigCLEHcFmohASACKAIsIgMoAtAoIQAgAyAAQX9qNgLQKCACKAIsIABBAnQgAWooAgA2AuAWIAIoAiwgAigCJEEBEHUgAiACKAIsKALgFjYCFCACKAIYIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCFCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEF/aiEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAiQgAigCDEECdGogAigCJCACKAIYQQJ0ai8BACACKAIkIAIoAhRBAnRqLwEAajsBACACKAIMIAIoAixB2ChqagJ/IAIoAhggAigCLEHYKGpqLQAAIAIoAhQgAigCLEHYKGpqLQAATgRAIAIoAhggAigCLEHYKGpqLQAADAELIAIoAhQgAigCLEHYKGpqLQAAC0EBajoAACACKAIkIAIoAhRBAnRqIAIoAgwiADsBAiACKAIkIAIoAhhBAnRqIAA7AQIgAiACKAIMIgBBAWo2AgwgAigCLCAANgLgFiACKAIsIAIoAiRBARB1IAIoAiwoAtAoQQJODQAL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ADoAGyADIAE2AhQgAyACNgIQIANByAAQGSIANgIMAkAgAEUEQCADKAIQQQFBtJwBKAIAEBUgA0EANgIcDAELIAMoAgwgAygCEDYCACADKAIMIAMtABtBAXE6AAQgAygCDCADKAIUNgIIAkAgAygCDCgCCEEBTgRAIAMoAgwoAghBCUwNAQsgAygCDEEJNgIICyADKAIMQQA6AAwgAygCDEEANgIwIAMoAgxBADYCNCADKAIMQQA2AjggAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL4wgBAX8jAEFAaiICIAA2AjggAiABNgI0IAIgAigCOCgCfDYCMCACIAIoAjgoAjggAigCOCgCbGo2AiwgAiACKAI4KAJ4NgIgIAIgAigCOCgCkAE2AhwgAgJ/IAIoAjgoAmwgAigCOCgCLEGGAmtLBEAgAigCOCgCbCACKAI4KAIsQYYCa2sMAQtBAAs2AhggAiACKAI4KAJANgIUIAIgAigCOCgCNDYCECACIAIoAjgoAjggAigCOCgCbGpBggJqNgIMIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAogAigCOCgCeCACKAI4KAKMAU8EQCACIAIoAjBBAnY2AjALIAIoAhwgAigCOCgCdEsEQCACIAIoAjgoAnQ2AhwLA0ACQCACIAIoAjgoAjggAigCNGo2AigCQCACKAIoIAIoAiBqLQAAIAItAApHDQAgAigCKCACKAIgQQFrai0AACACLQALRw0AIAIoAigtAAAgAigCLC0AAEcNACACIAIoAigiAEEBajYCKCAALQABIAIoAiwtAAFHBEAMAQsgAiACKAIsQQJqNgIsIAIgAigCKEEBajYCKANAIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKAJ/QQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBB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IAIoAigoAmxrQQFrNgIUAkAgAigCKCgCACgCBCACKAIUTQ0AIAIoAigoAlwgAigCKCgCLEgNACACKAIoIgAgACgCXCACKAIoKAIsazYCXCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAaGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LIAIgAigCKCgCLCACKAIUajYCFAsgAigCFCACKAIoKAIAKAIESwRAIAIgAigCKCgCACgCBDYCFAsgAigCFARAIAIoAigoAgAgAigCKCgCOCACKAIoKAJsaiACKAIUEHMaIAIoAigiACACKAIUIAAoAmxqNgJsCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LIAIgAigCKCgCvC1BKmpBA3U2AhQgAgJ/Qf//AyACKAIoKAIMIAIoAhRrQf//A0sNABogAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAkEBQQACf0EAIAIoAiRBBEcNABpBACACKAIoKAIAKAIEDQAaIAIoAhwgAigCGEYLQQFxGzYCECACKAIoIAIoAigoAjggAigCKCgCXGogAigCHCACKAIQEFcgAigCKCIAIAIoAhwgACgCXGo2AlwgAigCKCgCABAdCyACQQJBACACKAIQGzYCLAsgAigCLCEAIAJBMGokACAAC7ICAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggQdARAIAFBfjYCDAwBCyABIAEoAggoAhwoAgQ2AgQgASgCCCgCHCgCCARAIAEoAggoAiggASgCCCgCHCgCCCABKAIIKAIkEQQACyABKAIIKAIcKAJEBEAgASgCCCgCKCABKAIIKAIcKAJEIAEoAggoAiQRBAALIAEoAggoAhwoAkAEQCABKAIIKAIoIAEoAggoAhwoAkAgASgC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AEEBcUULBEAgAygCEEEUQQAQFSADKAIEEBcgA0EANgIcDAELIAMgAy8BGgJ/IwBBEGsiACADKAIENgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELAn8jAEEQayIAIAMoAgQ2AgwgACgCDCgCBAtBgAYQUDYCACADKAIEEBcgAyADKAIANgIcCyADKAIcIQAgA0EgaiQAIAALtAIBAX8jAEEwayIDJAAgAyAANgIoIAMgATcDICADIAI2AhwCQCADKQMgUARAIANBAToALwwBCyADIAMoAigpAxAgAykDIHw3AwgCQCADKQMIIAMpAyBaBEAgAykDCEL/////AFgNAQsgAygCHEEOQQAQFSADQQA6AC8MAQsgAyADKAIoKAIAIAMpAwinQQR0EE0iADYCBCAARQRAIAMoAhxBDkEAEBUgA0EAOgAvDAELIAMoAiggAygCBDYCACADIAMoAigpAwg3AxADQCADKQMQIAMpAwhaRQRAIAMoAigoAgAgAykDEKdBBHRqEIwBIAMgAykDEEIBfDcDEAwBCwsgAygCKCADKQMIIgE3AxAgAygCKCABNwMIIANBAToALwsgAy0AL0EBcSEAIANBMGokACAAC8wBAQF/IwBBIGsiAiQAIAIgADcDECACIAE2AgwgAkEwEBkiATYCCAJAIAFFBEAgAigCDEEOQQAQFSACQQA2AhwMAQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEMUBQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAELtgUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAVIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFSACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQKEEASARAIAIoAihBCGogAigCKCgCABAYIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQSIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAeOwESIAIgAigCFBAeOwEQIAIoAhQQSEEBcUUEQCACKAIUEBcgAigCKEEIakEUQQAQFSACQX82AiwMAQsgAigCFBAXIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQKEEASARAIAIoAihBCGpBBEG0nAEoAgAQFSACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQYDYCCCACKAIIRQRAIAJBfzYCLAwCCyACKAIIIAIvARBBgAIgAkEMaiACKAIoQQhqEIQBQQFxRQRAIAIoAggQFiACQX82AiwMAgsgAigCCBAWIAIoAgwEQCACIAIoAgwQgwE2AgwgAigCHCgCACgCNCACKAIMEIUBIQAgAigCHCgCACAANgI0CwsgAigCHCgCAEEBOgAEAkAgAigCHCgCBEUNACACKAIcKAIELQAEQQFxDQAgAigCHCgCBCACKAIcKAIAKAI0NgI0IAIoAhwoAgRBAToABAsgAkEANgIsCyACKAIsIQAgAkEwaiQAIAALBwAgACgCAAuMAQEBfyMAQSBrIgIkACACIAA2AhggAiABNgIUIAJBADYCEAJAIAIoAhRFBEAgAkEANgIcDAELIAIgAigCFBAZNgIMIAIoAgxFBEAgAigCEEEOQQAQFSACQQA2AhwMAQsgAigCDCACKAIYIAIoAhQQGhogAiACKAIMNgIcCyACKAIcIQAgAkEgaiQAIAALGABBqJwBQgA3AgBBsJwBQQA2AgBBqJwBC4gBAQF/IwBBIGsiAyQAIAMgADYCFCADIAE2AhAgAyACNwMIAkACQCADKAIUKAIkQQFGBEAgAykDCEL///////////8AWA0BCyADKAIUQQxqQRJBABAVIANCfzcDGAwBCyADIAMoAhQgAygCECADKQMIQQsQIjcDGAsgAykDGCECIANBIGokACACC3MBAX8jAEEgayIBJAAgASAANgIYIAFCCDcDECABIAEoAhgpAxAgASkDEHw3AwgCQCABKQMIIAEoAhgpAxBUBEAgASgCGEEAOgAAIAFBfzYCHAwBCyABIAEoAhggASkDCBAtNgIcCyABKAIcGiAB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AmwLIAQoAmwhACAEQfAAaiQAIAAL1wEBAX8jAEEgayICJAAgAiAANgIYIAIgATYCFCACQYmYATYCECACQQQ2AgwCQAJAIAIoAhQgAigCDE8EQCACKAIMDQELIAJBADYCHAwBCyACIAIoAhhBf2o2AggDQAJAIAIgAigCCEEBaiACKAIQLQAAIAIoAhggAigCCGsgAigCFCACKAIMa2oQpgEiADYCCCAARQ0AIAIoAghBAWogAigCEEEBaiACKAIMQQFrEFMNASACIAIoAgg2AhwMAgsLIAJBADYCHAsgAigCHCEAIAJBIGokACAAC8EGAQF/IwBB4ABrIgIkACACIAA2AlggAiABNwNQAkAgAikDUEIWVARAIAIoAlhBCGpBE0EAEBUgAkEANgJcDAELIAICfiACKQNQQqqABFQEQCACKQNQDAELQqqABAs3AzAgAigCWCgCAEIAIAIpAzB9QQIQKEEASARAIwBBEGsiACACKAJYKAIANgIMIAIgACgCDEEMajYCCAJAAn8jAEEQayIAIAIoAgg2AgwgACgCDCgCAEEERgsEQCMAQRBrIgAgAigCCDYCDCAAKAIMKAIEQRZGDQELIAIoAlhBCGogAigCCBBEIAJBADYCXAwCCwsgAiACKAJYKAIAEEoiATcDOCABQgBTBEAgAigCWEEIaiACKAJYKAIAEBggAkEANgJcDAELIAIgAigCWCgCACACKQMwQQAgAigCWEEIahBBIgA2AgwgAEUEQCACQQA2AlwMAQsgAkJ/NwMgIAJBADYCTCACKQMwQqqABFoEQCACKAIMQhQQLRoLIAJBEGpBE0EAEBUgAiACKAIMQgAQHzYCRANAAkAgAiACKAJEIAIoAgwQMEISfacQ9gEiADYCRCAARQ0AIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLRogAiACKAJYIAIoAgwgAikDOCACQRBqEPUBIgA2AkggAARAAkAgAigCTARAIAIpAyBCAFcEQCACIAIoAlggAigCTCACQRBqEGU3AyALIAIgAigCWCACKAJIIAJBEGoQZTcDKAJAIAIpAyAgAikDKFMEQCACKAJMECUgAiACKAJINgJMIAIgAikDKDcDIAwBCyACKAJIECULDAELIAIgAigCSDYCTAJAIAIoAlgoAgRBBHEEQCACIAIo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QXhGBEAgABCQAg0BCyADQYFgTwR/QbScAUEAIANrNgIAQX8FIAMLDAELIAIgABCPAiACIAEQAiIAQYFgTwR/QbScAUEAIABrNgIAQX8FIAALCyEAIAJBIGokACAAC54BAQN/A0AgACACaiIDIAJB2JcBai0AADoAACACQQ5HIQQgAkEBaiECIAQNAAsgAQRAQQ4hAiABIQMDQCACQQFqIQIgA0EJSyEEIANBCm4hAyAEDQALIAAgAmpBADoAAANAIAAgAkF/aiICaiABIAFBCm4iA0EKbGtBMHI6AAAgAUEJSyEEIAMhASAEDQALDwsgA0EwOgAAIABBADoADws3AQF/IwBBIGsiASQAAn9BASAAIAFBCGoQCCIARQ0AGkG0nAEgADYCAEEACyEAIAFBIGokACAACyABAn8gABAsQQFqIgEQGSICRQRAQQAPCyACIAAgARAaC6UBAQF/IwBBIGsiAiAANgIUIAIgATYCEAJAIAIoAhRFBEAgAkJ/NwMYDAELIAIoAhBBCHEEQCACIAIoAhQpAzA3AwgDQEEAIQAgAikDCEIAVgR/IAIoAhQoAkAgAikDCEIBfadBBHRqKAIARQVBAAtBAXEEQCACIAIpAwhCf3w3AwgMAQsLIAIgAikDCDcDGAwBCyACIAIoAhQpAzA3AxgLIAIpAxgL8gEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQCADKAIURQRAIANCfzcDGAwBCyADKAIUKAIEBEAgA0J/NwMYDAELIAMpAwhC////////////AFYEQCADKAIUQQRqQRJBABAVIANCfzcDGAwBCwJAIAMoAhQtABBBAXFFBEAgAykDCFBFDQELIANCADcDGAwBCyADIAMoAhQoAhQgAygCECADKQMIEC8iAjcDACACQgBTBEAgAygCFEEEaiADKAIUKAIUEBggA0J/NwMYDAELIAMgAykDADcDGAsgAykDGCECIANBIGokACACC0cBAX8jAEEgayIDJAAgAyAANgIcIAMgATcDECADIAI2AgwgAygCHCADKQMQIAMoAgwgAygCHCgCHBCdASEAIANBIGokACAAC38CAX8BfiMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIAMoAhggAygCFCADKAIQEG4iBDcDCAJAIARCAFMEQCADQQA2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aiIBaiICLQAAQS9HDQALIAILqQEBA38CQCAALQAAIgJFDQADQCABLQAAIgRFBEAgAiEDDAILAkAgAiAERg0AIAJBIHIgAiACQb9/akEaSRsgAS0AACICQSByIAIgAkG/f2pBGkkbRg0AIAAtAAAhAwwCCyABQQFqIQEgAC0AASECIABBAWohACACDQALCyADQf8BcSIAQSByIAAgAEG/f2pBGkkbIAEtAAAiAEEgciAAIABBv39qQRpJG2sL6AMBA38jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQOAJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGgDigCAEgNAQsgASABKAKoASgCADYCECABQSBqQbyXASABQRBqEG8gAUEANgKkASABIAFBIGo2AqABDAELIAEgASgCqAEoAgBBAnRBoA1qKAIANgKkAQJAAkACQAJAIAEoAqgBKAIAQQJ0QbAOaigCAEF/ag4CAAECCyABIAEoAqgBKAIEQZCaASgCABClAjYCoAEMAgsjAEEQayIAIAEoAqgBKAIENgIMIAFBACAAKAIMa0ECdEHY1ABqKAIANgKgAQwBCyABQQA2AqABCwsCQCABKAKgAUUEQCABIAEoAqQBNgKsAQwBCyABIAEoAqABECwCfyABKAKkAQRAIAEoAqQBECxBAmoMAQtBAAtqQQFqEBkiADYCHCAARQRAIAFB2A0oAgA2AqwBDAELIAEoAhwhAAJ/IAEoAqQBBEAgASgCpAEMAQtB1JcBCyECQdWXAUHUlwEgASgCpAEbIQMgASABKAKgATYCCCABIAM2AgQgASACNgIAIABBzZcBIAEQbyABKAKoASABKAIcNgIIIAEgASgCHDYCrAELIAEoAqwBIQAgAUGwAWokACAAC3EBA38CQAJAA0AgACACQdCIAWotAABHBEBB1wAhAyACQQFqIgJB1wBHDQEMAgsLIAIiAw0AQbCJASEADAELQbCJASECA0AgAi0AACEEIAJBAWoiACECIAQNACAAIQIgA0F/aiIDDQALCyABKAIUGiAACzMBAX8gACgCFCIDIAEgAiAAKAIQIANrIgEgASACSxsiARAaGiAAIAAoAhQgAWo2AhQgAguKAQECfyMAQaABayIDJAAgA0EIakG4hwFBkAEQGhogAyAANgI0IAMgADYCHCADQX4gAGsiBEH/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NgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACwYAQfSgAQsGAEHwoAELBgBB6KABC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qELQCIAIgACAEQYH4ACADaxCzAiACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAuLAgACQCAABH8gAUH/AE0NAQJAQZCaASgCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LC0G0nAFBGTYCAEF/BUEBCw8LIAAgAToAAEEBC74CAQF/IwBBwMAAayIDJAAgAyAANgK4QCADIAE2ArRAIAMgAjcDqEACQCADKAK0QBBJQQBIBEAgAygCuEBBCGogAygCtEAQGCADQX82ArxADAELIANBADYCDCADQgA3AxADQAJAIAMgAygCtEAgA0EgakKAwAAQLyICNwMYIAJCAFcNACADKAK4QCADQSBqIAMpAxgQNkEASARAIANBfzYCDAUgAykDGEKAwABSDQIgAygCuEAoAlRFDQIgAykDqEBCAFcNAiADIAMpAxggAykDEHw3AxAgAygCuEAoAlQgAykDELkgAykDqEC5oxBYDAILCwsgAykDGEIAUwRAIAMoArhAQQhqIAMoArRAEBggA0F/NgIMCyADKAK0QBAyGiADIAMoAgw2ArxACyADKAK8QCEAIANBwMAAaiQAIAALqgEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI3AxggAyADKAIoKAIAEDUiAjcDEAJAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoIAMoAiQgAykDGBCRAyICNwMAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoKAIAEDUiAjcDCCACQgBTBEAgA0F/NgIsDAELIANBADYCLAsgAygCLCEAIANBMGokACAAC/4BAQF/IwBBoMAAayICJAAgAiAANgKYQCACIAE3A5BAIAIgAikDkEC6OQMAAkADQCACKQOQQEIAVgRAIAICfkKAwAAgAikDkEBCgMAAVg0AGiACKQOQQAs+AgwgAigCmEAoAgAgAkEQaiACKAIMrSACKAKYQEEIahBhQQBIBEAgAkF/NgKcQAwDCyACKAKYQCACQRBqIAIoAgytEDZBAEgEQCACQX82ApxADAMFIAIgAikDkEAgAjUCDH03A5BAIAIoAphAKAJUIAIrAwAgAikDkEC6oSACKwMAoxBYDAILAAsLIAJBADYCnEALIAIoApxAIQAgAkGgwABqJAAgAAvnEQIBfwF+IwBBoAFrIgMkACADIAA2ApgBIAMgATYClAEgAyACNgKQAQJAIAMoApQBIANBOGoQOUEASARAIAMoApgBQQhqIAMoApQBEBggA0F/NgKcAQwBCyADKQM4QsAAg1AEQCADIAMpAzhCwACENwM4IANBADsBaAsCQAJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQsgAy8BaEUNACADKAKQASADLwFoNgIQDAELAkACQCADKAKQASgCEA0AIAMpAzhCBINQDQAgAyADKQM4QgiENwM4IAMgAykDUDcDWAwBCyADIAMpAzhC9////w+DNwM4CwsgAykDOEKAAYNQBEAgAyADKQM4QoABhDcDOCADQQA7AWoLIANBgAI2AiQCQCADKQM4QgSDUARAIAMgAygCJEGACHI2AiQgA0J/NwNwDAELIAMoApABIAMpA1A3AyggAyADKQNQNwNwAkAgAykDOEIIg1AEQAJAAkACQAJAAkACfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcQ4NAgMDAwMDAwMBAwMDAAMLIANClMLk8w83AxAMAwsgA0KDg7D/DzcDEAwCCyADQv////8PNwMQDAELIANCADcDEAsgAykDUCADKQMQVgRAIAMgAygCJEGACHI2AiQLDAELIAMoApABIAMpA1g3AyALCyADIAMoApgBKAIAEDUiBDcDiAEgBEIAUwRAIAMoApgBQQhqIAMoApgBKAIAEBggA0F/NgKcAQwBCyADKAKQASIAIAAvAQxB9/8DcTsBDCADIAMoApgBIAMoApABIAMoAiQQXiIANgIoIABBAEgEQCADQX82ApwBDAELIAMgAy8BaAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxRzoAIiADIAMtACJBAXEEfyADLwFoQQBHBUEAC0EBcToAISADIAMvAWgEfyADLQAhBUEBC0EBcToAICADIAMtACJBAXEEfyADKAKQASgCEEEARwVBAAtBAXE6AB8gAwJ/QQEgAy0AIkEBcQ0AGkEBIAMoApABKAIAQYABcQ0AGiADKAKQAS8BUiADLwFqRwtBAXE6AB4gAyADLQAeQQFxBH8gAy8BakEARwVBAAtBAXE6AB0gAyADLQAeQQFxBH8gAygCkAEvAVJBAEcFQQALQQFxOgAcIAMgAygClAE2AjQjAEEQayIAIAMoAjQ2AgwgACgCDCIAIAAoAjBBAWo2AjAgAy0AHUEBcQRAIAMgAy8BakEAEHciADYCDCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADLwFqQQAgAygCmAEoAhwgAygCDBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAy0AIUEBcQRAIAMgAygCmAEgAygCNCADLwFoEKsBIgA2AjAgAEUEQCADKAI0EBwgA0F/NgKcAQwCCyADKAI0EBwgAyADKAIwNgI0CyADLQAgQQFxBEAgAyADKAKYASADKAI0QQAQqgEiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtAB9BAXEEQCADIAMoApgBIAMoAjQgAygCkAEoAhAgAygCkAEvAVAQwwIiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtABxBAXEEQCADQQA2AgQCQCADKAKQASgCVARAIAMgAygCkAEoAlQ2AgQMAQsgAygCmAEoAhwEQCADIAMoApgBKAIcNgIECwsgAyADKAKQAS8BUkEBEHciADYCCCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADKAKQAS8BUkEBIAMoAgQgAygCCBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAyADKAKYASgCABA1IgQ3A4ABIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAyADKAKYASADKAI0IAMpA3AQtgI2AiwgAygCNCADQThqEDlBAEgEQCADKAKYAUEIaiADKAI0EBggA0F/NgIsCyADIAMoAjQQvAIiADoAIyAAQRh0QRh1QQBIBEAgAygCmAFBCGogAygCNBAYIANBfzYCLAsgAygCNBAcIAMoAixBAEgEQCADQX82ApwBDAELIAMgAygCmAEoAgAQNSIENwN4IARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAygCmAEoAgAgAykDiAEQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAykDOELkAINC5ABSBEAgAygCmAFBCGpBFEEAEBUgA0F/NgKcAQwBCyADKAKQASgCAEEgcUUEQAJAIAMpAzhCEINCAFIEQCADKAKQASADKAJgNgIUDAELIAMoApABQRRqEAEaCwsgAygCkAEgAy8BaDYCECADKAKQASADKAJkNgIYIAMoApABIAMpA1A3AyggAygCkAEgAykDeCADKQOAAX03AyAgAygCkAEgAygCkAEvAQxB+f8DcSADLQAjQQF0cjsBDCADKAKQASADKAIkQYAIcUEARxCLAyADIAMoApgBIAMoApABIAMoAiQQXiIANgIsIABBAEgEQCADQX82ApwBDAELIAMoAiggAygCLEcEQCADKAKYAUEIakEUQQAQFSADQX82ApwBDAELIAMoApgBKAIAIAMpA3gQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgA0EANgKcAQsgAygCnAEhACADQaABaiQAIAALrwIBAX8jAEEgayICIAA2AhwgAiABNgIYIAJBADYCFCACQgA3AwACQCACKAIcLQAoQQFxRQRAIAIoAhwoAhggAigCHCgCFEYNAQsgAkEBNgIUCyACQgA3AwgDQCACKQMIIAIoAhwpAzBUBEACQAJAIAIoAhwoAkAgAikDCKdBBHRqKAIIDQAgAigCHCgCQCACKQMIp0EEdGotAAxBAXENACACKAIcKAJAIAIpAwinQQR0aigCBEUNASACKAIcKAJAIAIpAwinQQR0aigCBCgCAEUNAQsgAkEBNgIUCyACKAIcKAJAIAIpAwinQQR0ai0ADEEBcUUEQCACIAIpAwBCAXw3AwALIAIgAikDCEIBfDcDCAwBCwsgAigCGARAIAIoAhggAikDADcDAAsgAigCFAuMEAMCfwF+AXwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIAEgASgCWCABQUBrELoCNgIkIAEpA0BQBEACQCABKAJYKAIEQQhxRQRAIAEoAiRFDQELIAEoAlgoAgAQhQJBAEgEQAJAAn8jAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCAEEWRgsEQCMAQRBrIgIgASgCWCgCADYCDCMAQRBr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OgAfCyADLQAfQQFxIQAgA0EgaiQAIAALkAEBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCDYCBAJAIAEoAgQtAARBAXEEQCABIAEoAgRBEGoQsgE2AgAMAQsgASABKAIEQRBqEM4CNgIACwJAIAEoAgAEQCABKAIEKAIAQQ0gASgCABAVIAFBADoADwwBCyABQQE6AA8LIAEtAA9BAXEhACABQRBqJAAgAAvAAQEBfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEIAEoAgRBADYCFCABKAIEQQA2AhAgASgCBEEANgIgIAEoAgRBADYCHAJAIAEoAgQtAARBAXEEQCABIAEoAgRBEGogASgCBCgCCBDiAjYCAAwBCyABIAEoAgRBEGoQ0wI2AgALAkAgASgCAARAIAEoAgQoAgBBDSABKAIAEBUgAUEAOgAPDAELIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC28BAX8jAEEQayIBIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcUUEQCABQQA2AgwMAQsgASgCBCgCCEEDSARAIAFBAjYCDAwBCyABKAIEKAIIQQdKBEAgAUEBNgIMDAELIAFBADYCDAsgASgCDAssAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggASgCCBAWIAFBEGokAAs8AQF/IwBBEGsiAyQAIAMgADsBDiADIAE2AgggAyACNgIEQQEgAygCCCADKAIEEK8BIQAgA0EQaiQAIAALmQEBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCBBLBEAgAUF+NgIMDAELIAEgASgCCCgCHDYCBCABKAIEKAI4BEAgASgCCCgCKCABKAIEKAI4IAEoAggoAiQRBAALIAEoAggoAiggASgCCCgCHCABKAIIKAIkEQQAIAEoAghBADYCHCABQQA2AgwLIAEoAgwhACABQRBqJAAgAAudBAEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIAMoAhgoAhw2AgwCQCADKAIMKAI4RQRAIAMoAhgoAihBASADKAIMKAIodEEBIAMoAhgoAiARAQAhACADKAIMIAA2AjggAygCDCgCOEUEQCADQQE2AhwMAgsLIAMoAgwoAixFBEAgAygCDEEBIAMoAgwoAih0NgIsIAMoAgxBADYCNCADKAIMQQA2AjALAkAgAygCECADKAIMKAIsTwRAIAMoAgwoAjggAygCFCADKAIMKAIsayADKAIMKAIsEBoaIAMoAgxBADYCNCADKAIMIAMoAgwoAiw2AjAMAQsgAyADKAIMKAIsIAMoAgwoAjRrNgIIIAMoAgggAygCEEsEQCADIAMoAhA2AggLIAMoAgwoAjggAygCDCgCNGogAygCFCADKAIQayADKAIIEBoaIAMgAygCECADKAIIazYCEAJAIAMoAhAEQCADKAIMKAI4IAMoAhQgAygCEGsgAygCEBAaGiADKAIMIAMoAhA2AjQgAygCDCADKAIMKAIsNgIwDAELIAMoAgwiACADKAIIIAAoAjRqNgI0IAMoAgwoAjQgAygCDCgCLEYEQCADKAIMQQA2AjQLIAMoAgwoAjAgAygCDCgCLEkEQCADKAIMIgAgAygCCCAAKAIwajYCMAsLCyADQQA2AhwLIAMoAhwhACADQSBqJAAgAAsYAQF/IwBBEGsiASAANgIMIAEoAgxBDGoLPAEBfyMAQRBrIgEgADYCDCABKAIMQZDyADYCUCABKAIMQQk2AlggASgCDEGQggE2AlQgASgCDEEFNgJcC5ZPAQR/IwBB4ABrIgEkACABIAA2AlggAUECNgJUAkACQAJAIAEoAlgQSw0AIAEoAlgoAgxFDQAgASgCWCgCAA0BIAEoAlgoAgRFDQELIAFBfjYCXAwBCyABIAEoAlgoAhw2AlAgASgCUCgCBEG//gBGBEAgASgCUEHA/gA2AgQLIAEgASgCWCgCDDYCSCABIAEoAlgoAhA2AkAgASABKAJYKAIANgJMIAEgASgCWCgCBDYCRCABIAEoAlAoAjw2AjwgASABKAJQKAJANgI4IAEgASgCRDYCNCABIAEoAkA2AjAgAUEANgIQA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCUCgCBEHMgX9qDh8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwsgASgCUCgCDEUEQCABKAJQQcD+ADYCBAwhCwNAIAEoAjhBEEkEQCABKAJERQ0hIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEoAlAoAgxBAnFFDQAgASgCPEGflgJHDQAgASgCUCgCKEUEQCABKAJQQQ82AigLQQBBAEEAEBshACABKAJQIAA2AhwgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAbIQAgASgCUCAANgIcIAFBADYCPCABQQA2AjggASgCUEG1/gA2AgQMIQsgASgCUEEANgIUIAEoAlAoAiQEQCABKAJQKAIkQX82AjALAkAgASgCUCgCDEEBcQRAIAEoAjxB/wFxQQh0IAEoAjxBCHZqQR9wRQ0BCyABKAJYQbbuADYCGCABKAJQQdH+ADYCBAwhCyABKAI8QQ9xQQhHBEAgASgCWEHN7gA2AhggASgCUEHR/gA2AgQMIQsgASABKAI8QQR2NgI8IAEgASgCOEEEazYCOCABIAEoAjxBD3FBCGo2AhQgASgCUCgCKEUEQCABKAJQIAEoAhQ2AigLAkAgASgCFEEPTQRAIAEoAhQgASgCUCgCKE0NAQsgASgCWEHo7gA2AhggASgCUEHR/gA2AgQMIQsgASgCUEEBIAEoAhR0NgIYQQBBAEEAED4hACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBvf4AQb/+ACABKAI8QYAEcRs2AgQgAUEANgI8IAFBADYCOAwgCwNAIAEoAjhBEEkEQCABKAJERQ0gIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjw2AhQgASgCUCgCFEH/AXFBCEcEQCABKAJYQc3uADYCGCABKAJQQdH+ADYCBAwgCyABKAJQKAIUQYDAA3EEQCABKAJYQfzuADYCGCABKAJQQdH+ADYCBAwgCyABKAJQKAIkBEAgASgCUCgCJCABKAI8QQh2QQFxNgIACwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAbIQAgASgCUCAANgIcCyABQQA2AjwgAUEANgI4IAEoAlBBtv4ANgIECwNAIAEoAjhBIEkEQCABKAJERQ0fIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQKAIkBEAgASgCUCgCJCABKAI8NgIECwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABIAEoAjxBEHY6AA4gASABKAI8QRh2OgAPIAEoAlAoAhwgAUEMakEEEBshACABKAJQIAA2AhwLIAFBADYCPCABQQA2AjggASgCUEG3/gA2AgQLA0AgASgCOEEQSQRAIAEoAkRFDR4gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAoAiQEQCABKAJQKAIkIAEoAjxB/wFxNgIIIAEoAlAoAiQgASgCPEEIdjYCDAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASgCUCgCHCABQQxqQQIQGyEAIAEoAlAgADYCHAsgAUEANgI8IAFBADYCOCABKAJQQbj+ADYCBAsCQCABKAJQKAIUQYAIcQRAA0AgASgCOEEQSQRAIAEoAkRFDR8gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAgASgCPDYCRCABKAJQKAIkBEAgASgCUCgCJCABKAI8NgIUCwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAbIQAgASgCUCAANgIcCyABQQA2AjwgAUEANgI4DAELIAEoAlAoAiQEQCABKAJQKAIkQQA2AhALCyABKAJQQbn+ADYCBAsgASgCUCgCFEGACHEEQCABIAEoAlAoAkQ2AiwgASgCLCABKAJESwRAIAEgASgCRDYCLAsgASgCLARAAkAgASgCUCgCJEUNACABKAJQKAIkKAIQRQ0AIAEgASgCUCgCJCgCFCABKAJQKAJEazYCFCABKAJQKAIkKAIQIAEoAhRqIAEoAkwCfyABKAIUIAEoAixqIAEoAlAoAiQoAhhLBEAgASgCUCgCJCgCGCABKAIUawwBCyABKAIsCxAaGgsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEoAlAoAhwgASgCTCABKAIsEBshACABKAJQIAA2AhwLIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASgCUCIAIAAoAkQgASgCLGs2AkQLIAEoAlAoAkQNGwsgASgCUEEANgJEIAEoAlBBuv4ANgIECwJAIAEoAlAoAhRBgBBxBEAgASgCREUNGyABQQA2AiwDQCABKAJMIQAgASABKAIsIgJBAWo2AiwgASAAIAJqLQAANgIUAkAgASgCUCgCJEUNACABKAJQKAIkKAIcRQ0AIAEoAlAoAkQgASgCUCgCJCgCIE8NACABKAIUIQIgASgCUCgCJCgCHCEDIAEoAlAiBCgCRCEAIAQgAEEBajYCRCAAIANqIAI6AAALIAEoAhQEfyABKAIsIAEoAkRJBUEAC0EBcQ0ACwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASgCUCgCHCABKAJMIAEoAiwQGyEAIAEoAlAgADYCHAsgASABKAJEIAEoAixrNgJEIAEgASgCLCABKAJMajYCTCABKAIUDRsMAQsgASgCUCgCJARAIAEoAlAoAiRBADYCHAsLIAEoAlBBADYCRCABKAJQQbv+ADYCBAsCQCABKAJQKAIUQYAgcQRAIAEoAkRFDRogAUEANgIsA0AgASgCTCEAIAEgASgCLCICQQFqNgIsIAEgACACai0AADYCFAJAIAEoAlAoAiRFDQAgASgCUCgCJCgCJEUNACABKAJQKAJEIAEoAlAoAiQoAihPDQAgASgCFCECIAEoAlAoAiQoAiQhAyABKAJQIgQoAkQhACAEIABBAWo2AkQgACADaiACOgAACyABKAIUBH8gASgCLCABKAJESQVBAAtBAXENAAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEoAlAoAhwgASgCTCABKAIsEBshACABKAJQIAA2AhwLIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASgCFA0aDAELIAEoAlAoAiQEQCABKAJQKAIkQQA2AiQLCyABKAJQQbz+ADYCBAsgASgCUCgCFEGABHEEQANAIAEoAjhBEEkEQCABKAJERQ0aIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEoAlAoAgxBBHFFDQAgASgCPCABKAJQKAIcQf//A3FGDQAgASgCWEGV7wA2AhggASgCUEHR/gA2AgQMGgsgAUEANgI8IAFBADYCOAsgASgCUCgCJARAIAEoAlAoAiQgASgCUCgCFEEJdUEBcTYCLCABKAJQKAIkQQE2AjALQQBBAEEAEBshACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBv/4ANgIEDBgLA0AgASgCOEEgSQRAIAEoAkRFDRggASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAgASgCPEEIdkGA/gNxIAEoAjxBGHZqIAEoAjxBgP4DcUEIdGogASgCPEH/AXFBGHRqIgA2AhwgASgCWCAANgIwIAFBADYCPCABQQA2AjggASgCUEG+/gA2AgQLIAEoAlAoAhBFBEAgASgCWCABKAJINgIMIAEoAlggASgCQDYCECABKAJYIAEoAkw2AgAgASgCWCABKAJENgIEIAEoAlAgASgCPDYCPCABKAJQIAEoAjg2AkAgAUECNgJcDBgLQQBBAEEAED4hACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBv/4ANgIECyABKAJUQQVGDRQgASgCVEEGRg0UCyABKAJQKAIIBEAgASABKAI8IAEoAjhBB3F2NgI8IAEgASgCOCABKAI4QQdxazYCOCABKAJQQc7+ADYCBAwVCwNAIAEoAjhBA0kEQCABKAJERQ0VIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjxBAXE2AgggASABKAI8QQF2NgI8IAEgASgCOEEBazYCOAJAAkACQAJAAkAgASgCPEEDcQ4EAAECAwQLIAEoAlBBwf4ANgIEDAMLIAEoAlAQ0QIgASgCUEHH/gA2AgQgASgCVEEGRgRAIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMFwsMAgsgASgCUEHE/gA2AgQMAQsgASgCWEGp7wA2AhggASgCUEHR/gA2AgQLIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMFAsgASABKAI8IAEoAjhBB3F2NgI8IAEgASgCOCABKAI4QQdxazYCOANAIAEoAjhBIEkEQCABKAJERQ0UIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAI8Qf//A3EgASgCPEEQdkH//wNzRwRAIAEoAlhBvO8ANgIYIAEoAlBB0f4ANgIEDBQLIAEoAlAgASgCPEH//wNxNgJEIAFBADYCPCABQQA2AjggASgCUEHC/gA2AgQgASgCVEEGRg0SCyABKAJQQcP+ADYCBAsgASABKAJQKAJENgIsIAEoAiwEQCABKAIsIAEoAkRLBEAgASABKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABKAIsRQ0RIAEoAkggASgCTCABKAIsEBoaIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASABKAJAIAEoAixrNgJAIAEgASgCLCABKAJIajYCSCABKAJQIgAgACgCRCABKAIsazYCRAwSCyABKAJQQb/+ADYCBAwRCwNAIAEoAjhBDkkEQCABKAJERQ0RIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjxBH3FBgQJqNgJkIAEgASgCPEEFdjYCPCABIAEoAjhBBWs2AjggASgCUCABKAI8QR9xQQFqNgJoIAEgASgCPEEFdjYCPCABIAEoAjhBBWs2AjggASgCUCABKAI8QQ9xQQRqNgJgIAEgASgCPEEEdjYCPCABIAEoAjhBBGs2AjgCQCABKAJQKAJkQZ4CTQRAIAEoAlAoAmhBHk0NAQsgASgCWEHZ7wA2AhggASgCUEHR/gA2AgQMEQsgASgCUEEANgJsIAEoAlBBxf4ANgIECwNAIAEoAlAoAmwgASgCUCgCYEkEQANAIAEoAjhBA0kEQCABKAJERQ0SIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAI8QQdxIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdEGQ7gBqLwEAQQF0IANqIAI7AQAgASABKAI8QQN2NgI8IAEgASgCOEEDazYCOAwBCwsDQCABKAJQKAJsQRNJBEAgASgCUEH0AGohAiABKAJQIgMoAmwhACADIABBAWo2AmwgAEEBdEGQ7gBqLwEAQQF0IAJqQQA7AQAMAQsLIAEoAlAgASgCUEG0Cmo2AnAgASgCUCABKAJQKAJwNgJQIAEoAlBBBzYCWCABQQAgASgCUEH0AGpBEyABKAJQQfAAaiABKAJQQdgAaiABKAJQQfQFahByNgIQIAEoAhAEQCABKAJYQf3vADYCGCABKAJQQdH+ADYCBAwQCyABKAJQQQA2AmwgASgCUEHG/gA2AgQLA0ACQCABKAJQKAJsIAEoAlAoAmQgASgCUCgCaGpPDQADQAJAIAEgASgCUCgCUCABKAI8QQEgASgCUCgCWHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNESABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABLwEiQRBIBEAgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABLwEiIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdCADaiACOwEADAELAkAgAS8BIkEQRgRAA0AgASgCOCABLQAhQQJqSQRAIAEoAkRFDRQgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCgCbEUEQCABKAJYQZbwADYCGCABKAJQQdH+ADYCBAwECyABIAEoAlAgASgCUCgCbEEBdGovAXI2AhQgASABKAI8QQNxQQNqNgIsIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMAQsCQCABLwEiQRFGBEADQCABKAI4IAEtACFBA2pJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8QQdxQQNqNgIsIAEgASgCPEEDdjYCPCABIAEoAjhBA2s2AjgMAQsDQCABKAI4IAEtACFBB2pJBEAgASgCREUNFCABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8Qf8AcUELajYCLCABIAEoAjxBB3Y2AjwgASABKAI4QQdrNgI4CwsgASgCUCgCbCABKAIsaiABKAJQKAJkIAEoAlAoAmhqSwRAIAEoAlhBlvAANgIYIAEoAlBB0f4ANgIEDAILA0AgASABKAIsIgBBf2o2AiwgAARAIAEoAhQhAiABKAJQQfQAaiEDIAEoAlAiBCgCbCEAIAQgAEEBajYCbCAAQQF0IANqIAI7AQAMAQsLCwwBCwsgASgCUCgCBEHR/gBGDQ4gASgCUC8B9ARFBEAgASgCWEGw8AA2AhggASgCUEHR/gA2AgQMDwsgASgCUCABKAJQQbQKajYCcCABKAJQIAEoAlAoAnA2AlAgASgCUEEJNgJYIAFBASABKAJQQfQAaiABKAJQKAJkIAEoAlBB8ABqIAEoAlBB2ABqIAEoAlBB9AVqEHI2AhAgASgCEARAIAEoAlhB1fAANgIYIAEoAlBB0f4ANgIEDA8LIAEoAlAgASgCUCgCcDYCVCABKAJQQQY2AlwgAUECIAEoAlBB9ABqIAEoAlAoAmRBAXRqIAEoAlAoAmggASgCUEHwAGogASgCUEHcAGogASgCUEH0BWoQcjYCECABKAIQBEAgASgCWEHx8AA2AhggASgCUEHR/gA2AgQMDwsgASgCUEHH/gA2AgQgASgCVEEGRg0NCyABKAJQQcj+ADYCBAsCQCABKAJEQQZJDQAgASgCQEGCAkkNACABKAJYIAEoAkg2AgwgASgCWCABKAJANgIQIAEoAlggASgCTDYCACABKAJYIAEoAkQ2AgQgASgCUCABKAI8NgI8IAEoAlAgASgCODYCQCABKAJYIAEoAjAQ1wIgASABKAJYKAIMNgJIIAEgASgCWCgCEDYCQCABIAEoAlgoAgA2AkwgASABKAJYKAIENgJEIAEgASgCUCgCPDYCPCABIAEoAlAoAkA2AjggASgCUCgCBEG//gBGBEAgASgCUEF/NgLINwsMDQsgASgCUEEANgLINwNAAkAgASABKAJQKAJQIAEoAjxBASABKAJQKAJYdEEBa3FBAnRqKAEANgEgIAEtACEgASgCOE0NACABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEtACBFDQAgAS0AIEHwAXENACABIAEoASA2ARgDQAJAIAEgASgCUCgCUCABLwEaIAEoAjxBASABLQAZIAEtABhqdEEBa3EgAS0AGXZqQQJ0aigBADYBICABLQAZIAEtACFqIAEoAjhNDQAgASgCREUNDiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtABl2NgI8IAEgASgCOCABLQAZazYCOCABKAJQIgAgAS0AGSAAKALIN2o2Asg3CyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAEoAlAiACABLQAhIAAoAsg3ajYCyDcgASgCUCABLwEiNgJEIAEtACBFBEAgASgCUEHN/gA2AgQMDQsgAS0AIEEgcQRAIAEoAlBBfzYCyDcgASgCUEG//gA2AgQMDQsgAS0AIEHAAHEEQCABKAJYQYfxADYCGCABKAJQQdH+ADYCBAwNCyABKAJQIAEtACBBD3E2AkwgASgCUEHJ/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCRCABKAI8QQEgASgCUCgCTHRBAWtxajYCRCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACABKAJQKAJMIAAoAsg3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UCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AiggAigCKCACKAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLCyACIAIoAgQgAigCLEEBIAIoAgx0QQFrcWo2AgQgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAIoAkggAigCRGs2AgwCQCACKAIEIAIoAgxLBEAgAiACKAIEIAIoAgxrNgIMIAIoAgwgAigCOEsEQCACKAJUKALENwRAIAIoAlxBsO0ANgIYIAIoAlRB0f4ANgIEDAoLCyACIAIoAjA2AgACQCACKAI0RQRAIAIgAigCACACKAI8IAIoAgxrajYCACACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCSCACKAIEazYCAAsMAQsCQCACKAI0IAIoAgxJBEAgAiACKAIAIAIoAjwgAigCNGogAigCDGtqNgIAIAIgAigCDCACKAI0azYCDCACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCMDYCACACKAI0IAIoAghJBEAgAiACKAI0NgIMIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwwBCyACIAIoAgAgAigCNCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwsDQCACKAIIQQJNRQRAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCAwBCwsMAQsgAiACKAJIIAIoAgRrNgIAA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIIQQNrNgIIIAIoAghBAksNAAsLIAIoAggEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIoAghBAUsEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAACwsMAgsgAigCDEHAAHFFBEAgAkEQaiACKAIgIAIvARIgAigCLEEBIAIoAgx0QQFrcWpBAnRqKAEANgEADAELCyACKAJcQc7tADYCGCACKAJUQdH+ADYCBAwECwwCCyACKAIMQcAAcUUEQCACQRBqIAIoAiQgAi8BEiACKAIsQQEgAigCDHRBAWtxakECdGooAQA2AQAMAQsLIAIoAgxBIHEEQCACKAJUQb/+ADYCBAwCCyACKAJcQeTtADYCGCACKAJUQdH+ADYCBAwBC0EAIQAgAigCUCACKAJMSQR/IAIoAkggAigCQEkFQQALQQFxDQELCyACIAIoAihBA3Y2AgggAiACKAJQIAIoAghrNgJQIAIgAigCKCACKAIIQQN0azYCKCACIAIoAixBASACKAIodEEBa3E2AiwgAigCXCACKAJQNgIAIAIoAlwgAigCSDYCDCACKAJcAn8gAigCUCACKAJMSQRAIAIoAkwgAigCUGtBBWoMAQtBBSACKAJQIAIoAkxraws2AgQgAigCXAJ/IAIoAkggAigCQEkEQCACKAJAIAIoAkhrQYECagwBC0GBAiACKAJIIAIoAkBraws2AhAgAigCVCACKAIsNgI8IAIoAlQgAigCKDYCQAvBEAECfyMAQSBrIgIkACACIAA2AhggAiAB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Ai8BEDsBACACLQATIQEgAigCKCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BEEF/ajsBECACKAIoIAItABNBgNkAai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIoQYgTagJ/IAIvARBBgAJIBEAgAi8BEC0AgFUMAQsgAi8BEEEHdUGAAmotAIBVC0ECdGoiACAALwEAQQFqOwEAIAIgAigCKCgCoC0gAigCKCgCnC1BAWtGNgIgIAIoAigiACAAKAJ0IAIoAigoAmBrNgJ0IAIoAigiACACKAIoKAJgIAAoAmxqNgJsIAIoAihBADYCYAwBCyACIAIoAigiACgCOCAAKAJsai0AADoADyACKAIoIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAA8hASACKAIoIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCKCACLQAPQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdEF/ajYCdCACKAIoIgAgACgCbEEBajYCbAsgAigCIARAIAIoAigCfyACKAIoKAJcQQBOBEAgAigCKCgCOCACKAIoKAJcagwBC0EACyACKAIoKAJsIAIoAigoAlxrQQAQKSACKAIoIAIoAigoAmw2AlwgAigCKCgCABAdIAIoAigoAgAoAhBFBEAgAkEANgIsDAQLCwwBCwsgAigCKEEANgK0LSACKAIkQQRGBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBARApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQI2AiwMAgsgAkEDNgIsDAELIAIoAigoAqAtBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBABApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQA2AiwMAgsLIAJBATYCLAsgAigCLCEAIAJBMGokACAAC8AFAQJ/IwBBIGsiAiQAIAIgADYCGCACIAE2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EB0gAigCLCgCGEEASgRAIAIoAixBACACKAIsKAIYazYCGAsgAkEAQQEgAigCLCgCFBs2AjwLIAIoAjwhACACQUBrJAAgAAuOAgEBfyMAQSBrIgEgADYCHCABIAEoAhwoAiw2AgwgASABKAIcKAJMNgIYIAEgASgCHCgCRCABKAIYQQF0ajYCEANAIAEgASgCEEF+aiIANgIQIAEgAC8BADYCFCABKAIQAn8gASgCFCABKAIMTwRAIAEoAhQgASgCDGsMAQtBAAs7AQAgASABKAIYQX9qIgA2AhggAA0ACyABIAEoAgw2AhggASABKAIcKAJAIAEoAhhBAXRqNgIQA0AgASABKAIQQX5qIgA2AhAgASAALwEANgIUIAEoAhACfyABKAIUIAEoAgxPBEAgASgCFCABKAIMawwBC0EACzsBACABIAEoAhhBf2oiADYCGCAADQALC0UAQaCcAUIANwMAQZicAUIANwMAQZCcAUIANwMAQYicAUIANwMAQYCcAUIANwMAQfibAUIANwMAQfCbAUIANwMAQfCbAQuoAgEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMKAIsQQF0NgI8IAEoAgwoAkQgASgCDCgCTEEBa0EBdGpBADsBACABKAIMKAJEQQAgASgCDCgCTEEBa0EBdBAzIAEoAgwgASgCDCgChAFBDGxBsOoAai8BAjYCgAEgASgCDCABKAIMKAKEAUEMbEGw6gBqLwEANgKMASABKAIMIAEoAgwoAoQBQQxsQbDqAGovAQQ2ApABIAEoAgwgASgCDCgChAFBDGxBsOoAai8BBjYCfCABKAIMQQA2AmwgASgCDEEANgJcIAEoAgxBADYCdCABKAIMQQA2ArQtIAEoAgxBAjYCeCABKAIMQQI2AmAgASgCDEEANgJoIAEoAgxBADYCSCABQRBqJAALmwIBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCBB0BEAgAUF+NgIMDAELIAEoAghBADYCFCABKAIIQQA2AgggASgCCEEANgIYIAEoAghBAjYCLCABIAEoAggoAhw2AgQgASgCBEEANgIUIAEoAgQgASgCBCgCCDYCECABKAIEKAIYQQBIBEAgASgCBEEAIAEoAgQoAhhrNgIYCyABKAIEAn9BOSABKAIEKAIYQQJGDQAaQSpB8QAgASgCBCgC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KAIMQfwUajYCsBYgASgCDEGo2wA2ArgWIAEoAgxBADsBuC0gASgCDEEANgK8LSABKAIMELkBIAFBEGokAAvXDQEBfyMAQSBrIgMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGEEQdjYCDCADIAMoAhhB//8DcTYCGAJAIAMoAhBBAUYEQCADIAMoAhQtAAAgAygCGGo2AhggAygCGEHx/wNPBEAgAyADKAIYQfH/A2s2AhgLIAMgAygCGCADKAIMajYCDCADKAIMQfH/A08EQCADIAMoAgxB8f8DazYCDAsgAyADKAIYIAMoAgxBEHRyNgIcDAELIAMoAhRFBEAgA0EBNgIcDAELIAMoAhBBEEkEQANAIAMgAygCECIAQX9qNgIQIAAEQCADIAMoAhQiAEEBajYCFCADIAAtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMDAELCyADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIMQfH/A3A2AgwgAyADKAIYIAMoAgxBEHRyNgIcDAELA0AgAygCEEGwK0lFBEAgAyADKAIQQbArazYCECADQdsCNgIIA0AgAyADKAIULQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAEgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AAiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQADIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAQgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAGIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAcgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAJIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAogAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAMIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA0gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAPIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhRBEGo2AhQgAyADKAIIQX9qIgA2AgggAA0ACyADIAMoAhhB8f8DcDYCGCADIAMoAgxB8f8DcDYCDAwBCwsgAygCEARAA0AgAygCEEEQSUUEQCADIAMoAhBBEGs2AhAgAyADKAIULQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAEgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AAiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQADIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAQgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAGIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAcgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAJIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAogAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAMIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA0gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAPIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhRBEGo2AhQMAQsLA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMCyADIAMoAhggAygCDEEQdHI2AhwLIAMoAhwLKQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAggQFiACQRBqJAALOgEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIIIAMoAgRsEBkhACADQRBqJAAgAAu9BwEJfyAAKAIEIgdBA3EhAiAAIAdBeHEiBmohBAJAQcicASgCACIFIABLDQAgAkEBRg0ACwJAIAJFBEBBACECIAFBgAJJDQEgBiABQQRqTwRAIAAhAiAGIAFrQZigASgCAEEBdE0NAgtBAA8LAkAgBiABTwRAIAYgAWsiAkEQSQ0BIAAgB0EBcSABckECcjYCBCAAIAFqIgEgAkEDcjYCBCAEIAQoAgRBAXI2AgQgASACELYBDAELQQAhAiAEQdCcASgCAEYEQEHEnAEoAgAgBmoiBSABTQ0CIAAgB0EBcSABckECcjYCBCAAIAFqIgIgBSABayIBQQFyNgIEQcScASABNgIAQdCcASACNgIADAELIARBzJwBKAIARgRAQcCcASgCACAGaiIFIAFJDQICQCAFIAFrIgJBEE8EQCAAIAdBAXEgAXJBAnI2AgQgACABaiIBIAJBAXI2AgQgACAFaiIFIAI2AgAgBSAFKAIEQX5xNgIEDAELIAAgB0EBcSAFckECcjYCBCAAIAVqIgEgASgCBEEBcjYCBEEAIQJBACEBC0HMnAEgATYCAEHAnAEgAjYCAAwBCyAEKAIEIgNBAnENASADQXhxIAZqIgkgAUkNASAJIAFrIQoCQCADQf8BTQRAIAQoAggiBiADQQN2IgVBA3RB4JwBakcaIAYgBCgCDCIIRgRAQbicAUG4nAEoAgBBfiAFd3E2AgAMAgsgBiAINgIMIAggBjYCCAwBCyAEKAIYIQgCQCAEIAQoAgwiA0cEQCAFIAQoAggiAk0EQCACKAIMGgsgAiADNgIMIAMgAjYCCAwBCwJAIARBFGoiAigCACIGDQAgBEEQaiICKAIAIgYNAEEAIQMMAQsDQCACIQUgBiIDQRRqIgIoAgAiBg0AIANBEGohAiADKAIQIgYNAAsgBUEANgIACyAIRQ0AAkAgBCAEKAIcIgVBAnRB6J4BaiICKAIARgRAIAIgAzYCACADDQFBvJwBQbycASgCAEF+IAV3cTYCAAwCCyAIQRBBFCAIKAIQIARGG2ogAzYCACADRQ0BCyADIAg2AhggBCgCECICBEAgAyACNgIQIAIgAzYCGAsgBCgCFCICRQ0AIAMgAjYCFCACIAM2AhgLIApBD00EQCAAIAdBAXEgCXJBAnI2AgQgACAJaiIBIAEoAgRBAXI2AgQMAQsgACAHQQFxIAFyQQJyNgIEIAAgAWoiAiAKQQNyNgIEIAAgCWoiASABKAIEQQFyNgIEIAIgChC2AQsgACECCyACC4QCAgF/AX4jAEHgAGsiAiQAIAIgADYCWCACIAE2AlQgAiACKAJYIAJByABqQgwQLyIDNwMIAkAgA0IAUwRAIAIoAlQgAigCWBAYIAJBfzYCXAwBCyACKQMIQgxSBEAgAigCVEERQQAQFSACQX82AlwMAQsgAigCVCACQcgAaiIAIABCDEEAEHggAigCWCACQRBqEDlBAEgEQCACQQA2AlwMAQsgAigCOCACQQZqIAJBBGoQwwECQCACLQBTIAIoAjxBGHZGDQAgAi0AUyACLwEGQQh1Rg0AIAIoAlRBG0EAEBUgAkF/NgJcDAELIAJBADYCXAsgAigCXCEAIAJB4ABqJAAgAAvKAwEBfyMAQdAAayIFJAAgBSAANgJEIAUgATYCQCAFIAI2AjwgBSADNwMwIAUgBDYCLCAFIAUoAkA2AigCQAJAAkACQAJAAkACQAJAAkAgBSgCLA4PAAECAwUGBwcHBwcHBwcEBwsgBSgCRCAFKAIoEPACQQBIBEAgBUJ/NwNIDAgLIAVCADcDSAwHCyAFIAUoAkQgBSgCPCAFKQMwEC8iAzcDICADQgBTBEAgBSgCKCAFKAJEEBggBUJ/NwNIDAcLIAUoAkAgBSgCPCAFKAI8IAUpAyBBABB4IAUgBSkDIDcDSAwGCyAFQgA3A0gMBQsgBSAFKAI8NgIcIAUoAhxBADsBMiAFKAIcIgAgACkDAEKAAYQ3AwAgBSgCHCkDAEIIg0IAUgRAIAUoAhwiACAAKQMgQgx9NwMgCyAFQgA3A0gMBAsgBUF/NgIUIAVBBTYCECAFQQQ2AgwgBUEDNgIIIAVBAjYCBCAFQQE2AgAgBUEAIAUQNzcDSAwDCyAFIAUoAiggBSgCPCAFKQMwEEI3A0gMAgsgBSgCKBC6ASAFQgA3A0gMAQsgBSgCKEESQQAQFSAFQn83A0gLIAUpA0ghAyAFQdAAaiQAIAML7gIBAX8jAEEgayIFJAAgBSAANgIYIAUgATYCFCAFIAI7ARIgBSADNgIMIAUgBDYCCAJAAkACQCAFKAIIRQ0AIAUoAhRFDQAgBS8BEkEBRg0BCyAFKAIYQQhqQRJBABAVIAVBADYCHAwBCyAFKAIMQQFxBEAgBSgCGEEIakEYQQAQFSAFQQA2AhwMAQsgBUEYEBkiADYCBCAARQRAIAUoAhhBCGpBDkEAEBUgBUEANgIcDAELIwBBEGsiACAFKAIENgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAUoAgRB+KzRkQE2AgwgBSgCBEGJz5WaAjYCECAFKAIEQZDx2aIDNgIUIAUoAgRBACAFKAIIIAUoAggQLK1BARB4IAUgBSgCGCAFKAIUQQMgBSgCBBBkIgA2AgAgAEUEQCAFKAIEELoBIAVBADYCHAwBCyAFIAUoAgA2AhwLIAUoAhwhACAFQSBqJAAgAAvoBgEBfyMAQeAAayIEJAAgBCAANgJUIAQgATYCUCAEIAI3A0ggBCADNgJEAkAgBCgCVCkDOCAEKQNIfEKAgAR8QgF9IAQpA0hUBEAgBCgCREESQQAQFSAEQn83A1gMAQsgBCAEKAJUKAIEIAQoAlQpAwinQQN0aikDADcDICAEKAJUKQM4IAQpA0h8IAQpAyBWBEAgBCAEKAJUKQMIIAQpA0ggBCkDICAEKAJUKQM4fX1CgIAEfEIBfUIQiHw3AxggBCkDGCAEKAJUKQMQVgRAIAQgBCgCVCkDEDcDECAEKQMQUARAIARCEDcDEAsDQCAEKQMQIAQpAxhaRQRAIAQgBCkDEEIBhjcDEAwBCwsgBCgCVCAEKQMQIAQoAkQQvQFBAXFFBEAgBCgCREEOQQAQFSAEQn83A1gMAwsLA0AgBCgCVCkDCCAEKQMYVARAQYCABBAZIQAgBCgCVCgCACAEKAJUKQMIp0EEdGogADYCACAABEAgBCgCVCgCACAEKAJUKQMIp0EEdGpCgIAENwMIIAQoAlQiACAAKQMIQgF8NwMIIAQgBCkDIEKAgAR8NwMgIAQoAlQoAgQgBCgCVCkDCKdBA3RqIAQpAyA3AwAMAgUgBCgCREEOQQAQFSAEQn83A1gMBAsACwsLIAQgBCgCVCkDQDcDMCAEIAQoAlQpAzggBCgCVCgCBCAEKQMwp0EDdGopAwB9NwMoIARCADcDOANAIAQpAzggBCkDSFQEQCAEAn4gBCkDSCAEKQM4fSAEKAJUKAIAIAQpAzCnQQR0aikDCCAEKQMofVQEQCAEKQNIIAQpAzh9DAELIAQoAlQoAgAgBCkDMKdBBHRqKQMIIAQpAyh9CzcDCCAEKAJUKAIAIAQpAzCnQQR0aigCACAEKQMop2ogBCgCUCAEKQM4p2ogBCkDCKcQGhogBCkDCCAEKAJUKAIAIAQpAzCnQQR0aikDCCAEKQMofVEEQCAEIAQpAzBCAXw3AzALIAQgBCkDCCAEKQM4fDcDOCAEQgA3AygMAQsLIAQoAlQiACAEKQM4IAApAzh8NwM4IAQoAlQgBCkDMDcDQCAEKAJUKQM4IAQoAlQpAzBWBEAgBCgCVCAEKAJUKQM4NwMwCyAEIAQpAzg3A1gLIAQpA1ghAiAEQeAAaiQAIAIL5wMBAX8jAEFAaiIDJAAgAyAANgI0IAMgATYCMCADIAI3AyggAwJ+IAMpAyggAygCNCkDMCADKAI0KQM4fVQEQCADKQMoDAELIAMoAjQpAzAgAygCNCkDOH0LNwMoAkAgAykDKFAEQCADQgA3AzgMAQsgAykDKEL///////////8AVgRAIANCfzcDOAwBCyADIAMoAjQpA0A3AxggAyADKAI0KQM4IAMoAjQoAgQgAykDGKdBA3RqKQMAfTcDECADQgA3AyADQCADKQMgIAMpAyhUBEAgAwJ+IAMpAyggAykDIH0gAygCNCgCACADKQMYp0EEdGopAwggAykDEH1UBEAgAykDKCADKQMgfQwBCyADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfQs3AwggAygCMCADKQMgp2ogAygCNCgCACADKQMYp0EEdGooAgAgAykDEKdqIAMpAwinEBoaIAMpAwggAygCNCgCACADKQMYp0EEdGopAwggAykDEH1RBEAgAyADKQMYQgF8NwMYCyADIAMpAwggAykDIHw3AyAgA0IANwMQDAELCyADKAI0IgAgAykDICAAKQM4fDcDOCADKAI0IAMpAxg3A0AgAyADKQMgNwM4CyADKQM4IQIgA0FAayQAIAILrgQBAX8jAEFAaiIDJAAgAyAANgI4IAMgATcDMCADIAI2AiwCQCADKQMwUARAIANBAEIAQQEgAygCLBBONgI8DAELIAMpAzAgAygCOCkDMFYEQCADKAIsQRJBABAVIANBADYCPAwBCyADKAI4KAIoBEAgAygCLEEdQQAQFSADQQA2AjwMAQsgAyADKAI4IAMpAzAQuwE3AyAgAyADKQMwIAMoAjgoAgQgAykDIKdBA3RqKQMAfTcDGCADKQMYUARAIAMgAykDIEJ/fDcDICADIAMoAjgoAgAgAykDIKdBBHRqKQMINwMYCyADIAMoAjgoAgAgAykDIKdBBHRqKQMIIAMpAxh9NwMQIAMpAxAgAykDMFYEQCADKAIsQRxBABAVIANBADYCPAwBCyADIAMoAjgoAgAgAykDIEIBfEEAIAMoAiwQTiIANgIMIABFBEAgA0EANgI8DAELIAMoAgwoAgAgAygCDCkDCEIBfadBBHRqIAMpAxg3AwggAygCDCgCBCADKAIMKQMIp0EDdGogAykDMDcDACADKAIMIAMpAzA3AzAgAygCDAJ+IAMoAjgpAxggAygCDCkDCEIBfVQEQCADKAI4KQMYDAELIAMoAgwpAwhCAX0LNwMYIAMoAjggAygCDDYCKCADKAIMIAMoAjg2AiggAygCOCADKAIMKQMINwMgIAMoAgwgAykDIEIBfDcDICADIAMoAgw2AjwLIAMoAjwhACADQUBrJAAgAAvICQEBfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1ggBCADNgJUIAQgBCgCZDYCUAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCgCVA4UBgcCDAQFCg8AAwkRCxAOCBIBEg0SC0EAQgBBACAEKAJQEE4hACAEKAJQIAA2AhQgAEUEQCAEQn83A2gMEwsgBCgCUCgCFEIANwM4IAQoAlAoAhRCADcDQCAEQgA3A2gMEgsgBCgCUCgCECAEKQNYIAQoAlAQ9QIhACAEKAJQIAA2AhQgAEUEQCAEQn83A2gMEgsgBCgCUCgCFCAEKQNYNwM4IAQoAlAoAhQgBCgCUCgCFCkDCDcDQCAEQgA3A2gMEQsgBEIANwNoDBALIAQoAlAoAhAQNCAEKAJQIAQoAlAoAhQ2AhAgBCgCUEEANgIUIARCADcDaAwPCyAEIAQoAlAgBCgCYCAEKQNYEEI3A2gMDgsgBCgCUCgCEBA0IAQoAlAoAhQQNCAEKAJQEBYgBEIANwNoDA0LIAQoAlAoAhBCADcDOCAEKAJQKAIQQgA3A0AgBEIANwNoDAwLIAQpA1hC////////////AFYEQCAEKAJQQRJBABAVIARCfzcDaAwMCyAEIAQoAlAoAhAgBCgCYCAEKQNYEPQCNwNoDAsLIARBAEIAQQAgBCgCUBBONgJMIAQoAkxFBEAgBEJ/NwNoDAsLIAQoAlAoAhAQNCAEKAJQIAQoAkw2AhAgBEIANwNoDAoLIAQoAlAoAhQQNCAEKAJQQQA2AhQgBEIANwNoDAkLIAQgBCgCUCgCECAEKAJgIAQpA1ggBCgCUBC8Aaw3A2gMCAsgBCAEKAJQKAIUIAQoAmAgBCkDWCAEKAJQELwBrDcDaAwHCyAEKQNYQjhUBEAgBCgCUEESQQAQFSAEQn83A2gMBwsgBCAEKAJgNgJIIAQoAkgQPCAEKAJIIAQoAlAoAgw2AiggBCgCSCAEKAJQKAIQKQMwNwMYIAQoAkggBCgCSCkDGDcDICAEKAJIQQA7ATAgBCgCSEEAOwEyIAQoAkhC3AE3AwAgBEI4NwNoDAYLIAQoAlAgBCgCYCgCADYCDCAEQgA3A2gMBQsgBEF/NgJAIARBEzYCPCAEQQs2AjggBEENNgI0IARBDDYCMCAEQQo2AiwgBEEPNgIoIARBCTYCJCAEQRE2AiAgBEEINgIcIARBBzYCGCAEQQY2AhQgBEEFNgIQIARBBDYCDCAEQQM2AgggBEECNgIEIARBATYCACAEQQAgBBA3NwNoDAQLIAQoAlAoAhApAzhC////////////AFYEQCAEKAJQQR5BPRAVIARCfzcDaAwECyAEIAQoAlAoAhApAzg3A2gMAwsgBCgCUCgCFCkDOEL///////////8AVgRAIAQoAlBBHkE9EBUgBEJ/NwNoDAMLIAQgBCgCUCgCFCkDODcDaAwCCyAEKQNYQv///////////wBWBEAgBCgCUEESQQAQFSAEQn83A2gMAgsgBCAEKAJQKAIUIAQoAmAgBCkDWCAEKAJQEPMCNwNoDAELIAQoAlBBHEEAEBUgBEJ/NwNoCyAEKQNoIQIgBEHwAGokACACC3kBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCCgCJEEBRgRAIAEoAghBDGpBEkEAEBUgAUF/NgIMDAELIAEoAghBAEIAQQgQIkIAUwRAIAFBfzYCDAwBCyABKAIIQQE2AiQgAUEANgIMCyABKAIMIQAgAUEQaiQAIAALgwEBAX8jAEEQayICJAAgAiAANgIIIAIgATcDAAJAIAIoAggoAiRBAUYEQCACKAIIQQxqQRJBABAVIAJBfzYCDAwBCyACKAIIQQAgAikDAEERECJCAFMEQCACQX82AgwMAQsgAigCCEEBNgIkIAJBADYCDAsgAigCDCEAIAJBEGokACAAC1sBAX8jAEEgayIDJAAgAyAANgIcIAMgATkDECADIAI5AwggAygCHARAIAMoAhwgAysDEDkDICADKAIcIAMrAwg5AyggAygCHEQAAAAAAAAAABBYCyADQSBqJAALWAEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgxEAAAAAAAAAAA5AxggASgCDCgCAEQAAAAAAAAAACABKAIMKAIMIAEoAgwoAgQRGgALIAFBEGokAAtIAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCCARAIAEoAgwoAgwgASgCDCgCCBEDAAsgASgCDBAWCyABQRBqJAALKwEBfyMAQRBrIgEkACABIAA2AgwgASgCDEQAAAAAAADwPxBYIAFBEGokAAucAgIBfwF8IwBBIGsiASAANwMQIAEgASkDELpEAAAAAAAA6D+jOQMIAkAgASsDCEQAAOD////vQWQEQCABQX82AgQMAQsgAQJ/IAErAwgiAkQAAAAAAADwQWMgAkQAAAAAAAAAAGZxBEAgAqsMAQtBAAs2AgQLAkAgASgCBEGAgICAeEsEQCABQYCAgIB4NgIcDAELIAEgASgCBEF/ajYCBCABIAEoAgQgASgCBEEBdnI2AgQgASABKAIEIAEoAgRBAnZyNgIEIAEgASgCBCABKAIEQQR2cjYCBCABIAEoAgQgASgCBEEIdnI2AgQgASABKAIEIAEoAgRBEHZyNgIEIAEgASgCBEEBajYCBCABIAEoAgQ2AhwLIAEoAhwLkwEBAX8jAEEgayIDJAAgAyAANgIYIAMgATcDECADIAI2AgwCQCADKQMQUARAIANBAToAHwwBCyADIAMpAxAQ/QI2AgggAygCCCADKAIYKAIATQRAIANBAToAHwwBCyADKAIYIAMoAgggAygCDBBaQQFxRQRAIANBADoAHwwBCyADQQE6AB8LIAMtAB8aIANBIGok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ACADKQMIQQAQKEEASARAIAMoAhQgAygCJCgCABAYIANCADcDKAwCCyADKAIkKAIAIANCBBAvQgRSBEAgAygCFCADKAIkKAIAEBggA0IANwMoDAILIAMoAABB0JadwABGBEAgAyADKQMIQgR8NwMICyADIAMpAwhCDHw3AwggAygCBEEAEIABQQFxBEAgAyADKQMIQgh8NwMICyADKQMIQv///////////wBWBEAgAygCFEEEQRYQFSADQgA3AygMAgsLIAMgAykDCDcDKAsgAykDKCEBIANBMGokACABCwYAQbScAQv/AQEBfyMAQRBrIgIkACACIAA2AgwgAiABOgALAkAgAigCDCgCEEEORgRAIAIoAgxBPzsBCgwBCyACKAIMKAIQQQxGBEAgAigCDEEuOwEKDAELAkAgAi0AC0EBcUUEQCACKAIMQQAQgAFBAXFFDQELIAIoAgxBLTsBCgwBCwJAIAIoAgwoAhBBCEcEQCACKAIMLwFSQQFHDQELIAIoAgxBFDsBCgwBCyACIAIoAgwoAjAQUiIAOwEIIABB//8DcUEASgRAIAIoAgwoAjAoAgAgAi8BCEEBa2otAABBL0YEQCACKAIMQRQ7AQoMAgsLIAIoAgxBCjsBCgsgAkEQaiQAC8ACAQF/IwBBMGsiAiQAIAIgADYCKCACQYACOwEmIAIgATYCICACIAIvASZBgAJxQQBHOgAbIAJBHkEuIAItABtBAXEbNgIcAkAgAigCKEEaQRwgAi0AG0EBcRusQQEQKEEASARAIAIoAiAgAigCKBAYIAJBfzYCLAwBCyACIAIoAihBBEEGIAItABtBAXEbrCACQQ5qIAIoAiAQQSIANgIIIABFBEAgAkF/NgIsDAELIAJBADYCFANAIAIoAhRBAkEDIAItABtBAXEbSARAIAIgAigCCBAeQf//A3EgAigCHGo2AhwgAiACKAIUQQFqNgIUDAELCyACKAIIEEhBAXFFBEAgAigCIEEUQQAQFSACKAIIEBcgAkF/NgIsDAELIAIoAggQFyACIAIoAhw2AiwLIAIoAiwhACACQTBqJAAgAAv/AwEBfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkAgAigCGCgCEEHjAEcEQCACQQE6AB8MAQsgAiACKAIYKAI0IAJBEmpBgbICQYAGQQAQXzYCCAJAIAIoAggEQCACLwESQQdODQELIAIoAhRBFUEAEBUgAkEAOgAfDAELIAIgAigCCCACLwESrRAqIgA2AgwgAEUEQCACKAIUQRRBABAVIAJBADoAHwwBCyACQQE6AAcCQAJAAkAgAigCDBAeQX9qDgICAAELIAIoAhgpAyhCFFQEQCACQQA6AAcLDAELIAIoAhRBGEEAEBUgAigCDBAXIAJBADoAHwwBCyACKAIMQgIQHy8AAEHBigFHBEAgAigCFEEYQQAQFSACKAIMEBcgAkEAOgAfDAELAkACQAJAAkACQCACKAIMEIsBQX9qDgMAAQIDCyACQYECOwEEDAMLIAJBggI7AQQMAgsgAkGDAjsBBAwBCyACKAIUQRhBABAVIAIoAgwQFyACQQA6AB8MAQsgAi8BEkEHRwRAIAIoAhRBFUEAEBUgAigCDBAXIAJBADoAHwwBCyACKAIYIAItAAdBAXE6AAYgAigCGCACLwEEOwFSIAIoAgwQHkH//wNxIQAgAigCGCAANgIQIAIoAgwQFyACQQE6AB8LIAItAB9BAXEhACACQSBqJAAgAAu5AQEBfyMAQTBrIgIkACACIAA7AS4gAiABOwEsIAJCADcCACACQQA2AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAJBADYCICACIAIvASxBCXVB0ABqNgIUIAIgAi8BLEEFdUEPcUEBazYCECACIAIvASxBH3E2AgwgAiACLwEuQQt1NgIIIAIgAi8BLkEFdUE/cTYCBCACIAIvAS5BAXRBPnE2AgAgAhAMIQAgAkEwaiQAIAALTAECfyMAQRBrIgAkACAAQdgAEBkiATYCCAJAIAFFBEAgAEEANgIMDAELIAAoAggQXSAAIAAoAgg2AgwLIAAoAgwhASAAQRBqJAAgAQsHACAALwEwC+AIAQF/IwBBwAFrIgMkACADIAA2ArQBIAMgATYCsAEgAyACNwOoASADIAMoArQBKAIAEDUiAjcDIAJAIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAYIANCfzcDuAEMAQsgAyADKQMgNwOgASADQQA6ABcgA0IANwMYA0AgAykDGCADKQOoAVQEQCADIAMoArQBKAJAIAMoArABIAMpAxinQQN0aikDAKdBBHRqNgIMIAMgAygCtAECfyADKAIMKAIEBEAgAygCDCgCBAwBCyADKAIMKAIAC0GABBBeIgA2AhAgAEEASARAIANCfzcDuAEMAwsgAygCEARAIANBAToAFwsgAyADKQMYQgF8NwMYDAELCyADIAMoArQBKAIAEDUiAjcDICACQgBTBEAgAygCtAFBCGogAygCtAEoAgAQGCADQn83A7gBDAELIAMgAykDICADKQOgAX03A5gBAkAgAykDoAFC/////w9YBEAgAykDqAFC//8DWA0BCyADQQE6ABcLIAMgA0EwakLiABAqIgA2AiwgAEUEQCADKAK0AUEIakEOQQAQFSADQn83A7gBDAELIAMtABdBAXEEQCADKAIsQbbTAEEEEEAgAygCLEIsEC4gAygCLEEtECAgAygCLEEtECAgAygCLEEAECEgAygCLEEAECEgAygCLCADKQOoARAuIAMoAiwgAykDqAEQLiADKAIsIAMpA5gBEC4gAygCLCADKQOgARAuIAMoAixBu9MAQQQQQCADKAIsQQAQISADKAIsIAMpA6ABIAMpA5gBfBAuIAMoAixBARAhCyADKAIsQcDTAEEEEEAgAygCLEEAECEgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAgIAMoAiwCfkL//wMgAykDqAFC//8DWg0AGiADKQOoAQunQf//A3EQICADKAIsAn9BfyADKQOYAUL/////D1oNABogAykDmAGnCxAhIAMoAiwCf0F/IAMpA6ABQv////8PWg0AGiADKQOgAacLECEgAwJ/IAMoArQBLQAoQQFxBEAgAygCtAEoAiQMAQsgAygCtAEoAiALNgKUASADKAIsAn8gAygClAEEQCADKAKUAS8BBAwBC0EAC0H//wNxECACfyMAQRBrIgAgAygCLDYCDCAAKAIMLQAAQQFxRQsEQCADKAK0AUEIakEUQQAQFSADKAIsEBcgA0J/NwO4AQwBCyADKAK0AQJ/IwBBEGsiACADKAIsNgIMIAAoAgwoAgQLAn4jAEEQayIAIAMoAiw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNkEASARAIAMoAiwQFyADQn83A7gBDAELIAMoAiwQFyADKAKUAQRAIAMoArQBIAMoApQBKAIAIAMoApQBLwEErRA2QQBIBEAgA0J/NwO4AQwCCwsgAyADKQOYATcDuAELIAMpA7gBIQIgA0HAAWokACACCwcAIAAoAiALCABBAUE4EHsLAwABCwvyjQEnAEGACAuUBU5vIGVycm9yAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFNlZWsgZXJyb3IAUmVhZCBlcnJvcgBXcml0ZSBlcnJvcgBDUkMgZXJyb3IAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAE5vIHN1Y2ggZmlsZQBGaWxlIGFscmVhZHkgZXhpc3RzAENhbid0IG9wZW4gZmlsZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBabGliIGVycm9yAE1hbGxvYyBmYWlsdXJlAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAEludmFsaWQgYXJndW1lbnQATm90IGEgemlwIGFyY2hpdmUASW50ZXJuYWwgZXJyb3IAWmlwIGFyY2hpdmUgaW5jb25zaXN0ZW50AENhbid0IHJlbW92ZSBmaWxlAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABSZWFkLW9ubHkgYXJjaGl2ZQBObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABSZXNvdXJjZSBzdGlsbCBpbiB1c2UAVGVsbCBlcnJvcgBDb21wcmVzc2VkIGRhdGEgaW52YWxpZABBoQ0LgAEEAAAJBAAALwQAAE4EAABpBAAAdAQAAH8EAACLBAAAlQQAALcEAADEBAAA2AQAAOgEAAAJBQAAFAUAACMFAAA6BQAAWwUAAHEFAACCBQAAlAUAAKMFAAC8BQAAzgUAAOUFAAAFBgAAFwYAACwGAABEBgAAXAYAAHIGAAB9BgAAIABBuA4LEQEAAAABAAAAAQAAAAEAAAABAEHcDgsJAQAAAAEAAAACAEGIDwsBAQBBqA8LAQEAQbQP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AJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAH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CBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwAYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIAAAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIAEQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoAEAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboAAAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYAEQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYAFAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4AAAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4AEgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEAEAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEAAAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckAEQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkAFAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUAAAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUAEgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0AEAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0AAAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMAEAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMAEwc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasAAAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsAEgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecAEAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcAAAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8AEQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAxLjIuMTEALSsgICAwWDB4AChudWxsKQBBsIMBC0ERAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQBBgYQBCyELAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQbuEAQsBDABBx4QBCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQfWEAQsBDgBBgYUBCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQa+FAQsBEABBu4UBCx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQfKFAQsOEgAAABISEgAAAAAAAAkAQaOGAQsBCwBBr4YBCxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQd2GAQsBDABB6YYBC0sMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AQdyHAQsBFwBBg4gBCwX//////wBB0IgBC1cZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQbCJAQvdDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABVbmtub3duIGVycm9yICVkACVzJXMlcwAAOiAAL3Byb2Mvc2VsZi9mZC8AL2Rldi91cmFuZG9tAHJ3YQAlcy5YWFhYWFgAcitiAHJiAFBLBQYAQZCYAQtOCgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAEEwAADBMAEGQmgELAlBQAEHImgELCR8AAABkTQAAAwBB5JoBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8="; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); +} +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(wasmBinaryFile); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(wasmBinaryFile); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err) { + abort(err); + } +} +function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate"); + } + addRunDependency("wasm-instantiate"); + function instantiateSync() { + var instance; + var module; + var binary; + try { + binary = getBinary(); + module = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if ( + str.indexOf("imported Memory") >= 0 || + str.indexOf("memory import") >= 0 + ) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + receiveInstance(instance, module); + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + instantiateSync(); + return Module["asm"]; +} +var tempDouble; +var tempI64; +__ATINIT__.push({ + func: function() { + ___wasm_call_ctors(); + } +}); +function demangle(func) { + return func; +} +function demangleAll(text) { + var regex = /\b_Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]"; + }); +} +function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + try { + throw new Error(); + } catch (e) { + err = e; + } + if (!err.stack) { + return "(no stack trace available)"; + } + } + return err.stack.toString(); +} +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js); +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + } +}; +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } else if ( + typeof window != "undefined" && + typeof window.prompt == "function" + ) { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + } + return node; + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; + } + return node.contents; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> 0 + ); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return; + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + return; + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) + node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, + mmap: function(stream, address, length, position, prot, flags) { + assert(address === 0); + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = MEMFS.stream_ops.write( + stream, + buffer, + 0, + length, + offset, + false + ); + return 0; + } + } +}; +var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + return ERRNO_CODES[code]; + }, + mount: function(mount) { + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | ((stat.mode & 292) >> 2); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(28); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + oldNode.name = newName; + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap: function(stream, address, length, position, prot, flags) { + assert(address === 0); + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr = _malloc(length); + NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = NODEFS.stream_ops.write( + stream, + buffer, + 0, + length, + offset, + false + ); + return 0; + } + } +}; +var NODERAWFS = { + lookupPath: function(path) { + return { path: path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode: mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function() { + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd: fd, + nfd: nfd, + position: 0, + path: path, + flags: flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + }, + msync: function() { + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return setErrNo(e.errno); + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" + ? mount + "/" + path + : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { + r: 0, + rs: 1052672, + "r+": 2, + w: 577, + wx: 705, + xw: 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + a: 1089, + ax: 1217, + xa: 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2; + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2; + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }; + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return (ma << 8) | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err( + "warning: " + + FS.syncFSRequests + + " FS.syncfs operations in flight at once, probably just doing extra work" + ); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(10); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + err( + "FS.trackingDelegate['willMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + err( + "FS.trackingDelegate['onMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream( + { + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + err( + "FS.trackingDelegate['onOpenFile']('" + + path + + "', flags) threw an exception: " + + e.message + ); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn + ); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + err( + "FS.trackingDelegate['onWriteToFile']('" + + stream.path + + "') threw an exception: " + + e.message + ); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap( + stream, + address, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if ( + typeof crypto === "object" && + typeof crypto["getRandomValues"] === "function" + ) { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = __webpack_require__(417); + random_device = function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) {} + } else { + } + if (!random_device) { + random_device = function() { + abort("random_device"); + }; + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: "fake" }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS }; + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path; + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative); + }, + standardizePath: function(path) { + return PATH.normalize(path); + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + setErrNo(ret.error); + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name + ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ) + : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + return FS.symlink(target, path); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread." + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + if (!success) setErrNo(29); + return success; + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter( + getter + ) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) + throw new Error( + "invalid range (" + from + ", " + to + ") or no bytes requested!" + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!" + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || "", true); + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed" + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read( + stream, + buffer, + offset, + length, + position + ) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function( + parent, + name, + url, + canRead, + canWrite, + onload, + onerror, + dontCreateFile, + canOwn, + preFinish + ) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); + } + }, + indexedDB: function() { + return ( + window.indexedDB || + window.mozIndexedDB || + window.webkitIndexedDB || + window.msIndexedDB + ); + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile( + PATH.dirname(path), + PATH.basename(path), + getRequest.result, + true, + true, + true + ); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; +var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if ( + e && + e.node && + PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node)) + ) { + return -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[(buf + 4) >> 2] = 0; + HEAP32[(buf + 8) >> 2] = stat.ino; + HEAP32[(buf + 12) >> 2] = stat.mode; + HEAP32[(buf + 16) >> 2] = stat.nlink; + HEAP32[(buf + 20) >> 2] = stat.uid; + HEAP32[(buf + 24) >> 2] = stat.gid; + HEAP32[(buf + 28) >> 2] = stat.rdev; + HEAP32[(buf + 32) >> 2] = 0; + (tempI64 = [ + stat.size >>> 0, + ((tempDouble = stat.size), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 40) >> 2] = tempI64[0]), + (HEAP32[(buf + 44) >> 2] = tempI64[1]); + HEAP32[(buf + 48) >> 2] = 4096; + HEAP32[(buf + 52) >> 2] = stat.blocks; + HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0; + HEAP32[(buf + 60) >> 2] = 0; + HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0; + HEAP32[(buf + 68) >> 2] = 0; + HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0; + HEAP32[(buf + 76) >> 2] = 0; + (tempI64 = [ + stat.ino >>> 0, + ((tempDouble = stat.ino), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 80) >> 2] = tempI64[0]), + (HEAP32[(buf + 84) >> 2] = tempI64[1]); + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }, + get64: function(low, high) { + return low; + } +}; +function ___sys_chmod(path, mode) { + try { + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[(arg + offset) >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_fstat64(fd, buf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + if (!stream.tty) return -59; + return 0; + } + case 21524: { + if (!stream.tty) return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_open(path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_read(fd, buf, count) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return FS.read(stream, HEAP8, buf, count); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_rename(old_path, new_path) { + try { + old_path = SYSCALLS.getStr(old_path); + new_path = SYSCALLS.getStr(new_path); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_unlink(path) { + try { + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} +function _emscripten_get_heap_size() { + return HEAPU8.length; +} +function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) {} +} +function _emscripten_resize_heap(requestedSize) { + requestedSize = requestedSize >>> 0; + var oldSize = _emscripten_get_heap_size(); + var PAGE_MULTIPLE = 65536; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + var minHeapSize = 16777216; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min( + maxHeapSize, + alignUp( + Math.max(minHeapSize, requestedSize, overGrownHeapSize), + PAGE_MULTIPLE + ) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty + ? 2 + : FS.isDir(stream.mode) + ? 3 + : FS.isLink(stream.mode) + ? 7 + : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + (tempI64 = [ + stream.position >>> 0, + ((tempDouble = stream.position), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[newOffset >> 2] = tempI64[0]), + (HEAP32[(newOffset + 4) >> 2] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +var ___tm_current = 20656; +var ___tm_timezone = (stringToUTF8("GMT", 20704, 4), 20704); +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes(); + HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours(); + HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate(); + HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth(); + HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900; + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + HEAP32[(tmPtr + 36) >> 2] = 0; + HEAP32[(tmPtr + 32) >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + HEAP32[(tmPtr + 40) >> 2] = ___tm_timezone; + return tmPtr; +} +function _gmtime(time) { + return _gmtime_r(time, ___tm_current); +} +function _setTempRet0($i) { + setTempRet0($i | 0); +} +function _time(ptr) { + var ret = (Date.now() / 1e3) | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; +} +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number( + winter.getTimezoneOffset() != summer.getTimezoneOffset() + ); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr; + } +} +function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[(tmPtr + 20) >> 2] + 1900, + HEAP32[(tmPtr + 16) >> 2], + HEAP32[(tmPtr + 12) >> 2], + HEAP32[(tmPtr + 8) >> 2], + HEAP32[(tmPtr + 4) >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + return (date.getTime() / 1e3) | 0; +} +var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; +}; +var readMode = 292 | 73; +var writeMode = 146; +Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? (this.mode |= readMode) : (this.mode &= ~readMode); + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? (this.mode |= writeMode) : (this.mode &= ~writeMode); + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } +}); +FS.FSNode = FSNode; +FS.staticInit(); +if (ENVIRONMENT_IS_NODE) { + var fs = frozenFs; + var NODEJS_PATH = __webpack_require__(622); + NODEFS.staticInit(); +} +if (ENVIRONMENT_IS_NODE) { + var _wrapNodeError = function(func) { + return function() { + try { + return func.apply(this, arguments); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]); +} else { + throw new Error( + "NODERAWFS is currently only supported on Node.js environment." + ); +} +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} +var decodeBase64 = + typeof atob === "function" + ? atob + : function(input) { + var keyStr = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; + }; +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array(buf["buffer"], buf["byteOffset"], buf["byteLength"]); + } + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0; i < decoded.length; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error("Converting base64 string to bytes failed."); + } +} +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} +var asmLibraryArg = { + p: ___sys_chmod, + e: ___sys_fcntl64, + j: ___sys_fstat64, + o: ___sys_ioctl, + r: ___sys_open, + q: ___sys_read, + h: ___sys_rename, + s: ___sys_rmdir, + c: ___sys_stat64, + g: ___sys_unlink, + t: _emscripten_memcpy_big, + u: _emscripten_resize_heap, + f: _fd_close, + i: _fd_fdstat_get, + n: _fd_read, + l: _fd_seek, + d: _fd_write, + k: _gmtime, + memory: wasmMemory, + a: _setTempRet0, + table: wasmTable, + b: _time, + m: _timegm +}; +var asm = createWasm(); +var ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["v"]); +var _zipstruct_stat = (Module["_zipstruct_stat"] = asm["w"]); +var _zipstruct_statS = (Module["_zipstruct_statS"] = asm["x"]); +var _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["y"]); +var _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["z"]); +var _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["A"]); +var _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["B"]); +var _zipstruct_error = (Module["_zipstruct_error"] = asm["C"]); +var _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["D"]); +var _zipstruct_error_code_zip = (Module["_zipstruct_error_code_zip"] = + asm["E"]); +var _zipstruct_stat_comp_size = (Module["_zipstruct_stat_comp_size"] = + asm["F"]); +var _zipstruct_stat_comp_method = (Module["_zipstruct_stat_comp_method"] = + asm["G"]); +var _zip_close = (Module["_zip_close"] = asm["H"]); +var _zip_delete = (Module["_zip_delete"] = asm["I"]); +var _zip_dir_add = (Module["_zip_dir_add"] = asm["J"]); +var _zip_discard = (Module["_zip_discard"] = asm["K"]); +var _zip_error_init_with_code = (Module["_zip_error_init_with_code"] = + asm["L"]); +var _zip_get_error = (Module["_zip_get_error"] = asm["M"]); +var _zip_file_get_error = (Module["_zip_file_get_error"] = asm["N"]); +var _zip_error_strerror = (Module["_zip_error_strerror"] = asm["O"]); +var _zip_fclose = (Module["_zip_fclose"] = asm["P"]); +var _zip_file_add = (Module["_zip_file_add"] = asm["Q"]); +var _zip_file_get_external_attributes = (Module[ + "_zip_file_get_external_attributes" +] = asm["R"]); +var _zip_file_set_external_attributes = (Module[ + "_zip_file_set_external_attributes" +] = asm["S"]); +var _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["T"]); +var _zip_fopen = (Module["_zip_fopen"] = asm["U"]); +var _zip_fopen_index = (Module["_zip_fopen_index"] = asm["V"]); +var _zip_fread = (Module["_zip_fread"] = asm["W"]); +var _zip_get_name = (Module["_zip_get_name"] = asm["X"]); +var _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["Y"]); +var _zip_name_locate = (Module["_zip_name_locate"] = asm["Z"]); +var _zip_open = (Module["_zip_open"] = asm["_"]); +var _zip_open_from_source = (Module["_zip_open_from_source"] = asm["$"]); +var _zip_set_file_compression = (Module["_zip_set_file_compression"] = + asm["aa"]); +var _zip_source_buffer = (Module["_zip_source_buffer"] = asm["ba"]); +var _zip_source_buffer_create = (Module["_zip_source_buffer_create"] = + asm["ca"]); +var _zip_source_close = (Module["_zip_source_close"] = asm["da"]); +var _zip_source_error = (Module["_zip_source_error"] = asm["ea"]); +var _zip_source_free = (Module["_zip_source_free"] = asm["fa"]); +var _zip_source_keep = (Module["_zip_source_keep"] = asm["ga"]); +var _zip_source_open = (Module["_zip_source_open"] = asm["ha"]); +var _zip_source_read = (Module["_zip_source_read"] = asm["ia"]); +var _zip_source_seek = (Module["_zip_source_seek"] = asm["ja"]); +var _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["ka"]); +var _zip_source_tell = (Module["_zip_source_tell"] = asm["la"]); +var _zip_stat = (Module["_zip_stat"] = asm["ma"]); +var _zip_stat_index = (Module["_zip_stat_index"] = asm["na"]); +var _zip_ext_count_symlinks = (Module["_zip_ext_count_symlinks"] = asm["oa"]); +var ___errno_location = (Module["___errno_location"] = asm["pa"]); +var __get_tzname = (Module["__get_tzname"] = asm["qa"]); +var __get_daylight = (Module["__get_daylight"] = asm["ra"]); +var __get_timezone = (Module["__get_timezone"] = asm["sa"]); +var stackSave = (Module["stackSave"] = asm["ta"]); +var stackRestore = (Module["stackRestore"] = asm["ua"]); +var stackAlloc = (Module["stackAlloc"] = asm["va"]); +var _malloc = (Module["_malloc"] = asm["wa"]); +var _free = (Module["_free"] = asm["xa"]); +var dynCall_vi = (Module["dynCall_vi"] = asm["ya"]); +Module["cwrap"] = cwrap; +Module["getValue"] = getValue; +var calledRun; +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) return; + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} +Module["run"] = run; +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} +noExitRuntime = true; +run(); + + +/***/ }), + +/***/ 417: +/***/ ((module) => { + +"use strict"; +module.exports = require("crypto"); + +/***/ }), + +/***/ 614: +/***/ ((module) => { + +"use strict"; +module.exports = require("events"); + +/***/ }), + +/***/ 747: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ 282: +/***/ ((module) => { + +"use strict"; +module.exports = require("module"); + +/***/ }), + +/***/ 87: +/***/ ((module) => { + +"use strict"; +module.exports = require("os"); + +/***/ }), + +/***/ 622: +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ 413: +/***/ ((module) => { + +"use strict"; +module.exports = require("stream"); + +/***/ }), + +/***/ 304: +/***/ ((module) => { + +"use strict"; +module.exports = require("string_decoder"); + +/***/ }), + +/***/ 835: +/***/ ((module) => { + +"use strict"; +module.exports = require("url"); + +/***/ }), + +/***/ 669: +/***/ ((module) => { + +"use strict"; +module.exports = require("util"); + +/***/ }), + +/***/ 761: +/***/ ((module) => { + +"use strict"; +module.exports = require("zlib"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __webpack_require__(170); +/******/ })() +.default; +}); \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..06dd640 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "arcanis.vscode-zipfs" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7629b32 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "search.exclude": { + "**/.yarn": true, + "**/.pnp.*": true + }, + "typescript.tsdk": ".yarn/sdks/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..1d18cc1 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,5 @@ +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs + spec: "@yarnpkg/plugin-interactive-tools" + +yarnPath: .yarn/releases/yarn-berry.cjs diff --git a/package.json b/package.json index 6937f34..9e764f3 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,8 @@ { "name": "@amoutonbrady/vite-plugin-solid", - "version": "0.1.1", + "version": "0.2.0", "description": "solid-js integration plugin for vite", "main": "lib/plugin.js", - "private": false, "publishConfig": { "access": "public" }, @@ -13,7 +12,7 @@ "types": "lib/plugin.d.ts", "scripts": { "build": "tsc -p .", - "prepublishOnly": "pnpm build" + "prepack": "yarn build" }, "repository": { "type": "git", @@ -33,21 +32,25 @@ }, "homepage": "https://github.com/amoutonbrady/vite-plugin-solid#readme", "peerDependencies": { - "solid-js": "^0.18.12 || ^1.0.0", - "vite": "^1.0.0-beta.11 || ^1.0.0" + "solid-js": "^0.20.0 || ^1.0.0", + "vite": "^1.0.0-rc.4 || ^1.0.0" }, "dependencies": { - "@babel/core": "^7.11.1", + "@babel/core": "^7.11.6", "@babel/preset-typescript": "^7.10.4", - "@rollup/plugin-babel": "^5.2.0", - "babel-preset-solid": "^0.18.14", + "@rollup/plugin-babel": "^5.2.1", + "babel-preset-solid": "^0.20.0", "dedent": "^0.7.0", - "solid-js": "^0.18.14", + "solid-js": "^0.20.0", "vite": "^1.0.0-rc.4" }, "devDependencies": { - "@types/babel__core": "^7.1.9", + "@babel/types": "^7.11.5", + "@types/babel__core": "^7.1.10", "@types/dedent": "^0.7.0", - "typescript": "beta" + "@types/node": "^14.11.2", + "rollup": "^2.28.2", + "source-map": "^0.7.3", + "typescript": "^4.0.3" } } diff --git a/playground/package.json b/playground/package.json deleted file mode 100644 index 01f8531..0000000 --- a/playground/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "solid-vite-playground", - "version": "0.0.0", - "description": "My solid application", - "author": "Alexandre Mouton-Brady ", - "scripts": { - "dev": "vite", - "build": "vite build" - }, - "devDependencies": { - "solid-js": "^0.18.14", - "vite": "^1.0.0-rc.4" - }, - "license": "ISC" -} diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml deleted file mode 100644 index 62b4ca1..0000000 --- a/playground/pnpm-lock.yaml +++ /dev/null @@ -1,2109 +0,0 @@ -devDependencies: - solid-js: 0.18.14 - vite: 1.0.0-rc.4 -lockfileVersion: 5.1 -packages: - /@babel/code-frame/7.10.4: - dependencies: - '@babel/highlight': 7.10.4 - dev: true - resolution: - integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - /@babel/helper-validator-identifier/7.10.4: - dev: true - resolution: - integrity: sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - /@babel/highlight/7.10.4: - dependencies: - '@babel/helper-validator-identifier': 7.10.4 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - resolution: - integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - /@babel/parser/7.10.4: - dev: true - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== - /@babel/types/7.10.4: - dependencies: - '@babel/helper-validator-identifier': 7.10.4 - lodash: 4.17.19 - to-fast-properties: 2.0.0 - dev: true - resolution: - integrity: sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== - /@nodelib/fs.scandir/2.1.3: - dependencies: - '@nodelib/fs.stat': 2.0.3 - run-parallel: 1.1.9 - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - /@nodelib/fs.stat/2.0.3: - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - /@nodelib/fs.walk/1.2.4: - dependencies: - '@nodelib/fs.scandir': 2.1.3 - fastq: 1.8.0 - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - /@rollup/plugin-commonjs/14.0.0_rollup@2.21.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.21.0 - commondir: 1.0.1 - estree-walker: 1.0.1 - glob: 7.1.6 - is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.17.0 - rollup: 2.21.0 - dev: true - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^2.3.4 - resolution: - integrity: sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw== - /@rollup/plugin-json/4.1.0_rollup@2.21.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.21.0 - rollup: 2.21.0 - dev: true - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - /@rollup/plugin-node-resolve/8.4.0_rollup@2.21.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.21.0 - '@types/resolve': 1.17.1 - builtin-modules: 3.1.0 - deep-freeze: 0.0.1 - deepmerge: 4.2.2 - is-module: 1.0.0 - resolve: 1.17.0 - rollup: 2.21.0 - dev: true - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== - /@rollup/pluginutils/3.1.0_rollup@2.21.0: - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.2.2 - rollup: 2.21.0 - dev: true - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - /@types/accepts/1.3.5: - dependencies: - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== - /@types/body-parser/1.19.0: - dependencies: - '@types/connect': 3.4.33 - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - /@types/color-name/1.1.1: - dev: true - resolution: - integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - /@types/connect/3.4.33: - dependencies: - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== - /@types/content-disposition/0.5.3: - dev: true - resolution: - integrity: sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg== - /@types/cookies/0.7.4: - dependencies: - '@types/connect': 3.4.33 - '@types/express': 4.17.7 - '@types/keygrip': 1.0.2 - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw== - /@types/estree/0.0.39: - dev: true - resolution: - integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - /@types/estree/0.0.45: - dev: true - resolution: - integrity: sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== - /@types/express-serve-static-core/4.17.8: - dependencies: - '@types/node': 14.0.22 - '@types/qs': 6.9.3 - '@types/range-parser': 1.2.3 - dev: true - resolution: - integrity: sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw== - /@types/express/4.17.7: - dependencies: - '@types/body-parser': 1.19.0 - '@types/express-serve-static-core': 4.17.8 - '@types/qs': 6.9.3 - '@types/serve-static': 1.13.4 - dev: true - resolution: - integrity: sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ== - /@types/http-assert/1.5.1: - dev: true - resolution: - integrity: sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== - /@types/keygrip/1.0.2: - dev: true - resolution: - integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw== - /@types/koa-compose/3.2.5: - dependencies: - '@types/koa': 2.11.3 - dev: true - resolution: - integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ== - /@types/koa/2.11.3: - dependencies: - '@types/accepts': 1.3.5 - '@types/content-disposition': 0.5.3 - '@types/cookies': 0.7.4 - '@types/http-assert': 1.5.1 - '@types/keygrip': 1.0.2 - '@types/koa-compose': 3.2.5 - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q== - /@types/lru-cache/5.1.0: - dev: true - resolution: - integrity: sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== - /@types/mime/2.0.2: - dev: true - resolution: - integrity: sha512-4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q== - /@types/node/14.0.22: - dev: true - resolution: - integrity: sha512-emeGcJvdiZ4Z3ohbmw93E/64jRzUHAItSHt8nF7M4TGgQTiWqFVGB8KNpLGFmUHmHLvjvBgFwVlqNcq+VuGv9g== - /@types/qs/6.9.3: - dev: true - resolution: - integrity: sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA== - /@types/range-parser/1.2.3: - dev: true - resolution: - integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - /@types/resolve/1.17.1: - dependencies: - '@types/node': 14.0.22 - dev: true - resolution: - integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - /@types/serve-static/1.13.4: - dependencies: - '@types/express-serve-static-core': 4.17.8 - '@types/mime': 2.0.2 - dev: true - resolution: - integrity: sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug== - /@vue/compiler-core/3.0.0-rc.5: - dependencies: - '@babel/parser': 7.10.4 - '@babel/types': 7.10.4 - '@vue/shared': 3.0.0-rc.5 - estree-walker: 2.0.1 - source-map: 0.6.1 - dev: true - resolution: - integrity: sha512-dNz5AObEYg0Oglw3emIsBhTAOVfObrfxDaAzR0UTRDDq+Ohfr6KTSaVQAH88Ym+oa08ZlLZBFc6ARe9doAOIxg== - /@vue/compiler-dom/3.0.0-rc.5: - dependencies: - '@vue/compiler-core': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: true - resolution: - integrity: sha512-z8n+R1GhFnWuKURLYxfVSEfP7nSNM91qteobxwys55fhlZZuReouMnUwgrn+ois/IL6RdFlT9H+n4+N6yLrdJA== - /@vue/compiler-sfc/3.0.0-rc.5_vue@3.0.0-rc.5: - dependencies: - '@babel/parser': 7.10.4 - '@babel/types': 7.10.4 - '@vue/compiler-core': 3.0.0-rc.5 - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/compiler-ssr': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - consolidate: 0.15.1 - estree-walker: 2.0.1 - hash-sum: 2.0.0 - lru-cache: 5.1.1 - magic-string: 0.25.7 - merge-source-map: 1.1.0 - postcss: 7.0.32 - postcss-modules: 3.2.0 - postcss-selector-parser: 6.0.2 - source-map: 0.6.1 - vue: 3.0.0-rc.5 - dev: true - peerDependencies: - vue: 3.0.0-rc.5 - resolution: - integrity: sha512-huoIFEfFCJxHcpoByAUQti7CIwJdHPLJXKuy2HG7J1B+IEKugtBdF50CLH35ZD8dWM0nyOMFFqTbO7i6CCjL3Q== - /@vue/compiler-ssr/3.0.0-rc.5: - dependencies: - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: true - resolution: - integrity: sha512-OU5Vl2+bCDMImS9OeCVnl4lfxZ3/sopdwX2SrUWVKQvCxmmmlyWvoVkC6nNGCs/MrOmIMhKmL6etgzLTWyCkUg== - /@vue/reactivity/3.0.0-rc.5: - dependencies: - '@vue/shared': 3.0.0-rc.5 - dev: true - resolution: - integrity: sha512-oe9C+1jtWUdYL/iNc0OPWbwgOk2rOW2uQ+exx3I6Jo6PKOmnAiPkMElalf9vRnO53rnUphVecMp8BlTJvcNgDw== - /@vue/runtime-core/3.0.0-rc.5: - dependencies: - '@vue/reactivity': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: true - resolution: - integrity: sha512-MRIWreFigxdRuI2moFociUL5rVBfgYPrT7rWfQ0XfOyW46b+AiuCJyZvgbsRXwkAERfW1Tb/mY5forYjX2thOg== - /@vue/runtime-dom/3.0.0-rc.5: - dependencies: - '@vue/runtime-core': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - csstype: 2.6.11 - dev: true - resolution: - integrity: sha512-0jwpO3MBqMToq7qC816Z8Y6G8aN4ZKbv7MupgRaepzxhiK0sXcjLQmOATP3g/NyX52UCBJS4wAwsxidqGnAabA== - /@vue/shared/3.0.0-rc.5: - dev: true - resolution: - integrity: sha512-ZhcgGzBpp+pUzisZgQpM4ctIGgLpYjBj7/rZfbhEPxFHF/BuTV2jmhXvAl8aF9xDAejIcw85xCy92gDSwKtPag== - /accepts/1.3.7: - dependencies: - mime-types: 2.1.27 - negotiator: 0.6.2 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - /ansi-regex/5.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - /ansi-styles/3.2.1: - dependencies: - color-convert: 1.9.3 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - /ansi-styles/4.2.1: - dependencies: - '@types/color-name': 1.1.1 - color-convert: 2.0.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - /any-promise/1.3.0: - dev: true - resolution: - integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8= - /anymatch/3.1.1: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.2.2 - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - /argparse/1.0.10: - dependencies: - sprintf-js: 1.0.3 - dev: true - resolution: - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - /array-union/2.1.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - /at-least-node/1.0.0: - dev: true - engines: - node: '>= 4.0.0' - resolution: - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - /balanced-match/1.0.0: - dev: true - resolution: - integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - /big.js/5.2.2: - dev: true - resolution: - integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - /binary-extensions/2.1.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - /bluebird/3.7.2: - dev: true - resolution: - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - /brace-expansion/1.1.11: - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 - dev: true - resolution: - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - /braces/3.0.2: - dependencies: - fill-range: 7.0.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - /brotli-size/4.0.0: - dependencies: - duplexer: 0.1.1 - dev: true - engines: - node: '>= 10.16.0' - resolution: - integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA== - /buffer-from/1.1.1: - dev: true - resolution: - integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - /builtin-modules/1.1.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - /builtin-modules/3.1.0: - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== - /cache-content-type/1.0.1: - dependencies: - mime-types: 2.1.27 - ylru: 1.2.1 - dev: true - engines: - node: '>= 6.0.0' - resolution: - integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== - /caller-callsite/2.0.0: - dependencies: - callsites: 2.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - /caller-path/2.0.0: - dependencies: - caller-callsite: 2.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - /callsites/2.0.0: - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - /chalk/2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - /chalk/3.0.0: - dependencies: - ansi-styles: 4.2.1 - supports-color: 7.1.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - /chalk/4.1.0: - dependencies: - ansi-styles: 4.2.1 - supports-color: 7.1.0 - dev: true - engines: - node: '>=10' - resolution: - integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - /chokidar/3.4.0: - dependencies: - anymatch: 3.1.1 - braces: 3.0.2 - glob-parent: 5.1.1 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.4.0 - dev: true - engines: - node: '>= 8.10.0' - optionalDependencies: - fsevents: 2.1.3 - resolution: - integrity: sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== - /clean-css/4.2.3: - dependencies: - source-map: 0.6.1 - dev: true - engines: - node: '>= 4.0' - resolution: - integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - /cli-cursor/3.1.0: - dependencies: - restore-cursor: 3.1.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - /cli-spinners/2.3.0: - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w== - /clone/1.0.4: - dev: true - engines: - node: '>=0.8' - resolution: - integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - /co/4.6.0: - dev: true - engines: - iojs: '>= 1.0.0' - node: '>= 0.12.0' - resolution: - integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - /color-convert/1.9.3: - dependencies: - color-name: 1.1.3 - dev: true - resolution: - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - /color-convert/2.0.1: - dependencies: - color-name: 1.1.4 - dev: true - engines: - node: '>=7.0.0' - resolution: - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - /color-name/1.1.3: - dev: true - resolution: - integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - /color-name/1.1.4: - dev: true - resolution: - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - /commander/2.20.3: - dev: true - resolution: - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - /commondir/1.0.1: - dev: true - resolution: - integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - /concat-map/0.0.1: - dev: true - resolution: - integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - /consolidate/0.15.1: - dependencies: - bluebird: 3.7.2 - dev: true - engines: - node: '>= 0.10.0' - resolution: - integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - /content-disposition/0.5.3: - dependencies: - safe-buffer: 5.1.2 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - /content-type/1.0.4: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - /cookies/0.8.0: - dependencies: - depd: 2.0.0 - keygrip: 1.1.0 - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== - /cosmiconfig/5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.0 - parse-json: 4.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - /cross-spawn/7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - /cssesc/3.0.0: - dev: true - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - /csstype/2.6.11: - dev: true - resolution: - integrity: sha512-l8YyEC9NBkSm783PFTvh0FmJy7s5pFKrDp49ZL7zBGX3fWkO+N4EEyan1qqp8cwPLDcD0OSdyY6hAMoxp34JFw== - /debug/3.1.0: - dependencies: - ms: 2.0.0 - dev: true - resolution: - integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - /debug/3.2.6: - dependencies: - ms: 2.1.2 - dev: true - resolution: - integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - /debug/4.1.1: - dependencies: - ms: 2.1.2 - dev: true - resolution: - integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - /deep-equal/1.0.1: - dev: true - resolution: - integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - /deep-freeze/0.0.1: - dev: true - resolution: - integrity: sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= - /deepmerge/4.2.2: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - /defaults/1.0.3: - dependencies: - clone: 1.0.4 - dev: true - resolution: - integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - /delegates/1.0.0: - dev: true - resolution: - integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - /depd/1.1.2: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - /depd/2.0.0: - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - /destroy/1.0.4: - dev: true - resolution: - integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - /dir-glob/3.0.1: - dependencies: - path-type: 4.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - /dotenv-expand/5.1.0: - dev: true - resolution: - integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - /dotenv/8.2.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - /duplexer/0.1.1: - dev: true - resolution: - integrity: sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - /ee-first/1.1.1: - dev: true - resolution: - integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /emojis-list/3.0.0: - dev: true - engines: - node: '>= 4' - resolution: - integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - /encodeurl/1.0.2: - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - /end-of-stream/1.4.4: - dependencies: - once: 1.4.0 - dev: true - resolution: - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - /error-ex/1.3.2: - dependencies: - is-arrayish: 0.2.1 - dev: true - resolution: - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - /es-module-lexer/0.3.24: - dev: true - resolution: - integrity: sha512-jm/i7KdJtaMDle921xIsA/MQQOGuZ6goYxhlV+k+gQNI7FtP4N6jknrmJvj++3ODpiyFGwQ4PIstJfHJQJNc+g== - /esbuild/0.6.12: - dev: true - hasBin: true - requiresBuild: true - resolution: - integrity: sha512-IkVwB3wyb1XNq6/f42x02IEor9hLHIhnhqMwezOGK/WSIOf15/lCkybZ5S9rEsCyA4CMLoWhPmi7cmXa/5brrQ== - /escape-html/1.0.3: - dev: true - resolution: - integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - /escape-string-regexp/1.0.5: - dev: true - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - /esprima/4.0.1: - dev: true - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - /estree-walker/0.6.1: - dev: true - resolution: - integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - /estree-walker/1.0.1: - dev: true - resolution: - integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - /estree-walker/2.0.1: - dev: true - resolution: - integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== - /etag/1.8.1: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - /eventemitter3/4.0.4: - dev: true - resolution: - integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - /execa/4.0.3: - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.1.0 - human-signals: 1.1.1 - is-stream: 2.0.0 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.0 - signal-exit: 3.0.3 - strip-final-newline: 2.0.0 - dev: true - engines: - node: '>=10' - resolution: - integrity: sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - /fast-glob/3.2.4: - dependencies: - '@nodelib/fs.stat': 2.0.3 - '@nodelib/fs.walk': 1.2.4 - glob-parent: 5.1.1 - merge2: 1.4.1 - micromatch: 4.0.2 - picomatch: 2.2.2 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - /fastq/1.8.0: - dependencies: - reusify: 1.0.4 - dev: true - resolution: - integrity: sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== - /fill-range/7.0.1: - dependencies: - to-regex-range: 5.0.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - /follow-redirects/1.12.1: - dev: true - engines: - node: '>=4.0' - resolution: - integrity: sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg== - /fresh/0.5.2: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - /fs-extra/9.0.1: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.4 - jsonfile: 6.0.1 - universalify: 1.0.0 - dev: true - engines: - node: '>=10' - resolution: - integrity: sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - /fs.realpath/1.0.0: - dev: true - resolution: - integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - /fsevents/2.1.3: - dev: true - engines: - node: ^8.16.0 || ^10.6.0 || >=11.0.0 - optional: true - os: - - darwin - resolution: - integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - /generic-names/2.0.1: - dependencies: - loader-utils: 1.4.0 - dev: true - resolution: - integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== - /get-stream/5.1.0: - dependencies: - pump: 3.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - /glob-parent/5.1.1: - dependencies: - is-glob: 4.0.1 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - /glob/7.1.6: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - resolution: - integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - /globby/11.0.1: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.4 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - engines: - node: '>=10' - resolution: - integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - /graceful-fs/4.2.4: - dev: true - resolution: - integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - /has-flag/3.0.0: - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - /has-flag/4.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - /hash-sum/2.0.0: - dev: true - resolution: - integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - /http-assert/1.4.1: - dependencies: - deep-equal: 1.0.1 - http-errors: 1.7.3 - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== - /http-errors/1.4.0: - dependencies: - inherits: 2.0.1 - statuses: 1.5.0 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8= - /http-errors/1.6.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - /http-errors/1.7.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - /http-errors/1.8.0: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== - /http-proxy/1.18.1: - dependencies: - eventemitter3: 4.0.4 - follow-redirects: 1.12.1 - requires-port: 1.0.0 - dev: true - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - /human-signals/1.1.1: - dev: true - engines: - node: '>=8.12.0' - resolution: - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - /icss-replace-symbols/1.1.0: - dev: true - resolution: - integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - /icss-utils/4.1.1: - dependencies: - postcss: 7.0.32 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - /ignore/5.1.8: - dev: true - engines: - node: '>= 4' - resolution: - integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - /import-cwd/2.1.0: - dependencies: - import-from: 2.1.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - /import-fresh/2.0.0: - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - /import-from/2.1.0: - dependencies: - resolve-from: 3.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-M1238qev/VOqpHHUuAId7ja387E= - /indexes-of/1.0.1: - dev: true - resolution: - integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - /inflight/1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - resolution: - integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - /inherits/2.0.1: - dev: true - resolution: - integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - /inherits/2.0.3: - dev: true - resolution: - integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - /inherits/2.0.4: - dev: true - resolution: - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - /is-arrayish/0.2.1: - dev: true - resolution: - integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - /is-binary-path/2.1.0: - dependencies: - binary-extensions: 2.1.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - /is-directory/0.3.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - /is-docker/2.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== - /is-extglob/2.1.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - /is-generator-function/1.0.7: - dev: true - engines: - node: '>= 0.4' - resolution: - integrity: sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - /is-glob/4.0.1: - dependencies: - is-extglob: 2.1.1 - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - /is-interactive/1.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - /is-module/1.0.0: - dev: true - resolution: - integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - /is-number/7.0.0: - dev: true - engines: - node: '>=0.12.0' - resolution: - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - /is-reference/1.2.1: - dependencies: - '@types/estree': 0.0.45 - dev: true - resolution: - integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - /is-stream/2.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - /is-wsl/2.2.0: - dependencies: - is-docker: 2.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - /isarray/0.0.1: - dev: true - resolution: - integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - /isbuiltin/1.0.0: - dependencies: - builtin-modules: 1.1.1 - dev: true - resolution: - integrity: sha1-RFOykVaQy0fAy5ySVaCAd3gxXJY= - /isexe/2.0.0: - dev: true - resolution: - integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - /jest-worker/24.9.0: - dependencies: - merge-stream: 2.0.0 - supports-color: 6.1.0 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - /js-tokens/4.0.0: - dev: true - resolution: - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - /js-yaml/3.14.0: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - hasBin: true - resolution: - integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - /json-parse-better-errors/1.0.2: - dev: true - resolution: - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - /json5/1.0.1: - dependencies: - minimist: 1.2.5 - dev: true - hasBin: true - resolution: - integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - /jsonfile/6.0.1: - dependencies: - universalify: 1.0.0 - dev: true - optionalDependencies: - graceful-fs: 4.2.4 - resolution: - integrity: sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - /keygrip/1.1.0: - dependencies: - tsscmp: 1.0.6 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== - /koa-compose/3.2.1: - dependencies: - any-promise: 1.3.0 - dev: true - resolution: - integrity: sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - /koa-compose/4.1.0: - dev: true - resolution: - integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - /koa-conditional-get/2.0.0: - dev: true - resolution: - integrity: sha1-pD83I8HQFLcwo07Oit8wuTyCM/I= - /koa-convert/1.2.0: - dependencies: - co: 4.6.0 - koa-compose: 3.2.1 - dev: true - engines: - node: '>= 4' - resolution: - integrity: sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - /koa-etag/3.0.0: - dependencies: - etag: 1.8.1 - mz: 2.7.0 - dev: true - resolution: - integrity: sha1-nvc4Ld1agqsN6xU0FckVg293HT8= - /koa-proxies/0.11.0_koa@2.13.0: - dependencies: - http-proxy: 1.18.1 - koa: 2.13.0 - path-match: 1.2.4 - dev: true - peerDependencies: - koa: '>=2' - resolution: - integrity: sha512-iXGRADBE0fM7g7AttNOlLZ/cCFKXeVMHbFJKIRb0dUCrSYXi02loyVSdBlKlBQ5ZfVKJLo9Q9FyqwVTp1poVVA== - /koa-send/5.0.1: - dependencies: - debug: 4.1.1 - http-errors: 1.8.0 - resolve-path: 1.4.0 - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== - /koa-static/5.0.0: - dependencies: - debug: 3.2.6 - koa-send: 5.0.1 - dev: true - engines: - node: '>= 7.6.0' - resolution: - integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - /koa/2.13.0: - dependencies: - accepts: 1.3.7 - cache-content-type: 1.0.1 - content-disposition: 0.5.3 - content-type: 1.0.4 - cookies: 0.8.0 - debug: 3.1.0 - delegates: 1.0.0 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.4.1 - http-errors: 1.8.0 - is-generator-function: 1.0.7 - koa-compose: 4.1.0 - koa-convert: 1.2.0 - on-finished: 2.3.0 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: true - engines: - node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4 - resolution: - integrity: sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ== - /loader-utils/1.4.0: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.1 - dev: true - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - /lodash.camelcase/4.3.0: - dev: true - resolution: - integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - /lodash/4.17.19: - dev: true - resolution: - integrity: sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - /log-symbols/3.0.0: - dependencies: - chalk: 2.4.2 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - /lru-cache/5.1.1: - dependencies: - yallist: 3.1.1 - dev: true - resolution: - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - /magic-string/0.25.7: - dependencies: - sourcemap-codec: 1.4.8 - dev: true - resolution: - integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - /media-typer/0.3.0: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - /merge-source-map/1.1.0: - dependencies: - source-map: 0.6.1 - dev: true - resolution: - integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - /merge-stream/2.0.0: - dev: true - resolution: - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - /merge2/1.4.1: - dev: true - engines: - node: '>= 8' - resolution: - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - /micromatch/4.0.2: - dependencies: - braces: 3.0.2 - picomatch: 2.2.2 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - /mime-db/1.44.0: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - /mime-types/2.1.27: - dependencies: - mime-db: 1.44.0 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - /mimic-fn/2.1.0: - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - /minimatch/3.0.4: - dependencies: - brace-expansion: 1.1.11 - dev: true - resolution: - integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - /minimist/1.2.5: - dev: true - resolution: - integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - /ms/2.0.0: - dev: true - resolution: - integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - /ms/2.1.2: - dev: true - resolution: - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - /mute-stream/0.0.8: - dev: true - resolution: - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - /mz/2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - resolution: - integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - /negotiator/0.6.2: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - /node-forge/0.9.0: - dev: true - engines: - node: '>= 4.5.0' - resolution: - integrity: sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - /normalize-path/3.0.0: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - /npm-run-path/4.0.1: - dependencies: - path-key: 3.1.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - /object-assign/4.1.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - /on-finished/2.3.0: - dependencies: - ee-first: 1.1.1 - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - /once/1.4.0: - dependencies: - wrappy: 1.0.2 - dev: true - resolution: - integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - /onetime/5.1.0: - dependencies: - mimic-fn: 2.1.0 - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - /only/0.0.2: - dev: true - resolution: - integrity: sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - /open/7.0.4: - dependencies: - is-docker: 2.0.0 - is-wsl: 2.2.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ== - /ora/4.0.4: - dependencies: - chalk: 3.0.0 - cli-cursor: 3.1.0 - cli-spinners: 2.3.0 - is-interactive: 1.0.0 - log-symbols: 3.0.0 - mute-stream: 0.0.8 - strip-ansi: 6.0.0 - wcwidth: 1.0.1 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww== - /parse-json/4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - /parseurl/1.3.3: - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - /path-is-absolute/1.0.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - /path-key/3.1.1: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - /path-match/1.2.4: - dependencies: - http-errors: 1.4.0 - path-to-regexp: 1.8.0 - dev: true - resolution: - integrity: sha1-pidH88fgwlFHYml/JEQ1hbCRAOo= - /path-parse/1.0.6: - dev: true - resolution: - integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - /path-to-regexp/1.8.0: - dependencies: - isarray: 0.0.1 - dev: true - resolution: - integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - /path-type/4.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - /picomatch/2.2.2: - dev: true - engines: - node: '>=8.6' - resolution: - integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - /pify/2.3.0: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - /postcss-discard-comments/4.0.2: - dependencies: - postcss: 7.0.32 - dev: true - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - /postcss-import/12.0.1: - dependencies: - postcss: 7.0.32 - postcss-value-parser: 3.3.1 - read-cache: 1.0.0 - resolve: 1.17.0 - dev: true - engines: - node: '>=6.0.0' - resolution: - integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== - /postcss-load-config/2.1.0: - dependencies: - cosmiconfig: 5.2.1 - import-cwd: 2.1.0 - dev: true - engines: - node: '>= 4' - resolution: - integrity: sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - /postcss-modules-extract-imports/2.0.0: - dependencies: - postcss: 7.0.32 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - /postcss-modules-local-by-default/3.0.2: - dependencies: - icss-utils: 4.1.1 - postcss: 7.0.32 - postcss-selector-parser: 6.0.2 - postcss-value-parser: 4.1.0 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - /postcss-modules-scope/2.2.0: - dependencies: - postcss: 7.0.32 - postcss-selector-parser: 6.0.2 - dev: true - engines: - node: '>= 6' - resolution: - integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - /postcss-modules-values/3.0.0: - dependencies: - icss-utils: 4.1.1 - postcss: 7.0.32 - dev: true - resolution: - integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - /postcss-modules/3.2.0: - dependencies: - generic-names: 2.0.1 - icss-replace-symbols: 1.1.0 - lodash.camelcase: 4.3.0 - postcss: 7.0.32 - postcss-modules-extract-imports: 2.0.0 - postcss-modules-local-by-default: 3.0.2 - postcss-modules-scope: 2.2.0 - postcss-modules-values: 3.0.0 - string-hash: 1.1.3 - dev: true - resolution: - integrity: sha512-ceodlVbBypGD3R7EI1xM7gz28J0syaXq0VKd7rJVXVlOSkxUIRBRJQjBgpoKnKVFNAcCjtLVgZqBA3mUNntWPA== - /postcss-selector-parser/6.0.2: - dependencies: - cssesc: 3.0.0 - indexes-of: 1.0.1 - uniq: 1.0.1 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - /postcss-value-parser/3.3.1: - dev: true - resolution: - integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - /postcss-value-parser/4.1.0: - dev: true - resolution: - integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - /postcss/7.0.32: - dependencies: - chalk: 2.4.2 - source-map: 0.6.1 - supports-color: 6.1.0 - dev: true - engines: - node: '>=6.0.0' - resolution: - integrity: sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - /pump/3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - resolution: - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - /read-cache/1.0.0: - dependencies: - pify: 2.3.0 - dev: true - resolution: - integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= - /readdirp/3.4.0: - dependencies: - picomatch: 2.2.2 - dev: true - engines: - node: '>=8.10.0' - resolution: - integrity: sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - /requires-port/1.0.0: - dev: true - resolution: - integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - /resolve-from/3.0.0: - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-six699nWiBvItuZTM17rywoYh0g= - /resolve-path/1.4.0: - dependencies: - http-errors: 1.6.3 - path-is-absolute: 1.0.1 - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - /resolve/1.17.0: - dependencies: - path-parse: 1.0.6 - dev: true - resolution: - integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - /restore-cursor/3.1.0: - dependencies: - onetime: 5.1.0 - signal-exit: 3.0.3 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - /reusify/1.0.4: - dev: true - engines: - iojs: '>=1.0.0' - node: '>=0.10.0' - resolution: - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - /rollup-plugin-dynamic-import-variables/1.0.2_rollup@2.21.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.21.0 - estree-walker: 2.0.1 - globby: 11.0.1 - magic-string: 0.25.7 - dev: true - peerDependencies: - rollup: '*' - resolution: - integrity: sha512-bzYC/MwYsHgNGpWMI3G4qTjstJCtFqE25/k1Cq/sjfnzl7MQwwrrA4SAQEMiFgKbsw1H4tijVGY1tRk5Xa4h9g== - /rollup-plugin-terser/5.3.0_rollup@2.21.0: - dependencies: - '@babel/code-frame': 7.10.4 - jest-worker: 24.9.0 - rollup: 2.21.0 - rollup-pluginutils: 2.8.2 - serialize-javascript: 2.1.2 - terser: 4.8.0 - dev: true - peerDependencies: - rollup: '>=0.66.0 <3' - resolution: - integrity: sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== - /rollup-plugin-vue/6.0.0-beta.10_@vue+compiler-sfc@3.0.0-rc.5: - dependencies: - '@vue/compiler-sfc': 3.0.0-rc.5_vue@3.0.0-rc.5 - debug: 4.1.1 - hash-sum: 2.0.0 - rollup-pluginutils: 2.8.2 - dev: true - peerDependencies: - '@vue/compiler-sfc': '*' - resolution: - integrity: sha512-8TZJmROiSRjWoHRR6id0/ktOBOUGuI302xDBq4YBiA/tnnXdoY3oFGtvRWzT5ldX0jTJ8QX40rrJOw2SvcWwxQ== - /rollup-plugin-web-worker-loader/1.3.1_rollup@2.21.0: - dependencies: - rollup: 2.21.0 - dev: true - peerDependencies: - rollup: ^1.9.2 || ^2.0.0 - resolution: - integrity: sha512-Td36kmB4iz10xqI/gJFCv2xZZ21fY6E7AGVFOT3PWIDkM1BeBrfuzeNh1tFIkD6fHtjQhppnedkYFaIlGHuEvA== - /rollup-pluginutils/2.8.2: - dependencies: - estree-walker: 0.6.1 - dev: true - resolution: - integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - /rollup/2.21.0: - dev: true - engines: - node: '>=10.0.0' - hasBin: true - optionalDependencies: - fsevents: 2.1.3 - resolution: - integrity: sha512-BEGgy+wSzux7Ycq58pRiWEOBZaXRXTuvzl1gsm7gqmsAHxkWf9nyA5V2LN9fGSHhhDQd0/C13iRzSh4bbIpWZQ== - /run-parallel/1.1.9: - dev: true - resolution: - integrity: sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - /safe-buffer/5.1.2: - dev: true - resolution: - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - /selfsigned/1.10.7: - dependencies: - node-forge: 0.9.0 - dev: true - resolution: - integrity: sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== - /serialize-javascript/2.1.2: - dev: true - resolution: - integrity: sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - /setprototypeof/1.1.0: - dev: true - resolution: - integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - /setprototypeof/1.1.1: - dev: true - resolution: - integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - /setprototypeof/1.2.0: - dev: true - resolution: - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - /shebang-command/2.0.0: - dependencies: - shebang-regex: 3.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - /shebang-regex/3.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - /signal-exit/3.0.3: - dev: true - resolution: - integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - /slash/3.0.0: - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - /solid-js/0.18.14: - dev: true - resolution: - integrity: sha512-XAmsf4WP16aQ0RJMNk50Xi0OD0QQK/OAA0aFnT2/7OsLzdjJVohrTf58fE7B7Zhk0CiEdCtkktX7MaxOvfY3RQ== - /source-map-support/0.5.19: - dependencies: - buffer-from: 1.1.1 - source-map: 0.6.1 - dev: true - resolution: - integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - /source-map/0.6.1: - dev: true - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - /sourcemap-codec/1.4.8: - dev: true - resolution: - integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - /sprintf-js/1.0.3: - dev: true - resolution: - integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - /statuses/1.5.0: - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - /string-hash/1.1.3: - dev: true - resolution: - integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - /strip-ansi/6.0.0: - dependencies: - ansi-regex: 5.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - /strip-final-newline/2.0.0: - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - /supports-color/5.5.0: - dependencies: - has-flag: 3.0.0 - dev: true - engines: - node: '>=4' - resolution: - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - /supports-color/6.1.0: - dependencies: - has-flag: 3.0.0 - dev: true - engines: - node: '>=6' - resolution: - integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - /supports-color/7.1.0: - dependencies: - has-flag: 4.0.0 - dev: true - engines: - node: '>=8' - resolution: - integrity: sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - /terser/4.8.0: - dependencies: - commander: 2.20.3 - source-map: 0.6.1 - source-map-support: 0.5.19 - dev: true - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - /thenify-all/1.6.0: - dependencies: - thenify: 3.3.1 - dev: true - engines: - node: '>=0.8' - resolution: - integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - /thenify/3.3.1: - dependencies: - any-promise: 1.3.0 - dev: true - resolution: - integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - /to-fast-properties/2.0.0: - dev: true - engines: - node: '>=4' - resolution: - integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - /to-regex-range/5.0.1: - dependencies: - is-number: 7.0.0 - dev: true - engines: - node: '>=8.0' - resolution: - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - /toidentifier/1.0.0: - dev: true - engines: - node: '>=0.6' - resolution: - integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - /tsscmp/1.0.6: - dev: true - engines: - node: '>=0.6.x' - resolution: - integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== - /type-is/1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.27 - dev: true - engines: - node: '>= 0.6' - resolution: - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - /uniq/1.0.1: - dev: true - resolution: - integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - /universalify/1.0.0: - dev: true - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - /vary/1.1.2: - dev: true - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - /vite/1.0.0-rc.4: - dependencies: - '@babel/parser': 7.10.4 - '@rollup/plugin-commonjs': 14.0.0_rollup@2.21.0 - '@rollup/plugin-json': 4.1.0_rollup@2.21.0 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.21.0 - '@types/koa': 2.11.3 - '@types/lru-cache': 5.1.0 - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/compiler-sfc': 3.0.0-rc.5_vue@3.0.0-rc.5 - brotli-size: 4.0.0 - chalk: 4.1.0 - chokidar: 3.4.0 - clean-css: 4.2.3 - debug: 4.1.1 - dotenv: 8.2.0 - dotenv-expand: 5.1.0 - es-module-lexer: 0.3.24 - esbuild: 0.6.12 - etag: 1.8.1 - execa: 4.0.3 - fs-extra: 9.0.1 - hash-sum: 2.0.0 - isbuiltin: 1.0.0 - koa: 2.13.0 - koa-conditional-get: 2.0.0 - koa-etag: 3.0.0 - koa-proxies: 0.11.0_koa@2.13.0 - koa-send: 5.0.1 - koa-static: 5.0.0 - lru-cache: 5.1.1 - magic-string: 0.25.7 - merge-source-map: 1.1.0 - mime-types: 2.1.27 - minimist: 1.2.5 - open: 7.0.4 - ora: 4.0.4 - postcss: 7.0.32 - postcss-discard-comments: 4.0.2 - postcss-import: 12.0.1 - postcss-load-config: 2.1.0 - resolve: 1.17.0 - rollup: 2.21.0 - rollup-plugin-dynamic-import-variables: 1.0.2_rollup@2.21.0 - rollup-plugin-terser: 5.3.0_rollup@2.21.0 - rollup-plugin-vue: 6.0.0-beta.10_@vue+compiler-sfc@3.0.0-rc.5 - rollup-plugin-web-worker-loader: 1.3.1_rollup@2.21.0 - rollup-pluginutils: 2.8.2 - selfsigned: 1.10.7 - slash: 3.0.0 - vue: 3.0.0-rc.5 - ws: 7.3.1 - dev: true - engines: - node: '>=10.16.0' - hasBin: true - resolution: - integrity: sha512-D9gpKKaE2U0YpIxNrSn+nlFPBT0sfg68Y1EReYW8YHMhbNFcxwS7RZIa1W/8Pq6yDfVRAhbOZNijv1mLG5pCEg== - /vue/3.0.0-rc.5: - dependencies: - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/runtime-dom': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: true - resolution: - integrity: sha512-8t8Y4sHMBGD5iLZ7JfBGmKBJlzesPoL+/nW9EV8s+4LwnKC4rGlRp+Lj2rcign4iQaj0GFaL7DrQ8IoOfVX6+w== - /wcwidth/1.0.1: - dependencies: - defaults: 1.0.3 - dev: true - resolution: - integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - /which/2.0.2: - dependencies: - isexe: 2.0.0 - dev: true - engines: - node: '>= 8' - hasBin: true - resolution: - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - /wrappy/1.0.2: - dev: true - resolution: - integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - /ws/7.3.1: - dev: true - engines: - node: '>=8.3.0' - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - resolution: - integrity: sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - /yallist/3.1.1: - dev: true - resolution: - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - /ylru/1.2.1: - dev: true - engines: - node: '>= 4.0.0' - resolution: - integrity: sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== -specifiers: - solid-js: ^0.18.14 - vite: ^1.0.0-rc.4 diff --git a/playground/src/index.html b/playground/src/index.html deleted file mode 100644 index 3911b48..0000000 --- a/playground/src/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - My Solid App - - -
- - - - diff --git a/playground/src/main.tsx b/playground/src/main.tsx deleted file mode 100644 index 2e0a902..0000000 --- a/playground/src/main.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { render } from "solid-js/dom"; - -const App = () =>

Hello world!!!

; - -export const rootEl = document.getElementById("app"); -export const dispose = render(() => App, rootEl); diff --git a/playground/tsconfig.json b/playground/tsconfig.json deleted file mode 100644 index 27c4e22..0000000 --- a/playground/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "jsx": "preserve", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "types": ["vite"] - } -} diff --git a/playground/vite.config.ts b/playground/vite.config.ts deleted file mode 100644 index 52452c1..0000000 --- a/playground/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { UserConfig } from "vite"; -const { solidPlugin } = require("../lib/plugin"); // This should work witrh import {} from '..' - -const config: UserConfig = { - root: "src", - outDir: "dist", - plugins: [solidPlugin()], -}; - -export default config; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index bddb695..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,2442 +0,0 @@ -dependencies: - '@babel/core': 7.11.1 - '@babel/preset-typescript': 7.10.4_@babel+core@7.11.1 - '@rollup/plugin-babel': 5.2.0_bb9fa204dd66da13a9274330a1882c7f - babel-preset-solid: 0.18.14_@babel+core@7.11.1 - dedent: 0.7.0 - solid-js: 0.18.14 - vite: 1.0.0-rc.4 -devDependencies: - '@types/babel__core': 7.1.9 - '@types/dedent': 0.7.0 - typescript: 4.0.0-beta -lockfileVersion: 5.1 -packages: - /@babel/code-frame/7.10.4: - dependencies: - '@babel/highlight': 7.10.4 - dev: false - resolution: - integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - /@babel/core/7.11.1: - dependencies: - '@babel/code-frame': 7.10.4 - '@babel/generator': 7.11.0 - '@babel/helper-module-transforms': 7.11.0 - '@babel/helpers': 7.10.4 - '@babel/parser': 7.11.3 - '@babel/template': 7.10.4 - '@babel/traverse': 7.11.0 - '@babel/types': 7.11.0 - convert-source-map: 1.7.0 - debug: 4.1.1 - gensync: 1.0.0-beta.1 - json5: 2.1.3 - lodash: 4.17.20 - resolve: 1.17.0 - semver: 5.7.1 - source-map: 0.5.7 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== - /@babel/generator/7.11.0: - dependencies: - '@babel/types': 7.11.0 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: false - resolution: - integrity: sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== - /@babel/helper-create-class-features-plugin/7.10.5_@babel+core@7.11.1: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-function-name': 7.10.4 - '@babel/helper-member-expression-to-functions': 7.11.0 - '@babel/helper-optimise-call-expression': 7.10.4 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/helper-replace-supers': 7.10.4 - '@babel/helper-split-export-declaration': 7.11.0 - dev: false - peerDependencies: - '@babel/core': ^7.0.0 - resolution: - integrity: sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== - /@babel/helper-function-name/7.10.4: - dependencies: - '@babel/helper-get-function-arity': 7.10.4 - '@babel/template': 7.10.4 - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - /@babel/helper-get-function-arity/7.10.4: - dependencies: - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - /@babel/helper-member-expression-to-functions/7.11.0: - dependencies: - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== - /@babel/helper-module-imports/7.10.4: - dependencies: - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - /@babel/helper-module-transforms/7.11.0: - dependencies: - '@babel/helper-module-imports': 7.10.4 - '@babel/helper-replace-supers': 7.10.4 - '@babel/helper-simple-access': 7.10.4 - '@babel/helper-split-export-declaration': 7.11.0 - '@babel/template': 7.10.4 - '@babel/types': 7.11.0 - lodash: 4.17.20 - dev: false - resolution: - integrity: sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== - /@babel/helper-optimise-call-expression/7.10.4: - dependencies: - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - /@babel/helper-plugin-utils/7.10.4: - dev: false - resolution: - integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - /@babel/helper-replace-supers/7.10.4: - dependencies: - '@babel/helper-member-expression-to-functions': 7.11.0 - '@babel/helper-optimise-call-expression': 7.10.4 - '@babel/traverse': 7.11.0 - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== - /@babel/helper-simple-access/7.10.4: - dependencies: - '@babel/template': 7.10.4 - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - /@babel/helper-split-export-declaration/7.11.0: - dependencies: - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - /@babel/helper-validator-identifier/7.10.4: - resolution: - integrity: sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - /@babel/helpers/7.10.4: - dependencies: - '@babel/template': 7.10.4 - '@babel/traverse': 7.11.0 - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - /@babel/highlight/7.10.4: - dependencies: - '@babel/helper-validator-identifier': 7.10.4 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: false - resolution: - integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - /@babel/parser/7.11.3: - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA== - /@babel/plugin-syntax-jsx/7.10.4_@babel+core@7.11.1: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-plugin-utils': 7.10.4 - dev: false - peerDependencies: - '@babel/core': ^7.0.0-0 - resolution: - integrity: sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== - /@babel/plugin-syntax-typescript/7.10.4_@babel+core@7.11.1: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-plugin-utils': 7.10.4 - dev: false - peerDependencies: - '@babel/core': ^7.0.0-0 - resolution: - integrity: sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ== - /@babel/plugin-transform-typescript/7.11.0_@babel+core@7.11.1: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-create-class-features-plugin': 7.10.5_@babel+core@7.11.1 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-typescript': 7.10.4_@babel+core@7.11.1 - dev: false - peerDependencies: - '@babel/core': ^7.0.0-0 - resolution: - integrity: sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w== - /@babel/preset-typescript/7.10.4_@babel+core@7.11.1: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-transform-typescript': 7.11.0_@babel+core@7.11.1 - dev: false - peerDependencies: - '@babel/core': ^7.0.0-0 - resolution: - integrity: sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ== - /@babel/template/7.10.4: - dependencies: - '@babel/code-frame': 7.10.4 - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - dev: false - resolution: - integrity: sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - /@babel/traverse/7.11.0: - dependencies: - '@babel/code-frame': 7.10.4 - '@babel/generator': 7.11.0 - '@babel/helper-function-name': 7.10.4 - '@babel/helper-split-export-declaration': 7.11.0 - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - debug: 4.1.1 - globals: 11.12.0 - lodash: 4.17.20 - dev: false - resolution: - integrity: sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== - /@babel/types/7.11.0: - dependencies: - '@babel/helper-validator-identifier': 7.10.4 - lodash: 4.17.20 - to-fast-properties: 2.0.0 - resolution: - integrity: sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== - /@nodelib/fs.scandir/2.1.3: - dependencies: - '@nodelib/fs.stat': 2.0.3 - run-parallel: 1.1.9 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - /@nodelib/fs.stat/2.0.3: - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - /@nodelib/fs.walk/1.2.4: - dependencies: - '@nodelib/fs.scandir': 2.1.3 - fastq: 1.8.0 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - /@rollup/plugin-babel/5.2.0_bb9fa204dd66da13a9274330a1882c7f: - dependencies: - '@babel/core': 7.11.1 - '@babel/helper-module-imports': 7.10.4 - '@rollup/pluginutils': 3.1.0 - '@types/babel__core': 7.1.9 - dev: false - engines: - node: '>= 10.0.0' - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - resolution: - integrity: sha512-CPABsajaKjINgBQ3it+yMnfVO3ibsrMBxRzbUOUw2cL1hsZJ7aogU8mgglQm3S2hHJgjnAmxPz0Rq7DVdmHsTw== - /@rollup/plugin-commonjs/14.0.0_rollup@2.24.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.24.0 - commondir: 1.0.1 - estree-walker: 1.0.1 - glob: 7.1.6 - is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.17.0 - rollup: 2.24.0 - dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^2.3.4 - resolution: - integrity: sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw== - /@rollup/plugin-json/4.1.0_rollup@2.24.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.24.0 - rollup: 2.24.0 - dev: false - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - resolution: - integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - /@rollup/plugin-node-resolve/8.4.0_rollup@2.24.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.24.0 - '@types/resolve': 1.17.1 - builtin-modules: 3.1.0 - deep-freeze: 0.0.1 - deepmerge: 4.2.2 - is-module: 1.0.0 - resolve: 1.17.0 - rollup: 2.24.0 - dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== - /@rollup/pluginutils/3.1.0: - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.2.2 - dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - /@rollup/pluginutils/3.1.0_rollup@2.24.0: - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.2.2 - rollup: 2.24.0 - dev: false - engines: - node: '>= 8.0.0' - peerDependencies: - rollup: ^1.20.0||^2.0.0 - resolution: - integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - /@types/accepts/1.3.5: - dependencies: - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== - /@types/babel__core/7.1.9: - dependencies: - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - '@types/babel__generator': 7.6.1 - '@types/babel__template': 7.0.2 - '@types/babel__traverse': 7.0.13 - dev: true - resolution: - integrity: sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== - /@types/babel__generator/7.6.1: - dependencies: - '@babel/types': 7.11.0 - dev: true - resolution: - integrity: sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== - /@types/babel__template/7.0.2: - dependencies: - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - dev: true - resolution: - integrity: sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - /@types/babel__traverse/7.0.13: - dependencies: - '@babel/types': 7.11.0 - dev: true - resolution: - integrity: sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== - /@types/body-parser/1.19.0: - dependencies: - '@types/connect': 3.4.33 - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - /@types/color-name/1.1.1: - dev: false - resolution: - integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - /@types/connect/3.4.33: - dependencies: - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== - /@types/content-disposition/0.5.3: - dev: false - resolution: - integrity: sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg== - /@types/cookies/0.7.4: - dependencies: - '@types/connect': 3.4.33 - '@types/express': 4.17.7 - '@types/keygrip': 1.0.2 - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw== - /@types/dedent/0.7.0: - dev: true - resolution: - integrity: sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A== - /@types/estree/0.0.39: - dev: false - resolution: - integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - /@types/estree/0.0.45: - dev: false - resolution: - integrity: sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== - /@types/express-serve-static-core/4.17.9: - dependencies: - '@types/node': 14.0.27 - '@types/qs': 6.9.4 - '@types/range-parser': 1.2.3 - dev: false - resolution: - integrity: sha512-DG0BYg6yO+ePW+XoDENYz8zhNGC3jDDEpComMYn7WJc4mY1Us8Rw9ax2YhJXxpyk2SF47PQAoQ0YyVT1a0bEkA== - /@types/express/4.17.7: - dependencies: - '@types/body-parser': 1.19.0 - '@types/express-serve-static-core': 4.17.9 - '@types/qs': 6.9.4 - '@types/serve-static': 1.13.5 - dev: false - resolution: - integrity: sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ== - /@types/http-assert/1.5.1: - dev: false - resolution: - integrity: sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== - /@types/keygrip/1.0.2: - dev: false - resolution: - integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw== - /@types/koa-compose/3.2.5: - dependencies: - '@types/koa': 2.11.3 - dev: false - resolution: - integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ== - /@types/koa/2.11.3: - dependencies: - '@types/accepts': 1.3.5 - '@types/content-disposition': 0.5.3 - '@types/cookies': 0.7.4 - '@types/http-assert': 1.5.1 - '@types/keygrip': 1.0.2 - '@types/koa-compose': 3.2.5 - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q== - /@types/lru-cache/5.1.0: - dev: false - resolution: - integrity: sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== - /@types/mime/2.0.3: - dev: false - resolution: - integrity: sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== - /@types/node/14.0.27: - dev: false - resolution: - integrity: sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== - /@types/qs/6.9.4: - dev: false - resolution: - integrity: sha512-+wYo+L6ZF6BMoEjtf8zB2esQsqdV6WsjRK/GP9WOgLPrq87PbNWgIxS76dS5uvl/QXtHGakZmwTznIfcPXcKlQ== - /@types/range-parser/1.2.3: - dev: false - resolution: - integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - /@types/resolve/1.17.1: - dependencies: - '@types/node': 14.0.27 - dev: false - resolution: - integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - /@types/serve-static/1.13.5: - dependencies: - '@types/express-serve-static-core': 4.17.9 - '@types/mime': 2.0.3 - dev: false - resolution: - integrity: sha512-6M64P58N+OXjU432WoLLBQxbA0LRGBCRm7aAGQJ+SMC1IMl0dgRVi9EFfoDcS2a7Xogygk/eGN94CfwU9UF7UQ== - /@vue/compiler-core/3.0.0-rc.5: - dependencies: - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - '@vue/shared': 3.0.0-rc.5 - estree-walker: 2.0.1 - source-map: 0.6.1 - dev: false - resolution: - integrity: sha512-dNz5AObEYg0Oglw3emIsBhTAOVfObrfxDaAzR0UTRDDq+Ohfr6KTSaVQAH88Ym+oa08ZlLZBFc6ARe9doAOIxg== - /@vue/compiler-dom/3.0.0-rc.5: - dependencies: - '@vue/compiler-core': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: false - resolution: - integrity: sha512-z8n+R1GhFnWuKURLYxfVSEfP7nSNM91qteobxwys55fhlZZuReouMnUwgrn+ois/IL6RdFlT9H+n4+N6yLrdJA== - /@vue/compiler-sfc/3.0.0-rc.5_vue@3.0.0-rc.5: - dependencies: - '@babel/parser': 7.11.3 - '@babel/types': 7.11.0 - '@vue/compiler-core': 3.0.0-rc.5 - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/compiler-ssr': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - consolidate: 0.15.1 - estree-walker: 2.0.1 - hash-sum: 2.0.0 - lru-cache: 5.1.1 - magic-string: 0.25.7 - merge-source-map: 1.1.0 - postcss: 7.0.32 - postcss-modules: 3.2.0 - postcss-selector-parser: 6.0.2 - source-map: 0.6.1 - vue: 3.0.0-rc.5 - dev: false - peerDependencies: - vue: 3.0.0-rc.5 - resolution: - integrity: sha512-huoIFEfFCJxHcpoByAUQti7CIwJdHPLJXKuy2HG7J1B+IEKugtBdF50CLH35ZD8dWM0nyOMFFqTbO7i6CCjL3Q== - /@vue/compiler-ssr/3.0.0-rc.5: - dependencies: - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: false - resolution: - integrity: sha512-OU5Vl2+bCDMImS9OeCVnl4lfxZ3/sopdwX2SrUWVKQvCxmmmlyWvoVkC6nNGCs/MrOmIMhKmL6etgzLTWyCkUg== - /@vue/reactivity/3.0.0-rc.5: - dependencies: - '@vue/shared': 3.0.0-rc.5 - dev: false - resolution: - integrity: sha512-oe9C+1jtWUdYL/iNc0OPWbwgOk2rOW2uQ+exx3I6Jo6PKOmnAiPkMElalf9vRnO53rnUphVecMp8BlTJvcNgDw== - /@vue/runtime-core/3.0.0-rc.5: - dependencies: - '@vue/reactivity': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: false - resolution: - integrity: sha512-MRIWreFigxdRuI2moFociUL5rVBfgYPrT7rWfQ0XfOyW46b+AiuCJyZvgbsRXwkAERfW1Tb/mY5forYjX2thOg== - /@vue/runtime-dom/3.0.0-rc.5: - dependencies: - '@vue/runtime-core': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - csstype: 2.6.13 - dev: false - resolution: - integrity: sha512-0jwpO3MBqMToq7qC816Z8Y6G8aN4ZKbv7MupgRaepzxhiK0sXcjLQmOATP3g/NyX52UCBJS4wAwsxidqGnAabA== - /@vue/shared/3.0.0-rc.5: - dev: false - resolution: - integrity: sha512-ZhcgGzBpp+pUzisZgQpM4ctIGgLpYjBj7/rZfbhEPxFHF/BuTV2jmhXvAl8aF9xDAejIcw85xCy92gDSwKtPag== - /accepts/1.3.7: - dependencies: - mime-types: 2.1.27 - negotiator: 0.6.2 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - /ansi-regex/5.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - /ansi-styles/3.2.1: - dependencies: - color-convert: 1.9.3 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - /ansi-styles/4.2.1: - dependencies: - '@types/color-name': 1.1.1 - color-convert: 2.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - /any-promise/1.3.0: - dev: false - resolution: - integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8= - /anymatch/3.1.1: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.2.2 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - /argparse/1.0.10: - dependencies: - sprintf-js: 1.0.3 - dev: false - resolution: - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - /array-union/2.1.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - /at-least-node/1.0.0: - dev: false - engines: - node: '>= 4.0.0' - resolution: - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - /babel-plugin-jsx-dom-expressions/0.19.10_@babel+core@7.11.1: - dependencies: - '@babel/helper-module-imports': 7.10.4 - '@babel/plugin-syntax-jsx': 7.10.4_@babel+core@7.11.1 - dev: false - peerDependencies: - '@babel/core': '*' - resolution: - integrity: sha512-/gpqeOSCPEt+hOREHlZIXhn8UjfXg5MZM56dWpGzuGB3+XsiWZ07Geh2yPrho0uwksMJP/OOO5Ipk+Oei8eTSQ== - /babel-preset-solid/0.18.14_@babel+core@7.11.1: - dependencies: - babel-plugin-jsx-dom-expressions: 0.19.10_@babel+core@7.11.1 - dev: false - peerDependencies: - '@babel/core': '*' - resolution: - integrity: sha512-plDadLGxyg0XiYNJO0bk2UuJP4u4hH6AWEGfELo7Ug3oQs2HvlTW12h77nDQaVr+45r3uhHuuJojZMDXxHaGPg== - /balanced-match/1.0.0: - dev: false - resolution: - integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - /big.js/5.2.2: - dev: false - resolution: - integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - /binary-extensions/2.1.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - /bluebird/3.7.2: - dev: false - resolution: - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - /brace-expansion/1.1.11: - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 - dev: false - resolution: - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - /braces/3.0.2: - dependencies: - fill-range: 7.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - /brotli-size/4.0.0: - dependencies: - duplexer: 0.1.1 - dev: false - engines: - node: '>= 10.16.0' - resolution: - integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA== - /buffer-from/1.1.1: - dev: false - resolution: - integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - /builtin-modules/1.1.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - /builtin-modules/3.1.0: - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== - /cache-content-type/1.0.1: - dependencies: - mime-types: 2.1.27 - ylru: 1.2.1 - dev: false - engines: - node: '>= 6.0.0' - resolution: - integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== - /caller-callsite/2.0.0: - dependencies: - callsites: 2.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - /caller-path/2.0.0: - dependencies: - caller-callsite: 2.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - /callsites/2.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - /chalk/2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - /chalk/3.0.0: - dependencies: - ansi-styles: 4.2.1 - supports-color: 7.1.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - /chalk/4.1.0: - dependencies: - ansi-styles: 4.2.1 - supports-color: 7.1.0 - dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - /chokidar/3.4.2: - dependencies: - anymatch: 3.1.1 - braces: 3.0.2 - glob-parent: 5.1.1 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.4.0 - dev: false - engines: - node: '>= 8.10.0' - optionalDependencies: - fsevents: 2.1.3 - resolution: - integrity: sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== - /clean-css/4.2.3: - dependencies: - source-map: 0.6.1 - dev: false - engines: - node: '>= 4.0' - resolution: - integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - /cli-cursor/3.1.0: - dependencies: - restore-cursor: 3.1.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - /cli-spinners/2.4.0: - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA== - /clone/1.0.4: - dev: false - engines: - node: '>=0.8' - resolution: - integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - /co/4.6.0: - dev: false - engines: - iojs: '>= 1.0.0' - node: '>= 0.12.0' - resolution: - integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - /color-convert/1.9.3: - dependencies: - color-name: 1.1.3 - dev: false - resolution: - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - /color-convert/2.0.1: - dependencies: - color-name: 1.1.4 - dev: false - engines: - node: '>=7.0.0' - resolution: - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - /color-name/1.1.3: - dev: false - resolution: - integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - /color-name/1.1.4: - dev: false - resolution: - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - /commander/2.20.3: - dev: false - resolution: - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - /commondir/1.0.1: - dev: false - resolution: - integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - /concat-map/0.0.1: - dev: false - resolution: - integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - /consolidate/0.15.1: - dependencies: - bluebird: 3.7.2 - dev: false - engines: - node: '>= 0.10.0' - resolution: - integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - /content-disposition/0.5.3: - dependencies: - safe-buffer: 5.1.2 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - /content-type/1.0.4: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - /convert-source-map/1.7.0: - dependencies: - safe-buffer: 5.1.2 - dev: false - resolution: - integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - /cookies/0.8.0: - dependencies: - depd: 2.0.0 - keygrip: 1.1.0 - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== - /cosmiconfig/5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.0 - parse-json: 4.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - /cross-spawn/7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - /cssesc/3.0.0: - dev: false - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - /csstype/2.6.13: - dev: false - resolution: - integrity: sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A== - /debug/3.1.0: - dependencies: - ms: 2.0.0 - dev: false - resolution: - integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - /debug/3.2.6: - dependencies: - ms: 2.1.2 - dev: false - resolution: - integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - /debug/4.1.1: - dependencies: - ms: 2.1.2 - dev: false - resolution: - integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - /dedent/0.7.0: - dev: false - resolution: - integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - /deep-equal/1.0.1: - dev: false - resolution: - integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - /deep-freeze/0.0.1: - dev: false - resolution: - integrity: sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ= - /deepmerge/4.2.2: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - /defaults/1.0.3: - dependencies: - clone: 1.0.4 - dev: false - resolution: - integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - /delegates/1.0.0: - dev: false - resolution: - integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - /depd/1.1.2: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - /depd/2.0.0: - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - /destroy/1.0.4: - dev: false - resolution: - integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - /dir-glob/3.0.1: - dependencies: - path-type: 4.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - /dotenv-expand/5.1.0: - dev: false - resolution: - integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - /dotenv/8.2.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - /duplexer/0.1.1: - dev: false - resolution: - integrity: sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - /ee-first/1.1.1: - dev: false - resolution: - integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /emojis-list/3.0.0: - dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - /encodeurl/1.0.2: - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - /end-of-stream/1.4.4: - dependencies: - once: 1.4.0 - dev: false - resolution: - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - /error-ex/1.3.2: - dependencies: - is-arrayish: 0.2.1 - dev: false - resolution: - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - /es-module-lexer/0.3.24: - dev: false - resolution: - integrity: sha512-jm/i7KdJtaMDle921xIsA/MQQOGuZ6goYxhlV+k+gQNI7FtP4N6jknrmJvj++3ODpiyFGwQ4PIstJfHJQJNc+g== - /esbuild/0.6.22: - dev: false - hasBin: true - requiresBuild: true - resolution: - integrity: sha512-dgcdoOZ7rghMageuGFS6geQ77UacoZ/qrd0MRc2iPnYtMNfQ1cJ7mVkotVpUDJYdOWvLVa87NFEtqPg7D2mKSA== - /escape-html/1.0.3: - dev: false - resolution: - integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - /escape-string-regexp/1.0.5: - dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - /esprima/4.0.1: - dev: false - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - /estree-walker/0.6.1: - dev: false - resolution: - integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - /estree-walker/1.0.1: - dev: false - resolution: - integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - /estree-walker/2.0.1: - dev: false - resolution: - integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== - /etag/1.8.1: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - /eventemitter3/4.0.4: - dev: false - resolution: - integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - /execa/4.0.3: - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.0 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.3 - strip-final-newline: 2.0.0 - dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - /fast-glob/3.2.4: - dependencies: - '@nodelib/fs.stat': 2.0.3 - '@nodelib/fs.walk': 1.2.4 - glob-parent: 5.1.1 - merge2: 1.4.1 - micromatch: 4.0.2 - picomatch: 2.2.2 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - /fastq/1.8.0: - dependencies: - reusify: 1.0.4 - dev: false - resolution: - integrity: sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== - /fill-range/7.0.1: - dependencies: - to-regex-range: 5.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - /follow-redirects/1.13.0: - dev: false - engines: - node: '>=4.0' - resolution: - integrity: sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - /fresh/0.5.2: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - /fs-extra/9.0.1: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.4 - jsonfile: 6.0.1 - universalify: 1.0.0 - dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - /fs.realpath/1.0.0: - dev: false - resolution: - integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - /fsevents/2.1.3: - dev: false - engines: - node: ^8.16.0 || ^10.6.0 || >=11.0.0 - optional: true - os: - - darwin - resolution: - integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - /generic-names/2.0.1: - dependencies: - loader-utils: 1.4.0 - dev: false - resolution: - integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== - /gensync/1.0.0-beta.1: - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - /get-stream/5.2.0: - dependencies: - pump: 3.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - /glob-parent/5.1.1: - dependencies: - is-glob: 4.0.1 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - /glob/7.1.6: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: false - resolution: - integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - /globals/11.12.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - /globby/11.0.1: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.4 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: false - engines: - node: '>=10' - resolution: - integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - /graceful-fs/4.2.4: - dev: false - resolution: - integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - /has-flag/3.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - /has-flag/4.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - /hash-sum/2.0.0: - dev: false - resolution: - integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - /http-assert/1.4.1: - dependencies: - deep-equal: 1.0.1 - http-errors: 1.7.3 - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== - /http-errors/1.4.0: - dependencies: - inherits: 2.0.1 - statuses: 1.5.0 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8= - /http-errors/1.6.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - /http-errors/1.7.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - /http-errors/1.8.0: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== - /http-proxy/1.18.1: - dependencies: - eventemitter3: 4.0.4 - follow-redirects: 1.13.0 - requires-port: 1.0.0 - dev: false - engines: - node: '>=8.0.0' - resolution: - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - /human-signals/1.1.1: - dev: false - engines: - node: '>=8.12.0' - resolution: - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - /icss-replace-symbols/1.1.0: - dev: false - resolution: - integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - /icss-utils/4.1.1: - dependencies: - postcss: 7.0.32 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - /ignore/5.1.8: - dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - /import-cwd/2.1.0: - dependencies: - import-from: 2.1.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - /import-fresh/2.0.0: - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - /import-from/2.1.0: - dependencies: - resolve-from: 3.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-M1238qev/VOqpHHUuAId7ja387E= - /indexes-of/1.0.1: - dev: false - resolution: - integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - /inflight/1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: false - resolution: - integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - /inherits/2.0.1: - dev: false - resolution: - integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - /inherits/2.0.3: - dev: false - resolution: - integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - /inherits/2.0.4: - dev: false - resolution: - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - /is-arrayish/0.2.1: - dev: false - resolution: - integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - /is-binary-path/2.1.0: - dependencies: - binary-extensions: 2.1.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - /is-directory/0.3.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - /is-docker/2.1.1: - dev: false - engines: - node: '>=8' - hasBin: true - resolution: - integrity: sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - /is-extglob/2.1.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - /is-generator-function/1.0.7: - dev: false - engines: - node: '>= 0.4' - resolution: - integrity: sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - /is-glob/4.0.1: - dependencies: - is-extglob: 2.1.1 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - /is-interactive/1.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - /is-module/1.0.0: - dev: false - resolution: - integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - /is-number/7.0.0: - dev: false - engines: - node: '>=0.12.0' - resolution: - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - /is-reference/1.2.1: - dependencies: - '@types/estree': 0.0.45 - dev: false - resolution: - integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - /is-stream/2.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - /is-wsl/2.2.0: - dependencies: - is-docker: 2.1.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - /isarray/0.0.1: - dev: false - resolution: - integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - /isbuiltin/1.0.0: - dependencies: - builtin-modules: 1.1.1 - dev: false - resolution: - integrity: sha1-RFOykVaQy0fAy5ySVaCAd3gxXJY= - /isexe/2.0.0: - dev: false - resolution: - integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - /jest-worker/24.9.0: - dependencies: - merge-stream: 2.0.0 - supports-color: 6.1.0 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - /js-tokens/4.0.0: - dev: false - resolution: - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - /js-yaml/3.14.0: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: false - hasBin: true - resolution: - integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - /jsesc/2.5.2: - dev: false - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - /json-parse-better-errors/1.0.2: - dev: false - resolution: - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - /json5/1.0.1: - dependencies: - minimist: 1.2.5 - dev: false - hasBin: true - resolution: - integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - /json5/2.1.3: - dependencies: - minimist: 1.2.5 - dev: false - engines: - node: '>=6' - hasBin: true - resolution: - integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - /jsonfile/6.0.1: - dependencies: - universalify: 1.0.0 - dev: false - optionalDependencies: - graceful-fs: 4.2.4 - resolution: - integrity: sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - /keygrip/1.1.0: - dependencies: - tsscmp: 1.0.6 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== - /koa-compose/3.2.1: - dependencies: - any-promise: 1.3.0 - dev: false - resolution: - integrity: sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - /koa-compose/4.1.0: - dev: false - resolution: - integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - /koa-conditional-get/2.0.0: - dev: false - resolution: - integrity: sha1-pD83I8HQFLcwo07Oit8wuTyCM/I= - /koa-convert/1.2.0: - dependencies: - co: 4.6.0 - koa-compose: 3.2.1 - dev: false - engines: - node: '>= 4' - resolution: - integrity: sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - /koa-etag/3.0.0: - dependencies: - etag: 1.8.1 - mz: 2.7.0 - dev: false - resolution: - integrity: sha1-nvc4Ld1agqsN6xU0FckVg293HT8= - /koa-proxies/0.11.0_koa@2.13.0: - dependencies: - http-proxy: 1.18.1 - koa: 2.13.0 - path-match: 1.2.4 - dev: false - peerDependencies: - koa: '>=2' - resolution: - integrity: sha512-iXGRADBE0fM7g7AttNOlLZ/cCFKXeVMHbFJKIRb0dUCrSYXi02loyVSdBlKlBQ5ZfVKJLo9Q9FyqwVTp1poVVA== - /koa-send/5.0.1: - dependencies: - debug: 4.1.1 - http-errors: 1.8.0 - resolve-path: 1.4.0 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== - /koa-static/5.0.0: - dependencies: - debug: 3.2.6 - koa-send: 5.0.1 - dev: false - engines: - node: '>= 7.6.0' - resolution: - integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - /koa/2.13.0: - dependencies: - accepts: 1.3.7 - cache-content-type: 1.0.1 - content-disposition: 0.5.3 - content-type: 1.0.4 - cookies: 0.8.0 - debug: 3.1.0 - delegates: 1.0.0 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.4.1 - http-errors: 1.8.0 - is-generator-function: 1.0.7 - koa-compose: 4.1.0 - koa-convert: 1.2.0 - on-finished: 2.3.0 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - engines: - node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4 - resolution: - integrity: sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ== - /loader-utils/1.4.0: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.1 - dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - /lodash.camelcase/4.3.0: - dev: false - resolution: - integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - /lodash/4.17.20: - resolution: - integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - /log-symbols/3.0.0: - dependencies: - chalk: 2.4.2 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - /lru-cache/5.1.1: - dependencies: - yallist: 3.1.1 - dev: false - resolution: - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - /magic-string/0.25.7: - dependencies: - sourcemap-codec: 1.4.8 - dev: false - resolution: - integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - /media-typer/0.3.0: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - /merge-source-map/1.1.0: - dependencies: - source-map: 0.6.1 - dev: false - resolution: - integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - /merge-stream/2.0.0: - dev: false - resolution: - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - /merge2/1.4.1: - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - /micromatch/4.0.2: - dependencies: - braces: 3.0.2 - picomatch: 2.2.2 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - /mime-db/1.44.0: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - /mime-types/2.1.27: - dependencies: - mime-db: 1.44.0 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - /mimic-fn/2.1.0: - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - /minimatch/3.0.4: - dependencies: - brace-expansion: 1.1.11 - dev: false - resolution: - integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - /minimist/1.2.5: - dev: false - resolution: - integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - /ms/2.0.0: - dev: false - resolution: - integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - /ms/2.1.2: - dev: false - resolution: - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - /mute-stream/0.0.8: - dev: false - resolution: - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - /mz/2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: false - resolution: - integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - /negotiator/0.6.2: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - /node-forge/0.9.0: - dev: false - engines: - node: '>= 4.5.0' - resolution: - integrity: sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - /normalize-path/3.0.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - /npm-run-path/4.0.1: - dependencies: - path-key: 3.1.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - /object-assign/4.1.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - /on-finished/2.3.0: - dependencies: - ee-first: 1.1.1 - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - /once/1.4.0: - dependencies: - wrappy: 1.0.2 - dev: false - resolution: - integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - /onetime/5.1.2: - dependencies: - mimic-fn: 2.1.0 - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - /only/0.0.2: - dev: false - resolution: - integrity: sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - /open/7.1.0: - dependencies: - is-docker: 2.1.1 - is-wsl: 2.2.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-lLPI5KgOwEYCDKXf4np7y1PBEkj7HYIyP2DY8mVDRnx0VIIu6bNrRB0R66TuO7Mack6EnTNLm4uvcl1UoklTpA== - /ora/4.1.1: - dependencies: - chalk: 3.0.0 - cli-cursor: 3.1.0 - cli-spinners: 2.4.0 - is-interactive: 1.0.0 - log-symbols: 3.0.0 - mute-stream: 0.0.8 - strip-ansi: 6.0.0 - wcwidth: 1.0.1 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== - /parse-json/4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - /parseurl/1.3.3: - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - /path-is-absolute/1.0.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - /path-key/3.1.1: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - /path-match/1.2.4: - dependencies: - http-errors: 1.4.0 - path-to-regexp: 1.8.0 - dev: false - resolution: - integrity: sha1-pidH88fgwlFHYml/JEQ1hbCRAOo= - /path-parse/1.0.6: - dev: false - resolution: - integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - /path-to-regexp/1.8.0: - dependencies: - isarray: 0.0.1 - dev: false - resolution: - integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - /path-type/4.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - /picomatch/2.2.2: - dev: false - engines: - node: '>=8.6' - resolution: - integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - /pify/2.3.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - /postcss-discard-comments/4.0.2: - dependencies: - postcss: 7.0.32 - dev: false - engines: - node: '>=6.9.0' - resolution: - integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - /postcss-import/12.0.1: - dependencies: - postcss: 7.0.32 - postcss-value-parser: 3.3.1 - read-cache: 1.0.0 - resolve: 1.17.0 - dev: false - engines: - node: '>=6.0.0' - resolution: - integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== - /postcss-load-config/2.1.0: - dependencies: - cosmiconfig: 5.2.1 - import-cwd: 2.1.0 - dev: false - engines: - node: '>= 4' - resolution: - integrity: sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - /postcss-modules-extract-imports/2.0.0: - dependencies: - postcss: 7.0.32 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - /postcss-modules-local-by-default/3.0.3: - dependencies: - icss-utils: 4.1.1 - postcss: 7.0.32 - postcss-selector-parser: 6.0.2 - postcss-value-parser: 4.1.0 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - /postcss-modules-scope/2.2.0: - dependencies: - postcss: 7.0.32 - postcss-selector-parser: 6.0.2 - dev: false - engines: - node: '>= 6' - resolution: - integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - /postcss-modules-values/3.0.0: - dependencies: - icss-utils: 4.1.1 - postcss: 7.0.32 - dev: false - resolution: - integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - /postcss-modules/3.2.0: - dependencies: - generic-names: 2.0.1 - icss-replace-symbols: 1.1.0 - lodash.camelcase: 4.3.0 - postcss: 7.0.32 - postcss-modules-extract-imports: 2.0.0 - postcss-modules-local-by-default: 3.0.3 - postcss-modules-scope: 2.2.0 - postcss-modules-values: 3.0.0 - string-hash: 1.1.3 - dev: false - resolution: - integrity: sha512-ceodlVbBypGD3R7EI1xM7gz28J0syaXq0VKd7rJVXVlOSkxUIRBRJQjBgpoKnKVFNAcCjtLVgZqBA3mUNntWPA== - /postcss-selector-parser/6.0.2: - dependencies: - cssesc: 3.0.0 - indexes-of: 1.0.1 - uniq: 1.0.1 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - /postcss-value-parser/3.3.1: - dev: false - resolution: - integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - /postcss-value-parser/4.1.0: - dev: false - resolution: - integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - /postcss/7.0.32: - dependencies: - chalk: 2.4.2 - source-map: 0.6.1 - supports-color: 6.1.0 - dev: false - engines: - node: '>=6.0.0' - resolution: - integrity: sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - /pump/3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - resolution: - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - /read-cache/1.0.0: - dependencies: - pify: 2.3.0 - dev: false - resolution: - integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= - /readdirp/3.4.0: - dependencies: - picomatch: 2.2.2 - dev: false - engines: - node: '>=8.10.0' - resolution: - integrity: sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - /requires-port/1.0.0: - dev: false - resolution: - integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - /resolve-from/3.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-six699nWiBvItuZTM17rywoYh0g= - /resolve-path/1.4.0: - dependencies: - http-errors: 1.6.3 - path-is-absolute: 1.0.1 - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - /resolve/1.17.0: - dependencies: - path-parse: 1.0.6 - dev: false - resolution: - integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - /restore-cursor/3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.3 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - /reusify/1.0.4: - dev: false - engines: - iojs: '>=1.0.0' - node: '>=0.10.0' - resolution: - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - /rollup-plugin-dynamic-import-variables/1.1.0_rollup@2.24.0: - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.24.0 - estree-walker: 2.0.1 - globby: 11.0.1 - magic-string: 0.25.7 - dev: false - peerDependencies: - rollup: '*' - resolution: - integrity: sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw== - /rollup-plugin-terser/5.3.0_rollup@2.24.0: - dependencies: - '@babel/code-frame': 7.10.4 - jest-worker: 24.9.0 - rollup: 2.24.0 - rollup-pluginutils: 2.8.2 - serialize-javascript: 2.1.2 - terser: 4.8.0 - dev: false - peerDependencies: - rollup: '>=0.66.0 <3' - resolution: - integrity: sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== - /rollup-plugin-vue/6.0.0-beta.10_@vue+compiler-sfc@3.0.0-rc.5: - dependencies: - '@vue/compiler-sfc': 3.0.0-rc.5_vue@3.0.0-rc.5 - debug: 4.1.1 - hash-sum: 2.0.0 - rollup-pluginutils: 2.8.2 - dev: false - peerDependencies: - '@vue/compiler-sfc': '*' - resolution: - integrity: sha512-8TZJmROiSRjWoHRR6id0/ktOBOUGuI302xDBq4YBiA/tnnXdoY3oFGtvRWzT5ldX0jTJ8QX40rrJOw2SvcWwxQ== - /rollup-plugin-web-worker-loader/1.3.1_rollup@2.24.0: - dependencies: - rollup: 2.24.0 - dev: false - peerDependencies: - rollup: ^1.9.2 || ^2.0.0 - resolution: - integrity: sha512-Td36kmB4iz10xqI/gJFCv2xZZ21fY6E7AGVFOT3PWIDkM1BeBrfuzeNh1tFIkD6fHtjQhppnedkYFaIlGHuEvA== - /rollup-pluginutils/2.8.2: - dependencies: - estree-walker: 0.6.1 - dev: false - resolution: - integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - /rollup/2.24.0: - dev: false - engines: - node: '>=10.0.0' - hasBin: true - optionalDependencies: - fsevents: 2.1.3 - resolution: - integrity: sha512-UaTQNUUjKT9NANDGOlZ2fZW9wL7OPYH8RS6CrHjsjdwlboc//xBDET5Q7WZOD2k+cJ2iD2fEnq4fnpVo2eTjGA== - /run-parallel/1.1.9: - dev: false - resolution: - integrity: sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - /safe-buffer/5.1.2: - dev: false - resolution: - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - /selfsigned/1.10.7: - dependencies: - node-forge: 0.9.0 - dev: false - resolution: - integrity: sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== - /semver/5.7.1: - dev: false - hasBin: true - resolution: - integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - /serialize-javascript/2.1.2: - dev: false - resolution: - integrity: sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - /setprototypeof/1.1.0: - dev: false - resolution: - integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - /setprototypeof/1.1.1: - dev: false - resolution: - integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - /setprototypeof/1.2.0: - dev: false - resolution: - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - /shebang-command/2.0.0: - dependencies: - shebang-regex: 3.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - /shebang-regex/3.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - /signal-exit/3.0.3: - dev: false - resolution: - integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - /slash/3.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - /solid-js/0.18.14: - dev: false - resolution: - integrity: sha512-XAmsf4WP16aQ0RJMNk50Xi0OD0QQK/OAA0aFnT2/7OsLzdjJVohrTf58fE7B7Zhk0CiEdCtkktX7MaxOvfY3RQ== - /source-map-support/0.5.19: - dependencies: - buffer-from: 1.1.1 - source-map: 0.6.1 - dev: false - resolution: - integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - /source-map/0.5.7: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - /source-map/0.6.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - /sourcemap-codec/1.4.8: - dev: false - resolution: - integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - /sprintf-js/1.0.3: - dev: false - resolution: - integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - /statuses/1.5.0: - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - /string-hash/1.1.3: - dev: false - resolution: - integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - /strip-ansi/6.0.0: - dependencies: - ansi-regex: 5.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - /strip-final-newline/2.0.0: - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - /supports-color/5.5.0: - dependencies: - has-flag: 3.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - /supports-color/6.1.0: - dependencies: - has-flag: 3.0.0 - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - /supports-color/7.1.0: - dependencies: - has-flag: 4.0.0 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - /terser/4.8.0: - dependencies: - commander: 2.20.3 - source-map: 0.6.1 - source-map-support: 0.5.19 - dev: false - engines: - node: '>=6.0.0' - hasBin: true - resolution: - integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - /thenify-all/1.6.0: - dependencies: - thenify: 3.3.1 - dev: false - engines: - node: '>=0.8' - resolution: - integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - /thenify/3.3.1: - dependencies: - any-promise: 1.3.0 - dev: false - resolution: - integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - /to-fast-properties/2.0.0: - engines: - node: '>=4' - resolution: - integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - /to-regex-range/5.0.1: - dependencies: - is-number: 7.0.0 - dev: false - engines: - node: '>=8.0' - resolution: - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - /toidentifier/1.0.0: - dev: false - engines: - node: '>=0.6' - resolution: - integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - /tsscmp/1.0.6: - dev: false - engines: - node: '>=0.6.x' - resolution: - integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== - /type-is/1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.27 - dev: false - engines: - node: '>= 0.6' - resolution: - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - /typescript/4.0.0-beta: - dev: true - engines: - node: '>=4.2.0' - hasBin: true - resolution: - integrity: sha512-d3s/CogGtB2uPZ2Z8ts6eoUxxyB9PH3R27/UrzvpthuOvpCg4FWWnBbBiqJ0K4eu6eTlgmLiqQkh2dquReJweA== - /uniq/1.0.1: - dev: false - resolution: - integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - /universalify/1.0.0: - dev: false - engines: - node: '>= 10.0.0' - resolution: - integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - /vary/1.1.2: - dev: false - engines: - node: '>= 0.8' - resolution: - integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - /vite/1.0.0-rc.4: - dependencies: - '@babel/parser': 7.11.3 - '@rollup/plugin-commonjs': 14.0.0_rollup@2.24.0 - '@rollup/plugin-json': 4.1.0_rollup@2.24.0 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.24.0 - '@types/koa': 2.11.3 - '@types/lru-cache': 5.1.0 - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/compiler-sfc': 3.0.0-rc.5_vue@3.0.0-rc.5 - brotli-size: 4.0.0 - chalk: 4.1.0 - chokidar: 3.4.2 - clean-css: 4.2.3 - debug: 4.1.1 - dotenv: 8.2.0 - dotenv-expand: 5.1.0 - es-module-lexer: 0.3.24 - esbuild: 0.6.22 - etag: 1.8.1 - execa: 4.0.3 - fs-extra: 9.0.1 - hash-sum: 2.0.0 - isbuiltin: 1.0.0 - koa: 2.13.0 - koa-conditional-get: 2.0.0 - koa-etag: 3.0.0 - koa-proxies: 0.11.0_koa@2.13.0 - koa-send: 5.0.1 - koa-static: 5.0.0 - lru-cache: 5.1.1 - magic-string: 0.25.7 - merge-source-map: 1.1.0 - mime-types: 2.1.27 - minimist: 1.2.5 - open: 7.1.0 - ora: 4.1.1 - postcss: 7.0.32 - postcss-discard-comments: 4.0.2 - postcss-import: 12.0.1 - postcss-load-config: 2.1.0 - resolve: 1.17.0 - rollup: 2.24.0 - rollup-plugin-dynamic-import-variables: 1.1.0_rollup@2.24.0 - rollup-plugin-terser: 5.3.0_rollup@2.24.0 - rollup-plugin-vue: 6.0.0-beta.10_@vue+compiler-sfc@3.0.0-rc.5 - rollup-plugin-web-worker-loader: 1.3.1_rollup@2.24.0 - rollup-pluginutils: 2.8.2 - selfsigned: 1.10.7 - slash: 3.0.0 - vue: 3.0.0-rc.5 - ws: 7.3.1 - dev: false - engines: - node: '>=10.16.0' - hasBin: true - resolution: - integrity: sha512-D9gpKKaE2U0YpIxNrSn+nlFPBT0sfg68Y1EReYW8YHMhbNFcxwS7RZIa1W/8Pq6yDfVRAhbOZNijv1mLG5pCEg== - /vue/3.0.0-rc.5: - dependencies: - '@vue/compiler-dom': 3.0.0-rc.5 - '@vue/runtime-dom': 3.0.0-rc.5 - '@vue/shared': 3.0.0-rc.5 - dev: false - resolution: - integrity: sha512-8t8Y4sHMBGD5iLZ7JfBGmKBJlzesPoL+/nW9EV8s+4LwnKC4rGlRp+Lj2rcign4iQaj0GFaL7DrQ8IoOfVX6+w== - /wcwidth/1.0.1: - dependencies: - defaults: 1.0.3 - dev: false - resolution: - integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - /which/2.0.2: - dependencies: - isexe: 2.0.0 - dev: false - engines: - node: '>= 8' - hasBin: true - resolution: - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - /wrappy/1.0.2: - dev: false - resolution: - integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - /ws/7.3.1: - dev: false - engines: - node: '>=8.3.0' - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - resolution: - integrity: sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - /yallist/3.1.1: - dev: false - resolution: - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - /ylru/1.2.1: - dev: false - engines: - node: '>= 4.0.0' - resolution: - integrity: sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== -specifiers: - '@babel/core': ^7.11.1 - '@babel/preset-typescript': ^7.10.4 - '@rollup/plugin-babel': ^5.2.0 - '@types/babel__core': ^7.1.9 - '@types/dedent': ^0.7.0 - babel-preset-solid: ^0.18.14 - dedent: ^0.7.0 - solid-js: ^0.18.14 - typescript: beta - vite: ^1.0.0-rc.4 diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..83f396b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3892 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 4 + cacheKey: 6 + +"@amoutonbrady/vite-plugin-solid@workspace:.": + version: 0.0.0-use.local + resolution: "@amoutonbrady/vite-plugin-solid@workspace:." + dependencies: + "@babel/core": ^7.11.6 + "@babel/preset-typescript": ^7.10.4 + "@babel/types": ^7.11.5 + "@rollup/plugin-babel": ^5.2.1 + "@types/babel__core": ^7.1.10 + "@types/dedent": ^0.7.0 + "@types/node": ^14.11.2 + babel-preset-solid: ^0.20.0 + dedent: ^0.7.0 + rollup: ^2.28.2 + solid-js: ^0.20.0 + source-map: ^0.7.3 + typescript: ^4.0.3 + vite: ^1.0.0-rc.4 + peerDependencies: + solid-js: ^0.20.0 || ^1.0.0 + vite: ^1.0.0-rc.4 || ^1.0.0 + languageName: unknown + linkType: soft + +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.5.5": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 05245d3b22a3ae849439195c4ee9ce9903dfd8c3fcb5124e77923c45e9f1ceac971cce4c61505974f411a9db432949531abe10ddee92937a0a9c306dc380a5b2 + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6": + version: 7.11.6 + resolution: "@babel/core@npm:7.11.6" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/generator": ^7.11.6 + "@babel/helper-module-transforms": ^7.11.0 + "@babel/helpers": ^7.10.4 + "@babel/parser": ^7.11.5 + "@babel/template": ^7.10.4 + "@babel/traverse": ^7.11.5 + "@babel/types": ^7.11.5 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.1 + json5: ^2.1.2 + lodash: ^4.17.19 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: ad61c22807c904247ae61f11d176b33b3e44f0f2ca3b8d2b31e781ebd558db3381291f5a8a6a3acc28f5c1d6fdbb2b3ad29ca73b4d656d128a406e641b2e985a + languageName: node + linkType: hard + +"@babel/generator@npm:^7.11.5, @babel/generator@npm:^7.11.6": + version: 7.11.6 + resolution: "@babel/generator@npm:7.11.6" + dependencies: + "@babel/types": ^7.11.5 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 734bd60e018deaf7712c111bb5092d0382d3c217399569f1137f0100f672bcc1a086ae3a34efa0d604951ba9070f9bf554a4690c6bfe39123b05b89a4444e9c7 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.10.5": + version: 7.10.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.10.5" + dependencies: + "@babel/helper-function-name": ^7.10.4 + "@babel/helper-member-expression-to-functions": ^7.10.5 + "@babel/helper-optimise-call-expression": ^7.10.4 + "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-replace-supers": ^7.10.4 + "@babel/helper-split-export-declaration": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: ba8fb0f7b7788d0fde2341314a86d0d5705ed17537eba1e319bb0e532125c5b97fc142633ae1605615be9f45cb6cbf19879c13e626610ecd3be1821d651a1423 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-function-name@npm:7.10.4" + dependencies: + "@babel/helper-get-function-arity": ^7.10.4 + "@babel/template": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 41ab8f48bbb7d4a65a90a4cf50c79c386d3c30e0dac10bc3ce311fda2ca971d82289a07570a785ebac92686854237ea1e511e74f2577a38c7ec2d67f2a250a9e + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-get-function-arity@npm:7.10.4" + dependencies: + "@babel/types": ^7.10.4 + checksum: 4f0ddd43405e5a43c0638ddeb9fd6fc562ce8f338983ae603d4824ce4b586c2ca2fbc0ca93864357ba3a28f699029653749c6b49ec8576cb512ab0f404500999 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.10.4, @babel/helper-member-expression-to-functions@npm:^7.10.5": + version: 7.11.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.11.0" + dependencies: + "@babel/types": ^7.11.0 + checksum: 745f0697ca43736736d936125d563070a4e0da4eb90cf67be45d46c18b622106a14923d9541a6f217207b83f67d0113b0a69c01f1f207fe8be086637722433f3 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-module-imports@npm:7.10.4" + dependencies: + "@babel/types": ^7.10.4 + checksum: 84d03b58e7f04daf7c5a80765c527c24021ddbf4051567381528e2b351a550451dd87f67bf7a66f251dffcc979cd2ddaa01e1defd8b8db1095d38005e18eb806 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.11.0": + version: 7.11.0 + resolution: "@babel/helper-module-transforms@npm:7.11.0" + dependencies: + "@babel/helper-module-imports": ^7.10.4 + "@babel/helper-replace-supers": ^7.10.4 + "@babel/helper-simple-access": ^7.10.4 + "@babel/helper-split-export-declaration": ^7.11.0 + "@babel/template": ^7.10.4 + "@babel/types": ^7.11.0 + lodash: ^4.17.19 + checksum: 8b74d0a729f00c5880ed7927e333a6b4bc31739108fbbbdd94b0cf28599f49c78f1e48f16b12bec0b1c966ba1ca72faf10eb98019617ef470a6885cc891e97f6 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-optimise-call-expression@npm:7.10.4" + dependencies: + "@babel/types": ^7.10.4 + checksum: 70dd5a6daf6dc9f176dbfcac4afc1390d872821abe4ffaedf3ff0b1dbda8fb4b49efdeb612ae86c08f0773340583ce6e393a7a059727991aaa51b18de1fc0960 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-plugin-utils@npm:7.10.4" + checksum: 9f617e619a3557cb5fae8885e91cd94ba4ee16fb345e0360de0d7dc037efb10cc604939ecc1038ccdb71aa37e7e78f20133d7bbbebecb8f6dcdb557650366d92 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-replace-supers@npm:7.10.4" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.10.4 + "@babel/helper-optimise-call-expression": ^7.10.4 + "@babel/traverse": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 2d7e0627cda8d6f360e52d9c962746fb5818cb6599072d4473fc1e7a2eacfb1a2605a1727d95ae9af66e06e1b84c0a67d40ae16446f838d367de11ae198ee0f8 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-simple-access@npm:7.10.4" + dependencies: + "@babel/template": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: a7ce52a2295b9290b70cfbdd5667ec42de1a170de2f9d6e8321b3864e631bca729fbb537fbcc85396b7ce921abc2c844a452e70996fcd582dd31433c33ef0f9d + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.10.4, @babel/helper-split-export-declaration@npm:^7.11.0": + version: 7.11.0 + resolution: "@babel/helper-split-export-declaration@npm:7.11.0" + dependencies: + "@babel/types": ^7.11.0 + checksum: ddfc44d0cf75ee3a73e71b18e8b9b67d256f6e8496e550ab0b1342ef8cd62dd232c13ac77569e319869b1515a9733863e69a143e76f52e9fc1b51ee374b8869b + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helper-validator-identifier@npm:7.10.4" + checksum: 25098ef842e3ffecdd9a7216f6173da7ad7be1b0b3e454a9f6965055154b9ad7a4acd2f218ba3d2efc0821bdab97837b3cb815844af7d72f66f89d446a54efc6 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/helpers@npm:7.10.4" + dependencies: + "@babel/template": ^7.10.4 + "@babel/traverse": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 96859c490ac07fe30fe2b6ad8e474325d2504ffcc8b720b0f22a01e8334d79b4fb3051720c2146390579f7781cbc5923cb32d4e23e51b811c83aaa644fe17f2a + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/highlight@npm:7.10.4" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: c167b938af9797e7630dd922398ceb1a079469085b9c0a7274f093f9f2b1ef9f0a5efec89592e81cbab7c87a537d32c238cea97d288b7af9a0d26b2bceb7a439 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.10.4, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.9.4": + version: 7.11.5 + resolution: "@babel/parser@npm:7.11.5" + bin: + parser: ./bin/babel-parser.js + checksum: ef2874e4d27eaa86777680505e57a7b36549c9602c682372d8b7c6234dff84cb8d03bdce65002a3e98921d83233b5af451d6c9dd9c681232ebe4c4ee9f41318e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-jsx@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7c9a5c56e559e696ae6f36404a58c8bddd3bb4276f24f89606192f6e3f72f38cce65bfd5fd83e9b691aa0265312db79bab514e64486d178ca0c710b8a5924074 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-typescript@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9511691ac0d5bb1810055bc8528d217c9bb862097244259707bff96ae65137f1aa23c26df4069ae6b7a7ed0e93bc9c47ea9e50402a7c1576ee8d94ebd5ba3c73 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.10.4": + version: 7.11.0 + resolution: "@babel/plugin-transform-typescript@npm:7.11.0" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.10.5 + "@babel/helper-plugin-utils": ^7.10.4 + "@babel/plugin-syntax-typescript": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0f2e43de8b8f43ad5c7ffb7c5f35531c471fad5eb6d454773f4bd08f0c3e2ea082d447f8666200696618169ff2035f9d1e26a7c8bd0ce0edddf978fa1362d79e + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/preset-typescript@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + "@babel/plugin-transform-typescript": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e14357988cfd69fea5c146bbe7782a1061e6f4ed4ccdaa7aaf6daa1b7c9b34f3502aa48674c877c68bcda44ad8ad5892c5babbf984f7be91eafa1e1417abc8e5 + languageName: node + linkType: hard + +"@babel/template@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/template@npm:7.10.4" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/parser": ^7.10.4 + "@babel/types": ^7.10.4 + checksum: 23a5c4f7ab77d3f0cfeca3f8462f3b8a85d605d7c56bd917b46e9061aca2c8e84558d1209b8e365eb0e038d92fc387d42382c3072e3ad75087f9a04649e7bea6 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.11.5": + version: 7.11.5 + resolution: "@babel/traverse@npm:7.11.5" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/generator": ^7.11.5 + "@babel/helper-function-name": ^7.10.4 + "@babel/helper-split-export-declaration": ^7.11.0 + "@babel/parser": ^7.11.5 + "@babel/types": ^7.11.5 + debug: ^4.1.0 + globals: ^11.1.0 + lodash: ^4.17.19 + checksum: 206010caeed881da55cf0e76f1c8688af072eba8dd38aa94b01fc04ab7b9ca2007b5fbc566d478555e78ae0780f399bdac1434c9ee6ea3ac2a452832fa4cab02 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.10.4, @babel/types@npm:^7.11.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.3.0": + version: 7.11.5 + resolution: "@babel/types@npm:7.11.5" + dependencies: + "@babel/helper-validator-identifier": ^7.10.4 + lodash: ^4.17.19 + to-fast-properties: ^2.0.0 + checksum: a1515b3ed19a8499f1f27d2c90537803b3e77f6d100ef1c327c86f85817ad2d915a61ae777eaacd9d955999db4ea68d6bb3b5933e0611d3d18a6ffc95430f44a + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.3": + version: 2.1.3 + resolution: "@nodelib/fs.scandir@npm:2.1.3" + dependencies: + "@nodelib/fs.stat": 2.0.3 + run-parallel: ^1.1.9 + checksum: 1f100655dd65cda70b92cd4497b34f85855fd7b8f439d1eb0d0304e605e5a7c97e100710bfff21447f792b2504d5c6a9918b74696ccc22f32b279fb557c1db47 + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.3, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.3 + resolution: "@nodelib/fs.stat@npm:2.0.3" + checksum: 1bfdb2f419370fe5f8412ae2691cc50122c829103719627b36838e875feacc982a9d8d102ea6b5ab1479538a96867f324f63fe97440d8352d03ffa6337beec45 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.4 + resolution: "@nodelib/fs.walk@npm:1.2.4" + dependencies: + "@nodelib/fs.scandir": 2.1.3 + fastq: ^1.6.0 + checksum: f4bffba16cc5d527fa594e120065e6d2376e274fb5df42cc744fcd28805fe23844590db74b20e102805280794208438b574e6e7fc25c6c245896909992a65e83 + languageName: node + linkType: hard + +"@rollup/plugin-babel@npm:^5.2.1": + version: 5.2.1 + resolution: "@rollup/plugin-babel@npm:5.2.1" + dependencies: + "@babel/helper-module-imports": ^7.10.4 + "@rollup/pluginutils": ^3.1.0 + peerDependencies: + "@babel/core": ^7.0.0 + "@types/babel__core": ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + "@types/babel__core": + optional: true + checksum: d5ae15ab309c724b0cdd411e7285af25915e13cfc3d4f427475822492609d2ed6d5c00270cc46e98dacb27da95cd0bc269e35374348219f7877a7b77a549dc59 + languageName: node + linkType: hard + +"@rollup/plugin-commonjs@npm:^14.0.0": + version: 14.0.0 + resolution: "@rollup/plugin-commonjs@npm:14.0.0" + dependencies: + "@rollup/pluginutils": ^3.0.8 + commondir: ^1.0.1 + estree-walker: ^1.0.1 + glob: ^7.1.2 + is-reference: ^1.1.2 + magic-string: ^0.25.2 + resolve: ^1.11.0 + peerDependencies: + rollup: ^2.3.4 + checksum: f8c733dee53be98576bd9c739a876635407792944abcc1eba2cd9444ce673092582b863be9a1d29c2dde56a654761b1df1ba5301686e94359bca114d1c05c893 + languageName: node + linkType: hard + +"@rollup/plugin-json@npm:^4.0.3": + version: 4.1.0 + resolution: "@rollup/plugin-json@npm:4.1.0" + dependencies: + "@rollup/pluginutils": ^3.0.8 + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: 07bc6bc83d07aefd35278e4e1a125e65210061b3dcab50c0f01273c54f43a60a3e01c1a0fed451e35d592ef1cbc8288ec8148a6229cf8cca9cdbf11a6d2d7d1c + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^8.4.0": + version: 8.4.0 + resolution: "@rollup/plugin-node-resolve@npm:8.4.0" + dependencies: + "@rollup/pluginutils": ^3.1.0 + "@types/resolve": 1.17.1 + builtin-modules: ^3.1.0 + deep-freeze: ^0.0.1 + deepmerge: ^4.2.2 + is-module: ^1.0.0 + resolve: ^1.17.0 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 1c3da8d000f9958d9dd4d52035cca43a985266cb8af42ac1e678179ffd755818a4b18fd23e51b8d7daf49cfac7fd04ca361c11e7db7791b95f2a4010c419a401 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^3.0.8, @rollup/pluginutils@npm:^3.0.9, @rollup/pluginutils@npm:^3.1.0": + version: 3.1.0 + resolution: "@rollup/pluginutils@npm:3.1.0" + dependencies: + "@types/estree": 0.0.39 + estree-walker: ^1.0.1 + picomatch: ^2.2.2 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 45da6411e045d1b034242a8144f4a5e8c02ff1b68a2e0857807f5bb4b091c416f2015e075057f0f0dec200e7b35efe6ed4e301b43e365cedea09192f01a6839b + languageName: node + linkType: hard + +"@types/accepts@npm:*": + version: 1.3.5 + resolution: "@types/accepts@npm:1.3.5" + dependencies: + "@types/node": "*" + checksum: 78a31c01d948c405a1a6a89061f0acd5a89df40de445c36382538985a3d00a236ba1cc5099bd812118525c2f29bb61d4869cd775ba63dd3e160113b5fa203915 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.10": + version: 7.1.10 + resolution: "@types/babel__core@npm:7.1.10" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: fd013086d241527c708844ff379ec5204b31dfb4e50a427bc24e77172af74041f6eab650da16edf1a20f445595052505792ec7fa1978bb5f8f2c191bfc8c767d + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.1 + resolution: "@types/babel__generator@npm:7.6.1" + dependencies: + "@babel/types": ^7.0.0 + checksum: d9f19e0e47fe7df97e41029b656ca85e66124509b36b0ccaa5cc68617fe243240bd4431246b8928b9f08abf3818bbd6c94ba934cc7f88faaa2e32a38f5b728a8 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.0.3 + resolution: "@types/babel__template@npm:7.0.3" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 936119303a1ace7fe530e0bc23c46dda1dccca3e0bf8335344e06a17067e2231f30c876175f863a331462fac3fe40afc50002f0d27337fe10c3ca0cb248fd3b8 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.0.14 + resolution: "@types/babel__traverse@npm:7.0.14" + dependencies: + "@babel/types": ^7.3.0 + checksum: 322b1fc7dbd22c13aaef1d00fcd3569844240609c84558fff110290ad60a51d66735a1a6e122489a08250ec0076fcc6c8e7e44356f52e3fc93037de556631e82 + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.0 + resolution: "@types/body-parser@npm:1.19.0" + dependencies: + "@types/connect": "*" + "@types/node": "*" + checksum: 4576f3fde5980c1219cadbc7c523bdb1cefc3713300e18bf47ff37bb9b8176342a1dc7519008311fd8fc11413cf188a83931b9b59051aa1c2f095c1e10459369 + languageName: node + linkType: hard + +"@types/color-name@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: 8311db94a9c4ecd247763b81e783ee49d87678b4ce6a7ee502e2bd5cea242b7357804a04855db009f713174bc654cc0c01c7303d40d757e5d710f5ac0368500f + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.33 + resolution: "@types/connect@npm:3.4.33" + dependencies: + "@types/node": "*" + checksum: 6414495b5995fcb8274feb8b1f113c0685160ea7781e75c638325c6e7a0c226d0c554fa622fe3d278470358c99f68a5994fe49e1b104736f76f3fb3b509e375f + languageName: node + linkType: hard + +"@types/content-disposition@npm:*": + version: 0.5.3 + resolution: "@types/content-disposition@npm:0.5.3" + checksum: 1b7d94b19ae8564816233b74df5f662052d393d0fdb317c81d894f5e1e762010c46b1812ce01a1492a72603e182afd18a59673e25ae737efc3e470ba261697d7 + languageName: node + linkType: hard + +"@types/cookies@npm:*": + version: 0.7.4 + resolution: "@types/cookies@npm:0.7.4" + dependencies: + "@types/connect": "*" + "@types/express": "*" + "@types/keygrip": "*" + "@types/node": "*" + checksum: 641b1f5122a90914224784c23b7cd16434578255996abe6ef944c76e76839d5d6b124fec38c44a41e6855a49b926df3296c91c40fc54116638826783998ecc03 + languageName: node + linkType: hard + +"@types/dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "@types/dedent@npm:0.7.0" + checksum: 8fec52e2072d734f547b9f77d689516423155e1895a0b174787e42ed616eaf7c3556189a90e6da254f43dad93489eed34dc7ad9715231281871674e31ff13f08 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: 43e5361de39969def145f32f4599391ab13055ec94841f1633a7cfe10f0e8a940ebf0e9a4b2770454a6bddd034b57e7e0d51a4d565cb2714ee2accf10a7718be + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*": + version: 4.17.13 + resolution: "@types/express-serve-static-core@npm:4.17.13" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + checksum: 6db6f2e0ebadcb3492b97fc76e66bc49c44385c8c1a6c7df75f7bce5fdade53061393cc3271b9183137d9877df03dd45dc42f4e0ec2d89f8ad5479341da302f0 + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 4.17.8 + resolution: "@types/express@npm:4.17.8" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": "*" + "@types/qs": "*" + "@types/serve-static": "*" + checksum: 9220ef3cb010faea3f77f85453b0ef3bd41e70003ac7d0ea2b7611ac9c36184995256cc61a7bb205f80a3bc51006cf7ccb29a0186c0d1fe0c0582946a0e65e7a + languageName: node + linkType: hard + +"@types/http-assert@npm:*": + version: 1.5.1 + resolution: "@types/http-assert@npm:1.5.1" + checksum: 0c9cbc568be88c60870d96953880c9b2c1d7c290df928a4004693debb715b8ad1b3e8a2f4b13b84e22b41379d20d9255e960532cf613a28126e8a433ddabac01 + languageName: node + linkType: hard + +"@types/http-errors@npm:*": + version: 1.8.0 + resolution: "@types/http-errors@npm:1.8.0" + checksum: f6a0cf40d026b339f3358771d1a98bce7e637429882255246ccf4056cf0f2df7aaf2997ba3072e13df8688f0cd2f9f99ac4d84bed4665710793de35642b4cdad + languageName: node + linkType: hard + +"@types/keygrip@npm:*": + version: 1.0.2 + resolution: "@types/keygrip@npm:1.0.2" + checksum: 8d86a3d702146ae7012571f1783bdc1228cc42ec89472b7ed14c2a46b12b1fa7423e9ecfbe1167bdbc4f26bdc95ee4b3b757a9df29202f98333cddc379b46f6d + languageName: node + linkType: hard + +"@types/koa-compose@npm:*": + version: 3.2.5 + resolution: "@types/koa-compose@npm:3.2.5" + dependencies: + "@types/koa": "*" + checksum: bb6cae03095752d2f351e650ec4f5631c4512aec85bf5f7bab210a91a04714fbe0e75edac120cb56aff2cee5c6549bd6bf7a0ccc35f3adc0aa41d463b0a1f310 + languageName: node + linkType: hard + +"@types/koa@npm:*, @types/koa@npm:^2.11.3": + version: 2.11.4 + resolution: "@types/koa@npm:2.11.4" + dependencies: + "@types/accepts": "*" + "@types/content-disposition": "*" + "@types/cookies": "*" + "@types/http-assert": "*" + "@types/http-errors": "*" + "@types/keygrip": "*" + "@types/koa-compose": "*" + "@types/node": "*" + checksum: 2ccf31806277df58486c809b4405dacd0e2ad8fdd8025a58c7c5d6dd0332ea4626c9c6f38adc4425bb41e72286de9e96ef1eb247837031726fb6536bcc42365e + languageName: node + linkType: hard + +"@types/lru-cache@npm:^5.1.0": + version: 5.1.0 + resolution: "@types/lru-cache@npm:5.1.0" + checksum: 55bffcbc9589163e5c02896fbd658a9e7878527c12197576e1e9b8db5b27744cfabd3dd522939835740eccd9bf348064f0e32a13b9b3019a81c8f69666499590 + languageName: node + linkType: hard + +"@types/mime@npm:*": + version: 2.0.3 + resolution: "@types/mime@npm:2.0.3" + checksum: 6df548a912494f8579d548cd883be0425f30eaa2922283335c405e270600f49045a06d766460c0f0edabb41dff570c614d174d3c52215de3bddd11f190ec9ae9 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:^14.11.2": + version: 14.11.2 + resolution: "@types/node@npm:14.11.2" + checksum: 3badcce3991cd8487b549b2541c9a9809f77ded06a2846dd9c73948d12a442290b31abef2d4b0304cc7e30539614ae82ff3b70d93a4b9a82e19128b3d17a9e0f + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.5 + resolution: "@types/qs@npm:6.9.5" + checksum: afe4721a802a4b5fa874a7d6d9fd33c9e812bb0ef90dabb050e8072be4ab2e5e817c0feacb9b4e0771d875de99f4d9738217976aeb8d36b81ccd82ded5e9fdc0 + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.3 + resolution: "@types/range-parser@npm:1.2.3" + checksum: 092fabae0ecbd728d3e4debc938cd043e97cb9f210cfec1c56ff6065c6e91666f376eb586591825d6757a058fd1a1dc4831d34e04ecfbb0800f35b8d86d38635 + languageName: node + linkType: hard + +"@types/resolve@npm:1.17.1": + version: 1.17.1 + resolution: "@types/resolve@npm:1.17.1" + dependencies: + "@types/node": "*" + checksum: 8e72a73574f9489760662498c1ad512a8d4084a5db15f327e0d785cb277bb0a3146cd049241a8e3268bd0ed204ad3ee7b4a6b4622ef681e70547be9af258ca6a + languageName: node + linkType: hard + +"@types/serve-static@npm:*": + version: 1.13.5 + resolution: "@types/serve-static@npm:1.13.5" + dependencies: + "@types/express-serve-static-core": "*" + "@types/mime": "*" + checksum: 1d4e222e240ff6ed0aa41cd3997fefb53b4f2fbe8f16d20055174662dda1361c7409dfb40ad8e2f355316f80edcd701e0f3ff6298abe35e0b88d9b62903acd18 + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/compiler-core@npm:3.0.0" + dependencies: + "@babel/parser": ^7.11.5 + "@babel/types": ^7.11.5 + "@vue/shared": 3.0.0 + estree-walker: ^2.0.1 + source-map: ^0.6.1 + checksum: c987bcd74db526b717a5a213acad6c59979802c5640eaba4fbe393af5287065fa3b5c5bbda0d4e983a424f4c2f37c05e45ba557ed8ad88849fdbe2bbcfd8c463 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.0.0, @vue/compiler-dom@npm:^3.0.0-rc.5": + version: 3.0.0 + resolution: "@vue/compiler-dom@npm:3.0.0" + dependencies: + "@vue/compiler-core": 3.0.0 + "@vue/shared": 3.0.0 + checksum: 88cd218f899ad2eb13b8fa9b07b6b4ccc22367194d31d92bc34067cd48d55cf9993614bcfd56d55171f45c653f2bfc3fd4049332ae2803e35f603b5d9f5543df + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:^3.0.0-rc.5": + version: 3.0.0 + resolution: "@vue/compiler-sfc@npm:3.0.0" + dependencies: + "@babel/parser": ^7.11.5 + "@babel/types": ^7.11.5 + "@vue/compiler-core": 3.0.0 + "@vue/compiler-dom": 3.0.0 + "@vue/compiler-ssr": 3.0.0 + "@vue/shared": 3.0.0 + consolidate: ^0.16.0 + estree-walker: ^2.0.1 + hash-sum: ^2.0.0 + lru-cache: ^5.1.1 + magic-string: ^0.25.7 + merge-source-map: ^1.1.0 + postcss: ^7.0.32 + postcss-modules: ^3.2.2 + postcss-selector-parser: ^6.0.2 + source-map: ^0.6.1 + peerDependencies: + vue: 3.0.0 + checksum: c4fe7702e06c276f0023d7fbfbc95cafac288bd96152faad186359965ffa26fad3e3ffb02d7132ee899f4b12edc807b2b1758bab68b2f967b1e2174818577b73 + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/compiler-ssr@npm:3.0.0" + dependencies: + "@vue/compiler-dom": 3.0.0 + "@vue/shared": 3.0.0 + checksum: 206b9fcc707bf036bf28f0486e3ffb4c508f5ea17248bd1cb7a2d61c1aaa44717b3a392db54a3fc9b8d2f26944c654c67fd1cf452af4f1f9d1259c46bad0fca8 + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/reactivity@npm:3.0.0" + dependencies: + "@vue/shared": 3.0.0 + checksum: 764ca2c5feae01185d8ce92106b1f4843118ab18cf193d2c23ba2612d283950f18ec88e13023abb3b3053f673ec23d2553022ef0b7c971943a29079a25626946 + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/runtime-core@npm:3.0.0" + dependencies: + "@vue/reactivity": 3.0.0 + "@vue/shared": 3.0.0 + checksum: 005c1af0211adeebd5996ccaac4e7b4844677447c08e56d5fcce7ad12024cb87acabe9166dae7be5ee15894cebd29613bb2db246c4972a04d1ce0729ab97fb56 + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/runtime-dom@npm:3.0.0" + dependencies: + "@vue/runtime-core": 3.0.0 + "@vue/shared": 3.0.0 + csstype: ^2.6.8 + checksum: dbdf6ca2b02aaa3aed6405123f75171740a4863d0e8bf56bc35ecab8e3c769954d29f31ef20635c510e7381bc690a325d4fe0e06d509a7b9db330f136d528eb8 + languageName: node + linkType: hard + +"@vue/shared@npm:3.0.0": + version: 3.0.0 + resolution: "@vue/shared@npm:3.0.0" + checksum: 0be874d92b8d2a107e3b824fcee5a32d9bbbb9e7bd1af6c175edab00da131ef707a543f16608febb01745c53318116c69827b5e89eab96cb279788caa7e9e52b + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 9f9236a3cc7f56c167be3aa81c77fcab2e08dfb8047b7861b91440f20b299b9442255856bdbe9d408d7e96a0b64a36e1c27384251126962490b4eee841b533e0 + languageName: node + linkType: hard + +"accepts@npm:^1.3.5": + version: 1.3.7 + resolution: "accepts@npm:1.3.7" + dependencies: + mime-types: ~2.1.24 + negotiator: 0.6.2 + checksum: 2686fa30dbc850db1bf458dc8171fba13c54ed6cb25f4298ec7c2f88b8dfc50351f25c40abe3a948e4ec7a0cc8ea83d1c55c2f73ffa612d18840a8778d4a2ee0 + languageName: node + linkType: hard + +"ajv@npm:^6.12.3": + version: 6.12.5 + resolution: "ajv@npm:6.12.5" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: d9ec559bd71be2479b91d293a5b14c96d60ba89f471d8b3369443830b6c72954bdc38f480194413f45f46fc250c8bd769275584ffde033aeb3c56cc218868d95 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 93a53c923fd433f67cd3d5647dffa6790f37bbfb924cf73ad23e28a8e414bde142d1da260d9a2be52ac4aa382063196880b1d40cf8b547642c746ed538ebf6c4 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-regex@npm:5.0.0" + checksum: cbd9b5c9dbbb4a949c2a6e93f1c6cc19f0683d8a4724d08d2158627be6d373f0f3ba1f4ada01dce7ee141f2ba2628fbbd29932c7d49926e3b630c7f329f3178b + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: 456e1c23d9277512a47718da75e7fbb0a5ee215ef893c2f76d6b3efe8fceabc861121b80b0362146f5f995d21a1633f05a19bbf6283ae66ac11dc3b9c0bed779 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.1.0": + version: 4.2.1 + resolution: "ansi-styles@npm:4.2.1" + dependencies: + "@types/color-name": ^1.1.1 + color-convert: ^2.0.1 + checksum: c8c007d5dab7b4fea064c9ea318114e1f6fc714bb382d061ac09e66bc83c8f3ce12bb6354be01598722c14a5d710af280b7614d269354f80d2535946aefa82f4 + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0, any-promise@npm:^1.1.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: e829425e4aef532fb9063c638de4693feaf285dae8ba84bcabd9c6d49446264650d1e16b73af8a25ae1e4480f9a4dc7cae364b4c4d4753b57dd1900cdfab8183 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.1": + version: 3.1.1 + resolution: "anymatch@npm:3.1.1" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: cf61bbaf7f34d9f94dd966230b7a7f8f1f24e3e2185540741a2561118e108206d85101ee2fc9876cd756475dbe6573d84d91115c3abdbf53a64e26a5f1f06b67 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: d4bac3e640af1f35eea8d5ee2b96ce2682549e47289f071aa37ae56066e19d239e43dea170c207d0f71586d7634099089523dd5701f26d4ded7b31dd5848a24a + languageName: node + linkType: hard + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" + dependencies: + delegates: ^1.0.0 + readable-stream: ^2.0.6 + checksum: 2d6fdb0ddde9b8cb120b6851b42c75f6b6db78b540b579a00d144ad38cb9e1bdf1248e5454049fcf5b47ef61d1a6f2ea433a8e38984158afd441bc1e0db7a625 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 435adaef5f6671c3ef1478a22be6fd54bdb99fdbbce8f5561b9cbbb05068ccce87b7df3b9f3322ff52a6ebb9cab2b427cbedac47a07611690a9beaa5184093e2 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 93af542eb854bf62a742192d0061c82788a963a9a6594628f367388f2b9f1bfd9215910febbbdd55074841555d8b59bda6a13ecba4a8e136f58b675499eda292 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.4 + resolution: "asn1@npm:0.2.4" + dependencies: + safer-buffer: ~2.1.0 + checksum: 5743ace942e2faa0b72f3b14bf1826509c5ca707ea150c10520f52b04f90aa715cee4370ec2e6279ce1ceb7d3c472ca33270124e90b495bea4c9b02f41b9d8ac + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 1bda24f67343ccb75a7eee31179c92cf9f79bd6f6bc24101b0ce1495ef979376dd9b0f9b9064812bba564cdade5fbf851ed76b4a44b5e141d49cdaee6ffed6b2 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: a024000b9ddd938e2f27b3cb8188f96a5e1fff58185e98b84862fc4e01de279a547874a800340c2b106bb9de9b0fc61c6c683bc6892abf65e6be29a96addafd3 + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 8f33efc16287ed39766065c718a2d36a469f702c66c6eb41fa460c0c62bca395301a6a02946e315ae4a84c9cc7f44c94ec73a556bc2a1049350da98d0b013afe + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 7162b9b8fbd4cf451bd889b0ed27fc895f88e6a6cb5c5609de49759ea1a6e31646f86ca8e18d90bea0455c4caa466fc9692c1098a1784d2372a358cb68c1eea6 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.10.1 + resolution: "aws4@npm:1.10.1" + checksum: 53f2897324997542e3cfeca0b24f5960e2470eb8527f0b6587432a4607dcb8ca817955aef4297a3b429f1ca5fa688ba1b6bc57d744add41292ffcb59466392bb + languageName: node + linkType: hard + +"babel-plugin-jsx-dom-expressions@npm:~0.20.8": + version: 0.20.11 + resolution: "babel-plugin-jsx-dom-expressions@npm:0.20.11" + dependencies: + "@babel/helper-module-imports": ^7.10.4 + "@babel/plugin-syntax-jsx": ^7.10.4 + checksum: 0a419e27da4f1f4175ed8a5a9ca5a98d19423071e0fc201333e1fe605e19c43b504b9326a00a5645bba20494264a40a199ecc3443a7e598b0f2af29606a69165 + languageName: node + linkType: hard + +"babel-plugin-transform-rename-import@npm:^2.3.0": + version: 2.3.0 + resolution: "babel-plugin-transform-rename-import@npm:2.3.0" + checksum: c3a64bf9a2597b5d34911a667c5e9028e84deec8113294275773ede64668f3c44ce74d6dce1d18325e23e3544abff93a2389a7fb44631bd5402cf6ea5b787625 + languageName: node + linkType: hard + +"babel-preset-solid@npm:^0.20.0": + version: 0.20.0 + resolution: "babel-preset-solid@npm:0.20.0" + dependencies: + babel-plugin-jsx-dom-expressions: ~0.20.8 + babel-plugin-transform-rename-import: ^2.3.0 + checksum: 0e91f2a3dcb10e27f7d9960e9ab712dfaf06a75b3755d2275fbad15f7646a8a5f82cf87a4f4e768bb6bde085e7f8c86f0dfdc8097a15062ec9cefd15c2ec3db1 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.0 + resolution: "balanced-match@npm:1.0.0" + checksum: f515a605fe1b59f476f7477c5e1d53ad55b4f42982fca1d57b6701906f4ad1f1ac90fd6587d92cc1af2edb43eecf979214dd847ee410a6de9db4ebf0dd128d62 + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 3f57eb99bbc02352f68ff31e446997f4d21cc9a5e5286449dc1fe0116ec5dac5a4aa538967d45714fa9320312d2be8d16126f2d357da1dd40a3d546b96e097ed + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: ea33d7d25674df4253ae3667da7f48ade6cc8828cb4f2c3a7753f53975f10cebae57e0d1ecf84f1b920b5467262dc0d4f357e5e497b138472d0e64992a8402a4 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.1.0 + resolution: "binary-extensions@npm:2.1.0" + checksum: 12bee2817930b211b88f6de5da2edb64f924ffde79e01516fcb17005a39e75374fae1ce1a9c58b52557a4d81eb6eb7a804cbe7170ea3a553919a7ce0053e2e4f + languageName: node + linkType: hard + +"bluebird@npm:^3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 4f2288662f3d4eadbb82d4daa4a7d7976a28fa3c7eb4102c9b4033b03e5be4574ba123ac52a7c103cde4cb7b2d2afc1dbe41817ca15a29ff21ecd258d0286047 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: 4c878e25e4858baf801945dfd63eb68feab2e502cf1122f25f3915c0e3bf397af3a93ff6bef0798db41c0d81ef28c08e55daac38058710f749a3b96eee6b8f40 + languageName: node + linkType: hard + +"braces@npm:^3.0.1, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: f3493181c3e91a1333d3c9afc9b3263a3f62f4ced0b033c372efc1373b48a7699557f4e04026b232a8556e043ca5360a9d3008c33852350138d4b0ea57558b8d + languageName: node + linkType: hard + +"brotli-size@npm:^4.0.0": + version: 4.0.0 + resolution: "brotli-size@npm:4.0.0" + dependencies: + duplexer: 0.1.1 + checksum: 32727e85a7b8af5cfa1fa4c885ce9c214f02ae1169377bce1f72ef970b7a7dec90c4e978c5a68f3cdcdd2fa0314559a3f02131ad849f1d18c8a8cf907c909136 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: 540ceb79c4f5bfcadaabbc18324fa84c50dc52905084be7c03596a339cf5a88513bee6831ce9b36ddd046fab09257a7c80686e129d0559a0cfd141da196ad956 + languageName: node + linkType: hard + +"builtin-modules@npm:^1.1.1": + version: 1.1.1 + resolution: "builtin-modules@npm:1.1.1" + checksum: 777c3ea2966e005cd14617d13668a592c98a3e668a2af7ff192be731c570c4df067ab55272ea14f9f83f614fcef7d2737f9898888a13233f13c439ad4a21ad55 + languageName: node + linkType: hard + +"builtin-modules@npm:^3.1.0": + version: 3.1.0 + resolution: "builtin-modules@npm:3.1.0" + checksum: 54f062393cd48ff6c7293d885a106faa0988cbffb8b5f7790bfd0148e56cedf21b13bd4c1e544911ec7b4b022c52fd4c606e8697469b342e8b3e529ce48d8831 + languageName: node + linkType: hard + +"cache-content-type@npm:^1.0.0": + version: 1.0.1 + resolution: "cache-content-type@npm:1.0.1" + dependencies: + mime-types: ^2.1.18 + ylru: ^1.2.0 + checksum: 3afcece8c75fd15a74d96e8bd14d22d5387878c161672c8c7fbc7a89788698d32dc55334395feba309fd601580a410fe47860763ed78686b8b98889ea82ff670 + languageName: node + linkType: hard + +"caller-callsite@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-callsite@npm:2.0.0" + dependencies: + callsites: ^2.0.0 + checksum: 4f62ec12d0241f372d65156b98ca5d0abb5470a4ae497e11b58d945158ab9411a21e7a42873e62c9765ba7faf658dd524f96833f6d2f776011374bb80c85761d + languageName: node + linkType: hard + +"caller-path@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-path@npm:2.0.0" + dependencies: + caller-callsite: ^2.0.0 + checksum: c4b19e43d4d2afc62c2b283d74844811a4517a162f9490f62c74421ddcfbd3e3334890fd9c474db98b20d62598a0ae659798c402623866b6f6068683a81ec5e7 + languageName: node + linkType: hard + +"callsites@npm:^2.0.0": + version: 2.0.0 + resolution: "callsites@npm:2.0.0" + checksum: 0ccd42292bdc6cd4a7dbfc0d91c232cbc9dc6d0db61659fd63deba826596c7302745b9f75d5c9db6da166e41207436045bd391fefb03e754b4f928b6e8b404ae + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 147f48bff9bebf029d7050e2335da3f8d295f26d157edf08d8c3282c804dae04a462c4cd6efa8179755686aa3aeaca5c28f3e7f3559698bc0484c65e46c36c5b + languageName: node + linkType: hard + +"chalk@npm:^2.0.0, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: 22c7b7b5bc761c882bb6516454a1a671923f1c53ff972860065aa0b28a195f230163c1d46ee88bcc7a03e5539177d896457d8bc727de7f244c6e87032743038e + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 4018b0c812880da595d0d7b8159939527b72f58d3370e2fdc1a24d9abd460bab851695d7eca014082f110d5702d1221b05493fec430ccce375de907d50cc48c1 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.0 + resolution: "chalk@npm:4.1.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: f860285b419f9e925c2db0f45ffa88aa8794c14b80cc5d01ff30930bcfc384996606362706f0829cf557f6d36152a5fb2d227ad63c4bc90e2ec9e9dbed4a3c07 + languageName: node + linkType: hard + +"chokidar@npm:^3.3.1": + version: 3.4.2 + resolution: "chokidar@npm:3.4.2" + dependencies: + anymatch: ~3.1.1 + braces: ~3.0.2 + fsevents: ~2.1.2 + glob-parent: ~5.1.0 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.4.0 + dependenciesMeta: + fsevents: + optional: true + checksum: a394c13d28f3a7df6c3d8ca80791599523c654a9e08bec2bb6d0f44a6d74c61f9b46cd871401b8694e57e909055280adad898b93f4269d53b8b0e0c02f02dc12 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: b06ba0bf4218bc2214cdb94a7d0200db5c6425f9425795c064dcf5a3801aac8ae87f764727890cd1f48c026559159e7e0e15ed3d1940ce453dec54898d013379 + languageName: node + linkType: hard + +"clean-css@npm:^4.2.3": + version: 4.2.3 + resolution: "clean-css@npm:4.2.3" + dependencies: + source-map: ~0.6.0 + checksum: a60f7800828ea7a6b8315c3c855d700c59cf9e45e88a88e73c7fff12ee316a4afcbca1041b14453c8020f57de72ebf3d0ed6250f306faea83f5e05ee90a4c67a + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 15dbfc222f27da8cbc61680e4948b189e811224271f6ee5be9db0dcbabe23ae3b2c5a5663be6f17ee51f6203ab44abddd4f4cffb20d69458fc845fa86976f96a + languageName: node + linkType: hard + +"cli-spinners@npm:^2.2.0": + version: 2.4.0 + resolution: "cli-spinners@npm:2.4.0" + checksum: c32291dbcc98363ab22486084354a46e6fd7b9471d0b1c89a5cba1a62a96233f6519cca0ab21a16884f78fe034a7038597eb61e56f3fe11a592c6c2495925600 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: aaaa58f9906002d9c07630682536cb00581ee02d7a76cfa8573ad59784add4d5d6d4afe894c21899b974044f153f8c5c6419ffc8b1cdde61bf104ad52e3a185d + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 3f22dbbe0f413ff72831d087d853a81d1137093e12e8ec90b4da2bde5c67bc6bff11b6adeb38ca9fa8704b8cd40dba294948bda3c271bccb74669972b840cc1a + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 7d9837296e0f1c00239c88542f5a3e0bad11e45d3d0e8d9d097901fe54722dd5d2c006969077a287be8648a202c43f74e096f17552cbd897568308fba7b87ac0 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: 5f244daa3d1fe1f216d48878c550465067d15268688308554e613b7640a068f96588096d51f0b98b68f15d6ff6bb8ad24e172582ac8c0ad43fa4d3da60fd1b79 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 3d5d8a011a43012ca11b6d739049ecf2055d95582fd16ec44bf1e685eb0baa5cc652002be8a1dc92b429c8d87418287d0528266a7595cb1ad8a7f4f1d3049df2 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: d8b91bb90aefc05b6ff568cf8889566dcc6269824df6f3c9b8ca842b18d7f4d089c07dc166808d33f22092d4a79167aa56a96a5ff0d21efab548bf44614db43b + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 3e1c9a4dee12eada307436f61614dd11fe300469db2b83f80c8b7a7cd8a1015f0f18dd13403f018927b249003777ff60baba4a03c65f12e6bddc0dfd9642021f + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 5791ce7944530f0db74a97e77ea28b6fdbf89afcf038e41d6b4195019c4c803cd19ed2905a54959e5b3830d50bd5d6f93c681c6d3aaea8614ad43b48e62e9d65 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: b73428e97de7624323f81ba13f8ed9271de487017432d18b4da3f07cfc528ad754bbd199004bd5d14e0ccd67d1fdfe0ec8dbbd4c438b401df3c4cc387bfd1daa + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 98f18ad14f0ea38e0866db365bc8496f2a74250cf47ec96b94913e1b0574c99b4ff837a9f05dbc68d82505fd06b52dfba4f6bbe6fbda43094296cfaf33b475a0 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 554e28d9ee5aa6e061795473ee092cb3d3a2cbdb76c35416e0bb6e03f136d7d07676da387b2ed0ec4106cedbb6534080d9abc48ecc4a92b76406cf2d0c3c0c4b + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 58a404d951bf270494fb91e136cf064652c1208ccedac23e4da24e6a3a3933998f302cadc45cbf6582a007a4aa44dab944e84056b24e3b1964e9a28aeedf76c9 + languageName: node + linkType: hard + +"consolidate@npm:^0.16.0": + version: 0.16.0 + resolution: "consolidate@npm:0.16.0" + dependencies: + bluebird: ^3.7.2 + checksum: b75f222ef398c055a1ce17117d3803887db75aa076c3053b4aa1c3d9cded1191026b9848b5eefe492e2d7b1496844aef249a3a902e20b3034963a5b32ed3a105 + languageName: node + linkType: hard + +"content-disposition@npm:~0.5.2": + version: 0.5.3 + resolution: "content-disposition@npm:0.5.3" + dependencies: + safe-buffer: 5.1.2 + checksum: 8f1f235c0423be68023df7f5a3948601d859ce44ee94e1d0fa2a97383bd469e789320b6ddf6f31b3620605c75cf771522df11386f51aff401e5d51b6ccfde3e2 + languageName: node + linkType: hard + +"content-type@npm:^1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: ff6e19cbf281c23d5608723a6dc60ac97e2280bd4d21602511283112321e6c1555895e395555e367672b54a0f1585276284b7c3c8be313aca73902ac2f2609fd + languageName: node + linkType: hard + +"convert-source-map@npm:^1.7.0": + version: 1.7.0 + resolution: "convert-source-map@npm:1.7.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: b10fbf041e3221c65e1ab67f05c8fcbad9c5fd078c62f4a6e05cb5fddc4b5a0e8a17c6a361c6a44f011b1a0c090b36aa88543be9dfa65da8c9e7f39c5de2d4df + languageName: node + linkType: hard + +"cookies@npm:~0.8.0": + version: 0.8.0 + resolution: "cookies@npm:0.8.0" + dependencies: + depd: ~2.0.0 + keygrip: ~1.1.0 + checksum: c401e0f791e5413af5a5e88db85610fad49a58c91b393a917294562b17cc30626d3730591ba73ce27e93a977f9483272c188e35fcc4ade6d2576c4f74628a9c4 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 089015ee3c462dfceba70faa1df83b42a7bb35db26dae6af283247b06fe3216c65fccd9f00eebcaf98300dc31e981d56aae9f90b624f8f6ff1153e235ff88b65 + languageName: node + linkType: hard + +"cosmiconfig@npm:^5.0.0": + version: 5.2.1 + resolution: "cosmiconfig@npm:5.2.1" + dependencies: + import-fresh: ^2.0.0 + is-directory: ^0.3.1 + js-yaml: ^3.13.1 + parse-json: ^4.0.0 + checksum: 02d51fb28871d1e6114333f1109e47714e280d60ee8f05cf03bd5a0b9d0954f3d1a99b01edb3ea8147e743b2c9caa3738f745157ebddd5b93efeac324d3d5239 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 51f10036f5f1de781be98f4738d58b50c6d44f4f471069b8ab075b21605893ba1548654880f7310a29a732d6fc7cd481da6026169b9f0831cab0148a62fb397a + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 673783eda1f89af3faefc0e4b833f40621f484ce102a23396e7a65cc4c42798bd91ee3656c8b04a0a5ca38d40ada5bc8663e4541c380a7a81af2de5b2322e443 + languageName: node + linkType: hard + +"csstype@npm:^2.6.8": + version: 2.6.13 + resolution: "csstype@npm:2.6.13" + checksum: 0a84ef4b068e464039ee4cc79e621a38b4b8b5c683fd12d42dbb810e6457ac454c3c7e578e4d327f958fc563fc03aec0e74b57180abd5804d6e2590ae3cf7086 + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 5959409ee42dc4bdbf3fa384b801ece580ca336658bb0342ffab0099b3fc6bf9b3e239e1b82dcc4fcaeee315353e08f2eae47b0928a6a579391598c44958afa1 + languageName: node + linkType: hard + +"debug@npm:^3.1.0": + version: 3.2.6 + resolution: "debug@npm:3.2.6" + dependencies: + ms: ^2.1.1 + checksum: 619feb53b115f1a8341365b8aa58a8757e6632738587d4b61b25627b74891211cb20e31fdbea37fec766e575a60cf456f7a02d6f9eddfdcef80caa6a4b0fc042 + languageName: node + linkType: hard + +"debug@npm:^4.1.0, debug@npm:^4.1.1": + version: 4.3.0 + resolution: "debug@npm:4.3.0" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 847d2760d1493cfaef53fb67d8943c6afaba30472d7527450c19919d230dde04f2275dd8dd5c2874c7103787c190d3b5d3dbc2ee7596a12d853a2ce35c4b8b1b + languageName: node + linkType: hard + +"debug@npm:~3.1.0": + version: 3.1.0 + resolution: "debug@npm:3.1.0" + dependencies: + ms: 2.0.0 + checksum: 1295acd5e0531761255661d325cd0a80ac8c5f6de8942a53bb23c2197ccb97526972de662ed0e5d9393be83f3428a298a6e7185ecb02f0da6282019cd2ffb4a8 + languageName: node + linkType: hard + +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 05c18541a4b932006a65eccaf03d68ac60552981db424f39f1ca4bebf5beaa53d318eadbb4dc0be24232844e69d1140763a7ada94559b2cb7771a47c0a829aeb + languageName: node + linkType: hard + +"deep-equal@npm:~1.0.1": + version: 1.0.1 + resolution: "deep-equal@npm:1.0.1" + checksum: 97d8558d19a1aeeadbed84d54cd2d3be792e968e1834aaaf1627f432371b1fb52bfe5bfd06bdbbdb7b53f827b0adf7dd78089d0430e923edebc724e4df7c3923 + languageName: node + linkType: hard + +"deep-freeze@npm:^0.0.1": + version: 0.0.1 + resolution: "deep-freeze@npm:0.0.1" + checksum: c43ab54de95c60197f2a303aa60da76aa9f13f8a656d39f924daec63707712be1f75b9f5853bf2d5ec62fc72c840ba73ccefe32bdf3398472751de290b71a15c + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: 85abf8e0045ee280996e7d2396979c877ef0741e413b716e42441110e0a83ac08098b2a49cea035510060bf667c0eae3189b2a52349f5fa4b000c211041637b1 + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 974f63dd0acb79d14e94ac0f2ea69a880ab2a6e4b341bb9bdc2409b4091b928abe2709a4e140528948d02f29c286efdef22851d1dc972636eed2ce8e1c5b7465 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: d9dfb0a7c79fd308fada9db2cf29d1ff22047ceb50dd78f7e3c173567909b438f418259cb76a6d9c9f513e88ef41d3a14154f618741ec8368c3efeff616d0c9f + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 7459e34d29cadd9bfd340728bfcc70ea96da5d940fb197298b523f805822680e583cba3ec34d36a18004325f1ec9de55e202a92b414d01db18cd87bb8a2ae5bd + languageName: node + linkType: hard + +"depd@npm:^1.1.2, depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: f45566ff7019a346852f095768a380778ed544de24e103b479fd5d3e61982d670efbb5234c09d0588d7fdb09c26c48283d7150e4be5e6ce5d3d37cd268d75c4d + languageName: node + linkType: hard + +"depd@npm:~2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 20726d843f5ab5e933211fcb5a440a1a3986ef9d6f85d38cf1eae815ea3cc12fa4436bd35a38e21bdb391a021b57f2d97b9f856873852506acac1b07ac913ba4 + languageName: node + linkType: hard + +"destroy@npm:^1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: 5a516fc5a8a8089eecdac11da2339353542be7a71102dc5a1372ef6161501bf5c1ee59ff9f8a3f5f14cc8c88594d606f855f816d46a228ee5e0e5cb2b543534b + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: ^4.0.0 + checksum: 687fa3bd604f264042f325d9460e1298447fb32782f30cddc47cb302b742684d13e8ffce4c6f455e0ae92099d71e29f72387379c10b8fd3f6f1bf8992d7c0997 + languageName: node + linkType: hard + +"dotenv-expand@npm:^5.1.0": + version: 5.1.0 + resolution: "dotenv-expand@npm:5.1.0" + checksum: b895c6220d345db8f58dca439d3bc65c2ee538659df570ed3fa8c99487df854afd6d1ddadf1e43a4091c9ed6166956e7db7bc5a05cf48fa812c0772e1f5cf860 + languageName: node + linkType: hard + +"dotenv@npm:^8.2.0": + version: 8.2.0 + resolution: "dotenv@npm:8.2.0" + checksum: 16cb89cbd7b98b053899b8aba8c5044c8fb61a2db8a81fe70360b75035fce5fed53bd7a34d772be717d0880c0321122a4c09423f518025e1b52d96791521b1a7 + languageName: node + linkType: hard + +"duplexer@npm:0.1.1": + version: 0.1.1 + resolution: "duplexer@npm:0.1.1" + checksum: cd332f728a580abef8a87b38e129c7425d34b7dcc4e1b596da300bb3309e10ba51848429a0c0d1f134b66cae8c9ffe1371e3718c74a6f57da2a544a589b21216 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 5b4dd05f24b2b94c1bb882488dba2b878bb5b83182669aa71fbdf53c6941618180cb226c4eb9a3e2fa51ad11f87b5edb0a7d7289cdef468ba2e6024542f73f07 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: ba74f91398e3ee3b6d665b2f0d13ad6530e89a7e64ec886a6eec0602fb8a5a274652960e21bd5d4b42fdeb9017d873ff872f50342d38779e955285977edb337c + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: a79126b55bc86ee8fd938235a6adf9d457c05fb5bb934e8608b7d35c878d9d1e312a67759244f5c3fba0810b508eb5617e5e6ad6886496ebcfa6832d1c8de3c4 + languageName: node + linkType: hard + +"encodeurl@npm:^1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 6ee5fcbcd245d2a2b6bd6fe36b80f91e31ab46e29192c50af00e8f860c0c2310ebbdaae40257878fdce90b42abcb3526895c7c3a2e229461ed1f0d0b5a020fc8 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: ^1.4.0 + checksum: 7da60e458bdb5e16c006a45e85ef3bc1e3791db5ba275b0913258ccddc8899acb9252c4ddbcce87bd1b46e2a3f97315aafb9f0c0330e8aac44defb504a9d3ccd + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.0 + resolution: "env-paths@npm:2.2.0" + checksum: 09de4fd1c068d5965aa8aede852a764b7fb6fa8f1299ba7789bc29c22840ab1985e0c9c55bc6bf40b4276834b8adfa1baf82ec9bc58445d9e75800dc32d78a4f + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: 6c6c9187429ae867d145bc64c682c7c137b1f8373a406dc3b605c0d92f15b85bfcea02b461dc55ae11b10d013377e1eaf3d469d2861b2f94703c743620a9c08c + languageName: node + linkType: hard + +"es-module-lexer@npm:^0.3.18": + version: 0.3.25 + resolution: "es-module-lexer@npm:0.3.25" + checksum: e22022a18ba411964aa7e84ff8873c3a0ced52274f6e8d1d004eeeb1f291385ecdf36bcb4b0a40b00feb324395a0bece969468d325f8f44980c6cf468cee5d86 + languageName: node + linkType: hard + +"esbuild@npm:^0.6.10": + version: 0.6.34 + resolution: "esbuild@npm:0.6.34" + bin: + esbuild: bin/esbuild + checksum: 6f47ea7916d491445b32bd95de48f7f08a5ea06c714bec6e0276b66229ade4a976d32980d33919d118cb99449cb47cc8d0ee1c9c5c112ef0e9755ed5747941b9 + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 900a7f2b80b9f89c85b7a303d1b7a4d354b93e328871414f165f13c5c209a80eab787e3a63429e596877def69fe4dcb3d1b55af655207a901a9ec99f7f148743 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: f9484b8b4c8827d816e0fd905c25ed4b561376a9c220e1430403ea84619bf680c76a883a48cff8b8e091daf55d6a497e37479f9787b9f15f3c421b6054289744 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 5df45a3d9c95c36800d028ba76d8d4e04e199932b58c2939f462f859fd583e7d39b4a12d3f97986cf272a28a5fe5948ee6e49e36ef63f67b5b48d82a635c5081 + languageName: node + linkType: hard + +"estree-walker@npm:^0.6.1": + version: 0.6.1 + resolution: "estree-walker@npm:0.6.1" + checksum: a63b94b841fcda2d79ff8e313b4ea8439b3364094ba66547289814bd7da4399a54cd33849b23504d239266430f219a142627071201a9fb6eb488bd025575f8fc + languageName: node + linkType: hard + +"estree-walker@npm:^1.0.1": + version: 1.0.1 + resolution: "estree-walker@npm:1.0.1" + checksum: 85e7cee763e9125a7d8a947b3a06a8b9282873936df220dd0d791d9b3315e45e40ab096b43ba71bdc99140c11a6d23fdcf686642dc119a7b2d6181004fdb24d2 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.1": + version: 2.0.1 + resolution: "estree-walker@npm:2.0.1" + checksum: 51ae3892e256162f942b6cc433f9fe313c30ffc71c9b07099168383fe211ef001a50f1df543ea8ed0753eb768079e0c1a0712540b228bbe3b544260fd113017d + languageName: node + linkType: hard + +"etag@npm:^1.3.0, etag@npm:^1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: f18341a3c12a554ec46c0d4756bc9cae177e92f25a4ebd9ceefebf0ee448b675972fc110879f22b1bf514174713921ae5de9ff77af2062d422b1085588465a57 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 1fc12c7bc3b4194c50975827e72d56ff57c32b75a4c7dbf4d5eebf3c8371f6f1aad6799150b609de1b867c0d8a9885c08b6ca5e7e0dc437d6152f3063b2607dd + languageName: node + linkType: hard + +"execa@npm:^4.0.1": + version: 4.0.3 + resolution: "execa@npm:4.0.3" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: 65b237d178b468045ee57af6aa4e4124807b28aec9573d9b3b16b02a7e41bd65996236e0c5575d053d3888585ffc795cbed38847c6c9669e9c8481fc44ac05e4 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 1406da1f0c4b00b839497e4cdd0ec4303ce2ae349144b7c28064a5073c93ce8c08da4e8fb1bc5cb459ffcdff30a35fc0fe54344eb88320e70100c1baea6f195c + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 892efd56aa9b27cbfbca42ad0c59308633f66000e71d1fb19c6989ea7309b32f3ff281778871bd2ce9bc7f3ad02515aa2783cea0323d0f6ff840b7c6a6a4603e + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 451526766b219503131d11e823eaadd1533080b0be4860e316670b039dcaf31cd1007c2fe036a9b922abba7c040dfad5e942ed79d21f2ff849e50049f36e0fb7 + languageName: node + linkType: hard + +"fast-glob@npm:^3.1.1": + version: 3.2.4 + resolution: "fast-glob@npm:3.2.4" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.0 + merge2: ^1.3.0 + micromatch: ^4.0.2 + picomatch: ^2.2.1 + checksum: 18f9eca898bc3be71b717cb59cb424e937bb9f5629449ba4e93e498dca9db921a9fd3cbdc3389d3f94aec3074bbe2ff6a74f779627a93e81ba0262b795ec44e4 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 7df3fabfe445d65953b2d9d9d3958bd895438b215a40fb87dae8b2165c5169a897785eb5d51e6cf0eb03523af756e3d82ea01083f6ac6341fe16db532fee3016 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.8.0 + resolution: "fastq@npm:1.8.0" + dependencies: + reusify: ^1.0.4 + checksum: 77d71545ba88a5c4cbe628716bcf7a0db1dbe81943c1abfbe9eab65db17c6c1db7836e99478b3b8baf21d260b896dff4723f7b7af6606b3d3db2b135bf414c16 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: efca43d59b487ad4bc0b2b1cb9e51617c75a7b0159db51fa190c75c3d634ea5fad1ff4750d7c14346add4cd065e3c46e8f99af333edf2b4ec2a424f87e491a85 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": + version: 1.13.0 + resolution: "follow-redirects@npm:1.13.0" + checksum: f220828d3f153da30ea616fdbe9f6676e74e4e68c51d336a751037c1d556e2de34aa5918f58951fa19bb6517c9c88b4403a0a8bdfc40d3e779d37def2ac0f2c4 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 9cc0054dd4ea5fc26e014b8c929d1fb9247e931e81165cbd965a712061d65fb84791b2124f64cd79492e516662b94068d29fe1d824732382237321b3f61955fe + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 862e686b105634222db77138d5f5ae08ba85f88c04925de5be86b2b9d03cf671d86566ad10f1dd5217634c0f1634069dfc1a663a1cc13e8fbac0ce8f670ad070 + languageName: node + linkType: hard + +"fresh@npm:~0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 2f76c8505d1ea5a6d5accea3e7aff0b796bfa43364c84929254f33909fa08640948bd1728220d1ff5f4c2b378a65e97da647f2fe0f2b7ddb44001f6e0dc2e91f + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.0": + version: 9.0.1 + resolution: "fs-extra@npm:9.0.1" + dependencies: + at-least-node: ^1.0.0 + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^1.0.0 + checksum: b7374cb05819bd95fa15bf74a30fbec3d2b64a0c00d2df67d6e1d6a901a9a7582a1243fe652d27a6cd042b38a2c1cd9ae3b3d100bc98dd041cc2f3e29964884f + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: e14a490658621cf1f7d8cbf9e92a9cc4dc7ce050418e4817e877e4531c438223db79f7a1774668087428d665a3de95f87014ce36c8afdc841fea42bcb782abcb + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 698a91b1695e3926185c9e5b0dd57cf687dceb4eb73799af91e6b2ab741735e2962c366c5af6403ffddae2619914193bd339efa706fdc984d0ffc74b7a3603f4 + languageName: node + linkType: hard + +"fsevents@patch:fsevents@~2.1.2#builtin": + version: 2.1.3 + resolution: "fsevents@patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=87eb42" + dependencies: + node-gyp: latest + checksum: d8ae862048fc127cdbd00d02b2feb7c25946c3ce4cbc44e958134be87e239577a16dafafa1c270d010b8624e1b1e0372e23f7865c55c6f83e83fc9f68b0a30d2 + languageName: node + linkType: hard + +fsevents@~2.1.2: + version: 2.1.3 + resolution: "fsevents@npm:2.1.3" + dependencies: + node-gyp: latest + checksum: 8977781884d06c5bcb97b5f909efdce9683c925f2a0ce7e098d2cdffe2e0a0a50b1868547bb94dca75428c06535a4a70517a7bb3bb5a974d93bf9ffc067291eb + languageName: node + linkType: hard + +"gauge@npm:~2.7.3": + version: 2.7.4 + resolution: "gauge@npm:2.7.4" + dependencies: + aproba: ^1.0.3 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.0 + object-assign: ^4.1.0 + signal-exit: ^3.0.0 + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + wide-align: ^1.1.0 + checksum: b136dbeb8e40acaaddab6c71c9f34d3c9aa104efc538c8c0ddcd74b25efb8daeb8dca24a9b30626b477d66beccd3dee8dd31e25eb4c7c97ec58a3f1a82914be1 + languageName: node + linkType: hard + +"generic-names@npm:^2.0.1": + version: 2.0.1 + resolution: "generic-names@npm:2.0.1" + dependencies: + loader-utils: ^1.1.0 + checksum: 1ed17b3c9a635cce5e740ca6e983889e41f65e5e1b4ae500d6f64dc2984cad400a7a86f9bd3c4b598a63e5b69b03cbe0155acf6e958909eece71efb50da76307 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.1": + version: 1.0.0-beta.1 + resolution: "gensync@npm:1.0.0-beta.1" + checksum: 3d14f7c34fc903dd52c36d0879de2c4afde8315edccd630e97919c365819b32c06d98770ef87f7ba45686ee5d2bd5818354920187659b42828319f7cc3352fdb + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: ^3.0.0 + checksum: c71c5625f4573a33823371da253b4183df6bdb28cb678d03bab9b5f91626d92d6f3f5ae2404c5efdc1248fbb82204e4dae4283c7ff3cc14e505754f9f748f217 + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: 2650725bc6939616da8432e5351ca87d8b29421bb8dc19c21bad2c37cd337d2a50d36fcc398ce0c16a075f6079afe114131780dca7e2f4b96063e53e7d28fd7a + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.0, glob-parent@npm:~5.1.0": + version: 5.1.1 + resolution: "glob-parent@npm:5.1.1" + dependencies: + is-glob: ^4.0.1 + checksum: 2af6e196fba4071fb07ba261366e446ba2b320e6db0a2069cf8e12117c5811abc6721f08546148048882d01120df47e56aa5a965517a6e5ba19bfeb792655119 + languageName: node + linkType: hard + +"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 789977b52432865bd63846da5c75a6efc2c56abdc0cb5ffcdb8e91eeb67a58fa5594c1195d18b2b4aff99675b0739ed6bd61024b26562e0cca18c8f993efdc82 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 2563d3306a7e646fd9ec484b0ca29bf8847d9dc6ebbe86026f11e31bda04f420f6536c2decbd4cb96350379801d2cce352ab373c40be8b024324775b31f882f9 + languageName: node + linkType: hard + +"globby@npm:^11.0.0": + version: 11.0.1 + resolution: "globby@npm:11.0.1" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 + slash: ^3.0.0 + checksum: e7239e9e468c3692aec31dc97b5efc13dd21edf38820baeda98118ade39f475c4ff9e7610859eb4a3c75277ca2616e371265fec3c626aba5db4335bc41c59ac7 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.3": + version: 4.2.4 + resolution: "graceful-fs@npm:4.2.4" + checksum: d095ee4dc6eacc76814cd52d5d185b860119378a6fd4888e7d4e94983095c54d4f6369942a5e3d759cdbdd4e3ee7eaeb27a39ff938c6ee4610894fd9de46b6cb + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: e27ac33a968b8a3b2cc32e53afaec8aa795d08b058ef9b09b3bbce74db7ecadcabf60a6186e3bb901335d2c72bbf9e2af59429d736b5e80dc0edf18b3e1c5860 + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.5 + resolution: "har-validator@npm:5.1.5" + dependencies: + ajv: ^6.12.3 + har-schema: ^2.0.0 + checksum: 01b905cdaa7632c926a962c8127a77b98387935ef3aa0b44dae871eae2592ba6da948a3bdbb3eeceb90fa1599300f16716e50147965a7ea7c4e7c4e57ac69727 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 63aade480d27aeedb3b5b63a2e069d47d0006bf182338d662e7941cdc024e68a28418e0efa8dc5df30db9c4ee2407f39e6ea3f16cfbc6b83848b450826a28aa0 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 2e5391139d3d287231ccb58659702392f6e3abeac3296fb4721afaff46493f3d9b99a9329ae015dfe973aa206ed5c75f43e86aec0267dce79aa5c2b6e811b3ad + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.0": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: ed3719f95cbd7dada9e3fde6fad113eae6d317bc8e818a2350954914c098ca6eddb203261af2c291c49a14c52f83610becbc7ab8d569bee81261b9c260a435f2 + languageName: node + linkType: hard + +"hash-sum@npm:^2.0.0": + version: 2.0.0 + resolution: "hash-sum@npm:2.0.0" + checksum: 9d833f05e8b9cb318ff0154c3864b0d2aaf4bd675a4b65377fb4d12eed13505423deb45e85b484affd71da3d3c8b8fe30e83bf81ca9a1dd6f3523043d9281e34 + languageName: node + linkType: hard + +"http-assert@npm:^1.3.0": + version: 1.4.1 + resolution: "http-assert@npm:1.4.1" + dependencies: + deep-equal: ~1.0.1 + http-errors: ~1.7.2 + checksum: bf6a90287f0803dbebdc7dbd4927461bafe4a50b600f0081570573291889cd4913c78c522cf40629e19c4705d4d34df9b3834c829c3be3410424ac669c6e9550 + languageName: node + linkType: hard + +"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3": + version: 1.8.0 + resolution: "http-errors@npm:1.8.0" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.0 + checksum: 95ad78508b2929923dac83edd7ce513db87c4214df83a6664559810566da73d9a6892ffdcd76738d9ab9d33172b4c7e304436a4031d471569a7344396fea0ecb + languageName: node + linkType: hard + +"http-errors@npm:~1.4.0": + version: 1.4.0 + resolution: "http-errors@npm:1.4.0" + dependencies: + inherits: 2.0.1 + statuses: ">= 1.2.1 < 2" + checksum: 9c7223c083284602c2134be9808dbefc87943d3242e1728682824c5d2d4fcd982c8d342714d3024cac2a127880fdc3a7dc1383d742ebdf6ee424d2fedcca59ff + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: ~1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: ">= 1.4.0 < 2" + checksum: 850a3bf69ffc56c5151cea4a31bdf47412b7a6af3ee3f4fc92d3c4d90f8398d8843806f0d81916b310b661eed93722272cf2d41c2cac2fd5d1d1c66d4077942c + languageName: node + linkType: hard + +"http-errors@npm:~1.7.2": + version: 1.7.3 + resolution: "http-errors@npm:1.7.3" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.0 + checksum: 563ae4a3f19c89029212922bade6ffcd0e4b7fa52e539f08c8f6941de7eaccb00bf76cb7692662192f2f0d567d4ac1f9d6a3d0ee70b166c8540cf791497f90ea + languageName: node + linkType: hard + +"http-proxy@npm:^1.16.2": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: ^4.0.0 + follow-redirects: ^1.0.0 + requires-port: ^1.0.0 + checksum: fc2062718d77868eff0d2707652d7e0d302a0f85d90f317daa410df5c41fbe009589c80bc73cc72a44368bb37d071c8f52aaa5b3ce82a08f3524a79ddf178b9b + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^1.2.2 + sshpk: ^1.7.0 + checksum: d28227eed37cb0dae0e76c46b2a5e611c678808433e5642238f17dba7f2c9c8f8d1646122d57ec1a110ecc7e8b9f5b7aa0462f1e2a5fa3b41f2fca5a69af7edf + languageName: node + linkType: hard + +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: cac115f635090055427bbd9d066781b17de3a2d8bbf839d920ae2fa52c3eab4efc63b4c8abc10e9a8b979233fa932c43a83a48864003a8c684ed9fb78135dd45 + languageName: node + linkType: hard + +"icss-replace-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "icss-replace-symbols@npm:1.1.0" + checksum: 6529ec8274f670e4ed5ded7d48f3f6d6f1576078353f3a363e6183f0be95166c74b4e2a93e1557d1852c59d0ce573ad5e91329e65a8fe94ab88fbb12a02f0ea9 + languageName: node + linkType: hard + +"icss-utils@npm:^4.0.0, icss-utils@npm:^4.1.1": + version: 4.1.1 + resolution: "icss-utils@npm:4.1.1" + dependencies: + postcss: ^7.0.14 + checksum: 437ba4f7c9543db7a007f3968698ae26c966e2c54e34ac08c8f88737d06181ffacc5de8d17435940367135822a98655e3c6c8f70504d22b2f5cbc8e10798f873 + languageName: node + linkType: hard + +"ignore@npm:^5.1.4": + version: 5.1.8 + resolution: "ignore@npm:5.1.8" + checksum: b08e3d5b5d94eca13475f29a5d47d221060e9cdd7e38d7647088e29d90130669a970fecbc4cdb41b8fa295c6673740c729d3dc05dadc381f593efb42282cbf9f + languageName: node + linkType: hard + +"import-cwd@npm:^2.0.0": + version: 2.1.0 + resolution: "import-cwd@npm:2.1.0" + dependencies: + import-from: ^2.1.0 + checksum: 2b8cb7bab332ae13d24aaa226b1b59a438e2e5dc07e6dcc735860d0520f9591a8ed55f60444658123c30958057e4b0f552bb5140e6e243d7fbd4b24bfee29d85 + languageName: node + linkType: hard + +"import-fresh@npm:^2.0.0": + version: 2.0.0 + resolution: "import-fresh@npm:2.0.0" + dependencies: + caller-path: ^2.0.0 + resolve-from: ^3.0.0 + checksum: c95204ecfbea5b6c8fb792faaa765ee2d0c5912eb92485dc9e4f9f40326438b182ac4de8eec769c28dbc35656309fb79d0bae591e7305e7cfd069c2347c745ca + languageName: node + linkType: hard + +"import-from@npm:^2.1.0": + version: 2.1.0 + resolution: "import-from@npm:2.1.0" + dependencies: + resolve-from: ^3.0.0 + checksum: eb8dddd9d20058d3b3bb303f8e352cbd1bd53174d4fb2814fb64fc20b8796964116873aa7ebefbe57ec282ac6a2fce51c21dd47870de36e5d63304e612b18996 + languageName: node + linkType: hard + +"indexes-of@npm:^1.0.1": + version: 1.0.1 + resolution: "indexes-of@npm:1.0.1" + checksum: e1c232a32631c709bb8a2188d0a53c02aae18904fff0165322a353dfd2985e0b3ea184b2b15b74acc363a0344dc6e8dc927b874935a738e8ce0e5253e4a9da98 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: 17c53fc42cbe7f7f471d2bc41b97a0cde4b79a74d5ff59997d3f75210566fa278e17596da526d43de2bd07e222706240ce50e60097e54f2cde2e64cbbb372638 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 98426da247ddfc3dcd7d7daedd90c3ca32d5b08deca08949726f12d49232aef94772a07b36cf4ff833e105ae2ef931777f6de4a6dd8245a216b9299ad4a50bea + languageName: node + linkType: hard + +"inherits@npm:2.0.1": + version: 2.0.1 + resolution: "inherits@npm:2.0.1" + checksum: 6f59f627a64cff6f4b5a2723184d831e6fc376cf88b8a94821caa2cad9d44da6d79583335024c01a541d9a25767785928a28f6e2192bb14be9ce800b315b4faa + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 9488f9433effbc24474f6baee8014e5337c7f99305ecb4204fa5864ae7655c24225780d87fc65ed8d3d374715a18c5dc8c69fe3bf9745cde2e7acd0ac068a07b + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: fc2bbe14dbcb27b490e63b7fbf0e3b0aae843e5e1fa96d79450bb9617797615a575c78c454ffc8e027c3ad50d63d83e85a7387784979dcd46686d2eb5f412db0 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: ^2.0.0 + checksum: 49a1446a3cf3719e91a061f0e52add18fd065325c652c277519a2ad333440dc8b449076a893277a46940ef16f05a908716667ca8f986b28c677b9acb11e10a36 + languageName: node + linkType: hard + +"is-directory@npm:^0.3.1": + version: 0.3.1 + resolution: "is-directory@npm:0.3.1" + checksum: e921dc18177e0ec9d1f05637b356d2974f2dacf9e120a90243a95f02bdd24a9c8bf7eb30ae51a7aa8d0e5dbb8a845fd58b105626535b693154d602f4618a8f5a + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.1.1 + resolution: "is-docker@npm:2.1.1" + bin: + is-docker: cli.js + checksum: dc8e36fa63a246728e5dd4b3ab2d454f685d3dcc1fecbe62144a0c3bc1f5eef0cf67cb3af1b4a9d274dd18877b954b651c7ef0a483abae6a7a2baa8f987554ba + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: ca623e2c56c893714a237aff645ec7caa8fea4d78868682af8d6803d7f0780323f8d566311e0dc6f942c886e81cbfa517597e48fcada7f3bf78a4d099eeecdd3 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: fc3d51ef082eaf0c0d44e94b74cf43b97446e008b147b08186daea8bd5ff402596f04b5fe4fa4c0457470beab5c2de8339c49c96b5be65fe9fdf88f60a0001e8 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.7 + resolution: "is-generator-function@npm:1.0.7" + checksum: 6842c326097d94397bee53544b8d903dabf57a771e2bc36c1f4021106192b601b563372a1d34e921b10871740233a5f62d5d15adb3caf87665ab5932ccb8a83c + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" + dependencies: + is-extglob: ^2.1.1 + checksum: 98cd4f715f0fb81da34aa6c8be4a5ef02d8cfac3ebc885153012abc2a0410df5a572f9d0393134fcba9192c7a845da96142c5f74a3c02787efe178ed798615e6 + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: d79b435e5134ccd60dfe035117b1cddd5c5100e90b2d33428adfe1667e26f0114cc1bc7b3ff84a1b107de8ef27f155e3ecc3bb08c0e502a15c66300b4a45d9e5 + languageName: node + linkType: hard + +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 2cbd41e2760874130b76aee84cc53120c4feef0d0f196fa665326857b444c8549909cc840f3f3a59652a7e8df46146a77f6c0f3f70a578704e03670975843e74 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: eec6e506c6de472af4bdfd0cc477e8aeb76f0a7066c8680fcdfed5324ee31a7d2b59d22313007c58aa80eb937f0c40eefdceedb851997d46b490b49f87160369 + languageName: node + linkType: hard + +"is-reference@npm:^1.1.2": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "*" + checksum: 9daa3d7c4dc159e326be68c025a43bf714b36a6d065c2cc6907f7c44d010867dd10ec7f74bff37cb5d2000ac8b03c94cde3d69c85dc9a56a887ce576200ad01f + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: f92ba04a8b8fafbade79bdaada53a044025db2fbd3fc2be978434db9a097a4afa457c2e3222c70c2ffc38854bde3a352593d6315463a54394f08ca9e51e32b50 + languageName: node + linkType: hard + +"is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 4e21156e7360a5916eded35c5938adf6278299a8055640864eebb251e4351cd605beccddf9af27477e19f753d453412fe0c21379bb54b55cfdf5add263076959 + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 3dcc4073d4682b9f9a4c59411bb73716cfff88eae58a6bd0af302b8ee016263a5150302bb296bc81a4cb0d3b66c86d82b3ee0146ed15f6558022bc847a2549a2 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: daeda3c23646200b0b464b7a9030d10008d7701fc6b7a1b45cafe42b4f4d2dde20835b56f19a49e04bb218245b7f7a2bcc6d0f696cff3711e4eddaa2031c611f + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: b0ff31a290e783f7b3fb73f2951ee7fc2946dc197b05f73577dc77f87dc3be2e0f66007bedf069123d4e5c4b691e7c89a241f6ca06f0c0f4765cdac5aa4b4047 + languageName: node + linkType: hard + +"isbuiltin@npm:^1.0.0": + version: 1.0.0 + resolution: "isbuiltin@npm:1.0.0" + dependencies: + builtin-modules: ^1.1.1 + checksum: 58cd6615550653c7dbca5642a1521f1180dade8f37d583a5f74d364462b47921da80f092fb71812a3615fc49654bc1eb0cf1a42caf8b7531f5aba7ca1c1344cf + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 7b437980bb77881a146fba85cfbdf01edc2b148673e9c2722a1e49661fea73adf524430a80fdbfb8ce9f60d43224e682c657c45030482bd39e0c488fc29b4afe + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 8e6e5c4cf1823562db7035d2e7bac388412060fe9bc6727eca8c608def5aa57709165c51c2e68a2fce6ff0b64d79489501b84715060c5e8a477b87b6cbcd1eca + languageName: node + linkType: hard + +"jest-worker@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-worker@npm:24.9.0" + dependencies: + merge-stream: ^2.0.0 + supports-color: ^6.1.0 + checksum: 9740355081d8f98b15e035405a76a9eafc4ee2b943e00bbc74c34fa632a23e2c2d9d9efb4eb86165435ff76f8bc95dcd74ec63b5acbeb2f0755c83e77d0e71f4 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 1fc4e4667ac2d972aba65148b9cbf9c17566b2394d3504238d8492bbd3e68f496c657eab06b26b40b17db5cac0a34d153a12130e2d2d2bb6dc2cdc8a4764eb1b + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.0 + resolution: "js-yaml@npm:3.14.0" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: 2eb95464e5263aedc20ae2d9280f0e29b00adab15ece080ec42473d7055efaab24b904108644d115f687efe05a5bde02972b883aafa93607c4c108f667a56fa7 + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: b530d48a64e6aff9523407856a54c5b9beee30f34a410612057f4fa097d90072fc8403c49604dacf0c3e7620dca43c2b7f0de3f954af611e43716a254c46f6f5 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: ca91ec33d74c55959e4b6fdbfee2af5f38be74a752cf0a982702e3a16239f26c2abbe19f5f84b15592570dda01872e929a90738615bd445f7b9b859781cfcf68 + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.1": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: b4c4f0e43b43892af887db742b26f9aa6302b09cd5f6e655ead49fca9f47f3cdd300dcf98cf5218778262be51d7b29859221206fc98b87a1a61c5af7618dae89 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 6f71bddba38aa043cf9c05ff9cf37158a6657909f1dd37032ba164b76923da47a17bb4592ee4f7f9c029dfaf26965b821ac214c1f991bb3bd038c9cfea2da50b + languageName: node + linkType: hard + +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: d382ea841f0af5cf6ae3b63043c6ddbd144086de52342b5dd32d8966872dce1e0ed280f6b27c5fba97e50cf8640f27b593e039cb95df365718ada03ef0feb9f2 + languageName: node + linkType: hard + +"json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 261dfb8eb3e72c8b0dda11fd7c20c151ffc1d1b03e529245d51708c8dd8d8c6a225880464adf41a570dff6e5c805fd9d1f47fed948cfb526e4fbe5a67ce4e5f4 + languageName: node + linkType: hard + +"json5@npm:^1.0.1": + version: 1.0.1 + resolution: "json5@npm:1.0.1" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: df41624f9f40bfacc546f779eef6d161a3312fbb6ec1dbd69f8c4388e9807af653b753371ab19b6d2bab22af2ca7dde62fe03c791596acf76915e1fc4ee6fd88 + languageName: node + linkType: hard + +"json5@npm:^2.1.2": + version: 2.1.3 + resolution: "json5@npm:2.1.3" + dependencies: + minimist: ^1.2.5 + bin: + json5: lib/cli.js + checksum: 957e4937106cf59975aa0281e68911534d65c8a25be5b4d3559aa55eba351ccab516a943a60ba33e461e4b8af749939986e311de910cbcfd197410b57d971741 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.0.1 + resolution: "jsonfile@npm:6.0.1" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^1.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: ebd6932424db468226b0b525b5b8acefd97e46f4fc5f36232c94e928b405716b47b2d7c2342025ecd7a0219f2146ae613d33878b917505698b7dc36ebe082c11 + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + checksum: ee0177b7ef39e6becf18c586d31fabe15d62be88e7867d3aff86466e4a3de9a2cd47b6e597417aebc1cd3c2d43bc662e79ab5eecdadf3ce0643e909432ed6d2c + languageName: node + linkType: hard + +"keygrip@npm:~1.1.0": + version: 1.1.0 + resolution: "keygrip@npm:1.1.0" + dependencies: + tsscmp: 1.0.6 + checksum: 917fc9c6ad8528537534ae181f85a566bf74716f3e38e83ff858862ebad24f31f70781b875fbf5a34bba115433361d2dbdad94d4debf0ca6631c85b47a5f0e31 + languageName: node + linkType: hard + +"koa-compose@npm:^3.0.0": + version: 3.2.1 + resolution: "koa-compose@npm:3.2.1" + dependencies: + any-promise: ^1.1.0 + checksum: 68f839a57c1cb8f9a0a42b86761ffb43a53d5f95bb9c56daa03895cc5553db88f7740fcbdefd6cf3db17f0f71a8a695b5b249752aef844d44dc0a738181cdf25 + languageName: node + linkType: hard + +"koa-compose@npm:^4.1.0": + version: 4.1.0 + resolution: "koa-compose@npm:4.1.0" + checksum: 53a9b90f2167c63483a36c254b49f63510de4bfed2a1f54389f2fa0e20d0824f2e92c677bb654fc40d6c03df01d414bf4c777ce23dd08e563fbe5b632938478b + languageName: node + linkType: hard + +"koa-conditional-get@npm:^2.0.0": + version: 2.0.0 + resolution: "koa-conditional-get@npm:2.0.0" + checksum: f59a0333e3d97c31f06ae7c5664a55f5351884c3208a15f8513827805f147e216448d812fdcb6fa8f257a7f4d831dbb5ee76a51b8ef2e988d8f28d817de3b156 + languageName: node + linkType: hard + +"koa-convert@npm:^1.2.0": + version: 1.2.0 + resolution: "koa-convert@npm:1.2.0" + dependencies: + co: ^4.6.0 + koa-compose: ^3.0.0 + checksum: d74bafebae527ef5b26f9f7d66928ca9f62cabba2eb8cc8fff1742a5ed5de21a32ca9ddb0a63b0e6a3e3ae04163be95b3a0efdaed662303f921c655527e16955 + languageName: node + linkType: hard + +"koa-etag@npm:^3.0.0": + version: 3.0.0 + resolution: "koa-etag@npm:3.0.0" + dependencies: + etag: ^1.3.0 + mz: ^2.1.0 + checksum: 30ef727cd8b981e220d1f39834e5f00192b3febc1c4b83b1a9fdf683102001d450ec78e0f596c4ad0e14e9a8c87a7afdfc31ee73fc857b2d84b27db8372a2335 + languageName: node + linkType: hard + +"koa-proxies@npm:^0.11.0": + version: 0.11.0 + resolution: "koa-proxies@npm:0.11.0" + dependencies: + http-proxy: ^1.16.2 + path-match: ^1.2.4 + peerDependencies: + koa: ">=2" + checksum: 461cf9ee8fb8e7211db5b5bf044b454f21c640f25fbe22789c162a628c286abc724f81fd213bcb909448d46f84f72fa7d0949c2d1d94f8f1639eadd14e5078e9 + languageName: node + linkType: hard + +"koa-send@npm:^5.0.0": + version: 5.0.1 + resolution: "koa-send@npm:5.0.1" + dependencies: + debug: ^4.1.1 + http-errors: ^1.7.3 + resolve-path: ^1.4.0 + checksum: f7a1eae721dec4e9649ea6f6cfcdd00b79a4cb88df613c1e9b3a8a64ae9a8cde0afd59190ca6c38babdd4e74e6aa2bef7641c869ec1b1a6831319683f0d80f3b + languageName: node + linkType: hard + +"koa-static@npm:^5.0.0": + version: 5.0.0 + resolution: "koa-static@npm:5.0.0" + dependencies: + debug: ^3.1.0 + koa-send: ^5.0.0 + checksum: 46ef53f1085ffa3f6bd27beb0ddb5df620788206b81f1b6604f2ac63762f1d30093d722355d789c7d5de37a31e40ff35ddfb495ee33aa451d36783b1c584bb9d + languageName: node + linkType: hard + +"koa@npm:^2.11.0": + version: 2.13.0 + resolution: "koa@npm:2.13.0" + dependencies: + accepts: ^1.3.5 + cache-content-type: ^1.0.0 + content-disposition: ~0.5.2 + content-type: ^1.0.4 + cookies: ~0.8.0 + debug: ~3.1.0 + delegates: ^1.0.0 + depd: ^1.1.2 + destroy: ^1.0.4 + encodeurl: ^1.0.2 + escape-html: ^1.0.3 + fresh: ~0.5.2 + http-assert: ^1.3.0 + http-errors: ^1.6.3 + is-generator-function: ^1.0.7 + koa-compose: ^4.1.0 + koa-convert: ^1.2.0 + on-finished: ^2.3.0 + only: ~0.0.2 + parseurl: ^1.3.2 + statuses: ^1.5.0 + type-is: ^1.6.16 + vary: ^1.1.2 + checksum: d8dca4c17f1c0c59a0d9df3680c1eec2e0107564f04e306614e236966381a5db49577f9dcb0b1a3cccb74c08319052be9bfbd4bb53a6c4a695bc872607902bc3 + languageName: node + linkType: hard + +"loader-utils@npm:^1.1.0": + version: 1.4.0 + resolution: "loader-utils@npm:1.4.0" + dependencies: + big.js: ^5.2.2 + emojis-list: ^3.0.0 + json5: ^1.0.1 + checksum: 9fd690e57ad78d32ff2942383b4a7a175eba575280ba5aca3b4d03183fec34aa0db314f49bd3301adf7e60b02471644161bf53149e8f2d18fd6a52627e95a927 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 3cb674ed3b37bb698f2ec5a1c3f607d157279f3015877132e8be5c22cf8048988cb9bf1e61c90dbefea3895a459c095773cc266a5b1a9f4202bcd062b3983e37 + languageName: node + linkType: hard + +"lodash@npm:^4.17.19": + version: 4.17.20 + resolution: "lodash@npm:4.17.20" + checksum: c62101d2500c383b5f174a7e9e6fe8098149ddd6e9ccfa85f36d4789446195f5c4afd3cfba433026bcaf3da271256566b04a2bf2618e5a39f6e67f8c12030cb6 + languageName: node + linkType: hard + +"log-symbols@npm:^3.0.0": + version: 3.0.0 + resolution: "log-symbols@npm:3.0.0" + dependencies: + chalk: ^2.4.2 + checksum: bfa7cceaea16d7e378b4f6a16e22c5c78bc4250350a84d653766927bdf27e5b94015f616e193bc275e80d13f882867ddf224a3c6c152e24289ed5e58d84d306e + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: ffd9a280fa3400e731265db502270c2a65432f3fbfac23d480c72f675ec16dbbeddd57d4baf7aca70ab7af49949fad1bcaaf5a5e6e1cfed7316de71bb5dddf1c + languageName: node + linkType: hard + +"magic-string@npm:^0.25.2, magic-string@npm:^0.25.7": + version: 0.25.7 + resolution: "magic-string@npm:0.25.7" + dependencies: + sourcemap-codec: ^1.4.4 + checksum: 4b70c13eb21c6f1c54bf7fb029748dc44d6bfcd3c59e5deeda060eecc38df6144b91d10fb7a3cf6156fadab1a68f83d69a189df20ca5f6bd088bf0196ea8f039 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: be1c825782df7f38eebd451d778f6407bb15a59c8807a69e7f2ad74a25440e474536441c6bf583fdf2803ea23b866e91ff68f565cda297211dd89147758c8df3 + languageName: node + linkType: hard + +"merge-source-map@npm:^1.1.0": + version: 1.1.0 + resolution: "merge-source-map@npm:1.1.0" + dependencies: + source-map: ^0.6.1 + checksum: fc9701ad15e346905a52e5d2618730ec785e54c7938dd914885ccfea35ec1e34b3ea1a6a893952ad61d3884233bc6f79a0fe3ce20f00becd493b251f8e73aead + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: cde834809a0e65485e474de3162af9853ab2a07977fd36d328947b7b3e6207df719ffb115b11085ecc570501e15a2aa8bacd772ac53f77873f53b0626e52a39a + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7ad40d8b140a5ed4e621b916858410e4f0dd4ced1e5a2b675563347e70f0661d95ba6c3c8007dd3c4e242d0b8eee44559fa75bb90a146cf168debffc0cbc18f3 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "micromatch@npm:4.0.2" + dependencies: + braces: ^3.0.1 + picomatch: ^2.0.5 + checksum: 0cb0e11d647cbb65e398a0a8a1340a7fb751ae2722346219c435704cfac8b3275a94a6464236fe867f52ad46a24046d3bc4ac11b3d21ddb73bc44e27cf1e4904 + languageName: node + linkType: hard + +"mime-db@npm:1.44.0": + version: 1.44.0 + resolution: "mime-db@npm:1.44.0" + checksum: b4e3b2141418572fba9786f7e36324faef15e23032ad0871f56760cb304ee721ba4c8cc795d3c1cac69a2a8b94045c1d6b08c4a8d1ef6ba1226a3a5193915c57 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": + version: 2.1.27 + resolution: "mime-types@npm:2.1.27" + dependencies: + mime-db: 1.44.0 + checksum: 51fe2f2c08c10ac7a2f67e2ce5de30f6500faa88d095418a1ab6e90e30960db7c682a8ecce60d3d4e293ac52c4700ca99399833db998ea9ec83d6f0503b70a94 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: f7d2d7febe3d7dd71da0700b1d455ec6c951a96b463ffcc303c93771b9fe4e45318152ea677c241505b19b39e41d906e5052cfb382d59a44bdb6d3d57f8b467b + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 47eab9263962cacd5733e274ecad2d8e54b0f8e124ba35ae69189e296058f634a4967b87a98954f86fa5c830ff177caf827ce0136d28717ed3232951fb4fae62 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.5": + version: 1.2.5 + resolution: "minimist@npm:1.2.5" + checksum: b77b8590147a4e217ff34266236bc39de23b52e6e33054076991ff674c7397a1380a7bde11111916f16f003a94aaa7e4f3d92595a32189644ff607fabc65a5b6 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.1.3 + resolution: "minipass@npm:3.1.3" + dependencies: + yallist: ^4.0.0 + checksum: d12b95a845f15950bce7a77730c89400cf0c4f55e7066338da1d201ac148ece4ea8efa79e45a2c07c868c61bcaf9e996c4c3d6bf6b85c038ffa454521fc6ecd5 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: 5a45b57b3467e5a743d87a96d7be57598a6f72eb3b7eeac237074c566bd04278766ae03bb523c32f34581c565a19e74e54ec90c6ce0630a540787c755b4c4b4e + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 1a230340cc7f322fbe916783d8c8d60455407c6b7fb7f901d6ee34eb272402302c5c7f070a97b8531245cbb4ca6a0a623f6a128d7e5a5440cefa2c669c0b35bb + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 9b65fb709bc30c0c07289dcbdb61ca032acbb9ea5698b55fa62e2cebb04c5953f1876a1f3f7f4bc2e91d4bf4d86003f3e207c3bc6ee2f716f99827e62389cd0e + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 315c40f463ec31deee54c5b8779207feb6b63dd4c58fe0f84ad46abdd6dac1ada578d53efde4a47b0ae4d29d453d35bb39ecdd98ee9ebf538929039a3a9945df + languageName: node + linkType: hard + +"mz@npm:^2.1.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: ^1.0.0 + object-assign: ^4.0.1 + thenify-all: ^1.0.0 + checksum: 063966dd8e05dfe952038e88d14fb0a3816d9fa391b5afc75d19e2247b7471fd98ca85ffca45d950b9aab4f8f7536aecf63509af031e1785549468b6400eeda5 + languageName: node + linkType: hard + +"negotiator@npm:0.6.2": + version: 0.6.2 + resolution: "negotiator@npm:0.6.2" + checksum: 4b230bd15f0862d16c54ce0243fcfcf835ad59c8e58c467b4504dd28c9868cff71ff485b02cc575dc69dca819b58a1fadc9fb28403f45721f38a8fffde007d54 + languageName: node + linkType: hard + +"node-forge@npm:^0.10.0": + version: 0.10.0 + resolution: "node-forge@npm:0.10.0" + checksum: c7a729933a0391e4f434d4455705e869340bf91c3cc6b51b3844a91a5ac9db6f8697f600ab1e62e25f990382b2c1592d93d31fd831bb1a0b1e66ce28d9d6d124 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 7.1.0 + resolution: "node-gyp@npm:7.1.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.3 + nopt: ^4.0.3 + npmlog: ^4.1.2 + request: ^2.88.2 + rimraf: ^2.6.3 + semver: ^7.3.2 + tar: ^6.0.1 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 78518a89047fdacb14c41586ce038584e21993f5c7ad31834c78cf06de0514fe4ef84a9034461695a10667bc81ee9ad8bc7d725cf951d4dfe1c0c175d763da59 + languageName: node + linkType: hard + +"nopt@npm:^4.0.3": + version: 4.0.3 + resolution: "nopt@npm:4.0.3" + dependencies: + abbrev: 1 + osenv: ^0.1.4 + bin: + nopt: bin/nopt.js + checksum: bf7b8c15fd035bf1faa897ec83c3fe5a459beb51a09dfad9413429382139784c3f05e11847d2e5de7160a813c5c8c6cf74c34f22b483c08fdaf465586f293f49 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 215a701b471948884193628f3e38910353abf445306b519c42c2a30144b8beb8ca0a684da97bfc2ee11eb168c35c776d484274da4bd8f213d2b22f70579380ee + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 058fd068804f8c34fcef9393fc895d45400834c9f90bbafc57259f9fd47e8796712e4ad54524f0971b806260a118bf61ac37b0bf9f74e9e58c84bae780ae09e6 + languageName: node + linkType: hard + +"npmlog@npm:^4.1.2": + version: 4.1.2 + resolution: "npmlog@npm:4.1.2" + dependencies: + are-we-there-yet: ~1.1.2 + console-control-strings: ~1.1.0 + gauge: ~2.7.3 + set-blocking: ~2.0.0 + checksum: 0cd63f127c1bbda403a112e83b11804aaee2b58b0bc581c3bde9b82e4d957c7ed0ad3bee499af706cdd3599bb93669d7cbbf29fb500407d35fe75687ac96e2c0 + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 42251b2653a16f8b47639d93c3b646fff295a4582a6b3a2fc51a651d4511427c247629709063d19befbceb8a3db1a8e9f17016b3a207291e79e4bd1413032918 + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: af1ab60297c3a687d1d2de5c43c6453c4df6939de3e6114ada4a486ac51fa7ab1769f33000b94c0e8ffced5ae4c57c4f5d36b517792d83e9e9742578a728682e + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 66cf021898fc1b13ea573ea8635fbd5a76533f50cecbc2fcd5eee1e8029af41bcebe7023788b6d0e06cbe4401ecea075d972f78ec74467cdc571a0f1a4d1a081 + languageName: node + linkType: hard + +"on-finished@npm:^2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 362e64608287d31ffd96a15fb9305a410b3e4d07c86f277fae907e38af46bc6f5ff948de90eabb81dc5632ca7f9a290085acc5410c378053dfa9860451d97ee5 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: 57afc246536cf6494437f982b26475f22bee860f8b77ce8eb1543f42a8bffe04b2c66ddfea9a16cb25ccb80943f8ee4fc639367ef97b7a6a4f2672eb573963f5 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: ^2.1.0 + checksum: e425f6caeb20cf2598ffece94be5663932e34d074f1631b682b13d5f01cc1e0712a7dc711eff1706bb5a5aaab8a52e37bd5edcf560334e3222219d7e8b09c21c + languageName: node + linkType: hard + +"only@npm:~0.0.2": + version: 0.0.2 + resolution: "only@npm:0.0.2" + checksum: d9bb82243af05b7fccab253ad83d2e0053c4de4a1a7669d83a3a0f98af198a55f0d98cf51ccb58e9a2b67212598865e224c135cefe301846a3d7d3188245ebdb + languageName: node + linkType: hard + +"open@npm:^7.0.3": + version: 7.2.1 + resolution: "open@npm:7.2.1" + dependencies: + is-docker: ^2.0.0 + is-wsl: ^2.1.1 + checksum: ff35ebbfb2c9530007cf34939ab8104ed0ed93fd3344fe59217f6e64210c79d352b72616553969eedcd1c951c8eff7a636669079b7a43d57b436b3de898c16ac + languageName: node + linkType: hard + +"ora@npm:^4.0.4": + version: 4.1.1 + resolution: "ora@npm:4.1.1" + dependencies: + chalk: ^3.0.0 + cli-cursor: ^3.1.0 + cli-spinners: ^2.2.0 + is-interactive: ^1.0.0 + log-symbols: ^3.0.0 + mute-stream: 0.0.8 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + checksum: 21db2c0af36b9c4cb423dbdaeed726d84c4db4faec8c69eca80f2ee60465c5520a0de54618c53226925a787181ec61b5760522b0240a6998de4a5a9c5cf129ed + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 725256246b2cec353250ec46442e3cfa7bc96ef92285d448a90f12f4bbd78c1bf087051b2cef0382da572e1a9ebc8aa24bd0940a3bdc633c3e3012eef1dc6848 + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: ca158a3c2e48748adc7736cdbe4c593723f8ed8581d2aae2f2a30fdb9417d4ba14bed1cd487d47561898a7b1ece88bce69745e9ce0303e1dea9ea7d22d1f1082 + languageName: node + linkType: hard + +"osenv@npm:^0.1.4": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: ^1.0.0 + os-tmpdir: ^1.0.0 + checksum: 1c7462808c5ff0c2816b11f2f46265a98c395586058f98d73a6deac82955744484b277baedceeb962c419f3b75d0831a77ce7cf38b9e4f20729943ba79d72b08 + languageName: node + linkType: hard + +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: ^1.3.1 + json-parse-better-errors: ^1.0.1 + checksum: fa9d23708f562c447f2077c6007938334a16e772c5a9b25a6eb1853d792bc34560b483bb6079143040bc89e5476288dd2edd5a60024722986e3e434d326218c9 + languageName: node + linkType: hard + +"parseurl@npm:^1.3.2": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 52c9e86cb58e38b28f1a50a6354d16648974ab7a2b91b209f97102840471de8adf524427774af6d5bc482fb7c0a6af6ba08ab37de9a1a7ae389ebe074015914b + languageName: node + linkType: hard + +"path-is-absolute@npm:1.0.1, path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 907e1e3e6ac0aef6e65adffd75b3892191d76a5b94c5cf26b43667c4240531d11872ca6979c209b2e5e1609f7f579d02f64ba9936b48bb59d36cc529f0d965ed + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: e44aa3ca9faed0440994883050143b1214fffb907bf3a7bbdba15dc84f60821617c0d84e4cc74e1d84e9274003da50427f54d739b0b47636bcbaff4ec71b9b86 + languageName: node + linkType: hard + +"path-match@npm:^1.2.4": + version: 1.2.4 + resolution: "path-match@npm:1.2.4" + dependencies: + http-errors: ~1.4.0 + path-to-regexp: ^1.0.0 + checksum: a642538d4741e96fdf9384639baa5c7e1fd5d011a0fd3a1cb1d44609afeb91a16c8062d002ee3817c5f9a57cb2fe5bc2bf4422f12201c53e1382e4dcfa4de9c5 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.6 + resolution: "path-parse@npm:1.0.6" + checksum: 2eee4b93fb3ae13600e3fca18390d9933bbbcf725a624f6b8df020d87515a74872ff6c58072190d6dc75a5584a683dc6ae5c385ad4e4f4efb6e66af040d56c67 + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.0.0": + version: 1.8.0 + resolution: "path-to-regexp@npm:1.8.0" + dependencies: + isarray: 0.0.1 + checksum: 4c0d9aaf3fc55db0b2d9aab379856acbf4e437f2252bbc2a178aec9f707c8457f8084ea6243a80e0b37c8c1c20d23e918cd43e772a7e71142a8ad67af699686b + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: ef5835f2eb47e4d06004c7ec7bd51175c0455eaecd5ee99a9774bca5ef43242616e25b44ccc0ba86a0bf42b9f197550fcc0dfa7580e5ff9dca53c035e9bd86a9 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: bb4ebed0b03d6c3ad3ae4eddd1182c895d385cff9096af441c19c130aaae3ea70229438ebc3297dfc52c86022f6becf177a810050823d01bf5280779cd2de624 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2": + version: 2.2.2 + resolution: "picomatch@npm:2.2.2" + checksum: 20fa75e0a58b39d83425b3db68744d5f6f361fd4fd66ec7745d884036d502abba0d553a637703af79939b844164b13e60eea339ccb043d7fbd74c3da2592b864 + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: d5758aa570bbd5969c62b5f745065006827ef4859b32af302e3df2bb5978e6c1e50c2360d7ffefa102e451084f4530115c84570c185ba5153ee9871c977fe278 + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-discard-comments@npm:4.0.2" + dependencies: + postcss: ^7.0.0 + checksum: 7b357a3a4bbb2601ec0c659ed389de4334e185cfebbd991bed4c69d83905ec49b5a988d4b4ee1ea8db5b6f8b66b93f8590c16cf5c22f7efe5bde2ed1cad4ccce + languageName: node + linkType: hard + +"postcss-import@npm:^12.0.1": + version: 12.0.1 + resolution: "postcss-import@npm:12.0.1" + dependencies: + postcss: ^7.0.1 + postcss-value-parser: ^3.2.3 + read-cache: ^1.0.0 + resolve: ^1.1.7 + checksum: 4495dba0682e7d92b176bfbb4d8d0dee8292592fff46665d7c5275fdd23ad4351c2f0151c6ec4f47edbaaac4def5d0eb7ca82e123337bb091b00a18b4c813689 + languageName: node + linkType: hard + +"postcss-load-config@npm:^2.1.0": + version: 2.1.1 + resolution: "postcss-load-config@npm:2.1.1" + dependencies: + cosmiconfig: ^5.0.0 + import-cwd: ^2.0.0 + checksum: 020099936bbd77cc090e757445bc87f7a04c3474e5a275f829840e4ac43c16fefda5eb172dcf2ecfc8122be5c44435a344ba9fe7c5aaba192ddc379ea7fe1064 + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-modules-extract-imports@npm:2.0.0" + dependencies: + postcss: ^7.0.5 + checksum: 82e59325814e133cfbef4a4237b68eba017c15a350dac938049cefa2d212b22037c54ec8adda7b6cc23c845ea9a47e0538caa3649f9f9ed527788826a1b17670 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^3.0.2": + version: 3.0.3 + resolution: "postcss-modules-local-by-default@npm:3.0.3" + dependencies: + icss-utils: ^4.1.1 + postcss: ^7.0.32 + postcss-selector-parser: ^6.0.2 + postcss-value-parser: ^4.1.0 + checksum: 6d34b3b1dc38cba7a3c50ef1bf6f5a0573c638b92a74cf47a730b9e029ad0f1464a944470a4aa51fdaaa8e4c47fcbb52f167d2da0342778776cdd6bafe9b146e + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^2.2.0": + version: 2.2.0 + resolution: "postcss-modules-scope@npm:2.2.0" + dependencies: + postcss: ^7.0.6 + postcss-selector-parser: ^6.0.0 + checksum: c560d3aa7b440917980e27bc284bcf1a4ffb0a401de2fb19e1b4b9912f5658e1511453b124d122d7021065e38bd287c0d77aed97ae9f919453655b58a2b91dd0 + languageName: node + linkType: hard + +"postcss-modules-values@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-values@npm:3.0.0" + dependencies: + icss-utils: ^4.0.0 + postcss: ^7.0.6 + checksum: 01dc4ea51ecc12654b9e46773180d2cf731b69ad7abf5e4b9368b653dbbbc28aa3e1db31027b50d8d7534c0c206e684ae2edaaedb120220871559e43ebe81c9c + languageName: node + linkType: hard + +"postcss-modules@npm:^3.2.2": + version: 3.2.2 + resolution: "postcss-modules@npm:3.2.2" + dependencies: + generic-names: ^2.0.1 + icss-replace-symbols: ^1.1.0 + lodash.camelcase: ^4.3.0 + postcss: ^7.0.32 + postcss-modules-extract-imports: ^2.0.0 + postcss-modules-local-by-default: ^3.0.2 + postcss-modules-scope: ^2.2.0 + postcss-modules-values: ^3.0.0 + string-hash: ^1.1.1 + checksum: da8c001ad64ca36c1c7bc63591d0a5f4f9be1c2f1a3e1e909057982632c87a9d651946ea252152e308ad698d1245eb6bc5715ab3090d782515f26ebfc41cd712 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2": + version: 6.0.3 + resolution: "postcss-selector-parser@npm:6.0.3" + dependencies: + cssesc: ^3.0.0 + indexes-of: ^1.0.1 + uniq: ^1.0.1 + util-deprecate: ^1.0.2 + checksum: 9a9cdf00d4e251673a35e09de3b97503e883d45ed7c7e4aca70f0b0dcfabf6fe5de431e4c9c131c4cd03d2c85b6f4d44c7f5707e1e55aa52a2cd2cfe6a68d723 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^3.2.3": + version: 3.3.1 + resolution: "postcss-value-parser@npm:3.3.1" + checksum: 834603f6bd822846cc20b1f95e648dea67353eb506898cc5fb540b32e9a956c1030754b9503270eb00c61c3734409d7ec94fba2b4f0a89954bc855bad7e9267c + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-value-parser@npm:4.1.0" + checksum: 70831403886859289f650550a38889857022c5bbe264fd5d39cfad5207b3e1d33422edc031c1a922f3ae29d0dff98837a8bf126c840374d2b0079e7d57cf7d71 + languageName: node + linkType: hard + +"postcss@npm:^7.0.0, postcss@npm:^7.0.1, postcss@npm:^7.0.14, postcss@npm:^7.0.28, postcss@npm:^7.0.32, postcss@npm:^7.0.5, postcss@npm:^7.0.6": + version: 7.0.34 + resolution: "postcss@npm:7.0.34" + dependencies: + chalk: ^2.4.2 + source-map: ^0.6.1 + supports-color: ^6.1.0 + checksum: 60e02f81cedf98bc5f902e72ca7cfef20dc5789e367fd3620a41a00719ff3226796831f4ba55db7a1a1c595564fe0fa9a0a2fa6d8b2477d10ab83422fc0f91de + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: ddeb0f07d0d5efa649c2c5e39d1afd0e3668df2b392d036c8a508b0034f7beffbc474b3c2f7fd3fed2dc4113cef8f1f7e00d05690df3c611b36f6c7efd7852d1 + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.8.0 + resolution: "psl@npm:1.8.0" + checksum: 92d47c6257456878bfa8190d76b84de69bcefdc129eeee3f9fe204c15fd08d35fe5b8627033f39b455e40a9375a1474b25ff4ab2c5448dd8c8f75da692d0f5b4 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: 5464d5cf6c6f083cc60cb45b074fb9a4a92ba4d3e0d89e9b2fa1906d8151fd3766784a426725ccf1af50d1c29963ac20b13829933549830e08a6704e3f95e08c + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 0202dc191cb35bfd88870ac99a1e824b03486d4cee20b543ef337a6dee8d8b11017da32a3e4c40b69b19976e982c030b62bd72bba42884acb691bc5ef91354c8 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: fa0410eff2c05ce3328e11f82db4015e7819c986ee056d6b62b06ae112f4929af09ea3b879ca168ff9f0338f50972bba487ad0e46c879e42bfaf63c3c2ea7f09 + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: ede2693af09732ceab1c273dd70db787f34a7b8d95bab13f1aca763483c0113452a78e53d61ff18d393dcea586d388e01f198a5132a4a85cebba31ec54164b75 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: ^2.3.0 + checksum: 17a1996977e6b7f6d7086ccd3a918b1d353ec012888a2a074d0a9ed846a386241e461007466adc34c9d463c8e2797a42edc717fe01e5c03592710513f23657f5 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.6": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: 6e3826560627a751feb3a8aec073ef94c6e47b8c8e06eb5d136323b5f09db9d2077c23a42a8d54ed0123695af54b36c1e4271a8ec55112b15f4b89020d8dec72 + languageName: node + linkType: hard + +"readdirp@npm:~3.4.0": + version: 3.4.0 + resolution: "readdirp@npm:3.4.0" + dependencies: + picomatch: ^2.2.1 + checksum: 0159f43eb0a90cf4fde5989b607e0a6bef4e6332dc8648f1b50fbc013f1158e1d021bcfd6dad1dc2895da2bb14cdac408239d047e3d61a01dd3a44376e6ec1f1 + languageName: node + linkType: hard + +"request@npm:^2.88.2": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.3 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: 7a74841f3024cac21d8c3cca7f7f2e4243fbd62464d2f291fddb94008a9d010e20c4a1488f4224b03412a4438a699db2a3de11019e486c8e656f86b0b79bf022 + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 0db25fb2ac9b4f2345a350846b7ba99d1f25a6686b1728246d14f05450c8f2fc066bdfae4561b4be2627c184a030a27e17268cfefdf46836e271db13734bc49e + languageName: node + linkType: hard + +"resolve-from@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-from@npm:3.0.0" + checksum: dc0c83b3b867753b9fe3a901587fa70efc596a69355eb133fd68f8bbaef4e77266ef38b8a01a2d664aa32ba732425d54413b3d581ca7dff96bee177c61a0c84d + languageName: node + linkType: hard + +"resolve-path@npm:^1.4.0": + version: 1.4.0 + resolution: "resolve-path@npm:1.4.0" + dependencies: + http-errors: ~1.6.2 + path-is-absolute: 1.0.1 + checksum: bba379cf68c0ea41dcfdbeb42be490f03734d1a7cd64b1209c093280045e18d98116eadde5ab41ea7c67d91d0c8f3a90f44d8d951cc2f80235cafcf36d1594e1 + languageName: node + linkType: hard + +"resolve@^1.1.7, resolve@^1.11.0, resolve@^1.17.0, resolve@^1.3.2": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 5e3cdb8cf68c20b0c5edeb6505e7fab20c6776af0cae4b978836e557420aef7bb50acd25339bbb143b7f80533aa1988c7e827a0061aee9c237926a7d2c41f8d0 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.7#builtin, resolve@patch:resolve@^1.11.0#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.3.2#builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=3388aa" + dependencies: + path-parse: ^1.0.6 + checksum: 4bcfb568860d0c361fd16c26b6fce429711138ff0de7dd353bdd73fcb5c7eede2f4602d40ccfa08ff45ec7ef9830845eab2021a46036af0a6e5b58bab1ff6399 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: 38e0af0830336dbc7d36b8d02e9194489dc52aaf64f41d02c427303a78552019434ad87082d67ce171a569a8be898caf7c70d5e17bd347cf6f7bd38d332d0bd4 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 08ef02ed0514f020a51131ba2e6c27c66ccebe25d49cfc83467a0d4054db4634a2853480d0895c710b645ab66af1a6fb3e183888306ae559413bd96c69f39ccd + languageName: node + linkType: hard + +"rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: 059efac2838ef917d4d1da1d80e724ad28c120cdf14ca6ed27ca72db2dc70be3e25421cba5947c6ec3d804c1d2bb9a247254653816ee0722bf943ffdd1ae19ef + languageName: node + linkType: hard + +"rollup-plugin-dynamic-import-variables@npm:^1.0.1": + version: 1.1.0 + resolution: "rollup-plugin-dynamic-import-variables@npm:1.1.0" + dependencies: + "@rollup/pluginutils": ^3.0.9 + estree-walker: ^2.0.1 + globby: ^11.0.0 + magic-string: ^0.25.7 + checksum: ecbe1821df1dc8792eb3503082f9fc8d754d22a44a5c405b147b5c6b0bbe7f02be7489c615d3ebe83ad999742faa5bac190b5a661d674e552de7dddef19ad122 + languageName: node + linkType: hard + +"rollup-plugin-terser@npm:^5.3.0": + version: 5.3.1 + resolution: "rollup-plugin-terser@npm:5.3.1" + dependencies: + "@babel/code-frame": ^7.5.5 + jest-worker: ^24.9.0 + rollup-pluginutils: ^2.8.2 + serialize-javascript: ^4.0.0 + terser: ^4.6.2 + peerDependencies: + rollup: ">=0.66.0 <3" + checksum: 18ebbdc41ae13b89f033314942b104320507133ade4f865d36fc17263662686f459aea2ba7ade6eb069e8630e27fb8183f03e752d9b62f0f6a3cf8a635e71c5f + languageName: node + linkType: hard + +"rollup-plugin-vue@npm:^6.0.0-beta.10": + version: 6.0.0-beta.10 + resolution: "rollup-plugin-vue@npm:6.0.0-beta.10" + dependencies: + debug: ^4.1.1 + hash-sum: ^2.0.0 + rollup-pluginutils: ^2.8.2 + peerDependencies: + "@vue/compiler-sfc": "*" + checksum: 6c2ea6207c249f80c3065dc42d0867e046956020c93596b66e1ff99690e54ec9c68b11a628b47b85b026d291ac9ea4f446a1803b0872f94a7bb42ca7d8720453 + languageName: node + linkType: hard + +"rollup-plugin-web-worker-loader@npm:^1.3.0": + version: 1.4.0 + resolution: "rollup-plugin-web-worker-loader@npm:1.4.0" + peerDependencies: + rollup: ^1.9.2 || ^2.0.0 + checksum: 96cec6feb84e3e4e9b784606033851c6c68736c75cc6b4bcae5074c73d7375ae10469d9deb2519968727b4627f194e83a1b4b1d12fc03b19e2a26ed898e46de2 + languageName: node + linkType: hard + +"rollup-pluginutils@npm:^2.8.2": + version: 2.8.2 + resolution: "rollup-pluginutils@npm:2.8.2" + dependencies: + estree-walker: ^0.6.1 + checksum: 6922c1a26df033cc3da4650106244fb2211b5ddf72a93be5010cbe51a0817c9abcab08f61cbc3f5fc906b2701df123d8c9b0dae0a34e69dd07218e34e5d357b8 + languageName: node + linkType: hard + +"rollup@npm:^2.20.0, rollup@npm:^2.28.2": + version: 2.28.2 + resolution: "rollup@npm:2.28.2" + dependencies: + fsevents: ~2.1.2 + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: a0cfb9b5f7a3bd6b1528c18de5b86fa9befa78ee5358fe697c058ddd72325ce4d4b72df2391c8b06c538c92827035e26943b09ffa82b99a35bf3034ebd64e4f9 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.1.9 + resolution: "run-parallel@npm:1.1.9" + checksum: a05ca86e9908b2d2f90d659a0eb4129e040341729fc9ac1fa8971bf0d77ca6ccfb69f9a559cecce9cd541a9328fa4fa19a3faa6d24698d93cf751efb90aec61f + languageName: node + linkType: hard + +"safe-buffer@npm:5.1.2, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 2708587c1b5e70a5e420714ceb59f30f5791c6e831d39812125a008eca63a4ac18578abd020a0776ea497ff03b4543f2b2a223a7b9073bf2d6c7af9ec6829218 + languageName: node + linkType: hard + +"safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 549ba83f5b314b59898efe3422120ce1ca7987a6eae5925a5fa5db930dc414d4a9dde0a5594f89638cd6ea60b6840ea961872908933ac2428d1726489db46fa5 + languageName: node + linkType: hard + +"selfsigned@npm:^1.10.7": + version: 1.10.8 + resolution: "selfsigned@npm:1.10.8" + dependencies: + node-forge: ^0.10.0 + checksum: a382ec2af9798a93bc25f2d75778eed6d2c685fdf81e56deaac02d46aa896b0cc1b2770b2689891f8fe83d89cd3bb3e2042c6b15057e110f25a57769cb1a5fb3 + languageName: node + linkType: hard + +"semver@npm:^5.4.1": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 06ff0ed753ebf741b7602be8faad620d6e160a2cb3f61019d00d919c8bca141638aa23c34da779b8595afdc9faa3678bfbb5f60366b6a4f65f98cf86605bbcdb + languageName: node + linkType: hard + +"semver@npm:^7.3.2": + version: 7.3.2 + resolution: "semver@npm:7.3.2" + bin: + semver: bin/semver.js + checksum: bceb46d396d039afb5be2b2860bce1b0a43ecbadc72dde7ebe9c56dd9035ca50d9b8e086208ff9bbe53773ebde0bcfc6fc0842d7358398bca7054bb9ced801e3 + languageName: node + linkType: hard + +"serialize-javascript@npm:^4.0.0": + version: 4.0.0 + resolution: "serialize-javascript@npm:4.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: f17305aaabab9ae443505d1bf477c13b09adb7031c397d18400bec16f43f788febdd3311ca6043fdebd1d446cfa70a5804ef7268da54351dec51080f56d52fa9 + languageName: node + linkType: hard + +"set-blocking@npm:~2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 0ac2403b0c2d39bf452f6d5d17dfd3cb952b9113098e1231cc0614c436e2f465637e39d27cf3b93556f5c59795e9790fd7e98da784c5f9919edeba4295ffeb29 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 8a3fb2ff4bf7daf0f8fb0e52d87d6e3dc387599e1c7a42833fddc1d711e87f7f187a6f957137a435ae154a98877e4357569f1fb48f3d17e96242621cd469e1f6 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.1": + version: 1.1.1 + resolution: "setprototypeof@npm:1.1.1" + checksum: 0efed4da5aec7535828ac07c3b560f0a54257a4a7d5390ffabe5530a083974aef577651507974215edb92a51efa142f22fb3242e24d630ba6adcbfc9e7f1ff2b + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 72691439857719aa33ec11ebc97960347f0f96e75c2fe65d0f2ca5c9c44fb1aa026e2ae528959624ed3ae3820fe06bfb1aded306402c5c941afd3dfdf47f79d0 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 85aa394d8cedeedf2e03524d6defef67a2b07d3a17d7ee50d4281d62d3fca898f26ebe7aa7bf674d51b80f197aa1d346bc1a10e8efb04377b534f4322c621012 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: ea18044ffaf18129ced5a246660a9171a7dff98999aaa9de8abb237d8a7711d8a1f76e16881399994ee429156717ce1c6a50c665bb18a4d55a7f80b9125b1f7d + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": + version: 3.0.3 + resolution: "signal-exit@npm:3.0.3" + checksum: f8f3fec95c8d1f9ad7e3cce07e1195f84e7a85cdcb4e825e8a2b76aa5406a039083d2bc9662b3cf40e6948262f41277047d20e6fbd58c77edced0b18fab647d8 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: fc3e8597d822ee3ba6cd76e9b001cd5be315f9b81c3a03a29bb611c003d1484e3b29a9e7bc020298fa669b585ff7c9268f44513f60c186216eb6af3111a3e838 + languageName: node + linkType: hard + +"solid-js@npm:^0.20.0": + version: 0.20.0 + resolution: "solid-js@npm:0.20.0" + checksum: 2b4be75a30060de07177b6ed94a0acf33459cd64ed9370b75b3a5cd98f4b457e8c9acdf6808834913e81db8d871ac0a56937734bfa06c5514a0b437d90a0914a + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.12": + version: 0.5.19 + resolution: "source-map-support@npm:0.5.19" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 59d4efaae97755155b078413ecba63517e3ef054cc7ab767bbd30e6f3054be2ae8e8f5cce7eef53b7eb93e98fe27a58dd8f5e7abfb13144ba420ddaf5267bbb2 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 737face96577a2184a42f141607fcc2c9db5620cb8517ae8ab3924476defa138fc26b0bab31e98cbd6f19211ecbf78400b59f801ff7a0f87aa9faa79f7433e10 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 8647829a0611724114022be455ca1c8a2c8ae61df81c5b3667d9b398207226a1e21174fb7bbf0b4dbeb27ac358222afb5a14f1c74a62a62b8883b012e5eb1270 + languageName: node + linkType: hard + +"source-map@npm:^0.7.3": + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: 351ce26ffa1ebf203660c0d70d7566c81e65d2d994d1c2d94da140808e02da34961673ce12ecea9b40797b96fbeb8c70bf71a4ad9f779f1a4fdbba75530bb386 + languageName: node + linkType: hard + +"sourcemap-codec@npm:^1.4.4": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: 4d56d1232a45af813606d1755f11e7ae6b3542c615a7e3f904382f0134a9412ba8d090e83749254d78449eafdfcc62d5158b8f35e6241480b51b74b5c46b99f9 + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 51df1bce9e577287f56822d79ac5bd94f6c634fccf193895f2a1d2db2e975b6aa7bc97afae9cf11d49b7c37fe4afc188ff5c4878be91f2c86eabd11c5df8b62c + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 4bd7422634ec3730404186179e5d9ba913accc64449f18d594b3a757a3b81000719adc94cf0c93a7b3da42487ae42404a1f37bfaa7908a60743d4478382b9d78 + languageName: node + linkType: hard + +"statuses@npm:>= 1.2.1 < 2, statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 57735269bf231176a60deb80f6d60214cb4a87663b0937e79497afe9aebe2597f8377fd28893f4d1776205f18dd0b927774a26b72051411ac5108e9e2dfc77d2 + languageName: node + linkType: hard + +"string-hash@npm:^1.1.1": + version: 1.1.3 + resolution: "string-hash@npm:1.1.3" + checksum: 178d855be2999a4ae2070d578e872574370224d86ca5d7b45bd709562a9acca61ac165a866c0b8b39e1cf2c181d781b96735725b7036e10b94196b261eb8229e + languageName: node + linkType: hard + +"string-width@npm:^1.0.1, string-width@npm:^1.0.2 || 2": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: ^1.0.0 + is-fullwidth-code-point: ^1.0.0 + strip-ansi: ^3.0.0 + checksum: b11745daa9398a1b3bb37ffa64263f9869c5f790901ed1242decb08171785346447112ead561cffde6b222a5ebeab9d2b382c72ae688859e852aa29325ca9d0b + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: bc2dc169d83df1b9e94defe7716bcad8a19ffe8211b029581cb0c6f9e83a6a7ba9ec3be38d179708a8643c692868a2b8b004ab159555dc26089ad3fa7b2158f5 + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 98772dcf440d08f65790ee38cd186b1f139fa69b430e75f9d9c11f97058662f82a22c2ba03a30f502f948958264e99051524fbf1819edaa8a8bbb909ece297da + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0": + version: 6.0.0 + resolution: "strip-ansi@npm:6.0.0" + dependencies: + ansi-regex: ^5.0.0 + checksum: 10568c91cadbef182a807c38dfa718dce15a35b12fcc97b96b6b2029d0508ef66ca93fabddeb49482d9b027495d1e18591858e80f27ad26861c4967c60fd207f + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 74dbd8a602409706748db730200efab53ba739ed7888310e74e45697efbd760981df6d6f0fa34b23e973135fb07d3b22adae6e6d58898f692a094e49692c6c33 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: edacee6425498440744c418be94b0660181aad2a1828bcf2be85c42bd385da2fd8b2b358d9b62b0c5b03ff5cd3e992458d7b8f879d9fb42f2201fe05a4848a29 + languageName: node + linkType: hard + +"supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: ^3.0.0 + checksum: 86821571295ad9f808d5e0149f13c2b0ca6faaf1325c427b369e6f4b2b1e4759046b7a4ea0e3c3c7f2546035fa2fb0d6a90f31c6c4f751eaedbcdc1b983a08cc + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: ^4.0.0 + checksum: 8e57067c39216f3c2ffce7cc14ca934d54746192571203aa9c9922d97d2d55cc1bdaa9e41a11f91e620670b5a74ebdec6b548a885d8cc2dea7cab59e21416029 + languageName: node + linkType: hard + +"tar@npm:^6.0.1": + version: 6.0.5 + resolution: "tar@npm:6.0.5" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: 7ae26210927bdf590686db21e66d5579020ccbebda93a1adffe266eb88ca8b152c56dd8ce0df87d81e3dbe709bfe8562b29c584871ba015ec868dec9062e91ea + languageName: node + linkType: hard + +"terser@npm:^4.6.2": + version: 4.8.0 + resolution: "terser@npm:4.8.0" + dependencies: + commander: ^2.20.0 + source-map: ~0.6.1 + source-map-support: ~0.5.12 + bin: + terser: bin/terser + checksum: d7ab95898b40e2aa3513b02fc74f520f8e65072a19d7f687b8224af01512ad4d2227bc1375c22cd050f67eb1ca3e440b4f09652c5f48f13ed9ee81c0c26015a3 + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: ">= 3.1.0 < 4" + checksum: 22775c13a183d349b58e0236ba9b28dd75ec5f000c55bc893958a04585b712d32d1878022bee4eb89a7c5a85485cf837732dbeed2d6ed860eff217d54a63e581 + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: ^1.0.0 + checksum: c3cbda4f5f0ee82d6a282b3a2ed3f890fad65b5c855d61f8f1946c6daf7e0d7a1e84377ded30b16ae2bedd13f02ba35266af3ca018272b08629c85753b1cd682 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 40e61984243b183d575a2f3a87d008bd57102115701ee9037fd673e34becf12ee90262631857410169ca82f401a662ed94482235cea8f3b8dea48b87eaabc467 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: 2b6001e314e4998a07137c197e333fac2f86d46d0593da90b678ae64e2daa07274b508f83cca09e6b3504cdf222497dcb5b7daceb6dc13a9a8872f58a27db907 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.0": + version: 1.0.0 + resolution: "toidentifier@npm:1.0.0" + checksum: 95720e8a0f98f1525f50ccbecbc2a23f0a1b4e448de03819dbbeda03adf0d2010fe64525fbc9d549765242550d341bb891672e4ac0b2cac58613cdd742324255 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: bf5d6fac5ce0bebc5876cb9b9a79d3d9ea21c9e4099f3d3e64701d6ba170a052cb88cece6737ec2473bac4f0a4f6c75d46ec17985be8587c6bbdd38d91625cb4 + languageName: node + linkType: hard + +"tsscmp@npm:1.0.6": + version: 1.0.6 + resolution: "tsscmp@npm:1.0.6" + checksum: 1a5b76eb37c1a331f7e0b99f6414fdb1d58dffbc95301931a00e8728bc9fcb15b676d8e5eb2aecf884f424e8c9a218af388492cffe106539ffc0f8d09d8ab7c1 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 03db75a4f994fee610d3485c492e95105ed265a9fecd49d14c98e9982f973ecc0220d0c1bc264e37802e423a1274bb63788a873e4e07009408ae3ac517347fd7 + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: e1c9d52e2e9f582fd0df9ea26ba5a9ab88b9a38b69625d8e55c5e8870a4832ac8c32f8854b41fce7b59f97258bb103535363f9eda7050aa70e75824b972c7dde + languageName: node + linkType: hard + +"type-is@npm:^1.6.16": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 20a3514f1d835c979237995129d1f8c564325301e3a8f1c732bcbe1d7fa0ca1f65994e41a79e9030d79f31e5459bb9be5c377848fcb477cb3049a661b3713d74 + languageName: node + linkType: hard + +typescript@^4.0.3: + version: 4.0.3 + resolution: "typescript@npm:4.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 5c892e132756a83d22030d7fb38be47cde27613f71d233dbe7faf79e4a92852c5146bfddcaf8c2da1a37d35ae8bf7b8c888fdcd763d5ad184cea6b21e7466838 + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.0.3#builtin": + version: 4.0.3 + resolution: "typescript@patch:typescript@npm%3A4.0.3#builtin::version=4.0.3&hash=5b02a2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 72db87d09f728c83062d64b5e12ed52effb6278963b6bc5c006219b22c104e02b8ce80164261de554923d3c47d894a1ca937ed542328caccb83ebaedeae98a69 + languageName: node + linkType: hard + +"uniq@npm:^1.0.1": + version: 1.0.1 + resolution: "uniq@npm:1.0.1" + checksum: a5603a5b3128616f268e7695e47cd1eb8d583cf8ee1278434140cd83d2f3f98e5d65a22cf4187f0345ca8d8a0a9f1d07e1f06cb46312135ad4a6303fd28fc317 + languageName: node + linkType: hard + +"universalify@npm:^1.0.0": + version: 1.0.0 + resolution: "universalify@npm:1.0.0" + checksum: d74303a8d9ff18598804f3e9f261c9376cad55b81a92346f086e59261803ae75bef347044dd6a25549eb3b1490c0dd106dc07154cd7ccad8f037fdae947c125d + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.0 + resolution: "uri-js@npm:4.4.0" + dependencies: + punycode: ^2.1.0 + checksum: 970577344101f43aa64d1e6ab7f78ff0371df0ff7731de66da268125c2703e7bf70693afd0b76c96325e247466b49b4b081d9f54339e9520b2b9c02b598542a6 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 73c2b1cf0210ccac300645384d8443cabbd93194117b2dc1b3bae8d8279ad39aedac857e020c4ea505e96a1045059c7359db3df6a9df0be6b8584166c9d61dc9 + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.4.0 + resolution: "uuid@npm:3.4.0" + bin: + uuid: ./bin/uuid + checksum: 1ce3f37e214d6d0dc94a6a9663a0365013ace66bc3fd5b203e6f5d2eeb978aaee1192367222386345d30b4c6a447928c501121aa84c637724bf105ef57284949 + languageName: node + linkType: hard + +"vary@npm:^1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 591f059f727ac1ba0d97cb7767f8583a03fcbb07db7be2b7dce838ede520ec0e958a41cb19077054769077fdc49a9b9a2dc391c83426bfee89c054b8cc7404bf + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: 38ea80312cb42e5e8b4ac562d108d675b2354a79f8f125d363671f692657461b9181fd26f4fc9acdca433f8afee099cb78058806e1303e6b15b8fb022affba94 + languageName: node + linkType: hard + +"vite@npm:^1.0.0-rc.4": + version: 1.0.0-rc.4 + resolution: "vite@npm:1.0.0-rc.4" + dependencies: + "@babel/parser": ^7.9.4 + "@rollup/plugin-commonjs": ^14.0.0 + "@rollup/plugin-json": ^4.0.3 + "@rollup/plugin-node-resolve": ^8.4.0 + "@types/koa": ^2.11.3 + "@types/lru-cache": ^5.1.0 + "@vue/compiler-dom": ^3.0.0-rc.5 + "@vue/compiler-sfc": ^3.0.0-rc.5 + brotli-size: ^4.0.0 + chalk: ^4.0.0 + chokidar: ^3.3.1 + clean-css: ^4.2.3 + debug: ^4.1.1 + dotenv: ^8.2.0 + dotenv-expand: ^5.1.0 + es-module-lexer: ^0.3.18 + esbuild: ^0.6.10 + etag: ^1.8.1 + execa: ^4.0.1 + fs-extra: ^9.0.0 + hash-sum: ^2.0.0 + isbuiltin: ^1.0.0 + koa: ^2.11.0 + koa-conditional-get: ^2.0.0 + koa-etag: ^3.0.0 + koa-proxies: ^0.11.0 + koa-send: ^5.0.0 + koa-static: ^5.0.0 + lru-cache: ^5.1.1 + magic-string: ^0.25.7 + merge-source-map: ^1.1.0 + mime-types: ^2.1.27 + minimist: ^1.2.5 + open: ^7.0.3 + ora: ^4.0.4 + postcss: ^7.0.28 + postcss-discard-comments: ^4.0.2 + postcss-import: ^12.0.1 + postcss-load-config: ^2.1.0 + resolve: ^1.17.0 + rollup: ^2.20.0 + rollup-plugin-dynamic-import-variables: ^1.0.1 + rollup-plugin-terser: ^5.3.0 + rollup-plugin-vue: ^6.0.0-beta.10 + rollup-plugin-web-worker-loader: ^1.3.0 + rollup-pluginutils: ^2.8.2 + selfsigned: ^1.10.7 + slash: ^3.0.0 + vue: ^3.0.0-rc.5 + ws: ^7.2.3 + bin: + vite: bin/vite.js + checksum: ee38ae0ef0ebfffc562342f1b63747a3e314460fc86b1cacdc3872ac077ba2f38aca54b7249bcabc789b6bfc13b1fe8329df44064ae851590ea8cd3d3e9504e9 + languageName: node + linkType: hard + +"vue@npm:^3.0.0-rc.5": + version: 3.0.0 + resolution: "vue@npm:3.0.0" + dependencies: + "@vue/compiler-dom": 3.0.0 + "@vue/runtime-dom": 3.0.0 + "@vue/shared": 3.0.0 + checksum: c4be2cd4f8a70751b4225e63f95732a8e2b6048ec3108c3037a167202ec2c6e3b4c089b585e67e5d3af4114122f900d6afebc6cf46e76af7de29c5b322535cb1 + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: abf8ba432dd19a95af63895de6af932900a9451e175745551aeca0fd2d46604bc72ff80aa83adc3f67fb8389191329340e2864aefcf20655ffe91f0dbee5d953 + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: ea9b1db1266b08f7880717cf70dd9012dd523e5a317f10fbe4d5e8c1a761c5fd237f88642f2ba33b23f973ff4002c9b26648d63084ab208d8ecef36497315f6e + languageName: node + linkType: hard + +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: 4f850f84da84b7471d7b92f55e381e7ba286210470fe77a61e02464ef66d10e96057a0d137bc013fbbedb7363a26e79c0e8b21d99bb572467d3fee0465b8fd27 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 519fcda0fcdf0c16327be2de9d98646742307bc830277e8868529fcf7566f2b330a6453c233e0cdcb767d5838dd61a90984a02ecc983bcddebea5ad0833bbf98 + languageName: node + linkType: hard + +"ws@npm:^7.2.3": + version: 7.3.1 + resolution: "ws@npm:7.3.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 9302f1f6658c5f3ecd6d35d1c5a38ad708d8e5404cba66ad884ead072ef7a4c948f54d728649a2cb3af1865ca0e15f903e0e2ac9df30c1a0d4dd00d00e6e0d4a + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: f352c93b92f601bb0399210bca37272e669c961e9bd886bac545380598765cbfdfb4f166e7b6c57ca4ec8a5af4ab3fa0fd78a47f9a7d655a3d580ff0fc9e7d79 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: a2960ef879af6ee67a76cae29bac9d8bffeb6e9e366c217dbd21464e7fce071933705544724f47e90ba5209cf9c83c17d5582dd04415d86747a826b2a231efb8 + languageName: node + linkType: hard + +"ylru@npm:^1.2.0": + version: 1.2.1 + resolution: "ylru@npm:1.2.1" + checksum: ce002a8bb58b30a5bcc8bf44a6b04fbee9450f78c29b59380223945714f4c0e38cc7f68d5b1efa8bf6cd22766f23a47698c2fd020bbb63dc55f11d8385d7c34e + languageName: node + linkType: hard