From 6dbbe27029b3ca1a549f06d9b56c57d53c7b5ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 15:58:03 +0000 Subject: [PATCH 1/7] adds flag --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ba28872..156db56 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ ], "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "refresh": "rm -rf ./node_modules ./package-lock.json && npm install", + "refresh": "rm -rf ./node_modules ./package-lock.json && npm install --ignore-scripts", "dev": "npx webpack serve --config webpack.config.js", "dev2": "npx webpack --watch --config webpack.config.js", "build": "npx webpack --config webpack.config.prod.js", From c230912a9d12a81027fcd6186eecbecb9cd9d9a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 15:59:21 +0000 Subject: [PATCH 2/7] adds .history --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3165b34..3fd9821 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .vscode node_modules tmpdev -src/testdata \ No newline at end of file +src/testdata +.history/ From 81e76732ad2c826add5666deb1653efa705058ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 16:03:41 +0000 Subject: [PATCH 3/7] bumped target node version 18 LTS --- .gitlab-ci.yml | 2 +- package-lock.json | 1088 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 3 files changed, 1089 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a0bd07..c5a0b57 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ # gitlab-runner exec docker build_nodecli # node 18.7 -image: node:18.7-alpine3.16 +image: node:18.20-alpine3.19 before_script: # installing dependencies for node-canvas (https://github.com/Automattic/node-canvas) diff --git a/package-lock.json b/package-lock.json index 9341a59..40ad464 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "webpack-node-externals": "^3.0.0" }, "engines": { - "node": ">=16.16" + "node": ">=18.20" } }, "node_modules/@babel/code-frame": { @@ -91,6 +91,36 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", +<<<<<<< HEAD +======= + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { @@ -174,8 +204,13 @@ "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", +<<<<<<< HEAD "espree": "^10.0.1", "globals": "^14.0.0", +======= + "espree": "^9.6.0", + "globals": "^13.19.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -189,13 +224,31 @@ "url": "https://opencollective.com/eslint" } }, +<<<<<<< HEAD "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", +======= + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "balanced-match": "^1.0.0", "concat-map": "0.0.1" } @@ -208,6 +261,11 @@ "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" +======= + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "*" @@ -284,6 +342,7 @@ "url": "https://github.com/sponsors/nzakas" } }, +<<<<<<< HEAD "node_modules/@humanwhocodes/retry": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", @@ -297,6 +356,14 @@ "type": "github", "url": "https://github.com/sponsors/nzakas" } +======= + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@hutson/parse-repository-url": { "version": "3.0.2", @@ -358,8 +425,12 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -370,6 +441,7 @@ "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" +<<<<<<< HEAD } }, "node_modules/@jsonjoy.com/base64": { @@ -427,18 +499,25 @@ }, "peerDependencies": { "tslib": "2" +======= +>>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", +<<<<<<< HEAD "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==", "license": "BSD-3-Clause" }, @@ -447,6 +526,14 @@ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", "license": "BSD-3-Clause", +======= + "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0" } @@ -455,7 +542,10 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", +<<<<<<< HEAD "license": "BSD-3-Clause", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -475,7 +565,10 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "whatwg-url": "^5.0.0" }, @@ -598,8 +691,12 @@ "node_modules/@types/browser-or-node": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/browser-or-node/-/browser-or-node-1.3.2.tgz", +<<<<<<< HEAD "integrity": "sha512-CkvJrvVMI4ZHbiL+Df22Owzq1IYnHnoSrM8s6Dmy4MRdqvdFi9bHsIvyFrSGJPOxvFI9Y3MqY2gFCqIafJBcfw==", "license": "MIT" +======= + "integrity": "sha512-CkvJrvVMI4ZHbiL+Df22Owzq1IYnHnoSrM8s6Dmy4MRdqvdFi9bHsIvyFrSGJPOxvFI9Y3MqY2gFCqIafJBcfw==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/connect": { "version": "3.4.38", @@ -626,8 +723,12 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/express": { "version": "4.17.21", @@ -653,6 +754,21 @@ "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" +<<<<<<< HEAD +======= + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" +>>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/@types/express/node_modules/@types/express-serve-static-core": { @@ -671,8 +787,12 @@ "node_modules/@types/figlet": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@types/figlet/-/figlet-1.7.0.tgz", +<<<<<<< HEAD "integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==", "license": "MIT" +======= + "integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/glob": { "version": "7.2.0", @@ -699,6 +819,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, "node_modules/@types/http-proxy": { "version": "1.17.15", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", @@ -725,15 +851,23 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/minimatch": { "version": "5.1.2", @@ -746,6 +880,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", +<<<<<<< HEAD "dev": true, "license": "MIT" }, @@ -756,13 +891,26 @@ "license": "MIT", "dependencies": { "undici-types": "~6.19.8" +======= + "dev": true + }, + "node_modules/@types/node": { + "version": "18.19.61", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.61.tgz", + "integrity": "sha512-z8fH66NcVkDzBItOao+Nyh0fiy7CYdxIyxnNCcZ60aY0I+EA/y4TSi/S/W9i8DIQvwVo7a0pgzAxmDeNnqrpkw==", + "dependencies": { + "undici-types": "~5.26.4" +>>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/@types/node-fetch": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -773,7 +921,10 @@ "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/node": "*" } @@ -782,22 +933,34 @@ "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/qs": { "version": "6.9.16", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/retry": { "version": "0.12.2", @@ -806,6 +969,7 @@ "dev": true, "license": "MIT" }, +<<<<<<< HEAD "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -816,6 +980,23 @@ "@types/mime": "^1", "@types/node": "*" } +======= + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } }, "node_modules/@types/serve-index": { "version": "1.9.4", @@ -859,8 +1040,12 @@ "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", +<<<<<<< HEAD "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" +======= + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/ws": { "version": "8.5.12", @@ -873,12 +1058,19 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.12.2", "@typescript-eslint/type-utils": "8.12.2", @@ -888,6 +1080,18 @@ "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" +======= + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -907,16 +1111,28 @@ } }, "node_modules/@typescript-eslint/parser": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz", "integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-2-Clause", "dependencies": { +<<<<<<< HEAD "@typescript-eslint/scope-manager": "8.12.2", "@typescript-eslint/types": "8.12.2", "@typescript-eslint/typescript-estree": "8.12.2", "@typescript-eslint/visitor-keys": "8.12.2", +======= + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4" }, "engines": { @@ -936,14 +1152,25 @@ } }, "node_modules/@typescript-eslint/scope-manager": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@typescript-eslint/types": "8.12.2", "@typescript-eslint/visitor-keys": "8.12.2" +======= + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -954,14 +1181,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@typescript-eslint/typescript-estree": "8.12.2", "@typescript-eslint/utils": "8.12.2", +======= + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -979,9 +1217,15 @@ } }, "node_modules/@typescript-eslint/types": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "engines": { @@ -993,14 +1237,25 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-2-Clause", "dependencies": { +<<<<<<< HEAD "@typescript-eslint/types": "8.12.2", "@typescript-eslint/visitor-keys": "8.12.2", +======= + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1022,16 +1277,33 @@ } }, "node_modules/@typescript-eslint/utils": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.12.2", "@typescript-eslint/types": "8.12.2", "@typescript-eslint/typescript-estree": "8.12.2" +======= + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1045,14 +1317,25 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { +<<<<<<< HEAD "version": "8.12.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", +======= + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@typescript-eslint/types": "8.12.2", "eslint-visitor-keys": "^3.4.3" +======= + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1062,6 +1345,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", @@ -1077,22 +1366,34 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", @@ -1110,8 +1411,12 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", @@ -1150,8 +1455,12 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", @@ -1226,8 +1535,12 @@ "node_modules/@webcomponents/webcomponentsjs": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", +<<<<<<< HEAD "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==", "license": "BSD-3-Clause" +======= + "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webpack-cli/configtest": { "version": "2.1.1", @@ -1295,7 +1608,10 @@ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "deprecated": "Use your platform's native atob() and btoa() methods instead", +<<<<<<< HEAD "license": "BSD-3-Clause", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "optional": true }, "node_modules/abbrev": { @@ -1354,6 +1670,21 @@ "acorn-walk": "^8.0.2" } }, +<<<<<<< HEAD +======= + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "optional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, +>>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/acorn-import-attributes": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", @@ -1538,7 +1869,10 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "deprecated": "This package is no longer supported.", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -1570,12 +1904,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/array-ify": { "version": "1.0.0", @@ -1611,7 +1964,10 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -1643,7 +1999,10 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "is-nan": "^1.3.2", @@ -1662,7 +2021,10 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -1922,7 +2284,10 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -2026,7 +2391,10 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -2039,7 +2407,10 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2180,8 +2551,12 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/combined-stream": { "version": "1.0.8", @@ -2677,6 +3052,40 @@ "webpack": "^5.1.0" } }, +<<<<<<< HEAD +======= + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, +>>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -2841,6 +3250,54 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", @@ -2855,7 +3312,10 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "ms": "^2.1.3" }, @@ -2928,6 +3388,15 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", +<<<<<<< HEAD +======= + "dev": true + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT" }, @@ -2978,6 +3447,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -2995,7 +3480,10 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -3118,7 +3606,10 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", +<<<<<<< HEAD "license": "Apache-2.0", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=8" } @@ -3138,7 +3629,16 @@ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true, +<<<<<<< HEAD "license": "MIT" +======= + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/dns-packet": { "version": "5.6.1", @@ -3206,7 +3706,10 @@ "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "deprecated": "Use your platform's native DOMException instead", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "webidl-conversions": "^7.0.0" @@ -3385,8 +3888,20 @@ "version": "1.5.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==", +<<<<<<< HEAD "dev": true, "license": "ISC" +======= + "dev": true + }, + "node_modules/emitter-component": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.2.tgz", + "integrity": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -3468,7 +3983,10 @@ "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -3528,7 +4046,10 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -3540,7 +4061,10 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" } @@ -3549,6 +4073,7 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", +<<<<<<< HEAD "dev": true, "license": "MIT" }, @@ -3570,6 +4095,26 @@ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "license": "MIT", "dependencies": { +======= + "dev": true + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dependencies": { +>>>>>>> f692772 (bumped target node version 18 LTS) "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", "hasown": "^2.0.1" @@ -3629,7 +4174,10 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", +<<<<<<< HEAD "license": "BSD-2-Clause", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "esprima": "^4.0.1", @@ -3647,14 +4195,32 @@ "source-map": "~0.6.1" } }, +<<<<<<< HEAD "node_modules/eslint": { "version": "9.13.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", +======= + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "optional": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", +<<<<<<< HEAD "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.18.0", "@eslint/core": "^0.7.0", @@ -3666,28 +4232,58 @@ "@humanwhocodes/retry": "^0.3.1", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", +======= + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", +<<<<<<< HEAD "eslint-scope": "^8.1.0", "eslint-visitor-keys": "^4.1.0", "espree": "^10.2.0", "esquery": "^1.5.0", +======= + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", +>>>>>>> f692772 (bumped target node version 18 LTS) "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", +<<<<<<< HEAD "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", +======= + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", +>>>>>>> f692772 (bumped target node version 18 LTS) "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", +<<<<<<< HEAD +======= + "strip-ansi": "^6.0.1", +>>>>>>> f692772 (bumped target node version 18 LTS) "text-table": "^0.2.0" }, "bin": { @@ -3745,8 +4341,28 @@ "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "balanced-match": "^1.0.0", "concat-map": "0.0.1" +======= + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" +>>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/eslint/node_modules/chalk": { @@ -3766,14 +4382,25 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, +<<<<<<< HEAD "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", +======= + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "Apache-2.0", "engines": { +<<<<<<< HEAD "node": "^18.18.0 || ^20.9.0 || >=21.1.0" +======= + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "funding": { "url": "https://opencollective.com/eslint" @@ -3806,15 +4433,27 @@ } }, "node_modules/espree": { +<<<<<<< HEAD "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", +======= + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-2-Clause", "dependencies": { +<<<<<<< HEAD "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.0" +======= + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4052,15 +4691,23 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/fast-uri": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", +<<<<<<< HEAD "dev": true, "license": "BSD-3-Clause" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -4122,7 +4769,10 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz", "integrity": "sha512-chzvGjd+Sp7KUvPHZv6EXV5Ir3Q7kYNpCr4aHrRW79qFtTefmQZNny+W1pW9kf5zeE6dikku2W50W/wAH2xWgw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "figlet": "bin/index.js" }, @@ -4239,6 +4889,18 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", +<<<<<<< HEAD +======= + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-3-Clause", "bin": { @@ -4253,7 +4915,12 @@ "license": "MIT", "dependencies": { "flatted": "^3.2.9", +<<<<<<< HEAD "keyv": "^4.5.4" +======= + "keyv": "^4.5.3", + "rimraf": "^3.0.2" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": ">=16" @@ -4263,8 +4930,12 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", +<<<<<<< HEAD "dev": true, "license": "ISC" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/follow-redirects": { "version": "1.15.9", @@ -4300,7 +4971,10 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4366,6 +5040,15 @@ "node": ">=8" } }, +<<<<<<< HEAD +======= + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "dev": true + }, +>>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4391,7 +5074,10 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4400,7 +5086,10 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -4428,7 +5117,10 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "deprecated": "This package is no longer supported.", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -4458,7 +5150,10 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -4496,6 +5191,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", +<<<<<<< HEAD +======= + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT" }, @@ -4547,7 +5251,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -4646,7 +5353,10 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4679,6 +5389,15 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", +<<<<<<< HEAD +======= + "dev": true + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-2-Clause" }, @@ -4721,7 +5440,10 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -4770,15 +5492,23 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", +<<<<<<< HEAD "dev": true, "license": "ISC" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/handle-thing": { "version": "2.0.1", @@ -4842,7 +5572,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-define-property": "^1.0.0" }, @@ -4854,7 +5587,10 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -4878,7 +5614,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "has-symbols": "^1.0.3" }, @@ -4907,6 +5646,17 @@ "node": ">= 0.4" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -4947,6 +5697,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", +<<<<<<< HEAD +======= + "dev": true + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT" }, @@ -5010,8 +5769,12 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } +<<<<<<< HEAD ], "license": "MIT" +======= + ] +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/html-minifier-terser": { "version": "6.1.0", @@ -5335,7 +6098,10 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5358,7 +6124,10 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -5408,7 +6177,10 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -5500,7 +6272,10 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "is-typed-array": "^1.1.13" }, @@ -5628,7 +6403,10 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -5770,7 +6548,10 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7" }, @@ -5828,7 +6609,10 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "which-typed-array": "^1.1.14" }, @@ -5870,8 +6654,12 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", +<<<<<<< HEAD "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" +======= + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/isexe": { "version": "2.0.0", @@ -5975,8 +6763,12 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/json-parse-better-errors": { "version": "1.0.2", @@ -6058,7 +6850,10 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "json-buffer": "3.0.1" } @@ -6078,7 +6873,10 @@ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -6106,6 +6904,7 @@ "license": "MIT" }, "node_modules/lit": { +<<<<<<< HEAD "version": "3.2.1", "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", @@ -6132,6 +6931,31 @@ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", "license": "BSD-3-Clause", +======= + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/trusted-types": "^2.0.2" } @@ -6239,7 +7063,10 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "yallist": "^4.0.0" }, @@ -6266,7 +7093,10 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "semver": "bin/semver.js" } @@ -6295,16 +7125,26 @@ } }, "node_modules/memfs": { +<<<<<<< HEAD "version": "4.14.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.14.0.tgz", "integrity": "sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==", +======= + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "Apache-2.0", "dependencies": { +<<<<<<< HEAD "@jsonjoy.com/json-pack": "^1.0.3", "@jsonjoy.com/util": "^1.3.0", "tree-dump": "^1.0.1", "tslib": "^2.0.0" +======= + "fs-monkey": "^1.0.4" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": ">= 4.0.0" @@ -6509,6 +7349,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, +<<<<<<< HEAD +======= + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, +>>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6666,7 +7518,10 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=8" } @@ -6721,8 +7576,12 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", +<<<<<<< HEAD "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" +======= + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -6741,8 +7600,12 @@ "node_modules/nan": { "version": "2.22.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", +<<<<<<< HEAD "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", "license": "MIT" +======= + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/natural-compare": { "version": "1.4.0", @@ -6802,7 +7665,10 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -6850,8 +7716,12 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/nopt": { "version": "5.0.0", @@ -6899,7 +7769,10 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "deprecated": "This package is no longer supported.", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -6924,7 +7797,10 @@ "version": "2.2.13", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "optional": true }, "node_modules/object-assign": { @@ -6940,7 +7816,10 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -6952,7 +7831,10 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -6977,7 +7859,10 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -7031,9 +7916,15 @@ } }, "node_modules/open": { +<<<<<<< HEAD "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", +======= + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { @@ -7256,8 +8147,12 @@ "version": "0.1.10", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/path-type": { "version": "5.0.0", @@ -7276,8 +8171,12 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", +<<<<<<< HEAD "dev": true, "license": "ISC" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/picomatch": { "version": "2.3.1", @@ -7398,7 +8297,10 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" } @@ -7752,7 +8654,10 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7806,7 +8711,10 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7948,7 +8856,10 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "glob": "^7.1.3" }, @@ -8000,7 +8911,10 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -8038,7 +8952,10 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -8061,8 +8978,12 @@ "node_modules/sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", +<<<<<<< HEAD "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "license": "ISC" +======= + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/saxes": { "version": "6.0.0", @@ -8159,7 +9080,10 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "semver": "bin/semver.js" }, @@ -8214,7 +9138,10 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.8" } @@ -8369,6 +9296,36 @@ "node": ">= 0.4" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -8417,7 +9374,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8426,7 +9386,10 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -8538,8 +9501,12 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", +<<<<<<< HEAD "dev": true, "license": "CC-BY-3.0" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/spdx-expression-parse": { "version": "3.0.1", @@ -8556,8 +9523,12 @@ "version": "3.0.20", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", +<<<<<<< HEAD "dev": true, "license": "CC0-1.0" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/spdy": { "version": "4.0.2", @@ -8767,7 +9738,10 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/string.prototype.replaceall/-/string.prototype.replaceall-1.0.10.tgz", "integrity": "sha512-PKLapcZUZmXUdfIM6rTTTMYOxaj4JiQrgl0SKEeCFug1CdMAuJq8hVZd4eek9yMXAW4ldGUq+TiZRtjLJRU96g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8789,7 +9763,10 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8807,7 +9784,10 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8821,7 +9801,10 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8949,7 +9932,10 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", +<<<<<<< HEAD "license": "ISC", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -9063,7 +10049,10 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -9156,7 +10145,10 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", +<<<<<<< HEAD "license": "BSD-3-Clause", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "psl": "^1.1.33", @@ -9208,10 +10200,17 @@ "node": ">=8" } }, +<<<<<<< HEAD "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", +======= + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "engines": { @@ -9264,7 +10263,10 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, +<<<<<<< HEAD "license": "BSD-3-Clause", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 8" } @@ -9286,6 +10288,15 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", +<<<<<<< HEAD +======= + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "0BSD" }, @@ -9333,7 +10344,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -9347,7 +10361,10 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -9366,7 +10383,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -9386,7 +10406,10 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -9453,6 +10476,7 @@ } }, "node_modules/undici-types": { +<<<<<<< HEAD "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", @@ -9470,6 +10494,11 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } +======= + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/universalify": { "version": "0.2.0", @@ -9651,7 +10680,10 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 8" } @@ -9770,9 +10802,15 @@ } }, "node_modules/webpack-dev-middleware": { +<<<<<<< HEAD "version": "7.4.2", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", +======= + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { @@ -9800,12 +10838,19 @@ } }, "node_modules/webpack-dev-server": { +<<<<<<< HEAD "version": "5.1.0", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", +======= + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "MIT", "dependencies": { +<<<<<<< HEAD "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", "@types/express": "^4.17.21", @@ -9813,6 +10858,15 @@ "@types/serve-static": "^1.15.5", "@types/sockjs": "^0.3.36", "@types/ws": "^8.5.10", +======= + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", +>>>>>>> f692772 (bumped target node version 18 LTS) "ansi-html-community": "^0.0.8", "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", @@ -9823,6 +10877,7 @@ "graceful-fs": "^4.2.6", "html-entities": "^2.4.0", "http-proxy-middleware": "^2.0.3", +<<<<<<< HEAD "ipaddr.js": "^2.1.0", "launch-editor": "^2.6.1", "open": "^10.0.3", @@ -9834,6 +10889,20 @@ "spdy": "^4.0.2", "webpack-dev-middleware": "^7.4.2", "ws": "^8.18.0" +======= + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" +>>>>>>> f692772 (bumped target node version 18 LTS) }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -9892,10 +10961,17 @@ "node": ">=10.13.0" } }, +<<<<<<< HEAD "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", +======= + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", +>>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -10046,7 +11122,10 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -10074,15 +11153,22 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", +<<<<<<< HEAD "dev": true, "license": "MIT" +======= + "dev": true +>>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= +>>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=0.10.0" } diff --git a/package.json b/package.json index 156db56..a5cf6cc 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "main": "./bin/jd-viewers-cli.js", "type": "module", "engines": { - "node": ">=16.16" + "node": ">=18.20" }, "files": [ "./dist/", From 63e38139aa748fcab79b51d1a6d5188de2e72126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 16:07:10 +0000 Subject: [PATCH 4/7] chore(release): 0.0.9 --- CHANGELOG.md | 2 ++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f32a5c9..6eb2f2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.0.9](https://github.com/ebi-jdispatcher/jdispatcher-viewers/compare/v0.0.8...v0.0.9) (2024-10-30) + ### [0.0.8](https://github.com/ebi-jdispatcher/jdispatcher-viewers/compare/v0.0.7...v0.0.8) (2023-02-16) ### [0.0.7](https://github.com/ebi-jdispatcher/jdispatcher-viewers/compare/v0.0.6...v0.0.7) (2022-08-11) diff --git a/package-lock.json b/package-lock.json index 40ad464..17e5ad5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ebi-jdispatcher/jdispatcher-viewers", - "version": "0.0.8", + "version": "0.0.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@ebi-jdispatcher/jdispatcher-viewers", - "version": "0.0.8", + "version": "0.0.9", "license": "Apache-2.0", "dependencies": { "@types/browser-or-node": "^1.3.2", diff --git a/package.json b/package.json index a5cf6cc..54c8b69 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@ebi-jdispatcher/jdispatcher-viewers", "description": "Interactive Visual Output and Functional Prediction visualizations", - "version": "0.0.8", + "version": "0.0.9", "module": "./dist/jd_viewers.bundle.js", "exports": "./bin/jd-viewers-cli.js", "main": "./bin/jd-viewers-cli.js", From 7d02146cf0eac87e60821221c7b7ca1214532b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 16:11:27 +0000 Subject: [PATCH 5/7] new app build --- dist/jd_viewers_0.0.9.bundle.min.js | 2 ++ ...jd_viewers_0.0.9.bundle.min.js.LICENSE.txt | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 dist/jd_viewers_0.0.9.bundle.min.js create mode 100644 dist/jd_viewers_0.0.9.bundle.min.js.LICENSE.txt diff --git a/dist/jd_viewers_0.0.9.bundle.min.js b/dist/jd_viewers_0.0.9.bundle.min.js new file mode 100644 index 0000000..1d47e40 --- /dev/null +++ b/dist/jd_viewers_0.0.9.bundle.min.js @@ -0,0 +1,2 @@ +/*! For license information please see jd_viewers_0.0.9.bundle.min.js.LICENSE.txt */ +(()=>{var t={526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),i=e[0],n=e[1];return 3*(i+n)/4-n},e.toByteArray=function(t){var e,i,s=a(t),o=s[0],h=s[1],c=new r(function(t,e,i){return 3*(e+i)/4-i}(0,o,h)),l=0,u=h>0?o-4:o;for(i=0;i>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===h&&(e=n[t.charCodeAt(i)]<<2|n[t.charCodeAt(i+1)]>>4,c[l++]=255&e),1===h&&(e=n[t.charCodeAt(i)]<<10|n[t.charCodeAt(i+1)]<<4|n[t.charCodeAt(i+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,c=n-r;ac?c:a+o));return 1===r?(e=t[n-1],s.push(i[e>>2]+i[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],s.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"=")),s.join("")};for(var i=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)i[o]=s[o],n[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function h(t,e,n){for(var r,s,o=[],a=e;a>18&63]+i[s>>12&63]+i[s>>6&63]+i[63&s]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},38:(t,e)=>{"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document,r="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;"object"===("undefined"==typeof self?"undefined":i(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof window&&"nodejs"===window.name||"undefined"!=typeof navigator&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),"undefined"!=typeof Deno&&void 0!==Deno.version&&Deno.version.deno;e.Bd=n,e.Ll=r},287:(t,e,i)=>{"use strict";const n=i(526),r=i(251),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=h,e.SlowBuffer=function(t){return+t!=t&&(t=0),h.alloc(+t)},e.INSPECT_MAX_BYTES=50;const o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return c(t,e,i)}function c(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!h.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const i=0|g(t,e);let n=a(i);const r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(q(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(q(t,ArrayBuffer)||t&&q(t.buffer,ArrayBuffer))return d(t,e,i);if("undefined"!=typeof SharedArrayBuffer&&(q(t,SharedArrayBuffer)||t&&q(t.buffer,SharedArrayBuffer)))return d(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return h.from(n,e,i);const r=function(t){if(h.isBuffer(t)){const e=0|p(t.length),i=a(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?a(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return l(t),a(t<0?0:0|p(t))}function f(t){const e=t.length<0?0:0|p(t.length),i=a(e);for(let n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function g(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;let r=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return Y(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return V(t).length;default:if(r)return n?-1:Y(t).length;e=(""+e).toLowerCase(),r=!0}}function m(t,e,i){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,i);case"utf8":case"utf-8":return E(this,e,i);case"ascii":return P(this,e,i);case"latin1":case"binary":return A(this,e,i);case"base64":return T(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,i){const n=t[e];t[e]=t[i],t[i]=n}function y(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),K(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=h.from(e,n)),h.isBuffer(e))return 0===e.length?-1:b(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):b(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function b(t,e,i,n,r){let s,o=1,a=t.length,h=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,a/=2,h/=2,i/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){let n=-1;for(s=i;sa&&(i=a-h),s=i;s>=0;s--){let i=!0;for(let n=0;nr&&(n=r):n=r;const s=e.length;let o;for(n>s/2&&(n=s/2),o=0;o>8,r=i%256,s.push(r),s.push(n);return s}(e,t.length-i),t,i,n)}function T(t,e,i){return 0===e&&i===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,i))}function E(t,e,i){i=Math.min(t.length,i);const n=[];let r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+o<=i){let i,n,a,h;switch(o){case 1:e<128&&(s=e);break;case 2:i=t[r+1],128==(192&i)&&(h=(31&e)<<6|63&i,h>127&&(s=h));break;case 3:i=t[r+1],n=t[r+2],128==(192&i)&&128==(192&n)&&(h=(15&e)<<12|(63&i)<<6|63&n,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:i=t[r+1],n=t[r+2],a=t[r+3],128==(192&i)&&128==(192&n)&&128==(192&a)&&(h=(15&e)<<18|(63&i)<<12|(63&n)<<6|63&a,h>65535&&h<1114112&&(s=h))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),r+=o}return function(t){const e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);let i="",n=0;for(;nn.length?(h.isBuffer(e)||(e=h.from(e)),e.copy(n,r)):Uint8Array.prototype.set.call(n,e,r);else{if(!h.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,r)}r+=e.length}return n},h.byteLength=g,h.prototype._isBuffer=!0,h.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;ei&&(t+=" ... "),""},s&&(h.prototype[s]=h.prototype.inspect),h.prototype.compare=function(t,e,i,n,r){if(q(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;let s=(r>>>=0)-(n>>>=0),o=(i>>>=0)-(e>>>=0);const a=Math.min(s,o),c=this.slice(n,r),l=t.slice(e,i);for(let t=0;t>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}const r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let s=!1;for(;;)switch(n){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return x(this,t,e,i);case"ascii":case"latin1":case"binary":return S(this,t,e,i);case"base64":return C(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const O=4096;function P(t,e,i){let n="";i=Math.min(t.length,i);for(let r=e;rn)&&(i=n);let r="";for(let n=e;ni)throw new RangeError("Trying to access beyond buffer length")}function I(t,e,i,n,r,s){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function F(t,e,i,n,r){U(e,n,r,t,i,7);let s=Number(e&BigInt(4294967295));t[i++]=s,s>>=8,t[i++]=s,s>>=8,t[i++]=s,s>>=8,t[i++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[i++]=o,o>>=8,t[i++]=o,o>>=8,t[i++]=o,o>>=8,t[i++]=o,i}function L(t,e,i,n,r){U(e,n,r,t,i,7);let s=Number(e&BigInt(4294967295));t[i+7]=s,s>>=8,t[i+6]=s,s>>=8,t[i+5]=s,s>>=8,t[i+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[i+3]=o,o>>=8,t[i+2]=o,o>>=8,t[i+1]=o,o>>=8,t[i]=o,i+8}function M(t,e,i,n,r,s){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function R(t,e,i,n,s){return e=+e,i>>>=0,s||M(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function B(t,e,i,n,s){return e=+e,i>>>=0,s||M(t,0,i,8),r.write(t,e,i,n,52,8),i+8}h.prototype.slice=function(t,e){const i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e>>=0,e>>>=0,i||j(t,e,this.length);let n=this[t],r=1,s=0;for(;++s>>=0,e>>>=0,i||j(t,e,this.length);let n=this[t+--e],r=1;for(;e>0&&(r*=256);)n+=this[t+--e]*r;return n},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||j(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||j(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||j(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||j(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||j(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readBigUInt64LE=J((function(t){H(t>>>=0,"offset");const e=this[t],i=this[t+7];void 0!==e&&void 0!==i||G(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,r=this[++t]+256*this[++t]+65536*this[++t]+i*2**24;return BigInt(n)+(BigInt(r)<>>=0,"offset");const e=this[t],i=this[t+7];void 0!==e&&void 0!==i||G(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],r=this[++t]*2**24+65536*this[++t]+256*this[++t]+i;return(BigInt(n)<>>=0,e>>>=0,i||j(t,e,this.length);let n=this[t],r=1,s=0;for(;++s=r&&(n-=Math.pow(2,8*e)),n},h.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||j(t,e,this.length);let n=e,r=1,s=this[t+--n];for(;n>0&&(r*=256);)s+=this[t+--n]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*e)),s},h.prototype.readInt8=function(t,e){return t>>>=0,e||j(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||j(t,2,this.length);const i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},h.prototype.readInt16BE=function(t,e){t>>>=0,e||j(t,2,this.length);const i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||j(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||j(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readBigInt64LE=J((function(t){H(t>>>=0,"offset");const e=this[t],i=this[t+7];void 0!==e&&void 0!==i||G(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(i<<24);return(BigInt(n)<>>=0,"offset");const e=this[t],i=this[t+7];void 0!==e&&void 0!==i||G(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<>>=0,e||j(t,4,this.length),r.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||j(t,4,this.length),r.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||j(t,8,this.length),r.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||j(t,8,this.length),r.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||I(this,t,e,i,Math.pow(2,8*i)-1,0);let r=1,s=0;for(this[e]=255&t;++s>>=0,i>>>=0,n||I(this,t,e,i,Math.pow(2,8*i)-1,0);let r=i-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+i},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigUInt64LE=J((function(t,e=0){return F(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeBigUInt64BE=J((function(t,e=0){return L(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),h.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*i-1);I(this,t,e,i,n-1,-n)}let r=0,s=1,o=0;for(this[e]=255&t;++r>>=0,!n){const n=Math.pow(2,8*i-1);I(this,t,e,i,n-1,-n)}let r=i-1,s=1,o=0;for(this[e+r]=255&t;--r>=0&&(s*=256);)t<0&&0===o&&0!==this[e+r+1]&&(o=1),this[e+r]=(t/s|0)-o&255;return e+i},h.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||I(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeBigInt64LE=J((function(t,e=0){return F(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeBigInt64BE=J((function(t,e=0){return L(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),h.prototype.writeFloatLE=function(t,e,i){return R(this,t,e,!0,i)},h.prototype.writeFloatBE=function(t,e,i){return R(this,t,e,!1,i)},h.prototype.writeDoubleLE=function(t,e,i){return B(this,t,e,!0,i)},h.prototype.writeDoubleBE=function(t,e,i){return B(this,t,e,!1,i)},h.prototype.copy=function(t,e,i,n){if(!h.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r=n+4;i-=3)e=`_${t.slice(i-3,i)}${e}`;return`${t.slice(0,i)}${e}`}function U(t,e,i,n,r,s){if(t>i||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(s+1)}${n}`:`>= -(2${n} ** ${8*(s+1)-1}${n}) and < 2 ** ${8*(s+1)-1}${n}`:`>= ${e}${n} and <= ${i}${n}`,new W.ERR_OUT_OF_RANGE("value",r,t)}!function(t,e,i){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+i]||G(e,t.length-(i+1))}(n,r,s)}function H(t,e){if("number"!=typeof t)throw new W.ERR_INVALID_ARG_TYPE(e,"number",t)}function G(t,e,i){if(Math.floor(t)!==t)throw H(t,i),new W.ERR_OUT_OF_RANGE(i||"offset","an integer",t);if(e<0)throw new W.ERR_BUFFER_OUT_OF_BOUNDS;throw new W.ERR_OUT_OF_RANGE(i||"offset",`>= ${i?1:0} and <= ${e}`,t)}N("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),N("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),N("ERR_OUT_OF_RANGE",(function(t,e,i){let n=`The value of "${t}" is out of range.`,r=i;return Number.isInteger(i)&&Math.abs(i)>2**32?r=z(String(i)):"bigint"==typeof i&&(r=String(i),(i>BigInt(2)**BigInt(32)||i<-(BigInt(2)**BigInt(32)))&&(r=z(r)),r+="n"),n+=` It must be ${e}. Received ${r}`,n}),RangeError);const X=/[^+/0-9A-Za-z-_]/g;function Y(t,e){let i;e=e||1/0;const n=t.length;let r=null;const s=[];for(let o=0;o55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function V(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(X,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function $(t,e,i,n){let r;for(r=0;r=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const Q=function(){const t="0123456789abcdef",e=new Array(256);for(let i=0;i<16;++i){const n=16*i;for(let r=0;r<16;++r)e[n+r]=t[i]+t[r]}return e}();function J(t){return"undefined"==typeof BigInt?Z:t}function Z(){throw new Error("BigInt not supported")}},995:t=>{function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},e.prototype.once=function(t,e){var i=this;function n(){i.off(t,n),e.apply(this,arguments)}return this._callbacks=this._callbacks||{},n.fn=e,this.on(t,n),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,n=this._callbacks[t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var r=0;r{var n,r,s,o,a,h,c,l,u,f,d,p,g,m,v,y,b,_,x,S,C,w,T=T||{version:"5.2.1"};if(e.fabric=T,"undefined"!=typeof document&&"undefined"!=typeof window)document instanceof("undefined"!=typeof HTMLDocument?HTMLDocument:Document)?T.document=document:T.document=document.implementation.createHTMLDocument(""),T.window=window;else{var E=new(i(574).JSDOM)(decodeURIComponent("%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E"),{features:{FetchExternalResources:["img"]},resources:"usable"}).window;T.document=E.document,T.jsdomImplForWrapper=i(748).implForWrapper,T.nodeCanvas=i(246).Canvas,T.window=E,DOMParser=T.window.DOMParser}function O(t,e){var i=t.canvas,n=e.targetCanvas,r=n.getContext("2d");r.translate(0,n.height),r.scale(1,-1);var s=i.height-n.height;r.drawImage(i,0,s,n.width,n.height,0,0,n.width,n.height)}function P(t,e){var i=e.targetCanvas.getContext("2d"),n=e.destinationWidth,r=e.destinationHeight,s=n*r*4,o=new Uint8Array(this.imageBuffer,0,s),a=new Uint8ClampedArray(this.imageBuffer,0,s);t.readPixels(0,0,n,r,t.RGBA,t.UNSIGNED_BYTE,o);var h=new ImageData(a,n,r);i.putImageData(h,0,0)}T.isTouchSupported="ontouchstart"in T.window||"ontouchstart"in T.document||T.window&&T.window.navigator&&T.window.navigator.maxTouchPoints>0,T.isLikelyNode="undefined"!=typeof Buffer&&"undefined"==typeof window,T.SHARED_ATTRIBUTES=["display","transform","fill","fill-opacity","fill-rule","opacity","stroke","stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"],T.DPI=96,T.reNum="(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)",T.commaWsp="(?:\\s+,?\\s*|,\\s*)",T.rePathCommand=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:[eE][-+]?\d+)?)/gi,T.reNonWord=/[ \n\.,;!\?\-]/,T.fontPaths={},T.iMatrix=[1,0,0,1,0,0],T.svgNS="http://www.w3.org/2000/svg",T.perfLimitSizeTotal=2097152,T.maxCacheSideLimit=4096,T.minCacheSideLimit=256,T.charWidthsCache={},T.textureSize=2048,T.disableStyleCopyPaste=!1,T.enableGLFiltering=!0,T.devicePixelRatio=T.window.devicePixelRatio||T.window.webkitDevicePixelRatio||T.window.mozDevicePixelRatio||1,T.browserShadowBlurConstant=1,T.arcToSegmentsCache={},T.boundsOfCurveCache={},T.cachesBoundsOfCurve=!0,T.forceGLPutImageData=!1,T.initFilterBackend=function(){return T.enableGLFiltering&&T.isWebglSupported&&T.isWebglSupported(T.textureSize)?(console.log("max texture size: "+T.maxTextureSize),new T.WebglFilterBackend({tileSize:T.textureSize})):T.Canvas2dFilterBackend?new T.Canvas2dFilterBackend:void 0},"undefined"!=typeof document&&"undefined"!=typeof window&&(window.fabric=T),function(){function t(t,e){if(this.__eventListeners[t]){var i=this.__eventListeners[t];e?i[i.indexOf(e)]=!1:T.util.array.fill(i,!1)}}function e(t,e){var i=function(){e.apply(this,arguments),this.off(t,i)}.bind(this);this.on(t,i)}T.Observable={fire:function(t,e){if(!this.__eventListeners)return this;var i=this.__eventListeners[t];if(!i)return this;for(var n=0,r=i.length;n-1||!!e&&this._objects.some((function(e){return"function"==typeof e.contains&&e.contains(t,!0)}))},complexity:function(){return this._objects.reduce((function(t,e){return t+(e.complexity?e.complexity():0)}),0)}},T.CommonMethods={_setOptions:function(t){for(var e in t)this.set(e,t[e])},_initGradient:function(t,e){!t||!t.colorStops||t instanceof T.Gradient||this.set(e,new T.Gradient(t))},_initPattern:function(t,e,i){!t||!t.source||t instanceof T.Pattern?i&&i():this.set(e,new T.Pattern(t,i))},_setObject:function(t){for(var e in t)this._set(e,t[e])},set:function(t,e){return"object"==typeof t?this._setObject(t):this._set(t,e),this},_set:function(t,e){this[t]=e},toggle:function(t){var e=this.get(t);return"boolean"==typeof e&&this.set(t,!e),this},get:function(t){return this[t]}},n=e,r=Math.sqrt,s=Math.atan2,o=Math.pow,a=Math.PI/180,h=Math.PI/2,T.util={cos:function(t){if(0===t)return 1;switch(t<0&&(t=-t),t/h){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},sin:function(t){if(0===t)return 0;var e=1;switch(t<0&&(e=-1),t/h){case 1:return e;case 2:return 0;case 3:return-e}return Math.sin(t)},removeFromArray:function(t,e){var i=t.indexOf(e);return-1!==i&&t.splice(i,1),t},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},degreesToRadians:function(t){return t*a},radiansToDegrees:function(t){return t/a},rotatePoint:function(t,e,i){var n=new T.Point(t.x-e.x,t.y-e.y),r=T.util.rotateVector(n,i);return new T.Point(r.x,r.y).addEquals(e)},rotateVector:function(t,e){var i=T.util.sin(e),n=T.util.cos(e);return{x:t.x*n-t.y*i,y:t.x*i+t.y*n}},createVector:function(t,e){return new T.Point(e.x-t.x,e.y-t.y)},calcAngleBetweenVectors:function(t,e){return Math.acos((t.x*e.x+t.y*e.y)/(Math.hypot(t.x,t.y)*Math.hypot(e.x,e.y)))},getHatVector:function(t){return new T.Point(t.x,t.y).multiply(1/Math.hypot(t.x,t.y))},getBisector:function(t,e,i){var n=T.util.createVector(t,e),r=T.util.createVector(t,i),s=T.util.calcAngleBetweenVectors(n,r),o=s*(0===T.util.calcAngleBetweenVectors(T.util.rotateVector(n,s),r)?1:-1)/2;return{vector:T.util.getHatVector(T.util.rotateVector(n,o)),angle:s}},projectStrokeOnPoints:function(t,e,i){var n=[],r=e.strokeWidth/2,s=e.strokeUniform?new T.Point(1/e.scaleX,1/e.scaleY):new T.Point(1,1),o=function(t){var e=r/Math.hypot(t.x,t.y);return new T.Point(t.x*e*s.x,t.y*e*s.y)};return t.length<=1||t.forEach((function(a,h){var c,l,u=new T.Point(a.x,a.y);0===h?(l=t[h+1],c=i?o(T.util.createVector(l,u)).addEquals(u):t[t.length-1]):h===t.length-1?(c=t[h-1],l=i?o(T.util.createVector(c,u)).addEquals(u):t[0]):(c=t[h-1],l=t[h+1]);var f,d,p=T.util.getBisector(u,c,l),g=p.vector,m=p.angle;if("miter"===e.strokeLineJoin&&(f=-r/Math.sin(m/2),d=new T.Point(g.x*f*s.x,g.y*f*s.y),Math.hypot(d.x,d.y)/r<=e.strokeMiterLimit))return n.push(u.add(d)),void n.push(u.subtract(d));f=-r*Math.SQRT2,d=new T.Point(g.x*f*s.x,g.y*f*s.y),n.push(u.add(d)),n.push(u.subtract(d))})),n},transformPoint:function(t,e,i){return i?new T.Point(e[0]*t.x+e[2]*t.y,e[1]*t.x+e[3]*t.y):new T.Point(e[0]*t.x+e[2]*t.y+e[4],e[1]*t.x+e[3]*t.y+e[5])},makeBoundingBoxFromPoints:function(t,e){if(e)for(var i=0;i0&&(e>n?e-=n:e=0,i>n?i-=n:i=0);var r,s=!0,o=t.getImageData(e,i,2*n||1,2*n||1),a=o.data.length;for(r=3;r=r?s-r:2*Math.PI-(r-s)}function s(t,e,i){for(var s=i[1],o=i[2],a=i[3],h=i[4],c=i[5],l=function(t,e,i,s,o,a,h){var c=Math.PI,l=h*c/180,u=T.util.sin(l),f=T.util.cos(l),d=0,p=0,g=-f*t*.5-u*e*.5,m=-f*e*.5+u*t*.5,v=(i=Math.abs(i))*i,y=(s=Math.abs(s))*s,b=m*m,_=g*g,x=v*y-v*b-y*_,S=0;if(x<0){var C=Math.sqrt(1-x/(v*y));i*=C,s*=C}else S=(o===a?-1:1)*Math.sqrt(x/(v*b+y*_));var w=S*i*m/s,E=-S*s*g/i,O=f*w-u*E+.5*t,P=u*w+f*E+.5*e,A=r(1,0,(g-w)/i,(m-E)/s),k=r((g-w)/i,(m-E)/s,(-g-w)/i,(-m-E)/s);0===a&&k>0?k-=2*c:1===a&&k<0&&(k+=2*c);for(var D=Math.ceil(Math.abs(k/c*2)),j=[],I=k/D,F=8/3*Math.sin(I/4)*Math.sin(I/4)/Math.sin(I/2),L=A+I,M=0;MS)for(var w=1,E=g.length;w2;for(e=e||0,c&&(a=t[2].xt[i-2].x?1:r.x===t[i-2].x?0:-1,h=r.y>t[i-2].y?1:r.y===t[i-2].y?0:-1),n.push(["L",r.x+a*e,r.y+h*e]),n},T.util.getPathSegmentsInfo=f,T.util.getBoundsOfCurve=function(e,i,n,r,s,o,a,h){var c;if(T.cachesBoundsOfCurve&&(c=t.call(arguments),T.boundsOfCurveCache[c]))return T.boundsOfCurveCache[c];var l,u,f,d,p,g,m,v,y=Math.sqrt,b=Math.min,_=Math.max,x=Math.abs,S=[],C=[[],[]];u=6*e-12*n+6*s,l=-3*e+9*n-9*s+3*a,f=3*n-3*e;for(var w=0;w<2;++w)if(w>0&&(u=6*i-12*r+6*o,l=-3*i+9*r-9*o+3*h,f=3*r-3*i),x(l)<1e-12){if(x(u)<1e-12)continue;0<(d=-f/u)&&d<1&&S.push(d)}else(m=u*u-4*f*l)<0||(0<(p=(-u+(v=y(m)))/(2*l))&&p<1&&S.push(p),0<(g=(-u-v)/(2*l))&&g<1&&S.push(g));for(var E,O,P,A=S.length,k=A;A--;)E=(P=1-(d=S[A]))*P*P*e+3*P*P*d*n+3*P*d*d*s+d*d*d*a,C[0][A]=E,O=P*P*P*i+3*P*P*d*r+3*P*d*d*o+d*d*d*h,C[1][A]=O;C[0][k]=e,C[1][k]=i,C[0][k+1]=a,C[1][k+1]=h;var D=[{x:b.apply(null,C[0]),y:b.apply(null,C[1])},{x:_.apply(null,C[0]),y:_.apply(null,C[1])}];return T.cachesBoundsOfCurve&&(T.boundsOfCurveCache[c]=D),D},T.util.getPointOnPath=function(t,e,i){i||(i=f(t));for(var n=0;e-i[n].length>0&&n1e-4;)i=h(s),r=s,(n=o(c.x,c.y,i.x,i.y))+a>e?(s-=l,l/=2):(c=i,s+=l,a+=n);return i.angle=u(r),i}(s,e)}},T.util.transformPath=function(t,e,i){return i&&(e=T.util.multiplyTransformMatrices(e,[1,0,0,1,-i.x,-i.y])),t.map((function(t){for(var i=t.slice(0),n={},r=1;r=e}))}}}(),function(){function t(e,i,n){if(n)if(!T.isLikelyNode&&i instanceof Element)e=i;else if(i instanceof Array){e=[];for(var r=0,s=i.length;r57343)return t.charAt(e);if(55296<=i&&i<=56319){if(t.length<=e+1)throw"High surrogate without following low surrogate";var n=t.charCodeAt(e+1);if(56320>n||n>57343)throw"High surrogate without following low surrogate";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";var r=t.charCodeAt(e-1);if(55296>r||r>56319)throw"Low surrogate without preceding high surrogate";return!1}T.util.string={camelize:function(t){return t.replace(/-+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))},capitalize:function(t,e){return t.charAt(0).toUpperCase()+(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:function(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")},graphemeSplit:function(e){var i,n=0,r=[];for(n=0;n-1?t.prototype[r]=function(t){return function(){var i=this.constructor.superclass;this.constructor.superclass=n;var r=e[t].apply(this,arguments);if(this.constructor.superclass=i,"initialize"!==t)return r}}(r):t.prototype[r]=e[r],i&&(e.toString!==Object.prototype.toString&&(t.prototype.toString=e.toString),e.valueOf!==Object.prototype.valueOf&&(t.prototype.valueOf=e.valueOf))};function r(){}function s(e){for(var i=null,n=this;n.constructor.superclass;){var r=n.constructor.superclass.prototype[e];if(n[e]!==r){i=r;break}n=n.constructor.superclass.prototype}return i?arguments.length>1?i.apply(this,t.call(arguments,1)):i.call(this):console.log("tried to callSuper "+e+", method not found in prototype chain",this)}T.util.createClass=function(){var i=null,o=t.call(arguments,0);function a(){this.initialize.apply(this,arguments)}"function"==typeof o[0]&&(i=o.shift()),a.superclass=i,a.subclasses=[],i&&(r.prototype=i.prototype,a.prototype=new r,i.subclasses.push(a));for(var h=0,c=o.length;h-1||"touch"===t.pointerType},f="string"==typeof(u=T.document.createElement("div")).style.opacity,d="string"==typeof u.style.filter,p=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,g=function(t){return t},f?g=function(t,e){return t.style.opacity=e,t}:d&&(g=function(t,e){var i=t.style;return t.currentStyle&&!t.currentStyle.hasLayout&&(i.zoom=1),p.test(i.filter)?(e=e>=.9999?"":"alpha(opacity="+100*e+")",i.filter=i.filter.replace(p,e)):i.filter+=" alpha(opacity="+100*e+")",t}),T.util.setStyle=function(t,e){var i=t.style;if(!i)return t;if("string"==typeof e)return t.style.cssText+=";"+e,e.indexOf("opacity")>-1?g(t,e.match(/opacity:\s*(\d?\.?\d*)/)[1]):t;for(var n in e)"opacity"===n?g(t,e[n]):i["float"===n||"cssFloat"===n?void 0===i.styleFloat?"cssFloat":"styleFloat":n]=e[n];return t},function(){var t,e,i,n,r=Array.prototype.slice,s=function(t){return r.call(t,0)};try{t=s(T.document.childNodes)instanceof Array}catch(t){}function o(t,e){var i=T.document.createElement(t);for(var n in e)"class"===n?i.className=e[n]:"for"===n?i.htmlFor=e[n]:i.setAttribute(n,e[n]);return i}function a(t){for(var e=0,i=0,n=T.document.documentElement,r=T.document.body||{scrollLeft:0,scrollTop:0};t&&(t.parentNode||t.host)&&((t=t.parentNode||t.host)===T.document?(e=r.scrollLeft||n.scrollLeft||0,i=r.scrollTop||n.scrollTop||0):(e+=t.scrollLeft||0,i+=t.scrollTop||0),1!==t.nodeType||"fixed"!==t.style.position););return{left:e,top:i}}t||(s=function(t){for(var e=new Array(t.length),i=t.length;i--;)e[i]=t[i];return e}),e=T.document.defaultView&&T.document.defaultView.getComputedStyle?function(t,e){var i=T.document.defaultView.getComputedStyle(t,null);return i?i[e]:void 0}:function(t,e){var i=t.style[e];return!i&&t.currentStyle&&(i=t.currentStyle[e]),i},i=T.document.documentElement.style,n="userSelect"in i?"userSelect":"MozUserSelect"in i?"MozUserSelect":"WebkitUserSelect"in i?"WebkitUserSelect":"KhtmlUserSelect"in i?"KhtmlUserSelect":"",T.util.makeElementUnselectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=T.util.falseFunction),n?t.style[n]="none":"string"==typeof t.unselectable&&(t.unselectable="on"),t},T.util.makeElementSelectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=null),n?t.style[n]="":"string"==typeof t.unselectable&&(t.unselectable=""),t},T.util.setImageSmoothing=function(t,e){t.imageSmoothingEnabled=t.imageSmoothingEnabled||t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled||t.oImageSmoothingEnabled,t.imageSmoothingEnabled=e},T.util.getById=function(t){return"string"==typeof t?T.document.getElementById(t):t},T.util.toArray=s,T.util.addClass=function(t,e){t&&-1===(" "+t.className+" ").indexOf(" "+e+" ")&&(t.className+=(t.className?" ":"")+e)},T.util.makeElement=o,T.util.wrapElement=function(t,e,i){return"string"==typeof e&&(e=o(e,i)),t.parentNode&&t.parentNode.replaceChild(e,t),e.appendChild(t),e},T.util.getScrollLeftTop=a,T.util.getElementOffset=function(t){var i,n,r=t&&t.ownerDocument,s={left:0,top:0},o={left:0,top:0},h={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!r)return o;for(var c in h)o[h[c]]+=parseInt(e(t,c),10)||0;return i=r.documentElement,void 0!==t.getBoundingClientRect&&(s=t.getBoundingClientRect()),n=a(t),{left:s.left+n.left-(i.clientLeft||0)+o.left,top:s.top+n.top-(i.clientTop||0)+o.top}},T.util.getNodeCanvas=function(t){var e=T.jsdomImplForWrapper(t);return e._canvas||e._image},T.util.cleanUpJsdomNode=function(t){if(T.isLikelyNode){var e=T.jsdomImplForWrapper(t);e&&(e._image=null,e._canvas=null,e._currentSrc=null,e._attributes=null,e._classList=null)}}}(),function(){function t(){}T.util.request=function(e,i){i||(i={});var n=i.method?i.method.toUpperCase():"GET",r=i.onComplete||function(){},s=new T.window.XMLHttpRequest,o=i.body||i.parameters;return s.onreadystatechange=function(){4===s.readyState&&(r(s),s.onreadystatechange=t)},"GET"===n&&(o=null,"string"==typeof i.parameters&&(e=function(t,e){return t+(/\?/.test(t)?"&":"?")+e}(e,i.parameters))),s.open(n,e,!0),"POST"!==n&&"PUT"!==n||s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(o),s}}(),T.log=console.log,T.warn=console.warn,function(){var t=T.util.object.extend,e=T.util.object.clone,i=[];function n(){return!1}function r(t,e,i,n){return-i*Math.cos(t/n*(Math.PI/2))+i+e}T.util.object.extend(i,{cancelAll:function(){var t=this.splice(0);return t.forEach((function(t){t.cancel()})),t},cancelByCanvas:function(t){if(!t)return[];var e=this.filter((function(e){return"object"==typeof e.target&&e.target.canvas===t}));return e.forEach((function(t){t.cancel()})),e},cancelByTarget:function(t){var e=this.findAnimationsByTarget(t);return e.forEach((function(t){t.cancel()})),e},findAnimationIndex:function(t){return this.indexOf(this.findAnimation(t))},findAnimation:function(t){return this.find((function(e){return e.cancel===t}))},findAnimationsByTarget:function(t){return t?this.filter((function(e){return e.target===t})):[]}});var s=T.window.requestAnimationFrame||T.window.webkitRequestAnimationFrame||T.window.mozRequestAnimationFrame||T.window.oRequestAnimationFrame||T.window.msRequestAnimationFrame||function(t){return T.window.setTimeout(t,1e3/60)},o=T.window.cancelAnimationFrame||T.window.clearTimeout;function a(){return s.apply(T.window,arguments)}T.util.animate=function(i){i||(i={});var s,o=!1,h=function(){var t=T.runningAnimations.indexOf(s);return t>-1&&T.runningAnimations.splice(t,1)[0]};return s=t(e(i),{cancel:function(){return o=!0,h()},currentValue:"startValue"in i?i.startValue:0,completionRate:0,durationRate:0}),T.runningAnimations.push(s),a((function(t){var e,c=t||+new Date,l=i.duration||500,u=c+l,f=i.onChange||n,d=i.abort||n,p=i.onComplete||n,g=i.easing||r,m="startValue"in i&&i.startValue.length>0,v="startValue"in i?i.startValue:0,y="endValue"in i?i.endValue:100,b=i.byValue||(m?v.map((function(t,e){return y[e]-v[e]})):y-v);i.onStart&&i.onStart(),function t(i){var n=(e=i||+new Date)>u?l:e-c,r=n/l,_=m?v.map((function(t,e){return g(n,v[e],b[e],l)})):g(n,v,b,l),x=m?Math.abs((_[0]-v[0])/b[0]):Math.abs((_-v)/b);if(s.currentValue=m?_.slice():_,s.completionRate=x,s.durationRate=r,!o){if(!d(_,x,r))return e>u?(s.currentValue=m?y.slice():y,s.completionRate=1,s.durationRate=1,f(m?y.slice():y,1,1),p(y,1,1),void h()):(f(_,x,r),void a(t));h()}}(c)})),s.cancel},T.util.requestAnimFrame=a,T.util.cancelAnimFrame=function(){return o.apply(T.window,arguments)},T.runningAnimations=i}(),function(){function t(t,e,i){var n="rgba("+parseInt(t[0]+i*(e[0]-t[0]),10)+","+parseInt(t[1]+i*(e[1]-t[1]),10)+","+parseInt(t[2]+i*(e[2]-t[2]),10);return(n+=","+(t&&e?parseFloat(t[3]+i*(e[3]-t[3])):1))+")"}T.util.animateColor=function(e,i,n,r){var s=new T.Color(e).getSource(),o=new T.Color(i).getSource(),a=r.onComplete,h=r.onChange;return r=r||{},T.util.animate(T.util.object.extend(r,{duration:n||500,startValue:s,endValue:o,byValue:o,easing:function(e,i,n,s){return t(i,n,r.colorEasing?r.colorEasing(e,s):1-Math.cos(e/s*(Math.PI/2)))},onComplete:function(e,i,n){if(a)return a(t(o,o,0),i,n)},onChange:function(e,i,n){if(h){if(Array.isArray(e))return h(t(e,e,0),i,n);h(e,i,n)}}}))}}(),function(){function t(t,e,i,n){return t-1&&l>-1&&l-1)&&(i="stroke")}else{if("href"===t||"xlink:href"===t||"font"===t)return i;if("imageSmoothing"===t)return"optimizeQuality"===i;a=h?i.map(s):s(i,r)}}else i="";return!h&&isNaN(a)?i:a}function d(t){return new RegExp("^("+t.join("|")+")\\b","i")}function p(t,e){var i,n,r,s,o=[];for(r=0,s=e.length;r1;)h.shift(),c=e.util.multiplyTransformMatrices(c,h[0]);return c}}();var y=new RegExp("^\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*,?\\s*("+e.reNum+"+)\\s*$");function b(t){if(!e.svgViewBoxElementsRegEx.test(t.nodeName))return{};var i,n,r,o,a,h,c=t.getAttribute("viewBox"),l=1,u=1,f=t.getAttribute("width"),d=t.getAttribute("height"),p=t.getAttribute("x")||0,g=t.getAttribute("y")||0,m=t.getAttribute("preserveAspectRatio")||"",v=!c||!(c=c.match(y)),b=!f||!d||"100%"===f||"100%"===d,_=v&&b,x={},S="",C=0,w=0;if(x.width=0,x.height=0,x.toBeParsed=_,v&&(p||g)&&t.parentNode&&"#document"!==t.parentNode.nodeName&&(S=" translate("+s(p)+" "+s(g)+") ",a=(t.getAttribute("transform")||"")+S,t.setAttribute("transform",a),t.removeAttribute("x"),t.removeAttribute("y")),_)return x;if(v)return x.width=s(f),x.height=s(d),x;if(i=-parseFloat(c[1]),n=-parseFloat(c[2]),r=parseFloat(c[3]),o=parseFloat(c[4]),x.minX=i,x.minY=n,x.viewBoxWidth=r,x.viewBoxHeight=o,b?(x.width=r,x.height=o):(x.width=s(f),x.height=s(d),l=x.width/r,u=x.height/o),"none"!==(m=e.util.parsePreserveAspectRatioAttribute(m)).alignX&&("meet"===m.meetOrSlice&&(u=l=l>u?u:l),"slice"===m.meetOrSlice&&(u=l=l>u?l:u),C=x.width-r*l,w=x.height-o*l,"Mid"===m.alignX&&(C/=2),"Mid"===m.alignY&&(w/=2),"Min"===m.alignX&&(C=0),"Min"===m.alignY&&(w=0)),1===l&&1===u&&0===i&&0===n&&0===p&&0===g)return x;if((p||g)&&"#document"!==t.parentNode.nodeName&&(S=" translate("+s(p)+" "+s(g)+") "),a=S+" matrix("+l+" 0 0 "+u+" "+(i*l+C)+" "+(n*u+w)+") ","svg"===t.nodeName){for(h=t.ownerDocument.createElementNS(e.svgNS,"g");t.firstChild;)h.appendChild(t.firstChild);t.appendChild(h)}else(h=t).removeAttribute("x"),h.removeAttribute("y"),a=h.getAttribute("transform")+a;return h.setAttribute("transform",a),x}function _(t,e){var i="xlink:href",n=v(t,e.getAttribute(i).slice(1));if(n&&n.getAttribute(i)&&_(t,n),["gradientTransform","x1","x2","y1","y2","gradientUnits","cx","cy","r","fx","fy"].forEach((function(t){n&&!e.hasAttribute(t)&&n.hasAttribute(t)&&e.setAttribute(t,n.getAttribute(t))})),!e.children.length)for(var r=n.cloneNode(!0);r.firstChild;)e.appendChild(r.firstChild);e.removeAttribute(i)}e.parseSVGDocument=function(t,i,r,s){if(t){!function(t){for(var i=p(t,["use","svg:use"]),n=0;i.length&&nt.x&&this.y>t.y},gte:function(t){return this.x>=t.x&&this.y>=t.y},lerp:function(t,e){return void 0===e&&(e=.5),e=Math.max(Math.min(1,e),0),new i(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)},distanceFrom:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},midPointFrom:function(t){return this.lerp(t)},min:function(t){return new i(Math.min(this.x,t.x),Math.min(this.y,t.y))},max:function(t){return new i(Math.max(this.x,t.x),Math.max(this.y,t.y))},toString:function(){return this.x+","+this.y},setXY:function(t,e){return this.x=t,this.y=e,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setFromPoint:function(t){return this.x=t.x,this.y=t.y,this},swap:function(t){var e=this.x,i=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=i},clone:function(){return new i(this.x,this.y)}})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});function i(t){this.status=t,this.points=[]}e.Intersection?e.warn("fabric.Intersection is already defined"):(e.Intersection=i,e.Intersection.prototype={constructor:i,appendPoint:function(t){return this.points.push(t),this},appendPoints:function(t){return this.points=this.points.concat(t),this}},e.Intersection.intersectLineLine=function(t,n,r,s){var o,a=(s.x-r.x)*(t.y-r.y)-(s.y-r.y)*(t.x-r.x),h=(n.x-t.x)*(t.y-r.y)-(n.y-t.y)*(t.x-r.x),c=(s.y-r.y)*(n.x-t.x)-(s.x-r.x)*(n.y-t.y);if(0!==c){var l=a/c,u=h/c;0<=l&&l<=1&&0<=u&&u<=1?(o=new i("Intersection")).appendPoint(new e.Point(t.x+l*(n.x-t.x),t.y+l*(n.y-t.y))):o=new i}else o=new i(0===a||0===h?"Coincident":"Parallel");return o},e.Intersection.intersectLinePolygon=function(t,e,n){var r,s,o,a,h=new i,c=n.length;for(a=0;a0&&(h.status="Intersection"),h},e.Intersection.intersectPolygonPolygon=function(t,e){var n,r=new i,s=t.length;for(n=0;n0&&(r.status="Intersection"),r},e.Intersection.intersectPolygonRectangle=function(t,n,r){var s=n.min(r),o=n.max(r),a=new e.Point(o.x,s.y),h=new e.Point(s.x,o.y),c=i.intersectLinePolygon(s,a,t),l=i.intersectLinePolygon(a,o,t),u=i.intersectLinePolygon(o,h,t),f=i.intersectLinePolygon(h,s,t),d=new i;return d.appendPoints(c.points),d.appendPoints(l.points),d.appendPoints(u.points),d.appendPoints(f.points),d.points.length>0&&(d.status="Intersection"),d})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});function i(t){t?this._tryParsingColor(t):this.setSource([0,0,0,1])}function n(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}e.Color?e.warn("fabric.Color is already defined."):(e.Color=i,e.Color.prototype={_tryParsingColor:function(t){var e;t in i.colorNameMap&&(t=i.colorNameMap[t]),"transparent"===t&&(e=[255,255,255,0]),e||(e=i.sourceFromHex(t)),e||(e=i.sourceFromRgb(t)),e||(e=i.sourceFromHsl(t)),e||(e=[0,0,0,1]),e&&this.setSource(e)},_rgbToHsl:function(t,i,n){t/=255,i/=255,n/=255;var r,s,o,a=e.util.array.max([t,i,n]),h=e.util.array.min([t,i,n]);if(o=(a+h)/2,a===h)r=s=0;else{var c=a-h;switch(s=o>.5?c/(2-a-h):c/(a+h),a){case t:r=(i-n)/c+(i0)-(t<0)||+t};function d(t,e){var i=t.angle+u(Math.atan2(e.y,e.x))+360;return Math.round(i%360/45)}function p(t,i){var n=i.transform.target,r=n.canvas,s=e.util.object.clone(i);s.target=n,r&&r.fire("object:"+t,s),n.fire(t,i)}function g(t,e){var i=e.canvas,n=t[i.uniScaleKey];return i.uniformScaling&&!n||!i.uniformScaling&&n}function m(t){return t.originX===c&&t.originY===c}function v(t,e,i){var n=t.lockScalingX,r=t.lockScalingY;return!((!n||!r)&&(e||!n&&!r||!i)&&(!n||"x"!==e)&&(!r||"y"!==e))}function y(t,e,i,n){return{e:t,transform:e,pointer:{x:i,y:n}}}function b(t){return function(e,i,n,r){var s=i.target,o=s.getCenterPoint(),a=s.translateToOriginPoint(o,i.originX,i.originY),h=t(e,i,n,r);return s.setPositionByOrigin(a,i.originX,i.originY),h}}function _(t,e){return function(i,n,r,s){var o=e(i,n,r,s);return o&&p(t,y(i,n,r,s)),o}}function x(t,i,n,r,s){var o=t.target,a=o.controls[t.corner],h=o.canvas.getZoom(),c=o.padding/h,l=o.toLocalPoint(new e.Point(r,s),i,n);return l.x>=c&&(l.x-=c),l.x<=-c&&(l.x+=c),l.y>=c&&(l.y-=c),l.y<=c&&(l.y+=c),l.x-=a.offsetX,l.y-=a.offsetY,l}function S(t){return t.flipX!==t.flipY}function C(t,e,i,n,r){if(0!==t[e]){var s=r/t._getTransformedDimensions()[n]*t[i];t.set(i,s)}}function w(t,e,i,n){var r,c=e.target,l=c._getTransformedDimensions(0,c.skewY),f=x(e,e.originX,e.originY,i,n),d=Math.abs(2*f.x)-l.x,p=c.skewX;d<2?r=0:(r=u(Math.atan2(d/c.scaleX,l.y/c.scaleY)),e.originX===s&&e.originY===h&&(r=-r),e.originX===a&&e.originY===o&&(r=-r),S(c)&&(r=-r));var g=p!==r;if(g){var m=c._getTransformedDimensions().y;c.set("skewX",r),C(c,"skewY","scaleY","y",m)}return g}function T(t,e,i,n){var r,c=e.target,l=c._getTransformedDimensions(c.skewX,0),f=x(e,e.originX,e.originY,i,n),d=Math.abs(2*f.y)-l.y,p=c.skewY;d<2?r=0:(r=u(Math.atan2(d/c.scaleY,l.x/c.scaleX)),e.originX===s&&e.originY===h&&(r=-r),e.originX===a&&e.originY===o&&(r=-r),S(c)&&(r=-r));var g=p!==r;if(g){var m=c._getTransformedDimensions().x;c.set("skewY",r),C(c,"skewX","scaleX","x",m)}return g}function E(t,e,i,n,r){r=r||{};var s,o,a,h,c,u,d=e.target,p=d.lockScalingX,y=d.lockScalingY,b=r.by,_=g(t,d),S=v(d,b,_),C=e.gestureScale;if(S)return!1;if(C)o=e.scaleX*C,a=e.scaleY*C;else{if(s=x(e,e.originX,e.originY,i,n),c="y"!==b?f(s.x):1,u="x"!==b?f(s.y):1,e.signX||(e.signX=c),e.signY||(e.signY=u),d.lockScalingFlip&&(e.signX!==c||e.signY!==u))return!1;if(h=d._getTransformedDimensions(),_&&!b){var w=Math.abs(s.x)+Math.abs(s.y),T=e.original,E=w/(Math.abs(h.x*T.scaleX/d.scaleX)+Math.abs(h.y*T.scaleY/d.scaleY));o=T.scaleX*E,a=T.scaleY*E}else o=Math.abs(s.x*d.scaleX/h.x),a=Math.abs(s.y*d.scaleY/h.y);m(e)&&(o*=2,a*=2),e.signX!==c&&"y"!==b&&(e.originX=l[e.originX],o*=-1,e.signX=c),e.signY!==u&&"x"!==b&&(e.originY=l[e.originY],a*=-1,e.signY=u)}var O=d.scaleX,P=d.scaleY;return b?("x"===b&&d.set("scaleX",o),"y"===b&&d.set("scaleY",a)):(!p&&d.set("scaleX",o),!y&&d.set("scaleY",a)),O!==d.scaleX||P!==d.scaleY}r.scaleCursorStyleHandler=function(t,e,n){var r=g(t,n),s="";if(0!==e.x&&0===e.y?s="x":0===e.x&&0!==e.y&&(s="y"),v(n,s,r))return"not-allowed";var o=d(n,e);return i[o]+"-resize"},r.skewCursorStyleHandler=function(t,e,i){var r="not-allowed";if(0!==e.x&&i.lockSkewingY)return r;if(0!==e.y&&i.lockSkewingX)return r;var s=d(i,e)%4;return n[s]+"-resize"},r.scaleSkewCursorStyleHandler=function(t,e,i){return t[i.canvas.altActionKey]?r.skewCursorStyleHandler(t,e,i):r.scaleCursorStyleHandler(t,e,i)},r.rotationWithSnapping=_("rotating",b((function(t,e,i,n){var r=e,s=r.target,o=s.translateToOriginPoint(s.getCenterPoint(),r.originX,r.originY);if(s.lockRotation)return!1;var a,h=Math.atan2(r.ey-o.y,r.ex-o.x),c=Math.atan2(n-o.y,i-o.x),l=u(c-h+r.theta);if(s.snapAngle>0){var f=s.snapAngle,d=s.snapThreshold||f,p=Math.ceil(l/f)*f,g=Math.floor(l/f)*f;Math.abs(l-g)0?s:a:(l>0&&(r=u===o?s:a),l<0&&(r=u===o?a:s),S(h)&&(r=r===s?a:s)),e.originX=r,_("skewing",b(w))(t,e,i,n))},r.skewHandlerY=function(t,e,i,n){var r,a=e.target,l=a.skewY,u=e.originX;return!a.lockSkewingY&&(0===l?r=x(e,c,c,i,n).y>0?o:h:(l>0&&(r=u===s?o:h),l<0&&(r=u===s?h:o),S(a)&&(r=r===o?h:o)),e.originY=r,_("skewing",b(T))(t,e,i,n))},r.dragHandler=function(t,e,i,n){var r=e.target,s=i-e.offsetX,o=n-e.offsetY,a=!r.get("lockMovementX")&&r.left!==s,h=!r.get("lockMovementY")&&r.top!==o;return a&&r.set("left",s),h&&r.set("top",o),(a||h)&&p("moving",y(t,e,i,n)),a||h},r.scaleOrSkewActionName=function(t,e,i){var n=t[i.canvas.altActionKey];return 0===e.x?n?"skewX":"scaleY":0===e.y?n?"skewY":"scaleX":void 0},r.rotationStyleHandler=function(t,e,i){return i.lockRotation?"not-allowed":e.cursorStyle},r.fireEvent=p,r.wrapWithFixedAnchor=b,r.wrapWithFireEvent=_,r.getLocalPoint=x,e.controlsUtils=r}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.degreesToRadians,n=e.controlsUtils;n.renderCircleControl=function(t,e,i,n,r){n=n||{};var s,o=this.sizeX||n.cornerSize||r.cornerSize,a=this.sizeY||n.cornerSize||r.cornerSize,h=void 0!==n.transparentCorners?n.transparentCorners:r.transparentCorners,c=h?"stroke":"fill",l=!h&&(n.cornerStrokeColor||r.cornerStrokeColor),u=e,f=i;t.save(),t.fillStyle=n.cornerColor||r.cornerColor,t.strokeStyle=n.cornerStrokeColor||r.cornerStrokeColor,o>a?(s=o,t.scale(1,a/o),f=i*o/a):a>o?(s=a,t.scale(o/a,1),u=e*a/o):s=o,t.lineWidth=1,t.beginPath(),t.arc(u,f,s/2,0,2*Math.PI,!1),t[c](),l&&t.stroke(),t.restore()},n.renderSquareControl=function(t,e,n,r,s){r=r||{};var o=this.sizeX||r.cornerSize||s.cornerSize,a=this.sizeY||r.cornerSize||s.cornerSize,h=void 0!==r.transparentCorners?r.transparentCorners:s.transparentCorners,c=h?"stroke":"fill",l=!h&&(r.cornerStrokeColor||s.cornerStrokeColor),u=o/2,f=a/2;t.save(),t.fillStyle=r.cornerColor||s.cornerColor,t.strokeStyle=r.cornerStrokeColor||s.cornerStrokeColor,t.lineWidth=1,t.translate(e,n),t.rotate(i(s.angle)),t[c+"Rect"](-u,-f,o,a),l&&t.strokeRect(-u,-f,o,a),t.restore()}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});e.Control=function(t){for(var e in t)this[e]=t[e]},e.Control.prototype={visible:!0,actionName:"scale",angle:0,x:0,y:0,offsetX:0,offsetY:0,sizeX:null,sizeY:null,touchSizeX:null,touchSizeY:null,cursorStyle:"crosshair",withConnection:!1,actionHandler:function(){},mouseDownHandler:function(){},mouseUpHandler:function(){},getActionHandler:function(){return this.actionHandler},getMouseDownHandler:function(){return this.mouseDownHandler},getMouseUpHandler:function(){return this.mouseUpHandler},cursorStyleHandler:function(t,e){return e.cursorStyle},getActionName:function(t,e){return e.actionName},getVisibility:function(t,e){var i=t._controlsVisibility;return i&&void 0!==i[e]?i[e]:this.visible},setVisibility:function(t){this.visible=t},positionHandler:function(t,i){return e.util.transformPoint({x:this.x*t.x+this.offsetX,y:this.y*t.y+this.offsetY},i)},calcCornerCoords:function(t,i,n,r,s){var o,a,h,c,l=s?this.touchSizeX:this.sizeX,u=s?this.touchSizeY:this.sizeY;if(l&&u&&l!==u){var f=Math.atan2(u,l),d=Math.sqrt(l*l+u*u)/2,p=f-e.util.degreesToRadians(t),g=Math.PI/2-f-e.util.degreesToRadians(t);o=d*e.util.cos(p),a=d*e.util.sin(p),h=d*e.util.cos(g),c=d*e.util.sin(g)}else d=.7071067812*(l&&u?l:i),p=e.util.degreesToRadians(45-t),o=h=d*e.util.cos(p),a=c=d*e.util.sin(p);return{tl:{x:n-c,y:r-h},tr:{x:n+o,y:r-a},bl:{x:n-o,y:r+a},br:{x:n+c,y:r+h}}},render:function(t,i,n,r,s){"circle"===((r=r||{}).cornerStyle||s.cornerStyle)?e.controlsUtils.renderCircleControl.call(this,t,i,n,r,s):e.controlsUtils.renderSquareControl.call(this,t,i,n,r,s)}}}(e),function(){function t(t,e){var i,n,r,s,o=t.getAttribute("style"),a=t.getAttribute("offset")||0;if(a=(a=parseFloat(a)/(/%$/.test(a)?100:1))<0?0:a>1?1:a,o){var h=o.split(/\s*;\s*/);for(""===h[h.length-1]&&h.pop(),s=h.length;s--;){var c=h[s].split(/\s*:\s*/),l=c[0].trim(),u=c[1].trim();"stop-color"===l?i=u:"stop-opacity"===l&&(r=u)}}return i||(i=t.getAttribute("stop-color")||"rgb(0,0,0)"),r||(r=t.getAttribute("stop-opacity")),n=(i=new T.Color(i)).getAlpha(),r=isNaN(parseFloat(r))?1:parseFloat(r),r*=n*e,{offset:a,color:i.toRgb(),opacity:r}}var e=T.util.object.clone;T.Gradient=T.util.createClass({offsetX:0,offsetY:0,gradientTransform:null,gradientUnits:"pixels",type:"linear",initialize:function(t){t||(t={}),t.coords||(t.coords={});var e,i=this;Object.keys(t).forEach((function(e){i[e]=t[e]})),this.id?this.id+="_"+T.Object.__uid++:this.id=T.Object.__uid++,e={x1:t.coords.x1||0,y1:t.coords.y1||0,x2:t.coords.x2||0,y2:t.coords.y2||0},"radial"===this.type&&(e.r1=t.coords.r1||0,e.r2=t.coords.r2||0),this.coords=e,this.colorStops=t.colorStops.slice()},addColorStop:function(t){for(var e in t){var i=new T.Color(t[e]);this.colorStops.push({offset:parseFloat(e),color:i.toRgb(),opacity:i.getAlpha()})}return this},toObject:function(t){var e={type:this.type,coords:this.coords,colorStops:this.colorStops,offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?this.gradientTransform.concat():this.gradientTransform};return T.util.populateWithProperties(this,e,t),e},toSVG:function(t,i){var n,r,s,o,a=e(this.coords,!0),h=(i=i||{},e(this.colorStops,!0)),c=a.r1>a.r2,l=this.gradientTransform?this.gradientTransform.concat():T.iMatrix.concat(),u=-this.offsetX,f=-this.offsetY,d=!!i.additionalTransform,p="pixels"===this.gradientUnits?"userSpaceOnUse":"objectBoundingBox";if(h.sort((function(t,e){return t.offset-e.offset})),"objectBoundingBox"===p?(u/=t.width,f/=t.height):(u+=t.width/2,f+=t.height/2),"path"===t.type&&"percentage"!==this.gradientUnits&&(u-=t.pathOffset.x,f-=t.pathOffset.y),l[4]-=u,l[5]-=f,o='id="SVGID_'+this.id+'" gradientUnits="'+p+'"',o+=' gradientTransform="'+(d?i.additionalTransform+" ":"")+T.util.matrixToSVG(l)+'" ',"linear"===this.type?s=["\n']:"radial"===this.type&&(s=["\n']),"radial"===this.type){if(c)for((h=h.concat()).reverse(),n=0,r=h.length;n0){var m=g/Math.max(a.r1,a.r2);for(n=0,r=h.length;n\n')}return s.push("linear"===this.type?"\n":"\n"),s.join("")},toLive:function(t){var e,i,n,r=T.util.object.clone(this.coords);if(this.type){for("linear"===this.type?e=t.createLinearGradient(r.x1,r.y1,r.x2,r.y2):"radial"===this.type&&(e=t.createRadialGradient(r.x1,r.y1,r.r1,r.x2,r.y2,r.r2)),i=0,n=this.colorStops.length;i1?1:s,isNaN(s)&&(s=1);var o,a,h,c,l=e.getElementsByTagName("stop"),u="userSpaceOnUse"===e.getAttribute("gradientUnits")?"pixels":"percentage",f=e.getAttribute("gradientTransform")||"",d=[],p=0,g=0;for("linearGradient"===e.nodeName||"LINEARGRADIENT"===e.nodeName?(o="linear",a=function(t){return{x1:t.getAttribute("x1")||0,y1:t.getAttribute("y1")||0,x2:t.getAttribute("x2")||"100%",y2:t.getAttribute("y2")||0}}(e)):(o="radial",a=function(t){return{x1:t.getAttribute("fx")||t.getAttribute("cx")||"50%",y1:t.getAttribute("fy")||t.getAttribute("cy")||"50%",r1:0,x2:t.getAttribute("cx")||"50%",y2:t.getAttribute("cy")||"50%",r2:t.getAttribute("r")||"50%"}}(e)),h=l.length;h--;)d.push(t(l[h],s));return c=T.parseTransformAttribute(f),function(t,e,i,n){var r,s;Object.keys(e).forEach((function(t){"Infinity"===(r=e[t])?s=1:"-Infinity"===r?s=0:(s=parseFloat(e[t],10),"string"==typeof r&&/^(\d+\.\d+)%|(\d+)%$/.test(r)&&(s*=.01,"pixels"===n&&("x1"!==t&&"x2"!==t&&"r2"!==t||(s*=i.viewBoxWidth||i.width),"y1"!==t&&"y2"!==t||(s*=i.viewBoxHeight||i.height)))),e[t]=s}))}(0,a,r,u),"pixels"===u&&(p=-i.left,g=-i.top),new T.Gradient({id:e.getAttribute("id"),type:o,coords:a,colorStops:d,gradientUnits:u,gradientTransform:c,offsetX:p,offsetY:g})}})}(),function(){"use strict";var t=T.util.toFixed;T.Pattern=T.util.createClass({repeat:"repeat",offsetX:0,offsetY:0,crossOrigin:"",patternTransform:null,initialize:function(t,e){if(t||(t={}),this.id=T.Object.__uid++,this.setOptions(t),!t.source||t.source&&"string"!=typeof t.source)e&&e(this);else{var i=this;this.source=T.util.createImage(),T.util.loadImage(t.source,(function(t,n){i.source=t,e&&e(i,n)}),null,this.crossOrigin)}},toObject:function(e){var i,n,r=T.Object.NUM_FRACTION_DIGITS;return"string"==typeof this.source.src?i=this.source.src:"object"==typeof this.source&&this.source.toDataURL&&(i=this.source.toDataURL()),n={type:"pattern",source:i,repeat:this.repeat,crossOrigin:this.crossOrigin,offsetX:t(this.offsetX,r),offsetY:t(this.offsetY,r),patternTransform:this.patternTransform?this.patternTransform.concat():null},T.util.populateWithProperties(this,n,e),n},toSVG:function(t){var e="function"==typeof this.source?this.source():this.source,i=e.width/t.width,n=e.height/t.height,r=this.offsetX/t.width,s=this.offsetY/t.height,o="";return"repeat-x"!==this.repeat&&"no-repeat"!==this.repeat||(n=1,s&&(n+=Math.abs(s))),"repeat-y"!==this.repeat&&"no-repeat"!==this.repeat||(i=1,r&&(i+=Math.abs(r))),e.src?o=e.src:e.toDataURL&&(o=e.toDataURL()),'\n\n\n'},setOptions:function(t){for(var e in t)this[e]=t[e]},toLive:function(t){var e=this.source;if(!e)return"";if(void 0!==e.src){if(!e.complete)return"";if(0===e.naturalWidth||0===e.naturalHeight)return""}return t.createPattern(e,this.repeat)}})}(),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.toFixed;e.Shadow?e.warn("fabric.Shadow is already defined."):(e.Shadow=e.util.createClass({color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1,initialize:function(t){for(var i in"string"==typeof t&&(t=this._parseShadow(t)),t)this[i]=t[i];this.id=e.Object.__uid++},_parseShadow:function(t){var i=t.trim(),n=e.Shadow.reOffsetsAndBlur.exec(i)||[];return{color:(i.replace(e.Shadow.reOffsetsAndBlur,"")||"rgb(0,0,0)").trim(),offsetX:parseFloat(n[1],10)||0,offsetY:parseFloat(n[2],10)||0,blur:parseFloat(n[3],10)||0}},toString:function(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")},toSVG:function(t){var n=40,r=40,s=e.Object.NUM_FRACTION_DIGITS,o=e.util.rotateVector({x:this.offsetX,y:this.offsetY},e.util.degreesToRadians(-t.angle)),a=new e.Color(this.color);return t.width&&t.height&&(n=100*i((Math.abs(o.x)+this.blur)/t.width,s)+20,r=100*i((Math.abs(o.y)+this.blur)/t.height,s)+20),t.flipX&&(o.x*=-1),t.flipY&&(o.y*=-1),'\n\t\n\t\n\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n'},toObject:function(){if(this.includeDefaultValues)return{color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling};var t={},i=e.Shadow.prototype;return["color","blur","offsetX","offsetY","affectStroke","nonScaling"].forEach((function(e){this[e]!==i[e]&&(t[e]=this[e])}),this),t}}),e.Shadow.reOffsetsAndBlur=/(?:\s|^)(-?\d+(?:\.\d*)?(?:px)?(?:\s?|$))?(-?\d+(?:\.\d*)?(?:px)?(?:\s?|$))?(\d+(?:\.\d*)?(?:px)?)?(?:\s?|$)(?:$|\s)/)}(e),function(){"use strict";if(T.StaticCanvas)T.warn("fabric.StaticCanvas is already defined.");else{var t=T.util.object.extend,e=T.util.getElementOffset,i=T.util.removeFromArray,n=T.util.toFixed,r=T.util.transformPoint,s=T.util.invertTransform,o=T.util.getNodeCanvas,a=T.util.createCanvasElement,h=new Error("Could not initialize `canvas` element");T.StaticCanvas=T.util.createClass(T.CommonMethods,{initialize:function(t,e){e||(e={}),this.renderAndResetBound=this.renderAndReset.bind(this),this.requestRenderAllBound=this.requestRenderAll.bind(this),this._initStatic(t,e)},backgroundColor:"",backgroundImage:null,overlayColor:"",overlayImage:null,includeDefaultValues:!0,stateful:!1,renderOnAddRemove:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:T.iMatrix.concat(),backgroundVpt:!0,overlayVpt:!0,enableRetinaScaling:!0,vptCoords:{},skipOffscreen:!0,clipPath:void 0,_initStatic:function(t,e){var i=this.requestRenderAllBound;this._objects=[],this._createLowerCanvas(t),this._initOptions(e),this.interactive||this._initRetinaScaling(),e.overlayImage&&this.setOverlayImage(e.overlayImage,i),e.backgroundImage&&this.setBackgroundImage(e.backgroundImage,i),e.backgroundColor&&this.setBackgroundColor(e.backgroundColor,i),e.overlayColor&&this.setOverlayColor(e.overlayColor,i),this.calcOffset()},_isRetinaScaling:function(){return T.devicePixelRatio>1&&this.enableRetinaScaling},getRetinaScaling:function(){return this._isRetinaScaling()?Math.max(1,T.devicePixelRatio):1},_initRetinaScaling:function(){if(this._isRetinaScaling()){var t=T.devicePixelRatio;this.__initRetinaScaling(t,this.lowerCanvasEl,this.contextContainer),this.upperCanvasEl&&this.__initRetinaScaling(t,this.upperCanvasEl,this.contextTop)}},__initRetinaScaling:function(t,e,i){e.setAttribute("width",this.width*t),e.setAttribute("height",this.height*t),i.scale(t,t)},calcOffset:function(){return this._offset=e(this.lowerCanvasEl),this},setOverlayImage:function(t,e,i){return this.__setBgOverlayImage("overlayImage",t,e,i)},setBackgroundImage:function(t,e,i){return this.__setBgOverlayImage("backgroundImage",t,e,i)},setOverlayColor:function(t,e){return this.__setBgOverlayColor("overlayColor",t,e)},setBackgroundColor:function(t,e){return this.__setBgOverlayColor("backgroundColor",t,e)},__setBgOverlayImage:function(t,e,i,n){return"string"==typeof e?T.util.loadImage(e,(function(e,r){if(e){var s=new T.Image(e,n);this[t]=s,s.canvas=this}i&&i(e,r)}),this,n&&n.crossOrigin):(n&&e.setOptions(n),this[t]=e,e&&(e.canvas=this),i&&i(e,!1)),this},__setBgOverlayColor:function(t,e,i){return this[t]=e,this._initGradient(e,t),this._initPattern(e,t,i),this},_createCanvasElement:function(){var t=a();if(!t)throw h;if(t.style||(t.style={}),void 0===t.getContext)throw h;return t},_initOptions:function(t){var e=this.lowerCanvasEl;this._setOptions(t),this.width=this.width||parseInt(e.width,10)||0,this.height=this.height||parseInt(e.height,10)||0,this.lowerCanvasEl.style&&(e.width=this.width,e.height=this.height,e.style.width=this.width+"px",e.style.height=this.height+"px",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(t){t&&t.getContext?this.lowerCanvasEl=t:this.lowerCanvasEl=T.util.getById(t)||this._createCanvasElement(),T.util.addClass(this.lowerCanvasEl,"lower-canvas"),this._originalCanvasStyle=this.lowerCanvasEl.style,this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext("2d")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(t,e){return this.setDimensions({width:t},e)},setHeight:function(t,e){return this.setDimensions({height:t},e)},setDimensions:function(t,e){var i;for(var n in e=e||{},t)i=t[n],e.cssOnly||(this._setBackstoreDimension(n,t[n]),i+="px",this.hasLostContext=!0),e.backstoreOnly||this._setCssDimension(n,i);return this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop),this._initRetinaScaling(),this.calcOffset(),e.cssOnly||this.requestRenderAll(),this},_setBackstoreDimension:function(t,e){return this.lowerCanvasEl[t]=e,this.upperCanvasEl&&(this.upperCanvasEl[t]=e),this.cacheCanvasEl&&(this.cacheCanvasEl[t]=e),this[t]=e,this},_setCssDimension:function(t,e){return this.lowerCanvasEl.style[t]=e,this.upperCanvasEl&&(this.upperCanvasEl.style[t]=e),this.wrapperEl&&(this.wrapperEl.style[t]=e),this},getZoom:function(){return this.viewportTransform[0]},setViewportTransform:function(t){var e,i,n,r=this._activeObject,s=this.backgroundImage,o=this.overlayImage;for(this.viewportTransform=t,i=0,n=this._objects.length;i\n'),this._setSVGBgOverlayColor(i,"background"),this._setSVGBgOverlayImage(i,"backgroundImage",e),this._setSVGObjects(i,e),this.clipPath&&i.push("\n"),this._setSVGBgOverlayColor(i,"overlay"),this._setSVGBgOverlayImage(i,"overlayImage",e),i.push(""),i.join("")},_setSVGPreamble:function(t,e){e.suppressPreamble||t.push('\n','\n')},_setSVGHeader:function(t,e){var i,r=e.width||this.width,s=e.height||this.height,o='viewBox="0 0 '+this.width+" "+this.height+'" ',a=T.Object.NUM_FRACTION_DIGITS;e.viewBox?o='viewBox="'+e.viewBox.x+" "+e.viewBox.y+" "+e.viewBox.width+" "+e.viewBox.height+'" ':this.svgViewportTransformation&&(i=this.viewportTransform,o='viewBox="'+n(-i[4]/i[0],a)+" "+n(-i[5]/i[3],a)+" "+n(this.width/i[0],a)+" "+n(this.height/i[3],a)+'" '),t.push("\n',"Created with Fabric.js ",T.version,"\n","\n",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),"\n")},createSVGClipPathMarkup:function(t){var e=this.clipPath;return e?(e.clipPathId="CLIPPATH_"+T.Object.__uid++,'\n'+this.clipPath.toClipPathSVG(t.reviver)+"\n"):""},createSVGRefElementsMarkup:function(){var t=this;return["background","overlay"].map((function(e){var i=t[e+"Color"];if(i&&i.toLive){var n=t[e+"Vpt"],r=t.viewportTransform,s={width:t.width/(n?r[0]:1),height:t.height/(n?r[3]:1)};return i.toSVG(s,{additionalTransform:n?T.util.matrixToSVG(r):""})}})).join("")},createSVGFontFacesMarkup:function(){var t,e,i,n,r,s,o,a,h="",c={},l=T.fontPaths,u=[];for(this._objects.forEach((function t(e){u.push(e),e._objects&&e._objects.forEach(t)})),o=0,a=u.length;o',"\n",h,"","\n"].join("")),h},_setSVGObjects:function(t,e){var i,n,r,s=this._objects;for(n=0,r=s.length;n\n")}else t.push('\n")},sendToBack:function(t){if(!t)return this;var e,n,r,s=this._activeObject;if(t===s&&"activeSelection"===t.type)for(e=(r=s._objects).length;e--;)n=r[e],i(this._objects,n),this._objects.unshift(n);else i(this._objects,t),this._objects.unshift(t);return this.renderOnAddRemove&&this.requestRenderAll(),this},bringToFront:function(t){if(!t)return this;var e,n,r,s=this._activeObject;if(t===s&&"activeSelection"===t.type)for(r=s._objects,e=0;e0+c&&(o=s-1,i(this._objects,r),this._objects.splice(o,0,r)),c++;else 0!==(s=this._objects.indexOf(t))&&(o=this._findNewLowerIndex(t,s,e),i(this._objects,t),this._objects.splice(o,0,t));return this.renderOnAddRemove&&this.requestRenderAll(),this},_findNewLowerIndex:function(t,e,i){var n,r;if(i){for(n=e,r=e-1;r>=0;--r)if(t.intersectsWithObject(this._objects[r])||t.isContainedWithinObject(this._objects[r])||this._objects[r].isContainedWithinObject(t)){n=r;break}}else n=e-1;return n},bringForward:function(t,e){if(!t)return this;var n,r,s,o,a,h=this._activeObject,c=0;if(t===h&&"activeSelection"===t.type)for(n=(a=h._objects).length;n--;)r=a[n],(s=this._objects.indexOf(r))"}}),t(T.StaticCanvas.prototype,T.Observable),t(T.StaticCanvas.prototype,T.Collection),t(T.StaticCanvas.prototype,T.DataURLExporter),t(T.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',supports:function(t){var e=a();if(!e||!e.getContext)return null;var i=e.getContext("2d");return i&&"setLineDash"===t?void 0!==i.setLineDash:null}}),T.StaticCanvas.prototype.toJSON=T.StaticCanvas.prototype.toObject,T.isLikelyNode&&(T.StaticCanvas.prototype.createPNGStream=function(){var t=o(this.lowerCanvasEl);return t&&t.createPNGStream()},T.StaticCanvas.prototype.createJPEGStream=function(t){var e=o(this.lowerCanvasEl);return e&&e.createJPEGStream(t)})}}(),T.BaseBrush=T.util.createClass({color:"rgb(0, 0, 0)",width:1,shadow:null,strokeLineCap:"round",strokeLineJoin:"round",strokeMiterLimit:10,strokeDashArray:null,limitedToCanvasSize:!1,_setBrushStyles:function(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])},_saveAndTransform:function(t){var e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])},_setShadow:function(){if(this.shadow){var t=this.canvas,e=this.shadow,i=t.contextTop,n=t.getZoom();t&&t._isRetinaScaling()&&(n*=T.devicePixelRatio),i.shadowColor=e.color,i.shadowBlur=e.blur*n,i.shadowOffsetX=e.offsetX*n,i.shadowOffsetY=e.offsetY*n}},needsFullRender:function(){return new T.Color(this.color).getAlpha()<1||!!this.shadow},_resetShadow:function(){var t=this.canvas.contextTop;t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0},_isOutSideCanvas:function(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}),T.PencilBrush=T.util.createClass(T.BaseBrush,{decimate:.4,drawStraightLine:!1,straightLineKey:"shiftKey",initialize:function(t){this.canvas=t,this._points=[]},needsFullRender:function(){return this.callSuper("needsFullRender")||this._hasStraightLine},_drawSegment:function(t,e,i){var n=e.midPointFrom(i);return t.quadraticCurveTo(e.x,e.y,n.x,n.y),n},onMouseDown:function(t,e){this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],this._prepareForDrawing(t),this._captureDrawingPath(t),this._render())},onMouseMove:function(t,e){if(this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._captureDrawingPath(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{var i=this._points,n=i.length,r=this.canvas.contextTop;this._saveAndTransform(r),this.oldEnd&&(r.beginPath(),r.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=this._drawSegment(r,i[n-2],i[n-1],!0),r.stroke(),r.restore()}},onMouseUp:function(t){return!this.canvas._isMainEvent(t.e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)},_prepareForDrawing:function(t){var e=new T.Point(t.x,t.y);this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)},_addPoint:function(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1])||(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),0))},_reset:function(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1},_captureDrawingPath:function(t){var e=new T.Point(t.x,t.y);return this._addPoint(e)},_render:function(t){var e,i,n=this._points[0],r=this._points[1];if(t=t||this.canvas.contextTop,this._saveAndTransform(t),t.beginPath(),2===this._points.length&&n.x===r.x&&n.y===r.y){var s=this.width/1e3;n=new T.Point(n.x,n.y),r=new T.Point(r.x,r.y),n.x-=s,r.x+=s}for(t.moveTo(n.x,n.y),e=1,i=this._points.length;e=r&&(o=t[i],a.push(o));return a.push(t[s]),a},_finalizeAndAddPath:function(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));var t=this.convertPointsToSVGPath(this._points);if(this._isEmptySVGPath(t))this.canvas.requestRenderAll();else{var e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}}}),T.CircleBrush=T.util.createClass(T.BaseBrush,{width:10,initialize:function(t){this.canvas=t,this.points=[]},drawDot:function(t){var e=this.addPoint(t),i=this.canvas.contextTop;this._saveAndTransform(i),this.dot(i,e),i.restore()},dot:function(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()},onMouseDown:function(t){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)},_render:function(){var t,e,i=this.canvas.contextTop,n=this.points;for(this._saveAndTransform(i),t=0,e=n.length;t0&&!this.preserveObjectStacking){e=[],i=[];for(var r=0,s=this._objects.length;r1&&(this._activeObject._objects=i),e.push.apply(e,i)}else e=this._objects;return e},renderAll:function(){!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1);var t=this.contextContainer;return this.renderCanvas(t,this._chooseObjectsToRender()),this},renderTopLayer:function(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()},renderTop:function(){var t=this.contextTop;return this.clearContext(t),this.renderTopLayer(t),this.fire("after:render"),this},_normalizePointer:function(t,e){var i=t.calcTransformMatrix(),n=T.util.invertTransform(i),r=this.restorePointerVpt(e);return T.util.transformPoint(r,n)},isTargetTransparent:function(t,e,i){if(t.shouldCache()&&t._cacheCanvas&&t!==this._activeObject){var n=this._normalizePointer(t,{x:e,y:i}),r=Math.max(t.cacheTranslationX+n.x*t.zoomX,0),s=Math.max(t.cacheTranslationY+n.y*t.zoomY,0);return T.util.isTransparent(t._cacheContext,Math.round(r),Math.round(s),this.targetFindTolerance)}var o=this.contextCache,a=t.selectionBackgroundColor,h=this.viewportTransform;return t.selectionBackgroundColor="",this.clearContext(o),o.save(),o.transform(h[0],h[1],h[2],h[3],h[4],h[5]),t.render(o),o.restore(),t.selectionBackgroundColor=a,T.util.isTransparent(o,e,i,this.targetFindTolerance)},_isSelectionKeyPressed:function(t){return Array.isArray(this.selectionKey)?!!this.selectionKey.find((function(e){return!0===t[e]})):t[this.selectionKey]},_shouldClearSelection:function(t,e){var i=this.getActiveObjects(),n=this._activeObject;return!e||e&&n&&i.length>1&&-1===i.indexOf(e)&&n!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&n&&n!==e},_shouldCenterTransform:function(t,e,i){var n;if(t)return"scale"===e||"scaleX"===e||"scaleY"===e||"resizing"===e?n=this.centeredScaling||t.centeredScaling:"rotate"===e&&(n=this.centeredRotation||t.centeredRotation),n?!i:i},_getOriginFromCorner:function(t,e){var i={x:t.originX,y:t.originY};return"ml"===e||"tl"===e||"bl"===e?i.x="right":"mr"!==e&&"tr"!==e&&"br"!==e||(i.x="left"),"tl"===e||"mt"===e||"tr"===e?i.y="bottom":"bl"!==e&&"mb"!==e&&"br"!==e||(i.y="top"),i},_getActionFromCorner:function(t,e,i,n){if(!e||!t)return"drag";var r=n.controls[e];return r.getActionName(i,r,n)},_setupCurrentTransform:function(t,i,n){if(i){var r=this.getPointer(t),s=i.__corner,o=i.controls[s],a=n&&s?o.getActionHandler(t,i,o):T.controlsUtils.dragHandler,h=this._getActionFromCorner(n,s,t,i),c=this._getOriginFromCorner(i,s),l=t[this.centeredKey],u={target:i,action:h,actionHandler:a,corner:s,scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,offsetX:r.x-i.left,offsetY:r.y-i.top,originX:c.x,originY:c.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:e(i.angle),width:i.width*i.scaleX,shiftKey:t.shiftKey,altKey:l,original:T.util.saveObjectTransform(i)};this._shouldCenterTransform(i,h,l)&&(u.originX="center",u.originY="center"),u.original.originX=c.x,u.original.originY=c.y,this._currentTransform=u,this._beforeTransform(t)}},setCursor:function(t){this.upperCanvasEl.style.cursor=t},_drawSelection:function(t){var e=this._groupSelector,i=new T.Point(e.ex,e.ey),n=T.util.transformPoint(i,this.viewportTransform),r=new T.Point(e.ex+e.left,e.ey+e.top),s=T.util.transformPoint(r,this.viewportTransform),o=Math.min(n.x,s.x),a=Math.min(n.y,s.y),h=Math.max(n.x,s.x),c=Math.max(n.y,s.y),l=this.selectionLineWidth/2;this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(o,a,h-o,c-a)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,o+=l,a+=l,h-=l,c-=l,T.Object.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(o,a,h-o,c-a))},findTarget:function(t,e){if(!this.skipTargetFind){var n,r,s=this.getPointer(t,!0),o=this._activeObject,a=this.getActiveObjects(),h=i(t),c=a.length>1&&!e||1===a.length;if(this.targets=[],c&&o._findTargetCorner(s,h))return o;if(a.length>1&&!e&&o===this._searchPossibleTargets([o],s))return o;if(1===a.length&&o===this._searchPossibleTargets([o],s)){if(!this.preserveObjectStacking)return o;n=o,r=this.targets,this.targets=[]}var l=this._searchPossibleTargets(this._objects,s);return t[this.altSelectionKey]&&l&&n&&l!==n&&(l=n,this.targets=r),l}},_checkTarget:function(t,e,i){if(e&&e.visible&&e.evented&&e.containsPoint(t)){if(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing)return!0;if(!this.isTargetTransparent(e,i.x,i.y))return!0}},_searchPossibleTargets:function(t,e){for(var i,n,r=t.length;r--;){var s=t[r],o=s.group?this._normalizePointer(s.group,e):e;if(this._checkTarget(o,s,e)){(i=t[r]).subTargetCheck&&i instanceof T.Group&&(n=this._searchPossibleTargets(i._objects,e))&&this.targets.push(n);break}}return i},restorePointerVpt:function(t){return T.util.transformPoint(t,T.util.invertTransform(this.viewportTransform))},getPointer:function(e,i){if(this._absolutePointer&&!i)return this._absolutePointer;if(this._pointer&&i)return this._pointer;var n,r=t(e),s=this.upperCanvasEl,o=s.getBoundingClientRect(),a=o.width||0,h=o.height||0;a&&h||("top"in o&&"bottom"in o&&(h=Math.abs(o.top-o.bottom)),"right"in o&&"left"in o&&(a=Math.abs(o.right-o.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,i||(r=this.restorePointerVpt(r));var c=this.getRetinaScaling();return 1!==c&&(r.x/=c,r.y/=c),n=0===a||0===h?{width:1,height:1}:{width:s.width/a,height:s.height/h},{x:r.x*n.width,y:r.y*n.height}},_createUpperCanvas:function(){var t=this.lowerCanvasEl.className.replace(/\s*lower-canvas\s*/,""),e=this.lowerCanvasEl,i=this.upperCanvasEl;i?i.className="":(i=this._createCanvasElement(),this.upperCanvasEl=i),T.util.addClass(i,"upper-canvas "+t),this.wrapperEl.appendChild(i),this._copyCanvasStyle(e,i),this._applyCanvasStyle(i),this.contextTop=i.getContext("2d")},getTopContext:function(){return this.contextTop},_createCacheCanvas:function(){this.cacheCanvasEl=this._createCanvasElement(),this.cacheCanvasEl.setAttribute("width",this.width),this.cacheCanvasEl.setAttribute("height",this.height),this.contextCache=this.cacheCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=T.util.wrapElement(this.lowerCanvasEl,"div",{class:this.containerClass}),T.util.setStyle(this.wrapperEl,{width:this.width+"px",height:this.height+"px",position:"relative"}),T.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(t){var e=this.width||t.width,i=this.height||t.height;T.util.setStyle(t,{position:"absolute",width:e+"px",height:i+"px",left:0,top:0,"touch-action":this.allowTouchScrolling?"manipulation":"none","-ms-touch-action":this.allowTouchScrolling?"manipulation":"none"}),t.width=e,t.height=i,T.util.makeElementUnselectable(t)},_copyCanvasStyle:function(t,e){e.style.cssText=t.style.cssText},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},getActiveObject:function(){return this._activeObject},getActiveObjects:function(){var t=this._activeObject;return t?"activeSelection"===t.type&&t._objects?t._objects.slice(0):[t]:[]},_onObjectRemoved:function(t){t===this._activeObject&&(this.fire("before:selection:cleared",{target:t}),this._discardActiveObject(),this.fire("selection:cleared",{target:t}),t.fire("deselected")),t===this._hoveredTarget&&(this._hoveredTarget=null,this._hoveredTargets=[]),this.callSuper("_onObjectRemoved",t)},_fireSelectionEvents:function(t,e){var i=!1,n=this.getActiveObjects(),r=[],s=[];t.forEach((function(t){-1===n.indexOf(t)&&(i=!0,t.fire("deselected",{e,target:t}),s.push(t))})),n.forEach((function(n){-1===t.indexOf(n)&&(i=!0,n.fire("selected",{e,target:n}),r.push(n))})),t.length>0&&n.length>0?i&&this.fire("selection:updated",{e,selected:r,deselected:s}):n.length>0?this.fire("selection:created",{e,selected:r}):t.length>0&&this.fire("selection:cleared",{e,deselected:s})},setActiveObject:function(t,e){var i=this.getActiveObjects();return this._setActiveObject(t,e),this._fireSelectionEvents(i,e),this},_setActiveObject:function(t,e){return this._activeObject!==t&&!!this._discardActiveObject(e,t)&&!t.onSelect({e})&&(this._activeObject=t,!0)},_discardActiveObject:function(t,e){var i=this._activeObject;if(i){if(i.onDeselect({e:t,object:e}))return!1;this._activeObject=null}return!0},discardActiveObject:function(t){var e=this.getActiveObjects(),i=this.getActiveObject();return e.length&&this.fire("before:selection:cleared",{target:i,e:t}),this._discardActiveObject(t),this._fireSelectionEvents(e,t),this},dispose:function(){var t=this.wrapperEl;return this.removeListeners(),t.removeChild(this.upperCanvasEl),t.removeChild(this.lowerCanvasEl),this.contextCache=null,this.contextTop=null,["upperCanvasEl","cacheCanvasEl"].forEach(function(t){T.util.cleanUpJsdomNode(this[t]),this[t]=void 0}.bind(this)),t.parentNode&&t.parentNode.replaceChild(this.lowerCanvasEl,this.wrapperEl),delete this.wrapperEl,T.StaticCanvas.prototype.dispose.call(this),this},clear:function(){return this.discardActiveObject(),this.clearContext(this.contextTop),this.callSuper("clear")},drawControls:function(t){var e=this._activeObject;e&&e._renderControls(t)},_toObject:function(t,e,i){var n=this._realizeGroupTransformOnObject(t),r=this.callSuper("_toObject",t,e,i);return this._unwindGroupTransformOnObject(t,n),r},_realizeGroupTransformOnObject:function(t){if(t.group&&"activeSelection"===t.group.type&&this._activeObject===t.group){var e={};return["angle","flipX","flipY","left","scaleX","scaleY","skewX","skewY","top"].forEach((function(i){e[i]=t[i]})),T.util.addTransformToObject(t,this._activeObject.calcOwnMatrix()),e}return null},_unwindGroupTransformOnObject:function(t,e){e&&t.set(e)},_setSVGObject:function(t,e,i){var n=this._realizeGroupTransformOnObject(e);this.callSuper("_setSVGObject",t,e,i),this._unwindGroupTransformOnObject(e,n)},setViewportTransform:function(t){this.renderOnAddRemove&&this._activeObject&&this._activeObject.isEditing&&this._activeObject.clearContextTop(),T.StaticCanvas.prototype.setViewportTransform.call(this,t)}}),T.StaticCanvas)"prototype"!==n&&(T.Canvas[n]=T.StaticCanvas[n])}(),function(){var t=T.util.addListener,e=T.util.removeListener,i={passive:!1};function n(t,e){return t.button&&t.button===e-1}T.util.object.extend(T.Canvas.prototype,{mainTouchId:null,_initEventListeners:function(){this.removeListeners(),this._bindEvents(),this.addOrRemove(t,"add")},_getEventPrefix:function(){return this.enablePointerEvents?"pointer":"mouse"},addOrRemove:function(t,e){var n=this.upperCanvasEl,r=this._getEventPrefix();t(T.window,"resize",this._onResize),t(n,r+"down",this._onMouseDown),t(n,r+"move",this._onMouseMove,i),t(n,r+"out",this._onMouseOut),t(n,r+"enter",this._onMouseEnter),t(n,"wheel",this._onMouseWheel),t(n,"contextmenu",this._onContextMenu),t(n,"dblclick",this._onDoubleClick),t(n,"dragover",this._onDragOver),t(n,"dragenter",this._onDragEnter),t(n,"dragleave",this._onDragLeave),t(n,"drop",this._onDrop),this.enablePointerEvents||t(n,"touchstart",this._onTouchStart,i),"undefined"!=typeof eventjs&&e in eventjs&&(eventjs[e](n,"gesture",this._onGesture),eventjs[e](n,"drag",this._onDrag),eventjs[e](n,"orientation",this._onOrientationChange),eventjs[e](n,"shake",this._onShake),eventjs[e](n,"longpress",this._onLongPress))},removeListeners:function(){this.addOrRemove(e,"remove");var t=this._getEventPrefix();e(T.document,t+"up",this._onMouseUp),e(T.document,"touchend",this._onTouchEnd,i),e(T.document,t+"move",this._onMouseMove,i),e(T.document,"touchmove",this._onMouseMove,i)},_bindEvents:function(){this.eventsBound||(this._onMouseDown=this._onMouseDown.bind(this),this._onTouchStart=this._onTouchStart.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onResize=this._onResize.bind(this),this._onGesture=this._onGesture.bind(this),this._onDrag=this._onDrag.bind(this),this._onShake=this._onShake.bind(this),this._onLongPress=this._onLongPress.bind(this),this._onOrientationChange=this._onOrientationChange.bind(this),this._onMouseWheel=this._onMouseWheel.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onMouseEnter=this._onMouseEnter.bind(this),this._onContextMenu=this._onContextMenu.bind(this),this._onDoubleClick=this._onDoubleClick.bind(this),this._onDragOver=this._onDragOver.bind(this),this._onDragEnter=this._simpleEventHandler.bind(this,"dragenter"),this._onDragLeave=this._simpleEventHandler.bind(this,"dragleave"),this._onDrop=this._onDrop.bind(this),this.eventsBound=!0)},_onGesture:function(t,e){this.__onTransformGesture&&this.__onTransformGesture(t,e)},_onDrag:function(t,e){this.__onDrag&&this.__onDrag(t,e)},_onMouseWheel:function(t){this.__onMouseWheel(t)},_onMouseOut:function(t){var e=this._hoveredTarget;this.fire("mouse:out",{target:e,e:t}),this._hoveredTarget=null,e&&e.fire("mouseout",{e:t});var i=this;this._hoveredTargets.forEach((function(n){i.fire("mouse:out",{target:e,e:t}),n&&e.fire("mouseout",{e:t})})),this._hoveredTargets=[],this._iTextInstances&&this._iTextInstances.forEach((function(t){t.isEditing&&t.hiddenTextarea.focus()}))},_onMouseEnter:function(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",{target:null,e:t}),this._hoveredTarget=null,this._hoveredTargets=[])},_onOrientationChange:function(t,e){this.__onOrientationChange&&this.__onOrientationChange(t,e)},_onShake:function(t,e){this.__onShake&&this.__onShake(t,e)},_onLongPress:function(t,e){this.__onLongPress&&this.__onLongPress(t,e)},_onDragOver:function(t){t.preventDefault();var e=this._simpleEventHandler("dragover",t);this._fireEnterLeaveEvents(e,t)},_onDrop:function(t){return this._simpleEventHandler("drop:before",t),this._simpleEventHandler("drop",t)},_onContextMenu:function(t){return this.stopContextMenu&&(t.stopPropagation(),t.preventDefault()),!1},_onDoubleClick:function(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData(t)},getPointerId:function(t){var e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1},_isMainEvent:function(t){return!0===t.isPrimary||!1!==t.isPrimary&&("touchend"===t.type&&0===t.touches.length||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)},_onTouchStart:function(n){n.preventDefault(),null===this.mainTouchId&&(this.mainTouchId=this.getPointerId(n)),this.__onMouseDown(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();t(T.document,"touchend",this._onTouchEnd,i),t(T.document,"touchmove",this._onMouseMove,i),e(r,s+"down",this._onMouseDown)},_onMouseDown:function(n){this.__onMouseDown(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();e(r,s+"move",this._onMouseMove,i),t(T.document,s+"up",this._onMouseUp),t(T.document,s+"move",this._onMouseMove,i)},_onTouchEnd:function(n){if(!(n.touches.length>0)){this.__onMouseUp(n),this._resetTransformEventData(),this.mainTouchId=null;var r=this._getEventPrefix();e(T.document,"touchend",this._onTouchEnd,i),e(T.document,"touchmove",this._onMouseMove,i);var s=this;this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((function(){t(s.upperCanvasEl,r+"down",s._onMouseDown),s._willAddMouseDown=0}),400)}},_onMouseUp:function(n){this.__onMouseUp(n),this._resetTransformEventData();var r=this.upperCanvasEl,s=this._getEventPrefix();this._isMainEvent(n)&&(e(T.document,s+"up",this._onMouseUp),e(T.document,s+"move",this._onMouseMove,i),t(r,s+"move",this._onMouseMove,i))},_onMouseMove:function(t){!this.allowTouchScrolling&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)},_onResize:function(){this.calcOffset()},_shouldRender:function(t){var e=this._activeObject;return!!(!!e!=!!t||e&&t&&e!==t)||(e&&e.isEditing,!1)},__onMouseUp:function(t){var e,i=this._currentTransform,r=this._groupSelector,s=!1,o=!r||0===r.left&&0===r.top;if(this._cacheTransformEventData(t),e=this._target,this._handleEvent(t,"up:before"),n(t,3))this.fireRightClick&&this._handleEvent(t,"up",3,o);else{if(n(t,2))return this.fireMiddleClick&&this._handleEvent(t,"up",2,o),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)this._onMouseUpInDrawingMode(t);else if(this._isMainEvent(t)){if(i&&(this._finalizeCurrentTransform(t),s=i.actionPerformed),!o){var a=e===this._activeObject;this._maybeGroupObjects(t),s||(s=this._shouldRender(e)||!a&&e===this._activeObject)}var h,c;if(e){if(h=e._findTargetCorner(this.getPointer(t,!0),T.util.isTouchEvent(t)),e.selectable&&e!==this._activeObject&&"up"===e.activeOn)this.setActiveObject(e,t),s=!0;else{var l=e.controls[h],u=l&&l.getMouseUpHandler(t,e,l);u&&u(t,i,(c=this.getPointer(t)).x,c.y)}e.isMoving=!1}if(i&&(i.target!==e||i.corner!==h)){var f=i.target&&i.target.controls[i.corner],d=f&&f.getMouseUpHandler(t,e,l);c=c||this.getPointer(t),d&&d(t,i,c.x,c.y)}this._setCursorFromEvent(t,e),this._handleEvent(t,"up",1,o),this._groupSelector=null,this._currentTransform=null,e&&(e.__corner=0),s?this.requestRenderAll():o||this.renderTop()}}},_simpleEventHandler:function(t,e){var i=this.findTarget(e),n=this.targets,r={e,target:i,subTargets:n};if(this.fire(t,r),i&&i.fire(t,r),!n)return i;for(var s=0;s1&&(e=new T.ActiveSelection(i.reverse(),{canvas:this}),this.setActiveObject(e,t))},_collectObjects:function(t){for(var e,i=[],n=this._groupSelector.ex,r=this._groupSelector.ey,s=n+this._groupSelector.left,o=r+this._groupSelector.top,a=new T.Point(v(n,s),v(r,o)),h=new T.Point(y(n,s),y(r,o)),c=!this.selectionFullyContained,l=n===s&&r===o,u=this._objects.length;u--&&!((e=this._objects[u])&&e.selectable&&e.visible&&(c&&e.intersectsWithRect(a,h,!0)||e.isContainedWithinRect(a,h,!0)||c&&e.containsPoint(a,null,!0)||c&&e.containsPoint(h,null,!0))&&(i.push(e),l)););return i.length>1&&(i=i.filter((function(e){return!e.onSelect({e:t})}))),i},_maybeGroupObjects:function(t){this.selection&&this._groupSelector&&this._groupSelectedObjects(t),this.setCursor(this.defaultCursor),this._groupSelector=null}}),T.util.object.extend(T.StaticCanvas.prototype,{toDataURL:function(t){t||(t={});var e=t.format||"png",i=t.quality||1,n=(t.multiplier||1)*(t.enableRetinaScaling?this.getRetinaScaling():1),r=this.toCanvasElement(n,t);return T.util.toDataURL(r,e,i)},toCanvasElement:function(t,e){t=t||1;var i=((e=e||{}).width||this.width)*t,n=(e.height||this.height)*t,r=this.getZoom(),s=this.width,o=this.height,a=r*t,h=this.viewportTransform,c=(h[4]-(e.left||0))*t,l=(h[5]-(e.top||0))*t,u=this.interactive,f=[a,0,0,a,c,l],d=this.enableRetinaScaling,p=T.util.createCanvasElement(),g=this.contextTop;return p.width=i,p.height=n,this.contextTop=null,this.enableRetinaScaling=!1,this.interactive=!1,this.viewportTransform=f,this.width=i,this.height=n,this.calcViewportBoundaries(),this.renderCanvas(p.getContext("2d"),this._objects),this.viewportTransform=h,this.width=s,this.height=o,this.calcViewportBoundaries(),this.interactive=u,this.enableRetinaScaling=d,this.contextTop=g,p}}),T.util.object.extend(T.StaticCanvas.prototype,{loadFromJSON:function(t,e,i){if(t){var n="string"==typeof t?JSON.parse(t):T.util.object.clone(t),r=this,s=n.clipPath,o=this.renderOnAddRemove;return this.renderOnAddRemove=!1,delete n.clipPath,this._enlivenObjects(n.objects,(function(t){r.clear(),r._setBgOverlay(n,(function(){s?r._enlivenObjects([s],(function(i){r.clipPath=i[0],r.__setupCanvas.call(r,n,t,o,e)})):r.__setupCanvas.call(r,n,t,o,e)}))}),i),this}},__setupCanvas:function(t,e,i,n){var r=this;e.forEach((function(t,e){r.insertAt(t,e)})),this.renderOnAddRemove=i,delete t.objects,delete t.backgroundImage,delete t.overlayImage,delete t.background,delete t.overlay,this._setOptions(t),this.renderAll(),n&&n()},_setBgOverlay:function(t,e){var i={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(t.backgroundImage||t.overlayImage||t.background||t.overlay){var n=function(){i.backgroundImage&&i.overlayImage&&i.backgroundColor&&i.overlayColor&&e&&e()};this.__setBgOverlay("backgroundImage",t.backgroundImage,i,n),this.__setBgOverlay("overlayImage",t.overlayImage,i,n),this.__setBgOverlay("backgroundColor",t.background,i,n),this.__setBgOverlay("overlayColor",t.overlay,i,n)}else e&&e()},__setBgOverlay:function(t,e,i,n){var r=this;if(!e)return i[t]=!0,void(n&&n());"backgroundImage"===t||"overlayImage"===t?T.util.enlivenObjects([e],(function(e){r[t]=e[0],i[t]=!0,n&&n()})):this["set"+T.util.string.capitalize(t,!0)](e,(function(){i[t]=!0,n&&n()}))},_enlivenObjects:function(t,e,i){t&&0!==t.length?T.util.enlivenObjects(t,(function(t){e&&e(t)}),null,i):e&&e([])},_toDataURL:function(t,e){this.clone((function(i){e(i.toDataURL(t))}))},_toDataURLWithMultiplier:function(t,e,i){this.clone((function(n){i(n.toDataURLWithMultiplier(t,e))}))},clone:function(t,e){var i=JSON.stringify(this.toJSON(e));this.cloneWithoutData((function(e){e.loadFromJSON(i,(function(){t&&t(e)}))}))},cloneWithoutData:function(t){var e=T.util.createCanvasElement();e.width=this.width,e.height=this.height;var i=new T.Canvas(e);this.backgroundImage?(i.setBackgroundImage(this.backgroundImage.src,(function(){i.renderAll(),t&&t(i)})),i.backgroundImageOpacity=this.backgroundImageOpacity,i.backgroundImageStretch=this.backgroundImageStretch):t&&t(i)}}),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.object.clone,r=e.util.toFixed,s=e.util.string.capitalize,o=e.util.degreesToRadians,a=!e.isLikelyNode;e.Object||(e.Object=e.util.createClass(e.CommonMethods,{type:"object",originX:"left",originY:"top",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,skewX:0,skewY:0,cornerSize:13,touchCornerSize:24,transparentCorners:!0,hoverCursor:null,moveCursor:null,padding:0,borderColor:"rgb(178,204,255)",borderDashArray:null,cornerColor:"rgb(178,204,255)",cornerStrokeColor:null,cornerStyle:"rect",cornerDashArray:null,centeredScaling:!1,centeredRotation:!0,fill:"rgb(0,0,0)",fillRule:"nonzero",globalCompositeOperation:"source-over",backgroundColor:"",selectionBackgroundColor:"",stroke:null,strokeWidth:1,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,minScaleLimit:0,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,perPixelTargetFind:!1,includeDefaultValues:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,excludeFromExport:!1,objectCaching:a,statefullCache:!1,noScaleCache:!0,strokeUniform:!1,dirty:!0,__corner:0,paintFirst:"fill",activeOn:"down",stateProperties:"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit angle opacity fill globalCompositeOperation shadow visible backgroundColor skewX skewY fillRule paintFirst clipPath strokeUniform".split(" "),cacheProperties:"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath".split(" "),colorProperties:"fill stroke backgroundColor".split(" "),clipPath:void 0,inverted:!1,absolutePositioned:!1,initialize:function(t){t&&this.setOptions(t)},_createCacheCanvas:function(){this._cacheProperties={},this._cacheCanvas=e.util.createCanvasElement(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0},_limitCacheSize:function(t){var i=e.perfLimitSizeTotal,n=t.width,r=t.height,s=e.maxCacheSideLimit,o=e.minCacheSideLimit;if(n<=s&&r<=s&&n*r<=i)return nl&&(t.zoomX/=n/l,t.width=l,t.capped=!0),r>u&&(t.zoomY/=r/u,t.height=u,t.capped=!0),t},_getCacheCanvasDimensions:function(){var t=this.getTotalObjectScaling(),e=this._getTransformedDimensions(0,0),i=e.x*t.scaleX/this.scaleX,n=e.y*t.scaleY/this.scaleY;return{width:i+2,height:n+2,zoomX:t.scaleX,zoomY:t.scaleY,x:i,y:n}},_updateCacheCanvas:function(){var t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){var i=t._currentTransform.target,n=t._currentTransform.action;if(this===i&&n.slice&&"scale"===n.slice(0,5))return!1}var r,s,o=this._cacheCanvas,a=this._limitCacheSize(this._getCacheCanvasDimensions()),h=e.minCacheSideLimit,c=a.width,l=a.height,u=a.zoomX,f=a.zoomY,d=c!==this.cacheWidth||l!==this.cacheHeight,p=this.zoomX!==u||this.zoomY!==f,g=d||p,m=0,v=0,y=!1;if(d){var b=this._cacheCanvas.width,_=this._cacheCanvas.height,x=c>b||l>_;y=x||(c<.9*b||l<.9*_)&&b>h&&_>h,x&&!a.capped&&(c>h||l>h)&&(m=.1*c,v=.1*l)}return this instanceof e.Text&&this.path&&(g=!0,y=!0,m+=this.getHeightOfLine(0)*this.zoomX,v+=this.getHeightOfLine(0)*this.zoomY),!!g&&(y?(o.width=Math.ceil(c+m),o.height=Math.ceil(l+v)):(this._cacheContext.setTransform(1,0,0,1,0,0),this._cacheContext.clearRect(0,0,o.width,o.height)),r=a.x/2,s=a.y/2,this.cacheTranslationX=Math.round(o.width/2-r)+r,this.cacheTranslationY=Math.round(o.height/2-s)+s,this.cacheWidth=c,this.cacheHeight=l,this._cacheContext.translate(this.cacheTranslationX,this.cacheTranslationY),this._cacheContext.scale(u,f),this.zoomX=u,this.zoomY=f,!0)},setOptions:function(t){this._setOptions(t),this._initGradient(t.fill,"fill"),this._initGradient(t.stroke,"stroke"),this._initPattern(t.fill,"fill"),this._initPattern(t.stroke,"stroke")},transform:function(t){var e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},toObject:function(t){var i=e.Object.NUM_FRACTION_DIGITS,n={type:this.type,version:e.version,originX:this.originX,originY:this.originY,left:r(this.left,i),top:r(this.top,i),width:r(this.width,i),height:r(this.height,i),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:r(this.strokeWidth,i),strokeDashArray:this.strokeDashArray?this.strokeDashArray.concat():this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeDashOffset:this.strokeDashOffset,strokeLineJoin:this.strokeLineJoin,strokeUniform:this.strokeUniform,strokeMiterLimit:r(this.strokeMiterLimit,i),scaleX:r(this.scaleX,i),scaleY:r(this.scaleY,i),angle:r(this.angle,i),flipX:this.flipX,flipY:this.flipY,opacity:r(this.opacity,i),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,backgroundColor:this.backgroundColor,fillRule:this.fillRule,paintFirst:this.paintFirst,globalCompositeOperation:this.globalCompositeOperation,skewX:r(this.skewX,i),skewY:r(this.skewY,i)};return this.clipPath&&!this.clipPath.excludeFromExport&&(n.clipPath=this.clipPath.toObject(t),n.clipPath.inverted=this.clipPath.inverted,n.clipPath.absolutePositioned=this.clipPath.absolutePositioned),e.util.populateWithProperties(this,n,t),this.includeDefaultValues||(n=this._removeDefaultValues(n)),n},toDatalessObject:function(t){return this.toObject(t)},_removeDefaultValues:function(t){var i=e.util.getKlass(t.type).prototype;return i.stateProperties.forEach((function(e){"left"!==e&&"top"!==e&&(t[e]===i[e]&&delete t[e],Array.isArray(t[e])&&Array.isArray(i[e])&&0===t[e].length&&0===i[e].length&&delete t[e])})),t},toString:function(){return"#"},getObjectScaling:function(){if(!this.group)return{scaleX:this.scaleX,scaleY:this.scaleY};var t=e.util.qrDecompose(this.calcTransformMatrix());return{scaleX:Math.abs(t.scaleX),scaleY:Math.abs(t.scaleY)}},getTotalObjectScaling:function(){var t=this.getObjectScaling(),e=t.scaleX,i=t.scaleY;if(this.canvas){var n=this.canvas.getZoom(),r=this.canvas.getRetinaScaling();e*=n*r,i*=n*r}return{scaleX:e,scaleY:i}},getObjectOpacity:function(){var t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t},_set:function(t,i){var n="scaleX"===t||"scaleY"===t,r=this[t]!==i,s=!1;return n&&(i=this._constrainScale(i)),"scaleX"===t&&i<0?(this.flipX=!this.flipX,i*=-1):"scaleY"===t&&i<0?(this.flipY=!this.flipY,i*=-1):"shadow"!==t||!i||i instanceof e.Shadow?"dirty"===t&&this.group&&this.group.set("dirty",i):i=new e.Shadow(i),this[t]=i,r&&(s=this.group&&this.group.isOnACache(),this.cacheProperties.indexOf(t)>-1?(this.dirty=!0,s&&this.group.set("dirty",!0)):s&&this.stateProperties.indexOf(t)>-1&&this.group.set("dirty",!0)),this},setOnGroup:function(){},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:e.iMatrix.concat()},isNotVisible:function(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible},render:function(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t,this),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.dirty=!1,this.drawObject(t),this.objectCaching&&this.statefullCache&&this.saveState({propertySet:"cacheProperties"})),t.restore())},renderCache:function(t){t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&(this.statefullCache&&this.saveState({propertySet:"cacheProperties"}),this.drawObject(this._cacheContext,t.forClipping),this.dirty=!1)},_removeCacheCanvas:function(){this._cacheCanvas=null,this._cacheContext=null,this.cacheWidth=0,this.cacheHeight=0},hasStroke:function(){return this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth},hasFill:function(){return this.fill&&"transparent"!==this.fill},needsItsOwnCache:function(){return!("stroke"!==this.paintFirst||!this.hasFill()||!this.hasStroke()||"object"!=typeof this.shadow)||!!this.clipPath},shouldCache:function(){return this.ownCaching=this.needsItsOwnCache()||this.objectCaching&&(!this.group||!this.group.isOnACache()),this.ownCaching},willDrawShadow:function(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)},drawClipPathOnCache:function(t,i){if(t.save(),i.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",i.absolutePositioned){var n=e.util.invertTransform(this.calcTransformMatrix());t.transform(n[0],n[1],n[2],n[3],n[4],n[5])}i.transform(t),t.scale(1/i.zoomX,1/i.zoomY),t.drawImage(i._cacheCanvas,-i.cacheTranslationX,-i.cacheTranslationY),t.restore()},drawObject:function(t,e){var i=this.fill,n=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath),this.fill=i,this.stroke=n},_drawClipPath:function(t,e){e&&(e.canvas=this.canvas,e.shouldCache(),e._transformDone=!0,e.renderCache({forClipping:!0}),this.drawClipPathOnCache(t,e))},drawCacheOnCanvas:function(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)},isCacheDirty:function(t){if(this.isNotVisible())return!1;if(this._cacheCanvas&&this._cacheContext&&!t&&this._updateCacheCanvas())return!0;if(this.dirty||this.clipPath&&this.clipPath.absolutePositioned||this.statefullCache&&this.hasStateChanged("cacheProperties")){if(this._cacheCanvas&&this._cacheContext&&!t){var e=this.cacheWidth/this.zoomX,i=this.cacheHeight/this.zoomY;this._cacheContext.clearRect(-e/2,-i/2,e,i)}return!0}return!1},_renderBackground:function(t){if(this.backgroundColor){var e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}},_setOpacity:function(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity},_setStrokeStyles:function(t,e){var i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,i.toLive?"percentage"===i.gradientUnits||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)},_setFillStyles:function(t,e){var i=e.fill;i&&(i.toLive?(t.fillStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,e.fill)):t.fillStyle=i)},_setClippingProperties:function(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"},_setLineDash:function(t,e){e&&0!==e.length&&(1&e.length&&e.push.apply(e,e),t.setLineDash(e))},_renderControls:function(t,i){var n,r,s,a=this.getViewportTransform(),h=this.calcTransformMatrix();r=void 0!==(i=i||{}).hasBorders?i.hasBorders:this.hasBorders,s=void 0!==i.hasControls?i.hasControls:this.hasControls,h=e.util.multiplyTransformMatrices(a,h),n=e.util.qrDecompose(h),t.save(),t.translate(n.translateX,n.translateY),t.lineWidth=1*this.borderScaleFactor,this.group||(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(n.angle-=180),t.rotate(o(this.group?n.angle:this.angle)),i.forActiveSelection||this.group?r&&this.drawBordersInGroup(t,n,i):r&&this.drawBorders(t,i),s&&this.drawControls(t,i),t.restore()},_setShadow:function(t){if(this.shadow){var i,n=this.shadow,r=this.canvas,s=r&&r.viewportTransform[0]||1,o=r&&r.viewportTransform[3]||1;i=n.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),r&&r._isRetinaScaling()&&(s*=e.devicePixelRatio,o*=e.devicePixelRatio),t.shadowColor=n.color,t.shadowBlur=n.blur*e.browserShadowBlurConstant*(s+o)*(i.scaleX+i.scaleY)/4,t.shadowOffsetX=n.offsetX*s*i.scaleX,t.shadowOffsetY=n.offsetY*o*i.scaleY}},_removeShadow:function(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)},_applyPatternGradientTransform:function(t,e){if(!e||!e.toLive)return{offsetX:0,offsetY:0};var i=e.gradientTransform||e.patternTransform,n=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?t.transform(this.width,0,0,this.height,n,r):t.transform(1,0,0,1,n,r),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:n,offsetY:r}},_renderPaintInOrder:function(t){"stroke"===this.paintFirst?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))},_render:function(){},_renderFill:function(t){this.fill&&(t.save(),this._setFillStyles(t,this),"evenodd"===this.fillRule?t.fill("evenodd"):t.fill(),t.restore())},_renderStroke:function(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform&&this.group){var e=this.getObjectScaling();t.scale(1/e.scaleX,1/e.scaleY)}else this.strokeUniform&&t.scale(1/this.scaleX,1/this.scaleY);this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}},_applyPatternForTransformedGradient:function(t,i){var n,r=this._limitCacheSize(this._getCacheCanvasDimensions()),s=e.util.createCanvasElement(),o=this.canvas.getRetinaScaling(),a=r.x/this.scaleX/o,h=r.y/this.scaleY/o;s.width=a,s.height=h,(n=s.getContext("2d")).beginPath(),n.moveTo(0,0),n.lineTo(a,0),n.lineTo(a,h),n.lineTo(0,h),n.closePath(),n.translate(a/2,h/2),n.scale(r.zoomX/this.scaleX/o,r.zoomY/this.scaleY/o),this._applyPatternGradientTransform(n,i),n.fillStyle=i.toLive(t),n.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(o*this.scaleX/r.zoomX,o*this.scaleY/r.zoomY),t.strokeStyle=n.createPattern(s,"no-repeat")},_findCenterFromElement:function(){return{x:this.left+this.width/2,y:this.top+this.height/2}},_assignTransformMatrixProps:function(){if(this.transformMatrix){var t=e.util.qrDecompose(this.transformMatrix);this.flipX=!1,this.flipY=!1,this.set("scaleX",t.scaleX),this.set("scaleY",t.scaleY),this.angle=t.angle,this.skewX=t.skewX,this.skewY=0}},_removeTransformMatrix:function(t){var i=this._findCenterFromElement();this.transformMatrix&&(this._assignTransformMatrixProps(),i=e.util.transformPoint(i,this.transformMatrix)),this.transformMatrix=null,t&&(this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this.cropX=t.cropX,this.cropY=t.cropY,i.x+=t.offsetLeft,i.y+=t.offsetTop,this.width=t.width,this.height=t.height),this.setPositionByOrigin(i,"center","center")},clone:function(t,i){var n=this.toObject(i);this.constructor.fromObject?this.constructor.fromObject(n,t):e.Object._fromObject("Object",n,t)},cloneAsImage:function(t,i){var n=this.toCanvasElement(i);return t&&t(new e.Image(n)),this},toCanvasElement:function(t){t||(t={});var i=e.util,n=i.saveObjectTransform(this),r=this.group,s=this.shadow,o=Math.abs,a=(t.multiplier||1)*(t.enableRetinaScaling?e.devicePixelRatio:1);delete this.group,t.withoutTransform&&i.resetObjectTransform(this),t.withoutShadow&&(this.shadow=null);var h,c,l,u,f=e.util.createCanvasElement(),d=this.getBoundingRect(!0,!0),p=this.shadow,g={x:0,y:0};p&&(c=p.blur,h=p.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),g.x=2*Math.round(o(p.offsetX)+c)*o(h.scaleX),g.y=2*Math.round(o(p.offsetY)+c)*o(h.scaleY)),l=d.width+g.x,u=d.height+g.y,f.width=Math.ceil(l),f.height=Math.ceil(u);var m=new e.StaticCanvas(f,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1});"jpeg"===t.format&&(m.backgroundColor="#fff"),this.setPositionByOrigin(new e.Point(m.width/2,m.height/2),"center","center");var v=this.canvas;m.add(this);var y=m.toCanvasElement(a||1,t);return this.shadow=s,this.set("canvas",v),r&&(this.group=r),this.set(n).setCoords(),m._objects=[],m.dispose(),m=null,y},toDataURL:function(t){return t||(t={}),e.util.toDataURL(this.toCanvasElement(t),t.format||"png",t.quality||1)},isType:function(t){return arguments.length>1?Array.from(arguments).includes(this.type):this.type===t},complexity:function(){return 1},toJSON:function(t){return this.toObject(t)},rotate:function(t){var e=("center"!==this.originX||"center"!==this.originY)&&this.centeredRotation;return e&&this._setOriginToCenter(),this.set("angle",t),e&&this._resetOrigin(),this},centerH:function(){return this.canvas&&this.canvas.centerObjectH(this),this},viewportCenterH:function(){return this.canvas&&this.canvas.viewportCenterObjectH(this),this},centerV:function(){return this.canvas&&this.canvas.centerObjectV(this),this},viewportCenterV:function(){return this.canvas&&this.canvas.viewportCenterObjectV(this),this},center:function(){return this.canvas&&this.canvas.centerObject(this),this},viewportCenter:function(){return this.canvas&&this.canvas.viewportCenterObject(this),this},getLocalPointer:function(t,i){i=i||this.canvas.getPointer(t);var n=new e.Point(i.x,i.y),r=this._getLeftTopCoords();return this.angle&&(n=e.util.rotatePoint(n,r,o(-this.angle))),{x:n.x-r.x,y:n.y-r.y}},_setupCompositeOperation:function(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)},dispose:function(){e.runningAnimations&&e.runningAnimations.cancelByTarget(this)}}),e.util.createAccessors&&e.util.createAccessors(e.Object),i(e.Object.prototype,e.Observable),e.Object.NUM_FRACTION_DIGITS=2,e.Object.ENLIVEN_PROPS=["clipPath"],e.Object._fromObject=function(t,i,r,s){var o=e[t];i=n(i,!0),e.util.enlivenPatterns([i.fill,i.stroke],(function(t){void 0!==t[0]&&(i.fill=t[0]),void 0!==t[1]&&(i.stroke=t[1]),e.util.enlivenObjectEnlivables(i,i,(function(){var t=s?new o(i[s],i):new o(i);r&&r(t)}))}))},e.Object.__uid=0)}(e),b=T.util.degreesToRadians,_={left:-.5,center:0,right:.5},x={top:-.5,center:0,bottom:.5},T.util.object.extend(T.Object.prototype,{translateToGivenOrigin:function(t,e,i,n,r){var s,o,a,h=t.x,c=t.y;return"string"==typeof e?e=_[e]:e-=.5,"string"==typeof n?n=_[n]:n-=.5,"string"==typeof i?i=x[i]:i-=.5,"string"==typeof r?r=x[r]:r-=.5,o=r-i,((s=n-e)||o)&&(a=this._getTransformedDimensions(),h=t.x+s*a.x,c=t.y+o*a.y),new T.Point(h,c)},translateToCenterPoint:function(t,e,i){var n=this.translateToGivenOrigin(t,e,i,"center","center");return this.angle?T.util.rotatePoint(n,t,b(this.angle)):n},translateToOriginPoint:function(t,e,i){var n=this.translateToGivenOrigin(t,"center","center",e,i);return this.angle?T.util.rotatePoint(n,t,b(this.angle)):n},getCenterPoint:function(){var t=new T.Point(this.left,this.top);return this.translateToCenterPoint(t,this.originX,this.originY)},getPointByOrigin:function(t,e){var i=this.getCenterPoint();return this.translateToOriginPoint(i,t,e)},toLocalPoint:function(t,e,i){var n,r,s=this.getCenterPoint();return n=void 0!==e&&void 0!==i?this.translateToGivenOrigin(s,"center","center",e,i):new T.Point(this.left,this.top),r=new T.Point(t.x,t.y),this.angle&&(r=T.util.rotatePoint(r,s,-b(this.angle))),r.subtractEquals(n)},setPositionByOrigin:function(t,e,i){var n=this.translateToCenterPoint(t,e,i),r=this.translateToOriginPoint(n,this.originX,this.originY);this.set("left",r.x),this.set("top",r.y)},adjustPosition:function(t){var e,i,n=b(this.angle),r=this.getScaledWidth(),s=T.util.cos(n)*r,o=T.util.sin(n)*r;e="string"==typeof this.originX?_[this.originX]:this.originX-.5,i="string"==typeof t?_[t]:t-.5,this.left+=s*(i-e),this.top+=o*(i-e),this.setCoords(),this.originX=t},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var t=this.getCenterPoint();this.originX="center",this.originY="center",this.left=t.x,this.top=t.y},_resetOrigin:function(){var t=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=t.x,this.top=t.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),"left","top")}}),function(){var t=T.util,e=t.degreesToRadians,i=t.multiplyTransformMatrices,n=t.transformPoint;t.object.extend(T.Object.prototype,{oCoords:null,aCoords:null,lineCoords:null,ownMatrixCache:null,matrixCache:null,controls:{},_getCoords:function(t,e){return e?t?this.calcACoords():this.calcLineCoords():(this.aCoords&&this.lineCoords||this.setCoords(!0),t?this.aCoords:this.lineCoords)},getCoords:function(t,e){return i=this._getCoords(t,e),[new T.Point(i.tl.x,i.tl.y),new T.Point(i.tr.x,i.tr.y),new T.Point(i.br.x,i.br.y),new T.Point(i.bl.x,i.bl.y)];var i},intersectsWithRect:function(t,e,i,n){var r=this.getCoords(i,n);return"Intersection"===T.Intersection.intersectPolygonRectangle(r,t,e).status},intersectsWithObject:function(t,e,i){return"Intersection"===T.Intersection.intersectPolygonPolygon(this.getCoords(e,i),t.getCoords(e,i)).status||t.isContainedWithinObject(this,e,i)||this.isContainedWithinObject(t,e,i)},isContainedWithinObject:function(t,e,i){for(var n=this.getCoords(e,i),r=e?t.aCoords:t.lineCoords,s=0,o=t._getImageLines(r);s<4;s++)if(!t.containsPoint(n[s],o))return!1;return!0},isContainedWithinRect:function(t,e,i,n){var r=this.getBoundingRect(i,n);return r.left>=t.x&&r.left+r.width<=e.x&&r.top>=t.y&&r.top+r.height<=e.y},containsPoint:function(t,e,i,n){var r=this._getCoords(i,n),s=(e=e||this._getImageLines(r),this._findCrossPoints(t,e));return 0!==s&&s%2==1},isOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.getCoords(!0,t).some((function(t){return t.x<=i.x&&t.x>=e.x&&t.y<=i.y&&t.y>=e.y}))||!!this.intersectsWithRect(e,i,!0,t)||this._containsCenterOfCanvas(e,i,t)},_containsCenterOfCanvas:function(t,e,i){var n={x:(t.x+e.x)/2,y:(t.y+e.y)/2};return!!this.containsPoint(n,null,!0,i)},isPartiallyOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.intersectsWithRect(e,i,!0,t)||this.getCoords(!0,t).every((function(t){return(t.x>=i.x||t.x<=e.x)&&(t.y>=i.y||t.y<=e.y)}))&&this._containsCenterOfCanvas(e,i,t)},_getImageLines:function(t){return{topline:{o:t.tl,d:t.tr},rightline:{o:t.tr,d:t.br},bottomline:{o:t.br,d:t.bl},leftline:{o:t.bl,d:t.tl}}},_findCrossPoints:function(t,e){var i,n,r,s=0;for(var o in e)if(!((r=e[o]).o.y=t.y&&r.d.y>=t.y||(r.o.x===r.d.x&&r.o.x>=t.x?n=r.o.x:(i=(r.d.y-r.o.y)/(r.d.x-r.o.x),n=-(t.y-0*t.x-(r.o.y-i*r.o.x))/(0-i)),n>=t.x&&(s+=1),2!==s)))break;return s},getBoundingRect:function(e,i){var n=this.getCoords(e,i);return t.makeBoundingBoxFromPoints(n)},getScaledWidth:function(){return this._getTransformedDimensions().x},getScaledHeight:function(){return this._getTransformedDimensions().y},_constrainScale:function(t){return Math.abs(t)\n')}},toSVG:function(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})},toClipPathSVG:function(t){return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})},_createBaseClipPathSVGMarkup:function(t,e){var i=(e=e||{}).reviver,n=e.additionalTransform||"",r=[this.getSvgTransform(!0,n),this.getSvgCommons()].join(""),s=t.indexOf("COMMON_PARTS");return t[s]=r,i?i(t.join("")):t.join("")},_createBaseSVGMarkup:function(t,e){var i,n,r=(e=e||{}).noStyle,s=e.reviver,o=r?"":'style="'+this.getSvgStyles()+'" ',a=e.withShadow?'style="'+this.getSvgFilter()+'" ':"",h=this.clipPath,c=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",l=h&&h.absolutePositioned,u=this.stroke,f=this.fill,d=this.shadow,p=[],g=t.indexOf("COMMON_PARTS"),m=e.additionalTransform;return h&&(h.clipPathId="CLIPPATH_"+T.Object.__uid++,n='\n'+h.toClipPathSVG(s)+"\n"),l&&p.push("\n"),p.push("\n"),i=[o,c,r?"":this.addPaintOrder()," ",m?'transform="'+m+'" ':""].join(""),t[g]=i,f&&f.toLive&&p.push(f.toSVG(this)),u&&u.toLive&&p.push(u.toSVG(this)),d&&p.push(d.toSVG(this)),h&&p.push(n),p.push(t.join("")),p.push("\n"),l&&p.push("\n"),s?s(p.join("")):p.join("")},addPaintOrder:function(){return"fill"!==this.paintFirst?' paint-order="'+this.paintFirst+'" ':""}})}(),function(){var t=T.util.object.extend,e="stateProperties";function i(e,i,n){var r={};n.forEach((function(t){r[t]=e[t]})),t(e[i],r,!0)}function n(t,e,i){if(t===e)return!0;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0,s=t.length;r=0;h--)if(r=a[h],this.isControlVisible(r)&&(n=this._getImageLines(e?this.oCoords[r].touchCorner:this.oCoords[r].corner),0!==(i=this._findCrossPoints({x:s,y:o},n))&&i%2==1))return this.__corner=r,r;return!1},forEachControl:function(t){for(var e in this.controls)t(this.controls[e],e,this)},_setCornerCoords:function(){var t=this.oCoords;for(var e in t){var i=this.controls[e];t[e].corner=i.calcCornerCoords(this.angle,this.cornerSize,t[e].x,t[e].y,!1),t[e].touchCorner=i.calcCornerCoords(this.angle,this.touchCornerSize,t[e].x,t[e].y,!0)}},drawSelectionBackground:function(e){if(!this.selectionBackgroundColor||this.canvas&&!this.canvas.interactive||this.canvas&&this.canvas._activeObject!==this)return this;e.save();var i=this.getCenterPoint(),n=this._calculateCurrentDimensions(),r=this.canvas.viewportTransform;return e.translate(i.x,i.y),e.scale(1/r[0],1/r[3]),e.rotate(t(this.angle)),e.fillStyle=this.selectionBackgroundColor,e.fillRect(-n.x/2,-n.y/2,n.x,n.y),e.restore(),this},drawBorders:function(t,e){e=e||{};var i=this._calculateCurrentDimensions(),n=this.borderScaleFactor,r=i.x+n,s=i.y+n,o=void 0!==e.hasControls?e.hasControls:this.hasControls,a=!1;return t.save(),t.strokeStyle=e.borderColor||this.borderColor,this._setLineDash(t,e.borderDashArray||this.borderDashArray),t.strokeRect(-r/2,-s/2,r,s),o&&(t.beginPath(),this.forEachControl((function(e,i,n){e.withConnection&&e.getVisibility(n,i)&&(a=!0,t.moveTo(e.x*r,e.y*s),t.lineTo(e.x*r+e.offsetX,e.y*s+e.offsetY))})),a&&t.stroke()),t.restore(),this},drawBordersInGroup:function(t,e,i){i=i||{};var n=T.util.sizeAfterTransform(this.width,this.height,e),r=this.strokeWidth,s=this.strokeUniform,o=this.borderScaleFactor,a=n.x+r*(s?this.canvas.getZoom():e.scaleX)+o,h=n.y+r*(s?this.canvas.getZoom():e.scaleY)+o;return t.save(),this._setLineDash(t,i.borderDashArray||this.borderDashArray),t.strokeStyle=i.borderColor||this.borderColor,t.strokeRect(-a/2,-h/2,a,h),t.restore(),this},drawControls:function(t,e){e=e||{},t.save();var i,n,r=this.canvas.getRetinaScaling();return t.setTransform(r,0,0,r,0,0),t.strokeStyle=t.fillStyle=e.cornerColor||this.cornerColor,this.transparentCorners||(t.strokeStyle=e.cornerStrokeColor||this.cornerStrokeColor),this._setLineDash(t,e.cornerDashArray||this.cornerDashArray),this.setCoords(),this.group&&(i=this.group.calcTransformMatrix()),this.forEachControl((function(r,s,o){n=o.oCoords[s],r.getVisibility(o,s)&&(i&&(n=T.util.transformPoint(n,i)),r.render(t,n.x,n.y,e,o))})),t.restore(),this},isControlVisible:function(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)},setControlVisible:function(t,e){return this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e,this},setControlsVisibility:function(t){for(var e in t||(t={}),t)this.setControlVisible(e,t[e]);return this},onDeselect:function(){},onSelect:function(){}})}(),T.util.object.extend(T.StaticCanvas.prototype,{FX_DURATION:500,fxCenterObjectH:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return T.util.animate({target:this,startValue:t.left,endValue:this.getCenterPoint().x,duration:this.FX_DURATION,onChange:function(e){t.set("left",e),s.requestRenderAll(),r()},onComplete:function(){t.setCoords(),n()}})},fxCenterObjectV:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return T.util.animate({target:this,startValue:t.top,endValue:this.getCenterPoint().y,duration:this.FX_DURATION,onChange:function(e){t.set("top",e),s.requestRenderAll(),r()},onComplete:function(){t.setCoords(),n()}})},fxRemove:function(t,e){var i=function(){},n=(e=e||{}).onComplete||i,r=e.onChange||i,s=this;return T.util.animate({target:this,startValue:t.opacity,endValue:0,duration:this.FX_DURATION,onChange:function(e){t.set("opacity",e),s.requestRenderAll(),r()},onComplete:function(){s.remove(t),n()}})}}),T.util.object.extend(T.Object.prototype,{animate:function(){if(arguments[0]&&"object"==typeof arguments[0]){var t,e,i=[],n=[];for(t in arguments[0])i.push(t);for(var r=0,s=i.length;r-1||r&&s.colorProperties.indexOf(r[1])>-1,a=r?this.get(r[0])[r[1]]:this.get(t);"from"in i||(i.from=a),o||(e=~e.indexOf("=")?a+parseFloat(e.replace("=","")):parseFloat(e));var h={target:this,startValue:i.from,endValue:e,byValue:i.by,easing:i.easing,duration:i.duration,abort:i.abort&&function(t,e,n){return i.abort.call(s,t,e,n)},onChange:function(e,o,a){r?s[r[0]][r[1]]=e:s.set(t,e),n||i.onChange&&i.onChange(e,o,a)},onComplete:function(t,e,r){n||(s.setCoords(),i.onComplete&&i.onComplete(t,e,r))}};return o?T.util.animateColor(h.startValue,h.endValue,h.duration,h):T.util.animate(h)}}),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.object.clone,r={x1:1,x2:1,y1:1,y2:1};function s(t,e){var i=t.origin,n=t.axis1,r=t.axis2,s=t.dimension,o=e.nearest,a=e.center,h=e.farthest;return function(){switch(this.get(i)){case o:return Math.min(this.get(n),this.get(r));case a:return Math.min(this.get(n),this.get(r))+.5*this.get(s);case h:return Math.max(this.get(n),this.get(r))}}}e.Line?e.warn("fabric.Line is already defined"):(e.Line=e.util.createClass(e.Object,{type:"line",x1:0,y1:0,x2:0,y2:0,cacheProperties:e.Object.prototype.cacheProperties.concat("x1","x2","y1","y2"),initialize:function(t,e){t||(t=[0,0,0,0]),this.callSuper("initialize",e),this.set("x1",t[0]),this.set("y1",t[1]),this.set("x2",t[2]),this.set("y2",t[3]),this._setWidthHeight(e)},_setWidthHeight:function(t){t||(t={}),this.width=Math.abs(this.x2-this.x1),this.height=Math.abs(this.y2-this.y1),this.left="left"in t?t.left:this._getLeftToOriginX(),this.top="top"in t?t.top:this._getTopToOriginY()},_set:function(t,e){return this.callSuper("_set",t,e),void 0!==r[t]&&this._setWidthHeight(),this},_getLeftToOriginX:s({origin:"originX",axis1:"x1",axis2:"x2",dimension:"width"},{nearest:"left",center:"center",farthest:"right"}),_getTopToOriginY:s({origin:"originY",axis1:"y1",axis2:"y2",dimension:"height"},{nearest:"top",center:"center",farthest:"bottom"}),_render:function(t){t.beginPath();var e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;var i=t.strokeStyle;t.strokeStyle=this.stroke||t.fillStyle,this.stroke&&this._renderStroke(t),t.strokeStyle=i},_findCenterFromElement:function(){return{x:(this.x1+this.x2)/2,y:(this.y1+this.y2)/2}},toObject:function(t){return i(this.callSuper("toObject",t),this.calcLinePoints())},_getNonTransformedDimensions:function(){var t=this.callSuper("_getNonTransformedDimensions");return"butt"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t},calcLinePoints:function(){var t=this.x1<=this.x2?-1:1,e=this.y1<=this.y2?-1:1,i=t*this.width*.5,n=e*this.height*.5;return{x1:i,x2:t*this.width*-.5,y1:n,y2:e*this.height*-.5}},_toSVG:function(){var t=this.calcLinePoints();return["\n']}}),e.Line.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("x1 y1 x2 y2".split(" ")),e.Line.fromElement=function(t,n,r){r=r||{};var s=e.parseAttributes(t,e.Line.ATTRIBUTE_NAMES),o=[s.x1||0,s.y1||0,s.x2||0,s.y2||0];n(new e.Line(o,i(s,r)))},e.Line.fromObject=function(t,i){var r=n(t,!0);r.points=[t.x1,t.y1,t.x2,t.y2],e.Object._fromObject("Line",r,(function(t){delete t.points,i&&i(t)}),"points")})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.degreesToRadians;e.Circle?e.warn("fabric.Circle is already defined."):(e.Circle=e.util.createClass(e.Object,{type:"circle",radius:0,startAngle:0,endAngle:360,cacheProperties:e.Object.prototype.cacheProperties.concat("radius","startAngle","endAngle"),_set:function(t,e){return this.callSuper("_set",t,e),"radius"===t&&this.setRadius(e),this},toObject:function(t){return this.callSuper("toObject",["radius","startAngle","endAngle"].concat(t))},_toSVG:function(){var t,n=(this.endAngle-this.startAngle)%360;if(0===n)t=["\n'];else{var r=i(this.startAngle),s=i(this.endAngle),o=this.radius;t=['180?"1":"0")+" 1"," "+e.util.cos(s)*o+" "+e.util.sin(s)*o,'" ',"COMMON_PARTS"," />\n"]}return t},_render:function(t){t.beginPath(),t.arc(0,0,this.radius,i(this.startAngle),i(this.endAngle),!1),this._renderPaintInOrder(t)},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(t){return this.radius=t,this.set("width",2*t).set("height",2*t)}}),e.Circle.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("cx cy r".split(" ")),e.Circle.fromElement=function(t,i){var n,r=e.parseAttributes(t,e.Circle.ATTRIBUTE_NAMES);if(!("radius"in(n=r)&&n.radius>=0))throw new Error("value of `r` attribute is required and can not be negative");r.left=(r.left||0)-r.radius,r.top=(r.top||0)-r.radius,i(new e.Circle(r))},e.Circle.fromObject=function(t,i){e.Object._fromObject("Circle",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});e.Triangle?e.warn("fabric.Triangle is already defined"):(e.Triangle=e.util.createClass(e.Object,{type:"triangle",width:100,height:100,_render:function(t){var e=this.width/2,i=this.height/2;t.beginPath(),t.moveTo(-e,i),t.lineTo(0,-i),t.lineTo(e,i),t.closePath(),this._renderPaintInOrder(t)},_toSVG:function(){var t=this.width/2,e=this.height/2;return["']}}),e.Triangle.fromObject=function(t,i){return e.Object._fromObject("Triangle",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=2*Math.PI;e.Ellipse?e.warn("fabric.Ellipse is already defined."):(e.Ellipse=e.util.createClass(e.Object,{type:"ellipse",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this.set("rx",t&&t.rx||0),this.set("ry",t&&t.ry||0)},_set:function(t,e){switch(this.callSuper("_set",t,e),t){case"rx":this.rx=e,this.set("width",2*e);break;case"ry":this.ry=e,this.set("height",2*e)}return this},getRx:function(){return this.get("rx")*this.get("scaleX")},getRy:function(){return this.get("ry")*this.get("scaleY")},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))},_toSVG:function(){return["\n']},_render:function(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,i,!1),t.restore(),this._renderPaintInOrder(t)}}),e.Ellipse.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("cx cy rx ry".split(" ")),e.Ellipse.fromElement=function(t,i){var n=e.parseAttributes(t,e.Ellipse.ATTRIBUTE_NAMES);n.left=(n.left||0)-n.rx,n.top=(n.top||0)-n.ry,i(new e.Ellipse(n))},e.Ellipse.fromObject=function(t,i){e.Object._fromObject("Ellipse",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Rect?e.warn("fabric.Rect is already defined"):(e.Rect=e.util.createClass(e.Object,{stateProperties:e.Object.prototype.stateProperties.concat("rx","ry"),type:"rect",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(t){var e=this.rx?Math.min(this.rx,this.width/2):0,i=this.ry?Math.min(this.ry,this.height/2):0,n=this.width,r=this.height,s=-this.width/2,o=-this.height/2,a=0!==e||0!==i,h=.4477152502;t.beginPath(),t.moveTo(s+e,o),t.lineTo(s+n-e,o),a&&t.bezierCurveTo(s+n-h*e,o,s+n,o+h*i,s+n,o+i),t.lineTo(s+n,o+r-i),a&&t.bezierCurveTo(s+n,o+r-h*i,s+n-h*e,o+r,s+n-e,o+r),t.lineTo(s+e,o+r),a&&t.bezierCurveTo(s+h*e,o+r,s,o+r-h*i,s,o+r-i),t.lineTo(s,o+i),a&&t.bezierCurveTo(s,o+h*i,s+h*e,o,s+e,o),t.closePath(),this._renderPaintInOrder(t)},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))},_toSVG:function(){return["\n']}}),e.Rect.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat("x y rx ry width height".split(" ")),e.Rect.fromElement=function(t,n,r){if(!t)return n(null);r=r||{};var s=e.parseAttributes(t,e.Rect.ATTRIBUTE_NAMES);s.left=s.left||0,s.top=s.top||0,s.height=s.height||0,s.width=s.width||0;var o=new e.Rect(i(r?e.util.object.clone(r):{},s));o.visible=o.visible&&o.width>0&&o.height>0,n(o)},e.Rect.fromObject=function(t,i){return e.Object._fromObject("Rect",t,i)})}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,n=e.util.array.min,r=e.util.array.max,s=e.util.toFixed,o=e.util.projectStrokeOnPoints;e.Polyline?e.warn("fabric.Polyline is already defined"):(e.Polyline=e.util.createClass(e.Object,{type:"polyline",points:null,exactBoundingBox:!1,cacheProperties:e.Object.prototype.cacheProperties.concat("points"),initialize:function(t,e){e=e||{},this.points=t||[],this.callSuper("initialize",e),this._setPositionDimensions(e)},_projectStrokeOnPoints:function(){return o(this.points,this,!0)},_setPositionDimensions:function(t){var e,i=this._calcDimensions(t),n=this.exactBoundingBox?this.strokeWidth:0;this.width=i.width-n,this.height=i.height-n,t.fromSVG||(e=this.translateToGivenOrigin({x:i.left-this.strokeWidth/2+n/2,y:i.top-this.strokeWidth/2+n/2},"left","top",this.originX,this.originY)),void 0===t.left&&(this.left=t.fromSVG?i.left:e.x),void 0===t.top&&(this.top=t.fromSVG?i.top:e.y),this.pathOffset={x:i.left+this.width/2+n/2,y:i.top+this.height/2+n/2}},_calcDimensions:function(){var t=this.exactBoundingBox?this._projectStrokeOnPoints():this.points,e=n(t,"x")||0,i=n(t,"y")||0;return{left:e,top:i,width:(r(t,"x")||0)-e,height:(r(t,"y")||0)-i}},toObject:function(t){return i(this.callSuper("toObject",t),{points:this.points.concat()})},_toSVG:function(){for(var t=[],i=this.pathOffset.x,n=this.pathOffset.y,r=e.Object.NUM_FRACTION_DIGITS,o=0,a=this.points.length;o\n']},commonRender:function(t){var e,i=this.points.length,n=this.pathOffset.x,r=this.pathOffset.y;if(!i||isNaN(this.points[i-1].y))return!1;t.beginPath(),t.moveTo(this.points[0].x-n,this.points[0].y-r);for(var s=0;s"},toObject:function(t){return r(this.callSuper("toObject",t),{path:this.path.map((function(t){return t.slice()}))})},toDatalessObject:function(t){var e=this.toObject(["sourcePath"].concat(t));return e.sourcePath&&delete e.path,e},_toSVG:function(){return["\n"]},_getOffsetTransform:function(){var t=e.Object.NUM_FRACTION_DIGITS;return" translate("+o(-this.pathOffset.x,t)+", "+o(-this.pathOffset.y,t)+")"},toClipPathSVG:function(t){var e=this._getOffsetTransform();return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})},toSVG:function(t){var e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})},complexity:function(){return this.path.length},_calcDimensions:function(){for(var t,r,s=[],o=[],a=0,h=0,c=0,l=0,u=0,f=this.path.length;u"},addWithUpdate:function(t){var i=!!this.group;return this._restoreObjectsState(),e.util.resetObjectTransform(this),t&&(i&&e.util.removeTransformFromObject(t,this.group.calcTransformMatrix()),this._objects.push(t),t.group=this,t._set("canvas",this.canvas)),this._calcBounds(),this._updateObjectsCoords(),this.dirty=!0,i?this.group.addWithUpdate():this.setCoords(),this},removeWithUpdate:function(t){return this._restoreObjectsState(),e.util.resetObjectTransform(this),this.remove(t),this._calcBounds(),this._updateObjectsCoords(),this.setCoords(),this.dirty=!0,this},_onObjectAdded:function(t){this.dirty=!0,t.group=this,t._set("canvas",this.canvas)},_onObjectRemoved:function(t){this.dirty=!0,delete t.group},_set:function(t,i){var n=this._objects.length;if(this.useSetOnGroup)for(;n--;)this._objects[n].setOnGroup(t,i);if("canvas"===t)for(;n--;)this._objects[n]._set(t,i);e.Object.prototype._set.call(this,t,i)},toObject:function(t){var i=this.includeDefaultValues,n=this._objects.filter((function(t){return!t.excludeFromExport})).map((function(e){var n=e.includeDefaultValues;e.includeDefaultValues=i;var r=e.toObject(t);return e.includeDefaultValues=n,r})),r=e.Object.prototype.toObject.call(this,t);return r.objects=n,r},toDatalessObject:function(t){var i,n=this.sourcePath;if(n)i=n;else{var r=this.includeDefaultValues;i=this._objects.map((function(e){var i=e.includeDefaultValues;e.includeDefaultValues=r;var n=e.toDatalessObject(t);return e.includeDefaultValues=i,n}))}var s=e.Object.prototype.toDatalessObject.call(this,t);return s.objects=i,s},render:function(t){this._transformDone=!0,this.callSuper("render",t),this._transformDone=!1},shouldCache:function(){var t=e.Object.prototype.shouldCache.call(this);if(t)for(var i=0,n=this._objects.length;i\n"],i=0,n=this._objects.length;i\n"),e},getSvgStyles:function(){var t=void 0!==this.opacity&&1!==this.opacity?"opacity: "+this.opacity+";":"",e=this.visible?"":" visibility: hidden;";return[t,this.getSvgFilter(),e].join("")},toClipPathSVG:function(t){for(var e=[],i=0,n=this._objects.length;i"},shouldCache:function(){return!1},isOnACache:function(){return!1},_renderControls:function(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,this.callSuper("_renderControls",t,e),void 0===(i=i||{}).hasControls&&(i.hasControls=!1),i.forActiveSelection=!0;for(var n=0,r=this._objects.length;n\n','\t\n',"\n"),o=' clip-path="url(#imageCrop_'+h+')" '}if(this.imageSmoothing||(a='" image-rendering="optimizeSpeed'),i.push("\t\n"),this.stroke||this.strokeDashArray){var c=this.fill;this.fill=null,t=["\t\n'],this.fill=c}return"fill"!==this.paintFirst?e.concat(t,i):e.concat(i,t)},getSrc:function(t){var e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute("src"):e.src:this.src||""},setSrc:function(t,e,i){return T.util.loadImage(t,(function(t,n){this.setElement(t,i),this._setWidthHeight(),e&&e(this,n)}),this,i&&i.crossOrigin),this},toString:function(){return'#'},applyResizeFilters:function(){var t=this.resizeFilter,e=this.minimumScaleTrigger,i=this.getTotalObjectScaling(),n=i.scaleX,r=i.scaleY,s=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!t||n>e&&r>e)return this._element=s,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=n,void(this._lastScaleY=r);T.filterBackend||(T.filterBackend=T.initFilterBackend());var o=T.util.createCanvasElement(),a=this._filteredEl?this.cacheKey+"_filtered":this.cacheKey,h=s.width,c=s.height;o.width=h,o.height=c,this._element=o,this._lastScaleX=t.scaleX=n,this._lastScaleY=t.scaleY=r,T.filterBackend.applyFilters([t],s,h,c,this._element,a),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height},applyFilters:function(t){if(t=(t=t||this.filters||[]).filter((function(t){return t&&!t.isNeutralState()})),this.set("dirty",!0),this.removeTexture(this.cacheKey+"_filtered"),0===t.length)return this._element=this._originalElement,this._filteredEl=null,this._filterScalingX=1,this._filterScalingY=1,this;var e=this._originalElement,i=e.naturalWidth||e.width,n=e.naturalHeight||e.height;if(this._element===this._originalElement){var r=T.util.createCanvasElement();r.width=i,r.height=n,this._element=r,this._filteredEl=r}else this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,i,n),this._lastScaleX=1,this._lastScaleY=1;return T.filterBackend||(T.filterBackend=T.initFilterBackend()),T.filterBackend.applyFilters(t,this._originalElement,i,n,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height),this},_render:function(t){T.util.setImageSmoothing(t,this.imageSmoothing),!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)},drawCacheOnCanvas:function(t){T.util.setImageSmoothing(t,this.imageSmoothing),T.Object.prototype.drawCacheOnCanvas.call(this,t)},shouldCache:function(){return this.needsItsOwnCache()},_renderFill:function(t){var e=this._element;if(e){var i=this._filterScalingX,n=this._filterScalingY,r=this.width,s=this.height,o=Math.min,a=Math.max,h=a(this.cropX,0),c=a(this.cropY,0),l=e.naturalWidth||e.width,u=e.naturalHeight||e.height,f=h*i,d=c*n,p=o(r*i,l-f),g=o(s*n,u-d),m=-r/2,v=-s/2,y=o(r,l/i-h),b=o(s,u/n-c);e&&t.drawImage(e,f,d,p,g,m,v,y,b)}},_needsResize:function(){var t=this.getTotalObjectScaling();return t.scaleX!==this._lastScaleX||t.scaleY!==this._lastScaleY},_resetWidthHeight:function(){this.set(this.getOriginalSize())},_initElement:function(t,e){this.setElement(T.util.getById(t),e),T.util.addClass(this.getElement(),T.Image.CSS_CANVAS)},_initConfig:function(t){t||(t={}),this.setOptions(t),this._setWidthHeight(t)},_initFilters:function(t,e){t&&t.length?T.util.enlivenObjects(t,(function(t){e&&e(t)}),"fabric.Image.filters"):e&&e()},_setWidthHeight:function(t){t||(t={});var e=this.getElement();this.width=t.width||e.naturalWidth||e.width||0,this.height=t.height||e.naturalHeight||e.height||0},parsePreserveAspectRatioAttribute:function(){var t,e=T.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio||""),i=this._element.width,n=this._element.height,r=1,s=1,o=0,a=0,h=0,c=0,l=this.width,u=this.height,f={width:l,height:u};return!e||"none"===e.alignX&&"none"===e.alignY?(r=l/i,s=u/n):("meet"===e.meetOrSlice&&(t=(l-i*(r=s=T.util.findScaleToFit(this._element,f)))/2,"Min"===e.alignX&&(o=-t),"Max"===e.alignX&&(o=t),t=(u-n*s)/2,"Min"===e.alignY&&(a=-t),"Max"===e.alignY&&(a=t)),"slice"===e.meetOrSlice&&(t=i-l/(r=s=T.util.findScaleToCover(this._element,f)),"Mid"===e.alignX&&(h=t/2),"Max"===e.alignX&&(h=t),t=n-u/s,"Mid"===e.alignY&&(c=t/2),"Max"===e.alignY&&(c=t),i=l/r,n=u/s)),{width:i,height:n,scaleX:r,scaleY:s,offsetLeft:o,offsetTop:a,cropX:h,cropY:c}}}),T.Image.CSS_CANVAS="canvas-img",T.Image.prototype.getSvgSrc=T.Image.prototype.getSrc,T.Image.fromObject=function(t,e){var i=T.util.object.clone(t);T.util.loadImage(i.src,(function(t,n){n?e&&e(null,!0):T.Image.prototype._initFilters.call(i,i.filters,(function(n){i.filters=n||[],T.Image.prototype._initFilters.call(i,[i.resizeFilter],(function(n){i.resizeFilter=n[0],T.util.enlivenObjectEnlivables(i,i,(function(){var n=new T.Image(t,i);e(n,!1)}))}))}))}),null,i.crossOrigin)},T.Image.fromURL=function(t,e,i){T.util.loadImage(t,(function(t,n){e&&e(new T.Image(t,i),n)}),null,i&&i.crossOrigin)},T.Image.ATTRIBUTE_NAMES=T.SHARED_ATTRIBUTES.concat("x y width height preserveAspectRatio xlink:href crossOrigin image-rendering".split(" ")),T.Image.fromElement=function(t,i,n){var r=T.parseAttributes(t,T.Image.ATTRIBUTE_NAMES);T.Image.fromURL(r["xlink:href"],i,e(n?T.util.object.clone(n):{},r))})}(e),T.util.object.extend(T.Object.prototype,{_getAngleValueForStraighten:function(){var t=this.angle%360;return t>0?90*Math.round((t-1)/90):90*Math.round(t/90)},straighten:function(){return this.rotate(this._getAngleValueForStraighten())},fxStraighten:function(t){var e=function(){},i=(t=t||{}).onComplete||e,n=t.onChange||e,r=this;return T.util.animate({target:this,startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(t){r.rotate(t),n()},onComplete:function(){r.setCoords(),i()}})}}),T.util.object.extend(T.StaticCanvas.prototype,{straightenObject:function(t){return t.straighten(),this.requestRenderAll(),this},fxStraightenObject:function(t){return t.fxStraighten({onChange:this.requestRenderAllBound})}}),function(){"use strict";function t(t,e){var i="precision "+e+" float;\nvoid main(){}",n=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(n,i),t.compileShader(n),!!t.getShaderParameter(n,t.COMPILE_STATUS)}function e(t){t&&t.tileSize&&(this.tileSize=t.tileSize),this.setupGLContext(this.tileSize,this.tileSize),this.captureGPUInfo()}T.isWebglSupported=function(e){if(T.isLikelyNode)return!1;e=e||T.WebglFilterBackend.prototype.tileSize;var i=document.createElement("canvas"),n=i.getContext("webgl")||i.getContext("experimental-webgl"),r=!1;if(n){T.maxTextureSize=n.getParameter(n.MAX_TEXTURE_SIZE),r=T.maxTextureSize>=e;for(var s=["highp","mediump","lowp"],o=0;o<3;o++)if(t(n,s[o])){T.webGlPrecision=s[o];break}}return this.isSupported=r,r},T.WebglFilterBackend=e,e.prototype={tileSize:2048,resources:{},setupGLContext:function(t,e){this.dispose(),this.createWebGLCanvas(t,e),this.aPosition=new Float32Array([0,0,0,1,1,0,1,1]),this.chooseFastestCopyGLTo2DMethod(t,e)},chooseFastestCopyGLTo2DMethod:function(t,e){var i,n=void 0!==window.performance;try{new ImageData(1,1),i=!0}catch(t){i=!1}var r="undefined"!=typeof ArrayBuffer,s="undefined"!=typeof Uint8ClampedArray;if(n&&i&&r&&s){var o=T.util.createCanvasElement(),a=new ArrayBuffer(t*e*4);if(T.forceGLPutImageData)return this.imageBuffer=a,void(this.copyGLTo2D=P);var h,c,l={imageBuffer:a,destinationWidth:t,destinationHeight:e,targetCanvas:o};o.width=t,o.height=e,h=window.performance.now(),O.call(l,this.gl,l),c=window.performance.now()-h,h=window.performance.now(),P.call(l,this.gl,l),c>window.performance.now()-h?(this.imageBuffer=a,this.copyGLTo2D=P):this.copyGLTo2D=O}},createWebGLCanvas:function(t,e){var i=T.util.createCanvasElement();i.width=t,i.height=e;var n={alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1},r=i.getContext("webgl",n);r||(r=i.getContext("experimental-webgl",n)),r&&(r.clearColor(0,0,0,0),this.canvas=i,this.gl=r)},applyFilters:function(t,e,i,n,r,s){var o,a=this.gl;s&&(o=this.getCachedTexture(s,e));var h={originalWidth:e.width||e.originalWidth,originalHeight:e.height||e.originalHeight,sourceWidth:i,sourceHeight:n,destinationWidth:i,destinationHeight:n,context:a,sourceTexture:this.createTexture(a,i,n,!o&&e),targetTexture:this.createTexture(a,i,n),originalTexture:o||this.createTexture(a,i,n,!o&&e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},c=a.createFramebuffer();return a.bindFramebuffer(a.FRAMEBUFFER,c),t.forEach((function(t){t&&t.applyTo(h)})),function(t){var e=t.targetCanvas,i=e.width,n=e.height,r=t.destinationWidth,s=t.destinationHeight;i===r&&n===s||(e.width=r,e.height=s)}(h),this.copyGLTo2D(a,h),a.bindTexture(a.TEXTURE_2D,null),a.deleteTexture(h.sourceTexture),a.deleteTexture(h.targetTexture),a.deleteFramebuffer(c),r.getContext("2d").setTransform(1,0,0,1,0,0),h},dispose:function(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()},clearWebGLCaches:function(){this.programCache={},this.textureCache={}},createTexture:function(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),n?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r},getCachedTexture:function(t,e){if(this.textureCache[t])return this.textureCache[t];var i=this.createTexture(this.gl,e.width,e.height,e);return this.textureCache[t]=i,i},evictCachesForKey:function(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])},copyGLTo2D:O,captureGPUInfo:function(){if(this.gpuInfo)return this.gpuInfo;var t=this.gl,e={renderer:"",vendor:""};if(!t)return e;var i=t.getExtension("WEBGL_debug_renderer_info");if(i){var n=t.getParameter(i.UNMASKED_RENDERER_WEBGL),r=t.getParameter(i.UNMASKED_VENDOR_WEBGL);n&&(e.renderer=n.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}}(),function(){"use strict";var t=function(){};function e(){}T.Canvas2dFilterBackend=e,e.prototype={evictCachesForKey:t,dispose:t,clearWebGLCaches:t,resources:{},applyFilters:function(t,e,i,n,r){var s=r.getContext("2d");s.drawImage(e,0,0,i,n);var o={sourceWidth:i,sourceHeight:n,imageData:s.getImageData(0,0,i,n),originalEl:e,originalImageData:s.getImageData(0,0,i,n),canvasEl:r,ctx:s,filterBackend:this};return t.forEach((function(t){t.applyTo(o)})),o.imageData.width===i&&o.imageData.height===n||(r.width=o.imageData.width,r.height=o.imageData.height),s.putImageData(o.imageData,0,0),o}}}(),T.Image=T.Image||{},T.Image.filters=T.Image.filters||{},T.Image.filters.BaseFilter=T.util.createClass({type:"BaseFilter",vertexSource:"attribute vec2 aPosition;\nvarying vec2 vTexCoord;\nvoid main() {\nvTexCoord = aPosition;\ngl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n}",fragmentSource:"precision highp float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture;\nvoid main() {\ngl_FragColor = texture2D(uTexture, vTexCoord);\n}",initialize:function(t){t&&this.setOptions(t)},setOptions:function(t){for(var e in t)this[e]=t[e]},createProgram:function(t,e,i){e=e||this.fragmentSource,i=i||this.vertexSource,"highp"!==T.webGlPrecision&&(e=e.replace(/precision highp float/g,"precision "+T.webGlPrecision+" float"));var n=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(n,i),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error("Vertex shader compile error for "+this.type+": "+t.getShaderInfoLog(n));var r=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new Error("Fragment shader compile error for "+this.type+": "+t.getShaderInfoLog(r));var s=t.createProgram();if(t.attachShader(s,n),t.attachShader(s,r),t.linkProgram(s),!t.getProgramParameter(s,t.LINK_STATUS))throw new Error('Shader link error for "${this.type}" '+t.getProgramInfoLog(s));var o=this.getAttributeLocations(t,s),a=this.getUniformLocations(t,s)||{};return a.uStepW=t.getUniformLocation(s,"uStepW"),a.uStepH=t.getUniformLocation(s,"uStepH"),{program:s,attributeLocations:o,uniformLocations:a}},getAttributeLocations:function(t,e){return{aPosition:t.getAttribLocation(e,"aPosition")}},getUniformLocations:function(){return{}},sendAttributeData:function(t,e,i){var n=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(n),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW)},_setupFrameBuffer:function(t){var e,i,n=t.context;t.passes>1?(e=t.destinationWidth,i=t.destinationHeight,t.sourceWidth===e&&t.sourceHeight===i||(n.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(n,e,i)),n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,t.targetTexture,0)):(n.bindFramebuffer(n.FRAMEBUFFER,null),n.finish())},_swapTextures:function(t){t.passes--,t.pass++;var e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e},isNeutralState:function(){var t=this.mainParameter,e=T.Image.filters[this.type].prototype;if(t){if(Array.isArray(e[t])){for(var i=e[t].length;i--;)if(this[t][i]!==e[t][i])return!1;return!0}return e[t]===this[t]}return!1},applyTo:function(t){t.webgl?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)},retrieveShader:function(t){return t.programCache.hasOwnProperty(this.type)||(t.programCache[this.type]=this.createProgram(t.context)),t.programCache[this.type]},applyToWebGL:function(t){var e=t.context,i=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(i.program),this.sendAttributeData(e,i.attributeLocations,t.aPosition),e.uniform1f(i.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(i.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,i.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)},bindAdditionalTexture:function(t,e,i){t.activeTexture(i),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)},unbindAdditionalTexture:function(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)},getMainParameter:function(){return this[this.mainParameter]},setMainParameter:function(t){this[this.mainParameter]=t},sendUniformData:function(){},createHelpLayer:function(t){if(!t.helpLayer){var e=document.createElement("canvas");e.width=t.sourceWidth,e.height=t.sourceHeight,t.helpLayer=e}},toObject:function(){var t={type:this.type},e=this.mainParameter;return e&&(t[e]=this[e]),t},toJSON:function(){return this.toObject()}}),T.Image.filters.BaseFilter.fromObject=function(t,e){var i=new T.Image.filters[t.type](t);return e&&e(i),i},function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.ColorMatrix=n(i.BaseFilter,{type:"ColorMatrix",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nuniform mat4 uColorMatrix;\nuniform vec4 uConstants;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\ncolor *= uColorMatrix;\ncolor += uConstants;\ngl_FragColor = color;\n}",matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],mainParameter:"matrix",colorsOnly:!0,initialize:function(t){this.callSuper("initialize",t),this.matrix=this.matrix.slice(0)},applyTo2d:function(t){var e,i,n,r,s,o=t.imageData.data,a=o.length,h=this.matrix,c=this.colorsOnly;for(s=0;s=_||o<0||o>=b||(h=4*(a*b+o),c=m[d*v+f],e+=g[h]*c,i+=g[h+1]*c,n+=g[h+2]*c,C||(r+=g[h+3]*c));S[s]=e,S[s+1]=i,S[s+2]=n,S[s+3]=C?g[s+3]:r}t.imageData=x},getUniformLocations:function(t,e){return{uMatrix:t.getUniformLocation(e,"uMatrix"),uOpaque:t.getUniformLocation(e,"uOpaque"),uHalfSize:t.getUniformLocation(e,"uHalfSize"),uSize:t.getUniformLocation(e,"uSize")}},sendUniformData:function(t,e){t.uniform1fv(e.uMatrix,this.matrix)},toObject:function(){return i(this.callSuper("toObject"),{opaque:this.opaque,matrix:this.matrix})}}),e.Image.filters.Convolute.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Grayscale=n(i.BaseFilter,{type:"Grayscale",fragmentSource:{average:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat average = (color.r + color.b + color.g) / 3.0;\ngl_FragColor = vec4(average, average, average, color.a);\n}",lightness:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\ngl_FragColor = vec4(average, average, average, col.a);\n}",luminosity:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\ngl_FragColor = vec4(average, average, average, col.a);\n}"},mode:"average",mainParameter:"mode",applyTo2d:function(t){var e,i,n=t.imageData.data,r=n.length,s=this.mode;for(e=0;ec[0]&&r>c[1]&&s>c[2]&&n 0.0) {\n"+this.fragmentSource[t]+"}\n}"},retrieveShader:function(t){var e,i=this.type+"_"+this.mode;return t.programCache.hasOwnProperty(i)||(e=this.buildSource(this.mode),t.programCache[i]=this.createProgram(t.context,e)),t.programCache[i]},applyTo2d:function(t){var i,n,r,s,o,a,h,c=t.imageData.data,l=c.length,u=1-this.alpha;i=(h=new e.Color(this.color).getSource())[0]*this.alpha,n=h[1]*this.alpha,r=h[2]*this.alpha;for(var f=0;f=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;var i=(e*=Math.PI)/t;return a(e)/e*a(i)/i}},applyTo2d:function(t){var e=t.imageData,i=this.scaleX,n=this.scaleY;this.rcpScaleX=1/i,this.rcpScaleY=1/n;var r,s=e.width,a=e.height,h=o(s*i),c=o(a*n);"sliceHack"===this.resizeType?r=this.sliceByTwo(t,s,a,h,c):"hermite"===this.resizeType?r=this.hermiteFastResize(t,s,a,h,c):"bilinear"===this.resizeType?r=this.bilinearFiltering(t,s,a,h,c):"lanczos"===this.resizeType&&(r=this.lanczosResize(t,s,a,h,c)),t.imageData=r},sliceByTwo:function(t,i,r,s,o){var a,h,c=t.imageData,l=.5,u=!1,f=!1,d=i*l,p=r*l,g=e.filterBackend.resources,m=0,v=0,y=i,b=0;for(g.sliceByTwo||(g.sliceByTwo=document.createElement("canvas")),((a=g.sliceByTwo).width<1.5*i||a.height=e)){j=n(1e3*s(w-x.x)),_[j]||(_[j]={});for(var F=S.y-b;F<=S.y+b;F++)F<0||F>=o||(I=n(1e3*s(F-x.y)),_[j][I]||(_[j][I]=d(r(i(j*m,2)+i(I*v,2))/1e3)),(T=_[j][I])>0&&(O+=T,P+=T*l[E=4*(F*e+w)],A+=T*l[E+1],k+=T*l[E+2],D+=T*l[E+3]))}f[E=4*(C*a+h)]=P/O,f[E+1]=A/O,f[E+2]=k/O,f[E+3]=D/O}return++h1&&I<-1||(b=2*I*I*I-3*I*I+1)>0&&(T+=b*d[3+(j=4*(D+O*e))],x+=b,d[j+3]<255&&(b=b*d[j+3]/250),S+=b*d[j],C+=b*d[j+1],w+=b*d[j+2],_+=b)}g[y]=S/_,g[y+1]=C/_,g[y+2]=w/_,g[y+3]=T/x}return p},toObject:function(){return{type:this.type,scaleX:this.scaleX,scaleY:this.scaleY,resizeType:this.resizeType,lanczosLobes:this.lanczosLobes}}}),e.Image.filters.Resize.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Contrast=n(i.BaseFilter,{type:"Contrast",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform float uContrast;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\ncolor.rgb = contrastF * (color.rgb - 0.5) + 0.5;\ngl_FragColor = color;\n}",contrast:0,mainParameter:"contrast",applyTo2d:function(t){if(0!==this.contrast){var e,i=t.imageData.data,n=i.length,r=Math.floor(255*this.contrast),s=259*(r+255)/(255*(259-r));for(e=0;e1&&(e=1/this.aspectRatio):this.aspectRatio<1&&(e=this.aspectRatio),t=e*this.blur*.12,this.horizontal?i[0]=t:i[1]=t,i}}),i.Blur.fromObject=e.Image.filters.BaseFilter.fromObject}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.Image.filters,n=e.util.createClass;i.Gamma=n(i.BaseFilter,{type:"Gamma",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform vec3 uGamma;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nvec3 correction = (1.0 / uGamma);\ncolor.r = pow(color.r, correction.r);\ncolor.g = pow(color.g, correction.g);\ncolor.b = pow(color.b, correction.b);\ngl_FragColor = color;\ngl_FragColor.rgb *= color.a;\n}",gamma:[1,1,1],mainParameter:"gamma",initialize:function(t){this.gamma=[1,1,1],i.BaseFilter.prototype.initialize.call(this,t)},applyTo2d:function(t){var e,i=t.imageData.data,n=this.gamma,r=i.length,s=1/n[0],o=1/n[1],a=1/n[2];for(this.rVals||(this.rVals=new Uint8Array(256),this.gVals=new Uint8Array(256),this.bVals=new Uint8Array(256)),e=0,r=256;e'},_getCacheCanvasDimensions:function(){var t=this.callSuper("_getCacheCanvasDimensions"),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t},_render:function(t){var e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,"underline"),this._renderText(t),this._renderTextDecoration(t,"overline"),this._renderTextDecoration(t,"linethrough")},_renderText:function(t){"stroke"===this.paintFirst?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))},_setTextStyles:function(t,e,i){if(t.textBaseline="alphabetical",this.path)switch(this.pathAlign){case"center":t.textBaseline="middle";break;case"ascender":t.textBaseline="top";break;case"descender":t.textBaseline="bottom"}t.font=this._getFontDeclaration(e,i)},calcTextWidth:function(){for(var t=this.getLineWidth(0),e=1,i=this._textLines.length;et&&(t=n)}return t},_renderTextLine:function(t,e,i,n,r,s){this._renderChars(t,e,i,n,r,s)},_renderTextLinesBackground:function(t){if(this.textBackgroundColor||this.styleHas("textBackgroundColor")){for(var e,i,n,r,s,o,a,h=t.fillStyle,c=this._getLeftOffset(),l=this._getTopOffset(),u=0,f=0,d=this.path,p=0,g=this._textLines.length;p=0:ia?u%=a:u<0&&(u+=a),this._setGraphemeOnPath(u,s,o),u+=s.kernedWidth}return{width:h,numOfSpaces:0}},_setGraphemeOnPath:function(t,i,n){var r=t+i.kernedWidth/2,s=this.path,o=e.util.getPointOnPath(s.path,r,s.segmentsInfo);i.renderLeft=o.x-n.x,i.renderTop=o.y-n.y,i.angle=o.angle+("right"===this.pathSide?Math.PI:0)},_getGraphemeBox:function(t,e,i,n,r){var s,o=this.getCompleteStyleDeclaration(e,i),a=n?this.getCompleteStyleDeclaration(e,i-1):{},h=this._measureChar(t,o,n,a),c=h.kernedWidth,l=h.width;0!==this.charSpacing&&(l+=s=this._getWidthOfCharSpacing(),c+=s);var u={width:l,left:0,height:o.fontSize,kernedWidth:c,deltaY:o.deltaY};if(i>0&&!r){var f=this.__charBounds[e][i-1];u.left=f.left+f.width+h.kernedWidth-h.width}return u},getHeightOfLine:function(t){if(this.__lineHeights[t])return this.__lineHeights[t];for(var e=this._textLines[t],i=this.getHeightOfChar(t,0),n=1,r=e.length;n0){var O=y+s+u;"rtl"===this.direction&&(O=this.width-O-f),c&&v&&(t.fillStyle=v,t.fillRect(O,l+S*n+o,f,this.fontSize/15)),u=d.left,f=d.width,c=p,v=m,n=r,o=a}else f+=d.kernedWidth;O=y+s+u,"rtl"===this.direction&&(O=this.width-O-f),t.fillStyle=m,p&&m&&t.fillRect(O,l+S*n+o,f-x,this.fontSize/15),b+=i}else b+=i;this._removeShadow(t)}},_getFontDeclaration:function(t,i){var n=t||this,r=this.fontFamily,s=e.Text.genericFonts.indexOf(r.toLowerCase())>-1,o=void 0===r||r.indexOf("'")>-1||r.indexOf(",")>-1||r.indexOf('"')>-1||s?n.fontFamily:'"'+n.fontFamily+'"';return[e.isLikelyNode?n.fontWeight:n.fontStyle,e.isLikelyNode?n.fontStyle:n.fontWeight,i?this.CACHE_FONT_SIZE+"px":n.fontSize+"px",o].join(" ")},render:function(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._shouldClearDimensionCache()&&this.initDimensions(),this.callSuper("render",t)))},_splitTextIntoLines:function(t){for(var i=t.split(this._reNewline),n=new Array(i.length),r=["\n"],s=[],o=0;o-1&&(t.underline=!0),t.textDecoration.indexOf("line-through")>-1&&(t.linethrough=!0),t.textDecoration.indexOf("overline")>-1&&(t.overline=!0),delete t.textDecoration)}T.IText=T.util.createClass(T.Text,T.Observable,{type:"i-text",selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,_reSpace:/\s|\n/,_currentCursorOpacity:0,_selectionDirection:null,_abortCursorAnimation:!1,__widthOfSpace:[],inCompositionMode:!1,initialize:function(t,e){this.callSuper("initialize",t,e),this.initBehavior()},setSelectionStart:function(t){t=Math.max(t,0),this._updateAndFire("selectionStart",t)},setSelectionEnd:function(t){t=Math.min(t,this.text.length),this._updateAndFire("selectionEnd",t)},_updateAndFire:function(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()},_fireSelectionChanged:function(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})},initDimensions:function(){this.isEditing&&this.initDelayedCursor(),this.clearContextTop(),this.callSuper("initDimensions")},render:function(t){this.clearContextTop(),this.callSuper("render",t),this.cursorOffsetCache={},this.renderCursorOrSelection()},_render:function(t){this.callSuper("_render",t)},clearContextTop:function(t){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var e=this.canvas.contextTop,i=this.canvas.viewportTransform;e.save(),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(e),this._clearTextArea(e),t||e.restore()}},renderCursorOrSelection:function(){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var t=this._getCursorBoundaries(),e=this.canvas.contextTop;this.clearContextTop(!0),this.selectionStart===this.selectionEnd?this.renderCursor(t,e):this.renderSelection(t,e),e.restore()}},_clearTextArea:function(t){var e=this.width+4,i=this.height+4;t.clearRect(-e/2,-i/2,e,i)},_getCursorBoundaries:function(t){void 0===t&&(t=this.selectionStart);var e=this._getLeftOffset(),i=this._getTopOffset(),n=this._getCursorBoundariesOffsets(t);return{left:e,top:i,leftOffset:n.left,topOffset:n.top}},_getCursorBoundariesOffsets:function(t){if(this.cursorOffsetCache&&"top"in this.cursorOffsetCache)return this.cursorOffsetCache;var e,i,n,r,s=0,o=0,a=this.get2DCursorLocation(t);n=a.charIndex,i=a.lineIndex;for(var h=0;h0?o:0)},"rtl"===this.direction&&(r.left*=-1),this.cursorOffsetCache=r,this.cursorOffsetCache},renderCursor:function(t,e){var i=this.get2DCursorLocation(),n=i.lineIndex,r=i.charIndex>0?i.charIndex-1:0,s=this.getValueOfPropertyAt(n,r,"fontSize"),o=this.scaleX*this.canvas.getZoom(),a=this.cursorWidth/o,h=t.topOffset,c=this.getValueOfPropertyAt(n,r,"deltaY");h+=(1-this._fontSizeFraction)*this.getHeightOfLine(n)/this.lineHeight-s*(1-this._fontSizeFraction),this.inCompositionMode&&this.renderSelection(t,e),e.fillStyle=this.cursorColor||this.getValueOfPropertyAt(n,r,"fill"),e.globalAlpha=this.__isMousedown?1:this._currentCursorOpacity,e.fillRect(t.left+t.leftOffset-a/2,h+t.top+c,a,s)},renderSelection:function(t,e){for(var i=this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,n=this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd,r=-1!==this.textAlign.indexOf("justify"),s=this.get2DCursorLocation(i),o=this.get2DCursorLocation(n),a=s.lineIndex,h=o.lineIndex,c=s.charIndex<0?0:s.charIndex,l=o.charIndex<0?0:o.charIndex,u=a;u<=h;u++){var f,d=this._getLineLeftOffset(u)||0,p=this.getHeightOfLine(u),g=0,m=0;if(u===a&&(g=this.__charBounds[a][c].left),u>=a&&u1)&&(p/=this.lineHeight);var y=t.left+d+g,b=m-g,_=p,x=0;this.inCompositionMode?(e.fillStyle=this.compositionColor||"black",_=1,x=p):e.fillStyle=this.selectionColor,"rtl"===this.direction&&(y=this.width-y-b),e.fillRect(y,t.top+t.topOffset+x,b,_),t.topOffset+=f}},getCurrentCharFontSize:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fontSize")},getCurrentCharColor:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fill")},_getCurrentCharIndex:function(){var t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}}),T.IText.fromObject=function(e,i){if(t(e),e.styles)for(var n in e.styles)for(var r in e.styles[n])t(e.styles[n][r]);T.Object._fromObject("IText",e,i,"text")}}(),S=T.util.object.clone,T.util.object.extend(T.IText.prototype,{initBehavior:function(){this.initAddedHandler(),this.initRemovedHandler(),this.initCursorSelectionHandlers(),this.initDoubleClickSimulation(),this.mouseMoveHandler=this.mouseMoveHandler.bind(this)},onDeselect:function(){this.isEditing&&this.exitEditing(),this.selected=!1},initAddedHandler:function(){var t=this;this.on("added",(function(){var e=t.canvas;e&&(e._hasITextHandlers||(e._hasITextHandlers=!0,t._initCanvasHandlers(e)),e._iTextInstances=e._iTextInstances||[],e._iTextInstances.push(t))}))},initRemovedHandler:function(){var t=this;this.on("removed",(function(){var e=t.canvas;e&&(e._iTextInstances=e._iTextInstances||[],T.util.removeFromArray(e._iTextInstances,t),0===e._iTextInstances.length&&(e._hasITextHandlers=!1,t._removeCanvasHandlers(e)))}))},_initCanvasHandlers:function(t){t._mouseUpITextHandler=function(){t._iTextInstances&&t._iTextInstances.forEach((function(t){t.__isMousedown=!1}))},t.on("mouse:up",t._mouseUpITextHandler)},_removeCanvasHandlers:function(t){t.off("mouse:up",t._mouseUpITextHandler)},_tick:function(){this._currentTickState=this._animateCursor(this,1,this.cursorDuration,"_onTickComplete")},_animateCursor:function(t,e,i,n){var r;return r={isAborted:!1,abort:function(){this.isAborted=!0}},t.animate("_currentCursorOpacity",e,{duration:i,onComplete:function(){r.isAborted||t[n]()},onChange:function(){t.canvas&&t.selectionStart===t.selectionEnd&&t.renderCursorOrSelection()},abort:function(){return r.isAborted}}),r},_onTickComplete:function(){var t=this;this._cursorTimeout1&&clearTimeout(this._cursorTimeout1),this._cursorTimeout1=setTimeout((function(){t._currentTickCompleteState=t._animateCursor(t,0,this.cursorDuration/2,"_tick")}),100)},initDelayedCursor:function(t){var e=this,i=t?0:this.cursorDelay;this.abortCursorAnimation(),this._currentCursorOpacity=1,this._cursorTimeout2=setTimeout((function(){e._tick()}),i)},abortCursorAnimation:function(){var t=this._currentTickState||this._currentTickCompleteState,e=this.canvas;this._currentTickState&&this._currentTickState.abort(),this._currentTickCompleteState&&this._currentTickCompleteState.abort(),clearTimeout(this._cursorTimeout1),clearTimeout(this._cursorTimeout2),this._currentCursorOpacity=0,t&&e&&e.clearContext(e.contextTop||e.contextContainer)},selectAll:function(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this},getSelectedText:function(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")},findWordBoundaryLeft:function(t){var e=0,i=t-1;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i--;for(;/\S/.test(this._text[i])&&i>-1;)e++,i--;return t-e},findWordBoundaryRight:function(t){var e=0,i=t;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i++;for(;/\S/.test(this._text[i])&&i-1;)e++,i--;return t-e},findLineBoundaryRight:function(t){for(var e=0,i=t;!/\n/.test(this._text[i])&&i0&&nthis.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=e):(this.selectionStart=e,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===n||(this.restartCursorIfNeeded(),this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}},_setEditingProps:function(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0},fromStringToGraphemeSelection:function(t,e,i){var n=i.slice(0,t),r=T.util.string.graphemeSplit(n).length;if(t===e)return{selectionStart:r,selectionEnd:r};var s=i.slice(t,e);return{selectionStart:r,selectionEnd:r+T.util.string.graphemeSplit(s).length}},fromGraphemeToStringSelection:function(t,e,i){var n=i.slice(0,t).join("").length;return t===e?{selectionStart:n,selectionEnd:n}:{selectionStart:n,selectionEnd:n+i.slice(t,e).join("").length}},_updateTextarea:function(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){var t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}},updateFromTextArea:function(){if(this.hiddenTextarea){this.cursorOffsetCache={},this.text=this.hiddenTextarea.value,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords());var t=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value);this.selectionEnd=this.selectionStart=t.selectionEnd,this.inCompositionMode||(this.selectionStart=t.selectionStart),this.updateTextareaPosition()}},updateTextareaPosition:function(){if(this.selectionStart===this.selectionEnd){var t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}},_calcTextareaPosition:function(){if(!this.canvas)return{x:1,y:1};var t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),i=this.get2DCursorLocation(t),n=i.lineIndex,r=i.charIndex,s=this.getValueOfPropertyAt(n,r,"fontSize")*this.lineHeight,o=e.leftOffset,a=this.calcTransformMatrix(),h={x:e.left+o,y:e.top+e.topOffset+s},c=this.canvas.getRetinaScaling(),l=this.canvas.upperCanvasEl,u=l.width/c,f=l.height/c,d=u-s,p=f-s,g=l.clientWidth/u,m=l.clientHeight/f;return h=T.util.transformPoint(h,a),(h=T.util.transformPoint(h,this.canvas.viewportTransform)).x*=g,h.y*=m,h.x<0&&(h.x=0),h.x>d&&(h.x=d),h.y<0&&(h.y=0),h.y>p&&(h.y=p),h.x+=this.canvas._offset.left,h.y+=this.canvas._offset.top,{left:h.x+"px",top:h.y+"px",fontSize:s+"px",charHeight:s}},_saveEditingProps:function(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}},_restoreEditingProps:function(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor))},exitEditing:function(){var t=this._textBeforeEdit!==this.text,e=this.hiddenTextarea;return this.selected=!1,this.isEditing=!1,this.selectionEnd=this.selectionStart,e&&(e.blur&&e.blur(),e.parentNode&&e.parentNode.removeChild(e)),this.hiddenTextarea=null,this.abortCursorAnimation(),this._restoreEditingProps(),this._currentCursorOpacity=0,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this.fire("editing:exited"),t&&this.fire("modified"),this.canvas&&(this.canvas.off("mouse:move",this.mouseMoveHandler),this.canvas.fire("text:editing:exited",{target:this}),t&&this.canvas.fire("object:modified",{target:this})),this},_removeExtraneousStyles:function(){for(var t in this.styles)this._textLines[t]||delete this.styles[t]},removeStyleFromTo:function(t,e){var i,n,r=this.get2DCursorLocation(t,!0),s=this.get2DCursorLocation(e,!0),o=r.lineIndex,a=r.charIndex,h=s.lineIndex,c=s.charIndex;if(o!==h){if(this.styles[o])for(i=a;i=c&&(n[l-f]=n[u],delete n[u])}},shiftLineStyles:function(t,e){var i=S(this.styles);for(var n in this.styles){var r=parseInt(n,10);r>t&&(this.styles[r+e]=i[r],i[r-e]||delete this.styles[r])}},restartCursorIfNeeded:function(){this._currentTickState&&!this._currentTickState.isAborted&&this._currentTickCompleteState&&!this._currentTickCompleteState.isAborted||this.initDelayedCursor()},insertNewlineStyleObject:function(t,e,i,n){var r,s={},o=!1,a=this._unwrappedTextLines[t].length===e;for(var h in i||(i=1),this.shiftLineStyles(t,i),this.styles[t]&&(r=this.styles[t][0===e?e:e-1]),this.styles[t]){var c=parseInt(h,10);c>=e&&(o=!0,s[c-e]=this.styles[t][h],a&&0===e||delete this.styles[t][h])}var l=!1;for(o&&!a&&(this.styles[t+i]=s,l=!0),l&&i--;i>0;)n&&n[i-1]?this.styles[t+i]={0:S(n[i-1])}:r?this.styles[t+i]={0:S(r)}:delete this.styles[t+i],i--;this._forceClearCache=!0},insertCharStyleObject:function(t,e,i,n){this.styles||(this.styles={});var r=this.styles[t],s=r?S(r):{};for(var o in i||(i=1),s){var a=parseInt(o,10);a>=e&&(r[a+i]=s[a],s[a-i]||delete r[a])}if(this._forceClearCache=!0,n)for(;i--;)Object.keys(n[i]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+i]=S(n[i]));else if(r)for(var h=r[e?e-1:1];h&&i--;)this.styles[t][e+i]=S(h)},insertNewStyleBlock:function(t,e,i){for(var n=this.get2DCursorLocation(e,!0),r=[0],s=0,o=0;o0&&(this.insertCharStyleObject(n.lineIndex,n.charIndex,r[0],i),i=i&&i.slice(r[0]+1)),s&&this.insertNewlineStyleObject(n.lineIndex,n.charIndex+r[0],s),o=1;o0?this.insertCharStyleObject(n.lineIndex+o,0,r[o],i):i&&this.styles[n.lineIndex+o]&&i[0]&&(this.styles[n.lineIndex+o][0]=i[0]),i=i&&i.slice(r[o]+1);r[o]>0&&this.insertCharStyleObject(n.lineIndex+o,0,r[o],i)},setSelectionStartEndWithShift:function(t,e,i){i<=t?(e===t?this._selectionDirection="left":"right"===this._selectionDirection&&(this._selectionDirection="left",this.selectionEnd=t),this.selectionStart=i):i>t&&it?this.selectionStart=t:this.selectionStart<0&&(this.selectionStart=0),this.selectionEnd>t?this.selectionEnd=t:this.selectionEnd<0&&(this.selectionEnd=0)}}),T.util.object.extend(T.IText.prototype,{initDoubleClickSimulation:function(){this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown)},onMouseDown:function(t){if(this.canvas){this.__newClickTime=+new Date;var e=t.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",t),this._stopEvent(t.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastIsEditing=this.isEditing,this.__lastSelected=this.selected}},isTripleClick:function(t){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===t.x&&this.__lastPointer.y===t.y},_stopEvent:function(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation()},initCursorSelectionHandlers:function(){this.initMousedownHandler(),this.initMouseupHandler(),this.initClicks()},doubleClickHandler:function(t){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(t.e))},tripleClickHandler:function(t){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(t.e))},initClicks:function(){this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler)},_mouseDownHandler:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.__isMousedown=!0,this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(t.e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()))},_mouseDownHandlerBefore:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.selected=this===this.canvas._activeObject)},initMousedownHandler:function(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore)},initMouseupHandler:function(){this.on("mouseup",this.mouseUpHandler)},mouseUpHandler:function(t){if(this.__isMousedown=!1,!(!this.editable||this.group||t.transform&&t.transform.actionPerformed||t.e.button&&1!==t.e.button)){if(this.canvas){var e=this.canvas._activeObject;if(e&&e!==this)return}this.__lastSelected&&!this.__corner?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(t.e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0}},setCursorByClick:function(t){var e=this.getSelectionStartFromPointer(t),i=this.selectionStart,n=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(i,n,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())},getSelectionStartFromPointer:function(t){for(var e,i=this.getLocalPointer(t),n=0,r=0,s=0,o=0,a=0,h=0,c=this._textLines.length;h0&&(o+=this._textLines[h-1].length+this.missingNewlineOffset(h-1));r=this._getLineLeftOffset(a)*this.scaleX,e=this._textLines[a],"rtl"===this.direction&&(i.x=this.width*this.scaleX-i.x+r);for(var l=0,u=e.length;ls||o<0?0:1);return this.flipX&&(a=r-a),a>this._text.length&&(a=this._text.length),a}}),T.util.object.extend(T.IText.prototype,{initHiddenTextarea:function(){this.hiddenTextarea=T.document.createElement("textarea"),this.hiddenTextarea.setAttribute("autocapitalize","off"),this.hiddenTextarea.setAttribute("autocorrect","off"),this.hiddenTextarea.setAttribute("autocomplete","off"),this.hiddenTextarea.setAttribute("spellcheck","false"),this.hiddenTextarea.setAttribute("data-fabric-hiddentextarea",""),this.hiddenTextarea.setAttribute("wrap","off");var t=this._calcTextareaPosition();this.hiddenTextarea.style.cssText="position: absolute; top: "+t.top+"; left: "+t.left+"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; paddingーtop: "+t.fontSize+";",this.hiddenTextareaContainer?this.hiddenTextareaContainer.appendChild(this.hiddenTextarea):T.document.body.appendChild(this.hiddenTextarea),T.util.addListener(this.hiddenTextarea,"keydown",this.onKeyDown.bind(this)),T.util.addListener(this.hiddenTextarea,"keyup",this.onKeyUp.bind(this)),T.util.addListener(this.hiddenTextarea,"input",this.onInput.bind(this)),T.util.addListener(this.hiddenTextarea,"copy",this.copy.bind(this)),T.util.addListener(this.hiddenTextarea,"cut",this.copy.bind(this)),T.util.addListener(this.hiddenTextarea,"paste",this.paste.bind(this)),T.util.addListener(this.hiddenTextarea,"compositionstart",this.onCompositionStart.bind(this)),T.util.addListener(this.hiddenTextarea,"compositionupdate",this.onCompositionUpdate.bind(this)),T.util.addListener(this.hiddenTextarea,"compositionend",this.onCompositionEnd.bind(this)),!this._clickHandlerInitialized&&this.canvas&&(T.util.addListener(this.canvas.upperCanvasEl,"click",this.onClick.bind(this)),this._clickHandlerInitialized=!0)},keysMap:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorRight",36:"moveCursorLeft",37:"moveCursorLeft",38:"moveCursorUp",39:"moveCursorRight",40:"moveCursorDown"},keysMapRtl:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorLeft",36:"moveCursorRight",37:"moveCursorRight",38:"moveCursorUp",39:"moveCursorLeft",40:"moveCursorDown"},ctrlKeysMapUp:{67:"copy",88:"cut"},ctrlKeysMapDown:{65:"selectAll"},onClick:function(){this.hiddenTextarea&&this.hiddenTextarea.focus()},onKeyDown:function(t){if(this.isEditing){var e="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}},onKeyUp:function(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())},onInput:function(t){var e=this.fromPaste;if(this.fromPaste=!1,t&&t.stopPropagation(),this.isEditing){var i,n,r,s,o,a=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,h=this._text.length,c=a.length,l=c-h,u=this.selectionStart,f=this.selectionEnd,d=u!==f;if(""===this.hiddenTextarea.value)return this.styles={},this.updateFromTextArea(),this.fire("changed"),void(this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll()));var p=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),g=u>p.selectionStart;d?(i=this._text.slice(u,f),l+=f-u):c0&&(n+=(i=this.__charBounds[t][e-1]).left+i.width),n},getDownCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-i;var s=n.charIndex,o=this._getWidthBeforeCursor(r,s),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(s).length+a+1+this.missingNewlineOffset(r)},_getSelectionForOffset:function(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart},getUpCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-i;var s=n.charIndex,o=this._getWidthBeforeCursor(r,s),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,s),c=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-c)},_getIndexOnLine:function(t,e){for(var i,n,r=this._textLines[t],s=this._getLineLeftOffset(t),o=0,a=0,h=r.length;ae){n=!0;var c=s-i,l=s,u=Math.abs(c-e);o=Math.abs(l-e)=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",t)},moveCursorUp:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",t)},_moveCursorUpOrDown:function(t,e){var i=this["get"+t+"CursorOffset"](e,"right"===this._selectionDirection);e.shiftKey?this.moveCursorWithShift(i):this.moveCursorWithoutShift(i),0!==i&&(this.setSelectionInBoundaries(),this.abortCursorAnimation(),this._currentCursorOpacity=1,this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorWithShift:function(t){var e="left"===this._selectionDirection?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t},moveCursorWithoutShift:function(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t},moveCursorLeft:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",t)},_move:function(t,e,i){var n;if(t.altKey)n=this["findWordBoundary"+i](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+="Left"===i?-1:1,!0;n=this["findLineBoundary"+i](this[e])}if(void 0!==typeof n&&this[e]!==n)return this[e]=n,!0},_moveLeft:function(t,e){return this._move(t,e,"Left")},_moveRight:function(t,e){return this._move(t,e,"Right")},moveCursorLeftWithoutShift:function(t){var e=!0;return this._selectionDirection="left",this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,"selectionStart")),this.selectionEnd=this.selectionStart,e},moveCursorLeftWithShift:function(t){return"right"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection="left",this._moveLeft(t,"selectionStart")):void 0},moveCursorRight:function(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",t)},_moveCursorLeftOrRight:function(t,e){var i="moveCursor"+t+"With";this._currentCursorOpacity=1,e.shiftKey?i+="Shift":i+="outShift",this[i](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorRightWithShift:function(t){return"left"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveRight(t,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection="right",this._moveRight(t,"selectionEnd")):void 0},moveCursorRightWithoutShift:function(t){var e=!0;return this._selectionDirection="right",this.selectionStart===this.selectionEnd?(e=this._moveRight(t,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e},removeChars:function(t,e){void 0===e&&(e=t+1),this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()},insertChars:function(t,e,i,n){void 0===n&&(n=i),n>i&&this.removeStyleFromTo(i,n);var r=T.util.string.graphemeSplit(t);this.insertNewStyleBlock(r,i,e),this._text=[].concat(this._text.slice(0,i),r,this._text.slice(n)),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()}}),C=T.util.toFixed,w=/ +/g,T.util.object.extend(T.Text.prototype,{_toSVG:function(){var t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)},toSVG:function(t){return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0})},_getSVGLeftTopOffsets:function(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}},_wrapSVGTextAndBg:function(t){var e=this.getSvgTextDecoration(this);return[t.textBgRects.join(""),'\t\t",t.textSpans.join(""),"\n"]},_getSVGTextAndBg:function(t,e){var i,n=[],r=[],s=t;this._setSVGBg(r);for(var o=0,a=this._textLines.length;o",T.util.string.escapeXml(t),""].join("")},_setSVGTextLineText:function(t,e,i,n){var r,s,o,a,h,c=this.getHeightOfLine(e),l=-1!==this.textAlign.indexOf("justify"),u="",f=0,d=this._textLines[e];n+=c*(1-this._fontSizeFraction)/this.lineHeight;for(var p=0,g=d.length-1;p<=g;p++)h=p===g||this.charSpacing,u+=d[p],o=this.__charBounds[e][p],0===f?(i+=o.kernedWidth-o.width,f+=o.width):f+=o.kernedWidth,l&&!h&&this._reSpaceAndTab.test(d[p])&&(h=!0),h||(r=r||this.getCompleteStyleDeclaration(e,p),s=this.getCompleteStyleDeclaration(e,p+1),h=this._hasStyleChangedForSvg(r,s)),h&&(a=this._getStyleDeclaration(e,p)||{},t.push(this._createTextCharSpan(u,a,i,n)),u="",r=s,i+=f,f=0)},_pushTextBgRect:function(t,e,i,n,r,s){var o=T.Object.NUM_FRACTION_DIGITS;t.push("\t\t\n')},_setSVGTextLineBg:function(t,e,i,n){for(var r,s,o=this._textLines[e],a=this.getHeightOfLine(e)/this.lineHeight,h=0,c=0,l=this.getValueOfPropertyAt(e,0,"textBackgroundColor"),u=0,f=o.length;uthis.width&&this._set("width",this.dynamicMinWidth),-1!==this.textAlign.indexOf("justify")&&this.enlargeSpaces(),this.height=this.calcTextHeight(),this.saveState({propertySet:"_dimensionAffectingProps"}))},_generateStyleMap:function(t){for(var e=0,i=0,n=0,r={},s=0;s0?(i=0,n++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[n])&&s>0&&(i++,n++),r[s]={line:e,offset:i},n+=t.graphemeLines[s].length,i+=t.graphemeLines[s].length;return r},styleHas:function(t,i){if(this._styleMap&&!this.isWrapping){var n=this._styleMap[i];n&&(i=n.line)}return e.Text.prototype.styleHas.call(this,t,i)},isEmptyStyles:function(t){if(!this.styles)return!0;var e,i,n=0,r=!1,s=this._styleMap[t],o=this._styleMap[t+1];for(var a in s&&(t=s.line,n=s.offset),o&&(r=o.line===t,e=o.offset),i=void 0===t?this.styles:{line:this.styles[t]})for(var h in i[a])if(h>=n&&(!r||hn&&!m?(a.push(h),h=[],s=d,m=!0):s+=v,m||o||h.push(f),h=h.concat(l),p=o?0:this._measureWord([f],i,u),u++,m=!1,d>g&&(g=d);return y&&a.push(h),g+r>this.dynamicMinWidth&&(this.dynamicMinWidth=g-v+r),a},isEndOfWrapping:function(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line},missingNewlineOffset:function(t){return this.splitByGrapheme?this.isEndOfWrapping(t)?1:0:1},_splitTextIntoLines:function(t){for(var i=e.Text.prototype._splitTextIntoLines.call(this,t),n=this._wrapText(i.lines,this.width),r=new Array(n.length),s=0;s{e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,h=(1<>1,l=-7,u=i?r-1:0,f=i?-1:1,d=t[e+u];for(u+=f,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+t[e+u],u+=f,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=256*o+t[e+u],u+=f,l-=8);if(0===s)s=1-c;else{if(s===h)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),s-=c}return(d?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,h,c=8*s-r-1,l=(1<>1,f=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,p=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-o))<1&&(o--,h*=2),(e+=o+u>=1?f/h:f*Math.pow(2,1-u))*h>=2&&(o++,h/=2),o+u>=l?(a=0,o=l):o+u>=1?(a=(e*h-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;t[i+d]=255&a,d+=p,a/=256,r-=8);for(o=o<0;t[i+d]=255&o,d+=p,o/=256,c-=8);t[i+d-p]|=128*g}},895:(t,e,i)=>{var n=i(399),r=/\s+/g,s=/%[\dA-F]{2}/g,o=/"/g;function a(t){switch(t){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return t.toLowerCase()}}function h(t){if("string"!=typeof t)throw new TypeError("Expected a string, but received "+typeof t);var e,i;return 65279===t.charCodeAt(0)&&(t=t.slice(1)),"data:image/svg+xml,"+function(t){return encodeURIComponent(t).replace(s,a)}((i=t,e=i.trim().replace(r," "),Object.keys(n).forEach((function(t){n[t].test(e)&&(e=e.replace(n[t],t))})),e).replace(o,"'"))}h.toSrcset=function(t){return h(t).replace(/ /g,"%20")},t.exports=h},399:t=>{t.exports={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi}},861:(t,e,i)=>{var n=i(287),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},43:(t,e,i)=>{!function(t){t.parser=function(t,e){return new r(t,e)},t.SAXParser=r,t.SAXStream=o,t.createStream=function(t,e){return new o(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,n=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function r(e,i){if(!(this instanceof r))return new r(e,i);var s=this;!function(t){for(var e=0,i=n.length;e"===s?(O(i,"onsgmldeclaration",i.sgmlDecl),i.sgmlDecl="",i.state=w.TEXT):v(s)?(i.state=w.SGML_DECL_QUOTED,i.sgmlDecl+=s):i.sgmlDecl+=s;continue;case w.SGML_DECL_QUOTED:s===i.q&&(i.state=w.SGML_DECL,i.q=""),i.sgmlDecl+=s;continue;case w.DOCTYPE:">"===s?(i.state=w.TEXT,O(i,"ondoctype",i.doctype),i.doctype=!0):(i.doctype+=s,"["===s?i.state=w.DOCTYPE_DTD:v(s)&&(i.state=w.DOCTYPE_QUOTED,i.q=s));continue;case w.DOCTYPE_QUOTED:i.doctype+=s,s===i.q&&(i.q="",i.state=w.DOCTYPE);continue;case w.DOCTYPE_DTD:"]"===s?(i.doctype+=s,i.state=w.DOCTYPE):"<"===s?(i.state=w.OPEN_WAKA,i.startTagPosition=i.position):v(s)?(i.doctype+=s,i.state=w.DOCTYPE_DTD_QUOTED,i.q=s):i.doctype+=s;continue;case w.DOCTYPE_DTD_QUOTED:i.doctype+=s,s===i.q&&(i.state=w.DOCTYPE_DTD,i.q="");continue;case w.COMMENT:"-"===s?i.state=w.COMMENT_ENDING:i.comment+=s;continue;case w.COMMENT_ENDING:"-"===s?(i.state=w.COMMENT_ENDED,i.comment=A(i.opt,i.comment),i.comment&&O(i,"oncomment",i.comment),i.comment=""):(i.comment+="-"+s,i.state=w.COMMENT);continue;case w.COMMENT_ENDED:">"!==s?(j(i,"Malformed comment"),i.comment+="--"+s,i.state=w.COMMENT):i.doctype&&!0!==i.doctype?i.state=w.DOCTYPE_DTD:i.state=w.TEXT;continue;case w.CDATA:"]"===s?i.state=w.CDATA_ENDING:i.cdata+=s;continue;case w.CDATA_ENDING:"]"===s?i.state=w.CDATA_ENDING_2:(i.cdata+="]"+s,i.state=w.CDATA);continue;case w.CDATA_ENDING_2:">"===s?(i.cdata&&O(i,"oncdata",i.cdata),O(i,"onclosecdata"),i.cdata="",i.state=w.TEXT):"]"===s?i.cdata+="]":(i.cdata+="]]"+s,i.state=w.CDATA);continue;case w.PROC_INST:"?"===s?i.state=w.PROC_INST_ENDING:m(s)?i.state=w.PROC_INST_BODY:i.procInstName+=s;continue;case w.PROC_INST_BODY:if(!i.procInstBody&&m(s))continue;"?"===s?i.state=w.PROC_INST_ENDING:i.procInstBody+=s;continue;case w.PROC_INST_ENDING:">"===s?(O(i,"onprocessinginstruction",{name:i.procInstName,body:i.procInstBody}),i.procInstName=i.procInstBody="",i.state=w.TEXT):(i.procInstBody+="?"+s,i.state=w.PROC_INST_BODY);continue;case w.OPEN_TAG:b(d,s)?i.tagName+=s:(I(i),">"===s?M(i):"/"===s?i.state=w.OPEN_TAG_SLASH:(m(s)||j(i,"Invalid character in tag name"),i.state=w.ATTRIB));continue;case w.OPEN_TAG_SLASH:">"===s?(M(i,!0),R(i)):(j(i,"Forward-slash in opening tag not followed by >"),i.state=w.ATTRIB);continue;case w.ATTRIB:if(m(s))continue;">"===s?M(i):"/"===s?i.state=w.OPEN_TAG_SLASH:b(f,s)?(i.attribName=s,i.attribValue="",i.state=w.ATTRIB_NAME):j(i,"Invalid attribute name");continue;case w.ATTRIB_NAME:"="===s?i.state=w.ATTRIB_VALUE:">"===s?(j(i,"Attribute without value"),i.attribValue=i.attribName,L(i),M(i)):m(s)?i.state=w.ATTRIB_NAME_SAW_WHITE:b(d,s)?i.attribName+=s:j(i,"Invalid attribute name");continue;case w.ATTRIB_NAME_SAW_WHITE:if("="===s)i.state=w.ATTRIB_VALUE;else{if(m(s))continue;j(i,"Attribute without value"),i.tag.attributes[i.attribName]="",i.attribValue="",O(i,"onattribute",{name:i.attribName,value:""}),i.attribName="",">"===s?M(i):b(f,s)?(i.attribName=s,i.state=w.ATTRIB_NAME):(j(i,"Invalid attribute name"),i.state=w.ATTRIB)}continue;case w.ATTRIB_VALUE:if(m(s))continue;v(s)?(i.q=s,i.state=w.ATTRIB_VALUE_QUOTED):(i.opt.unquotedAttributeValues||k(i,"Unquoted attribute value"),i.state=w.ATTRIB_VALUE_UNQUOTED,i.attribValue=s);continue;case w.ATTRIB_VALUE_QUOTED:if(s!==i.q){"&"===s?i.state=w.ATTRIB_VALUE_ENTITY_Q:i.attribValue+=s;continue}L(i),i.q="",i.state=w.ATTRIB_VALUE_CLOSED;continue;case w.ATTRIB_VALUE_CLOSED:m(s)?i.state=w.ATTRIB:">"===s?M(i):"/"===s?i.state=w.OPEN_TAG_SLASH:b(f,s)?(j(i,"No whitespace between attributes"),i.attribName=s,i.attribValue="",i.state=w.ATTRIB_NAME):j(i,"Invalid attribute name");continue;case w.ATTRIB_VALUE_UNQUOTED:if(!y(s)){"&"===s?i.state=w.ATTRIB_VALUE_ENTITY_U:i.attribValue+=s;continue}L(i),">"===s?M(i):i.state=w.ATTRIB;continue;case w.CLOSE_TAG:if(i.tagName)">"===s?R(i):b(d,s)?i.tagName+=s:i.script?(i.script+=""===s?R(i):j(i,"Invalid characters in closing tag");continue;case w.TEXT_ENTITY:case w.ATTRIB_VALUE_ENTITY_Q:case w.ATTRIB_VALUE_ENTITY_U:var l,u;switch(i.state){case w.TEXT_ENTITY:l=w.TEXT,u="textNode";break;case w.ATTRIB_VALUE_ENTITY_Q:l=w.ATTRIB_VALUE_QUOTED,u="attribValue";break;case w.ATTRIB_VALUE_ENTITY_U:l=w.ATTRIB_VALUE_UNQUOTED,u="attribValue"}if(";"===s){var x=B(i);i.opt.unparsedEntities&&!Object.values(t.XML_ENTITIES).includes(x)?(i.entity="",i.state=l,i.write(x)):(i[u]+=x,i.entity="",i.state=l)}else b(i.entity.length?g:p,s)?i.entity+=s:(j(i,"Invalid character in entity name"),i[u]+="&"+i.entity+s,i.entity="",i.state=l);continue;default:throw new Error(i,"Unknown state: "+i.state)}return i.position>=i.bufferCheckPosition&&function(e){for(var i=Math.max(t.MAX_BUFFER_LENGTH,10),r=0,s=0,o=n.length;si)switch(n[s]){case"textNode":P(e);break;case"cdata":O(e,"oncdata",e.cdata),e.cdata="";break;case"script":O(e,"onscript",e.script),e.script="";break;default:k(e,"Max buffer length exceeded: "+n[s])}r=Math.max(r,a)}var h=t.MAX_BUFFER_LENGTH-r;e.bufferCheckPosition=h+e.position}(i),i},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;P(t=this),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}};try{e=i(789).Stream}catch(t){e=function(){}}e||(e=function(){});var s=t.EVENTS.filter((function(t){return"error"!==t&&"end"!==t}));function o(t,i){if(!(this instanceof o))return new o(t,i);e.apply(this),this._parser=new r(t,i),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,s.forEach((function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})}))}o.prototype=Object.create(e.prototype,{constructor:{value:o}}),o.prototype.write=function(t){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t)){if(!this._decoder){var e=i(141).I;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},o.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},o.prototype.on=function(t,i){var n=this;return n._parser["on"+t]||-1===s.indexOf(t)||(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),e.prototype.on.call(n,t,i)};var a="[CDATA[",h="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",l="http://www.w3.org/2000/xmlns/",u={xml:c,xmlns:l},f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function v(t){return'"'===t||"'"===t}function y(t){return">"===t||m(t)}function b(t,e){return t.test(e)}function _(t,e){return!b(t,e)}var x,S,C,w=0;for(var T in t.STATE={BEGIN:w++,BEGIN_WHITESPACE:w++,TEXT:w++,TEXT_ENTITY:w++,OPEN_WAKA:w++,SGML_DECL:w++,SGML_DECL_QUOTED:w++,DOCTYPE:w++,DOCTYPE_QUOTED:w++,DOCTYPE_DTD:w++,DOCTYPE_DTD_QUOTED:w++,COMMENT_STARTING:w++,COMMENT:w++,COMMENT_ENDING:w++,COMMENT_ENDED:w++,CDATA:w++,CDATA_ENDING:w++,CDATA_ENDING_2:w++,PROC_INST:w++,PROC_INST_BODY:w++,PROC_INST_ENDING:w++,OPEN_TAG:w++,OPEN_TAG_SLASH:w++,ATTRIB:w++,ATTRIB_NAME:w++,ATTRIB_NAME_SAW_WHITE:w++,ATTRIB_VALUE:w++,ATTRIB_VALUE_QUOTED:w++,ATTRIB_VALUE_CLOSED:w++,ATTRIB_VALUE_UNQUOTED:w++,ATTRIB_VALUE_ENTITY_Q:w++,ATTRIB_VALUE_ENTITY_U:w++,CLOSE_TAG:w++,CLOSE_TAG_SAW_WHITE:w++,SCRIPT:w++,SCRIPT_ENDING:w++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach((function(e){var i=t.ENTITIES[e],n="number"==typeof i?String.fromCharCode(i):i;t.ENTITIES[e]=n})),t.STATE)t.STATE[t.STATE[T]]=T;function E(t,e,i){t[e]&&t[e](i)}function O(t,e,i){t.textNode&&P(t),E(t,e,i)}function P(t){t.textNode=A(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function A(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function k(t,e){return P(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function D(t){return t.sawRoot&&!t.closedRoot&&j(t,"Unclosed root tag"),t.state!==w.BEGIN&&t.state!==w.BEGIN_WHITESPACE&&t.state!==w.TEXT&&k(t,"Unexpected end"),P(t),t.c="",t.closed=!0,E(t,"onend"),r.call(t,t.strict,t.opt),t}function j(t,e){if("object"!=typeof t||!(t instanceof r))throw new Error("bad call to strictFail");t.strict&&k(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,i=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(i.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",i)}function F(t,e){var i=t.indexOf(":")<0?["",t]:t.split(":"),n=i[0],r=i[1];return e&&"xmlns"===t&&(n="xmlns",r=""),{prefix:n,local:r}}function L(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=F(t.attribName,!0),i=e.prefix,n=e.local;if("xmlns"===i)if("xml"===n&&t.attribValue!==c)j(t,"xml: prefix must be bound to "+c+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==l)j(t,"xmlns: prefix must be bound to "+l+"\nActual: "+t.attribValue);else{var r=t.tag,s=t.tags[t.tags.length-1]||t;r.ns===s.ns&&(r.ns=Object.create(s.ns)),r.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function M(t,e){if(t.opt.xmlns){var i=t.tag,n=F(t.tagName);i.prefix=n.prefix,i.local=n.local,i.uri=i.ns[n.prefix]||"",i.prefix&&!i.uri&&(j(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),i.uri=n.prefix);var r=t.tags[t.tags.length-1]||t;i.ns&&r.ns!==i.ns&&Object.keys(i.ns).forEach((function(e){O(t,"onopennamespace",{prefix:e,uri:i.ns[e]})}));for(var s=0,o=t.attribList.length;s",t.tagName="",void(t.state=w.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,i=t.tagName;t.strict||(i=i[t.looseCase]());for(var n=i;e--&&t.tags[e].name!==n;)j(t,"Unexpected close tag");if(e<0)return j(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=w.TEXT);t.tagName=i;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];var h=t.tags[t.tags.length-1]||t;t.opt.xmlns&&s.ns!==h.ns&&Object.keys(s.ns).forEach((function(e){var i=s.ns[e];O(t,"onclosenamespace",{prefix:e,uri:i})}))}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=w.TEXT}function B(t){var e,i=t.entity,n=i.toLowerCase(),r="";return t.ENTITIES[i]?t.ENTITIES[i]:t.ENTITIES[n]?t.ENTITIES[n]:("#"===(i=n).charAt(0)&&("x"===i.charAt(1)?(i=i.slice(2),r=(e=parseInt(i,16)).toString(16)):(i=i.slice(1),r=(e=parseInt(i,10)).toString(10))),i=i.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==i?(j(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function W(t,e){"<"===e?(t.state=w.OPEN_WAKA,t.startTagPosition=t.position):m(e)||(j(t,"Non-whitespace before first tag."),t.textNode=e,t.state=w.TEXT)}function N(t,e){var i="";return e1114111||S(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?i.push(o):(t=55296+((o-=65536)>>10),e=o%1024+56320,i.push(t,e)),(n+1===r||i.length>16384)&&(s+=x.apply(null,i),i.length=0)}return s},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:C,configurable:!0,writable:!0}):String.fromCodePoint=C)}(e)},789:(t,e,i)=>{var n=i(995);function r(){n.call(this)}r.prototype=new n,t.exports=r,r.Stream=r,r.prototype.pipe=function(t,e){var i=this;function n(e){t.writable&&!1===t.write(e)&&i.pause&&i.pause()}function r(){i.readable&&i.resume&&i.resume()}i.on("data",n),t.on("drain",r),t._isStdio||e&&!1===e.end||(i.on("end",o),i.on("close",a));var s=!1;function o(){s||(s=!0,t.end())}function a(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function h(t){if(c(),!this.hasListeners("error"))throw t}function c(){i.off("data",n),t.off("drain",r),i.off("end",o),i.off("close",a),i.off("error",h),t.off("error",h),i.off("end",c),i.off("close",c),t.off("end",c),t.off("close",c)}return i.on("error",h),t.on("error",h),i.on("end",c),i.on("close",c),t.on("end",c),t.on("close",c),t.emit("pipe",i),t}},141:(t,e,i)=>{"use strict";var n=i(861).Buffer,r=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===r||!r(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=h,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=l,this.end=u,e=3;break;default:return this.write=f,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,i=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function h(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var n=i.charCodeAt(i.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var i=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,i)}return e}function l(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i=0?(r>0&&(t.lastNeed=r-1),r):--n=0?(r>0&&(t.lastNeed=r-2),r):--n=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},79:(t,e,i)=>{"use strict";var n=i(895),r=i.n(n),s=i(38),o=i(676);const a={0:[255,64,64],.25:[255,255,64],.5:[64,255,64],.75:[64,255,255],1:[64,64,255],keys:[0,.25,.5,.75,1]},h={0:[0,0,0],40:[0,32,233],50:[117,234,76],80:[219,61,233],200:[219,51,36],keys:[0,40,50,80,200]};function c(t){let e=0;return 1===t.length?e=2.5:2===t.length?e=10:3===t.length?e=15.5:4===t.length?e=21:5===t.length?e=29:6===t.length?e=35:7===t.length?e=41:8===t.length&&(e=47),e}function l(t,e,i,n,r){return(i*n-r)/(t+e)}function u(t,e,i,n,r,s,o){const a=l(t,e,t,n,r);return[s+o,s+a-o,s+a+r+o,s+a+r+l(t,e,i,n,r)-o]}function f(t,e,i,n,r,s){const o=t+n*(e-t)/i+s;return[o,t+r*(e-t)/i-s-o]}var d;!function(t){t.fixed="fixed",t.dynamic="dynamic",t.ncbiblast="ncbiblast",t.blasterjs="blasterjs"}(d||(d={}));const p={value:"",required:!0,minLength:35,maxLength:60,pattern:/([a-z_])*-([A-Z0-9])*-\d*-\d*-\d*-(np2|p1m|p2m)$/},g={selectable:!1,evented:!1,objectCaching:!1},m={...g},v={...g},y={...g};function b(t,e,i){const n=i.keys;if(n.length!=e.length)throw Error("Color Scheme and Gradient Steps should have matching lengths!");if(t+0===0)return`rgb(${i[n[0]].join(",")})`;{const i=e[0],n=e[1],r=e[2],s=e[3],o=e[4];let a;if(t=e[1]&&t=e[2]&&t=e[3]&&t=e[4]?`rgb(${i[n[4]].join(",")})`:"rgb(192,192,192)"}function x(t,e,i,n){let r=[];if(n===d.fixed)r=[0,Math.pow(10,-1),Math.pow(10,0),Math.pow(10,1),Math.pow(10,2)];else if(n===d.dynamic)if(e<1e-304){const t=-304;r=[0,Math.pow(10,t),Math.pow(10,t/2),Math.pow(10,t/4),Math.pow(10,t/8)]}else if(t<1){const n=Math.log10(e);if(e<=1){let s,o,a;if(0===t&&i>0)s=Math.log10(i)-1;else{const e=Math.log10(t);s=e+(n-e)/2}o=s+(n-s)/2,a=o+(n-o)/2,r=[t,Math.pow(10,s),Math.pow(10,o),Math.pow(10,a),e]}else{const n=Math.log10(i)-Math.log10(e);r=Math.abs(n)<=2?[t,1,(2+e)/3,(2+2*e)/3,e]:Math.abs(n)<=4?[t,Math.pow(10,n/2),1,(e+1)/2,e]:[t,Math.pow(10,n/2),Math.pow(10,n/4),1,e]}}else r=[t,(3*t+e)/4,(t+e)/2,(t+3*e)/4,e];else r=n===d.ncbiblast?[0,40,50,80,200]:[0,1e-5,.01,1,100];return r}function S(t){let e;return e="Pfam"==t?"rgb(211,47,47)":"SUPERFAMILY"==t?"rgb(171,71,188)":"SMART"==t?"rgb(106,27,154)":"HAMAP"==t?"rgb(57,73,171)":"PANTHER"==t?"rgb(33,150,243)":"PRODOM"==t?"rgb(0,188,212)":"PROSITE profiles"==t?"rgb(0,150,136)":"CDD"==t?"rgb(76,175,80)":"CATH-Gene3D"==t?"rgb(205,220,57)":"PIRSF"==t?"rgb(255,235,59)":"PRINTS"==t?"rgb(255,193,7)":"TIGRFAMs"==t?"rgb(255,112,67)":"SFLD"==t?"rgb(121,85,72)":"PROSITE patterns"==t?"rgb(55,71,79)":"rgb(128,128,128)",e}var C=i(990);class w{constructor(t){this.element=t}getFabricCanvas(){const t={defaultCursor:"default",moveCursor:"default",hoverCursor:"default"};this.staticCanvas?this.canvas=new o.fabric.StaticCanvas(this.element,t):this.canvas=new o.fabric.Canvas(this.element,t)}setFrameSize(){this.canvas.setWidth(this.canvasWidth),this.canvas.setHeight(this.canvasHeight)}renderCanvas(){this.canvas.renderAll()}}class T{constructor(){this.values=new Map}get(t){if(this.values.has(t))return this.values.get(t)}put(t,e){this.values.has(t)||this.values.set(t,e)}delete(t){this.values.has(t)&&this.values.delete(t)}}function E(t){return Number.isInteger(t)?t+".0":t<1e-4||t>1e4?t.toExponential(2):function(t){return Math.floor(t)===t?0:t.toString().split(".")[1].length||0}(t)>3?t.toFixed(3).toString():t.toString()}async function O(t,e="json"){return await fetch(t).then((i=>{if(!i.ok)throw new Error(`Could not retrieve data from ${t}`);if("json"!==e)return i.text();try{return i.json()}catch(e){throw new Error(`Could not decode JSON data from ${t}`)}})).catch((t=>console.log(t)))}function P(t,e){return t}function A(t){const e=t.split("-")[0];return"mock_jobid-I20200317-103136-0485-5599422-np2"===t?"https://raw.githubusercontent.com/ebi-jdispatcher/jdispatcher-viewers/master/src/testdata/ncbiblast.json":t.endsWith("-np2")?`https://wwwdev.ebi.ac.uk/Tools/services/rest/${e}/result/${t}/json`:`https://www.ebi.ac.uk/Tools/services/rest/${e}/result/${t}/json`}function k(t,e=!1){let i=!0;return t.required&&(i=i&&0!==t.value.trim().length),t.minLength&&(i=i&&t.value.trim().length>=t.minLength),t.maxLength&&(i=i&&t.value.trim().length<=t.maxLength),t.pattern&&(i=i&&t.pattern.test(t.value.trim())),e&&(i?console.log(`JobId "${t.value}" is valid!`):console.log(`JobId "${t.value}" is not valid!`)),i}function D(t){const e={...p};return e.value=t,e.value.startsWith("http")||e.value.includes("/")||e.value.includes("./")||!k(e)||(t=A(t)),t}function j(t,e=30){const i=function(t,e=30){let i="";for(const n of t.hits.slice(0,e))i+=""===i?`${n.hit_acc}`:`,${n.hit_acc}`;return i}(t,e);return function(t){return`https://www.ebi.ac.uk/Tools/dbfetch/dbfetch?db=iprmc;id=${t};format=iprmcxml;style=raw`}(i)}function I(t,e=30){return function(t,e){let i=0,n={};for(const r of t.interpromatch[0].protein)if(i++,i<=e){let t=[],e={};for(const i of r.match){let n={};if(void 0!==i.ipr){const r=`${F(i._attributes.dbname)}_${i.ipr[0]._attributes.id}`;t.includes(r)||t.push(r),r in e||(e[r]=[]),n={id:i.ipr[0]._attributes.id,name:i.ipr[0]._attributes.name,dbname:F(i._attributes.dbname),type:i.ipr[0]._attributes.type,altid:i._attributes.id,altname:i._attributes.name,status:i._attributes.status,model:i._attributes.model,evd:i._attributes.evd,start:Number(i.lcn[0]._attributes.start),end:Number(i.lcn[0]._attributes.end),fragments:i.lcn[0]._attributes.fragments,score:i.lcn[0]._attributes.fragments},e[r].push(n)}else{const r=`${F(i._attributes.dbname)}_${i._attributes.id}`;t.includes(r)||t.push(r),r in e||(e[r]=[]),n={id:i._attributes.id,name:i._attributes.name,dbname:F(i._attributes.dbname),status:i._attributes.status,model:i._attributes.model,evd:i._attributes.evd,type:"Unclassified",start:Number(i.lcn[0]._attributes.start),end:Number(i.lcn[0]._attributes.end),fragments:i.lcn[0]._attributes.fragments,score:i.lcn[0]._attributes.fragments},e[r].push(n)}}n[r._attributes.id]={id:r._attributes.id,name:r._attributes.name,length:Number(r._attributes.length),matches:t.sort(),match:e}}return n}(function(t){try{return JSON.parse((0,C.xml2json)(t,{compact:!0,spaces:2,alwaysArray:!0}))}catch(t){return console.log("Cannot parse the resulting Dbfetch response (likely not formatted XML)!"),{}}}(t),e)}function F(t){let e="Unclassified";return"IPR"===(t=t.toUpperCase())||"INTERPRO"===t?e="InterPro":"CATHGENE3D"===t||"CATH-GENE3D"===t||"GENE3D"===t?e="CATH-Gene3D":"CDD"===t?e="CDD":"PANTHER"===t?e="PANTHER":"HAMAP"===t?e="HAMAP":"PFAM"===t?e="Pfam":"PIRSF"===t?e="PIRSF":"PRINTS"===t?e="PRINTS":"PROSITE PROFILES"===t||"PROSITE_PROFILES"===t||"PROFILE"===t?e="PROSITE profiles":"PROSITE PATTERNS"===t||"PROSITE_PATTERNS"===t||"PROSITE"===t?e="PROSITE patterns":"SFLD"===t?e="SFLD":"SMART"===t?e="SMART":"SUPERFAMILY"===t||"SSF"===t?e="SUPERFAMILY":"TIGERFAMS"===t?e="TIGRFAMs":"PRODOM"===t&&(e="PRODOM"),e}function L(t,e){let i="";return t.startsWith("IPR")?i=`https://www.ebi.ac.uk/interpro/entry/InterPro/${t}`:"CATH-Gene3D"===e?i=`https://www.ebi.ac.uk/interpro/entry/cathgene3d/${t}`:"CDD"===e?i=`https://www.ebi.ac.uk/interpro/entry/cdd/${t}`:"PANTHER"===e?i=`https://www.ebi.ac.uk/interpro/entry/panther/${t}`:"HAMAP"===e?i=`https://www.ebi.ac.uk/interpro/entry/hamap/${t}`:"Pfam"===e?i=`https://www.ebi.ac.uk/interpro/entry/pfam/${t}`:"PIRSF"===e?i=`https://www.ebi.ac.uk/interpro/entry/pirsf/${t}`:"PRINTS"===e?i=`https://www.ebi.ac.uk/interpro/entry/prints/${t}`:"PROSITE profiles"===e?i=`https://www.ebi.ac.uk/interpro/entry/profile/${t}`:"PROSITE patterns"===e?i=`https://www.ebi.ac.uk/interpro/entry/prosite/${t}`:"SFLD"===e?i=`https://www.ebi.ac.uk/interpro/entry/sfld/${t}`:"SMART"===e?i=`https://www.ebi.ac.uk/interpro/entry/smart/${t}`:"SUPERFAMILY"===e?i=`https://www.ebi.ac.uk/interpro/entry/ssf/${t}`:"TIGRFAMs"===e?i=`https://www.ebi.ac.uk/interpro/entry/tigrfams/${t}`:"PRODOM"===e&&(i=`https://www.ebi.ac.uk/interpro/entry/prodom/${t}`),i}function M(t,e,i){const n=i,r={...m};r.fontWeight="bold",r.fontSize=e.fontSize+1,r.top=i,r.left=5;const s=t.program,a=t.version,h=new o.fabric.Text(`${s} (version: ${a})`,r);let c=[];for(const e of t.dbs)c.push(e.name);const l=c.join(", ");r.fontWeight="normal",r.fontSize=e.fontSize,i+=15,r.top=i;const u=new o.fabric.Text(`Database(s): ${l}`,r);i+=15,r.top=i;const f=new o.fabric.Text("Sequence: ",r),d=t.query_len;i+=15,r.top=i;const p=new o.fabric.Text(`Length: ${d}`,r),v=t.start;r.top=n,r.left=e.canvasWidth-135;const y=new o.fabric.Text(`${v}`,r),b=t.end;r.top=n+15;const _=new o.fabric.Text(`${b}`,r);return new o.fabric.Group([h,u,f,p,y,_],g)}function R(t,e,i){const n=t.query_def,r={...m};return r.fontFamily="Menlo",r.fontSize=e.fontSize-2,r.evented=!0,r.top=i-15,r.left=57.5,[new o.fabric.Text(`${n}`,r),r]}function B(t,e,i){const n={...y};n.top=i,n.stroke="black",n.strokeWidth=e.strokeWidth;const r=[t.startQueryPixels,i,t.endQueryPixels,i];n.left=t.startQueryPixels;const s=new o.fabric.Line(r,n),a=[t.startQueryPixels,i-3,t.startQueryPixels,i+3];n.top=i-2;const h=new o.fabric.Line(a,n),c=[t.endQueryPixels,i-3,t.endQueryPixels,i+3];n.left=t.endQueryPixels;const l=new o.fabric.Line(c,n),u=[t.startSubjPixels,i,t.endSubjPixels,i];n.top=i,n.left=t.startSubjPixels;const f=new o.fabric.Line(u,n),d=[t.startSubjPixels,i-3,t.startSubjPixels,i+3];n.top=i-2;const p=new o.fabric.Line(d,n),m=[t.endSubjPixels,i-3,t.endSubjPixels,i+3];n.left=t.endSubjPixels;const v=new o.fabric.Line(m,n);return new o.fabric.Group([s,f,h,l,p,v],g)}function W(t,e,i){const n={...y};n.top=i,n.stroke="black",n.strokeWidth=e.strokeWidth;const r=[t.startPixels,i,t.endPixels,i];n.left=t.startPixels;const s=new o.fabric.Line(r,n),a=[t.startPixels,i-3,t.startPixels,i+3];n.top=i-2;const h=new o.fabric.Line(a,n),c=[t.endPixels,i-3,t.endPixels,i+3];n.left=t.endPixels;const l=new o.fabric.Line(c,n);return new o.fabric.Group([s,h,l],g)}function N(t,e,i){const n={...y};n.top=i,n.stroke="black",n.strokeWidth=e.strokeWidth,n.strokeDashArray=e.strokeDashArray;const r=[t.startPixels,i,t.endPixels,i];return n.left=t.startPixels,new o.fabric.Line(r,n)}function z(t,e,i){const n={...m};n.fontSize=e.fontSize,n.top=i,n.left=t.startPixels-2.5;const r=new o.fabric.Text(`${t.start}`,n);let s=c(`${t.end}`);n.left=t.endPixels-s;const a=new o.fabric.Text(`${t.end}`,n);return new o.fabric.Group([r,a],g)}function U(t,e){const i={...m};return i.fontWeight="bold",i.fontSize=t.fontSize+1,i.top=e,i.left=t.contentWidth/2,i.fill="red",new o.fabric.Text("--------------------No hits found--------------------",i)}function H(t,e,i,n){const r={...m};r.fontFamily="Menlo",r.fontSize=i.fontSize-2,r.top=n-2;const s=" ".repeat(t-(e.hit_db.length+e.hit_id.length)),a=new o.fabric.Text(s,r);let h=`${e.hit_db}:${e.hit_id} ${e.hit_desc}`,c=`${s}${e.hit_db}:${e.hit_id} ${e.hit_desc}`;return c.length>40&&(h=(c.slice(0,38)+"...").slice(s.length)),r.left=10+6*s.length,r.evented=!0,[a,new o.fabric.Text(h,r),r]}function G(t,e,i,n){const r={...m};return r.fontSize=i.fontSize,r.top=n,r.left=i.contentWidth/2,r.fill="red",new o.fabric.Text(`This hit contains ${t} alignments, but only the first ${e} are displayed!`,r)}function X(t,e,i,n){const r={...m};let s;return r.fontSize=i.fontSize,r.top=n-15,r.textAlign="center",r.left=t,s=i.colorScheme===d.ncbiblast?new o.fabric.Text(E(e.hsp_bit_score),r):new o.fabric.Text(E(e.hsp_expect),r),s}function Y(t,e,i,n,r,s){const a={...v};a.evented=!0,a.top=r,a.fill=s,a.rx=5,a.ry=5,a.top=r-15,a.left=t,a.width=e,a.height=10;const h=new o.fabric.Rect(a);return a.top=r-15,a.left=i,a.width=n,a.height=10,[h,new o.fabric.Rect(a)]}function V(t,e){const i={...m};return i.fontSize=t.fontSize+1,i.fontWeight="bold",i.top=e,i.left=t.scaleLabelWidth,new o.fabric.Text("Scale Type:",i)}function $(t,e){const i={...m};i.fontSize=t.fontSize+1,i.top=e,i.left=t.scaleLabelWidth;const n={...m};n.fontSize=t.fontSize+12,n.fill="grey",n.evented=!0,n.top=e-8,n.left=t.scaleLabelWidth;const r={...n},s={...n};let a;a=t.colorScheme===d.dynamic?"☒":"☐",t.colorScheme===d.dynamic&&(n.fill="black"),n.left+=80;const h=new o.fabric.Text(a,n);i.left+=100;const c=new o.fabric.Text("Dynamic (E-value: min to max)",i);a=t.colorScheme===d.fixed?"☒":"☐",t.colorScheme===d.fixed&&(r.fill="black"),r.left+=290;const l=new o.fabric.Text(a,r);i.left+=210;const u=new o.fabric.Text("Fixed (E-value: 0.0 to 100.0)",i);a=t.colorScheme===d.ncbiblast?"☒":"☐",t.colorScheme===d.ncbiblast&&(s.fill="black"),s.left+=480;const f=new o.fabric.Text(a,s);return i.left+=190,[h,c,n,l,u,r,f,new o.fabric.Text("NCBI BLAST+ (Bit score: <40 to ≥200)",i),s]}function q(t,e){const i={...m};let n;return i.fontSize=t.fontSize+1,i.top=e,n=t.colorScheme===d.ncbiblast?"Bit score":"E-value",t.colorScheme===d.ncbiblast?i.left=t.scaleLabelWidth-56:i.left=t.scaleLabelWidth-50,new o.fabric.Text(`${n}`,i)}function K(t,e){const i={...v};i.top=e,i.left=t.scaleLabelWidth,i.width=t.scaleWidth,i.height=15;const n=new o.fabric.Rect(i);var r,s;return t.colorScheme===d.ncbiblast?(r=n,s=t.scaleWidth,r.set("fill",new o.fabric.Gradient({type:"linear",coords:{x1:0,y1:0,x2:s,y2:0},colorStops:[{offset:0,color:`rgb(${h[0].join(",")})`},{offset:.199999,color:`rgb(${h[0].join(",")})`},{offset:.2,color:`rgb(${h[40].join(",")})`},{offset:.399999,color:`rgb(${h[40].join(",")})`},{offset:.4,color:`rgb(${h[50].join(",")})`},{offset:.599999,color:`rgb(${h[50].join(",")})`},{offset:.6,color:`rgb(${h[80].join(",")})`},{offset:.799999,color:`rgb(${h[80].join(",")})`},{offset:.8,color:`rgb(${h[200].join(",")})`},{offset:1,color:`rgb(${h[200].join(",")})`}]}))):function(t,e,i){t.set("fill",new o.fabric.Gradient({type:"linear",coords:{x1:0,y1:0,x2:i,y2:0},colorStops:[{offset:0,color:`rgb(${a[0].join(",")})`},{offset:.25,color:`rgb(${a[.25].join(",")})`},{offset:.5,color:`rgb(${a[.5].join(",")})`},{offset:.75,color:`rgb(${a[.75].join(",")})`},{offset:1,color:`rgb(${a[1].join(",")})`}]}))}(n,0,t.scaleWidth),n}function Q(t,e,i,n,r,s,a){const h={...y};h.top=a,h.stroke="black",h.strokeWidth=s.strokeWidth;const c=[t,a,r,a];h.left=t;const l=new o.fabric.Line(c,h),u=[t,a,t,a+4],f=new o.fabric.Line(u,h),d=[e,a,e,a+4];h.left=e;const p=new o.fabric.Line(d,h),m=[i,a,i,a+4];h.left=i;const v=new o.fabric.Line(m,h),b=[n,a,n,a+4];h.left=n;const _=new o.fabric.Line(b,h),x=[r,a,r,a+4];h.left=r;const S=new o.fabric.Line(x,h);return new o.fabric.Group([l,f,p,v,_,S],g)}function J(t,e,i,n,r,s,a,h){const c={...y};c.top=h,c.stroke="black",c.strokeWidth=a.strokeWidth;const l=[t,h,s,h];c.left=t;const u=new o.fabric.Line(l,c),f=[t,h,t,h+4],d=new o.fabric.Line(f,c),p=[e,h,e,h+4];c.left=e;const m=new o.fabric.Line(p,c),v=[i,h,i,h+4];c.left=i;const b=new o.fabric.Line(v,c),_=[n,h,n,h+4];c.left=n;const x=new o.fabric.Line(_,c),S=[r,h,r,h+4];c.left=r;const C=new o.fabric.Line(S,c),w=[s,h,s,h+4];c.left=s;const T=new o.fabric.Line(w,c);return new o.fabric.Group([u,d,m,b,x,C,T],g)}function Z(t,e,i,n){const r={...m};r.top=n,r.fontSize=i.fontSize;let s=`<${t[1]}`;r.left=i.scaleLabelWidth+e-3*s.length-72;const a=new o.fabric.Text(s,r);s=`${t[1]} - ${t[2]}`,r.left=i.scaleLabelWidth+2*e-3*s.length-72;const h=new o.fabric.Text(s,r);s=`${t[2]} - ${t[3]}`,r.left=i.scaleLabelWidth+3*e-3*s.length-72;const c=new o.fabric.Text(s,r);s=`${t[3]} - ${t[4]}`,r.left=i.scaleLabelWidth+4*e-3*s.length-72;const l=new o.fabric.Text(s,r);s=`≥${t[4]}`,r.left=i.scaleLabelWidth+i.scaleWidth-3*s.length-72;const u=new o.fabric.Text(s,r);return new o.fabric.Group([a,h,c,l,u],g)}function tt(t,e,i,n){const r={...m};r.top=n,r.fontSize=i.fontSize,r.left=i.scaleLabelWidth-3*E(t[0]).length;const s=new o.fabric.Text(E(t[0]),r);r.left=i.scaleLabelWidth+e-3*E(t[1]).length;const a=new o.fabric.Text(E(t[1]),r);r.left=i.scaleLabelWidth+2*e-3*E(t[2]).length;const h=new o.fabric.Text(E(t[2]),r);r.left=i.scaleLabelWidth+3*e-3*E(t[3]).length;const c=new o.fabric.Text(E(t[3]),r);r.left=i.scaleLabelWidth+i.scaleWidth-3*E(t[4]).length;const l=new o.fabric.Text(E(t[4]),r);return new o.fabric.Group([s,a,h,c,l],g)}function et(t,e){const i={...m};return i.fontSize=t.fontSize,i.evented=!0,i.top=e,i.left=225,[new o.fabric.Text("European Bioinformatics Institute 2006-2022. EBI is an Outstation of the European Molecular Biology Laboratory.",i),i]}function it(t){return new o.fabric.Rect({selectable:!1,evented:!1,objectCaching:!1,top:0,left:0,width:t.canvasWidth-1,height:t.canvasHeight-1,strokeWidth:1,stroke:"lightseagreen",fill:"transparent"})}function nt(t,e,i){const n={...m};n.fontSize=t.fontSize,n.top=e,n.left=t.contentWidth/2,n.fill="red";const r=`This is a partial representation of the result, only the first ${i} hits are displayed!`;return new o.fabric.Text(`${r}`,n)}function rt(t,e,i,n,r){const s={...v};return s.fill=n,s.opacity=.5,s.rx=5,s.ry=5,s.top=i+15,s.left=t,s.width=e,s.height=r,new o.fabric.Rect(s)}function st(t,e,i){const n={...m};n.fontFamily="Menlo",n.fontSize=e.fontSize-2,n.top=i-5;const r=" ".repeat(40-t.length),s=new o.fabric.Text(r,n);let a=`${t}`,h=`${r}${t}`;return h.length>40&&(a=(h.slice(0,38)+"...").slice(r.length)),n.left=12+6*r.length,n.evented=!0,[s,new o.fabric.Text(a,n),n]}function ot(t,e,i,n){const r={...v};return r.evented=!0,r.top=i,r.fill=n,r.rx=5,r.ry=5,r.top=i-15,r.left=t,r.width=e,r.height=10,r.stroke="black",r.strokeWidth=.5,new o.fabric.Rect(r)}function at(t,e,i,n,r,s){t.on("mouseover",(a=>{if(a.target){a.target.set("hoverCursor","pointer"),a.target.setOptions(e),a.target.setOptions({underline:!0});const h=function(t,e,i,n,r){const s={...m};let a;if(s.fontSize=n.fontSize+1,s.originX="left",s.originY="top",s.top=5,s.left=5,e.length>150&&(e=e.slice(0,150)+"..."),""!==e){const t=6.3*e.length,n=6.3*i.length;s.width=t>n?t+5:n+5,a=new o.fabric.Text(`${e}\n${i}`,s)}else{const t=6.3*i.length;s.width=t+5,a=new o.fabric.Text(`${i}`,s)}const h={...v};h.fill="white",h.stroke="lightseagreen",h.strokeWidth=.5,h.rx=5,h.ry=5,h.originX="left",h.originY="top",h.width=a.width+10,h.height=a.height+10,h.opacity=.95;const c=new o.fabric.Rect(h),l=new o.fabric.Group([c,a],{selectable:!1,evented:!1,objectCaching:!1,visible:!0,top:r,originX:"left"});return l.left=t+10,l}(+t.left,i,n,r,+t.top+15);s.canvas.add(h),s.canvas.renderAll(),h.visible=!1}}))}function ht(t,e,i){t.on("mousedown",(t=>{t.target&&(window.open(e,"_blank"),i.canvas.renderAll())}))}function ct(t,e,i){t.on("mouseout",(t=>{t.target&&(t.target.setOptions(e),t.target.setOptions({underline:!1}),i.canvas.renderAll())}))}function lt(t,e,i,n,r,s,a,h){t.on("mouseover",(c=>{if(c.target){let l;c.target.set("hoverCursor","pointer"),l="hsp_hit_from"in s?function(t,e,i,n,r,s,a){const h={...m};let c;h.fontSize=s.fontSize+1,h.textAlign="left",h.originX="top",h.originY="top",h.top=5,c=s.colorScheme===d.ncbiblast?`Start: ${i}\nEnd: ${n}\nBit score: ${E(r.hsp_bit_score)}`:`Start: ${i}\nEnd: ${n}\nE-value: ${E(r.hsp_expect)}`;const l=new o.fabric.Text(c,h),u={...v};u.fill="white",u.stroke="lightseagreen",u.rx=5,u.ry=5,u.originX="top",u.originY="top",u.width=140,u.height=60,u.opacity=.95;const f=new o.fabric.Rect(u);return new o.fabric.Group([f,l],{selectable:!1,evented:!1,objectCaching:!1,visible:!1,top:a,left:t+e/2})}(e,i,n,r,s,a,t.top+5):function(t,e,i,n,r,s,a){const h={...m};h.fontSize=s.fontSize+1,h.textAlign="left",h.originX="top",h.originY="top",h.top=5,h.left=10,h.width=200;let c=`Start: ${i}\nEnd: ${n}\nDatabase: ${r.dbname}\n`;void 0!==r.altid&&void 0!==r.altname?c+=`ID: ${r.altid}\nName: ${r.altname}\nType: ${r.type}\nIPR ID: ${r.id}\nIPR Name: ${r.name}\n`:c+=`ID: ${r.id}\nName: ${r.name}\nType: ${r.type}\n`;const l=new o.fabric.Textbox(c,h),u={...v};u.fill="white",u.stroke="lightseagreen",u.rx=5,u.ry=5,u.originX="top",u.originY="top",u.width=l.width+40,u.height=l.height,u.opacity=.95;const f=new o.fabric.Rect(u);return new o.fabric.Group([f,l],{selectable:!1,evented:!1,objectCaching:!1,visible:!1,top:a,left:t+e/2})}(e,i,n,r,s,a,t.top+5),h.canvas.add(l),l.set({visible:!0}),t.bringToFront(),l.bringToFront(),h.canvas.renderAll(),l.set({visible:!1})}}))}function ut(t,e){t.on("mouseout",(t=>{t.target&&e.canvas.renderAll()}))}function ft(t,e,i){t.on("mouseover",(t=>{t.target&&(t.target.set("hoverCursor","pointer"),t.target.setOptions(e),t.target.setOptions({fill:"black"}),i.canvas.renderAll())}))}function dt(t,e,i){t.on("mousedown",(t=>{t.target&&i.colorScheme!=e&&(i.colorScheme=e,i.render())}))}function pt(t,e,i,n){t.on("mouseout",(t=>{t.target&&(t.target.setOptions(e),n.colorScheme!=i&&t.target.setOptions({fill:"grey"}),n.canvas.renderAll())}))}let gt=new T;class mt extends w{constructor(t,e,i){super(t),this.dataObj=e,this.topPadding=0,this.queryLen=0,this.subjLen=0,this.gradientSteps=[],this.queryFactor=1,this.subjFactor=1,null!=i.canvasWidth?this.canvasWidth=i.canvasWidth:this.canvasWidth=1e3,null!=i.canvasHeight?this.canvasHeight=i.canvasHeight:this.canvasHeight=110,null!=i.contentWidth?this.contentWidth=i.contentWidth:this.contentWidth=65.5*this.canvasWidth/100,null!=i.contentScoringWidth?this.contentScoringWidth=i.contentScoringWidth:this.contentScoringWidth=7*this.canvasWidth/100,null!=i.contentLabelWidth?this.contentLabelWidth=i.contentLabelWidth:this.contentLabelWidth=26.5*this.canvasWidth/100,null!=i.scaleWidth?this.scaleWidth=i.scaleWidth:this.scaleWidth=75*this.canvasWidth/100,null!=i.scaleLabelWidth?this.scaleLabelWidth=i.scaleLabelWidth:this.scaleLabelWidth=20*this.canvasWidth/100,null!=i.marginWidth?this.marginWidth=i.marginWidth:this.marginWidth=.15*this.canvasWidth/100,null!=i.colorScheme?this.colorScheme=i.colorScheme:this.colorScheme=d.dynamic,null!=i.numberHits?this.numberHits=i.numberHits:this.numberHits=100,null!=i.numberHsps?this.numberHsps=i.numberHsps:this.numberHsps=10,null!=i.logSkippedHsps?this.logSkippedHsps=i.logSkippedHsps:this.logSkippedHsps=!0,null!=i.fontSize?this.fontSize=i.fontSize:this.fontSize=12,null!=i.fontWeigth?this.fontWeigth=i.fontWeigth:this.fontWeigth="normal",null!=i.fontFamily?this.fontFamily=i.fontFamily:this.fontFamily="Times New Roman",null!=i.canvasWrapperStroke?this.canvasWrapperStroke=i.canvasWrapperStroke:this.canvasWrapperStroke=!1,null!=i.staticCanvas?this.staticCanvas=i.staticCanvas:this.staticCanvas=!1,this.getFabricCanvas()}render(){this.loadInitalProperties(),this.loadInitialCoords(),this.canvas.clear(),this.drawHeaderGroup(),this.drawContentGroup(),this.drawFooterGroup(),this.wrapCanvas(),this.setFrameSize(),this.renderCanvas()}loadInitalProperties(){this.queryLen=this.dataObj.query_len;for(const t of this.dataObj.hits.slice(0,this.numberHits))t.hit_len>this.subjLen&&(this.subjLen=t.hit_len);const t=this.queryLen/this.subjLen,e=this.subjLen/this.queryLen;t>8&&(this.subjFactor=.5*this.queryLen/this.subjLen),e>8&&(this.queryFactor=.5*this.subjLen/this.queryLen)}loadInitialCoords(){this.startQueryPixels=gt.get("startQueryPixels"),this.endQueryPixels=gt.get("endQueryPixels"),this.startSubjPixels=gt.get("startSubjPixels"),this.endSubjPixels=gt.get("endSubjPixels"),this.startEvalPixels=gt.get("startEvalPixels"),this.startQueryPixels||this.endQueryPixels||this.startSubjPixels||this.endSubjPixels||this.startEvalPixels||([this.startQueryPixels,this.endQueryPixels,this.startSubjPixels,this.endSubjPixels]=u(this.queryLen*this.queryFactor,this.subjLen*this.subjFactor,this.subjLen*this.subjFactor,this.contentWidth,this.contentScoringWidth,this.contentLabelWidth,this.marginWidth),this.startEvalPixels=this.endQueryPixels+2*this.marginWidth,gt.put("startQueryPixels",this.startQueryPixels),gt.put("endQueryPixels",this.endQueryPixels),gt.put("startSubjPixels",this.startSubjPixels),gt.put("endSubjPixels",this.endSubjPixels),gt.put("startEvalPixels",this.startEvalPixels))}drawHeaderGroup(){let t,e,i;this.topPadding=2,t=gt.get("textHeaderGroup"),t||(t=M(this.dataObj,{fontSize:this.fontSize,canvasWidth:this.canvasWidth},this.topPadding),gt.put("textHeaderGroup",t)),this.canvas.add(t),this.topPadding+=45,e=gt.get("textHeaderLink"),i=gt.get("textHeaderLink_textSeqObj"),e||([e,i]=R(this.dataObj,{fontSize:this.fontSize},this.topPadding),gt.put("textHeaderLink",e),gt.put("textHeaderLink_textSeqObj",i)),this.canvas.add(e),this.staticCanvas||null!==this.dataObj.query_url&&""!==this.dataObj.query_url&&(at(e,i,this.dataObj.query_def,this.dataObj.query_url,{fontSize:this.fontSize},this),ht(e,this.dataObj.query_url,this),ct(e,i,this))}drawContentGroup(){if(this.dataObj.hits.length>0){let t,e,i;this.topPadding+=25,t=gt.get("textContentHeaderGroup"),t||(t=function(t,e,i){const n={...m};n.fontWeight="bold",n.fontSize=e.fontSize+1,n.top=i+2,n.textAlign="center";const r=l(t.queryLen,t.subjLen,t.queryLen,e.contentWidth,e.contentScoringWidth),s=l(t.queryLen,t.subjLen,t.subjLen,e.contentWidth,e.contentScoringWidth);n.left=t.startQueryPixels;const a=new o.fabric.Text("Sequence Match",n);let h;a.width=r,n.left=t.startEvalPixels,h=e.colorScheme===d.ncbiblast?new o.fabric.Text("Bit score",n):new o.fabric.Text("E-value",n),h.width=e.contentScoringWidth,n.left=t.startSubjPixels;const c=new o.fabric.Text("Subject Match",n);return c.width=s,new o.fabric.Group([a,h,c],g)}({queryLen:this.queryLen*this.queryFactor,subjLen:this.subjLen*this.subjFactor,startQueryPixels:this.startQueryPixels,startEvalPixels:this.startEvalPixels,startSubjPixels:this.startSubjPixels},{contentWidth:this.contentWidth,contentScoringWidth:this.contentScoringWidth,fontSize:this.fontSize,colorScheme:this.colorScheme},this.topPadding),gt.put("textContentHeaderGroup",t)),this.canvas.add(t),this.topPadding+=20,e=gt.get("lineTrackGroup"),e||(e=B({startQueryPixels:this.startQueryPixels,endQueryPixels:this.endQueryPixels,startSubjPixels:this.startSubjPixels,endSubjPixels:this.endSubjPixels},{strokeWidth:2},this.topPadding),gt.put("lineTrackGroup",e)),this.canvas.add(e),this.topPadding+=5,i=gt.get("textContentFooterGroup"),i||(i=function(t,e,i){const n={...m};n.fontSize=e.fontSize,n.top=i,n.left=t.startQueryPixels-2.5;const r=new o.fabric.Text("1",n);let s=c(`${t.queryLen}`);n.left=t.endQueryPixels-s;const a=new o.fabric.Text(`${t.queryLen}`,n);n.left=t.startSubjPixels-2.5;const h=new o.fabric.Text("1",n);s=c(`${t.subjLen}`),n.left=t.endSubjPixels-s;const l=new o.fabric.Text(`${t.subjLen}`,n);return new o.fabric.Group([r,a,h,l],g)}({queryLen:this.queryLen,subjLen:this.subjLen,startQueryPixels:this.startQueryPixels,endQueryPixels:this.endQueryPixels,startSubjPixels:this.startSubjPixels,endSubjPixels:this.endSubjPixels},{fontSize:this.fontSize},this.topPadding),gt.put("textContentFooterGroup",i)),this.canvas.add(i),this.topPadding+=25,this.drawDynamicContentGroup(),this.topPadding+=20,this.drawColorScaleGroup()}else{this.topPadding+=20;const t=U({fontSize:this.fontSize,contentWidth:this.contentWidth},this.topPadding);this.canvas.add(t)}}drawDynamicContentGroup(){let t=0,e=0;for(const i of this.dataObj.hits.slice(0,this.numberHits))i.hit_len>t&&(t=i.hit_len),i.hit_db.length+i.hit_id.length>e&&(e=i.hit_db.length+i.hit_id.length);let i=Number.MAX_VALUE,n=0,r=Number.MAX_VALUE;for(const t of this.dataObj.hits.slice(0,this.numberHits))for(const e of t.hit_hsps)this.colorScheme===d.ncbiblast?(e.hsp_bit_scoren&&(n=e.hsp_bit_score),e.hsp_bit_score0&&(r=e.hsp_bit_score)):(e.hsp_expectn&&(n=e.hsp_expect),e.hsp_expect0&&(r=e.hsp_expect));this.colorScheme,d.ncbiblast,this.gradientSteps=x(i,n,r,this.colorScheme);let s=0;for(const t of this.dataObj.hits){if(s++,!(s<=this.numberHits)){let t;this.topPadding+=20,t=gt.get("supressText"),t||(t=nt({fontSize:this.fontSize,contentWidth:this.contentWidth},this.topPadding,this.numberHits),gt.put("supressText",t)),t.top=this.topPadding,this.canvas.add(t),this.topPadding+=20;break}{let i=0;const n=t.hit_hsps.length;let r,s,o;[s,o,r]=H(e,t,{fontSize:this.fontSize},this.topPadding),this.canvas.add(s),this.canvas.add(o),this.staticCanvas||(at(o,r,t.hit_def,t.hit_url,{fontSize:this.fontSize},this),ht(o,t.hit_url,this),ct(o,r,this));for(const e of t.hit_hsps){if(i++,!(i<=this.numberHsps)){if(!0===this.logSkippedHsps){let t;t=gt.get("hspTextNotice"),t||(t=G(n,this.numberHsps,{fontSize:this.fontSize,contentWidth:this.contentWidth},this.topPadding),gt.put("hspTextNotice",t)),this.canvas.add(t),this.topPadding+=20}break}{const i=t.hit_len;let n,r,s,o;[n,r,s,o]=u(this.queryLen*this.queryFactor,this.subjLen*this.subjFactor,i,this.contentWidth,this.contentScoringWidth,this.contentLabelWidth,this.marginWidth),this.topPadding+=5;const c=B({startQueryPixels:n,endQueryPixels:r,startSubjPixels:s,endSubjPixels:o},{strokeWidth:1},this.topPadding);let l,p,g,m,v,y,x,S,C,w,T;this.canvas.add(c),"-1"===e.hsp_query_frame?(v=e.hsp_query_to,y=e.hsp_query_from):(v=e.hsp_query_from,y=e.hsp_query_to),"-1"===e.hsp_hit_frame?(x=e.hsp_hit_to,S=e.hsp_hit_from):(x=e.hsp_hit_from,S=e.hsp_hit_to),[l,p]=f(n,r,this.queryLen,v,y,this.marginWidth),[g,m]=f(s,o,i,x,S,this.marginWidth),C=this.colorScheme===d.ncbiblast?_(e.hsp_bit_score,this.gradientSteps,h):b(e.hsp_expect,this.gradientSteps,a),this.topPadding+=10,[w,T]=Y(l,p,g,m,this.topPadding,C),this.canvas.add(w),this.canvas.add(T);const E=X(this.startEvalPixels,e,{fontSize:this.fontSize,colorScheme:this.colorScheme},this.topPadding);E.width=this.contentScoringWidth,this.canvas.add(E),this.staticCanvas||(lt(w,l,p,v,y,e,{fontSize:this.fontSize,colorScheme:this.colorScheme},this),ut(w,this),lt(T,g,m,x,S,e,{fontSize:this.fontSize,colorScheme:this.colorScheme},this),ut(T,this))}}}}}drawColorScaleGroup(){const t=V({fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);let e,i,n,r,s,o,a,h,c;this.canvas.add(t),[r,s,e,o,a,i,h,c,n]=$({colorScheme:this.colorScheme,fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth},this.topPadding),this.canvas.add(r),this.canvas.add(s),this.staticCanvas||(ft(r,e,this),pt(r,e,d.dynamic,this),dt(r,d.dynamic,this)),this.canvas.add(o),this.canvas.add(a),this.staticCanvas||(ft(o,i,this),pt(o,i,d.fixed,this),dt(o,d.fixed,this)),this.canvas.add(h),this.canvas.add(c),this.staticCanvas||(ft(h,n,this),pt(h,n,d.ncbiblast,this),dt(h,d.ncbiblast,this)),this.topPadding+=25;const l=q({fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth,colorScheme:this.colorScheme},this.topPadding);this.canvas.add(l);const u=K({scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth,colorScheme:this.colorScheme},this.topPadding);if(this.canvas.add(u),this.colorScheme===d.ncbiblast){const t=(this.scaleLabelWidth+this.scaleWidth-this.scaleLabelWidth)/5;this.topPadding+=15;const e=J(this.scaleLabelWidth,this.scaleLabelWidth+t,this.scaleLabelWidth+2*t,this.scaleLabelWidth+3*t,this.scaleLabelWidth+4*t,this.scaleLabelWidth+this.scaleWidth,{strokeWidth:1},this.topPadding);this.canvas.add(e),this.topPadding+=5;const i=Z(this.gradientSteps,t,{fontSize:this.fontSize,scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);this.canvas.add(i)}else{const t=(this.scaleLabelWidth+this.scaleWidth-this.scaleLabelWidth)/4;this.topPadding+=15;const e=Q(this.scaleLabelWidth,this.scaleLabelWidth+t,this.scaleLabelWidth+2*t,this.scaleLabelWidth+3*t,this.scaleLabelWidth+this.scaleWidth,{strokeWidth:1},this.topPadding);this.canvas.add(e),this.topPadding+=5;const i=tt(this.gradientSteps,t,{fontSize:this.fontSize,scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);this.canvas.add(i)}}drawFooterGroup(){let t,e;this.topPadding+=30,t=gt.get("copyrightText"),e=gt.get("copyrightText_textFooterObj"),t||e||([t,e]=et({fontSize:this.fontSize},this.topPadding),gt.put("copyrightText",t),gt.put("copyrightText_textFooterObj",e)),this.canvas.add(t)}wrapCanvas(){if(this.topPadding+=20,this.canvasHeight=this.topPadding,this.canvasWrapperStroke){const t=it({canvasWidth:this.canvasWidth,canvasHeight:this.canvasHeight});this.canvas.add(t)}}}const vt=["PRODOM","CATH-Gene3D","CDD","PANTHER","HAMAP","Pfam","PIRSF","PRINTS","PROSITE profiles","PROSITE patterns","SFLD","SMART","SUPERFAMILY","TIGRFAMs"];function yt(t,e,i,n,r,s){let a,h,c,l;t.domainDatabaseList.includes(e)?t.currentDomainDatabase=e:t.currentDomainDatabase=void 0,t.currentDomainDatabaseDisabled=!1,i.includes(e)||(t.currentDomainDatabaseDisabled=!0),[c,l,a,h]=function(t,e,i,n){const r={...v};r.top=e,r.left=i,r.height=15,r.width=15,r.evented=!0;const s={...m};return s.fontSize=t.fontSize+1,s.top=e,s.left=i+20,t.currentDisabled?(s.fill="grey",r.fill="white",r.stroke="grey"):void 0!==t.currentDomainDatabase?(r.fill=S(t.currentDomainDatabase),r.stroke="black"):(r.fill="white",r.stroke="grey"),[new o.fabric.Rect(r),new o.fabric.Text(n,s),r,r]}({currentDomainDatabase:t.currentDomainDatabase,currentDisabled:t.currentDomainDatabaseDisabled,fontSize:s.fontSize},n,r,e),t.canvas.add(c),t.canvas.add(l),s.staticCanvas||(function(t,e,i,n){t.on("mouseover",(t=>{if(t.target){t.target.set("hoverCursor","pointer"),t.target.setOptions(e);let r=!1;n.uniqueDomainDatabases.includes(i)||(r=!0),r?(t.target.setOptions({fill:"white",stroke:"grey"}),t.target.set("hoverCursor","default")):n.domainDatabaseList.includes(i)?(t.target.setOptions({opacity:.5,stroke:"grey"}),t.target.set("hoverCursor","pointer")):(t.target.setOptions({stroke:"black"}),t.target.set("hoverCursor","pointer")),n.canvas.renderAll()}}))}(c,a,e,t),function(t,e,i,n){t.on("mouseout",(t=>{if(t.target){let r=!1;n.uniqueDomainDatabases.includes(i)||(r=!0),n.domainDatabaseList.includes(i)?r?t.target.setOptions({stroke:"grey",fill:"white"}):(t.target.setOptions(e),t.target.setOptions({opacity:1,stroke:"black"})):t.target.setOptions({stroke:"grey",fill:"white"}),n.canvas.renderAll()}}))}(c,a,e,t),function(t,e,i){t.on("mousedown",(t=>{if(t.target)if(!i.domainDatabaseList.includes(e)&&i.uniqueDomainDatabases.includes(e))i.domainDatabaseList.push(e),i.currentDomainDatabase=e,i.render();else if(i.uniqueDomainDatabases.includes(e)){const t=i.domainDatabaseList.indexOf(e);t>-1&&i.domainDatabaseList.splice(t,1),i.currentDomainDatabase=void 0,i.render()}}))}(c,e,t))}let bt=new T;class _t extends w{constructor(t,e,i,n,r=vt){super(t),this.sssDataObj=e,this.iprmcDataObj=i,this.domainDatabaseList=r,this.topPadding=0,this.queryStart=0,this.queryEnd=0,this.gradientSteps=[],this.uniqueDomainDatabases=[],this.currentDomainDatabaseDisabled=!1,null!=n.canvasWidth?this.canvasWidth=n.canvasWidth:this.canvasWidth=1e3,null!=n.canvasHeight?this.canvasHeight=n.canvasHeight:this.canvasHeight=110,null!=n.contentWidth?this.contentWidth=n.contentWidth:this.contentWidth=72.5*this.canvasWidth/100,null!=n.contentLabelWidth?this.contentLabelWidth=n.contentLabelWidth:this.contentLabelWidth=26.5*this.canvasWidth/100,null!=n.contentLabelLeftWidth?this.contentLabelLeftWidth=n.contentLabelLeftWidth:this.contentLabelLeftWidth=8.25*this.canvasWidth/100,null!=n.scaleWidth?this.scaleWidth=n.scaleWidth:this.scaleWidth=75*this.canvasWidth/100,null!=n.scaleLabelWidth?this.scaleLabelWidth=n.scaleLabelWidth:this.scaleLabelWidth=20*this.canvasWidth/100,null!=n.marginWidth?this.marginWidth=n.marginWidth:this.marginWidth=.15*this.canvasWidth/100,null!=n.colorScheme?this.colorScheme=n.colorScheme:this.colorScheme=d.dynamic,null!=n.numberHits?this.numberHits=n.numberHits:this.numberHits=30,null!=n.fontSize?this.fontSize=n.fontSize:this.fontSize=12,null!=n.fontWeigth?this.fontWeigth=n.fontWeigth:this.fontWeigth="normal",null!=n.fontFamily?this.fontFamily=n.fontFamily:this.fontFamily="Times New Roman",null!=n.canvasWrapperStroke?this.canvasWrapperStroke=n.canvasWrapperStroke:this.canvasWrapperStroke=!1,null!=n.staticCanvas?this.staticCanvas=n.staticCanvas:this.staticCanvas=!1,this.getFabricCanvas()}render(){this.loadIPRMCProperties(),this.loadInitalProperties(),this.loadInitialCoords(),this.canvas.clear(),this.drawHeaderGroup(),this.drawContentGroup(),this.drawFooterGroup(),this.wrapCanvas(),this.setFrameSize(),this.renderCanvas()}loadInitalProperties(){this.queryStart=1,this.queryEnd=this.sssDataObj.query_len}loadInitialCoords(){var t,e,i;this.startPixels=bt.get("startPixels"),this.endPixels=bt.get("endPixels"),this.startPixels||this.endPixels||([this.startPixels,this.endPixels]=(t=this.contentWidth,[(e=this.contentLabelWidth)+(i=this.marginWidth),e+t-i]),bt.put("startPixels",this.startPixels),bt.put("endPixels",this.endPixels))}loadIPRMCProperties(){if(null!=this.sssDataObj){if(this.uniqueDomainDatabases=bt.get("uniqueDomainDatabases"),!this.uniqueDomainDatabases){let t=[];for(const e of this.sssDataObj.hits.slice(0,this.numberHits))t.push(e.hit_acc);this.uniqueDomainDatabases=function(t,e){const i=[];for(const n of e)for(const e of t[`${n}`].matches)i.push(e.split("_")[0]);return i.filter(((t,e,i)=>i.indexOf(t)===e))}(this.iprmcDataObj,t),bt.put("uniqueDomainDatabases",this.uniqueDomainDatabases)}for(const t of this.domainDatabaseList)if(!this.uniqueDomainDatabases.includes(F(t))){const e=this.domainDatabaseList.indexOf(t);e>-1&&this.domainDatabaseList.splice(e,1)}}}drawHeaderGroup(){let t,e,i;this.topPadding=2,t=bt.get("textHeaderGroup"),t||(t=M(this.sssDataObj,{fontSize:this.fontSize,canvasWidth:this.canvasWidth},this.topPadding),bt.put("textHeaderGroup",t)),this.canvas.add(t),this.topPadding+=45,e=bt.get("textHeaderLink"),i=bt.get("textHeaderLink_textSeqObj"),e||([e,i]=R(this.sssDataObj,{fontSize:this.fontSize},this.topPadding),bt.put("textHeaderLink",e),bt.put("textHeaderLink_textSeqObj",i)),this.canvas.add(e),this.staticCanvas||null!=this.sssDataObj.query_url&&""!==this.sssDataObj.query_url&&(at(e,i,this.sssDataObj.query_def,this.sssDataObj.query_url,{fontSize:this.fontSize},this),ht(e,this.sssDataObj.query_url,this),ct(e,i,this))}drawContentGroup(){let t;if(this.topPadding+=25,t=bt.get("titleText"),t||(t=function(t,e){const i={...m};return i.fontWeight="bold",i.fontSize=t.fontSize+2,i.top=e,i.left=350,new o.fabric.Text("Fast Family and Domain Prediction by InterPro",i)}({fontSize:this.fontSize+1},this.topPadding),bt.put("titleText",t)),this.canvas.add(t),this.sssDataObj.hits.length>0)this.topPadding+=35,this.drawPredictionsGroup(),this.topPadding+=50,this.drawDynamicContentGroup(),this.drawColorScaleGroup();else{this.topPadding+=20;const t=U({fontSize:this.fontSize,contentWidth:this.contentWidth},this.topPadding);this.canvas.add(t)}}drawPredictionsGroup(){let t;t=bt.get("pfLabelText"),t||(t=function(t,e){const i={...m};return i.fontSize=t.fontSize+1,i.fontWeight="bold",i.top=e,i.left=t.scaleLabelWidth-10,new o.fabric.Text("Select your database:",i)}({fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth-50},this.topPadding),bt.put("pfLabelText",t)),this.canvas.add(t),yt(this,"Pfam",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+190,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"SUPERFAMILY",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+260,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"SMART",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+390,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"HAMAP",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+480,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PANTHER",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+570,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PRODOM",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+680,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PROSITE profiles",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+770,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),this.topPadding+=30,yt(this,"CDD",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+190,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"CATH-Gene3D",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+260,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PIRSF",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+390,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PRINTS",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+480,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"TIGRFAMs",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+570,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"SFLD",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+680,{fontSize:this.fontSize,staticCanvas:this.staticCanvas}),yt(this,"PROSITE patterns",this.uniqueDomainDatabases,this.topPadding,this.contentLabelLeftWidth+770,{fontSize:this.fontSize,staticCanvas:this.staticCanvas})}drawDynamicContentGroup(){let t=0;for(const e of this.sssDataObj.hits.slice(0,this.numberHits))e.hit_db.length+e.hit_id.length>t&&(t=e.hit_db.length+e.hit_id.length);let e=Number.MAX_VALUE,i=0,n=Number.MAX_VALUE;for(const t of this.sssDataObj.hits.slice(0,this.numberHits))for(const r of t.hit_hsps)this.colorScheme===d.ncbiblast?(r.hsp_bit_scorei&&(i=r.hsp_bit_score),r.hsp_bit_score0&&(n=r.hsp_bit_score)):(r.hsp_expecti&&(i=r.hsp_expect),r.hsp_expect0&&(n=r.hsp_expect));this.colorScheme,d.ncbiblast,this.gradientSteps=x(e,i,n,this.colorScheme);let r=0;for(const e of this.sssDataObj.hits){if(r++,!(r<=this.numberHits)){let t;t=bt.get("supressText"),t||(t=nt({fontSize:this.fontSize,contentWidth:this.contentWidth},this.topPadding,this.numberHits),bt.put("supressText",t)),t.top=this.topPadding,this.canvas.add(t),this.topPadding+=40;break}{let i,n,r;[n,r,i]=H(t,e,{fontSize:this.fontSize},this.topPadding),this.canvas.add(n),this.canvas.add(r),this.staticCanvas||(at(r,i,e.hit_def,e.hit_url,{fontSize:this.fontSize},this),ht(r,e.hit_url,this),ct(r,i,this));const s=W({startPixels:this.startPixels,endPixels:this.endPixels},{strokeWidth:1},this.topPadding);this.canvas.add(s),this.topPadding+=5;const o=z({start:this.queryStart,end:e.hit_len,startPixels:this.startPixels,endPixels:this.endPixels},{fontSize:this.fontSize},this.topPadding);this.canvas.add(o),this.topPadding+=15;let c="white",l=0,u=0;for(const t of e.hit_hsps){"-1"===t.hsp_hit_frame?(l=t.hsp_hit_to,u=t.hsp_hit_from):(l=t.hsp_hit_from,u=t.hsp_hit_to),c=this.colorScheme===d.ncbiblast?_(t.hsp_bit_score,this.gradientSteps,h):b(t.hsp_expect,this.gradientSteps,a);break}let p=0,g=0;[p,g]=f(this.startPixels,this.endPixels,e.hit_len,l,u,this.marginWidth);let m=0,v=this.topPadding-15;if(e.hit_acc in this.iprmcDataObj&&void 0!==this.iprmcDataObj[e.hit_acc].matches)for(const t of this.iprmcDataObj[e.hit_acc].matches){const i=F(this.iprmcDataObj[e.hit_acc].match[t][0].dbname);if(this.domainDatabaseList.includes(i)){this.topPadding+=15,m+=15;let n,r,s,o=N({startPixels:this.startPixels,endPixels:this.endPixels},{strokeWidth:1,strokeDashArray:[1,5]},this.topPadding);this.canvas.add(o),o.sendToBack(),[r,s,n]=st(t.split("_")[1]+" ►",{fontSize:this.fontSize},this.topPadding),this.canvas.add(r),this.canvas.add(s);const a=L(t.split("_")[1],i);this.staticCanvas||(at(s,n,"",a,{fontSize:this.fontSize},this),ht(s,a,this),ct(s,n,this));for(const i of this.iprmcDataObj[e.hit_acc].match[t]){let t=i.start,n=i.end,r=0,s=0;[r,s]=f(this.startPixels,this.endPixels,e.hit_len,t,n,this.marginWidth);const o=ot(r,s,this.topPadding+10,S(i.dbname));this.canvas.add(o),this.staticCanvas||(lt(o,r,s,t,n,i,{fontSize:this.fontSize},this),ut(o,this))}}}m+=15;const y=rt(p,g,v,c,m);this.canvas.add(y),y.sendToBack(),this.topPadding+=40}}}drawColorScaleGroup(){const t=V({fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);let e,i,n,r,s,o,a,h,c;this.canvas.add(t),[r,s,e,o,a,i,h,c,n]=$({colorScheme:this.colorScheme,fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth},this.topPadding),this.canvas.add(r),this.canvas.add(s),this.staticCanvas||(ft(r,e,this),pt(r,e,d.dynamic,this),dt(r,d.dynamic,this)),this.canvas.add(o),this.canvas.add(a),this.staticCanvas||(ft(o,i,this),pt(o,i,d.fixed,this),dt(o,d.fixed,this)),this.canvas.add(h),this.canvas.add(c),this.staticCanvas||(ft(h,n,this),pt(h,n,d.ncbiblast,this),dt(h,d.ncbiblast,this)),this.topPadding+=25;const l=q({fontSize:this.fontSize,scaleLabelWidth:this.scaleLabelWidth,colorScheme:this.colorScheme},this.topPadding);this.canvas.add(l);const u=K({scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth,colorScheme:this.colorScheme},this.topPadding);if(this.canvas.add(u),this.colorScheme===d.ncbiblast){const t=(this.scaleLabelWidth+this.scaleWidth-this.scaleLabelWidth)/5;this.topPadding+=15;const e=J(this.scaleLabelWidth,this.scaleLabelWidth+t,this.scaleLabelWidth+2*t,this.scaleLabelWidth+3*t,this.scaleLabelWidth+4*t,this.scaleLabelWidth+this.scaleWidth,{strokeWidth:1},this.topPadding);this.canvas.add(e),this.topPadding+=5;const i=Z(this.gradientSteps,t,{fontSize:this.fontSize,scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);this.canvas.add(i)}else{const t=(this.scaleLabelWidth+this.scaleWidth-this.scaleLabelWidth)/4;this.topPadding+=15;const e=Q(this.scaleLabelWidth,this.scaleLabelWidth+t,this.scaleLabelWidth+2*t,this.scaleLabelWidth+3*t,this.scaleLabelWidth+this.scaleWidth,{strokeWidth:1},this.topPadding);this.canvas.add(e),this.topPadding+=5;const i=tt(this.gradientSteps,t,{fontSize:this.fontSize,scaleWidth:this.scaleWidth,scaleLabelWidth:this.scaleLabelWidth},this.topPadding);this.canvas.add(i)}}drawFooterGroup(){let t,e;this.topPadding+=30,[t,e]=et({fontSize:this.fontSize},this.topPadding),this.canvas.add(t)}wrapCanvas(){if(this.topPadding+=20,this.canvasHeight=this.topPadding,this.canvasWrapperStroke){const t=it({canvasWidth:this.canvasWidth,canvasHeight:this.canvasHeight});this.canvas.add(t)}}}const xt=window,St=xt.ShadowRoot&&(void 0===xt.ShadyCSS||xt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ct=Symbol(),wt=new WeakMap;class Tt{constructor(t,e,i){if(this._$cssResult$=!0,i!==Ct)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(St&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=wt.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&wt.set(e,t))}return t}toString(){return this.cssText}}const Et=St?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new Tt("string"==typeof t?t:t+"",void 0,Ct))(e)})(t):t;var Ot;const Pt=window,At=Pt.trustedTypes,kt=At?At.emptyScript:"",Dt=Pt.reactiveElementPolyfillSupport,jt={toAttribute(t,e){switch(e){case Boolean:t=t?kt:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},It=(t,e)=>e!==t&&(e==e||t==t),Ft={attribute:!0,type:String,converter:jt,reflect:!1,hasChanged:It},Lt="finalized";class Mt extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=Ft){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||Ft}static finalize(){if(this.hasOwnProperty(Lt))return!1;this[Lt]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(Et(t))}else void 0!==t&&e.push(Et(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{St?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),n=xt.litNonce;void 0!==n&&i.setAttribute("nonce",n),i.textContent=e.cssText,t.appendChild(i)}))})(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=Ft){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const s=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:jt).toAttribute(e,i.type);this._$El=t,null==s?this.removeAttribute(r):this.setAttribute(r,s),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),s="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:jt;this._$El=r,this[r]=s.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||It)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}var Rt;Mt[Lt]=!0,Mt.elementProperties=new Map,Mt.elementStyles=[],Mt.shadowRootOptions={mode:"open"},null==Dt||Dt({ReactiveElement:Mt}),(null!==(Ot=Pt.reactiveElementVersions)&&void 0!==Ot?Ot:Pt.reactiveElementVersions=[]).push("1.6.3");const Bt=window,Wt=Bt.trustedTypes,Nt=Wt?Wt.createPolicy("lit-html",{createHTML:t=>t}):void 0,zt="$lit$",Ut=`lit$${(Math.random()+"").slice(9)}$`,Ht="?"+Ut,Gt=`<${Ht}>`,Xt=document,Yt=()=>Xt.createComment(""),Vt=t=>null===t||"object"!=typeof t&&"function"!=typeof t,$t=Array.isArray,qt="[ \t\n\f\r]",Kt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Qt=/-->/g,Jt=/>/g,Zt=RegExp(`>|${qt}(?:([^\\s"'>=/]+)(${qt}*=${qt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),te=/'/g,ee=/"/g,ie=/^(?:script|style|textarea|title)$/i,ne=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),re=ne(1),se=(ne(2),Symbol.for("lit-noChange")),oe=Symbol.for("lit-nothing"),ae=new WeakMap,he=Xt.createTreeWalker(Xt,129,null,!1);function ce(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==Nt?Nt.createHTML(e):e}const le=(t,e)=>{const i=t.length-1,n=[];let r,s=2===e?"":"",o=Kt;for(let e=0;e"===h[0]?(o=null!=r?r:Kt,c=-1):void 0===h[1]?c=-2:(c=o.lastIndex-h[2].length,a=h[1],o=void 0===h[3]?Zt:'"'===h[3]?ee:te):o===ee||o===te?o=Zt:o===Qt||o===Jt?o=Kt:(o=Zt,r=void 0);const u=o===Zt&&t[e+1].startsWith("/>")?" ":"";s+=o===Kt?i+Gt:c>=0?(n.push(a),i.slice(0,c)+zt+i.slice(c)+Ut+u):i+Ut+(-2===c?(n.push(void 0),e):u)}return[ce(t,s+(t[i]||"")+(2===e?"":"")),n]};class ue{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,s=0;const o=t.length-1,a=this.parts,[h,c]=le(t,e);if(this.el=ue.createElement(h,i),he.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=he.nextNode())&&a.length0){n.textContent=Wt?Wt.emptyScript:"";for(let i=0;i$t(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==oe&&Vt(this._$AH)?this._$AA.nextSibling.data=t:this.$(Xt.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=ue.createElement(ce(n.h,n.h[0]),this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new de(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=ae.get(t.strings);return void 0===e&&ae.set(t.strings,e=new ue(t)),e}T(t){$t(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,n=0;for(const r of t)n===e.length?e.push(i=new pe(this.k(Yt()),this.k(Yt()),this,this.options)):i=e[n],i._$AI(r),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=oe}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let s=!1;if(void 0===r)t=fe(this,t,e,0),s=!Vt(t)||t!==this._$AH&&t!==se,s&&(this._$AH=t);else{const n=t;let o,a;for(t=r[0],o=0;o{var n,r;const s=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let o=s._$litPart$;if(void 0===o){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;s._$litPart$=o=new pe(e.insertBefore(Yt(),t),t,void 0,null!=i?i:{})}return o._$AI(t),o})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return se}}we.finalized=!0,we._$litElement$=!0,null===(Se=globalThis.litElementHydrateSupport)||void 0===Se||Se.call(globalThis,{LitElement:we});const Te=globalThis.litElementPolyfillSupport;null==Te||Te({LitElement:we}),(null!==(Ce=globalThis.litElementVersions)&&void 0!==Ce?Ce:globalThis.litElementVersions=[]).push("3.3.3");const Ee=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),Oe=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function Pe(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):Oe(t,e)}var Ae;null===(Ae=window.HTMLSlotElement)||void 0===Ae||Ae.prototype.assignedElements;var ke=function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o};let De=class extends we{constructor(){super(),this.data="",this.colorScheme="dynamic",this.numberHits=100,this.numberHsps=10,this.logSkippedHsps=!0,this.canvasWrapperStroke=!0}async render(){const t={colorScheme:this.colorScheme,numberHits:this.numberHits,numberHsps:this.numberHsps,logSkippedHsps:this.logSkippedHsps,canvasWrapperStroke:this.canvasWrapperStroke};if(null===document.getElementById("canvas")){const t=document.createElement("div");t.id="canvas-wrapper";const e=document.createElement("canvas");e.id="canvas",t.appendChild(e),document.body.appendChild(t)}const e=D(this.data),i=P(await O(e));return new mt("canvas",i,t).render(),re`${this.canvasDivTemplate}`}get canvasDivTemplate(){return re``}};ke([Pe({type:String})],De.prototype,"data",void 0),ke([Pe({type:String})],De.prototype,"colorScheme",void 0),ke([Pe({type:Number})],De.prototype,"numberHits",void 0),ke([Pe({type:Number})],De.prototype,"numberHsps",void 0),ke([Pe({type:Boolean})],De.prototype,"logSkippedHsps",void 0),ke([Pe({type:Boolean})],De.prototype,"canvasWrapperStroke",void 0),De=ke([Ee("jd-visual-output")],De);var je=function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o};let Ie=class extends we{constructor(){super(),this.data="",this.colorScheme="dynamic",this.numberHits=30,this.canvasWrapperStroke=!0}async render(){const t={colorScheme:this.colorScheme,numberHits:this.numberHits,canvasWrapperStroke:this.canvasWrapperStroke};if(null===document.getElementById("canvas")){const t=document.createElement("div");t.id="canvas-wrapper";const e=document.createElement("canvas");e.id="canvas",t.appendChild(e),document.body.appendChild(t)}const e=D(this.data),i=P(await O(e));let n;n="mock_jobid-I20200317-103136-0485-5599422-np2"===this.data?"https://raw.githubusercontent.com/ebi-jdispatcher/jdispatcher-viewers/master/src/testdata/iprmc.xml":j(i);const r=P(I(await O(n,"xml")));return new _t("canvas",i,r,t).render(),re` ${this.canvasDivTemplate} `}get canvasDivTemplate(){return re``}};je([Pe({type:String})],Ie.prototype,"data",void 0),je([Pe({type:String})],Ie.prototype,"colorScheme",void 0),je([Pe({type:Number})],Ie.prototype,"numberHits",void 0),je([Pe({type:Boolean})],Ie.prototype,"canvasWrapperStroke",void 0),Ie=je([Ee("jd-functional-predictions")],Ie);class Fe{constructor(){this.listener=()=>{},this.jobIds=[],this.submitterName=""}static getInstance(){return this.instance||(this.instance=new Fe),this.instance}addListener(t){this.listener=t}addCanvas(t,e,i){0!==this.jobIds.length&&this.jobIds.includes(t)&&i===this.submitterName||(this.submitterName=i,this.jobIds.push(t),this.canvasInstance={jobId:t,data:e,submitter:i},this.listener(this.canvasInstance))}}const Le=Fe.getInstance();class Me{constructor(){if(this.jobId="",this.templateElement=document.getElementById("input-jobid"),this.hostElement=document.getElementById("jd-viewers-app"),null!==this.templateElement){const t=document.importNode(this.templateElement.content,!0);this.element=t.firstElementChild,this.jobIdElement=this.element.querySelector("#jobid"),this.submitListener(),this.renderForm()}}submitListener(){this.element.addEventListener("submit",this.submitHandler)}renderForm(){this.hostElement.insertAdjacentElement("afterbegin",this.element)}submitHandler(t){t.preventDefault();const e=t,i=this.jobIdElement.value.trim();let n={...p};n.value=i,k(n)?"mock_jobid-I20200317-103136-0485-5599422-np2"===i?Le.addCanvas(i,"testdata/ncbiblast.json",e.submitter.name.trim()):Le.addCanvas(i,i,e.submitter.name.trim()):alert("The jobId provided is not valid!")}}!function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);s>3&&o&&Object.defineProperty(e,i,o)}([function(t,e,i){const n=i.value;return{configurable:!0,get(){return n.bind(this)}}}],Me.prototype,"submitHandler",null),new Me,new class{constructor(){if(this.templateElement=document.getElementById("jd-viewers-output"),this.hostElement=document.getElementById("jd-viewers-app"),null!==this.templateElement){const t=document.importNode(this.templateElement.content,!0);this.elementCanvas=t.firstElementChild,Le.addListener((t=>{this.canvasInstance=t,this.renderCanvas()}))}}async renderCanvas(){let t;this.hostElement.insertAdjacentElement("beforeend",this.elementCanvas);const e=D(this.canvasInstance.data),i=P(await O(e));if("visual-output"===this.canvasInstance.submitter)t=new mt("canvas",i,{colorScheme:d.dynamic,numberHits:100,numberHsps:10,logSkippedHsps:!0,canvasWrapperStroke:!0}),t.render();else if("functional-predictions"===this.canvasInstance.submitter){let e;e="mock_jobid-I20200317-103136-0485-5599422-np2"===this.canvasInstance.jobId?"testdata/iprmc.xml":j(i);const n=P(I(await O(e,"xml")));t=new _t("canvas",i,n,{colorScheme:d.dynamic,numberHits:30,canvasWrapperStroke:!0}),t.render()}document.getElementById("btn-svg").onclick=function(){document.getElementById("svg").src=r()(t.canvas.toSVG().toString());const e=document.getElementById("canvas-wrapper");e.parentNode?.removeChild(e)},document.getElementById("btn-png").onclick=function(){const e=document.getElementById("png");e.src=t.canvas.toDataURL({format:"png",enableRetinaScaling:!0,withoutTransform:!0}).toString(),e.width=t.canvas.getWidth();const i=document.getElementById("canvas-wrapper");i.parentNode?.removeChild(i)}}},t=i.hmd(t),s.Bd&&(window.VisualOutput=mt,window.FunctionalPredictions=_t,window.validateJobId=k,window.svgToMiniDataURI=r(),window.fetchData=O,window.dataAsType=P,window.getJdispatcherJsonURL=A,window.validateSubmittedJobIdInput=D,window.validateSubmittedDbfetchInput=j,window.getIPRMCDataModelFlatFromXML=I,window.ColorSchemeEnum=d),s.Ll&&(t.exports={VisualOutput:mt,FunctionalPredictions:_t,validateJobId:k,svgToMiniDataURI:r(),fetchData:O,dataAsType:P,getJdispatcherJsonURL:A,validateSubmittedJobIdInput:D,validateSubmittedDbfetchInput:j,getIPRMCDataModelFlatFromXML:I,ColorSchemeEnum:d})},740:t=>{t.exports={isArray:function(t){return Array.isArray?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)}}},990:(t,e,i)=>{var n=i(538),r=i(3),s=i(348),o=i(433);t.exports={xml2js:n,xml2json:r,js2xml:s,json2xml:o}},348:(t,e,i)=>{var n,r,s=i(193),o=i(740).isArray;function a(t,e,i){return(!i&&t.spaces?"\n":"")+Array(e+1).join(t.spaces)}function h(t,e,i){if(e.ignoreAttributes)return"";"attributesFn"in e&&(t=e.attributesFn(t,r,n));var s,o,h,c,l=[];for(s in t)t.hasOwnProperty(s)&&null!==t[s]&&void 0!==t[s]&&(c=e.noQuotesForNativeAttributes&&"string"!=typeof t[s]?"":'"',o=(o=""+t[s]).replace(/"/g,"""),h="attributeNameFn"in e?e.attributeNameFn(s,o,r,n):s,l.push(e.spaces&&e.indentAttributes?a(e,i+1,!1):" "),l.push(h+"="+c+("attributeValueFn"in e?e.attributeValueFn(o,s,r,n):o)+c));return t&&Object.keys(t).length&&e.spaces&&e.indentAttributes&&l.push(a(e,i,!1)),l.join("")}function c(t,e,i){return n=t,r="xml",e.ignoreDeclaration?"":""}function l(t,e,i){if(e.ignoreInstruction)return"";var s;for(s in t)if(t.hasOwnProperty(s))break;var o="instructionNameFn"in e?e.instructionNameFn(s,t[s],r,n):s;if("object"==typeof t[s])return n=t,r=o,"";var a=t[s]?t[s]:"";return"instructionFn"in e&&(a=e.instructionFn(a,s,r,n)),""}function u(t,e){return e.ignoreComment?"":"\x3c!--"+("commentFn"in e?e.commentFn(t,r,n):t)+"--\x3e"}function f(t,e){return e.ignoreCdata?"":""+("cdataFn"in e?e.cdataFn(t,r,n):t.replace("","]]]]>>"))+""}function d(t,e){return e.ignoreDoctype?"":""}function p(t,e){return e.ignoreText?"":(t=(t=(t=""+t).replace(/&/g,"&")).replace(/&/g,"&").replace(//g,">"),"textFn"in e?e.textFn(t,r,n):t)}function g(t,e,i,s){return t.reduce((function(t,o){var c=a(e,i,s&&!t);switch(o.type){case"element":return t+c+function(t,e,i){n=t,r=t.name;var s=[],o="elementNameFn"in e?e.elementNameFn(t.name,t):t.name;s.push("<"+o),t[e.attributesKey]&&s.push(h(t[e.attributesKey],e,i));var a=t[e.elementsKey]&&t[e.elementsKey].length||t[e.attributesKey]&&"preserve"===t[e.attributesKey]["xml:space"];return a||(a="fullTagEmptyElementFn"in e?e.fullTagEmptyElementFn(t.name,t):e.fullTagEmptyElement),a?(s.push(">"),t[e.elementsKey]&&t[e.elementsKey].length&&(s.push(g(t[e.elementsKey],e,i+1)),n=t,r=t.name),s.push(e.spaces&&function(t,e){var i;if(t.elements&&t.elements.length)for(i=0;i")):s.push("/>"),s.join("")}(o,e,i);case"comment":return t+c+u(o[e.commentKey],e);case"doctype":return t+c+d(o[e.doctypeKey],e);case"cdata":return t+(e.indentCdata?c:"")+f(o[e.cdataKey],e);case"text":return t+(e.indentText?c:"")+p(o[e.textKey],e);case"instruction":var m={};return m[o[e.nameKey]]=o[e.attributesKey]?o:o[e.instructionKey],t+(e.indentInstruction?c:"")+l(m,e,i)}}),"")}function m(t,e,i){var n;for(n in t)if(t.hasOwnProperty(n))switch(n){case e.parentKey:case e.attributesKey:break;case e.textKey:if(e.indentText||i)return!0;break;case e.cdataKey:if(e.indentCdata||i)return!0;break;case e.instructionKey:if(e.indentInstruction||i)return!0;break;case e.doctypeKey:case e.commentKey:default:return!0}return!1}function v(t,e,i,s,o){n=t,r=e;var c="elementNameFn"in i?i.elementNameFn(e,t):e;if(null==t||""===t)return"fullTagEmptyElementFn"in i&&i.fullTagEmptyElementFn(e,t)||i.fullTagEmptyElement?"<"+c+">":"<"+c+"/>";var l=[];if(e){if(l.push("<"+c),"object"!=typeof t)return l.push(">"+p(t,i)+""),l.join("");t[i.attributesKey]&&l.push(h(t[i.attributesKey],i,s));var u=m(t,i,!0)||t[i.attributesKey]&&"preserve"===t[i.attributesKey]["xml:space"];if(u||(u="fullTagEmptyElementFn"in i?i.fullTagEmptyElementFn(e,t):i.fullTagEmptyElement),!u)return l.push("/>"),l.join("");l.push(">")}return l.push(y(t,i,s+1,!1)),n=t,r=e,e&&l.push((o?a(i,s,!1):"")+""),l.join("")}function y(t,e,i,n){var r,s,h,g=[];for(s in t)if(t.hasOwnProperty(s))for(h=o(t[s])?t[s]:[t[s]],r=0;r{var n=i(348);t.exports=function(t,e){t instanceof Buffer&&(t=t.toString());var i=null;if("string"==typeof t)try{i=JSON.parse(t)}catch(t){throw new Error("The JSON structure is invalid")}else i=t;return n(i,e)}},193:(t,e,i)=>{var n=i(740).isArray;t.exports={copyOptions:function(t){var e,i={};for(e in t)t.hasOwnProperty(e)&&(i[e]=t[e]);return i},ensureFlagExists:function(t,e){t in e&&"boolean"==typeof e[t]||(e[t]=!1)},ensureSpacesExists:function(t){(!("spaces"in t)||"number"!=typeof t.spaces&&"string"!=typeof t.spaces)&&(t.spaces=0)},ensureAlwaysArrayExists:function(t){"alwaysArray"in t&&("boolean"==typeof t.alwaysArray||n(t.alwaysArray))||(t.alwaysArray=!1)},ensureKeyExists:function(t,e){t+"Key"in e&&"string"==typeof e[t+"Key"]||(e[t+"Key"]=e.compact?"_"+t:t)},checkFnExists:function(t,e){return t+"Fn"in e}}},538:(t,e,i)=>{var n,r,s=i(43),o=i(193),a=i(740).isArray;function h(t){var e=Number(t);if(!isNaN(e))return e;var i=t.toLowerCase();return"true"===i||"false"!==i&&t}function c(t,e){var i;if(n.compact){if(!r[n[t+"Key"]]&&(a(n.alwaysArray)?-1!==n.alwaysArray.indexOf(n[t+"Key"]):n.alwaysArray)&&(r[n[t+"Key"]]=[]),r[n[t+"Key"]]&&!a(r[n[t+"Key"]])&&(r[n[t+"Key"]]=[r[n[t+"Key"]]]),t+"Fn"in n&&"string"==typeof e&&(e=n[t+"Fn"](e,r)),"instruction"===t&&("instructionFn"in n||"instructionNameFn"in n))for(i in e)if(e.hasOwnProperty(i))if("instructionFn"in n)e[i]=n.instructionFn(e[i],i,r);else{var s=e[i];delete e[i],e[n.instructionNameFn(i,s,r)]=s}a(r[n[t+"Key"]])?r[n[t+"Key"]].push(e):r[n[t+"Key"]]=e}else{r[n.elementsKey]||(r[n.elementsKey]=[]);var o={};if(o[n.typeKey]=t,"instruction"===t){for(i in e)if(e.hasOwnProperty(i))break;o[n.nameKey]="instructionNameFn"in n?n.instructionNameFn(i,e,r):i,n.instructionHasAttributes?(o[n.attributesKey]=e[i][n.attributesKey],"instructionFn"in n&&(o[n.attributesKey]=n.instructionFn(o[n.attributesKey],i,r))):("instructionFn"in n&&(e[i]=n.instructionFn(e[i],i,r)),o[n.instructionKey]=e[i])}else t+"Fn"in n&&(e=n[t+"Fn"](e,r)),o[n[t+"Key"]]=e;n.addParent&&(o[n.parentKey]=r),r[n.elementsKey].push(o)}}function l(t){var e;if("attributesFn"in n&&t&&(t=n.attributesFn(t,r)),(n.trim||"attributeValueFn"in n||"attributeNameFn"in n||n.nativeTypeAttributes)&&t)for(e in t)if(t.hasOwnProperty(e)&&(n.trim&&(t[e]=t[e].trim()),n.nativeTypeAttributes&&(t[e]=h(t[e])),"attributeValueFn"in n&&(t[e]=n.attributeValueFn(t[e],e,r)),"attributeNameFn"in n)){var i=t[e];delete t[e],t[n.attributeNameFn(e,t[e],r)]=i}return t}function u(t){var e={};if(t.body&&("xml"===t.name.toLowerCase()||n.instructionHasAttributes)){for(var i,s=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(i=s.exec(t.body));)e[i[1]]=i[2]||i[3]||i[4];e=l(e)}if("xml"===t.name.toLowerCase()){if(n.ignoreDeclaration)return;r[n.declarationKey]={},Object.keys(e).length&&(r[n.declarationKey][n.attributesKey]=e),n.addParent&&(r[n.declarationKey][n.parentKey]=r)}else{if(n.ignoreInstruction)return;n.trim&&(t.body=t.body.trim());var o={};n.instructionHasAttributes&&Object.keys(e).length?(o[t.name]={},o[t.name][n.attributesKey]=e):o[t.name]=t.body,c("instruction",o)}}function f(t,e){var i;if("object"==typeof t&&(e=t.attributes,t=t.name),e=l(e),"elementNameFn"in n&&(t=n.elementNameFn(t,r)),n.compact){var s;if(i={},!n.ignoreAttributes&&e&&Object.keys(e).length)for(s in i[n.attributesKey]={},e)e.hasOwnProperty(s)&&(i[n.attributesKey][s]=e[s]);!(t in r)&&(a(n.alwaysArray)?-1!==n.alwaysArray.indexOf(t):n.alwaysArray)&&(r[t]=[]),r[t]&&!a(r[t])&&(r[t]=[r[t]]),a(r[t])?r[t].push(i):r[t]=i}else r[n.elementsKey]||(r[n.elementsKey]=[]),(i={})[n.typeKey]="element",i[n.nameKey]=t,!n.ignoreAttributes&&e&&Object.keys(e).length&&(i[n.attributesKey]=e),n.alwaysChildren&&(i[n.elementsKey]=[]),r[n.elementsKey].push(i);i[n.parentKey]=r,r=i}function d(t){n.ignoreText||(t.trim()||n.captureSpacesBetweenElements)&&(n.trim&&(t=t.trim()),n.nativeType&&(t=h(t)),n.sanitize&&(t=t.replace(/&/g,"&").replace(//g,">")),c("text",t))}function p(t){n.ignoreComment||(n.trim&&(t=t.trim()),c("comment",t))}function g(t){var e=r[n.parentKey];n.addParent||delete r[n.parentKey],r=e}function m(t){n.ignoreCdata||(n.trim&&(t=t.trim()),c("cdata",t))}function v(t){n.ignoreDoctype||(t=t.replace(/^ /,""),n.trim&&(t=t.trim()),c("doctype",t))}function y(t){t.note=t}t.exports=function(t,e){var i=s.parser(!0,{}),a={};if(r=a,n=function(t){return n=o.copyOptions(t),o.ensureFlagExists("ignoreDeclaration",n),o.ensureFlagExists("ignoreInstruction",n),o.ensureFlagExists("ignoreAttributes",n),o.ensureFlagExists("ignoreText",n),o.ensureFlagExists("ignoreComment",n),o.ensureFlagExists("ignoreCdata",n),o.ensureFlagExists("ignoreDoctype",n),o.ensureFlagExists("compact",n),o.ensureFlagExists("alwaysChildren",n),o.ensureFlagExists("addParent",n),o.ensureFlagExists("trim",n),o.ensureFlagExists("nativeType",n),o.ensureFlagExists("nativeTypeAttributes",n),o.ensureFlagExists("sanitize",n),o.ensureFlagExists("instructionHasAttributes",n),o.ensureFlagExists("captureSpacesBetweenElements",n),o.ensureAlwaysArrayExists(n),o.ensureKeyExists("declaration",n),o.ensureKeyExists("instruction",n),o.ensureKeyExists("attributes",n),o.ensureKeyExists("text",n),o.ensureKeyExists("comment",n),o.ensureKeyExists("cdata",n),o.ensureKeyExists("doctype",n),o.ensureKeyExists("type",n),o.ensureKeyExists("name",n),o.ensureKeyExists("elements",n),o.ensureKeyExists("parent",n),o.checkFnExists("doctype",n),o.checkFnExists("instruction",n),o.checkFnExists("cdata",n),o.checkFnExists("comment",n),o.checkFnExists("text",n),o.checkFnExists("instructionName",n),o.checkFnExists("elementName",n),o.checkFnExists("attributeName",n),o.checkFnExists("attributeValue",n),o.checkFnExists("attributes",n),n}(e),i.opt={strictEntities:!0},i.onopentag=f,i.ontext=d,i.oncomment=p,i.onclosetag=g,i.onerror=y,i.oncdata=m,i.ondoctype=v,i.onprocessinginstruction=u,i.write(t).close(),a[n.elementsKey]){var h=a[n.elementsKey];delete a[n.elementsKey],a[n.elementsKey]=h,delete a.text}return a}},3:(t,e,i)=>{var n=i(193),r=i(538);t.exports=function(t,e){var i,s,o;return i=function(t){var e=n.copyOptions(t);return n.ensureSpacesExists(e),e}(e),s=r(t,i),o="compact"in i&&i.compact?"_parent":"parent",("addParent"in i&&i.addParent?JSON.stringify(s,(function(t,e){return t===o?"_":e}),i.spaces):JSON.stringify(s,null,i.spaces)).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}},574:()=>{},748:()=>{},246:()=>{}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var s=e[n]={id:n,loaded:!1,exports:{}};return t[n](s,s.exports,i),s.loaded=!0,s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.hmd=t=>((t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i(79)})(); \ No newline at end of file diff --git a/dist/jd_viewers_0.0.9.bundle.min.js.LICENSE.txt b/dist/jd_viewers_0.0.9.bundle.min.js.LICENSE.txt new file mode 100644 index 0000000..c6c264b --- /dev/null +++ b/dist/jd_viewers_0.0.9.bundle.min.js.LICENSE.txt @@ -0,0 +1,32 @@ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */ + +/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ + +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ + +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ From 11de302e1245f3a692fd630d72ea29ae4651d2f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 16:11:43 +0000 Subject: [PATCH 6/7] new CLI build --- bin/app.js | 18 +- bin/color-schemes.js | 48 ++-- bin/color-utilities.js | 129 ++++------- bin/coords-utilities.js | 20 +- bin/custom-events.js | 58 ++--- bin/custom-types.js | 2 +- bin/drawing-utilities.js | 351 ++++++++++-------------------- bin/functional-predictions-app.js | 188 ++++++++-------- bin/jd-viewers-cli.js | 137 ++++++------ bin/other-utilities.js | 161 +++++++------- bin/visual-output-app.js | 143 +++++------- 11 files changed, 515 insertions(+), 740 deletions(-) diff --git a/bin/app.js b/bin/app.js index df139d2..e2e60f2 100644 --- a/bin/app.js +++ b/bin/app.js @@ -1,9 +1,9 @@ -import svgToMiniDataURI from "mini-svg-data-uri"; -import { isBrowser, isNode } from "browser-or-node"; -import { VisualOutput } from "./visual-output-app"; -import { FunctionalPredictions } from "./functional-predictions-app"; -import { validateJobId, fetchData, dataAsType, getJdispatcherJsonURL, validateSubmittedJobIdInput, validateSubmittedDbfetchInput, getIPRMCDataModelFlatFromXML, } from "./other-utilities"; -import { ColorSchemeEnum } from "./custom-types"; +import svgToMiniDataURI from 'mini-svg-data-uri'; +import { isBrowser, isNode } from 'browser-or-node'; +import { VisualOutput } from './visual-output-app'; +import { FunctionalPredictions } from './functional-predictions-app'; +import { validateJobId, fetchData, dataAsType, getJdispatcherJsonURL, validateSubmittedJobIdInput, validateSubmittedDbfetchInput, getIPRMCDataModelFlatFromXML, } from './other-utilities'; +import { ColorSchemeEnum } from './custom-types'; // plugin support & module support // if (typeof window === "undefined") { if (isBrowser) { @@ -35,7 +35,7 @@ if (isNode) { }; } // web-component support -import "./visual-output-webcomponent.ts"; -import "./functional-predictions-webcomponent.ts"; +import './visual-output-webcomponent.ts'; +import './functional-predictions-webcomponent.ts'; // demo index page with JobId input form (implemented in TypeScript) -import "./index.ts"; +import './index.ts'; diff --git a/bin/color-schemes.js b/bin/color-schemes.js index b53bff3..2a37bad 100644 --- a/bin/color-schemes.js +++ b/bin/color-schemes.js @@ -1,4 +1,4 @@ -import { fabric } from "fabric"; +import { fabric } from 'fabric'; export const defaultGradient = { 0.0: [255, 64, 64], 0.25: [255, 255, 64], @@ -8,21 +8,21 @@ export const defaultGradient = { keys: [0.0, 0.25, 0.5, 0.75, 1.0], }; export function colorDefaultGradient(canvasObj, start, end) { - canvasObj.set("fill", new fabric.Gradient({ - type: "linear", + canvasObj.set('fill', new fabric.Gradient({ + type: 'linear', coords: { x1: start, y1: 0, x2: end, - y2: 0 + y2: 0, }, colorStops: [ - { offset: 0.0, color: `rgb(${defaultGradient[0.0].join(",")})` }, - { offset: 0.25, color: `rgb(${defaultGradient[0.25].join(",")})` }, - { offset: 0.5, color: `rgb(${defaultGradient[0.5].join(",")})` }, - { offset: 0.75, color: `rgb(${defaultGradient[0.75].join(",")})` }, - { offset: 1.0, color: `rgb(${defaultGradient[1.0].join(",")})` } - ] + { offset: 0.0, color: `rgb(${defaultGradient[0.0].join(',')})` }, + { offset: 0.25, color: `rgb(${defaultGradient[0.25].join(',')})` }, + { offset: 0.5, color: `rgb(${defaultGradient[0.5].join(',')})` }, + { offset: 0.75, color: `rgb(${defaultGradient[0.75].join(',')})` }, + { offset: 1.0, color: `rgb(${defaultGradient[1.0].join(',')})` }, + ], })); } export const ncbiBlastGradient = { @@ -34,25 +34,25 @@ export const ncbiBlastGradient = { keys: [0, 40, 50, 80, 200], }; export function colorNcbiBlastGradient(canvasObj, start, end) { - canvasObj.set("fill", new fabric.Gradient({ - type: "linear", + canvasObj.set('fill', new fabric.Gradient({ + type: 'linear', coords: { x1: start, y1: 0, x2: end, - y2: 0 + y2: 0, }, colorStops: [ - { offset: 0.0, color: `rgb(${ncbiBlastGradient[0].join(",")})` }, - { offset: 0.199999, color: `rgb(${ncbiBlastGradient[0].join(",")})` }, - { offset: 0.2, color: `rgb(${ncbiBlastGradient[40].join(",")})` }, - { offset: 0.399999, color: `rgb(${ncbiBlastGradient[40].join(",")})` }, - { offset: 0.4, color: `rgb(${ncbiBlastGradient[50].join(",")})` }, - { offset: 0.599999, color: `rgb(${ncbiBlastGradient[50].join(",")})` }, - { offset: 0.6, color: `rgb(${ncbiBlastGradient[80].join(",")})` }, - { offset: 0.799999, color: `rgb(${ncbiBlastGradient[80].join(",")})` }, - { offset: 0.8, color: `rgb(${ncbiBlastGradient[200].join(",")})` }, - { offset: 1.0, color: `rgb(${ncbiBlastGradient[200].join(",")})` }, - ] + { offset: 0.0, color: `rgb(${ncbiBlastGradient[0].join(',')})` }, + { offset: 0.199999, color: `rgb(${ncbiBlastGradient[0].join(',')})` }, + { offset: 0.2, color: `rgb(${ncbiBlastGradient[40].join(',')})` }, + { offset: 0.399999, color: `rgb(${ncbiBlastGradient[40].join(',')})` }, + { offset: 0.4, color: `rgb(${ncbiBlastGradient[50].join(',')})` }, + { offset: 0.599999, color: `rgb(${ncbiBlastGradient[50].join(',')})` }, + { offset: 0.6, color: `rgb(${ncbiBlastGradient[80].join(',')})` }, + { offset: 0.799999, color: `rgb(${ncbiBlastGradient[80].join(',')})` }, + { offset: 0.8, color: `rgb(${ncbiBlastGradient[200].join(',')})` }, + { offset: 1.0, color: `rgb(${ncbiBlastGradient[200].join(',')})` }, + ], })); } diff --git a/bin/color-utilities.js b/bin/color-utilities.js index a6ffd44..59ee55d 100644 --- a/bin/color-utilities.js +++ b/bin/color-utilities.js @@ -1,12 +1,12 @@ -import { ColorSchemeEnum } from "./custom-types"; +import { ColorSchemeEnum } from './custom-types'; export function getRgbColorGradient(score, gradientSteps, colorScheme) { // assumes length of gradientSteps is 5 const colorSchemeSteps = colorScheme.keys; if (colorSchemeSteps.length != gradientSteps.length) { - throw Error("Color Scheme and Gradient Steps should have matching lengths!"); + throw Error('Color Scheme and Gradient Steps should have matching lengths!'); } if (score + 0.0 === 0.0) { - return `rgb(${colorScheme[colorSchemeSteps[0]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[0]].join(',')})`; } else { const start = gradientSteps[0]; @@ -17,55 +17,44 @@ export function getRgbColorGradient(score, gradientSteps, colorScheme) { let h; if (score < step1) { const logStart = start === 0 ? Math.log10(Number.MIN_VALUE) : Math.log10(start); - h = - 0.0 + - (Math.log10(score) - logStart) / (Math.log10(step1) - logStart); + h = 0.0 + (Math.log10(score) - logStart) / (Math.log10(step1) - logStart); } else if (score < step2) { - h = - 1.0 + - (Math.log10(score) - Math.log10(step1)) / - (Math.log10(step2) - Math.log10(step1)); + h = 1.0 + (Math.log10(score) - Math.log10(step1)) / (Math.log10(step2) - Math.log10(step1)); } else if (score < step3) { - h = - 2.0 + - (Math.log10(score) - Math.log10(step2)) / - (Math.log10(step3) - Math.log10(step2)); + h = 2.0 + (Math.log10(score) - Math.log10(step2)) / (Math.log10(step3) - Math.log10(step2)); } else if (score < end) { - h = - 3.0 + - (Math.log10(score) - Math.log10(step3)) / - (Math.log10(end) - Math.log10(step3)); + h = 3.0 + (Math.log10(score) - Math.log10(step3)) / (Math.log10(end) - Math.log10(step3)); } else { h = 4.0; } const rgb = HSVtoRGB(h / 6, 0.75, 1.0); - return `rgb(${rgb.join(",")})`; + return `rgb(${rgb.join(',')})`; } } export function getRgbColorFixed(score, gradientSteps, colorScheme) { // assumes length of gradientSteps is 5 const colorSchemeSteps = colorScheme.keys; if (colorSchemeSteps.length != gradientSteps.length) { - throw Error("Color Scheme and Gradient Steps should have matching lengths!"); + throw Error('Color Scheme and Gradient Steps should have matching lengths!'); } if (score + 0.0 === 0.0 || score < gradientSteps[1]) { - return `rgb(${colorScheme[colorSchemeSteps[0]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[0]].join(',')})`; } else if (score >= gradientSteps[1] && score < gradientSteps[2]) { - return `rgb(${colorScheme[colorSchemeSteps[1]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[1]].join(',')})`; } else if (score >= gradientSteps[2] && score < gradientSteps[3]) { - return `rgb(${colorScheme[colorSchemeSteps[2]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[2]].join(',')})`; } else if (score >= gradientSteps[3] && score < gradientSteps[4]) { - return `rgb(${colorScheme[colorSchemeSteps[3]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[3]].join(',')})`; } else if (score >= gradientSteps[4]) { - return `rgb(${colorScheme[colorSchemeSteps[4]].join(",")})`; + return `rgb(${colorScheme[colorSchemeSteps[4]].join(',')})`; } else { return `rgb(192,192,192)`; @@ -74,13 +63,7 @@ export function getRgbColorFixed(score, gradientSteps, colorScheme) { export function getGradientSteps(minEvalue, maxEvalue, minEvalueNotZero, colorScheme) { let gradientSteps = []; if (colorScheme === ColorSchemeEnum.fixed) { - gradientSteps = [ - 0, - Math.pow(10, -1), - Math.pow(10, 0), - Math.pow(10, 1), - Math.pow(10, 2), - ]; + gradientSteps = [0, Math.pow(10, -1), Math.pow(10, 0), Math.pow(10, 1), Math.pow(10, 2)]; } else if (colorScheme === ColorSchemeEnum.dynamic) { if (maxEvalue < 1e-304) { @@ -119,31 +102,13 @@ export function getGradientSteps(minEvalue, maxEvalue, minEvalueNotZero, colorSc else { const diffEvalue = Math.log10(minEvalueNotZero) - Math.log10(maxEvalue); if (Math.abs(diffEvalue) <= 2) { - gradientSteps = [ - minEvalue, - 1, - (2 + maxEvalue) / 3, - (2 + 2 * maxEvalue) / 3, - maxEvalue, - ]; + gradientSteps = [minEvalue, 1, (2 + maxEvalue) / 3, (2 + 2 * maxEvalue) / 3, maxEvalue]; } else if (Math.abs(diffEvalue) <= 4) { - gradientSteps = [ - minEvalue, - Math.pow(10, diffEvalue / 2), - 1, - (maxEvalue + 1) / 2, - maxEvalue, - ]; + gradientSteps = [minEvalue, Math.pow(10, diffEvalue / 2), 1, (maxEvalue + 1) / 2, maxEvalue]; } else { - gradientSteps = [ - minEvalue, - Math.pow(10, diffEvalue / 2), - Math.pow(10, diffEvalue / 4), - 1, - maxEvalue, - ]; + gradientSteps = [minEvalue, Math.pow(10, diffEvalue / 2), Math.pow(10, diffEvalue / 4), 1, maxEvalue]; } } } @@ -235,36 +200,36 @@ export function HSVtoRGB(h, s, v) { export function colorByDatabaseName(domainName) { let color; // if (domainName == "InterPro") color = "rgb(211,47,47)"; - if (domainName == "Pfam") - color = "rgb(211,47,47)"; - else if (domainName == "SUPERFAMILY") - color = "rgb(171,71,188)"; - else if (domainName == "SMART") - color = "rgb(106,27,154)"; - else if (domainName == "HAMAP") - color = "rgb(57,73,171)"; - else if (domainName == "PANTHER") - color = "rgb(33,150,243)"; - else if (domainName == "PRODOM") - color = "rgb(0,188,212)"; - else if (domainName == "PROSITE profiles") - color = "rgb(0,150,136)"; - else if (domainName == "CDD") - color = "rgb(76,175,80)"; - else if (domainName == "CATH-Gene3D") - color = "rgb(205,220,57)"; - else if (domainName == "PIRSF") - color = "rgb(255,235,59)"; - else if (domainName == "PRINTS") - color = "rgb(255,193,7)"; - else if (domainName == "TIGRFAMs") - color = "rgb(255,112,67)"; - else if (domainName == "SFLD") - color = "rgb(121,85,72)"; - else if (domainName == "PROSITE patterns") - color = "rgb(55,71,79)"; + if (domainName == 'Pfam') + color = 'rgb(211,47,47)'; + else if (domainName == 'SUPERFAMILY') + color = 'rgb(171,71,188)'; + else if (domainName == 'SMART') + color = 'rgb(106,27,154)'; + else if (domainName == 'HAMAP') + color = 'rgb(57,73,171)'; + else if (domainName == 'PANTHER') + color = 'rgb(33,150,243)'; + else if (domainName == 'PRODOM') + color = 'rgb(0,188,212)'; + else if (domainName == 'PROSITE profiles') + color = 'rgb(0,150,136)'; + else if (domainName == 'CDD') + color = 'rgb(76,175,80)'; + else if (domainName == 'CATH-Gene3D') + color = 'rgb(205,220,57)'; + else if (domainName == 'PIRSF') + color = 'rgb(255,235,59)'; + else if (domainName == 'PRINTS') + color = 'rgb(255,193,7)'; + else if (domainName == 'TIGRFAMs') + color = 'rgb(255,112,67)'; + else if (domainName == 'SFLD') + color = 'rgb(121,85,72)'; + else if (domainName == 'PROSITE patterns') + color = 'rgb(55,71,79)'; else - color = "rgb(128,128,128)"; // UNCLASSIFIED and OTHERS + color = 'rgb(128,128,128)'; // UNCLASSIFIED and OTHERS return color; } // Using coloring scheme from https://www.ebi.ac.uk/interpro/entry/InterPro/#table diff --git a/bin/coords-utilities.js b/bin/coords-utilities.js index 1de5fdc..97da730 100644 --- a/bin/coords-utilities.js +++ b/bin/coords-utilities.js @@ -41,24 +41,12 @@ export function getQuerySubjPixelCoords(queryLen, subjLen, subjHspLen, contentWi const totalSubjPixels = getTotalPixels(queryLen, subjLen, subjHspLen, contentWidth, contentScoringWidth); const startQueryPixels = contentLabelWidth + marginWidth; const endQueryPixels = contentLabelWidth + totalQueryPixels - marginWidth; - const startSubjPixels = contentLabelWidth + - totalQueryPixels + - contentScoringWidth + - marginWidth; - const endSubjPixels = contentLabelWidth + - totalQueryPixels + - contentScoringWidth + - totalSubjPixels - - marginWidth; + const startSubjPixels = contentLabelWidth + totalQueryPixels + contentScoringWidth + marginWidth; + const endSubjPixels = contentLabelWidth + totalQueryPixels + contentScoringWidth + totalSubjPixels - marginWidth; return [startQueryPixels, endQueryPixels, startSubjPixels, endSubjPixels]; } export function getDomainPixelCoords(startPixels, endPixels, hitLen, startDomain, endDomain, marginWidth) { - const startDomainPixels = startPixels + - (startDomain * (endPixels - startPixels)) / hitLen + - marginWidth; - const endDomainPixels = startPixels + - (endDomain * (endPixels - startPixels)) / hitLen - - marginWidth - - startDomainPixels; + const startDomainPixels = startPixels + (startDomain * (endPixels - startPixels)) / hitLen + marginWidth; + const endDomainPixels = startPixels + (endDomain * (endPixels - startPixels)) / hitLen - marginWidth - startDomainPixels; return [startDomainPixels, endDomainPixels]; } diff --git a/bin/custom-events.js b/bin/custom-events.js index 4422262..104241e 100644 --- a/bin/custom-events.js +++ b/bin/custom-events.js @@ -1,8 +1,8 @@ -import { drawURLInfoTooltip, drawDomainTooltips, drawDomainInfoTooltips, } from "./drawing-utilities"; +import { drawURLInfoTooltip, drawDomainTooltips, drawDomainInfoTooltips } from './drawing-utilities'; export function mouseOverText(fabricObj, textObj, sequence, URL, renderOptions, _this) { - fabricObj.on("mouseover", (e) => { + fabricObj.on('mouseover', (e) => { if (e.target) { - e.target.set("hoverCursor", "pointer"); + e.target.set('hoverCursor', 'pointer'); e.target.setOptions(textObj); e.target.setOptions({ underline: true }); // add tooltip (on the flight) @@ -14,15 +14,15 @@ export function mouseOverText(fabricObj, textObj, sequence, URL, renderOptions, }); } export function mouseDownText(fabricObj, href, _this) { - fabricObj.on("mousedown", (e) => { + fabricObj.on('mousedown', (e) => { if (e.target) { - window.open(href, "_blank"); + window.open(href, '_blank'); _this.canvas.renderAll(); } }); } export function mouseOutText(fabricObj, textObj, _this) { - fabricObj.on("mouseout", (e) => { + fabricObj.on('mouseout', (e) => { if (e.target) { e.target.setOptions(textObj); e.target.setOptions({ underline: false }); @@ -31,12 +31,12 @@ export function mouseOutText(fabricObj, textObj, _this) { }); } function isHsp(object) { - return "hsp_hit_from" in object; + return 'hsp_hit_from' in object; } export function mouseOverDomain(fabricObj, startPixels, endPixels, seq_from, seq_to, domain, renderOptions, _this) { - fabricObj.on("mouseover", (e) => { + fabricObj.on('mouseover', (e) => { if (e.target) { - e.target.set("hoverCursor", "pointer"); + e.target.set('hoverCursor', 'pointer'); let tooltipGroup; if (isHsp(domain)) { // Query/Subject tooltip @@ -56,24 +56,24 @@ export function mouseOverDomain(fabricObj, startPixels, endPixels, seq_from, seq }); } export function mouseOutDomain(fabricObj, _this) { - fabricObj.on("mouseout", (e) => { + fabricObj.on('mouseout', (e) => { if (e.target) { _this.canvas.renderAll(); } }); } export function mouseOverCheckbox(fabricObj, textObj, _this) { - fabricObj.on("mouseover", (e) => { + fabricObj.on('mouseover', (e) => { if (e.target) { - e.target.set("hoverCursor", "pointer"); + e.target.set('hoverCursor', 'pointer'); e.target.setOptions(textObj); - e.target.setOptions({ fill: "black" }); + e.target.setOptions({ fill: 'black' }); _this.canvas.renderAll(); } }); } export function mouseDownCheckbox(fabricObj, value, _this) { - fabricObj.on("mousedown", (e) => { + fabricObj.on('mousedown', (e) => { if (e.target) { if (_this.colorScheme != value) { _this.colorScheme = value; @@ -83,12 +83,12 @@ export function mouseDownCheckbox(fabricObj, value, _this) { }); } export function mouseOutCheckbox(fabricObj, textObj, value, _this) { - fabricObj.on("mouseout", (e) => { + fabricObj.on('mouseout', (e) => { if (e.target) { e.target.setOptions(textObj); if (_this.colorScheme != value) { e.target.setOptions({ - fill: "grey", + fill: 'grey', }); } _this.canvas.renderAll(); @@ -96,32 +96,32 @@ export function mouseOutCheckbox(fabricObj, textObj, value, _this) { }); } export function mouseOverDomainCheckbox(fabricObj, rectObj, currentDomainDatabase, _this) { - fabricObj.on("mouseover", (e) => { + fabricObj.on('mouseover', (e) => { if (e.target) { - e.target.set("hoverCursor", "pointer"); + e.target.set('hoverCursor', 'pointer'); e.target.setOptions(rectObj); let currentDomainDatabaseDisabled = false; if (!_this.uniqueDomainDatabases.includes(currentDomainDatabase)) { currentDomainDatabaseDisabled = true; } if (currentDomainDatabaseDisabled) { - e.target.setOptions({ fill: "white", stroke: "grey" }); - e.target.set("hoverCursor", "default"); + e.target.setOptions({ fill: 'white', stroke: 'grey' }); + e.target.set('hoverCursor', 'default'); } else if (!_this.domainDatabaseList.includes(currentDomainDatabase)) { - e.target.setOptions({ stroke: "black" }); - e.target.set("hoverCursor", "pointer"); + e.target.setOptions({ stroke: 'black' }); + e.target.set('hoverCursor', 'pointer'); } else { - e.target.setOptions({ opacity: 0.5, stroke: "grey" }); - e.target.set("hoverCursor", "pointer"); + e.target.setOptions({ opacity: 0.5, stroke: 'grey' }); + e.target.set('hoverCursor', 'pointer'); } _this.canvas.renderAll(); } }); } export function mouseDownDomainCheckbox(fabricObj, currentDomainDatabase, _this) { - fabricObj.on("mousedown", (e) => { + fabricObj.on('mousedown', (e) => { if (e.target) { if (!_this.domainDatabaseList.includes(currentDomainDatabase) && _this.uniqueDomainDatabases.includes(currentDomainDatabase)) { @@ -141,21 +141,21 @@ export function mouseDownDomainCheckbox(fabricObj, currentDomainDatabase, _this) }); } export function mouseOutDomainCheckbox(fabricObj, rectObj, currentDomainDatabase, _this) { - fabricObj.on("mouseout", (e) => { + fabricObj.on('mouseout', (e) => { if (e.target) { let currentDomainDatabaseDisabled = false; if (!_this.uniqueDomainDatabases.includes(currentDomainDatabase)) { currentDomainDatabaseDisabled = true; } if (!_this.domainDatabaseList.includes(currentDomainDatabase)) { - e.target.setOptions({ stroke: "grey", fill: "white" }); + e.target.setOptions({ stroke: 'grey', fill: 'white' }); } else if (currentDomainDatabaseDisabled) { - e.target.setOptions({ stroke: "grey", fill: "white" }); + e.target.setOptions({ stroke: 'grey', fill: 'white' }); } else { e.target.setOptions(rectObj); - e.target.setOptions({ opacity: 1.0, stroke: "black" }); + e.target.setOptions({ opacity: 1.0, stroke: 'black' }); } _this.canvas.renderAll(); } diff --git a/bin/custom-types.js b/bin/custom-types.js index b3747a5..7777c75 100644 --- a/bin/custom-types.js +++ b/bin/custom-types.js @@ -6,7 +6,7 @@ export var ColorSchemeEnum; ColorSchemeEnum["blasterjs"] = "blasterjs"; })(ColorSchemeEnum || (ColorSchemeEnum = {})); export const jobIdDefaults = { - value: "", + value: '', required: true, minLength: 35, maxLength: 60, diff --git a/bin/drawing-utilities.js b/bin/drawing-utilities.js index c138852..5979a3f 100644 --- a/bin/drawing-utilities.js +++ b/bin/drawing-utilities.js @@ -1,13 +1,13 @@ -import { fabric } from "fabric"; -import { numberToString } from "./other-utilities"; -import { getTotalPixels, getTextLegendPaddingFactor } from "./coords-utilities"; -import { colorDefaultGradient, colorNcbiBlastGradient } from "./color-schemes"; -import { objectDefaults, textDefaults, lineDefaults, rectDefaults, ColorSchemeEnum, } from "./custom-types"; -import { colorByDatabaseName } from "./color-utilities"; +import { fabric } from 'fabric'; +import { numberToString } from './other-utilities'; +import { getTotalPixels, getTextLegendPaddingFactor } from './coords-utilities'; +import { colorDefaultGradient, colorNcbiBlastGradient } from './color-schemes'; +import { objectDefaults, textDefaults, lineDefaults, rectDefaults, ColorSchemeEnum, } from './custom-types'; +import { colorByDatabaseName } from './color-utilities'; export function drawHeaderTextGroup(dataObj, renderOptions, topPadding) { const origTopPadding = topPadding; const textObj = { ...textDefaults }; - textObj.fontWeight = "bold"; + textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize + 1; textObj.top = topPadding; textObj.left = 5; @@ -20,8 +20,8 @@ export function drawHeaderTextGroup(dataObj, renderOptions, topPadding) { for (const db of dataObj.dbs) { db_names.push(db.name); } - const dbs = db_names.join(", "); - textObj.fontWeight = "normal"; + const dbs = db_names.join(', '); + textObj.fontWeight = 'normal'; textObj.fontSize = renderOptions.fontSize; topPadding += 15; textObj.top = topPadding; @@ -29,7 +29,7 @@ export function drawHeaderTextGroup(dataObj, renderOptions, topPadding) { // Sequence topPadding += 15; textObj.top = topPadding; - const sequenceText = new fabric.Text("Sequence: ", textObj); + const sequenceText = new fabric.Text('Sequence: ', textObj); // Length const length = dataObj.query_len; topPadding += 15; @@ -44,21 +44,14 @@ export function drawHeaderTextGroup(dataObj, renderOptions, topPadding) { const end = dataObj.end; textObj.top = origTopPadding + 15; const endText = new fabric.Text(`${end}`, textObj); - const textGroup = new fabric.Group([ - programText, - databaseText, - sequenceText, - lengthText, - startText, - endText, - ], objectDefaults); + const textGroup = new fabric.Group([programText, databaseText, sequenceText, lengthText, startText, endText], objectDefaults); return textGroup; } export function drawHeaderLinkText(dataObj, renderOptions, topPadding) { // Sequence const sequence = dataObj.query_def; const textSeqObj = { ...textDefaults }; - textSeqObj.fontFamily = "Menlo"; + textSeqObj.fontFamily = 'Menlo'; textSeqObj.fontSize = renderOptions.fontSize - 2; textSeqObj.evented = true; textSeqObj.top = topPadding - 15; @@ -68,29 +61,29 @@ export function drawHeaderLinkText(dataObj, renderOptions, topPadding) { } export function drawContentHeaderTextGroup(coordValues, renderOptions, topPadding) { const textObj = { ...textDefaults }; - textObj.fontWeight = "bold"; + textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize + 1; textObj.top = topPadding + 2; - textObj.textAlign = "center"; + textObj.textAlign = 'center'; const totalQueryPixels = getTotalPixels(coordValues.queryLen, coordValues.subjLen, coordValues.queryLen, renderOptions.contentWidth, renderOptions.contentScoringWidth); const totalSubjPixels = getTotalPixels(coordValues.queryLen, coordValues.subjLen, coordValues.subjLen, renderOptions.contentWidth, renderOptions.contentScoringWidth); // Query Match textObj.left = coordValues.startQueryPixels; - const queryText = new fabric.Text("Sequence Match", textObj); + const queryText = new fabric.Text('Sequence Match', textObj); queryText.width = totalQueryPixels; textObj.left = coordValues.startEvalPixels; let evalueText; // E-value/ Bits if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) { - evalueText = new fabric.Text("Bit score", textObj); + evalueText = new fabric.Text('Bit score', textObj); } else { - evalueText = new fabric.Text("E-value", textObj); + evalueText = new fabric.Text('E-value', textObj); } evalueText.width = renderOptions.contentScoringWidth; // Subject Match textObj.left = coordValues.startSubjPixels; - const subjText = new fabric.Text("Subject Match", textObj); + const subjText = new fabric.Text('Subject Match', textObj); subjText.width = totalSubjPixels; const textGroup = new fabric.Group([queryText, evalueText, subjText], objectDefaults); return textGroup; @@ -98,7 +91,7 @@ export function drawContentHeaderTextGroup(coordValues, renderOptions, topPaddin export function drawLineTracksQuerySubject(coordValues, renderOptions, topPadding) { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; - lineObj.stroke = "black"; + lineObj.stroke = 'black'; lineObj.strokeWidth = renderOptions.strokeWidth; // Query const coordsQuery = [ @@ -152,20 +145,13 @@ export function drawLineTracksQuerySubject(coordValues, renderOptions, topPaddin lineObj.left = coordValues.endSubjPixels; const subjEndCap = new fabric.Line(coordsSubjEndCap, lineObj); // Group - const lineGroup = new fabric.Group([ - queryLine, - subjLine, - queryStartCap, - queryEndCap, - subjStartCap, - subjEndCap, - ], objectDefaults); + const lineGroup = new fabric.Group([queryLine, subjLine, queryStartCap, queryEndCap, subjStartCap, subjEndCap], objectDefaults); return lineGroup; } export function drawLineTracks(coordValues, renderOptions, topPadding) { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; - lineObj.stroke = "black"; + lineObj.stroke = 'black'; lineObj.strokeWidth = renderOptions.strokeWidth; // Query/Subject const coordsQuery = [ @@ -199,7 +185,7 @@ export function drawLineTracks(coordValues, renderOptions, topPadding) { export function drawDomainLineTracks(coordValues, renderOptions, topPadding) { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; - lineObj.stroke = "black"; + lineObj.stroke = 'black'; lineObj.strokeWidth = renderOptions.strokeWidth; lineObj.strokeDashArray = renderOptions.strokeDashArray; // Query/Subject @@ -232,14 +218,14 @@ export function drawContentQuerySubjFooterTextGroup(coordValues, renderOptions, textObj.top = topPadding; // Start Query textObj.left = coordValues.startQueryPixels - 2.5; - const startQueryText = new fabric.Text("1", textObj); + const startQueryText = new fabric.Text('1', textObj); // End Query let positionFactor = getTextLegendPaddingFactor(`${coordValues.queryLen}`); textObj.left = coordValues.endQueryPixels - positionFactor; const endQueryText = new fabric.Text(`${coordValues.queryLen}`, textObj); // Start Subject textObj.left = coordValues.startSubjPixels - 2.5; - const startSubjText = new fabric.Text("1", textObj); + const startSubjText = new fabric.Text('1', textObj); // End Subject positionFactor = getTextLegendPaddingFactor(`${coordValues.subjLen}`); textObj.left = coordValues.endSubjPixels - positionFactor; @@ -249,26 +235,26 @@ export function drawContentQuerySubjFooterTextGroup(coordValues, renderOptions, } export function drawNoHitsFoundText(renderOptions, topPadding) { const textObj = { ...textDefaults }; - textObj.fontWeight = "bold"; + textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize + 1; textObj.top = topPadding; textObj.left = renderOptions.contentWidth / 2; - textObj.fill = "red"; - const noHitsText = new fabric.Text("--------------------No hits found--------------------", textObj); + textObj.fill = 'red'; + const noHitsText = new fabric.Text('--------------------No hits found--------------------', textObj); return noHitsText; } export function drawContentSequenceInfoText(maxIDLen, hit, renderOptions, topPadding) { // Hit ID + Hit Description text tracks const textObj = { ...textDefaults }; - textObj.fontFamily = "Menlo"; + textObj.fontFamily = 'Menlo'; textObj.fontSize = renderOptions.fontSize - 2; textObj.top = topPadding - 2; - const variableSpace = " ".repeat(maxIDLen - (hit.hit_db.length + hit.hit_id.length)); + const variableSpace = ' '.repeat(maxIDLen - (hit.hit_db.length + hit.hit_id.length)); const spaceText = new fabric.Text(variableSpace, textObj); let hit_def = `${hit.hit_db}:${hit.hit_id} ${hit.hit_desc}`; let hit_def_full = `${variableSpace}${hit.hit_db}:${hit.hit_id} ${hit.hit_desc}`; if (hit_def_full.length > 40) { - hit_def = (hit_def_full.slice(0, 38) + "...").slice(variableSpace.length); + hit_def = (hit_def_full.slice(0, 38) + '...').slice(variableSpace.length); } textObj.left = 10 + variableSpace.length * 6; textObj.evented = true; @@ -281,9 +267,8 @@ export function drawHspNoticeText(totalNumberHsps, numberHsps, renderOptions, to textObj.fontSize = renderOptions.fontSize; textObj.top = topPadding; textObj.left = renderOptions.contentWidth / 2; - textObj.fill = "red"; - const hspTextNotice = new fabric.Text(`This hit contains ${totalNumberHsps} alignments, ` + - `but only the first ${numberHsps} are displayed!`, textObj); + textObj.fill = 'red'; + const hspTextNotice = new fabric.Text(`This hit contains ${totalNumberHsps} alignments, ` + `but only the first ${numberHsps} are displayed!`, textObj); return hspTextNotice; } export function drawScoreText(startEvalPixels, hsp, renderOptions, topPadding) { @@ -291,7 +276,7 @@ export function drawScoreText(startEvalPixels, hsp, renderOptions, topPadding) { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize; textObj.top = topPadding - 15; - textObj.textAlign = "center"; + textObj.textAlign = 'center'; textObj.left = startEvalPixels; let hspScoreText; if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) { @@ -326,9 +311,9 @@ export function drawDomainQueySubject(startQueryPixels, endQueryPixels, startSub export function drawDomainTooltips(startHspPixels, endHspPixels, seq_from, seq_to, hsp, renderOptions, topPadding) { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize + 1; - floatTextObj.textAlign = "left"; - floatTextObj.originX = "top"; - floatTextObj.originY = "top"; + floatTextObj.textAlign = 'left'; + floatTextObj.originX = 'top'; + floatTextObj.originY = 'top'; floatTextObj.top = 5; let tooltip; if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) { @@ -339,12 +324,12 @@ export function drawDomainTooltips(startHspPixels, endHspPixels, seq_from, seq_t } const tooltipText = new fabric.Text(tooltip, floatTextObj); const rectObj = { ...rectDefaults }; - rectObj.fill = "white"; - rectObj.stroke = "lightseagreen"; + rectObj.fill = 'white'; + rectObj.stroke = 'lightseagreen'; rectObj.rx = 5; rectObj.ry = 5; - rectObj.originX = "top"; - rectObj.originY = "top"; + rectObj.originX = 'top'; + rectObj.originY = 'top'; rectObj.width = 140; rectObj.height = 60; rectObj.opacity = 0.95; @@ -362,10 +347,10 @@ export function drawDomainTooltips(startHspPixels, endHspPixels, seq_from, seq_t export function drawScaleTypeText(renderOptions, topPadding) { const textSelObj = { ...textDefaults }; textSelObj.fontSize = renderOptions.fontSize + 1; - textSelObj.fontWeight = "bold"; + textSelObj.fontWeight = 'bold'; textSelObj.top = topPadding; textSelObj.left = renderOptions.scaleLabelWidth; - const scaleTypeText = new fabric.Text("Scale Type:", textSelObj); + const scaleTypeText = new fabric.Text('Scale Type:', textSelObj); return scaleTypeText; } export function drawCheckBoxText(renderOptions, topPadding) { @@ -376,40 +361,34 @@ export function drawCheckBoxText(renderOptions, topPadding) { textSelObj.left = renderOptions.scaleLabelWidth; const textCheckDynObj = { ...textDefaults }; textCheckDynObj.fontSize = renderOptions.fontSize + 12; - textCheckDynObj.fill = "grey"; + textCheckDynObj.fill = 'grey'; textCheckDynObj.evented = true; textCheckDynObj.top = topPadding - 8; textCheckDynObj.left = renderOptions.scaleLabelWidth; const textCheckFixObj = { ...textCheckDynObj }; const textCheckNcbiObj = { ...textCheckDynObj }; let checkSym; - renderOptions.colorScheme === ColorSchemeEnum.dynamic - ? (checkSym = "☒") - : (checkSym = "☐"); + renderOptions.colorScheme === ColorSchemeEnum.dynamic ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme === ColorSchemeEnum.dynamic) - textCheckDynObj.fill = "black"; + textCheckDynObj.fill = 'black'; textCheckDynObj.left += 80; const dynamicCheckboxText = new fabric.Text(checkSym, textCheckDynObj); textSelObj.left += 100; - const dynamicText = new fabric.Text("Dynamic (E-value: min to max)", textSelObj); - renderOptions.colorScheme === ColorSchemeEnum.fixed - ? (checkSym = "☒") - : (checkSym = "☐"); + const dynamicText = new fabric.Text('Dynamic (E-value: min to max)', textSelObj); + renderOptions.colorScheme === ColorSchemeEnum.fixed ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme === ColorSchemeEnum.fixed) - textCheckFixObj.fill = "black"; + textCheckFixObj.fill = 'black'; textCheckFixObj.left += 290; const fixedCheckboxText = new fabric.Text(checkSym, textCheckFixObj); textSelObj.left += 210; - const fixedText = new fabric.Text("Fixed (E-value: 0.0 to 100.0)", textSelObj); - renderOptions.colorScheme === ColorSchemeEnum.ncbiblast - ? (checkSym = "☒") - : (checkSym = "☐"); + const fixedText = new fabric.Text('Fixed (E-value: 0.0 to 100.0)', textSelObj); + renderOptions.colorScheme === ColorSchemeEnum.ncbiblast ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) - textCheckNcbiObj.fill = "black"; + textCheckNcbiObj.fill = 'black'; textCheckNcbiObj.left += 480; const ncbiblastCheckboxText = new fabric.Text(checkSym, textCheckNcbiObj); textSelObj.left += 190; - const ncbiblastText = new fabric.Text("NCBI BLAST+ (Bit score: <40 to ≥200)", textSelObj); + const ncbiblastText = new fabric.Text('NCBI BLAST+ (Bit score: <40 to ≥200)', textSelObj); return [ dynamicCheckboxText, dynamicText, @@ -428,8 +407,8 @@ export function drawScaleScoreText(renderOptions, topPadding) { textObj.top = topPadding; let scaleTypeLabel; renderOptions.colorScheme === ColorSchemeEnum.ncbiblast - ? (scaleTypeLabel = "Bit score") - : (scaleTypeLabel = "E-value"); + ? (scaleTypeLabel = 'Bit score') + : (scaleTypeLabel = 'E-value'); renderOptions.colorScheme === ColorSchemeEnum.ncbiblast ? (textObj.left = renderOptions.scaleLabelWidth - 56) : (textObj.left = renderOptions.scaleLabelWidth - 50); @@ -455,14 +434,9 @@ export function drawLineAxis5Buckets(startGradPixels, o25GradPixels, o50GradPixe // Axis const lineObj = { ...lineDefaults }; lineObj.top = topPadding; - lineObj.stroke = "black"; + lineObj.stroke = 'black'; lineObj.strokeWidth = renderOptions.strokeWidth; - const coordsAxis = [ - startGradPixels, - topPadding, - endGradPixels, - topPadding, - ]; + const coordsAxis = [startGradPixels, topPadding, endGradPixels, topPadding]; lineObj.left = startGradPixels; const axisLine = new fabric.Line(coordsAxis, lineObj); // Start tick @@ -474,30 +448,15 @@ export function drawLineAxis5Buckets(startGradPixels, o25GradPixels, o50GradPixe ]; const axisStartTick = new fabric.Line(coordsAxisStartTick, lineObj); // 25% tick - const coordsAxis25Tick = [ - o25GradPixels, - topPadding, - o25GradPixels, - topPadding + 4, - ]; + const coordsAxis25Tick = [o25GradPixels, topPadding, o25GradPixels, topPadding + 4]; lineObj.left = o25GradPixels; const axis25Tick = new fabric.Line(coordsAxis25Tick, lineObj); // 50% tick - const coordsAxis50Tick = [ - o50GradPixels, - topPadding, - o50GradPixels, - topPadding + 4, - ]; + const coordsAxis50Tick = [o50GradPixels, topPadding, o50GradPixels, topPadding + 4]; lineObj.left = o50GradPixels; const axis50Tick = new fabric.Line(coordsAxis50Tick, lineObj); // 75% tick - const coordsAxis75Tick = [ - o75GradPixels, - topPadding, - o75GradPixels, - topPadding + 4, - ]; + const coordsAxis75Tick = [o75GradPixels, topPadding, o75GradPixels, topPadding + 4]; lineObj.left = o75GradPixels; const axis75Tick = new fabric.Line(coordsAxis75Tick, lineObj); // End tick @@ -510,28 +469,16 @@ export function drawLineAxis5Buckets(startGradPixels, o25GradPixels, o50GradPixe lineObj.left = endGradPixels; const axisEndTick = new fabric.Line(coordsAxisEndTick, lineObj); // Group - const axisGroup = new fabric.Group([ - axisLine, - axisStartTick, - axis25Tick, - axis50Tick, - axis75Tick, - axisEndTick, - ], objectDefaults); + const axisGroup = new fabric.Group([axisLine, axisStartTick, axis25Tick, axis50Tick, axis75Tick, axisEndTick], objectDefaults); return axisGroup; } export function drawLineAxis6Buckets(startGradPixels, o20GradPixels, o40GradPixels, o60GradPixels, o80GradPixels, endGradPixels, renderOptions, topPadding) { // Axis const lineObj = { ...lineDefaults }; lineObj.top = topPadding; - lineObj.stroke = "black"; + lineObj.stroke = 'black'; lineObj.strokeWidth = renderOptions.strokeWidth; - const coordsAxis = [ - startGradPixels, - topPadding, - endGradPixels, - topPadding, - ]; + const coordsAxis = [startGradPixels, topPadding, endGradPixels, topPadding]; lineObj.left = startGradPixels; const axisLine = new fabric.Line(coordsAxis, lineObj); // Start tick @@ -543,39 +490,19 @@ export function drawLineAxis6Buckets(startGradPixels, o20GradPixels, o40GradPixe ]; const axisStartTick = new fabric.Line(coordsAxisStartTick, lineObj); // 20% tick - const coordsAxis20Tick = [ - o20GradPixels, - topPadding, - o20GradPixels, - topPadding + 4, - ]; + const coordsAxis20Tick = [o20GradPixels, topPadding, o20GradPixels, topPadding + 4]; lineObj.left = o20GradPixels; const axis20Tick = new fabric.Line(coordsAxis20Tick, lineObj); // 40% tick - const coordsAxis40Tick = [ - o40GradPixels, - topPadding, - o40GradPixels, - topPadding + 4, - ]; + const coordsAxis40Tick = [o40GradPixels, topPadding, o40GradPixels, topPadding + 4]; lineObj.left = o40GradPixels; const axis40Tick = new fabric.Line(coordsAxis40Tick, lineObj); // 60% tick - const coordsAxis60Tick = [ - o60GradPixels, - topPadding, - o60GradPixels, - topPadding + 4, - ]; + const coordsAxis60Tick = [o60GradPixels, topPadding, o60GradPixels, topPadding + 4]; lineObj.left = o60GradPixels; const axis60Tick = new fabric.Line(coordsAxis60Tick, lineObj); // 80% tick - const coordsAxis80Tick = [ - o80GradPixels, - topPadding, - o80GradPixels, - topPadding + 4, - ]; + const coordsAxis80Tick = [o80GradPixels, topPadding, o80GradPixels, topPadding + 4]; lineObj.left = o80GradPixels; const axis80Tick = new fabric.Line(coordsAxis80Tick, lineObj); // End tick @@ -588,15 +515,7 @@ export function drawLineAxis6Buckets(startGradPixels, o20GradPixels, o40GradPixe lineObj.left = endGradPixels; const axisEndTick = new fabric.Line(coordsAxisEndTick, lineObj); // Group - const axisGroup = new fabric.Group([ - axisLine, - axisStartTick, - axis20Tick, - axis40Tick, - axis60Tick, - axis80Tick, - axisEndTick, - ], objectDefaults); + const axisGroup = new fabric.Group([axisLine, axisStartTick, axis20Tick, axis40Tick, axis60Tick, axis80Tick, axisEndTick], objectDefaults); return axisGroup; } export function drawScaleTick5LabelsGroup(gradientSteps, leftPadding, renderOptions, topPadding) { @@ -605,40 +524,23 @@ export function drawScaleTick5LabelsGroup(gradientSteps, leftPadding, renderOpti textObj.fontSize = renderOptions.fontSize; // 20% Tick Label let label = `<${gradientSteps[1]}`; - textObj.left = - renderOptions.scaleLabelWidth + leftPadding - label.length * 3 - 72; + textObj.left = renderOptions.scaleLabelWidth + leftPadding - label.length * 3 - 72; const o20LabelText = new fabric.Text(label, textObj); // 40% Tick Label label = `${gradientSteps[1]} - ${gradientSteps[2]}`; - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding * 2 - - label.length * 3 - - 72; + textObj.left = renderOptions.scaleLabelWidth + leftPadding * 2 - label.length * 3 - 72; const o40LabelText = new fabric.Text(label, textObj); // 60% Tick Label label = `${gradientSteps[2]} - ${gradientSteps[3]}`; - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding * 3 - - label.length * 3 - - 72; + textObj.left = renderOptions.scaleLabelWidth + leftPadding * 3 - label.length * 3 - 72; const o60LabelText = new fabric.Text(label, textObj); // 60% Tick Label label = `${gradientSteps[3]} - ${gradientSteps[4]}`; - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding * 4 - - label.length * 3 - - 72; + textObj.left = renderOptions.scaleLabelWidth + leftPadding * 4 - label.length * 3 - 72; const o80LabelText = new fabric.Text(label, textObj); // End Tick Label label = `≥${gradientSteps[4]}`; - textObj.left = - renderOptions.scaleLabelWidth + - renderOptions.scaleWidth - - label.length * 3 - - 72; + textObj.left = renderOptions.scaleLabelWidth + renderOptions.scaleWidth - label.length * 3 - 72; const endLabelText = new fabric.Text(label, textObj); const textGroup = new fabric.Group([o20LabelText, o40LabelText, o60LabelText, o80LabelText, endLabelText], objectDefaults); return textGroup; @@ -648,41 +550,22 @@ export function drawScaleTick4LabelsGroup(gradientSteps, leftPadding, renderOpti textObj.top = topPadding; textObj.fontSize = renderOptions.fontSize; // Start Tick Label - textObj.left = - renderOptions.scaleLabelWidth - - numberToString(gradientSteps[0]).length * 3; + textObj.left = renderOptions.scaleLabelWidth - numberToString(gradientSteps[0]).length * 3; const startLabelText = new fabric.Text(numberToString(gradientSteps[0]), textObj); // 25% Tick Label - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding - - numberToString(gradientSteps[1]).length * 3; + textObj.left = renderOptions.scaleLabelWidth + leftPadding - numberToString(gradientSteps[1]).length * 3; const o25LabelText = new fabric.Text(numberToString(gradientSteps[1]), textObj); // 50% Tick Label - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding * 2 - - numberToString(gradientSteps[2]).length * 3; + textObj.left = renderOptions.scaleLabelWidth + leftPadding * 2 - numberToString(gradientSteps[2]).length * 3; const o50LabelText = new fabric.Text(numberToString(gradientSteps[2]), textObj); // 75% Tick Label - textObj.left = - renderOptions.scaleLabelWidth + - leftPadding * 3 - - numberToString(gradientSteps[3]).length * 3; + textObj.left = renderOptions.scaleLabelWidth + leftPadding * 3 - numberToString(gradientSteps[3]).length * 3; const o75LabelText = new fabric.Text(numberToString(gradientSteps[3]), textObj); // End Tick Label textObj.left = - renderOptions.scaleLabelWidth + - renderOptions.scaleWidth - - numberToString(gradientSteps[4]).length * 3; + renderOptions.scaleLabelWidth + renderOptions.scaleWidth - numberToString(gradientSteps[4]).length * 3; const endLabelText = new fabric.Text(numberToString(gradientSteps[4]), textObj); - const textGroup = new fabric.Group([ - startLabelText, - o25LabelText, - o50LabelText, - o75LabelText, - endLabelText, - ], objectDefaults); + const textGroup = new fabric.Group([startLabelText, o25LabelText, o50LabelText, o75LabelText, endLabelText], objectDefaults); return textGroup; } export function drawFooterText(renderOptions, topPadding) { @@ -706,18 +589,18 @@ export function drawCanvasWrapperStroke(renderOptions) { width: renderOptions.canvasWidth - 1, height: renderOptions.canvasHeight - 1, strokeWidth: 1, - stroke: "lightseagreen", - fill: "transparent", + stroke: 'lightseagreen', + fill: 'transparent', }); return canvasWrapper; } export function drawContentTitleText(renderOptions, topPadding) { const textObj = { ...textDefaults }; - textObj.fontWeight = "bold"; + textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize + 2; textObj.top = topPadding; textObj.left = 350; - const title = "Fast Family and Domain Prediction by InterPro"; + const title = 'Fast Family and Domain Prediction by InterPro'; return new fabric.Text(`${title}`, textObj); } export function drawContentSupressText(renderOptions, topPadding, numberHits) { @@ -725,18 +608,17 @@ export function drawContentSupressText(renderOptions, topPadding, numberHits) { textObj.fontSize = renderOptions.fontSize; textObj.top = topPadding; textObj.left = renderOptions.contentWidth / 2; - textObj.fill = "red"; - const title = `This is a partial representation of the result, ` + - `only the first ${numberHits} hits are displayed!`; + textObj.fill = 'red'; + const title = `This is a partial representation of the result, ` + `only the first ${numberHits} hits are displayed!`; return new fabric.Text(`${title}`, textObj); } export function drawProteinFeaturesText(renderOptions, topPadding) { const textSelObj = { ...textDefaults }; textSelObj.fontSize = renderOptions.fontSize + 1; - textSelObj.fontWeight = "bold"; + textSelObj.fontWeight = 'bold'; textSelObj.top = topPadding; textSelObj.left = renderOptions.scaleLabelWidth - 10; - const scaleTypeText = new fabric.Text("Select your database:", textSelObj); + const scaleTypeText = new fabric.Text('Select your database:', textSelObj); return scaleTypeText; } export function drawDomainCheckbox(renderOptions, topPadding, leftPadding, currentDomainDatabase) { @@ -751,17 +633,17 @@ export function drawDomainCheckbox(renderOptions, topPadding, leftPadding, curre textObj.top = topPadding; textObj.left = leftPadding + 20; if (renderOptions.currentDisabled) { - textObj.fill = "grey"; - rectObj.fill = "white"; - rectObj.stroke = "grey"; + textObj.fill = 'grey'; + rectObj.fill = 'white'; + rectObj.stroke = 'grey'; } else if (renderOptions.currentDomainDatabase !== undefined) { rectObj.fill = colorByDatabaseName(renderOptions.currentDomainDatabase); - rectObj.stroke = "black"; + rectObj.stroke = 'black'; } else { - rectObj.fill = "white"; - rectObj.stroke = "grey"; + rectObj.fill = 'white'; + rectObj.stroke = 'grey'; } const proteinFeatureRect = new fabric.Rect(rectObj); const proteinFeatureText = new fabric.Text(currentDomainDatabase, textObj); @@ -783,15 +665,15 @@ export function drawHitTransparentBox(startPixels, endPixels, topPadding, fill, export function drawContentDomainInfoText(domainID, renderOptions, topPadding) { // Domain ID text tracks const textObj = { ...textDefaults }; - textObj.fontFamily = "Menlo"; + textObj.fontFamily = 'Menlo'; textObj.fontSize = renderOptions.fontSize - 2; textObj.top = topPadding - 5; - const variableSpace = " ".repeat(40 - domainID.length); + const variableSpace = ' '.repeat(40 - domainID.length); const spaceText = new fabric.Text(variableSpace, textObj); let domain = `${domainID}`; let domain_full = `${variableSpace}${domainID}`; if (domain_full.length > 40) { - domain = (domain_full.slice(0, 38) + "...").slice(variableSpace.length); + domain = (domain_full.slice(0, 38) + '...').slice(variableSpace.length); } textObj.left = 12 + variableSpace.length * 6; textObj.evented = true; @@ -811,22 +693,20 @@ export function drawDomains(startPixels, endPixels, topPadding, color) { rectObj.left = startPixels; rectObj.width = endPixels; rectObj.height = 10; - rectObj.stroke = "black"; + rectObj.stroke = 'black'; rectObj.strokeWidth = 0.5; return new fabric.Rect(rectObj); } export function drawDomainInfoTooltips(startPixels, endPixels, seq_from, seq_to, domain, renderOptions, topPadding) { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize + 1; - floatTextObj.textAlign = "left"; - floatTextObj.originX = "top"; - floatTextObj.originY = "top"; + floatTextObj.textAlign = 'left'; + floatTextObj.originX = 'top'; + floatTextObj.originY = 'top'; floatTextObj.top = 5; floatTextObj.left = 10; floatTextObj.width = 200; - let tooltip = `Start: ${seq_from}\n` + - `End: ${seq_to}\n` + - `Database: ${domain.dbname}\n`; + let tooltip = `Start: ${seq_from}\n` + `End: ${seq_to}\n` + `Database: ${domain.dbname}\n`; if (domain.altid !== undefined && domain.altname !== undefined) { tooltip += `ID: ${domain.altid}\n` + @@ -836,19 +716,16 @@ export function drawDomainInfoTooltips(startPixels, endPixels, seq_from, seq_to, `IPR Name: ${domain.name}\n`; } else { - tooltip += - `ID: ${domain.id}\n` + - `Name: ${domain.name}\n` + - `Type: ${domain.type}\n`; + tooltip += `ID: ${domain.id}\n` + `Name: ${domain.name}\n` + `Type: ${domain.type}\n`; } const tooltipText = new fabric.Textbox(tooltip, floatTextObj); const rectObj = { ...rectDefaults }; - rectObj.fill = "white"; - rectObj.stroke = "lightseagreen"; + rectObj.fill = 'white'; + rectObj.stroke = 'lightseagreen'; rectObj.rx = 5; rectObj.ry = 5; - rectObj.originX = "top"; - rectObj.originY = "top"; + rectObj.originX = 'top'; + rectObj.originY = 'top'; rectObj.width = tooltipText.width + 40; rectObj.height = tooltipText.height; rectObj.opacity = 0.95; @@ -866,15 +743,15 @@ export function drawDomainInfoTooltips(startPixels, endPixels, seq_from, seq_to, export function drawURLInfoTooltip(startPixels, sequence, URL, renderOptions, topPadding) { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize + 1; - floatTextObj.originX = "left"; - floatTextObj.originY = "top"; + floatTextObj.originX = 'left'; + floatTextObj.originY = 'top'; floatTextObj.top = 5; floatTextObj.left = 5; if (sequence.length > 150) { - sequence = sequence.slice(0, 150) + "..."; + sequence = sequence.slice(0, 150) + '...'; } let tooltipText; - if (sequence !== "") { + if (sequence !== '') { const seqLabel = sequence.length * 6.3; const urlLabel = URL.length * 6.3; if (seqLabel > urlLabel) { @@ -891,13 +768,13 @@ export function drawURLInfoTooltip(startPixels, sequence, URL, renderOptions, to tooltipText = new fabric.Text(`${URL}`, floatTextObj); } const rectObj = { ...rectDefaults }; - rectObj.fill = "white"; - rectObj.stroke = "lightseagreen"; + rectObj.fill = 'white'; + rectObj.stroke = 'lightseagreen'; rectObj.strokeWidth = 0.5; rectObj.rx = 5; rectObj.ry = 5; - rectObj.originX = "left"; - rectObj.originY = "top"; + rectObj.originX = 'left'; + rectObj.originY = 'top'; rectObj.width = tooltipText.width + 10; rectObj.height = tooltipText.height + 10; rectObj.opacity = 0.95; @@ -908,7 +785,7 @@ export function drawURLInfoTooltip(startPixels, sequence, URL, renderOptions, to objectCaching: false, visible: true, top: topPadding, - originX: "left", + originX: 'left', }); tooltipGroup.left = startPixels + 10; return tooltipGroup; diff --git a/bin/functional-predictions-app.js b/bin/functional-predictions-app.js index 28288f0..ce359d2 100644 --- a/bin/functional-predictions-app.js +++ b/bin/functional-predictions-app.js @@ -1,25 +1,25 @@ -import { getPixelCoords, getDomainPixelCoords } from "./coords-utilities"; -import { getGradientSteps, getRgbColorFixed, getRgbColorGradient, colorByDatabaseName, } from "./color-utilities"; -import { defaultGradient, ncbiBlastGradient } from "./color-schemes"; -import { BasicCanvasRenderer, ObjectCache, getUniqueIPRMCDomainDatabases, domainDatabaseNameToString, getDomainURLbyDatabase, } from "./other-utilities"; -import { ColorSchemeEnum, } from "./custom-types"; -import { mouseDownText, mouseOverText, mouseOutText, mouseOverCheckbox, mouseDownCheckbox, mouseOutCheckbox, mouseOverDomainCheckbox, mouseDownDomainCheckbox, mouseOutDomainCheckbox, mouseOverDomain, mouseOutDomain, } from "./custom-events"; -import { drawHeaderTextGroup, drawHeaderLinkText, drawNoHitsFoundText, drawScaleTypeText, drawScaleScoreText, drawScaleColorGradient, drawLineAxis5Buckets, drawLineAxis6Buckets, drawScaleTick5LabelsGroup, drawScaleTick4LabelsGroup, drawFooterText, drawCanvasWrapperStroke, drawCheckBoxText, drawContentTitleText, drawContentSupressText, drawProteinFeaturesText, drawDomainCheckbox, drawLineTracks, drawContentFooterTextGroup, drawContentSequenceInfoText, drawDomainLineTracks, drawHitTransparentBox, drawContentDomainInfoText, drawDomains, } from "./drawing-utilities"; +import { getPixelCoords, getDomainPixelCoords } from './coords-utilities'; +import { getGradientSteps, getRgbColorFixed, getRgbColorGradient, colorByDatabaseName } from './color-utilities'; +import { defaultGradient, ncbiBlastGradient } from './color-schemes'; +import { BasicCanvasRenderer, ObjectCache, getUniqueIPRMCDomainDatabases, domainDatabaseNameToString, getDomainURLbyDatabase, } from './other-utilities'; +import { ColorSchemeEnum } from './custom-types'; +import { mouseDownText, mouseOverText, mouseOutText, mouseOverCheckbox, mouseDownCheckbox, mouseOutCheckbox, mouseOverDomainCheckbox, mouseDownDomainCheckbox, mouseOutDomainCheckbox, mouseOverDomain, mouseOutDomain, } from './custom-events'; +import { drawHeaderTextGroup, drawHeaderLinkText, drawNoHitsFoundText, drawScaleTypeText, drawScaleScoreText, drawScaleColorGradient, drawLineAxis5Buckets, drawLineAxis6Buckets, drawScaleTick5LabelsGroup, drawScaleTick4LabelsGroup, drawFooterText, drawCanvasWrapperStroke, drawCheckBoxText, drawContentTitleText, drawContentSupressText, drawProteinFeaturesText, drawDomainCheckbox, drawLineTracks, drawContentFooterTextGroup, drawContentSequenceInfoText, drawDomainLineTracks, drawHitTransparentBox, drawContentDomainInfoText, drawDomains, } from './drawing-utilities'; const defaultDomainDatabaseList = [ - "PRODOM", - "CATH-Gene3D", - "CDD", - "PANTHER", - "HAMAP", - "Pfam", - "PIRSF", - "PRINTS", - "PROSITE profiles", - "PROSITE patterns", - "SFLD", - "SMART", - "SUPERFAMILY", - "TIGRFAMs", + 'PRODOM', + 'CATH-Gene3D', + 'CDD', + 'PANTHER', + 'HAMAP', + 'Pfam', + 'PIRSF', + 'PRINTS', + 'PROSITE profiles', + 'PROSITE patterns', + 'SFLD', + 'SMART', + 'SUPERFAMILY', + 'TIGRFAMs', ]; function createDomainCheckbox(_this, currentDomainDatabase, domainDatabases, topPadding, leftPadding, renderOptions) { if (_this.domainDatabaseList.includes(currentDomainDatabase)) { @@ -62,9 +62,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.gradientSteps = []; this.uniqueDomainDatabases = []; this.currentDomainDatabaseDisabled = false; - renderOptions.canvasWidth != undefined - ? (this.canvasWidth = renderOptions.canvasWidth) - : (this.canvasWidth = 1000); + renderOptions.canvasWidth != undefined ? (this.canvasWidth = renderOptions.canvasWidth) : (this.canvasWidth = 1000); renderOptions.canvasHeight != undefined ? (this.canvasHeight = renderOptions.canvasHeight) : (this.canvasHeight = 110); @@ -89,18 +87,12 @@ export class FunctionalPredictions extends BasicCanvasRenderer { renderOptions.colorScheme != undefined ? (this.colorScheme = renderOptions.colorScheme) : (this.colorScheme = ColorSchemeEnum.dynamic); - renderOptions.numberHits != undefined - ? (this.numberHits = renderOptions.numberHits) - : (this.numberHits = 30); - renderOptions.fontSize != undefined - ? (this.fontSize = renderOptions.fontSize) - : (this.fontSize = 12); - renderOptions.fontWeigth != undefined - ? (this.fontWeigth = renderOptions.fontWeigth) - : (this.fontWeigth = "normal"); + renderOptions.numberHits != undefined ? (this.numberHits = renderOptions.numberHits) : (this.numberHits = 30); + renderOptions.fontSize != undefined ? (this.fontSize = renderOptions.fontSize) : (this.fontSize = 12); + renderOptions.fontWeigth != undefined ? (this.fontWeigth = renderOptions.fontWeigth) : (this.fontWeigth = 'normal'); renderOptions.fontFamily != undefined ? (this.fontFamily = renderOptions.fontFamily) - : (this.fontFamily = "Times New Roman"); + : (this.fontFamily = 'Times New Roman'); renderOptions.canvasWrapperStroke != undefined ? (this.canvasWrapperStroke = renderOptions.canvasWrapperStroke) : (this.canvasWrapperStroke = false); @@ -131,25 +123,25 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.queryEnd = this.sssDataObj.query_len; } loadInitialCoords() { - this.startPixels = objCache.get("startPixels"); - this.endPixels = objCache.get("endPixels"); + this.startPixels = objCache.get('startPixels'); + this.endPixels = objCache.get('endPixels'); if (!this.startPixels && !this.endPixels) { [this.startPixels, this.endPixels] = getPixelCoords(this.contentWidth, this.contentLabelWidth, this.marginWidth); - objCache.put("startPixels", this.startPixels); - objCache.put("endPixels", this.endPixels); + objCache.put('startPixels', this.startPixels); + objCache.put('endPixels', this.endPixels); } } loadIPRMCProperties() { if (this.sssDataObj != undefined) { // disable domain checkboxes that have no predictions - this.uniqueDomainDatabases = objCache.get("uniqueDomainDatabases"); + this.uniqueDomainDatabases = objCache.get('uniqueDomainDatabases'); if (!this.uniqueDomainDatabases) { let proteinIdList = []; for (const hit of this.sssDataObj.hits.slice(0, this.numberHits)) { proteinIdList.push(hit.hit_acc); } this.uniqueDomainDatabases = getUniqueIPRMCDomainDatabases(this.iprmcDataObj, proteinIdList); - objCache.put("uniqueDomainDatabases", this.uniqueDomainDatabases); + objCache.put('uniqueDomainDatabases', this.uniqueDomainDatabases); } // remove domainDatabases not in the set of unique domainDatabases for (const db of this.domainDatabaseList) { @@ -166,30 +158,29 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // canvas header this.topPadding = 2; let textHeaderGroup; - textHeaderGroup = objCache.get("textHeaderGroup"); + textHeaderGroup = objCache.get('textHeaderGroup'); if (!textHeaderGroup) { textHeaderGroup = drawHeaderTextGroup(this.sssDataObj, { fontSize: this.fontSize, canvasWidth: this.canvasWidth, }, this.topPadding); - objCache.put("textHeaderGroup", textHeaderGroup); + objCache.put('textHeaderGroup', textHeaderGroup); } this.canvas.add(textHeaderGroup); // canvas header (sequence info) this.topPadding += 45; let textHeaderLink; let textSeqObj; - textHeaderLink = objCache.get("textHeaderLink"); - textSeqObj = objCache.get("textHeaderLink_textSeqObj"); + textHeaderLink = objCache.get('textHeaderLink'); + textSeqObj = objCache.get('textHeaderLink_textSeqObj'); if (!textHeaderLink) { [textHeaderLink, textSeqObj] = drawHeaderLinkText(this.sssDataObj, { fontSize: this.fontSize }, this.topPadding); - objCache.put("textHeaderLink", textHeaderLink); - objCache.put("textHeaderLink_textSeqObj", textSeqObj); + objCache.put('textHeaderLink', textHeaderLink); + objCache.put('textHeaderLink_textSeqObj', textSeqObj); } this.canvas.add(textHeaderLink); if (!this.staticCanvas) { - if (this.sssDataObj.query_url != null && - this.sssDataObj.query_url !== "") { + if (this.sssDataObj.query_url != null && this.sssDataObj.query_url !== '') { mouseOverText(textHeaderLink, textSeqObj, this.sssDataObj.query_def, this.sssDataObj.query_url, { fontSize: this.fontSize }, this); mouseDownText(textHeaderLink, this.sssDataObj.query_url, this); mouseOutText(textHeaderLink, textSeqObj, this); @@ -200,12 +191,12 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // canvas content title this.topPadding += 25; let titleText; - titleText = objCache.get("titleText"); + titleText = objCache.get('titleText'); if (!titleText) { titleText = drawContentTitleText({ fontSize: this.fontSize + 1, }, this.topPadding); - objCache.put("titleText", titleText); + objCache.put('titleText', titleText); } this.canvas.add(titleText); // canvas dynamic content @@ -232,31 +223,49 @@ export class FunctionalPredictions extends BasicCanvasRenderer { drawPredictionsGroup() { // Protein Features - Database Selection let pfLabelText; - pfLabelText = objCache.get("pfLabelText"); + pfLabelText = objCache.get('pfLabelText'); if (!pfLabelText) { pfLabelText = drawProteinFeaturesText({ fontSize: this.fontSize, scaleLabelWidth: this.scaleLabelWidth - 50, }, this.topPadding); - objCache.put("pfLabelText", pfLabelText); + objCache.put('pfLabelText', pfLabelText); } this.canvas.add(pfLabelText); // display the domain checkboxes - createDomainCheckbox(this, "Pfam", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 190, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "SUPERFAMILY", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 260, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "SMART", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 390, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "HAMAP", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 480, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PANTHER", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 570, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PRODOM", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 680, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PROSITE profiles", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 770, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'Pfam', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 190, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'SUPERFAMILY', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 260, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'SMART', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 390, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'HAMAP', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 480, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'PANTHER', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 570, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'PRODOM', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 680, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'PROSITE profiles', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 770, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); this.topPadding += 30; - createDomainCheckbox(this, "CDD", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 190, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "CATH-Gene3D", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 260, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PIRSF", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 390, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PRINTS", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 480, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "TIGRFAMs", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 570, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "SFLD", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 680, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); - createDomainCheckbox(this, "PROSITE patterns", this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 770, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'CDD', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 190, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'CATH-Gene3D', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 260, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'PIRSF', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 390, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'PRINTS', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 480, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'TIGRFAMs', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 570, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); + createDomainCheckbox(this, 'SFLD', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 680, { + fontSize: this.fontSize, + staticCanvas: this.staticCanvas, + }); + createDomainCheckbox(this, 'PROSITE patterns', this.uniqueDomainDatabases, this.topPadding, this.contentLabelLeftWidth + 770, { fontSize: this.fontSize, staticCanvas: this.staticCanvas }); } drawDynamicContentGroup() { // draw a new track group per hit @@ -277,8 +286,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { minScore = hsp.hsp_bit_score; if (hsp.hsp_bit_score > maxScore) maxScore = hsp.hsp_bit_score; - if (hsp.hsp_bit_score < minNotZeroScore && - hsp.hsp_bit_score > 0.0) + if (hsp.hsp_bit_score < minNotZeroScore && hsp.hsp_bit_score > 0.0) minNotZeroScore = hsp.hsp_bit_score; } else { @@ -286,8 +294,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { minScore = hsp.hsp_expect; if (hsp.hsp_expect > maxScore) maxScore = hsp.hsp_expect; - if (hsp.hsp_expect < minNotZeroScore && - hsp.hsp_expect > 0.0) + if (hsp.hsp_expect < minNotZeroScore && hsp.hsp_expect > 0.0) minNotZeroScore = hsp.hsp_expect; } } @@ -332,11 +339,11 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.canvas.add(textContentFooterGroup); this.topPadding += 15; // hit (1st HSP) transparent domain - let boxColor = "white"; + let boxColor = 'white'; let hspStart = 0; let hspEnd = 0; for (const hsp of hit.hit_hsps) { - if (hsp.hsp_hit_frame === "-1") { + if (hsp.hsp_hit_frame === '-1') { hspStart = hsp.hsp_hit_to; hspEnd = hsp.hsp_hit_from; } @@ -359,9 +366,9 @@ export class FunctionalPredictions extends BasicCanvasRenderer { let boxHeight = 0; let tmpTopPadding = this.topPadding - 15; if (hit.hit_acc in this.iprmcDataObj) { - if (this.iprmcDataObj[hit.hit_acc]["matches"] !== undefined) { - for (const did of this.iprmcDataObj[hit.hit_acc]["matches"]) { - const domain = domainDatabaseNameToString(this.iprmcDataObj[hit.hit_acc]["match"][did][0]["dbname"]); + if (this.iprmcDataObj[hit.hit_acc]['matches'] !== undefined) { + for (const did of this.iprmcDataObj[hit.hit_acc]['matches']) { + const domain = domainDatabaseNameToString(this.iprmcDataObj[hit.hit_acc]['match'][did][0]['dbname']); if (this.domainDatabaseList.includes(domain)) { this.topPadding += 15; boxHeight += 15; @@ -375,31 +382,24 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // draw domain ID text let textObj; let spaceText, hitText; - [ - spaceText, - hitText, - textObj, - ] = drawContentDomainInfoText(did.split("_")[1] + " ►", { fontSize: this.fontSize }, this.topPadding); + [spaceText, hitText, textObj] = drawContentDomainInfoText(did.split('_')[1] + ' ►', { fontSize: this.fontSize }, this.topPadding); this.canvas.add(spaceText); this.canvas.add(hitText); // Domain URL mapping - const domainURL = getDomainURLbyDatabase(did.split("_")[1], domain); + const domainURL = getDomainURLbyDatabase(did.split('_')[1], domain); if (!this.staticCanvas) { - mouseOverText(hitText, textObj, "", domainURL, { fontSize: this.fontSize }, this); + mouseOverText(hitText, textObj, '', domainURL, { fontSize: this.fontSize }, this); mouseDownText(hitText, domainURL, this); mouseOutText(hitText, textObj, this); } // draw domain Predictions (loop over each prediction) - for (const dp of this.iprmcDataObj[hit.hit_acc]["match"][did]) { + for (const dp of this.iprmcDataObj[hit.hit_acc]['match'][did]) { // domain coordinates let domainStart = dp.start; let domainEnd = dp.end; let startDomainPixels = 0; let endDomainPixels = 0; - [ - startDomainPixels, - endDomainPixels, - ] = getDomainPixelCoords(this.startPixels, this.endPixels, hit.hit_len, domainStart, domainEnd, this.marginWidth); + [startDomainPixels, endDomainPixels] = getDomainPixelCoords(this.startPixels, this.endPixels, hit.hit_len, domainStart, domainEnd, this.marginWidth); // domain predictions const dpDomain = drawDomains(startDomainPixels, endDomainPixels, this.topPadding + 10, colorByDatabaseName(dp.dbname)); this.canvas.add(dpDomain); @@ -426,13 +426,13 @@ export class FunctionalPredictions extends BasicCanvasRenderer { else { // canvas content suppressed output let supressText; - supressText = objCache.get("supressText"); + supressText = objCache.get('supressText'); if (!supressText) { supressText = drawContentSupressText({ fontSize: this.fontSize, contentWidth: this.contentWidth, }, this.topPadding, this.numberHits); - objCache.put("supressText", supressText); + objCache.put('supressText', supressText); } supressText.top = this.topPadding; this.canvas.add(supressText); @@ -504,10 +504,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.canvas.add(colorScale); // E-value/Bit score Axis (line and ticks) if (this.colorScheme === ColorSchemeEnum.ncbiblast) { - const oneFifthGradPixels = (this.scaleLabelWidth + - this.scaleWidth - - this.scaleLabelWidth) / - 5; + const oneFifthGradPixels = (this.scaleLabelWidth + this.scaleWidth - this.scaleLabelWidth) / 5; this.topPadding += 15; const axisGroup = drawLineAxis6Buckets(this.scaleLabelWidth, this.scaleLabelWidth + oneFifthGradPixels, this.scaleLabelWidth + oneFifthGradPixels * 2, this.scaleLabelWidth + oneFifthGradPixels * 3, this.scaleLabelWidth + oneFifthGradPixels * 4, this.scaleLabelWidth + this.scaleWidth, { strokeWidth: 1 }, this.topPadding); this.canvas.add(axisGroup); @@ -521,10 +518,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.canvas.add(tickLabels5Group); } else { - const oneForthGradPixels = (this.scaleLabelWidth + - this.scaleWidth - - this.scaleLabelWidth) / - 4; + const oneForthGradPixels = (this.scaleLabelWidth + this.scaleWidth - this.scaleLabelWidth) / 4; this.topPadding += 15; const axisGroup = drawLineAxis5Buckets(this.scaleLabelWidth, this.scaleLabelWidth + oneForthGradPixels, this.scaleLabelWidth + oneForthGradPixels * 2, this.scaleLabelWidth + oneForthGradPixels * 3, this.scaleLabelWidth + this.scaleWidth, { strokeWidth: 1 }, this.topPadding); this.canvas.add(axisGroup); diff --git a/bin/jd-viewers-cli.js b/bin/jd-viewers-cli.js index bcd9506..0de11d3 100644 --- a/bin/jd-viewers-cli.js +++ b/bin/jd-viewers-cli.js @@ -1,61 +1,60 @@ -import chalk from "chalk"; -import figlet from "figlet"; -import fetch from "node-fetch"; -import { Command } from "commander"; -import { promisify } from "util"; -import * as fs from "fs"; -import * as path from "path"; -import { VisualOutput } from "./visual-output-app"; -import { FunctionalPredictions } from "./functional-predictions-app"; -import { dataAsType, validateSubmittedJobIdInput, validateSubmittedDbfetchInput, getIPRMCDataModelFlatFromXML, } from "./other-utilities"; +import chalk from 'chalk'; +import figlet from 'figlet'; +import fetch from 'node-fetch'; +import { Command } from 'commander'; +import { promisify } from 'util'; +import * as fs from 'fs'; +import * as path from 'path'; +import { VisualOutput } from './visual-output-app'; +import { FunctionalPredictions } from './functional-predictions-app'; +import { dataAsType, validateSubmittedJobIdInput, validateSubmittedDbfetchInput, getIPRMCDataModelFlatFromXML, } from './other-utilities'; async function fetchDataToFile(url, outfile) { const writeFilePromise = promisify(fs.writeFile); return fetch(url) - .then((x) => x.arrayBuffer()) - .then((x) => writeFilePromise(outfile, Buffer.from(x))) - .catch((error) => { + .then(x => x.arrayBuffer()) + .then(x => writeFilePromise(outfile, Buffer.from(x))) + .catch(error => { console.log(error); process.exit(); }); } function loadDataFromFile(file, format) { - if (format === "json") { + if (format === 'json') { try { - return JSON.parse(fs.readFileSync(file, "utf8")); + return JSON.parse(fs.readFileSync(file, 'utf8')); } catch { console.log(`Unable to load the JSON file\n${file}\n` + "The jobId might be 'not found' " + - "(jobs data are only available for 7 days)!"); + '(jobs data are only available for 7 days)!'); } } else { - return fs.readFileSync(file, "utf8"); + return fs.readFileSync(file, 'utf8'); } } async function cliHandler() { if (!process.argv.slice(2).length) { - console.log(chalk.green(figlet.textSync("jd-viewers-cli", { - horizontalLayout: "default", + console.log(chalk.green(figlet.textSync('jd-viewers-cli', { + horizontalLayout: 'default', }))); - console.log(""); + console.log(''); program.outputHelp(); } else { const programopts = program.opts(); if (programopts.verbose) { - console.log("Running jdispatcher-viewers-cli..."); - console.log("Your options were:"); + console.log('Running jdispatcher-viewers-cli...'); + console.log('Your options were:'); console.log(process.argv); } - let cmd = ""; + let cmd = ''; let cmdIndx = 0; - if (program.args[0] === "vo" || program.args[0] === "visual-output") { - cmd = "vo"; + if (program.args[0] === 'vo' || program.args[0] === 'visual-output') { + cmd = 'vo'; } - else if (program.args[0] === "fp" || - program.args[0] === "functional-predictions") { - cmd = "fp"; + else if (program.args[0] === 'fp' || program.args[0] === 'functional-predictions') { + cmd = 'fp'; cmdIndx = 1; } let command = program.commands[cmdIndx].opts(); @@ -63,15 +62,15 @@ async function cliHandler() { let jsonFile; let sssJsonResponse; let sssDataObj; - if (command.in === "mock_jobid-I20200317-103136-0485-5599422-np2") { + if (command.in === 'mock_jobid-I20200317-103136-0485-5599422-np2') { // local file - jsonFile = path.join(process.cwd(), "./src/testdata/ncbiblast.json"); + jsonFile = path.join(process.cwd(), './src/testdata/ncbiblast.json'); } else { // validate input as a valid JobID, as a file path or URL // if JobID, full service URL is returned const sssJsonData = validateSubmittedJobIdInput(command.in); - if (sssJsonData.startsWith("http")) { + if (sssJsonData.startsWith('http')) { // download the JSON file jsonFile = path.join(process.cwd(), `${command.in}.json`); await fetchDataToFile(sssJsonData, jsonFile); @@ -89,21 +88,21 @@ async function cliHandler() { } } if (fs.existsSync(jsonFile)) { - sssJsonResponse = loadDataFromFile(jsonFile, "json"); - sssDataObj = dataAsType(sssJsonResponse, "SSSResultModel"); + sssJsonResponse = loadDataFromFile(jsonFile, 'json'); + sssDataObj = dataAsType(sssJsonResponse, 'SSSResultModel'); } else { - console.log("JobID provided is not valid, or file not readable!"); + console.log('JobID provided is not valid, or file not readable!'); process.exit(); } if (sssDataObj === undefined) { - console.log("Failed to get the SSS JSON data!"); + console.log('Failed to get the SSS JSON data!'); process.exit(); } let fabricjs; - if (cmd === "vo") { + if (cmd === 'vo') { if (command.verbose) - console.log("Generating Visual Output..."); + console.log('Generating Visual Output...'); // Render Options let options = { colorScheme: command.colorscheme, @@ -114,18 +113,18 @@ async function cliHandler() { staticCanvas: true, }; // Call render method to display the viz - fabricjs = new VisualOutput("canvas", sssDataObj, options); + fabricjs = new VisualOutput('canvas', sssDataObj, options); fabricjs.render(); } - else if (cmd === "fp") { + else if (cmd === 'fp') { if (command.verbose) - console.log("Generating Functional Predictions..."); + console.log('Generating Functional Predictions...'); let iprmcXmlFile; let iprmcXmlResponse; let iprmcJSONResponse; let iprmcDataObj; - if (command.in === "mock_jobid-I20200317-103136-0485-5599422-np2") { - iprmcXmlFile = path.join(process.cwd(), "./src/testdata/iprmc.xml"); + if (command.in === 'mock_jobid-I20200317-103136-0485-5599422-np2') { + iprmcXmlFile = path.join(process.cwd(), './src/testdata/iprmc.xml'); } else { if (command.inx) { @@ -146,17 +145,17 @@ async function cliHandler() { } } if (fs.existsSync(jsonFile)) { - iprmcXmlResponse = loadDataFromFile(iprmcXmlFile, "xml"); + iprmcXmlResponse = loadDataFromFile(iprmcXmlFile, 'xml'); // convert XML into Flattened JSON iprmcJSONResponse = getIPRMCDataModelFlatFromXML(iprmcXmlResponse); - iprmcDataObj = dataAsType(iprmcJSONResponse, "IPRMCResultModelFlat"); + iprmcDataObj = dataAsType(iprmcJSONResponse, 'IPRMCResultModelFlat'); } else { - console.log("XML file not readable!"); + console.log('XML file not readable!'); process.exit(); } if (sssDataObj === undefined) { - console.log("Failed to get the Dbfetch XML data!"); + console.log('Failed to get the Dbfetch XML data!'); process.exit(); } // Render Options @@ -167,7 +166,7 @@ async function cliHandler() { staticCanvas: true, }; // Call render method to display the viz - fabricjs = new FunctionalPredictions("canvas", sssDataObj, iprmcDataObj, options); + fabricjs = new FunctionalPredictions('canvas', sssDataObj, iprmcDataObj, options); fabricjs.render(); } // Save figure to file @@ -180,12 +179,10 @@ async function cliHandler() { else { output = command.out; } - if (command.outformat.toString().toLowerCase() === "png") { - fs.writeFileSync(output, fabricjs.canvas - .toDataURL() - .replace("data:image/png;base64,", ""), "base64"); + if (command.outformat.toString().toLowerCase() === 'png') { + fs.writeFileSync(output, fabricjs.canvas.toDataURL().replace('data:image/png;base64,', ''), 'base64'); } - else if (command.outformat.toString().toLowerCase() === "svg") { + else if (command.outformat.toString().toLowerCase() === 'svg') { fs.writeFileSync(output, fabricjs.canvas.toSVG().toString()); } if (command.verbose) @@ -198,33 +195,29 @@ function makeCommand(cmd, description, alias) { command .description(description) .alias(alias) - .requiredOption("-i, --in ", "JobID or URL/URI path to JSON (for VO and FP)"); - if (cmd === "fp") - command.option("-ix, --inx ", "URL/URI path to XML (for FP)"); + .requiredOption('-i, --in ', 'JobID or URL/URI path to JSON (for VO and FP)'); + if (cmd === 'fp') + command.option('-ix, --inx ', 'URL/URI path to XML (for FP)'); command - .requiredOption("-o, --out ", "File name used for output") - .requiredOption("-of, --outformat ", "Output format [png]"); + .requiredOption('-o, --out ', 'File name used for output') + .requiredOption('-of, --outformat ', 'Output format [png]'); // render Options - command - .option("-color, --colorscheme [scheme]", "Color scheme to use [dynamic]"); - if (cmd === "vo") - command - .option("-hits, --numbhits [hits]", "Number of hits to display [100]") - .option("-hsps, --numbhsps [hsps]", "Number of HSPs to display [10]"); - else if (cmd === "fp") + command.option('-color, --colorscheme [scheme]', 'Color scheme to use [dynamic]'); + if (cmd === 'vo') command - .option("-hits, --numbhits [hits]", "Number of Hits to display [30]"); + .option('-hits, --numbhits [hits]', 'Number of hits to display [100]') + .option('-hsps, --numbhsps [hsps]', 'Number of HSPs to display [10]'); + else if (cmd === 'fp') + command.option('-hits, --numbhits [hits]', 'Number of Hits to display [30]'); command; // finally - command - .option("-v, --verbose", "Verbose [false]") - .action(cliHandler); + command.option('-v, --verbose', 'Verbose [false]').action(cliHandler); return command; } const program = new Command(); program - .version("0.0.5") - .description("Generate Static Figures with jdispatcher-viewers") - .addCommand(makeCommand("vo", "Generate Visual Output", "visual-output")) - .addCommand(makeCommand("fp", "Generate Functional Predictions", "functional-predictions")) + .version('0.0.5') + .description('Generate Static Figures with jdispatcher-viewers') + .addCommand(makeCommand('vo', 'Generate Visual Output', 'visual-output')) + .addCommand(makeCommand('fp', 'Generate Functional Predictions', 'functional-predictions')) .parseAsync(process.argv); diff --git a/bin/other-utilities.js b/bin/other-utilities.js index 1f72379..71bec6f 100644 --- a/bin/other-utilities.js +++ b/bin/other-utilities.js @@ -1,15 +1,15 @@ -import { fabric } from "fabric"; -import { xml2json } from "xml-js"; -import { jobIdDefaults } from "./custom-types"; +import { fabric } from 'fabric'; +import { xml2json } from 'xml-js'; +import { jobIdDefaults } from './custom-types'; export class BasicCanvasRenderer { constructor(element) { this.element = element; } getFabricCanvas() { const startupDef = { - defaultCursor: "default", - moveCursor: "default", - hoverCursor: "default", + defaultCursor: 'default', + moveCursor: 'default', + hoverCursor: 'default', }; if (this.staticCanvas) { this.canvas = new fabric.StaticCanvas(this.element, startupDef); @@ -53,11 +53,11 @@ export class ObjectCache { function countDecimals(n) { if (Math.floor(n) === n) return 0; - return n.toString().split(".")[1].length || 0; + return n.toString().split('.')[1].length || 0; } export function numberToString(n) { if (Number.isInteger(n)) { - return n + ".0"; + return n + '.0'; } else if (n < 0.0001 || n > 10000) { return n.toExponential(2); @@ -69,13 +69,13 @@ export function numberToString(n) { return n.toString(); } } -export async function fetchData(dataLoc, format = "json") { +export async function fetchData(dataLoc, format = 'json') { return await fetch(dataLoc) - .then((response) => { + .then(response => { if (!response.ok) { throw new Error(`Could not retrieve data from ${dataLoc}`); } - if (format === "json") { + if (format === 'json') { try { return response.json(); } @@ -87,16 +87,16 @@ export async function fetchData(dataLoc, format = "json") { return response.text(); } }) - .catch((error) => console.log(error)); + .catch(error => console.log(error)); } export function dataAsType(data, dtype) { - if (dtype === "SSSResultModel") { + if (dtype === 'SSSResultModel') { return data; } - else if (dtype === "IPRMCResultModel") { + else if (dtype === 'IPRMCResultModel') { return data; } - else if (dtype === "IPRMCResultModelFlat") { + else if (dtype === 'IPRMCResultModelFlat') { return data; } else { @@ -104,12 +104,12 @@ export function dataAsType(data, dtype) { } } export function getJdispatcherJsonURL(jobId) { - const toolName = jobId.split("-")[0]; - if (jobId === "mock_jobid-I20200317-103136-0485-5599422-np2") { + const toolName = jobId.split('-')[0]; + if (jobId === 'mock_jobid-I20200317-103136-0485-5599422-np2') { // mock jobId - return "https://raw.githubusercontent.com/ebi-jdispatcher/jdispatcher-viewers/master/src/testdata/ncbiblast.json"; + return 'https://raw.githubusercontent.com/ebi-jdispatcher/jdispatcher-viewers/master/src/testdata/ncbiblast.json'; } - else if (jobId.endsWith("-np2")) { + else if (jobId.endsWith('-np2')) { // wwwdev server (-np2$) return `https://wwwdev.ebi.ac.uk/Tools/services/rest/${toolName}/result/${jobId}/json`; } @@ -147,9 +147,9 @@ export function validateSubmittedJobIdInput(data) { const jobId = { ...jobIdDefaults }; jobId.value = data; // if so, get the service URL, else use as is - if (!jobId.value.startsWith("http") && - !jobId.value.includes("/") && - !jobId.value.includes("./") && + if (!jobId.value.startsWith('http') && + !jobId.value.includes('/') && + !jobId.value.includes('./') && validateJobId(jobId)) { data = getJdispatcherJsonURL(data); } @@ -160,9 +160,9 @@ function getIPRMCDbfetchURL(accessions) { return `https://www.ebi.ac.uk/Tools/dbfetch/dbfetch?db=iprmc;id=${accessions};format=iprmcxml;style=raw`; } function getIPRMCDbfetchAccessions(sssDataObj, numberHits = 30) { - let accessions = ""; + let accessions = ''; for (const hit of sssDataObj.hits.slice(0, numberHits)) { - if (accessions === "") + if (accessions === '') accessions += `${hit.hit_acc}`; else accessions += `,${hit.hit_acc}`; @@ -186,72 +186,65 @@ function parseXMLData(data) { })); } catch (error) { - console.log("Cannot parse the resulting " + - "Dbfetch response (likely not formatted XML)!"); + console.log('Cannot parse the resulting ' + 'Dbfetch response (likely not formatted XML)!'); return {}; } } export function domainDatabaseNameToString(domainName) { domainName = domainName.toUpperCase(); - let domainNameEnum = "Unclassified"; - if (domainName === "IPR" || domainName === "INTERPRO") { - domainNameEnum = "InterPro"; + let domainNameEnum = 'Unclassified'; + if (domainName === 'IPR' || domainName === 'INTERPRO') { + domainNameEnum = 'InterPro'; } - else if (domainName === "CATHGENE3D" || - domainName === "CATH-GENE3D" || - domainName === "GENE3D") { - domainNameEnum = "CATH-Gene3D"; + else if (domainName === 'CATHGENE3D' || domainName === 'CATH-GENE3D' || domainName === 'GENE3D') { + domainNameEnum = 'CATH-Gene3D'; } - else if (domainName === "CDD") { - domainNameEnum = "CDD"; + else if (domainName === 'CDD') { + domainNameEnum = 'CDD'; } - else if (domainName === "PANTHER") { - domainNameEnum = "PANTHER"; + else if (domainName === 'PANTHER') { + domainNameEnum = 'PANTHER'; } - else if (domainName === "HAMAP") { - domainNameEnum = "HAMAP"; + else if (domainName === 'HAMAP') { + domainNameEnum = 'HAMAP'; } - else if (domainName === "PFAM") { - domainNameEnum = "Pfam"; + else if (domainName === 'PFAM') { + domainNameEnum = 'Pfam'; } - else if (domainName === "PIRSF") { - domainNameEnum = "PIRSF"; + else if (domainName === 'PIRSF') { + domainNameEnum = 'PIRSF'; } - else if (domainName === "PRINTS") { - domainNameEnum = "PRINTS"; + else if (domainName === 'PRINTS') { + domainNameEnum = 'PRINTS'; } - else if (domainName === "PROSITE PROFILES" || - domainName === "PROSITE_PROFILES" || - domainName === "PROFILE") { - domainNameEnum = "PROSITE profiles"; + else if (domainName === 'PROSITE PROFILES' || domainName === 'PROSITE_PROFILES' || domainName === 'PROFILE') { + domainNameEnum = 'PROSITE profiles'; } - else if (domainName === "PROSITE PATTERNS" || - domainName === "PROSITE_PATTERNS" || - domainName === "PROSITE") { - domainNameEnum = "PROSITE patterns"; + else if (domainName === 'PROSITE PATTERNS' || domainName === 'PROSITE_PATTERNS' || domainName === 'PROSITE') { + domainNameEnum = 'PROSITE patterns'; } - else if (domainName === "SFLD") { - domainNameEnum = "SFLD"; + else if (domainName === 'SFLD') { + domainNameEnum = 'SFLD'; } - else if (domainName === "SMART") { - domainNameEnum = "SMART"; + else if (domainName === 'SMART') { + domainNameEnum = 'SMART'; } - else if (domainName === "SUPERFAMILY" || domainName === "SSF") { - domainNameEnum = "SUPERFAMILY"; + else if (domainName === 'SUPERFAMILY' || domainName === 'SSF') { + domainNameEnum = 'SUPERFAMILY'; } - else if (domainName === "TIGERFAMS") { - domainNameEnum = "TIGRFAMs"; + else if (domainName === 'TIGERFAMS') { + domainNameEnum = 'TIGRFAMs'; } - else if (domainName === "PRODOM") { - domainNameEnum = "PRODOM"; + else if (domainName === 'PRODOM') { + domainNameEnum = 'PRODOM'; } return domainNameEnum; } export function getUniqueIPRMCDomainDatabases(dataObj, proteinIdList) { const domainPredictions = []; for (const protein of proteinIdList) { - for (const match of dataObj[`${protein}`]["matches"]) { - domainPredictions.push(match.split("_")[0]); + for (const match of dataObj[`${protein}`]['matches']) { + domainPredictions.push(match.split('_')[0]); } } return domainPredictions.filter((v, i, x) => x.indexOf(v) === i); @@ -259,12 +252,12 @@ export function getUniqueIPRMCDomainDatabases(dataObj, proteinIdList) { function getFlattenIPRMCDataModel(dataObj, numberHits) { let tmpNumberHits = 0; let iprmcDataFlatObj = {}; - for (const protein of dataObj["interpromatch"][0]["protein"]) { + for (const protein of dataObj['interpromatch'][0]['protein']) { tmpNumberHits++; if (tmpNumberHits <= numberHits) { let matches = []; let matchObjs = {}; - for (const match of protein["match"]) { + for (const match of protein['match']) { let matchObj = {}; if (match.ipr !== undefined) { const iprdomain = `${domainDatabaseNameToString(match._attributes.dbname)}_${match.ipr[0]._attributes.id}`; @@ -307,7 +300,7 @@ function getFlattenIPRMCDataModel(dataObj, numberHits) { status: match._attributes.status, model: match._attributes.model, evd: match._attributes.evd, - type: "Unclassified", + type: 'Unclassified', start: Number(match.lcn[0]._attributes.start), end: Number(match.lcn[0]._attributes.end), fragments: match.lcn[0]._attributes.fragments, @@ -333,63 +326,63 @@ function getFlattenIPRMCDataModel(dataObj, numberHits) { return iprmcDataFlatObj; } export function getDomainURLbyDatabase(domainID, domainName) { - let domainURL = ""; - if (domainID.startsWith("IPR")) { + let domainURL = ''; + if (domainID.startsWith('IPR')) { domainURL = `https://www.ebi.ac.uk/interpro/entry/InterPro/${domainID}`; } - else if (domainName === "CATH-Gene3D") { + else if (domainName === 'CATH-Gene3D') { domainURL = `https://www.ebi.ac.uk/interpro/entry/cathgene3d/${domainID}`; // domainURL = `http://www.cathdb.info/version/latest/superfamily/${domainID}`; } - else if (domainName === "CDD") { + else if (domainName === 'CDD') { domainURL = `https://www.ebi.ac.uk/interpro/entry/cdd/${domainID}`; // domainURL = `https://www.ncbi.nlm.nih.gov/Structure/cdd/cddsrv.cgi?uid=${domainID}`; } - else if (domainName === "PANTHER") { + else if (domainName === 'PANTHER') { domainURL = `https://www.ebi.ac.uk/interpro/entry/panther/${domainID}`; // domainURL = `http://www.pantherdb.org/panther/family.do?clsAccession=${domainID}`; } - else if (domainName === "HAMAP") { + else if (domainName === 'HAMAP') { domainURL = `https://www.ebi.ac.uk/interpro/entry/hamap/${domainID}`; // domainURL = `https://hamap.expasy.org/signature/${domainID}`; } - else if (domainName === "Pfam") { + else if (domainName === 'Pfam') { domainURL = `https://www.ebi.ac.uk/interpro/entry/pfam/${domainID}`; // domainURL = `https://pfam.xfam.org/family/${domainID}`; } - else if (domainName === "PIRSF") { + else if (domainName === 'PIRSF') { domainURL = `https://www.ebi.ac.uk/interpro/entry/pirsf/${domainID}`; // domainURL = `https://pir.georgetown.edu/cgi-bin/ipcSF?id=${domainID}`; } - else if (domainName === "PRINTS") { + else if (domainName === 'PRINTS') { domainURL = `https://www.ebi.ac.uk/interpro/entry/prints/${domainID}`; // domainURL = `http://www.bioinf.manchester.ac.uk/cgi-bin/dbbrowser/sprint/searchprintss.cgi?prints_accn=${domainID}&display_opts=Prints&category=None&queryform=false®expr=off`; } - else if (domainName === "PROSITE profiles") { + else if (domainName === 'PROSITE profiles') { domainURL = `https://www.ebi.ac.uk/interpro/entry/profile/${domainID}`; // domainURL = `https://www.expasy.org/prosite/${domainID}`; } - else if (domainName === "PROSITE patterns") { + else if (domainName === 'PROSITE patterns') { domainURL = `https://www.ebi.ac.uk/interpro/entry/prosite/${domainID}`; // domainURL = `https://www.expasy.org/prosite/${domainID}`; } - else if (domainName === "SFLD") { + else if (domainName === 'SFLD') { domainURL = `https://www.ebi.ac.uk/interpro/entry/sfld/${domainID}`; // domainURL = `http://sfld.rbvi.ucsf.edu/django/family/${domainID}`; } - else if (domainName === "SMART") { + else if (domainName === 'SMART') { domainURL = `https://www.ebi.ac.uk/interpro/entry/smart/${domainID}`; // domainURL = `https://smart.embl-heidelberg.de/smart/do_annotation.pl?BLAST=DUMMY&ACC=${domainID}`; } - else if (domainName === "SUPERFAMILY") { + else if (domainName === 'SUPERFAMILY') { domainURL = `https://www.ebi.ac.uk/interpro/entry/ssf/${domainID}`; // domainURL = `https://supfam.org/SUPERFAMILY/cgi-bin/scop.cgi?ipid=${domainID}`; } - else if (domainName === "TIGRFAMs") { + else if (domainName === 'TIGRFAMs') { domainURL = `https://www.ebi.ac.uk/interpro/entry/tigrfams/${domainID}`; // domainURL = `https://cmr.tigr.org/tigr-scripts/CMR/HmmReport.cgi?hmm_acc=${domainID}`; } - else if (domainName === "PRODOM") { + else if (domainName === 'PRODOM') { domainURL = `https://www.ebi.ac.uk/interpro/entry/prodom/${domainID}`; // domainURL = `https://prodom.prabi.fr/prodom/current/cgi-bin/request.pl?SSID=1289309949_1085&db_ent1=${domainID}`; } diff --git a/bin/visual-output-app.js b/bin/visual-output-app.js index 94dbec7..75111ef 100644 --- a/bin/visual-output-app.js +++ b/bin/visual-output-app.js @@ -1,10 +1,10 @@ -import { defaultGradient, ncbiBlastGradient } from "./color-schemes"; -import { getQuerySubjPixelCoords, getDomainPixelCoords, } from "./coords-utilities"; -import { getRgbColorGradient, getRgbColorFixed, getGradientSteps, } from "./color-utilities"; -import { BasicCanvasRenderer, ObjectCache } from "./other-utilities"; -import { ColorSchemeEnum } from "./custom-types"; -import { mouseDownText, mouseOverText, mouseOutText, mouseOverDomain, mouseOutDomain, mouseOverCheckbox, mouseDownCheckbox, mouseOutCheckbox, } from "./custom-events"; -import { drawHeaderTextGroup, drawHeaderLinkText, drawContentHeaderTextGroup, drawLineTracksQuerySubject, drawContentSequenceInfoText, drawHspNoticeText, drawScoreText, drawContentQuerySubjFooterTextGroup, drawNoHitsFoundText, drawDomainQueySubject, drawScaleTypeText, drawCheckBoxText, drawScaleScoreText, drawScaleColorGradient, drawLineAxis5Buckets, drawLineAxis6Buckets, drawScaleTick5LabelsGroup, drawScaleTick4LabelsGroup, drawFooterText, drawCanvasWrapperStroke, drawContentSupressText, } from "./drawing-utilities"; +import { defaultGradient, ncbiBlastGradient } from './color-schemes'; +import { getQuerySubjPixelCoords, getDomainPixelCoords } from './coords-utilities'; +import { getRgbColorGradient, getRgbColorFixed, getGradientSteps } from './color-utilities'; +import { BasicCanvasRenderer, ObjectCache } from './other-utilities'; +import { ColorSchemeEnum } from './custom-types'; +import { mouseDownText, mouseOverText, mouseOutText, mouseOverDomain, mouseOutDomain, mouseOverCheckbox, mouseDownCheckbox, mouseOutCheckbox, } from './custom-events'; +import { drawHeaderTextGroup, drawHeaderLinkText, drawContentHeaderTextGroup, drawLineTracksQuerySubject, drawContentSequenceInfoText, drawHspNoticeText, drawScoreText, drawContentQuerySubjFooterTextGroup, drawNoHitsFoundText, drawDomainQueySubject, drawScaleTypeText, drawCheckBoxText, drawScaleScoreText, drawScaleColorGradient, drawLineAxis5Buckets, drawLineAxis6Buckets, drawScaleTick5LabelsGroup, drawScaleTick4LabelsGroup, drawFooterText, drawCanvasWrapperStroke, drawContentSupressText, } from './drawing-utilities'; let objCache = new ObjectCache(); export class VisualOutput extends BasicCanvasRenderer { constructor(element, dataObj, renderOptions) { @@ -16,9 +16,7 @@ export class VisualOutput extends BasicCanvasRenderer { this.gradientSteps = []; this.queryFactor = 1.0; this.subjFactor = 1.0; - renderOptions.canvasWidth != undefined - ? (this.canvasWidth = renderOptions.canvasWidth) - : (this.canvasWidth = 1000); + renderOptions.canvasWidth != undefined ? (this.canvasWidth = renderOptions.canvasWidth) : (this.canvasWidth = 1000); renderOptions.canvasHeight != undefined ? (this.canvasHeight = renderOptions.canvasHeight) : (this.canvasHeight = 110); @@ -43,24 +41,16 @@ export class VisualOutput extends BasicCanvasRenderer { renderOptions.colorScheme != undefined ? (this.colorScheme = renderOptions.colorScheme) : (this.colorScheme = ColorSchemeEnum.dynamic); - renderOptions.numberHits != undefined - ? (this.numberHits = renderOptions.numberHits) - : (this.numberHits = 100); - renderOptions.numberHsps != undefined - ? (this.numberHsps = renderOptions.numberHsps) - : (this.numberHsps = 10); + renderOptions.numberHits != undefined ? (this.numberHits = renderOptions.numberHits) : (this.numberHits = 100); + renderOptions.numberHsps != undefined ? (this.numberHsps = renderOptions.numberHsps) : (this.numberHsps = 10); renderOptions.logSkippedHsps != undefined ? (this.logSkippedHsps = renderOptions.logSkippedHsps) : (this.logSkippedHsps = true); - renderOptions.fontSize != undefined - ? (this.fontSize = renderOptions.fontSize) - : (this.fontSize = 12); - renderOptions.fontWeigth != undefined - ? (this.fontWeigth = renderOptions.fontWeigth) - : (this.fontWeigth = "normal"); + renderOptions.fontSize != undefined ? (this.fontSize = renderOptions.fontSize) : (this.fontSize = 12); + renderOptions.fontWeigth != undefined ? (this.fontWeigth = renderOptions.fontWeigth) : (this.fontWeigth = 'normal'); renderOptions.fontFamily != undefined ? (this.fontFamily = renderOptions.fontFamily) - : (this.fontFamily = "Times New Roman"); + : (this.fontFamily = 'Times New Roman'); renderOptions.canvasWrapperStroke != undefined ? (this.canvasWrapperStroke = renderOptions.canvasWrapperStroke) : (this.canvasWrapperStroke = false); @@ -104,58 +94,52 @@ export class VisualOutput extends BasicCanvasRenderer { } } loadInitialCoords() { - this.startQueryPixels = objCache.get("startQueryPixels"); - this.endQueryPixels = objCache.get("endQueryPixels"); - this.startSubjPixels = objCache.get("startSubjPixels"); - this.endSubjPixels = objCache.get("endSubjPixels"); - this.startEvalPixels = objCache.get("startEvalPixels"); + this.startQueryPixels = objCache.get('startQueryPixels'); + this.endQueryPixels = objCache.get('endQueryPixels'); + this.startSubjPixels = objCache.get('startSubjPixels'); + this.endSubjPixels = objCache.get('endSubjPixels'); + this.startEvalPixels = objCache.get('startEvalPixels'); if (!this.startQueryPixels && !this.endQueryPixels && !this.startSubjPixels && !this.endSubjPixels && !this.startEvalPixels) { - [ - this.startQueryPixels, - this.endQueryPixels, - this.startSubjPixels, - this.endSubjPixels, - ] = getQuerySubjPixelCoords(this.queryLen * this.queryFactor, this.subjLen * this.subjFactor, this.subjLen * this.subjFactor, this.contentWidth, this.contentScoringWidth, this.contentLabelWidth, this.marginWidth); + [this.startQueryPixels, this.endQueryPixels, this.startSubjPixels, this.endSubjPixels] = getQuerySubjPixelCoords(this.queryLen * this.queryFactor, this.subjLen * this.subjFactor, this.subjLen * this.subjFactor, this.contentWidth, this.contentScoringWidth, this.contentLabelWidth, this.marginWidth); this.startEvalPixels = this.endQueryPixels + 2 * this.marginWidth; - objCache.put("startQueryPixels", this.startQueryPixels); - objCache.put("endQueryPixels", this.endQueryPixels); - objCache.put("startSubjPixels", this.startSubjPixels); - objCache.put("endSubjPixels", this.endSubjPixels); - objCache.put("startEvalPixels", this.startEvalPixels); + objCache.put('startQueryPixels', this.startQueryPixels); + objCache.put('endQueryPixels', this.endQueryPixels); + objCache.put('startSubjPixels', this.startSubjPixels); + objCache.put('endSubjPixels', this.endSubjPixels); + objCache.put('startEvalPixels', this.startEvalPixels); } } drawHeaderGroup() { // canvas header this.topPadding = 2; let textHeaderGroup; - textHeaderGroup = objCache.get("textHeaderGroup"); + textHeaderGroup = objCache.get('textHeaderGroup'); if (!textHeaderGroup) { textHeaderGroup = drawHeaderTextGroup(this.dataObj, { fontSize: this.fontSize, canvasWidth: this.canvasWidth, }, this.topPadding); - objCache.put("textHeaderGroup", textHeaderGroup); + objCache.put('textHeaderGroup', textHeaderGroup); } this.canvas.add(textHeaderGroup); // canvas header (sequence info) this.topPadding += 45; let textHeaderLink; let textSeqObj; - textHeaderLink = objCache.get("textHeaderLink"); - textSeqObj = objCache.get("textHeaderLink_textSeqObj"); + textHeaderLink = objCache.get('textHeaderLink'); + textSeqObj = objCache.get('textHeaderLink_textSeqObj'); if (!textHeaderLink) { [textHeaderLink, textSeqObj] = drawHeaderLinkText(this.dataObj, { fontSize: this.fontSize }, this.topPadding); - objCache.put("textHeaderLink", textHeaderLink); - objCache.put("textHeaderLink_textSeqObj", textSeqObj); + objCache.put('textHeaderLink', textHeaderLink); + objCache.put('textHeaderLink_textSeqObj', textSeqObj); } this.canvas.add(textHeaderLink); if (!this.staticCanvas) { - if (this.dataObj.query_url !== null && - this.dataObj.query_url !== "") { + if (this.dataObj.query_url !== null && this.dataObj.query_url !== '') { mouseOverText(textHeaderLink, textSeqObj, this.dataObj.query_def, this.dataObj.query_url, { fontSize: this.fontSize }, this); mouseDownText(textHeaderLink, this.dataObj.query_url, this); mouseOutText(textHeaderLink, textSeqObj, this); @@ -167,7 +151,7 @@ export class VisualOutput extends BasicCanvasRenderer { // content header this.topPadding += 25; let textContentHeaderGroup; - textContentHeaderGroup = objCache.get("textContentHeaderGroup"); + textContentHeaderGroup = objCache.get('textContentHeaderGroup'); if (!textContentHeaderGroup) { textContentHeaderGroup = drawContentHeaderTextGroup({ queryLen: this.queryLen * this.queryFactor, @@ -181,13 +165,13 @@ export class VisualOutput extends BasicCanvasRenderer { fontSize: this.fontSize, colorScheme: this.colorScheme, }, this.topPadding); - objCache.put("textContentHeaderGroup", textContentHeaderGroup); + objCache.put('textContentHeaderGroup', textContentHeaderGroup); } this.canvas.add(textContentHeaderGroup); // content header line tracks this.topPadding += 20; let lineTrackGroup; - lineTrackGroup = objCache.get("lineTrackGroup"); + lineTrackGroup = objCache.get('lineTrackGroup'); if (!lineTrackGroup) { lineTrackGroup = drawLineTracksQuerySubject({ startQueryPixels: this.startQueryPixels, @@ -195,12 +179,12 @@ export class VisualOutput extends BasicCanvasRenderer { startSubjPixels: this.startSubjPixels, endSubjPixels: this.endSubjPixels, }, { strokeWidth: 2 }, this.topPadding); - objCache.put("lineTrackGroup", lineTrackGroup); + objCache.put('lineTrackGroup', lineTrackGroup); } this.canvas.add(lineTrackGroup); this.topPadding += 5; let textContentFooterGroup; - textContentFooterGroup = objCache.get("textContentFooterGroup"); + textContentFooterGroup = objCache.get('textContentFooterGroup'); if (!textContentFooterGroup) { textContentFooterGroup = drawContentQuerySubjFooterTextGroup({ queryLen: this.queryLen, @@ -212,7 +196,7 @@ export class VisualOutput extends BasicCanvasRenderer { }, { fontSize: this.fontSize, }, this.topPadding); - objCache.put("textContentFooterGroup", textContentFooterGroup); + objCache.put('textContentFooterGroup', textContentFooterGroup); } this.canvas.add(textContentFooterGroup); // dynamic content @@ -253,8 +237,7 @@ export class VisualOutput extends BasicCanvasRenderer { minScore = hsp.hsp_bit_score; if (hsp.hsp_bit_score > maxScore) maxScore = hsp.hsp_bit_score; - if (hsp.hsp_bit_score < minNotZeroScore && - hsp.hsp_bit_score > 0.0) + if (hsp.hsp_bit_score < minNotZeroScore && hsp.hsp_bit_score > 0.0) minNotZeroScore = hsp.hsp_bit_score; } else { @@ -262,8 +245,7 @@ export class VisualOutput extends BasicCanvasRenderer { minScore = hsp.hsp_expect; if (hsp.hsp_expect > maxScore) maxScore = hsp.hsp_expect; - if (hsp.hsp_expect < minNotZeroScore && - hsp.hsp_expect > 0.0) + if (hsp.hsp_expect < minNotZeroScore && hsp.hsp_expect > 0.0) minNotZeroScore = hsp.hsp_expect; } } @@ -300,12 +282,7 @@ export class VisualOutput extends BasicCanvasRenderer { let endQueryPixels; let startSubjPixels; let endSubjPixels; - [ - startQueryPixels, - endQueryPixels, - startSubjPixels, - endSubjPixels, - ] = getQuerySubjPixelCoords(this.queryLen * this.queryFactor, this.subjLen * this.subjFactor, subjHspLen, this.contentWidth, this.contentScoringWidth, this.contentLabelWidth, this.marginWidth); + [startQueryPixels, endQueryPixels, startSubjPixels, endSubjPixels] = getQuerySubjPixelCoords(this.queryLen * this.queryFactor, this.subjLen * this.subjFactor, subjHspLen, this.contentWidth, this.contentScoringWidth, this.contentLabelWidth, this.marginWidth); this.topPadding += 5; const linesGroup = drawLineTracksQuerySubject({ startQueryPixels: startQueryPixels, @@ -323,7 +300,7 @@ export class VisualOutput extends BasicCanvasRenderer { let hspQueryEnd; let hspSubjStart; let hspSubjEnd; - if (hsp.hsp_query_frame === "-1") { + if (hsp.hsp_query_frame === '-1') { hspQueryStart = hsp.hsp_query_to; hspQueryEnd = hsp.hsp_query_from; } @@ -331,7 +308,7 @@ export class VisualOutput extends BasicCanvasRenderer { hspQueryStart = hsp.hsp_query_from; hspQueryEnd = hsp.hsp_query_to; } - if (hsp.hsp_hit_frame === "-1") { + if (hsp.hsp_hit_frame === '-1') { hspSubjStart = hsp.hsp_hit_to; hspSubjEnd = hsp.hsp_hit_from; } @@ -339,14 +316,8 @@ export class VisualOutput extends BasicCanvasRenderer { hspSubjStart = hsp.hsp_hit_from; hspSubjEnd = hsp.hsp_hit_to; } - [ - startQueryHspPixels, - endQueryHspPixels, - ] = getDomainPixelCoords(startQueryPixels, endQueryPixels, this.queryLen, hspQueryStart, hspQueryEnd, this.marginWidth); - [ - startSubjHspPixels, - endSubjHspPixels, - ] = getDomainPixelCoords(startSubjPixels, endSubjPixels, subjHspLen, hspSubjStart, hspSubjEnd, this.marginWidth); + [startQueryHspPixels, endQueryHspPixels] = getDomainPixelCoords(startQueryPixels, endQueryPixels, this.queryLen, hspQueryStart, hspQueryEnd, this.marginWidth); + [startSubjHspPixels, endSubjHspPixels] = getDomainPixelCoords(startSubjPixels, endSubjPixels, subjHspLen, hspSubjStart, hspSubjEnd, this.marginWidth); let color; if (this.colorScheme === ColorSchemeEnum.ncbiblast) { color = getRgbColorFixed(hsp.hsp_bit_score, this.gradientSteps, ncbiBlastGradient); @@ -384,13 +355,13 @@ export class VisualOutput extends BasicCanvasRenderer { else { if (this.logSkippedHsps === true) { let hspTextNotice; - hspTextNotice = objCache.get("hspTextNotice"); + hspTextNotice = objCache.get('hspTextNotice'); if (!hspTextNotice) { hspTextNotice = drawHspNoticeText(totalNumberHsps, this.numberHsps, { fontSize: this.fontSize, contentWidth: this.contentWidth, }, this.topPadding); - objCache.put("hspTextNotice", hspTextNotice); + objCache.put('hspTextNotice', hspTextNotice); } this.canvas.add(hspTextNotice); this.topPadding += 20; @@ -403,13 +374,13 @@ export class VisualOutput extends BasicCanvasRenderer { // canvas content suppressed output this.topPadding += 20; let supressText; - supressText = objCache.get("supressText"); + supressText = objCache.get('supressText'); if (!supressText) { supressText = drawContentSupressText({ fontSize: this.fontSize, contentWidth: this.contentWidth, }, this.topPadding, this.numberHits); - objCache.put("supressText", supressText); + objCache.put('supressText', supressText); } supressText.top = this.topPadding; this.canvas.add(supressText); @@ -481,10 +452,7 @@ export class VisualOutput extends BasicCanvasRenderer { this.canvas.add(colorScale); // E-value/Bit score Axis (line and ticks) if (this.colorScheme === ColorSchemeEnum.ncbiblast) { - const oneFifthGradPixels = (this.scaleLabelWidth + - this.scaleWidth - - this.scaleLabelWidth) / - 5; + const oneFifthGradPixels = (this.scaleLabelWidth + this.scaleWidth - this.scaleLabelWidth) / 5; this.topPadding += 15; const axisGroup = drawLineAxis6Buckets(this.scaleLabelWidth, this.scaleLabelWidth + oneFifthGradPixels, this.scaleLabelWidth + oneFifthGradPixels * 2, this.scaleLabelWidth + oneFifthGradPixels * 3, this.scaleLabelWidth + oneFifthGradPixels * 4, this.scaleLabelWidth + this.scaleWidth, { strokeWidth: 1 }, this.topPadding); this.canvas.add(axisGroup); @@ -498,10 +466,7 @@ export class VisualOutput extends BasicCanvasRenderer { this.canvas.add(tickLabels5Group); } else { - const oneForthGradPixels = (this.scaleLabelWidth + - this.scaleWidth - - this.scaleLabelWidth) / - 4; + const oneForthGradPixels = (this.scaleLabelWidth + this.scaleWidth - this.scaleLabelWidth) / 4; this.topPadding += 15; const axisGroup = drawLineAxis5Buckets(this.scaleLabelWidth, this.scaleLabelWidth + oneForthGradPixels, this.scaleLabelWidth + oneForthGradPixels * 2, this.scaleLabelWidth + oneForthGradPixels * 3, this.scaleLabelWidth + this.scaleWidth, { strokeWidth: 1 }, this.topPadding); this.canvas.add(axisGroup); @@ -519,14 +484,14 @@ export class VisualOutput extends BasicCanvasRenderer { this.topPadding += 30; let copyrightText; let textFooterObj; - copyrightText = objCache.get("copyrightText"); - textFooterObj = objCache.get("copyrightText_textFooterObj"); + copyrightText = objCache.get('copyrightText'); + textFooterObj = objCache.get('copyrightText_textFooterObj'); if (!copyrightText && !textFooterObj) { [copyrightText, textFooterObj] = drawFooterText({ fontSize: this.fontSize, }, this.topPadding); - objCache.put("copyrightText", copyrightText); - objCache.put("copyrightText_textFooterObj", textFooterObj); + objCache.put('copyrightText', copyrightText); + objCache.put('copyrightText_textFooterObj', textFooterObj); } this.canvas.add(copyrightText); } From 8e82ff688054f4ecc6680c23febba5f39e491d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fa=CC=81bio=20Madeira?= Date: Wed, 30 Oct 2024 18:04:21 +0000 Subject: [PATCH 7/7] reverting to prev breaking changes --- bin/app.js | 6 +- package-lock.json | 3217 ++++++----------------------- package.json | 56 +- src/app.ts | 6 +- src/color-schemes.ts | 10 +- src/custom-events.ts | 53 +- src/drawing-utilities.ts | 282 +-- src/functional-predictions-app.ts | 74 +- src/index.ts | 8 +- src/other-utilities.ts | 8 +- src/visual-output-app.ts | 46 +- 11 files changed, 853 insertions(+), 2913 deletions(-) diff --git a/bin/app.js b/bin/app.js index e2e60f2..0a6fc41 100644 --- a/bin/app.js +++ b/bin/app.js @@ -35,7 +35,7 @@ if (isNode) { }; } // web-component support -import './visual-output-webcomponent.ts'; -import './functional-predictions-webcomponent.ts'; +import './visual-output-webcomponent'; +import './functional-predictions-webcomponent'; // demo index page with JobId input form (implemented in TypeScript) -import './index.ts'; +import '.'; diff --git a/package-lock.json b/package-lock.json index 17e5ad5..458da68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,43 +9,43 @@ "version": "0.0.9", "license": "Apache-2.0", "dependencies": { - "@types/browser-or-node": "^1.3.2", - "@types/figlet": "^1.7.0", - "@types/node": "^22.8.1", - "@types/node-fetch": "^2.6.11", - "@webcomponents/webcomponentsjs": "^2.8.0", - "assert": "^2.1.0", - "browser-or-node": "^3.0.0", + "@types/browser-or-node": "^1.3.0", + "@types/fabric": "4.5.11", + "@types/figlet": "^1.5.5", + "@types/node": "^18.13.0", + "@types/node-fetch": "^2.6.2", + "@webcomponents/webcomponentsjs": "^2.7.0", + "assert": "^2.0.0", + "browser-or-node": "^2.1.1", "buffer": "^6.0.3", - "canvas": "^2.11.2", - "chalk": "^5.3.0", - "commander": "^12.1.0", + "canvas": "^2.11.0", + "chalk": "^5.2.0", + "commander": "^9.5.0", "commonjs": "0.0.1", - "fabric": "6.4.3", - "figlet": "^1.8.0", - "lit": "^3.2.1", - "lit-element": "^4.1.1", - "lit-html": "^3.2.1", + "fabric": "5.2.1", + "figlet": "^1.5.2", + "lit": "^2.6.1", + "lit-element": "^3.2.2", + "lit-html": "^2.6.1", "mini-svg-data-uri": "^1.4.4", - "node-fetch": "^3.3.2", - "stream": "^0.0.3", + "node-fetch": "^3.3.0", + "stream": "^0.0.2", "xml-js": "^1.6.11" }, "devDependencies": { - "@types/jsdom": "^21.1.7", - "@typescript-eslint/eslint-plugin": "^8.11.0", - "@typescript-eslint/parser": "^8.11.0", + "@typescript-eslint/eslint-plugin": "^5.52.0", + "@typescript-eslint/parser": "^5.52.0", "clean-webpack-plugin": "^4.0.0", - "copy-webpack-plugin": "^12.0.2", - "eslint": "^9.13.0", - "html-webpack-plugin": "^5.6.3", + "copy-webpack-plugin": "^11.0.0", + "eslint": "^8.34.0", + "html-webpack-plugin": "^5.5.0", "node-loader": "^2.0.0", "standard-version": "^9.5.0", - "ts-loader": "^9.5.1", - "typescript": "^5.6.3", - "webpack": "^5.95.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^5.1.0", + "ts-loader": "^9.4.2", + "typescript": "^4.9.5", + "webpack": "^5.75.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.11.1", "webpack-node-externals": "^3.0.0" }, "engines": { @@ -53,11 +53,10 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz", - "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", @@ -72,7 +71,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -82,7 +80,6 @@ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -91,8 +88,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", -<<<<<<< HEAD -======= "dev": true, "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -120,97 +115,12 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.4", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", - "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", -<<<<<<< HEAD - "espree": "^10.0.1", - "globals": "^14.0.0", -======= "espree": "^9.6.0", "globals": "^13.19.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -218,18 +128,12 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, -<<<<<<< HEAD - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", -======= "node_modules/@eslint/js": { "version": "8.57.1", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", @@ -244,88 +148,14 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT", - "dependencies": { -<<<<<<< HEAD - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" -======= "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" ->>>>>>> f692772 (bumped target node version 18 LTS) - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", - "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=18.18.0" + "node": ">=10.10.0" } }, "node_modules/@humanwhocodes/module-importer": { @@ -333,7 +163,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -342,35 +171,18 @@ "url": "https://github.com/sponsors/nzakas" } }, -<<<<<<< HEAD - "node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } -======= "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "deprecated": "Use @eslint/object-schema instead", "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@hutson/parse-repository-url": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=6.9.0" } @@ -380,7 +192,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -395,7 +206,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -405,7 +215,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -415,7 +224,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -425,127 +233,41 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" -<<<<<<< HEAD - } - }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", - "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", - "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" -======= ->>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", -<<<<<<< HEAD - "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@lit/reactive-element": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", - "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", - "license": "BSD-3-Clause", -======= "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==" }, "node_modules/@lit/reactive-element": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" + "@lit-labs/ssr-dom-shim": "^1.0.0" } }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", -<<<<<<< HEAD - "license": "BSD-3-Clause", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -565,10 +287,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "whatwg-url": "^5.0.0" }, @@ -587,20 +305,17 @@ "node_modules/@mapbox/node-pre-gyp/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/@mapbox/node-pre-gyp/node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/@mapbox/node-pre-gyp/node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -611,7 +326,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -625,7 +339,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -635,7 +348,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -644,24 +356,10 @@ "node": ">= 8" } }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "license": "MIT", "optional": true, "engines": { "node": ">= 10" @@ -672,7 +370,6 @@ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dev": true, - "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -683,7 +380,6 @@ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -691,19 +387,13 @@ "node_modules/@types/browser-or-node": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/browser-or-node/-/browser-or-node-1.3.2.tgz", -<<<<<<< HEAD - "integrity": "sha512-CkvJrvVMI4ZHbiL+Df22Owzq1IYnHnoSrM8s6Dmy4MRdqvdFi9bHsIvyFrSGJPOxvFI9Y3MqY2gFCqIafJBcfw==", - "license": "MIT" -======= "integrity": "sha512-CkvJrvVMI4ZHbiL+Df22Owzq1IYnHnoSrM8s6Dmy4MRdqvdFi9bHsIvyFrSGJPOxvFI9Y3MqY2gFCqIafJBcfw==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -713,7 +403,6 @@ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dev": true, - "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -723,19 +412,13 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -748,14 +431,11 @@ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" -<<<<<<< HEAD -======= } }, "node_modules/@types/express/node_modules/@types/express-serve-static-core": { @@ -768,38 +448,23 @@ "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" ->>>>>>> f692772 (bumped target node version 18 LTS) } }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } + "node_modules/@types/fabric": { + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@types/fabric/-/fabric-4.5.11.tgz", + "integrity": "sha512-JgOnbIm03EDYI+X5/hjstMZUbQ9W3704BQ4Dlu7t9JwWzNSdJE4cTV/4XtIHFCCfiFpcL756re+qCazTA84InA==" }, "node_modules/@types/figlet": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@types/figlet/-/figlet-1.7.0.tgz", -<<<<<<< HEAD - "integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==", - "license": "MIT" -======= "integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimatch": "*", "@types/node": "*" @@ -809,15 +474,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/http-errors": { "version": "2.0.4", @@ -830,68 +487,32 @@ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" -======= "dev": true }, "node_modules/@types/node": { @@ -900,17 +521,12 @@ "integrity": "sha512-z8fH66NcVkDzBItOao+Nyh0fiy7CYdxIyxnNCcZ60aY0I+EA/y4TSi/S/W9i8DIQvwVo7a0pgzAxmDeNnqrpkw==", "dependencies": { "undici-types": "~5.26.4" ->>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/@types/node-fetch": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -921,10 +537,6 @@ "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/node": "*" } @@ -933,60 +545,31 @@ "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/qs": { "version": "6.9.16", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true, - "license": "MIT" + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true }, -<<<<<<< HEAD - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } -======= "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/send": { "version": "0.17.4", @@ -1003,7 +586,6 @@ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dev": true, - "license": "MIT", "dependencies": { "@types/express": "*" } @@ -1013,7 +595,6 @@ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -1025,62 +606,30 @@ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", -<<<<<<< HEAD - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT" -======= "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@types/ws": { "version": "8.5.12", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", - "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/type-utils": "8.12.2", - "@typescript-eslint/utils": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" -======= "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/type-utils": "5.62.0", @@ -1091,18 +640,17 @@ "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", "tsutils": "^3.21.0" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1111,39 +659,25 @@ } }, "node_modules/@typescript-eslint/parser": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz", - "integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "BSD-2-Clause", "dependencies": { -<<<<<<< HEAD - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", -======= "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", "@typescript-eslint/typescript-estree": "5.62.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1152,28 +686,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", - "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2" -======= "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1181,35 +703,26 @@ } }, "node_modules/@typescript-eslint/type-utils": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", - "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/utils": "8.12.2", -======= "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "tsutils": "^3.21.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "*" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -1217,19 +730,12 @@ } }, "node_modules/@typescript-eslint/types": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", - "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1237,34 +743,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", - "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "BSD-2-Clause", "dependencies": { -<<<<<<< HEAD - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", -======= "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "debug": "^4.3.4", - "fast-glob": "^3.3.2", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1277,24 +770,11 @@ } }, "node_modules/@typescript-eslint/utils": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", - "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2" -======= "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", @@ -1303,42 +783,29 @@ "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { -<<<<<<< HEAD - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", -======= "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "@typescript-eslint/types": "8.12.2", - "eslint-visitor-keys": "^3.4.3" -======= "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "type": "opencollective", @@ -1356,7 +823,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -1366,41 +832,25 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1411,19 +861,13 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1436,7 +880,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -1446,7 +889,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } @@ -1455,19 +897,13 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1484,7 +920,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -1498,7 +933,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -1511,7 +945,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -1526,7 +959,6 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -1535,53 +967,37 @@ "node_modules/@webcomponents/webcomponentsjs": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", -<<<<<<< HEAD - "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==", - "license": "BSD-3-Clause" -======= "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" + "dependencies": { + "envinfo": "^7.7.3" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack-cli": "4.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { @@ -1593,38 +1009,30 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" + "dev": true }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "deprecated": "Use your platform's native atob() and btoa() methods instead", -<<<<<<< HEAD - "license": "BSD-3-Clause", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "optional": true }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "license": "ISC" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -1637,7 +1045,6 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -1651,7 +1058,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "devOptional": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1660,18 +1066,15 @@ } }, "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "license": "MIT", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "optional": true, "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" } }, -<<<<<<< HEAD -======= "node_modules/acorn-globals/node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -1684,13 +1087,11 @@ "node": ">=0.4.0" } }, ->>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/acorn-import-attributes": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^8" } @@ -1700,20 +1101,15 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "optional": true, - "dependencies": { - "acorn": "^8.11.0" - }, "engines": { "node": ">=0.4.0" } @@ -1722,14 +1118,12 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", "dependencies": { "debug": "4" }, @@ -1742,7 +1136,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1759,7 +1152,6 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -1777,7 +1169,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -1793,15 +1184,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -1814,7 +1203,6 @@ "engines": [ "node >= 0.8.0" ], - "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -1823,7 +1211,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", "engines": { "node": ">=8" } @@ -1833,7 +1220,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1849,7 +1235,6 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1861,18 +1246,13 @@ "node_modules/aproba": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "license": "ISC" + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "deprecated": "This package is no longer supported.", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -1885,24 +1265,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", @@ -1923,31 +1286,21 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", - "dependencies": { - "array-uniq": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/array-uniq": { @@ -1955,7 +1308,6 @@ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1964,10 +1316,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -1990,7 +1338,6 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1999,10 +1346,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "is-nan": "^1.3.2", @@ -2014,17 +1357,12 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -2038,8 +1376,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -2058,22 +1395,19 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } @@ -2083,7 +1417,6 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2096,7 +1429,6 @@ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -2121,7 +1453,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -2131,7 +1462,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -2140,15 +1470,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -2158,17 +1486,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -2176,7 +1502,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2185,10 +1510,15 @@ } }, "node_modules/browser-or-node": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-3.0.0.tgz", - "integrity": "sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ==", - "license": "MIT" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", + "integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "optional": true }, "node_modules/browserslist": { "version": "4.24.2", @@ -2209,7 +1539,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001669", "electron-to-chromium": "^1.5.41", @@ -2241,7 +1570,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -2251,31 +1579,13 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -2284,10 +1594,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -2307,7 +1613,6 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2317,7 +1622,6 @@ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, - "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -2328,7 +1632,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2338,7 +1641,6 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -2369,15 +1671,13 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/canvas": { "version": "2.11.2", "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "@mapbox/node-pre-gyp": "^1.0.0", "nan": "^2.17.0", @@ -2391,10 +1691,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -2407,10 +1703,6 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2435,7 +1727,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2447,7 +1738,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", "engines": { "node": ">=10" } @@ -2457,7 +1747,6 @@ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0" } @@ -2467,7 +1756,6 @@ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, - "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -2480,7 +1768,6 @@ "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", "dev": true, - "license": "MIT", "dependencies": { "del": "^4.1.1" }, @@ -2496,7 +1783,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -2508,7 +1794,6 @@ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -2523,7 +1808,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2535,14 +1819,12 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "license": "ISC", "bin": { "color-support": "bin.js" } @@ -2551,18 +1833,12 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2571,12 +1847,11 @@ } }, "node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "license": "MIT", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "engines": { - "node": ">=18" + "node": "^12.20.0 || >=14" } }, "node_modules/commonjs": { @@ -2596,30 +1871,16 @@ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, - "license": "MIT", "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, - "node_modules/component-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-2.0.0.tgz", - "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -2632,7 +1893,6 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -2651,7 +1911,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -2660,21 +1919,18 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/compression/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { "version": "2.0.0", @@ -2684,7 +1940,6 @@ "engines": [ "node >= 6.0" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -2697,7 +1952,6 @@ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8" } @@ -2705,15 +1959,13 @@ "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "license": "ISC" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -2726,7 +1978,6 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -2736,7 +1987,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", "dev": true, - "license": "MIT", "dependencies": { "conventional-changelog-angular": "^5.0.12", "conventional-changelog-atom": "^2.0.8", @@ -2759,7 +2009,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, - "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "q": "^1.5.1" @@ -2773,7 +2022,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2786,7 +2034,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2798,15 +2045,13 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/conventional-changelog-conventionalcommits": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, - "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "lodash": "^4.17.15", @@ -2821,7 +2066,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, - "license": "MIT", "dependencies": { "add-stream": "^1.0.0", "conventional-changelog-writer": "^5.0.0", @@ -2847,7 +2091,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2860,7 +2103,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2873,7 +2115,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2886,7 +2127,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", "dev": true, - "license": "ISC", "dependencies": { "q": "^1.5.1" }, @@ -2899,7 +2139,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", "dev": true, - "license": "ISC", "dependencies": { "compare-func": "^2.0.0", "q": "^1.5.1" @@ -2913,7 +2152,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } @@ -2923,7 +2161,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, - "license": "MIT", "dependencies": { "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", @@ -2947,7 +2184,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -2957,7 +2193,6 @@ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, - "license": "MIT", "dependencies": { "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" @@ -2971,7 +2206,6 @@ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, - "license": "MIT", "dependencies": { "is-text-path": "^1.0.1", "JSONStream": "^1.0.4", @@ -2992,7 +2226,6 @@ "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, - "license": "MIT", "dependencies": { "concat-stream": "^2.0.0", "conventional-changelog-preset-loader": "^2.3.4", @@ -3015,7 +2248,6 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -3024,25 +2256,23 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", "dev": true, - "license": "MIT", "dependencies": { - "fast-glob": "^3.3.2", + "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", - "globby": "^14.0.0", + "globby": "^13.1.1", "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 14.15.0" }, "funding": { "type": "opencollective", @@ -3052,8 +2282,6 @@ "webpack": "^5.1.0" } }, -<<<<<<< HEAD -======= "node_modules/copy-webpack-plugin/node_modules/globby": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", @@ -3085,20 +2313,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, ->>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3113,7 +2338,6 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -3130,7 +2354,6 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -3142,14 +2365,12 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "license": "MIT", "optional": true }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "license": "MIT", "optional": true, "dependencies": { "cssom": "~0.3.6" @@ -3162,7 +2383,6 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "license": "MIT", "optional": true }, "node_modules/dargs": { @@ -3170,7 +2390,6 @@ "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3179,7 +2398,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "license": "MIT", "engines": { "node": ">= 12" } @@ -3188,7 +2406,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "license": "MIT", "optional": true, "dependencies": { "abab": "^2.0.6", @@ -3199,55 +2416,17 @@ "node": ">=12" } }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "license": "MIT", + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "optional": true, "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, "node_modules/data-view-buffer": { @@ -3303,7 +2482,6 @@ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true, - "license": "MIT", "engines": { "node": "*" } @@ -3312,10 +2490,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "ms": "^2.1.3" }, @@ -3333,7 +2507,6 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3343,7 +2516,6 @@ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -3360,7 +2532,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3369,14 +2540,12 @@ "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "license": "MIT", "optional": true }, "node_modules/decompress-response": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "license": "MIT", "dependencies": { "mimic-response": "^2.0.0" }, @@ -3388,63 +2557,18 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", -<<<<<<< HEAD -======= "dev": true }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, - "license": "MIT", "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" + "execa": "^5.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10" } }, "node_modules/define-data-property": { @@ -3464,26 +2588,18 @@ } }, "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -3501,7 +2617,6 @@ "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/glob": "^7.1.1", "globby": "^6.1.0", @@ -3515,12 +2630,23 @@ "node": ">=6" } }, + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/del/node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", @@ -3537,7 +2663,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3548,7 +2673,6 @@ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3560,7 +2684,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -3568,15 +2691,13 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "license": "MIT" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3586,7 +2707,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -3597,7 +2717,6 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3606,10 +2725,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", -<<<<<<< HEAD - "license": "Apache-2.0", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=8" } @@ -3619,7 +2734,6 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3628,24 +2742,25 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, -<<<<<<< HEAD - "license": "MIT" -======= "dependencies": { "path-type": "^4.0.0" }, "engines": { "node": ">=8" } ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, - "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -3653,12 +2768,23 @@ "node": ">=6" } }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, - "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -3668,7 +2794,6 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -3678,16 +2803,6 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", @@ -3698,18 +2813,13 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/domexception": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "deprecated": "Use your platform's native DOMException instead", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "webidl-conversions": "^7.0.0" @@ -3723,7 +2833,6 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -3739,7 +2848,6 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -3754,7 +2862,6 @@ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, - "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -3765,7 +2872,6 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, - "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -3778,7 +2884,6 @@ "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", "dev": true, - "license": "ISC", "dependencies": { "find-up": "^3.0.0", "minimatch": "^3.0.4" @@ -3787,23 +2892,11 @@ "node": ">=6" } }, - "node_modules/dotgitignore/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/dotgitignore/node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -3816,7 +2909,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -3825,25 +2917,11 @@ "node": ">=6" } }, - "node_modules/dotgitignore/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/dotgitignore/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -3859,7 +2937,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -3872,7 +2949,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -3881,17 +2957,12 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/electron-to-chromium": { "version": "1.5.49", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==", -<<<<<<< HEAD - "dev": true, - "license": "ISC" -======= "dev": true }, "node_modules/emitter-component": { @@ -3901,20 +2972,17 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -3924,7 +2992,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3934,7 +3001,6 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -3944,14 +3010,10 @@ } }, "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "devOptional": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -3961,7 +3023,6 @@ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -3974,7 +3035,6 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -3983,10 +3043,6 @@ "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -4046,10 +3102,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -4061,10 +3113,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" } @@ -4073,29 +3121,6 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", - "dependencies": { -======= "dev": true }, "node_modules/es-object-atoms": { @@ -4114,7 +3139,6 @@ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { ->>>>>>> f692772 (bumped target node version 18 LTS) "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", "hasown": "^2.0.1" @@ -4127,7 +3151,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4145,7 +3168,6 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -4154,15 +3176,13 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -4174,10 +3194,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", -<<<<<<< HEAD - "license": "BSD-2-Clause", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "esprima": "^4.0.1", @@ -4195,12 +3211,6 @@ "source-map": "~0.6.1" } }, -<<<<<<< HEAD - "node_modules/eslint": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", - "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", -======= "node_modules/escodegen/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", @@ -4215,24 +3225,9 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", -<<<<<<< HEAD - "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.7.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.13.0", - "@eslint/plugin-kit": "^0.2.0", - "@humanfs/node": "^0.16.5", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", -======= "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", "@eslint/js": "8.57.1", @@ -4240,33 +3235,21 @@ "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", + "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", -<<<<<<< HEAD - "eslint-scope": "^8.1.0", - "eslint-visitor-keys": "^4.1.0", - "espree": "^10.2.0", - "esquery": "^1.5.0", -======= "eslint-scope": "^7.2.2", "eslint-visitor-keys": "^3.4.3", "espree": "^9.6.1", "esquery": "^1.4.2", ->>>>>>> f692772 (bumped target node version 18 LTS) "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", -<<<<<<< HEAD - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", -======= "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", @@ -4274,59 +3257,18 @@ "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", ->>>>>>> f692772 (bumped target node version 18 LTS) "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", -<<<<<<< HEAD -======= "strip-ansi": "^6.0.1", ->>>>>>> f692772 (bumped target node version 18 LTS) "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4334,17 +3276,12 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "MIT", "dependencies": { -<<<<<<< HEAD - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" -======= "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, @@ -4362,7 +3299,6 @@ }, "funding": { "url": "https://opencollective.com/eslint" ->>>>>>> f692772 (bumped target node version 18 LTS) } }, "node_modules/eslint/node_modules/chalk": { @@ -4370,7 +3306,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4382,41 +3317,29 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, -<<<<<<< HEAD - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", -======= "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "Apache-2.0", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { -<<<<<<< HEAD - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" -======= "node": "^12.22.0 || ^14.17.0 || >=16.0.0" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": ">=4.0" } }, "node_modules/eslint/node_modules/supports-color": { @@ -4424,7 +3347,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4433,43 +3355,17 @@ } }, "node_modules/espree": { -<<<<<<< HEAD - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", -======= "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "BSD-2-Clause", "dependencies": { -<<<<<<< HEAD - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" -======= "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -4479,7 +3375,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", "optional": true, "bin": { "esparse": "bin/esparse.js", @@ -4494,7 +3389,6 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -4502,12 +3396,20 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -4515,12 +3417,20 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "devOptional": true, - "license": "BSD-2-Clause", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { "node": ">=4.0" } @@ -4530,7 +3440,6 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "devOptional": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -4540,7 +3449,6 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4549,7 +3457,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -4558,16 +3465,37 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", "engines": { - "node": ">=0.8.x" + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/express": { @@ -4575,7 +3503,6 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -4618,7 +3545,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -4627,35 +3553,31 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fabric": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fabric/-/fabric-6.4.3.tgz", - "integrity": "sha512-z/bJna3kWOBv+wmvVK4XxUQgCXLGb//VaSr5xPFIP708obH7472uuVsWbXam+xq+y21bLBtr4OHO1HuJyYi4FQ==", - "license": "MIT", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/fabric/-/fabric-5.2.1.tgz", + "integrity": "sha512-Irltx4i+aLccWgdQj2Uvrwh/XulDAqqYMZ1bI13fAtmlxl4ggobo0t7VVYy3Ob4YEB0sCeJZKE8ExZgGo/amkw==", "engines": { - "node": ">=16.20.0" + "node": ">=14.0.0" }, "optionalDependencies": { - "canvas": "^2.11.2", - "jsdom": "^20.0.1" + "canvas": "^2.8.0", + "jsdom": "^19.0.0" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -4672,7 +3594,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -4684,37 +3605,25 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/fast-uri": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", -<<<<<<< HEAD - "dev": true, - "license": "BSD-3-Clause" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.9.1" } @@ -4724,7 +3633,6 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -4734,7 +3642,6 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -4756,7 +3663,6 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -4769,10 +3675,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz", "integrity": "sha512-chzvGjd+Sp7KUvPHZv6EXV5Ir3Q7kYNpCr4aHrRW79qFtTefmQZNny+W1pW9kf5zeE6dikku2W50W/wAH2xWgw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "figlet": "bin/index.js" }, @@ -4785,7 +3687,6 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -4801,22 +3702,20 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=16.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/fill-range": { @@ -4824,7 +3723,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4837,7 +3735,6 @@ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -4856,7 +3753,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -4865,15 +3761,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -4889,8 +3783,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", -<<<<<<< HEAD -======= "dev": true, "bin": { "flat": "cli.js" @@ -4900,42 +3792,21 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", -<<<<<<< HEAD - "keyv": "^4.5.4" -======= "keyv": "^4.5.3", "rimraf": "^3.0.2" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { - "node": ">=16" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", -<<<<<<< HEAD - "dev": true, - "license": "ISC" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/follow-redirects": { "version": "1.15.9", @@ -4948,7 +3819,6 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -4962,7 +3832,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -4971,10 +3840,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4988,7 +3853,6 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -5001,7 +3865,6 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5011,7 +3874,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5020,7 +3882,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -5032,7 +3893,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -5040,20 +3900,16 @@ "node": ">=8" } }, -<<<<<<< HEAD -======= "node_modules/fs-monkey": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", "dev": true }, ->>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -5061,7 +3917,6 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -5074,10 +3929,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5086,10 +3937,6 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5107,7 +3954,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5117,10 +3963,6 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "deprecated": "This package is no longer supported.", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -5141,7 +3983,6 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -5150,10 +3991,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -5173,7 +4010,6 @@ "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, - "license": "MIT", "dependencies": { "@hutson/parse-repository-url": "^3.0.0", "hosted-git-info": "^4.0.0", @@ -5191,24 +4027,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", -<<<<<<< HEAD -======= "dev": true }, "node_modules/get-pkg-repo/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT" - }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5223,15 +4048,13 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/get-pkg-repo/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -5241,20 +4064,27 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -5272,7 +4102,6 @@ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, - "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -5292,7 +4121,6 @@ "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", "dev": true, - "license": "MIT", "dependencies": { "gitconfiglocal": "^1.0.0", "pify": "^2.3.0" @@ -5306,7 +4134,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5316,7 +4143,6 @@ "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, - "license": "MIT", "dependencies": { "meow": "^8.0.0", "semver": "^6.0.0" @@ -5333,7 +4159,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -5343,7 +4168,6 @@ "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, - "license": "BSD", "dependencies": { "ini": "^1.3.2" } @@ -5353,10 +4177,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5377,7 +4197,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -5389,48 +4208,18 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", -<<<<<<< HEAD -======= "dev": true }, "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "type-fest": "^0.20.2" }, "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5440,10 +4229,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -5456,21 +4241,20 @@ } }, "node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5480,7 +4264,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -5492,37 +4275,25 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", -<<<<<<< HEAD - "dev": true, - "license": "ISC" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", @@ -5544,7 +4315,6 @@ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -5553,7 +4323,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5563,7 +4332,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -5572,10 +4340,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-define-property": "^1.0.0" }, @@ -5587,10 +4351,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -5602,7 +4362,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5614,10 +4373,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "has-symbols": "^1.0.3" }, @@ -5631,20 +4386,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/hasown": { "version": "2.0.2", @@ -5662,7 +4404,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "license": "MIT", "bin": { "he": "bin/he" } @@ -5672,7 +4413,6 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5685,7 +4425,6 @@ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -5697,24 +4436,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", -<<<<<<< HEAD -======= "dev": true }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5729,15 +4457,13 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -5746,7 +4472,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "license": "MIT", "optional": true, "dependencies": { "whatwg-encoding": "^2.0.0" @@ -5769,19 +4494,13 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } -<<<<<<< HEAD - ], - "license": "MIT" -======= ] ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, - "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -5803,7 +4522,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, - "license": "MIT", "engines": { "node": ">= 12" } @@ -5813,7 +4531,6 @@ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dev": true, - "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -5853,7 +4570,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -5861,29 +4577,17 @@ "entities": "^2.0.0" } }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -5899,15 +4603,13 @@ "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, - "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -5921,7 +4623,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "license": "MIT", "optional": true, "dependencies": { "@tootallnate/once": "2", @@ -5937,7 +4638,6 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -5962,7 +4662,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -5974,7 +4673,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -5983,14 +4681,13 @@ "node": ">= 6" } }, - "node_modules/hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10.18" + "node": ">=10.17.0" } }, "node_modules/iconv-lite": { @@ -5998,7 +4695,6 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6023,15 +4719,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -6041,7 +4735,6 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6058,7 +4751,6 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -6078,7 +4770,6 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -6088,7 +4779,6 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -6098,10 +4788,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6110,24 +4796,18 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -6138,13 +4818,12 @@ } }, "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">= 0.10" } }, "node_modules/ipaddr.js": { @@ -6152,7 +4831,6 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } @@ -6161,7 +4839,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6177,10 +4854,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -6196,14 +4869,12 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -6216,7 +4887,6 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6228,7 +4898,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6244,7 +4913,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6257,7 +4925,6 @@ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, - "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -6272,10 +4939,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "is-typed-array": "^1.1.13" }, @@ -6290,7 +4953,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6302,16 +4964,15 @@ } }, "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6322,7 +4983,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6331,7 +4991,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", "engines": { "node": ">=8" } @@ -6340,7 +4999,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6356,7 +5014,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6364,30 +5021,10 @@ "node": ">=0.10.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-nan": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -6403,10 +5040,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -6414,25 +5047,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -6441,7 +5060,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6457,7 +5075,6 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -6467,7 +5084,6 @@ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -6477,7 +5093,6 @@ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, - "license": "MIT", "dependencies": { "is-path-inside": "^2.1.0" }, @@ -6485,12 +5100,11 @@ "node": ">=6" } }, - "node_modules/is-path-inside": { + "node_modules/is-path-in-cwd/node_modules/is-path-inside": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, - "license": "MIT", "dependencies": { "path-is-inside": "^1.0.2" }, @@ -6498,12 +5112,20 @@ "node": ">=6" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6513,7 +5135,6 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -6525,14 +5146,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "license": "MIT", "optional": true }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6548,10 +5167,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7" }, @@ -6562,11 +5177,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6581,7 +5207,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6597,7 +5222,6 @@ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, - "license": "MIT", "dependencies": { "text-extensions": "^1.0.0" }, @@ -6609,10 +5233,6 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "which-typed-array": "^1.1.14" }, @@ -6627,7 +5247,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -6636,44 +5255,33 @@ } }, "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", "dependencies": { - "is-inside-container": "^1.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", -<<<<<<< HEAD - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" -======= "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6683,7 +5291,6 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6697,15 +5304,13 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -6714,41 +5319,41 @@ } }, "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "license": "MIT", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", "optional": true, "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", "domexception": "^4.0.0", "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", + "https-proxy-agent": "^5.0.0", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=12" }, "peerDependencies": { "canvas": "^2.5.0" @@ -6763,54 +5368,43 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -6825,15 +5419,13 @@ "dev": true, "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -6850,10 +5442,6 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "json-buffer": "3.0.1" } @@ -6863,7 +5451,6 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6873,10 +5460,6 @@ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -6887,7 +5470,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -6900,38 +5482,9 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lit": { -<<<<<<< HEAD - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", - "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit/reactive-element": "^2.0.4", - "lit-element": "^4.1.0", - "lit-html": "^3.2.0" - } - }, - "node_modules/lit-element": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz", - "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", - "@lit/reactive-element": "^2.0.4", - "lit-html": "^3.2.0" - } - }, - "node_modules/lit-html": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", - "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", - "license": "BSD-3-Clause", -======= "version": "2.8.0", "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", @@ -6955,7 +5508,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "@types/trusted-types": "^2.0.2" } @@ -6965,7 +5517,6 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -6981,7 +5532,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -6991,7 +5541,6 @@ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -7001,7 +5550,6 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -7016,7 +5564,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -7031,29 +5578,25 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -7063,10 +5606,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "yallist": "^4.0.0" }, @@ -7078,7 +5617,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -7093,10 +5631,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "semver": "bin/semver.js" } @@ -7106,7 +5640,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -7119,39 +5652,20 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { -<<<<<<< HEAD - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.14.0.tgz", - "integrity": "sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==", -======= "version": "3.5.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "Apache-2.0", "dependencies": { -<<<<<<< HEAD - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" -======= "fs-monkey": "^1.0.4" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "engines": { "node": ">= 4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" } }, "node_modules/meow": { @@ -7159,7 +5673,6 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -7185,7 +5698,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -7198,15 +5710,13 @@ "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/meow/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -7219,7 +5729,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -7235,7 +5744,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -7248,7 +5756,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -7267,7 +5774,6 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -7283,7 +5789,6 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -7301,7 +5806,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } @@ -7311,7 +5815,6 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -7324,7 +5827,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } @@ -7334,23 +5836,22 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=10" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, -<<<<<<< HEAD -======= "node_modules/merge-descriptors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", @@ -7360,20 +5861,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, ->>>>>>> f692772 (bumped target node version 18 LTS) "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -7383,7 +5881,6 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7393,7 +5890,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -7407,7 +5903,6 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT", "bin": { "mime": "cli.js" }, @@ -7419,7 +5914,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7428,7 +5922,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -7436,11 +5929,19 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/mimic-response": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "license": "MIT", "engines": { "node": ">=8" }, @@ -7453,7 +5954,6 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -7462,7 +5962,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "license": "MIT", "bin": { "mini-svg-data-uri": "cli.js" } @@ -7471,30 +5970,23 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7504,7 +5996,6 @@ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -7518,10 +6009,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=8" } @@ -7530,7 +6017,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -7543,7 +6029,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -7555,7 +6040,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -7568,7 +6052,6 @@ "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7576,19 +6059,13 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", -<<<<<<< HEAD - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" -======= "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, - "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -7600,26 +6077,25 @@ "node_modules/nan": { "version": "2.22.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", -<<<<<<< HEAD - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", - "license": "MIT" -======= "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7628,15 +6104,13 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, - "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -7656,7 +6130,6 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "engines": { "node": ">=10.5.0" } @@ -7665,10 +6138,6 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -7687,7 +6156,6 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -7697,7 +6165,6 @@ "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-2.0.0.tgz", "integrity": "sha512-I5VN34NO4/5UYJaUBtkrODPWxbobrE4hgDqPrjB25yPkonFhCmZ146vTH+Zg417E9Iwoh1l/MbRs1apc5J295Q==", "dev": true, - "license": "MIT", "dependencies": { "loader-utils": "^2.0.0" }, @@ -7716,18 +6183,12 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "license": "ISC", "dependencies": { "abbrev": "1" }, @@ -7743,7 +6204,6 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", "is-core-module": "^2.5.0", @@ -7759,9 +6219,20 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/npmlog": { @@ -7769,10 +6240,6 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "deprecated": "This package is no longer supported.", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -7785,7 +6252,6 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -7797,17 +6263,12 @@ "version": "2.2.13", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "optional": true }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7816,10 +6277,6 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" }, @@ -7831,10 +6288,6 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -7850,7 +6303,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", "engines": { "node": ">= 0.4" } @@ -7859,10 +6311,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -7880,15 +6328,13 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -7901,7 +6347,6 @@ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7910,31 +6355,37 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", "dependencies": { "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { -<<<<<<< HEAD - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", -======= "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7945,7 +6396,6 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -7963,7 +6413,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -7979,7 +6428,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -7995,27 +6443,21 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/p-retry": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", - "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", + "@types/retry": "0.12.0", "retry": "^0.13.1" }, "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-try": { @@ -8023,7 +6465,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -8033,7 +6474,6 @@ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, - "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -8044,7 +6484,6 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -8057,7 +6496,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -8067,24 +6505,16 @@ } }, "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "entities": "^4.5.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "optional": true }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -8094,7 +6524,6 @@ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dev": true, - "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -8105,7 +6534,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -8114,7 +6542,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8123,15 +6550,13 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true, - "license": "(WTFPL OR MIT)" + "dev": true }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -8140,50 +6565,34 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", -<<<<<<< HEAD - "dev": true, - "license": "ISC" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -8196,7 +6605,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -8206,7 +6614,6 @@ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8216,7 +6623,6 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, - "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -8229,7 +6635,6 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -8242,7 +6647,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -8256,7 +6660,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -8269,7 +6672,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -8285,7 +6687,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -8297,10 +6698,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.4" } @@ -8310,7 +6707,6 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -8320,7 +6716,6 @@ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -8330,7 +6725,6 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "license": "MIT", "engines": { "node": ">= 0.6.0" } @@ -8339,15 +6733,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -8361,7 +6753,6 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -8370,7 +6761,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "license": "MIT", "optional": true }, "node_modules/punycode": { @@ -8378,7 +6768,6 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -8389,7 +6778,6 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -8400,7 +6788,6 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -8415,7 +6802,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "license": "MIT", "optional": true }, "node_modules/queue-microtask": { @@ -8436,15 +6822,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -8454,7 +6838,6 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -8464,7 +6847,6 @@ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8474,7 +6856,6 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -8490,7 +6871,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -8500,7 +6880,6 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -8515,7 +6894,6 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" @@ -8529,7 +6907,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -8542,7 +6919,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -8556,7 +6932,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -8569,7 +6944,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -8582,7 +6956,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8592,7 +6965,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8601,15 +6973,13 @@ "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -8622,7 +6992,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -8635,7 +7004,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8645,7 +7013,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -8654,10 +7021,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -8672,7 +7035,6 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -8681,16 +7043,15 @@ } }, "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, - "license": "MIT", "dependencies": { - "resolve": "^1.20.0" + "resolve": "^1.9.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.10" } }, "node_modules/redent": { @@ -8698,7 +7059,6 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -8711,10 +7071,6 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8733,7 +7089,6 @@ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -8743,7 +7098,6 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dev": true, - "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -8757,7 +7111,6 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8767,7 +7120,6 @@ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -8776,15 +7128,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -8802,7 +7152,6 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -8815,7 +7164,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -8825,7 +7173,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8835,7 +7182,6 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -8845,7 +7191,6 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -8856,10 +7201,6 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "glob": "^7.1.3" }, @@ -8870,19 +7211,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -8902,7 +7230,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -8911,10 +7238,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -8945,17 +7268,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -8972,30 +7290,23 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", -<<<<<<< HEAD - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC" -======= "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "license": "ISC", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "optional": true, "dependencies": { "xmlchars": "^2.2.0" }, "engines": { - "node": ">=v12.22.7" + "node": ">=10" } }, "node_modules/schema-utils": { @@ -9003,7 +7314,6 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -9023,7 +7333,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -9040,7 +7349,6 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -9052,22 +7360,19 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -9080,10 +7385,6 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "bin": { "semver": "bin/semver.js" }, @@ -9096,7 +7397,6 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -9121,7 +7421,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -9130,18 +7429,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 0.8" } @@ -9151,7 +7445,6 @@ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -9161,7 +7454,6 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -9180,7 +7472,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -9190,7 +7481,6 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9200,7 +7490,6 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, - "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -9215,29 +7504,25 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9247,7 +7532,6 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, - "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", @@ -9261,40 +7545,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-function-length": { "version": "1.2.2", @@ -9330,15 +7581,13 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -9351,7 +7600,6 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -9364,7 +7612,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -9374,10 +7621,6 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9386,10 +7629,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -9406,8 +7645,7 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -9426,14 +7664,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/simple-get": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "license": "MIT", "dependencies": { "decompress-response": "^4.2.0", "once": "^1.3.1", @@ -9441,16 +7677,12 @@ } }, "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/sockjs": { @@ -9458,7 +7690,6 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, - "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -9470,7 +7701,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "devOptional": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -9480,7 +7710,6 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9491,7 +7720,6 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -9501,19 +7729,13 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", -<<<<<<< HEAD - "dev": true, - "license": "CC-BY-3.0" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -9523,19 +7745,13 @@ "version": "3.0.20", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", -<<<<<<< HEAD - "dev": true, - "license": "CC0-1.0" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -9552,7 +7768,6 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -9567,7 +7782,6 @@ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, - "license": "MIT", "dependencies": { "through": "2" }, @@ -9580,7 +7794,6 @@ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, - "license": "ISC", "dependencies": { "readable-stream": "^3.0.0" } @@ -9590,7 +7803,6 @@ "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", "dev": true, - "license": "ISC", "dependencies": { "chalk": "^2.4.2", "conventional-changelog": "3.1.25", @@ -9619,7 +7831,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -9632,7 +7843,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -9647,7 +7857,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -9656,15 +7865,13 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/standard-version/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -9674,7 +7881,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -9684,7 +7890,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -9697,25 +7902,22 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/stream": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.3.tgz", - "integrity": "sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==", - "license": "MIT", + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", + "integrity": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==", "dependencies": { - "component-emitter": "^2.0.0" + "emitter-component": "^1.1.1" } }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -9724,7 +7926,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -9738,10 +7939,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/string.prototype.replaceall/-/string.prototype.replaceall-1.0.10.tgz", "integrity": "sha512-PKLapcZUZmXUdfIM6rTTTMYOxaj4JiQrgl0SKEeCFug1CdMAuJq8hVZd4eek9yMXAW4ldGUq+TiZRtjLJRU96g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9763,10 +7960,6 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9784,10 +7977,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9801,10 +7990,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -9822,14 +8007,12 @@ "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -9842,17 +8025,24 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -9865,7 +8055,6 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -9878,7 +8067,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9894,7 +8082,6 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9906,14 +8093,12 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "license": "MIT", "optional": true }, "node_modules/system": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/system/-/system-2.0.1.tgz", "integrity": "sha512-BwSUSa8LMHZouGadZ34ck3TsrH5s3oMmTKPK+xHdbBnTCZOZMJ38fHGKLAHkBl0PXru1Z4BsymQU4qqvTxWzdQ==", - "license": "MIT", "bin": { "jscat": "bundle.js" } @@ -9923,7 +8108,6 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -9932,10 +8116,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", -<<<<<<< HEAD - "license": "ISC", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -9953,7 +8133,6 @@ "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -9972,7 +8151,6 @@ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -10007,7 +8185,6 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10025,14 +8202,12 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/test": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test/-/test-3.3.0.tgz", "integrity": "sha512-JKlEohxDIJRjwBH/+BrTcAPHljBALrAHw3Zs99RqZlaC605f6BggqXhxkdqZThbSHgaYPwpNJlf9bTSWkb/1rA==", - "license": "MIT", "dependencies": { "minimist": "^1.2.6", "readable-stream": "^4.3.0", @@ -10049,10 +8224,6 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -10069,7 +8240,6 @@ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } @@ -10078,35 +8248,19 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "license": "Unlicense", - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "tslib": "^2" - } + "dev": true }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "3" } @@ -10115,15 +8269,13 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -10136,7 +8288,6 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6" } @@ -10145,10 +8296,6 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", -<<<<<<< HEAD - "license": "BSD-3-Clause", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "optional": true, "dependencies": { "psl": "^1.1.33", @@ -10164,7 +8311,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "license": "MIT", "optional": true, "dependencies": { "punycode": "^2.1.1" @@ -10173,59 +8319,20 @@ "node": ">=12" } }, - "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, -<<<<<<< HEAD - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", -======= - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, "node_modules/ts-loader": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -10246,7 +8353,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10263,10 +8369,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, -<<<<<<< HEAD - "license": "BSD-3-Clause", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 8" } @@ -10276,7 +8378,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10288,24 +8389,34 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", -<<<<<<< HEAD -======= "dev": true }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "0BSD" + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -10314,11 +8425,10 @@ } }, "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -10331,7 +8441,6 @@ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -10344,10 +8453,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -10361,10 +8466,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -10383,10 +8484,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -10406,10 +8503,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -10429,21 +8522,19 @@ "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/uglify-js": { @@ -10451,7 +8542,6 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, - "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -10464,7 +8554,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -10476,35 +8565,14 @@ } }, "node_modules/undici-types": { -<<<<<<< HEAD - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "license": "MIT" - }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } -======= "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "license": "MIT", "optional": true, "engines": { "node": ">= 4.0.0" @@ -10515,7 +8583,6 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -10539,7 +8606,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.0" @@ -10556,7 +8622,6 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -10565,7 +8630,6 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "license": "MIT", "optional": true, "dependencies": { "querystringify": "^2.1.1", @@ -10576,7 +8640,6 @@ "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -10588,22 +8651,19 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -10613,7 +8673,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -10623,7 +8682,6 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -10634,22 +8692,30 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "optional": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "license": "MIT", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", "optional": true, "dependencies": { "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=12" } }, "node_modules/watchpack": { @@ -10657,7 +8723,6 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -10671,7 +8736,6 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -10680,10 +8744,6 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">= 8" } @@ -10692,7 +8752,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "license": "BSD-2-Clause", "optional": true, "engines": { "node": ">=12" @@ -10703,7 +8762,6 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", @@ -10746,43 +8804,44 @@ } }, "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", - "commander": "^10.0.1", + "commander": "^7.0.0", "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", "webpack-merge": "^5.7.3" }, "bin": { "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=14.15.0" + "node": ">=10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "5.x.x" + "webpack": "4.x.x || 5.x.x" }, "peerDependenciesMeta": { "@webpack-cli/generators": { "optional": true }, + "@webpack-cli/migrate": { + "optional": true + }, "webpack-bundle-analyzer": { "optional": true }, @@ -10792,73 +8851,43 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14" + "node": ">= 10" } }, "node_modules/webpack-dev-middleware": { -<<<<<<< HEAD - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", -======= "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", ->>>>>>> f692772 (bumped target node version 18 LTS) "dev": true, - "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^4.6.0", + "memfs": "^3.4.3", "mime-types": "^2.1.31", - "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } + "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/webpack-dev-server": { -<<<<<<< HEAD - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", - "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", -======= "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "MIT", - "dependencies": { -<<<<<<< HEAD - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", -======= + "dev": true, + "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", "@types/express": "^4.17.13", @@ -10866,30 +8895,17 @@ "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", "@types/ws": "^8.5.5", ->>>>>>> f692772 (bumped target node version 18 LTS) "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "express": "^4.19.2", + "default-gateway": "^6.0.3", + "express": "^4.17.3", "graceful-fs": "^4.2.6", - "html-entities": "^2.4.0", + "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.3", -<<<<<<< HEAD - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" -======= "ipaddr.js": "^2.0.1", "launch-editor": "^2.6.0", "open": "^8.0.9", @@ -10902,20 +8918,19 @@ "spdy": "^4.0.2", "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" ->>>>>>> f692772 (bumped target node version 18 LTS) }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^4.37.0 || ^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -10931,7 +8946,6 @@ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -10946,7 +8960,6 @@ "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -10956,48 +8969,15 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.13.0" } }, -<<<<<<< HEAD - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", -======= - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", ->>>>>>> f692772 (bumped target node version 18 LTS) - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11016,7 +8996,6 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -11031,7 +9010,6 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -11040,7 +9018,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "license": "MIT", "optional": true, "dependencies": { "iconv-lite": "0.6.3" @@ -11053,7 +9030,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -11066,17 +9042,15 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "license": "MIT", "optional": true, "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "license": "MIT", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", "optional": true, "dependencies": { "tr46": "^3.0.0", @@ -11091,7 +9065,6 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -11106,7 +9079,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -11122,10 +9094,6 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -11144,7 +9112,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -11153,22 +9120,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", -<<<<<<< HEAD - "dev": true, - "license": "MIT" -======= "dev": true ->>>>>>> f692772 (bumped target node version 18 LTS) }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, -<<<<<<< HEAD - "license": "MIT", -======= ->>>>>>> f692772 (bumped target node version 18 LTS) "engines": { "node": ">=0.10.0" } @@ -11177,15 +9135,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -11201,15 +9157,13 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -11230,7 +9184,6 @@ "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -11242,7 +9195,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "license": "Apache-2.0", "optional": true, "engines": { "node": ">=12" @@ -11252,7 +9204,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "license": "MIT", "optional": true }, "node_modules/xtend": { @@ -11260,7 +9211,6 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4" } @@ -11270,7 +9220,6 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -11278,15 +9227,13 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -11305,7 +9252,6 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -11315,7 +9261,6 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 54c8b69..8d21e3b 100644 --- a/package.json +++ b/package.json @@ -44,43 +44,43 @@ }, "license": "Apache-2.0", "dependencies": { - "@types/browser-or-node": "^1.3.2", - "@types/figlet": "^1.7.0", - "@types/node": "^22.8.1", - "@types/node-fetch": "^2.6.11", - "@webcomponents/webcomponentsjs": "^2.8.0", - "assert": "^2.1.0", - "browser-or-node": "^3.0.0", + "@types/browser-or-node": "^1.3.0", + "@types/fabric": "4.5.11", + "@types/figlet": "^1.5.5", + "@types/node": "^18.13.0", + "@types/node-fetch": "^2.6.2", + "@webcomponents/webcomponentsjs": "^2.7.0", + "assert": "^2.0.0", + "browser-or-node": "^2.1.1", "buffer": "^6.0.3", - "canvas": "^2.11.2", - "chalk": "^5.3.0", - "commander": "^12.1.0", + "canvas": "^2.11.0", + "chalk": "^5.2.0", + "commander": "^9.5.0", "commonjs": "0.0.1", - "fabric": "6.4.3", - "figlet": "^1.8.0", - "lit": "^3.2.1", - "lit-element": "^4.1.1", - "lit-html": "^3.2.1", + "fabric": "5.2.1", + "figlet": "^1.5.2", + "lit": "^2.6.1", + "lit-element": "^3.2.2", + "lit-html": "^2.6.1", "mini-svg-data-uri": "^1.4.4", - "node-fetch": "^3.3.2", - "stream": "^0.0.3", + "node-fetch": "^3.3.0", + "stream": "^0.0.2", "xml-js": "^1.6.11" }, "devDependencies": { - "@types/jsdom": "^21.1.7", - "@typescript-eslint/eslint-plugin": "^8.11.0", - "@typescript-eslint/parser": "^8.11.0", + "@typescript-eslint/eslint-plugin": "^5.52.0", + "@typescript-eslint/parser": "^5.52.0", "clean-webpack-plugin": "^4.0.0", - "copy-webpack-plugin": "^12.0.2", - "eslint": "^9.13.0", - "html-webpack-plugin": "^5.6.3", + "copy-webpack-plugin": "^11.0.0", + "eslint": "^8.34.0", + "html-webpack-plugin": "^5.5.0", "node-loader": "^2.0.0", "standard-version": "^9.5.0", - "ts-loader": "^9.5.1", - "typescript": "^5.6.3", - "webpack": "^5.95.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^5.1.0", + "ts-loader": "^9.4.2", + "typescript": "^4.9.5", + "webpack": "^5.75.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.11.1", "webpack-node-externals": "^3.0.0" } } diff --git a/src/app.ts b/src/app.ts index 556fabc..9b7e64e 100644 --- a/src/app.ts +++ b/src/app.ts @@ -45,8 +45,8 @@ if (isNode) { } // web-component support -import './visual-output-webcomponent.ts'; -import './functional-predictions-webcomponent.ts'; +import './visual-output-webcomponent'; +import './functional-predictions-webcomponent'; // demo index page with JobId input form (implemented in TypeScript) -import './index.ts'; +import '.'; diff --git a/src/color-schemes.ts b/src/color-schemes.ts index db2d66b..3f56e69 100644 --- a/src/color-schemes.ts +++ b/src/color-schemes.ts @@ -1,4 +1,4 @@ -import { Gradient, FabricObject } from 'fabric'; +import { fabric } from 'fabric'; import { ColorType } from './custom-types'; export const defaultGradient: ColorType = { @@ -10,10 +10,10 @@ export const defaultGradient: ColorType = { keys: [0.0, 0.25, 0.5, 0.75, 1.0], }; -export function colorDefaultGradient(canvasObj: FabricObject, start: number, end: number) { +export function colorDefaultGradient(canvasObj: fabric.Object, start: number, end: number) { canvasObj.set( 'fill', - new Gradient({ + new fabric.Gradient({ type: 'linear', coords: { x1: start, @@ -41,10 +41,10 @@ export const ncbiBlastGradient: ColorType = { keys: [0, 40, 50, 80, 200], }; -export function colorNcbiBlastGradient(canvasObj: FabricObject, start: number, end: number) { +export function colorNcbiBlastGradient(canvasObj: fabric.Object, start: number, end: number) { canvasObj.set( 'fill', - new Gradient({ + new fabric.Gradient({ type: 'linear', coords: { x1: start, diff --git a/src/custom-events.ts b/src/custom-events.ts index 1875f63..0acee2f 100644 --- a/src/custom-events.ts +++ b/src/custom-events.ts @@ -1,4 +1,4 @@ -import { FabricObject, Group } from 'fabric'; +import { fabric } from 'fabric'; import { TextType, RectType, ColorSchemeEnum, RenderOptions } from './custom-types'; import { VisualOutput } from './visual-output-app'; import { Hsp, IprMatchFlat } from './data-model'; @@ -6,14 +6,14 @@ import { FunctionalPredictions } from './functional-predictions-app'; import { drawURLInfoTooltip, drawDomainTooltips, drawDomainInfoTooltips } from './drawing-utilities'; export function mouseOverText( - fabricObj: FabricObject, + fabricObj: fabric.Object, textObj: TextType, sequence: string, URL: string, renderOptions: RenderOptions, _this: VisualOutput | FunctionalPredictions ) { - fabricObj.on('mouseover', (e: any) => { + fabricObj.on('mouseover', (e: fabric.IEvent) => { if (e.target) { e.target.set('hoverCursor', 'pointer'); e.target.setOptions(textObj); @@ -27,8 +27,8 @@ export function mouseOverText( }); } -export function mouseDownText(fabricObj: FabricObject, href: string, _this: VisualOutput | FunctionalPredictions) { - fabricObj.on('mousedown', (e: any) => { +export function mouseDownText(fabricObj: fabric.Object, href: string, _this: VisualOutput | FunctionalPredictions) { + fabricObj.on('mousedown', (e: fabric.IEvent) => { if (e.target) { window.open(href, '_blank'); _this.canvas.renderAll(); @@ -36,8 +36,8 @@ export function mouseDownText(fabricObj: FabricObject, href: string, _this: Visu }); } -export function mouseOutText(fabricObj: FabricObject, textObj: TextType, _this: VisualOutput | FunctionalPredictions) { - fabricObj.on('mouseout', (e: any) => { +export function mouseOutText(fabricObj: fabric.Object, textObj: TextType, _this: VisualOutput | FunctionalPredictions) { + fabricObj.on('mouseout', (e: fabric.IEvent) => { if (e.target) { e.target.setOptions(textObj); e.target.setOptions({ underline: false }); @@ -51,7 +51,7 @@ function isHsp(object: any): object is Hsp { } export function mouseOverDomain( - fabricObj: FabricObject, + fabricObj: fabric.Object, startPixels: number, endPixels: number, seq_from: number, @@ -60,10 +60,10 @@ export function mouseOverDomain( renderOptions: RenderOptions, _this: VisualOutput | FunctionalPredictions ) { - fabricObj.on('mouseover', (e: any) => { + fabricObj.on('mouseover', (e: fabric.IEvent) => { if (e.target) { e.target.set('hoverCursor', 'pointer'); - let tooltipGroup: Group; + let tooltipGroup: fabric.Group; if (isHsp(domain)) { // Query/Subject tooltip tooltipGroup = drawDomainTooltips( @@ -89,17 +89,16 @@ export function mouseOverDomain( } _this.canvas.add(tooltipGroup); tooltipGroup.set({ visible: true }); - // FIXME - // fabricObj.bringToFront(); - // tooltipGroup.bringToFront(); + fabricObj.bringToFront(); + tooltipGroup.bringToFront(); _this.canvas.renderAll(); tooltipGroup.set({ visible: false }); } }); } -export function mouseOutDomain(fabricObj: FabricObject, _this: VisualOutput | FunctionalPredictions) { - fabricObj.on('mouseout', (e: any) => { +export function mouseOutDomain(fabricObj: fabric.Object, _this: VisualOutput | FunctionalPredictions) { + fabricObj.on('mouseout', (e: fabric.IEvent) => { if (e.target) { _this.canvas.renderAll(); } @@ -107,11 +106,11 @@ export function mouseOutDomain(fabricObj: FabricObject, _this: VisualOutput | Fu } export function mouseOverCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, textObj: TextType, _this: VisualOutput | FunctionalPredictions ) { - fabricObj.on('mouseover', (e: any) => { + fabricObj.on('mouseover', (e: fabric.IEvent) => { if (e.target) { e.target.set('hoverCursor', 'pointer'); e.target.setOptions(textObj); @@ -122,11 +121,11 @@ export function mouseOverCheckbox( } export function mouseDownCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, value: ColorSchemeEnum, _this: VisualOutput | FunctionalPredictions ) { - fabricObj.on('mousedown', (e: any) => { + fabricObj.on('mousedown', (e: fabric.IEvent) => { if (e.target) { if (_this.colorScheme != value) { _this.colorScheme = value; @@ -137,12 +136,12 @@ export function mouseDownCheckbox( } export function mouseOutCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, textObj: TextType, value: ColorSchemeEnum, _this: VisualOutput | FunctionalPredictions ) { - fabricObj.on('mouseout', (e: any) => { + fabricObj.on('mouseout', (e: fabric.IEvent) => { if (e.target) { e.target.setOptions(textObj); if (_this.colorScheme != value) { @@ -156,12 +155,12 @@ export function mouseOutCheckbox( } export function mouseOverDomainCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, rectObj: RectType, currentDomainDatabase: string, _this: FunctionalPredictions ) { - fabricObj.on('mouseover', (e: any) => { + fabricObj.on('mouseover', (e: fabric.IEvent) => { if (e.target) { e.target.set('hoverCursor', 'pointer'); e.target.setOptions(rectObj); @@ -185,11 +184,11 @@ export function mouseOverDomainCheckbox( } export function mouseDownDomainCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, currentDomainDatabase: string, _this: FunctionalPredictions ) { - fabricObj.on('mousedown', (e: any) => { + fabricObj.on('mousedown', (e: fabric.IEvent) => { if (e.target) { if ( !_this.domainDatabaseList.includes(currentDomainDatabase) && @@ -211,12 +210,12 @@ export function mouseDownDomainCheckbox( } export function mouseOutDomainCheckbox( - fabricObj: FabricObject, + fabricObj: fabric.Object, rectObj: RectType, currentDomainDatabase: string, _this: FunctionalPredictions ) { - fabricObj.on('mouseout', (e: any) => { + fabricObj.on('mouseout', (e: fabric.IEvent) => { if (e.target) { let currentDomainDatabaseDisabled = false; if (!_this.uniqueDomainDatabases.includes(currentDomainDatabase)) { diff --git a/src/drawing-utilities.ts b/src/drawing-utilities.ts index 073500d..eab3f55 100644 --- a/src/drawing-utilities.ts +++ b/src/drawing-utilities.ts @@ -1,4 +1,4 @@ -import { Group, FabricText, Line, Rect, Textbox } from 'fabric'; +import { fabric } from 'fabric'; import { numberToString } from './other-utilities'; import { SSSResultModel, Hit, Hsp, IprMatchFlat } from './data-model'; import { getTotalPixels, getTextLegendPaddingFactor } from './coords-utilities'; @@ -16,7 +16,11 @@ import { } from './custom-types'; import { colorByDatabaseName } from './color-utilities'; -export function drawHeaderTextGroup(dataObj: SSSResultModel, renderOptions: RenderOptions, topPadding: number): Group { +export function drawHeaderTextGroup( + dataObj: SSSResultModel, + renderOptions: RenderOptions, + topPadding: number +): fabric.Group { const origTopPadding = topPadding; const textObj = { ...textDefaults }; textObj.fontWeight = 'bold'; @@ -27,7 +31,7 @@ export function drawHeaderTextGroup(dataObj: SSSResultModel, renderOptions: Rend // program & version const program = dataObj.program; const version = dataObj.version; - const programText = new FabricText(`${program} (version: ${version})`, textObj); + const programText = new fabric.Text(`${program} (version: ${version})`, textObj); // Database(s) let db_names: string[] = []; for (const db of dataObj.dbs) { @@ -38,26 +42,26 @@ export function drawHeaderTextGroup(dataObj: SSSResultModel, renderOptions: Rend textObj.fontSize = renderOptions.fontSize!; topPadding += 15; textObj.top = topPadding; - const databaseText = new FabricText(`Database(s): ${dbs}`, textObj); + const databaseText = new fabric.Text(`Database(s): ${dbs}`, textObj); // Sequence topPadding += 15; textObj.top = topPadding; - const sequenceText = new FabricText('Sequence: ', textObj); + const sequenceText = new fabric.Text('Sequence: ', textObj); // Length const length = dataObj.query_len; topPadding += 15; textObj.top = topPadding; - const lengthText = new FabricText(`Length: ${length}`, textObj); + const lengthText = new fabric.Text(`Length: ${length}`, textObj); // Start const start = dataObj.start; textObj.top = origTopPadding; textObj.left = renderOptions.canvasWidth! - 135; - const startText = new FabricText(`${start}`, textObj); + const startText = new fabric.Text(`${start}`, textObj); // End const end = dataObj.end; textObj.top = origTopPadding + 15; - const endText = new FabricText(`${end}`, textObj); - const textGroup = new Group( + const endText = new fabric.Text(`${end}`, textObj); + const textGroup = new fabric.Group( [programText, databaseText, sequenceText, lengthText, startText, endText], objectDefaults ); @@ -68,7 +72,7 @@ export function drawHeaderLinkText( dataObj: SSSResultModel, renderOptions: RenderOptions, topPadding: number -): [FabricText, TextType] { +): [fabric.Text, TextType] { // Sequence const sequence = dataObj.query_def; const textSeqObj = { ...textDefaults }; @@ -77,7 +81,7 @@ export function drawHeaderLinkText( textSeqObj.evented = true; textSeqObj.top = topPadding - 15; textSeqObj.left = 57.5; - const sequenceDefText = new FabricText(`${sequence}`, textSeqObj); + const sequenceDefText = new fabric.Text(`${sequence}`, textSeqObj); return [sequenceDefText, textSeqObj]; } @@ -85,7 +89,7 @@ export function drawContentHeaderTextGroup( coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const textObj = { ...textDefaults }; textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize! + 1; @@ -107,22 +111,22 @@ export function drawContentHeaderTextGroup( ); // Query Match textObj.left = coordValues.startQueryPixels; - const queryText = new FabricText('Sequence Match', textObj); + const queryText = new fabric.Text('Sequence Match', textObj); queryText.width = totalQueryPixels; textObj.left = coordValues.startEvalPixels; let evalueText; // E-value/ Bits if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) { - evalueText = new FabricText('Bit score', textObj); + evalueText = new fabric.Text('Bit score', textObj); } else { - evalueText = new FabricText('E-value', textObj); + evalueText = new fabric.Text('E-value', textObj); } - evalueText.width = renderOptions.contentScoringWidth as number; + evalueText.width = renderOptions.contentScoringWidth; // Subject Match textObj.left = coordValues.startSubjPixels; - const subjText = new FabricText('Subject Match', textObj); + const subjText = new fabric.Text('Subject Match', textObj); subjText.width = totalSubjPixels; - const textGroup = new Group([queryText, evalueText, subjText], objectDefaults); + const textGroup = new fabric.Group([queryText, evalueText, subjText], objectDefaults); return textGroup; } @@ -130,7 +134,7 @@ export function drawLineTracksQuerySubject( coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; lineObj.stroke = 'black'; @@ -143,7 +147,7 @@ export function drawLineTracksQuerySubject( topPadding, ]; lineObj.left = coordValues.startQueryPixels; - const queryLine = new Line(coordsQuery, lineObj); + const queryLine = new fabric.Line(coordsQuery, lineObj); const coordsQueryStartCap: [number, number, number, number] = [ coordValues.startQueryPixels!, @@ -152,7 +156,7 @@ export function drawLineTracksQuerySubject( topPadding + 3, ]; lineObj.top = topPadding - 2; - const queryStartCap = new Line(coordsQueryStartCap, lineObj); + const queryStartCap = new fabric.Line(coordsQueryStartCap, lineObj); const coordsQueryEndCap: [number, number, number, number] = [ coordValues.endQueryPixels!, @@ -161,7 +165,7 @@ export function drawLineTracksQuerySubject( topPadding + 3, ]; lineObj.left = coordValues.endQueryPixels; - const queryEndCap = new Line(coordsQueryEndCap, lineObj); + const queryEndCap = new fabric.Line(coordsQueryEndCap, lineObj); // Subject const coordsSubj: [number, number, number, number] = [ @@ -172,7 +176,7 @@ export function drawLineTracksQuerySubject( ]; lineObj.top = topPadding; lineObj.left = coordValues.startSubjPixels; - const subjLine = new Line(coordsSubj, lineObj); + const subjLine = new fabric.Line(coordsSubj, lineObj); const coordsSubjStartCap: [number, number, number, number] = [ coordValues.startSubjPixels!, @@ -181,7 +185,7 @@ export function drawLineTracksQuerySubject( topPadding + 3, ]; lineObj.top = topPadding - 2; - const subjStartCap = new Line(coordsSubjStartCap, lineObj); + const subjStartCap = new fabric.Line(coordsSubjStartCap, lineObj); const coordsSubjEndCap: [number, number, number, number] = [ coordValues.endSubjPixels!, @@ -190,17 +194,21 @@ export function drawLineTracksQuerySubject( topPadding + 3, ]; lineObj.left = coordValues.endSubjPixels; - const subjEndCap = new Line(coordsSubjEndCap, lineObj); + const subjEndCap = new fabric.Line(coordsSubjEndCap, lineObj); // Group - const lineGroup = new Group( + const lineGroup = new fabric.Group( [queryLine, subjLine, queryStartCap, queryEndCap, subjStartCap, subjEndCap], objectDefaults ); return lineGroup; } -export function drawLineTracks(coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number): Group { +export function drawLineTracks( + coordValues: CoordsValues, + renderOptions: RenderOptions, + topPadding: number +): fabric.Group { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; lineObj.stroke = 'black'; @@ -213,7 +221,7 @@ export function drawLineTracks(coordValues: CoordsValues, renderOptions: RenderO topPadding, ]; lineObj.left = coordValues.startPixels; - const line = new Line(coordsQuery, lineObj); + const Line = new fabric.Line(coordsQuery, lineObj); const coordsStartCap: [number, number, number, number] = [ coordValues.startPixels!, @@ -222,7 +230,7 @@ export function drawLineTracks(coordValues: CoordsValues, renderOptions: RenderO topPadding + 3, ]; lineObj.top = topPadding - 2; - const startCap = new Line(coordsStartCap, lineObj); + const startCap = new fabric.Line(coordsStartCap, lineObj); const coordsEndCap: [number, number, number, number] = [ coordValues.endPixels!, @@ -231,10 +239,10 @@ export function drawLineTracks(coordValues: CoordsValues, renderOptions: RenderO topPadding + 3, ]; lineObj.left = coordValues.endPixels; - const endCap = new Line(coordsEndCap, lineObj); + const endCap = new fabric.Line(coordsEndCap, lineObj); // Group - const lineGroup = new Group([line, startCap, endCap], objectDefaults); + const lineGroup = new fabric.Group([Line, startCap, endCap], objectDefaults); return lineGroup; } @@ -242,7 +250,7 @@ export function drawDomainLineTracks( coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number -): Line { +): fabric.Line { const lineObj = { ...lineDefaults }; lineObj.top = topPadding; lineObj.stroke = 'black'; @@ -256,25 +264,25 @@ export function drawDomainLineTracks( topPadding, ]; lineObj.left = coordValues.startPixels; - return new Line(coordsQuery, lineObj); + return new fabric.Line(coordsQuery, lineObj); } export function drawContentFooterTextGroup( coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize; textObj.top = topPadding; // Start Query/Subject textObj.left = coordValues.startPixels! - 2.5; - const startText = new FabricText(`${coordValues.start}`, textObj); + const startText = new fabric.Text(`${coordValues.start}`, textObj); // End Query/Subject let positionFactor: number = getTextLegendPaddingFactor(`${coordValues.end}`); textObj.left = coordValues.endPixels! - positionFactor; - const endText = new FabricText(`${coordValues.end}`, textObj); - const textGroup = new Group([startText, endText], objectDefaults); + const endText = new fabric.Text(`${coordValues.end}`, textObj); + const textGroup = new fabric.Group([startText, endText], objectDefaults); return textGroup; } @@ -282,36 +290,36 @@ export function drawContentQuerySubjFooterTextGroup( coordValues: CoordsValues, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize; textObj.top = topPadding; // Start Query textObj.left = coordValues.startQueryPixels! - 2.5; - const startQueryText = new FabricText('1', textObj); + const startQueryText = new fabric.Text('1', textObj); // End Query let positionFactor: number = getTextLegendPaddingFactor(`${coordValues.queryLen}`); textObj.left = coordValues.endQueryPixels! - positionFactor; - const endQueryText = new FabricText(`${coordValues.queryLen}`, textObj); + const endQueryText = new fabric.Text(`${coordValues.queryLen}`, textObj); // Start Subject textObj.left = coordValues.startSubjPixels! - 2.5; - const startSubjText = new FabricText('1', textObj); + const startSubjText = new fabric.Text('1', textObj); // End Subject positionFactor = getTextLegendPaddingFactor(`${coordValues.subjLen}`); textObj.left = coordValues.endSubjPixels! - positionFactor; - const endSubjText = new FabricText(`${coordValues.subjLen}`, textObj); - const textGroup = new Group([startQueryText, endQueryText, startSubjText, endSubjText], objectDefaults); + const endSubjText = new fabric.Text(`${coordValues.subjLen}`, textObj); + const textGroup = new fabric.Group([startQueryText, endQueryText, startSubjText, endSubjText], objectDefaults); return textGroup; } -export function drawNoHitsFoundText(renderOptions: RenderOptions, topPadding: number): FabricText { +export function drawNoHitsFoundText(renderOptions: RenderOptions, topPadding: number): fabric.Text { const textObj = { ...textDefaults }; textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize! + 1; textObj.top = topPadding; textObj.left = renderOptions.contentWidth! / 2; textObj.fill = 'red'; - const noHitsText = new FabricText('--------------------No hits found--------------------', textObj); + const noHitsText = new fabric.Text('--------------------No hits found--------------------', textObj); return noHitsText; } @@ -320,7 +328,7 @@ export function drawContentSequenceInfoText( hit: Hit, renderOptions: RenderOptions, topPadding: number -): [FabricText, FabricText, TextType] { +): [fabric.Text, fabric.Text, TextType] { // Hit ID + Hit Description text tracks const textObj = { ...textDefaults }; textObj.fontFamily = 'Menlo'; @@ -328,7 +336,7 @@ export function drawContentSequenceInfoText( textObj.top = topPadding - 2; const variableSpace = ' '.repeat(maxIDLen - (hit.hit_db.length + hit.hit_id.length)); - const spaceText: FabricText = new FabricText(variableSpace, textObj); + const spaceText: fabric.Text = new fabric.Text(variableSpace, textObj); let hit_def: string = `${hit.hit_db}:${hit.hit_id} ${hit.hit_desc}`; let hit_def_full: string = `${variableSpace}${hit.hit_db}:${hit.hit_id} ${hit.hit_desc}`; @@ -337,7 +345,7 @@ export function drawContentSequenceInfoText( } textObj.left = 10 + variableSpace.length * 6; textObj.evented = true; - const hitText: FabricText = new FabricText(hit_def, textObj); + const hitText: fabric.Text = new fabric.Text(hit_def, textObj); return [spaceText, hitText, textObj]; } @@ -346,14 +354,14 @@ export function drawHspNoticeText( numberHsps: number, renderOptions: RenderOptions, topPadding: number -): FabricText { +): fabric.Text { // notice about not all HSPs being displayed const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize!; textObj.top = topPadding; textObj.left = renderOptions.contentWidth! / 2; textObj.fill = 'red'; - const hspTextNotice = new FabricText( + const hspTextNotice = new fabric.Text( `This hit contains ${totalNumberHsps} alignments, ` + `but only the first ${numberHsps} are displayed!`, textObj ); @@ -365,7 +373,7 @@ export function drawScoreText( hsp: Hsp, renderOptions: RenderOptions, topPadding: number -): FabricText { +): fabric.Text { // E-value text tracks const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize; @@ -373,11 +381,11 @@ export function drawScoreText( textObj.textAlign = 'center'; textObj.left = startEvalPixels; - let hspScoreText: FabricText; + let hspScoreText: fabric.Text; if (renderOptions.colorScheme === ColorSchemeEnum.ncbiblast) { - hspScoreText = new FabricText(numberToString(hsp.hsp_bit_score!), textObj); + hspScoreText = new fabric.Text(numberToString(hsp.hsp_bit_score!), textObj); } else { - hspScoreText = new FabricText(numberToString(hsp.hsp_expect!), textObj); + hspScoreText = new fabric.Text(numberToString(hsp.hsp_expect!), textObj); } return hspScoreText; } @@ -389,7 +397,7 @@ export function drawDomainQueySubject( endSubjPixels: number, topPadding: number, fill: string -): [Rect, Rect] { +): [fabric.Rect, fabric.Rect] { const rectObj = { ...rectDefaults }; rectObj.evented = true; rectObj.top = topPadding; @@ -401,14 +409,14 @@ export function drawDomainQueySubject( rectObj.left = startQueryPixels; rectObj.width = endQueryPixels; rectObj.height = 10; - const queryDomain = new Rect(rectObj); + const queryDomain = new fabric.Rect(rectObj); // Subject rectObj.top = topPadding - 15; rectObj.left = startSubjPixels; rectObj.width = endSubjPixels; rectObj.height = 10; - const subjDomain = new Rect(rectObj); + const subjDomain = new fabric.Rect(rectObj); return [queryDomain, subjDomain]; } @@ -421,7 +429,7 @@ export function drawDomainTooltips( hsp: Hsp, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize! + 1; floatTextObj.textAlign = 'left'; @@ -434,7 +442,7 @@ export function drawDomainTooltips( } else { tooltip = `Start: ${seq_from}\nEnd: ${seq_to}\nE-value: ${numberToString(hsp.hsp_expect!)}`; } - const tooltipText = new FabricText(tooltip, floatTextObj); + const tooltipText = new fabric.Text(tooltip, floatTextObj); const rectObj = { ...rectDefaults }; rectObj.fill = 'white'; rectObj.stroke = 'lightseagreen'; @@ -446,8 +454,8 @@ export function drawDomainTooltips( rectObj.height = 60; rectObj.opacity = 0.95; - const tooltipBox: Rect = new Rect(rectObj); - const tooltipGroup: Group = new Group([tooltipBox, tooltipText], { + const tooltipBox: fabric.Rect = new fabric.Rect(rectObj); + const tooltipGroup: fabric.Group = new fabric.Group([tooltipBox, tooltipText], { selectable: false, evented: false, objectCaching: false, @@ -458,20 +466,20 @@ export function drawDomainTooltips( return tooltipGroup; } -export function drawScaleTypeText(renderOptions: RenderOptions, topPadding: number): FabricText { +export function drawScaleTypeText(renderOptions: RenderOptions, topPadding: number): fabric.Text { const textSelObj = { ...textDefaults }; textSelObj.fontSize = renderOptions.fontSize! + 1; textSelObj.fontWeight = 'bold'; textSelObj.top = topPadding; textSelObj.left = renderOptions.scaleLabelWidth!; - const scaleTypeText = new FabricText('Scale Type:', textSelObj); + const scaleTypeText = new fabric.Text('Scale Type:', textSelObj); return scaleTypeText; } export function drawCheckBoxText( renderOptions: RenderOptions, topPadding: number -): [FabricText, FabricText, TextType, FabricText, FabricText, TextType, FabricText, FabricText, TextType] { +): [fabric.Text, fabric.Text, TextType, fabric.Text, fabric.Text, TextType, fabric.Text, fabric.Text, TextType] { // Scale Type selection const textSelObj = { ...textDefaults }; textSelObj.fontSize = renderOptions.fontSize! + 1; @@ -491,23 +499,23 @@ export function drawCheckBoxText( renderOptions.colorScheme === ColorSchemeEnum.dynamic ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme === ColorSchemeEnum.dynamic) textCheckDynObj.fill = 'black'; textCheckDynObj.left! += 80; - const dynamicCheckboxText = new FabricText(checkSym, textCheckDynObj); + const dynamicCheckboxText = new fabric.Text(checkSym, textCheckDynObj); textSelObj.left! += 100; - const dynamicText = new FabricText('Dynamic (E-value: min to max)', textSelObj); + const dynamicText = new fabric.Text('Dynamic (E-value: min to max)', textSelObj); renderOptions.colorScheme! === ColorSchemeEnum.fixed ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme! === ColorSchemeEnum.fixed) textCheckFixObj.fill = 'black'; textCheckFixObj.left! += 290; - const fixedCheckboxText = new FabricText(checkSym, textCheckFixObj); + const fixedCheckboxText = new fabric.Text(checkSym, textCheckFixObj); textSelObj.left! += 210; - const fixedText = new FabricText('Fixed (E-value: 0.0 to 100.0)', textSelObj); + const fixedText = new fabric.Text('Fixed (E-value: 0.0 to 100.0)', textSelObj); renderOptions.colorScheme! === ColorSchemeEnum.ncbiblast ? (checkSym = '☒') : (checkSym = '☐'); if (renderOptions.colorScheme! === ColorSchemeEnum.ncbiblast) textCheckNcbiObj.fill = 'black'; textCheckNcbiObj.left! += 480; - const ncbiblastCheckboxText = new FabricText(checkSym, textCheckNcbiObj); + const ncbiblastCheckboxText = new fabric.Text(checkSym, textCheckNcbiObj); textSelObj.left! += 190; - const ncbiblastText = new FabricText('NCBI BLAST+ (Bit score: <40 to ≥200)', textSelObj); + const ncbiblastText = new fabric.Text('NCBI BLAST+ (Bit score: <40 to ≥200)', textSelObj); return [ dynamicCheckboxText, @@ -522,7 +530,7 @@ export function drawCheckBoxText( ]; } -export function drawScaleScoreText(renderOptions: RenderOptions, topPadding: number): FabricText { +export function drawScaleScoreText(renderOptions: RenderOptions, topPadding: number): fabric.Text { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize! + 1; textObj.top = topPadding; @@ -533,17 +541,17 @@ export function drawScaleScoreText(renderOptions: RenderOptions, topPadding: num renderOptions.colorScheme! === ColorSchemeEnum.ncbiblast ? (textObj.left = renderOptions.scaleLabelWidth! - 56) : (textObj.left = renderOptions.scaleLabelWidth! - 50); - const scaleScoreText = new FabricText(`${scaleTypeLabel}`, textObj); + const scaleScoreText = new fabric.Text(`${scaleTypeLabel}`, textObj); return scaleScoreText; } -export function drawScaleColorGradient(renderOptions: RenderOptions, topPadding: number): Rect { +export function drawScaleColorGradient(renderOptions: RenderOptions, topPadding: number): fabric.Rect { const rectObj = { ...rectDefaults }; rectObj.top = topPadding; rectObj.left = renderOptions.scaleLabelWidth!; rectObj.width = renderOptions.scaleWidth!; rectObj.height = 15; - const colorScale = new Rect(rectObj); + const colorScale = new fabric.Rect(rectObj); if (renderOptions.colorScheme! === ColorSchemeEnum.ncbiblast) { colorNcbiBlastGradient(colorScale, 0, renderOptions.scaleWidth!); } else { @@ -560,7 +568,7 @@ export function drawLineAxis5Buckets( endGradPixels: number, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { // Axis const lineObj = { ...lineDefaults }; lineObj.top = topPadding; @@ -568,7 +576,7 @@ export function drawLineAxis5Buckets( lineObj.strokeWidth = renderOptions.strokeWidth!; const coordsAxis: [number, number, number, number] = [startGradPixels, topPadding, endGradPixels, topPadding]; lineObj.left = startGradPixels; - const axisLine = new Line(coordsAxis, lineObj); + const axisLine = new fabric.Line(coordsAxis, lineObj); // Start tick const coordsAxisStartTick: [number, number, number, number] = [ @@ -577,22 +585,22 @@ export function drawLineAxis5Buckets( startGradPixels, topPadding + 4, ]; - const axisStartTick = new Line(coordsAxisStartTick, lineObj); + const axisStartTick = new fabric.Line(coordsAxisStartTick, lineObj); // 25% tick const coordsAxis25Tick: [number, number, number, number] = [o25GradPixels, topPadding, o25GradPixels, topPadding + 4]; lineObj.left = o25GradPixels; - const axis25Tick = new Line(coordsAxis25Tick, lineObj); + const axis25Tick = new fabric.Line(coordsAxis25Tick, lineObj); // 50% tick const coordsAxis50Tick: [number, number, number, number] = [o50GradPixels, topPadding, o50GradPixels, topPadding + 4]; lineObj.left = o50GradPixels; - const axis50Tick = new Line(coordsAxis50Tick, lineObj); + const axis50Tick = new fabric.Line(coordsAxis50Tick, lineObj); // 75% tick const coordsAxis75Tick: [number, number, number, number] = [o75GradPixels, topPadding, o75GradPixels, topPadding + 4]; lineObj.left = o75GradPixels; - const axis75Tick = new Line(coordsAxis75Tick, lineObj); + const axis75Tick = new fabric.Line(coordsAxis75Tick, lineObj); // End tick const coordsAxisEndTick: [number, number, number, number] = [ @@ -602,10 +610,10 @@ export function drawLineAxis5Buckets( topPadding + 4, ]; lineObj.left = endGradPixels; - const axisEndTick = new Line(coordsAxisEndTick, lineObj); + const axisEndTick = new fabric.Line(coordsAxisEndTick, lineObj); // Group - const axisGroup = new Group( + const axisGroup = new fabric.Group( [axisLine, axisStartTick, axis25Tick, axis50Tick, axis75Tick, axisEndTick], objectDefaults ); @@ -621,7 +629,7 @@ export function drawLineAxis6Buckets( endGradPixels: number, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { // Axis const lineObj = { ...lineDefaults }; lineObj.top = topPadding; @@ -629,7 +637,7 @@ export function drawLineAxis6Buckets( lineObj.strokeWidth = renderOptions.strokeWidth!; const coordsAxis: [number, number, number, number] = [startGradPixels, topPadding, endGradPixels, topPadding]; lineObj.left = startGradPixels; - const axisLine = new Line(coordsAxis, lineObj); + const axisLine = new fabric.Line(coordsAxis, lineObj); // Start tick const coordsAxisStartTick: [number, number, number, number] = [ @@ -638,27 +646,27 @@ export function drawLineAxis6Buckets( startGradPixels, topPadding + 4, ]; - const axisStartTick = new Line(coordsAxisStartTick, lineObj); + const axisStartTick = new fabric.Line(coordsAxisStartTick, lineObj); // 20% tick const coordsAxis20Tick: [number, number, number, number] = [o20GradPixels, topPadding, o20GradPixels, topPadding + 4]; lineObj.left = o20GradPixels; - const axis20Tick = new Line(coordsAxis20Tick, lineObj); + const axis20Tick = new fabric.Line(coordsAxis20Tick, lineObj); // 40% tick const coordsAxis40Tick: [number, number, number, number] = [o40GradPixels, topPadding, o40GradPixels, topPadding + 4]; lineObj.left = o40GradPixels; - const axis40Tick = new Line(coordsAxis40Tick, lineObj); + const axis40Tick = new fabric.Line(coordsAxis40Tick, lineObj); // 60% tick const coordsAxis60Tick: [number, number, number, number] = [o60GradPixels, topPadding, o60GradPixels, topPadding + 4]; lineObj.left = o60GradPixels; - const axis60Tick = new Line(coordsAxis60Tick, lineObj); + const axis60Tick = new fabric.Line(coordsAxis60Tick, lineObj); // 80% tick const coordsAxis80Tick: [number, number, number, number] = [o80GradPixels, topPadding, o80GradPixels, topPadding + 4]; lineObj.left = o80GradPixels; - const axis80Tick = new Line(coordsAxis80Tick, lineObj); + const axis80Tick = new fabric.Line(coordsAxis80Tick, lineObj); // End tick const coordsAxisEndTick: [number, number, number, number] = [ @@ -668,10 +676,10 @@ export function drawLineAxis6Buckets( topPadding + 4, ]; lineObj.left = endGradPixels; - const axisEndTick = new Line(coordsAxisEndTick, lineObj); + const axisEndTick = new fabric.Line(coordsAxisEndTick, lineObj); // Group - const axisGroup = new Group( + const axisGroup = new fabric.Group( [axisLine, axisStartTick, axis20Tick, axis40Tick, axis60Tick, axis80Tick, axisEndTick], objectDefaults ); @@ -683,32 +691,35 @@ export function drawScaleTick5LabelsGroup( leftPadding: number, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const textObj = { ...textDefaults }; textObj.top = topPadding; textObj.fontSize = renderOptions.fontSize!; // 20% Tick Label let label = `<${gradientSteps[1]}`; textObj.left = renderOptions.scaleLabelWidth! + leftPadding - label.length * 3 - 72; - const o20LabelText = new FabricText(label, textObj); + const o20LabelText = new fabric.Text(label, textObj); // 40% Tick Label label = `${gradientSteps[1]} - ${gradientSteps[2]}`; textObj.left = renderOptions.scaleLabelWidth! + leftPadding * 2 - label.length * 3 - 72; - const o40LabelText = new FabricText(label, textObj); + const o40LabelText = new fabric.Text(label, textObj); // 60% Tick Label label = `${gradientSteps[2]} - ${gradientSteps[3]}`; textObj.left = renderOptions.scaleLabelWidth! + leftPadding * 3 - label.length * 3 - 72; - const o60LabelText = new FabricText(label, textObj); + const o60LabelText = new fabric.Text(label, textObj); // 60% Tick Label label = `${gradientSteps[3]} - ${gradientSteps[4]}`; textObj.left = renderOptions.scaleLabelWidth! + leftPadding * 4 - label.length * 3 - 72; - const o80LabelText = new FabricText(label, textObj); + const o80LabelText = new fabric.Text(label, textObj); // End Tick Label label = `≥${gradientSteps[4]}`; textObj.left = renderOptions.scaleLabelWidth! + renderOptions.scaleWidth! - label.length * 3 - 72; - const endLabelText = new FabricText(label, textObj); + const endLabelText = new fabric.Text(label, textObj); - const textGroup = new Group([o20LabelText, o40LabelText, o60LabelText, o80LabelText, endLabelText], objectDefaults); + const textGroup = new fabric.Group( + [o20LabelText, o40LabelText, o60LabelText, o80LabelText, endLabelText], + objectDefaults + ); return textGroup; } @@ -717,32 +728,35 @@ export function drawScaleTick4LabelsGroup( leftPadding: number, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const textObj = { ...textDefaults }; textObj.top = topPadding; textObj.fontSize = renderOptions.fontSize!; // Start Tick Label textObj.left = renderOptions.scaleLabelWidth! - numberToString(gradientSteps[0]).length * 3; - const startLabelText = new FabricText(numberToString(gradientSteps[0]), textObj); + const startLabelText = new fabric.Text(numberToString(gradientSteps[0]), textObj); // 25% Tick Label textObj.left = renderOptions.scaleLabelWidth! + leftPadding - numberToString(gradientSteps[1]).length * 3; - const o25LabelText = new FabricText(numberToString(gradientSteps[1]), textObj); + const o25LabelText = new fabric.Text(numberToString(gradientSteps[1]), textObj); // 50% Tick Label textObj.left = renderOptions.scaleLabelWidth! + leftPadding * 2 - numberToString(gradientSteps[2]).length * 3; - const o50LabelText = new FabricText(numberToString(gradientSteps[2]), textObj); + const o50LabelText = new fabric.Text(numberToString(gradientSteps[2]), textObj); // 75% Tick Label textObj.left = renderOptions.scaleLabelWidth! + leftPadding * 3 - numberToString(gradientSteps[3]).length * 3; - const o75LabelText = new FabricText(numberToString(gradientSteps[3]), textObj); + const o75LabelText = new fabric.Text(numberToString(gradientSteps[3]), textObj); // End Tick Label textObj.left = renderOptions.scaleLabelWidth! + renderOptions.scaleWidth! - numberToString(gradientSteps[4]).length * 3; - const endLabelText = new FabricText(numberToString(gradientSteps[4]), textObj); + const endLabelText = new fabric.Text(numberToString(gradientSteps[4]), textObj); - const textGroup = new Group([startLabelText, o25LabelText, o50LabelText, o75LabelText, endLabelText], objectDefaults); + const textGroup = new fabric.Group( + [startLabelText, o25LabelText, o50LabelText, o75LabelText, endLabelText], + objectDefaults + ); return textGroup; } -export function drawFooterText(renderOptions: RenderOptions, topPadding: number): [FabricText, TextType] { +export function drawFooterText(renderOptions: RenderOptions, topPadding: number): [fabric.Text, TextType] { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize; textObj.evented = true; @@ -751,12 +765,12 @@ export function drawFooterText(renderOptions: RenderOptions, topPadding: number) const copyright = `European Bioinformatics Institute 2006-2022. ` + `EBI is an Outstation of the European Molecular Biology Laboratory.`; - const copyrightText = new FabricText(`${copyright}`, textObj); + const copyrightText = new fabric.Text(`${copyright}`, textObj); return [copyrightText, textObj]; } export function drawCanvasWrapperStroke(renderOptions: RenderOptions) { - const canvasWrapper = new Rect({ + const canvasWrapper = new fabric.Rect({ selectable: false, evented: false, objectCaching: false, @@ -771,37 +785,37 @@ export function drawCanvasWrapperStroke(renderOptions: RenderOptions) { return canvasWrapper; } -export function drawContentTitleText(renderOptions: RenderOptions, topPadding: number): FabricText { +export function drawContentTitleText(renderOptions: RenderOptions, topPadding: number): fabric.Text { const textObj = { ...textDefaults }; textObj.fontWeight = 'bold'; textObj.fontSize = renderOptions.fontSize! + 2; textObj.top = topPadding; textObj.left = 350; const title = 'Fast Family and Domain Prediction by InterPro'; - return new FabricText(`${title}`, textObj); + return new fabric.Text(`${title}`, textObj); } export function drawContentSupressText( renderOptions: RenderOptions, topPadding: number, numberHits: number -): FabricText { +): fabric.Text { const textObj = { ...textDefaults }; textObj.fontSize = renderOptions.fontSize!; textObj.top = topPadding; textObj.left = renderOptions.contentWidth! / 2; textObj.fill = 'red'; const title = `This is a partial representation of the result, ` + `only the first ${numberHits} hits are displayed!`; - return new FabricText(`${title}`, textObj); + return new fabric.Text(`${title}`, textObj); } -export function drawProteinFeaturesText(renderOptions: RenderOptions, topPadding: number): FabricText { +export function drawProteinFeaturesText(renderOptions: RenderOptions, topPadding: number): fabric.Text { const textSelObj = { ...textDefaults }; textSelObj.fontSize = renderOptions.fontSize! + 1; textSelObj.fontWeight = 'bold'; textSelObj.top = topPadding; textSelObj.left = renderOptions.scaleLabelWidth! - 10; - const scaleTypeText = new FabricText('Select your database:', textSelObj); + const scaleTypeText = new fabric.Text('Select your database:', textSelObj); return scaleTypeText; } @@ -810,7 +824,7 @@ export function drawDomainCheckbox( topPadding: number, leftPadding: number, currentDomainDatabase: string -): [Rect, FabricText, RectType, TextType] { +): [fabric.Rect, fabric.Text, RectType, TextType] { const rectObj = { ...rectDefaults }; rectObj.top = topPadding; rectObj.left = leftPadding; @@ -834,8 +848,8 @@ export function drawDomainCheckbox( rectObj.stroke = 'grey'; } - const proteinFeatureRect = new Rect(rectObj); - const proteinFeatureText = new FabricText(currentDomainDatabase, textObj); + const proteinFeatureRect = new fabric.Rect(rectObj); + const proteinFeatureText = new fabric.Text(currentDomainDatabase, textObj); return [proteinFeatureRect, proteinFeatureText, rectObj, rectObj]; } @@ -845,7 +859,7 @@ export function drawHitTransparentBox( topPadding: number, fill: string, height: number -): Rect { +): fabric.Rect { const rectObj = { ...rectDefaults }; rectObj.fill = fill; rectObj.opacity = 0.5; @@ -856,21 +870,21 @@ export function drawHitTransparentBox( rectObj.left = startPixels; rectObj.width = endPixels; rectObj.height = height; - return new Rect(rectObj); + return new fabric.Rect(rectObj); } export function drawContentDomainInfoText( domainID: string, renderOptions: RenderOptions, topPadding: number -): [FabricText, FabricText, TextType] { +): [fabric.Text, fabric.Text, TextType] { // Domain ID text tracks const textObj = { ...textDefaults }; textObj.fontFamily = 'Menlo'; textObj.fontSize = renderOptions.fontSize! - 2; textObj.top = topPadding - 5; const variableSpace = ' '.repeat(40 - domainID.length); - const spaceText: FabricText = new FabricText(variableSpace, textObj); + const spaceText: fabric.Text = new fabric.Text(variableSpace, textObj); let domain: string = `${domainID}`; let domain_full: string = `${variableSpace}${domainID}`; @@ -879,12 +893,12 @@ export function drawContentDomainInfoText( } textObj.left = 12 + variableSpace.length * 6; textObj.evented = true; - const hitText: FabricText = new FabricText(domain, textObj); + const hitText: fabric.Text = new fabric.Text(domain, textObj); return [spaceText, hitText, textObj]; } // TODO FIXME: fix boxes around the edges of the canvas -export function drawDomains(startPixels: number, endPixels: number, topPadding: number, color: string): Rect { +export function drawDomains(startPixels: number, endPixels: number, topPadding: number, color: string): fabric.Rect { const rectObj = { ...rectDefaults }; rectObj.evented = true; rectObj.top = topPadding; @@ -898,7 +912,7 @@ export function drawDomains(startPixels: number, endPixels: number, topPadding: rectObj.height = 10; rectObj.stroke = 'black'; rectObj.strokeWidth = 0.5; - return new Rect(rectObj); + return new fabric.Rect(rectObj); } export function drawDomainInfoTooltips( @@ -909,7 +923,7 @@ export function drawDomainInfoTooltips( domain: IprMatchFlat, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize! + 1; floatTextObj.textAlign = 'left'; @@ -929,7 +943,7 @@ export function drawDomainInfoTooltips( } else { tooltip += `ID: ${domain.id}\n` + `Name: ${domain.name}\n` + `Type: ${domain.type}\n`; } - const tooltipText = new Textbox(tooltip, floatTextObj); + const tooltipText = new fabric.Textbox(tooltip, floatTextObj); const rectObj = { ...rectDefaults }; rectObj.fill = 'white'; @@ -942,8 +956,8 @@ export function drawDomainInfoTooltips( rectObj.height = tooltipText.height!; rectObj.opacity = 0.95; - const tooltipBox: Rect = new Rect(rectObj); - const tooltipGroup: Group = new Group([tooltipBox, tooltipText], { + const tooltipBox: fabric.Rect = new fabric.Rect(rectObj); + const tooltipGroup: fabric.Group = new fabric.Group([tooltipBox, tooltipText], { selectable: false, evented: false, objectCaching: false, @@ -960,7 +974,7 @@ export function drawURLInfoTooltip( URL: string, renderOptions: RenderOptions, topPadding: number -): Group { +): fabric.Group { const floatTextObj = { ...textDefaults }; floatTextObj.fontSize = renderOptions.fontSize! + 1; floatTextObj.originX = 'left'; @@ -970,7 +984,7 @@ export function drawURLInfoTooltip( if (sequence.length > 150) { sequence = sequence.slice(0, 150) + '...'; } - let tooltipText: FabricText; + let tooltipText: fabric.Text; if (sequence !== '') { const seqLabel = sequence.length * 6.3; const urlLabel = URL.length * 6.3; @@ -979,11 +993,11 @@ export function drawURLInfoTooltip( } else { floatTextObj.width = urlLabel + 5; } - tooltipText = new FabricText(`${sequence}\n` + `${URL}`, floatTextObj); + tooltipText = new fabric.Text(`${sequence}\n` + `${URL}`, floatTextObj); } else { const urlLabel = URL.length * 6.3; floatTextObj.width = urlLabel + 5; - tooltipText = new FabricText(`${URL}`, floatTextObj); + tooltipText = new fabric.Text(`${URL}`, floatTextObj); } const rectObj = { ...rectDefaults }; rectObj.fill = 'white'; @@ -997,8 +1011,8 @@ export function drawURLInfoTooltip( rectObj.height = tooltipText.height! + 10; rectObj.opacity = 0.95; - const tooltipBox: Rect = new Rect(rectObj); - const tooltipGroup: Group = new Group([tooltipBox, tooltipText], { + const tooltipBox: fabric.Rect = new fabric.Rect(rectObj); + const tooltipGroup: fabric.Group = new fabric.Group([tooltipBox, tooltipText], { selectable: false, evented: false, objectCaching: false, diff --git a/src/functional-predictions-app.ts b/src/functional-predictions-app.ts index a0b1abf..d361918 100644 --- a/src/functional-predictions-app.ts +++ b/src/functional-predictions-app.ts @@ -1,4 +1,4 @@ -import { FabricObject, Rect, FabricText } from 'fabric'; +import { fabric } from 'fabric'; import { SSSResultModel, IPRMCResultModelFlat } from './data-model'; import { getPixelCoords, getDomainPixelCoords } from './coords-utilities'; import { getGradientSteps, getRgbColorFixed, getRgbColorGradient, colorByDatabaseName } from './color-utilities'; @@ -89,8 +89,8 @@ function createDomainCheckbox( let rectObj: RectType; let textObj: TextType; - let rect: Rect; - let text: FabricText; + let rect: fabric.Rect; + let text: fabric.Text; [rect, text, rectObj, textObj] = drawDomainCheckbox( { currentDomainDatabase: _this.currentDomainDatabase, @@ -233,8 +233,8 @@ export class FunctionalPredictions extends BasicCanvasRenderer { private drawHeaderGroup() { // canvas header this.topPadding = 2; - let textHeaderGroup: FabricObject; - textHeaderGroup = objCache.get('textHeaderGroup') as FabricObject; + let textHeaderGroup: fabric.Object; + textHeaderGroup = objCache.get('textHeaderGroup') as fabric.Object; if (!textHeaderGroup) { textHeaderGroup = drawHeaderTextGroup( this.sssDataObj, @@ -250,9 +250,9 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // canvas header (sequence info) this.topPadding += 45; - let textHeaderLink: FabricText; + let textHeaderLink: fabric.Text; let textSeqObj: TextType; - textHeaderLink = objCache.get('textHeaderLink') as FabricText; + textHeaderLink = objCache.get('textHeaderLink') as fabric.Text; textSeqObj = objCache.get('textHeaderLink_textSeqObj') as TextType; if (!textHeaderLink) { [textHeaderLink, textSeqObj] = drawHeaderLinkText(this.sssDataObj, { fontSize: this.fontSize }, this.topPadding); @@ -279,8 +279,8 @@ export class FunctionalPredictions extends BasicCanvasRenderer { private drawContentGroup() { // canvas content title this.topPadding += 25; - let titleText: FabricText; - titleText = objCache.get('titleText') as FabricText; + let titleText: fabric.Text; + titleText = objCache.get('titleText') as fabric.Text; if (!titleText) { titleText = drawContentTitleText( { @@ -320,8 +320,8 @@ export class FunctionalPredictions extends BasicCanvasRenderer { private drawPredictionsGroup() { // Protein Features - Database Selection - let pfLabelText: FabricText; - pfLabelText = objCache.get('pfLabelText') as FabricText; + let pfLabelText: fabric.Text; + pfLabelText = objCache.get('pfLabelText') as fabric.Text; if (!pfLabelText) { pfLabelText = drawProteinFeaturesText( { @@ -462,7 +462,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { if (tmpNumberHits <= this.numberHits) { // Hit ID + Hit Description text tracks let textObj: TextType; - let spaceText, hitText: FabricText; + let spaceText, hitText: fabric.Text; [spaceText, hitText, textObj] = drawContentSequenceInfoText( maxIDLen, hit, @@ -538,32 +538,6 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // unique domain predictions && selected domain Databases let boxHeight = 0; let tmpTopPadding = this.topPadding - 15; - - // draw domain transparent box - boxHeight += 15; - if (hit.hit_acc in this.iprmcDataObj) { - if (this.iprmcDataObj[hit.hit_acc]['matches'] !== undefined) { - for (const did of this.iprmcDataObj[hit.hit_acc]['matches']) { - const domain = domainDatabaseNameToString( - this.iprmcDataObj[hit.hit_acc]['match'][did][0]['dbname'] as string - ); - if (this.domainDatabaseList.includes(domain)) { - boxHeight += 15; - } - } - } - } - const hitTransparentBox = drawHitTransparentBox( - startDomainPixels, - endDomainPixels, - tmpTopPadding, - boxColor, - boxHeight - ); - this.canvas.add(hitTransparentBox); - // FIXME - // hitTransparentBox.sendObjectToBack(); - if (hit.hit_acc in this.iprmcDataObj) { if (this.iprmcDataObj[hit.hit_acc]['matches'] !== undefined) { for (const did of this.iprmcDataObj[hit.hit_acc]['matches']) { @@ -583,12 +557,11 @@ export class FunctionalPredictions extends BasicCanvasRenderer { this.topPadding ); this.canvas.add(dashedLineTrackGroup); - // FIXME - // dashedLineTrackGroup.sendObjectToBack(); + dashedLineTrackGroup.sendToBack(); // draw domain ID text let textObj: TextType; - let spaceText, hitText: FabricText; + let spaceText, hitText: fabric.Text; [spaceText, hitText, textObj] = drawContentDomainInfoText( did.split('_')[1] + ' ►', { fontSize: this.fontSize }, @@ -649,13 +622,24 @@ export class FunctionalPredictions extends BasicCanvasRenderer { } } } + // draw domain transparent box + boxHeight += 15; + const hitTransparentBox = drawHitTransparentBox( + startDomainPixels, + endDomainPixels, + tmpTopPadding, + boxColor, + boxHeight + ); + this.canvas.add(hitTransparentBox); + hitTransparentBox.sendToBack(); // final padding this.topPadding += 40; } else { // canvas content suppressed output - let supressText: FabricText; - supressText = objCache.get('supressText') as FabricText; + let supressText: fabric.Text; + supressText = objCache.get('supressText') as fabric.Text; if (!supressText) { supressText = drawContentSupressText( { @@ -688,7 +672,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { // Scale Type selection let textCheckDynObj, textCheckFixObj, textCheckNcbiObj: TextType; - let dynamicBoxText, dynamicText, fixedBoxText, fixedText, ncbiblastBoxText, ncbiblastText: FabricText; + let dynamicBoxText, dynamicText, fixedBoxText, fixedText, ncbiblastBoxText, ncbiblastText: fabric.Text; [ dynamicBoxText, dynamicText, @@ -816,7 +800,7 @@ export class FunctionalPredictions extends BasicCanvasRenderer { private drawFooterGroup() { this.topPadding += 30; - let copyrightText: FabricText; + let copyrightText: fabric.Text; let textFooterObj: TextType; [copyrightText, textFooterObj] = drawFooterText( { diff --git a/src/index.ts b/src/index.ts index c0088bd..5a6333e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -193,16 +193,10 @@ class FabricjsRenderer { document.getElementById('btn-png')!.onclick = function () { const img: HTMLImageElement = document.getElementById('png') as HTMLImageElement; img.src = fabricjs!.canvas - // .toDataURL({ - // format: 'png', - // enableRetinaScaling: true, - // withoutTransform: true, - // }) .toDataURL({ format: 'png', enableRetinaScaling: true, - quality: 2, - multiplier: 2, + withoutTransform: true, }) .toString(); img.width = fabricjs.canvas.getWidth(); diff --git a/src/other-utilities.ts b/src/other-utilities.ts index 6138d90..5a2cc70 100644 --- a/src/other-utilities.ts +++ b/src/other-utilities.ts @@ -1,10 +1,10 @@ -import { Canvas, StaticCanvas } from 'fabric'; +import { fabric } from 'fabric'; import { xml2json } from 'xml-js'; import { SSSResultModel, IPRMCResultModel, IPRMCResultModelFlat, IprMatchesFlat, IprMatchFlat } from './data-model'; import { JobIdValitable, ColorSchemeEnum, jobIdDefaults } from './custom-types'; export class BasicCanvasRenderer { - public canvas: Canvas | StaticCanvas; + public canvas: fabric.Canvas | fabric.StaticCanvas; protected canvasWidth: number; protected canvasHeight: number; protected contentWidth: number; @@ -33,9 +33,9 @@ export class BasicCanvasRenderer { hoverCursor: 'default', }; if (this.staticCanvas) { - this.canvas = new StaticCanvas(this.element, startupDef); + this.canvas = new fabric.StaticCanvas(this.element, startupDef); } else { - this.canvas = new Canvas(this.element, startupDef); + this.canvas = new fabric.Canvas(this.element, startupDef); } } diff --git a/src/visual-output-app.ts b/src/visual-output-app.ts index 1e85c04..23e1631 100644 --- a/src/visual-output-app.ts +++ b/src/visual-output-app.ts @@ -1,4 +1,4 @@ -import { FabricText, Group, Rect } from 'fabric'; +import { fabric } from 'fabric'; import { SSSResultModel } from './data-model'; import { defaultGradient, ncbiBlastGradient } from './color-schemes'; import { getQuerySubjPixelCoords, getDomainPixelCoords } from './coords-utilities'; @@ -54,7 +54,11 @@ export class VisualOutput extends BasicCanvasRenderer { private queryFactor: number = 1.0; private subjFactor: number = 1.0; - constructor(element: string | HTMLCanvasElement, private dataObj: SSSResultModel, renderOptions: RenderOptions) { + constructor( + element: string | HTMLCanvasElement, + private dataObj: SSSResultModel, + renderOptions: RenderOptions + ) { super(element); renderOptions.canvasWidth != undefined ? (this.canvasWidth = renderOptions.canvasWidth) : (this.canvasWidth = 1000); @@ -172,8 +176,8 @@ export class VisualOutput extends BasicCanvasRenderer { private drawHeaderGroup() { // canvas header this.topPadding = 2; - let textHeaderGroup: Group; - textHeaderGroup = objCache.get('textHeaderGroup') as Group; + let textHeaderGroup: fabric.Object; + textHeaderGroup = objCache.get('textHeaderGroup') as fabric.Object; if (!textHeaderGroup) { textHeaderGroup = drawHeaderTextGroup( this.dataObj, @@ -189,9 +193,9 @@ export class VisualOutput extends BasicCanvasRenderer { // canvas header (sequence info) this.topPadding += 45; - let textHeaderLink: FabricText; + let textHeaderLink: fabric.Text; let textSeqObj: TextType; - textHeaderLink = objCache.get('textHeaderLink') as FabricText; + textHeaderLink = objCache.get('textHeaderLink') as fabric.Text; textSeqObj = objCache.get('textHeaderLink_textSeqObj') as TextType; if (!textHeaderLink) { [textHeaderLink, textSeqObj] = drawHeaderLinkText(this.dataObj, { fontSize: this.fontSize }, this.topPadding); @@ -219,8 +223,8 @@ export class VisualOutput extends BasicCanvasRenderer { if (this.dataObj.hits.length > 0) { // content header this.topPadding += 25; - let textContentHeaderGroup: Group; - textContentHeaderGroup = objCache.get('textContentHeaderGroup') as Group; + let textContentHeaderGroup: fabric.Group; + textContentHeaderGroup = objCache.get('textContentHeaderGroup') as fabric.Group; if (!textContentHeaderGroup) { textContentHeaderGroup = drawContentHeaderTextGroup( { @@ -244,8 +248,8 @@ export class VisualOutput extends BasicCanvasRenderer { // content header line tracks this.topPadding += 20; - let lineTrackGroup: Group; - lineTrackGroup = objCache.get('lineTrackGroup') as Group; + let lineTrackGroup: fabric.Group; + lineTrackGroup = objCache.get('lineTrackGroup') as fabric.Group; if (!lineTrackGroup) { lineTrackGroup = drawLineTracksQuerySubject( { @@ -262,8 +266,8 @@ export class VisualOutput extends BasicCanvasRenderer { this.canvas.add(lineTrackGroup); this.topPadding += 5; - let textContentFooterGroup: Group; - textContentFooterGroup = objCache.get('textContentFooterGroup') as Group; + let textContentFooterGroup: fabric.Group; + textContentFooterGroup = objCache.get('textContentFooterGroup') as fabric.Group; if (!textContentFooterGroup) { textContentFooterGroup = drawContentQuerySubjFooterTextGroup( { @@ -344,7 +348,7 @@ export class VisualOutput extends BasicCanvasRenderer { const totalNumberHsps: number = hit.hit_hsps.length; // Hit ID + Hit Description text tracks let textObj: TextType; - let spaceText, hitText: FabricText; + let spaceText, hitText: fabric.Text; [spaceText, hitText, textObj] = drawContentSequenceInfoText( maxIDLen, hit, @@ -436,7 +440,7 @@ export class VisualOutput extends BasicCanvasRenderer { color = getRgbColorGradient(hsp.hsp_expect!, this.gradientSteps, defaultGradient); } this.topPadding += 10; - let queryDomain, subjDomain: Rect; + let queryDomain, subjDomain: fabric.Rect; [queryDomain, subjDomain] = drawDomainQueySubject( startQueryHspPixels, endQueryHspPixels, @@ -495,8 +499,8 @@ export class VisualOutput extends BasicCanvasRenderer { } } else { if (this.logSkippedHsps === true) { - let hspTextNotice: FabricText; - hspTextNotice = objCache.get('hspTextNotice') as FabricText; + let hspTextNotice: fabric.Text; + hspTextNotice = objCache.get('hspTextNotice') as fabric.Text; if (!hspTextNotice) { hspTextNotice = drawHspNoticeText( totalNumberHsps, @@ -518,8 +522,8 @@ export class VisualOutput extends BasicCanvasRenderer { } else { // canvas content suppressed output this.topPadding += 20; - let supressText: FabricText; - supressText = objCache.get('supressText') as FabricText; + let supressText: fabric.Text; + supressText = objCache.get('supressText') as fabric.Text; if (!supressText) { supressText = drawContentSupressText( { @@ -552,7 +556,7 @@ export class VisualOutput extends BasicCanvasRenderer { // Scale Type selection let textCheckDynObj, textCheckFixObj, textCheckNcbiObj: TextType; - let dynamicBoxText, dynamicText, fixedBoxText, fixedText, ncbiblastBoxText, ncbiblastText: FabricText; + let dynamicBoxText, dynamicText, fixedBoxText, fixedText, ncbiblastBoxText, ncbiblastText: fabric.Text; [ dynamicBoxText, dynamicText, @@ -679,9 +683,9 @@ export class VisualOutput extends BasicCanvasRenderer { private drawFooterGroup() { this.topPadding += 30; - let copyrightText: FabricText; + let copyrightText: fabric.Text; let textFooterObj: TextType; - copyrightText = objCache.get('copyrightText') as FabricText; + copyrightText = objCache.get('copyrightText') as fabric.Text; textFooterObj = objCache.get('copyrightText_textFooterObj') as TextType; if (!copyrightText && !textFooterObj) { [copyrightText, textFooterObj] = drawFooterText(