From 4385e0edc519ecfd2d7a8c5a736804acf24cc688 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 14 Jun 2020 12:10:51 +0800 Subject: [PATCH 01/36] git --- "git\351\200\237\346\237\245\350\241\250.JPG" | Bin 152272 -> 203853 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git "a/git\351\200\237\346\237\245\350\241\250.JPG" "b/git\351\200\237\346\237\245\350\241\250.JPG" index 31f9ba3fdaa8da6ca51816223e70f0d8dd7f6624..b962caf57f475f46cc4485e5eb2e7607a2353d70 100644 GIT binary patch literal 203853 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

ve+n=XZM@ti`|oET%N`sW;m!jZOt3z7H>3lwT@y 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

1T41wU%&~ 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 Date: Sat, 11 Jul 2020 09:00:49 +0800 Subject: [PATCH 02/36] art-template-node --- ...\234\254\344\275\277\347\224\250demo.html" | 0 .../template-native.js" | 0 .../template-web.js" | 0 ...\265\217\350\247\210\345\231\250demo.html" | 25 ++ .../index.art" | 9 + .../main.js" | 12 + .../package-lock.json" | 243 ++++++++++++++++++ .../package.json" | 15 ++ 8 files changed, 304 insertions(+) rename "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" => "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" (100%) rename "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-native.js" => "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-native.js" (100%) rename "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-web.js" => "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-web.js" (100%) create mode 100644 "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/\346\265\217\350\247\210\345\231\250demo.html" create mode 100644 "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/index.art" create mode 100644 "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/main.js" create mode 100644 "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package-lock.json" create mode 100644 "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package.json" diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" similarity index 100% rename from "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" rename to "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/artTemplate\345\237\272\346\234\254\344\275\277\347\224\250demo.html" diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-native.js" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-native.js" similarity index 100% rename from "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-native.js" rename to "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-native.js" diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-web.js" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-web.js" similarity index 100% rename from "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/template-web.js" rename to "04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/template-web.js" diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/\346\265\217\350\247\210\345\231\250demo.html" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/\346\265\217\350\247\210\345\231\250demo.html" new file mode 100644 index 000000000..f59b513f3 --- /dev/null +++ "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/03-artTemplate\346\265\217\350\247\210\345\231\250\347\211\210\346\234\254/\346\265\217\350\247\210\345\231\250demo.html" @@ -0,0 +1,25 @@ + + +

+ + + + \ No newline at end of file diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/index.art" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/index.art" new file mode 100644 index 000000000..654fb896a --- /dev/null +++ "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/index.art" @@ -0,0 +1,9 @@ +{{if isAdmin}} +

{{title}}

+
    + {{each list value i}} +
  • 索引 {{i + 1}} :{{value}}
  • + {{/each}} +
+{{/if}} +{{$data}} diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/main.js" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/main.js" new file mode 100644 index 000000000..d81ee36a6 --- /dev/null +++ "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/main.js" @@ -0,0 +1,12 @@ +// npm install art-template --save +// 安装 vscode 相关插件 + +const path = require('path'); +const template = require('art-template'); +const data = { + title: '基本例子', + isAdmin: true, + list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他'] +}; +const html = template(path.resolve(__dirname, 'index.art'), data); +console.log(html); \ No newline at end of file diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package-lock.json" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package-lock.json" new file mode 100644 index 000000000..5607264bb --- /dev/null +++ "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package-lock.json" @@ -0,0 +1,243 @@ +{ + "name": "art-template-demo", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "art-template": { + "version": "4.13.2", + "resolved": "https://registry.npmjs.org/art-template/-/art-template-4.13.2.tgz", + "integrity": "sha512-04ws5k+ndA5DghfheY4c8F1304XJKeTcaXqZCLpxFkNMSkaR3ChW1pX2i9d3sEEOZuLy7de8lFriRaik1jEeOQ==", + "requires": { + "acorn": "^5.0.3", + "escodegen": "^1.8.1", + "estraverse": "^4.2.0", + "html-minifier": "^3.4.3", + "is-keyword-js": "^1.0.3", + "js-tokens": "^3.0.1", + "merge-source-map": "^1.0.3", + "source-map": "^0.5.6" + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "is-keyword-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-keyword-js/-/is-keyword-js-1.0.3.tgz", + "integrity": "sha1-rDDc81tnH0snsX9ctXI1EmAhEy0=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + } + } +} diff --git "a/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package.json" "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package.json" new file mode 100644 index 000000000..73860ec7b --- /dev/null +++ "b/04-\345\270\270\347\224\250\345\212\237\350\203\275/04-js\346\250\241\346\235\277\345\274\225\346\223\216/artTemplate/04-webpack\347\211\210\346\234\254/package.json" @@ -0,0 +1,15 @@ +{ + "name": "art-template-demo", + "version": "1.0.0", + "description": "", + "main": "main.js", + "scripts": { + "start": "node main.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "art-template": "^4.13.2" + } +} From faea8e6fbf1222612139872c0bcfde5e639b79fb Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sat, 18 Jul 2020 22:57:29 +0800 Subject: [PATCH 03/36] egg --- 17-nodejs/02-egg/.autod.conf.js | 28 + 17-nodejs/02-egg/.eslintignore | 2 + 17-nodejs/02-egg/.eslintrc | 6 + 17-nodejs/02-egg/.github/workflows/nodejs.yml | 31 + 17-nodejs/02-egg/.gitignore | 20 + 17-nodejs/02-egg/.travis.yml | 12 + 17-nodejs/02-egg/README.md | 33 + 17-nodejs/02-egg/app.ts | 60 + 17-nodejs/02-egg/app/controller/index.ts | 12 + 17-nodejs/02-egg/app/controller/topics.ts | 49 + 17-nodejs/02-egg/app/extend/helper.ts | 19 + .../02-egg/app/middleware/errorHandler.ts | 39 + 17-nodejs/02-egg/app/middleware/robot.ts | 16 + 17-nodejs/02-egg/app/public/test.html | 1 + 17-nodejs/02-egg/app/router.ts | 10 + 17-nodejs/02-egg/app/service/Test.ts | 15 + 17-nodejs/02-egg/app/service/topics.ts | 11 + 17-nodejs/02-egg/appveyor.yml | 14 + 17-nodejs/02-egg/config/config.default.ts | 70 + 17-nodejs/02-egg/config/config.local.ts | 16 + 17-nodejs/02-egg/config/config.prod.ts | 6 + 17-nodejs/02-egg/config/config.unittest.ts | 6 + 17-nodejs/02-egg/config/plugin.ts | 15 + 17-nodejs/02-egg/package-lock.json | 10857 ++++++++++++++++ 17-nodejs/02-egg/package.json | 58 + .../02-egg/test/app/controller/home.test.ts | 9 + .../02-egg/test/app/service/Test.test.ts | 16 + 17-nodejs/02-egg/tsconfig.json | 30 + .../02-egg/typings/app/controller/index.d.ts | 13 + .../02-egg/typings/app/extend/helper.d.ts | 9 + 17-nodejs/02-egg/typings/app/index.d.ts | 6 + .../02-egg/typings/app/middleware/index.d.ts | 13 + .../02-egg/typings/app/service/index.d.ts | 17 + 17-nodejs/02-egg/typings/config/index.d.ts | 11 + 17-nodejs/02-egg/typings/config/plugin.d.ts | 35 + 17-nodejs/02-egg/typings/index.d.ts | 5 + 36 files changed, 11570 insertions(+) create mode 100644 17-nodejs/02-egg/.autod.conf.js create mode 100644 17-nodejs/02-egg/.eslintignore create mode 100644 17-nodejs/02-egg/.eslintrc create mode 100644 17-nodejs/02-egg/.github/workflows/nodejs.yml create mode 100644 17-nodejs/02-egg/.gitignore create mode 100644 17-nodejs/02-egg/.travis.yml create mode 100644 17-nodejs/02-egg/README.md create mode 100644 17-nodejs/02-egg/app.ts create mode 100644 17-nodejs/02-egg/app/controller/index.ts create mode 100644 17-nodejs/02-egg/app/controller/topics.ts create mode 100644 17-nodejs/02-egg/app/extend/helper.ts create mode 100644 17-nodejs/02-egg/app/middleware/errorHandler.ts create mode 100644 17-nodejs/02-egg/app/middleware/robot.ts create mode 100644 17-nodejs/02-egg/app/public/test.html create mode 100644 17-nodejs/02-egg/app/router.ts create mode 100644 17-nodejs/02-egg/app/service/Test.ts create mode 100644 17-nodejs/02-egg/app/service/topics.ts create mode 100644 17-nodejs/02-egg/appveyor.yml create mode 100644 17-nodejs/02-egg/config/config.default.ts create mode 100644 17-nodejs/02-egg/config/config.local.ts create mode 100644 17-nodejs/02-egg/config/config.prod.ts create mode 100644 17-nodejs/02-egg/config/config.unittest.ts create mode 100644 17-nodejs/02-egg/config/plugin.ts create mode 100644 17-nodejs/02-egg/package-lock.json create mode 100644 17-nodejs/02-egg/package.json create mode 100644 17-nodejs/02-egg/test/app/controller/home.test.ts create mode 100644 17-nodejs/02-egg/test/app/service/Test.test.ts create mode 100644 17-nodejs/02-egg/tsconfig.json create mode 100644 17-nodejs/02-egg/typings/app/controller/index.d.ts create mode 100644 17-nodejs/02-egg/typings/app/extend/helper.d.ts create mode 100644 17-nodejs/02-egg/typings/app/index.d.ts create mode 100644 17-nodejs/02-egg/typings/app/middleware/index.d.ts create mode 100644 17-nodejs/02-egg/typings/app/service/index.d.ts create mode 100644 17-nodejs/02-egg/typings/config/index.d.ts create mode 100644 17-nodejs/02-egg/typings/config/plugin.d.ts create mode 100644 17-nodejs/02-egg/typings/index.d.ts diff --git a/17-nodejs/02-egg/.autod.conf.js b/17-nodejs/02-egg/.autod.conf.js new file mode 100644 index 000000000..cd4bc15b9 --- /dev/null +++ b/17-nodejs/02-egg/.autod.conf.js @@ -0,0 +1,28 @@ +'use strict'; + +module.exports = { + write: true, + plugin: 'autod-egg', + prefix: '^', + devprefix: '^', + exclude: [ + 'test/fixtures', + 'coverage', + ], + dep: [ + 'egg', + 'egg-scripts', + ], + devdep: [ + 'autod', + 'autod-egg', + 'egg-bin', + 'tslib', + 'typescript', + ], + keep: [ + ], + semver: [ + ], + test: 'scripts', +}; diff --git a/17-nodejs/02-egg/.eslintignore b/17-nodejs/02-egg/.eslintignore new file mode 100644 index 000000000..40a8aad85 --- /dev/null +++ b/17-nodejs/02-egg/.eslintignore @@ -0,0 +1,2 @@ +**/*.d.ts +node_modules/ diff --git a/17-nodejs/02-egg/.eslintrc b/17-nodejs/02-egg/.eslintrc new file mode 100644 index 000000000..be3536f11 --- /dev/null +++ b/17-nodejs/02-egg/.eslintrc @@ -0,0 +1,6 @@ +{ + "extends": "eslint-config-egg/typescript", + "parserOptions": { + "project": "./tsconfig.json" + } +} \ No newline at end of file diff --git a/17-nodejs/02-egg/.github/workflows/nodejs.yml b/17-nodejs/02-egg/.github/workflows/nodejs.yml new file mode 100644 index 000000000..54fb7a93a --- /dev/null +++ b/17-nodejs/02-egg/.github/workflows/nodejs.yml @@ -0,0 +1,31 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [8.x] + os: [ubuntu-latest, windows-latest, macos-latest] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm i -g npminstall && npminstall + - run: npm run ci + env: + CI: true diff --git a/17-nodejs/02-egg/.gitignore b/17-nodejs/02-egg/.gitignore new file mode 100644 index 000000000..c039540f8 --- /dev/null +++ b/17-nodejs/02-egg/.gitignore @@ -0,0 +1,20 @@ +logs/ +npm-debug.log +node_modules/ +coverage/ +.idea/ +run/ +logs/ +.DS_Store +.vscode +*.swp +*.lock +*.js +!.autod.conf.js + +app/**/*.js +test/**/*.js +config/**/*.js +app/**/*.map +test/**/*.map +config/**/*.map diff --git a/17-nodejs/02-egg/.travis.yml b/17-nodejs/02-egg/.travis.yml new file mode 100644 index 000000000..9749f42d5 --- /dev/null +++ b/17-nodejs/02-egg/.travis.yml @@ -0,0 +1,12 @@ + +language: node_js +node_js: + - '8' +before_install: + - npm i npminstall -g +install: + - npminstall +script: + - npm run ci +after_script: + - npminstall codecov && codecov diff --git a/17-nodejs/02-egg/README.md b/17-nodejs/02-egg/README.md new file mode 100644 index 000000000..b5946f5b2 --- /dev/null +++ b/17-nodejs/02-egg/README.md @@ -0,0 +1,33 @@ +# hackernews-async-ts + +[Hacker News](https://news.ycombinator.com/) showcase using typescript && egg + +## QuickStart + +### Development + +```bash +$ npm i +$ npm run dev +$ open http://localhost:7001/ +``` + +Don't tsc compile at development mode, if you had run `tsc` then you need to `npm run clean` before `npm run dev`. + +### Deploy + +```bash +$ npm run tsc +$ npm start +``` + +### Npm Scripts + +- Use `npm run lint` to check code style +- Use `npm test` to run unit test +- se `npm run clean` to clean compiled js at development mode once + +### Requirement + +- Node.js 8.x +- Typescript 2.8+ diff --git a/17-nodejs/02-egg/app.ts b/17-nodejs/02-egg/app.ts new file mode 100644 index 000000000..73d41d559 --- /dev/null +++ b/17-nodejs/02-egg/app.ts @@ -0,0 +1,60 @@ +class AppBootHook { + private app; + constructor(app) { + this.app = app; + } + + configWillLoad() { + // 此时 config 文件已经被读取并合并,但是还并未生效 + // 这是应用层修改配置的最后时机 + // 注意:此函数只支持同步调用 + + // 例如:参数中的密码是加密的,在此处进行解密 + // this.app.config.mysql.password = decrypt(this.app.config.mysql.password); + // 例如:插入一个中间件到框架的 coreMiddleware 之间 + // const statusIdx = this.app.config.coreMiddleware.indexOf('status'); + // this.app.config.coreMiddleware.splice(statusIdx + 1, 0, 'limit'); + } + + async didLoad() { + // 所有的配置已经加载完毕 + // 可以用来加载应用自定义的文件,启动自定义的服务 + + // 例如:创建自定义应用的示例 + // this.app.queue = new Queue(this.app.config.queue); + // await this.app.queue.init(); + + // 例如:加载自定义的目录 + // this.app.loader.loadToContext(path.join(__dirname, 'app/tasks'), 'tasks', { + // fieldClass: 'tasksClasses', + // }); + } + + async willReady() { + // 所有的插件都已启动完毕,但是应用整体还未 ready + // 可以做一些数据初始化等操作,这些操作成功才会启动应用 + + // 例如:从数据库加载数据到内存缓存 + // this.app.cacheData = await this.app.model.query(QUERY_CACHE_SQL); + } + + async didReady() { + // 应用已经启动完毕 + + // const ctx = await this.app.createAnonymousContext(); + // await ctx.service.Biz.request(); + } + + async serverDidReady() { + console.log('app start'); + // http / https server 已启动,开始接受外部请求 + // 此时可以从 app.server 拿到 server 的实例 + + this.app.server.on('timeout', socket => { + // handle socket timeout + console.log(socket.connecting); + }); + } +} + +export default AppBootHook; \ No newline at end of file diff --git a/17-nodejs/02-egg/app/controller/index.ts b/17-nodejs/02-egg/app/controller/index.ts new file mode 100644 index 000000000..6186abc44 --- /dev/null +++ b/17-nodejs/02-egg/app/controller/index.ts @@ -0,0 +1,12 @@ +import { Controller } from 'egg'; + +export default class HomeController extends Controller { + public async index() { + const { ctx } = this; + ctx.body = await ctx.service.test.sayHi('egg'); + } + public async notFound() { + const { ctx } = this; + ctx.body = '404~~~~'; + } +} diff --git a/17-nodejs/02-egg/app/controller/topics.ts b/17-nodejs/02-egg/app/controller/topics.ts new file mode 100644 index 000000000..91f49526b --- /dev/null +++ b/17-nodejs/02-egg/app/controller/topics.ts @@ -0,0 +1,49 @@ +import { Controller } from 'egg'; + +// 定义创建接口的请求参数规则 +// https://github.com/node-modules/parameter#rule +const createRule = { + name: 'string', + type: { type: 'enum', values: [ 'ask', 'share' ], required: false }, +}; + +export default class TopicController extends Controller { + // GET /topics topics + public async index() { + const { ctx } = this; + ctx.body = ctx.app.env; // local + ctx.response.type = 'application/json'; + ctx.status = 200; + } + + // GET /topics/new new_topic + public async new() { + const { app, ctx } = this; + ctx.throw({ + code: app.config.CODE.TEST_ERROR, + message: '测试错误抛出', + }); + } + + // POST /topics topics + public async create() { + const { ctx } = this; + // 校验 `ctx.request.body` 是否符合我们预期的格式 + // 如果参数校验未通过,将会抛出一个 status = 422 的异常 + ctx.validate(createRule, ctx.request.body); + // 调用 service 创建一个 topic + const data = await ctx.service.topics.create(ctx.request.body); + // 设置响应体和状态码 + ctx.helper.rest({ + ...data + }, 'ok', 0); + } + // GET /topics/:id topic + public async show() {} + // GET /topics/:id/edit edit_topic + public async edit() {} + // PUT /topics/:id topic + public async update() {} + // DELETE /topics/:id topic + public async destroy() {} +} diff --git a/17-nodejs/02-egg/app/extend/helper.ts b/17-nodejs/02-egg/app/extend/helper.ts new file mode 100644 index 000000000..eebdc6d07 --- /dev/null +++ b/17-nodejs/02-egg/app/extend/helper.ts @@ -0,0 +1,19 @@ +/** + * @name: rest.js + * @desc: restful middleware + * @author: victorsun@tencent.com + * @date: 2020.07.13 + */ +import { IHelper } from 'egg'; + +export default { + async rest(this: IHelper, data = {}, message = 'success', code = 0) { + const { ctx } = this; + ctx.response.type = 'application/json'; + ctx.response.body = { + code, + message, + data, + }; + } +}; diff --git a/17-nodejs/02-egg/app/middleware/errorHandler.ts b/17-nodejs/02-egg/app/middleware/errorHandler.ts new file mode 100644 index 000000000..1ead01186 --- /dev/null +++ b/17-nodejs/02-egg/app/middleware/errorHandler.ts @@ -0,0 +1,39 @@ +export default () => { + return async function errorHandler(ctx, next) { + try { + await next(); + } catch (err) { + // 所有的异常都在 app 上触发一个 error 事件,框架会记录一条错误日志 + ctx.app.emit('error', err, ctx); + + const status = err.status || 500; + // 生产环境时 500 错误的详细错误内容不返回给客户端,因为可能包含敏感信息 + const error = status === 500 && ctx.app.config.env === 'prod' + ? 'Internal Server Error' + : err.message; + + // 从 error 对象上读出各个属性,设置到响应中 + ctx.body = { + code: parseInt(err.code) || -1, + message: error, + }; + switch (status) { + // 参数校验未通过 + case 422: + ctx.body.detail = err.errors; + break; + } + ctx.status = status; + } + + // 404 单独处理 + if (ctx.status === 404 && !ctx.body) { + console.log(ctx.acceptJSON) + if (ctx.acceptJSON) { + ctx.body = { error: 'Not Found' }; + } else { + ctx.body = '

Page Not Found

'; + } + } + }; +}; \ No newline at end of file diff --git a/17-nodejs/02-egg/app/middleware/robot.ts b/17-nodejs/02-egg/app/middleware/robot.ts new file mode 100644 index 000000000..81c351bd0 --- /dev/null +++ b/17-nodejs/02-egg/app/middleware/robot.ts @@ -0,0 +1,16 @@ + + +// options === app.config.robot +export default (options, app) => { + console.log(app.config.robot); + return async function robotMiddleware(ctx, next) { + const source = ctx.get('user-agent') || ''; + const match = options.ua.some(ua => ua.test(source)); + if (match) { + ctx.status = 403; + ctx.message = 'Go away, robot.'; + } else { + await next(); + } + } +}; diff --git a/17-nodejs/02-egg/app/public/test.html b/17-nodejs/02-egg/app/public/test.html new file mode 100644 index 000000000..1429e267c --- /dev/null +++ b/17-nodejs/02-egg/app/public/test.html @@ -0,0 +1 @@ +

test html

\ No newline at end of file diff --git a/17-nodejs/02-egg/app/router.ts b/17-nodejs/02-egg/app/router.ts new file mode 100644 index 000000000..a736b7ef0 --- /dev/null +++ b/17-nodejs/02-egg/app/router.ts @@ -0,0 +1,10 @@ +import { Application } from 'egg'; + +export default (app: Application) => { + const { controller, router } = app; + + router.get('/', controller.index.index); + router.resources('topics', '/api/topics', app.controller.topics); + router.get('*', controller.index.notFound); + +}; diff --git a/17-nodejs/02-egg/app/service/Test.ts b/17-nodejs/02-egg/app/service/Test.ts new file mode 100644 index 000000000..329092597 --- /dev/null +++ b/17-nodejs/02-egg/app/service/Test.ts @@ -0,0 +1,15 @@ +import { Service } from 'egg'; + +/** + * Test Service + */ +export default class Test extends Service { + + /** + * sayHi to you + * @param name - your name + */ + public async sayHi(name: string) { + return `hi, ${name}`; + } +} diff --git a/17-nodejs/02-egg/app/service/topics.ts b/17-nodejs/02-egg/app/service/topics.ts new file mode 100644 index 000000000..e83954294 --- /dev/null +++ b/17-nodejs/02-egg/app/service/topics.ts @@ -0,0 +1,11 @@ +import { Service } from 'egg'; + +export default class TopicService extends Service { + constructor(ctx) { + super(ctx); + } + + public async create(params) { + return params; + } +} diff --git a/17-nodejs/02-egg/appveyor.yml b/17-nodejs/02-egg/appveyor.yml new file mode 100644 index 000000000..c274b7d35 --- /dev/null +++ b/17-nodejs/02-egg/appveyor.yml @@ -0,0 +1,14 @@ +environment: + matrix: + - nodejs_version: '8' + +install: + - ps: Install-Product node $env:nodejs_version + - npm i npminstall && node_modules\.bin\npminstall + +test_script: + - node --version + - npm --version + - npm run test + +build: off diff --git a/17-nodejs/02-egg/config/config.default.ts b/17-nodejs/02-egg/config/config.default.ts new file mode 100644 index 000000000..362b3728e --- /dev/null +++ b/17-nodejs/02-egg/config/config.default.ts @@ -0,0 +1,70 @@ +import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; + +export default (appInfo: EggAppInfo) => { + const config = {} as PowerPartial; + + // override config from framework / plugin + // use for cookie sign key, should change to your own and keep security + config.keys = appInfo.name + '_csxiaoyao'; + + config.CODE = { + SUCCESS: '0', + TEST_ERROR: '-1', + CURL_ERROR: '-1000', + }; + + config.onerror = { + all(err, ctx) { + console.log(err); + // 在此处定义针对所有响应类型的错误处理方法 + // 注意,定义了 config.all 之后,其他错误处理方法不会再生效 + ctx.body = 'error'; + ctx.status = 500; + }, + html(err, ctx) { + console.log(err); + // html hander + ctx.body = '

error

'; + ctx.status = 500; + }, + json(err, ctx) { + console.log(err); + // json hander + ctx.body = { message: 'error' }; + ctx.status = 500; + }, + }; + + const bodyParser = { + enable: true, + jsonLimit: '3mb', + // ignore: '/api', + }; + + // add your egg config in here + config.middleware = [ + 'robot', + 'errorHandler' + ]; + + // robot's configurations + const robot = { + ua: [ + /curl/i, + /Baiduspider/i, + ] + }; + + // 只对 /api 前缀的 url 路径生效 + const errorHandler = { + match: '/api', + }; + + // the return config will combines to EggAppConfig + return { + ...config, + bodyParser, + robot, + errorHandler, + }; +}; diff --git a/17-nodejs/02-egg/config/config.local.ts b/17-nodejs/02-egg/config/config.local.ts new file mode 100644 index 000000000..b0600d380 --- /dev/null +++ b/17-nodejs/02-egg/config/config.local.ts @@ -0,0 +1,16 @@ +import { EggAppConfig, PowerPartial } from 'egg'; + +export default () => { + const config: PowerPartial = {}; + + const security = { + csrf: { + ignoreJSON: true, // 默认为 false,当设置为 true 时,将会放过所有 content-type 为 `application/json` 的请求 + }, + }; + + return { + ...config, + security, + }; +}; diff --git a/17-nodejs/02-egg/config/config.prod.ts b/17-nodejs/02-egg/config/config.prod.ts new file mode 100644 index 000000000..56415cecc --- /dev/null +++ b/17-nodejs/02-egg/config/config.prod.ts @@ -0,0 +1,6 @@ +import { EggAppConfig, PowerPartial } from 'egg'; + +export default () => { + const config: PowerPartial = {}; + return config; +}; diff --git a/17-nodejs/02-egg/config/config.unittest.ts b/17-nodejs/02-egg/config/config.unittest.ts new file mode 100644 index 000000000..56415cecc --- /dev/null +++ b/17-nodejs/02-egg/config/config.unittest.ts @@ -0,0 +1,6 @@ +import { EggAppConfig, PowerPartial } from 'egg'; + +export default () => { + const config: PowerPartial = {}; + return config; +}; diff --git a/17-nodejs/02-egg/config/plugin.ts b/17-nodejs/02-egg/config/plugin.ts new file mode 100644 index 000000000..f47829d5b --- /dev/null +++ b/17-nodejs/02-egg/config/plugin.ts @@ -0,0 +1,15 @@ +import { EggPlugin } from 'egg'; + +const plugin: EggPlugin = { + static: true, + // nunjucks: { + // enable: true, + // package: 'egg-view-nunjucks', + // }, + validate: { + enable: true, + package: 'egg-validate', + }, +}; + +export default plugin; diff --git a/17-nodejs/02-egg/package-lock.json b/17-nodejs/02-egg/package-lock.json new file mode 100644 index 000000000..a3dcc0a5b --- /dev/null +++ b/17-nodejs/02-egg/package-lock.json @@ -0,0 +1,10857 @@ +{ + "name": "demo", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", + "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", + "dev": true + }, + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", + "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, + "@babel/runtime-corejs3": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.5.tgz", + "integrity": "sha512-RMafpmrNB5E/bwdSphLr8a8++9TosnyJp98RZzI6VOx2R2CCMpsXXXRvmI700O9oEKpXdZat6oEK68/F0zjd4A==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@eggjs/router": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@eggjs/router/-/router-2.0.0.tgz", + "integrity": "sha512-ViFlE/09kgaSMgH+nGozweJYr0bVBUvG72GmTv+i7OPIxK9uj1Z1GpSTT3zB6mBfnvakvErPR5jUBsl2wBrcHA==", + "requires": { + "co": "^4.6.0", + "debug": "^3.1.0", + "http-errors": "^1.3.1", + "inflection": "^1.12.0", + "is-type-of": "^1.2.1", + "koa-compose": "^3.0.0", + "koa-convert": "^1.2.0", + "methods": "^1.0.1", + "path-to-regexp": "^1.1.1", + "urijs": "^1.19.0", + "utility": "^1.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "dependencies": { + "@types/yargs": { + "version": "13.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz", + "integrity": "sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "@types/accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", + "requires": { + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/connect": { + "version": "3.4.33", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", + "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "requires": { + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==" + }, + "@types/cookiejar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==", + "dev": true + }, + "@types/cookies": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz", + "integrity": "sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==", + "requires": { + "@types/connect": "*", + "@types/express": "*", + "@types/keygrip": "*", + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/dargs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/dargs/-/dargs-5.1.0.tgz", + "integrity": "sha512-2cXlO8pz13kVYMp6Zgr8Z5DACbaGfoBp7svqZqPGcO+qG3LQLWdB5BzPPASj+UI447XxGmFHi6KjLgUB0fzucQ==" + }, + "@types/depd": { + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/@types/depd/-/depd-1.1.32.tgz", + "integrity": "sha512-kB2cpXs3A0TGWl4a4h74yIwvclYZUTW6Irpee/3Dc1s4Cr5rGPHtpGPpBBpEV1MaKH5z/oul+57oDkEkeRXRnw==", + "requires": { + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/empower": { + "version": "1.2.30", + "resolved": "https://registry.npmjs.org/@types/empower/-/empower-1.2.30.tgz", + "integrity": "sha1-x8/BSzph5Ux0xnTB+8kbot8NE5I=", + "dev": true + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/express": { + "version": "4.17.7", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz", + "integrity": "sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "*", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.8.tgz", + "integrity": "sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", + "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/keygrip": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", + "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==" + }, + "@types/koa": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.3.tgz", + "integrity": "sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q==", + "requires": { + "@types/accepts": "*", + "@types/content-disposition": "*", + "@types/cookies": "*", + "@types/http-assert": "*", + "@types/keygrip": "*", + "@types/koa-compose": "*", + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" + } + } + }, + "@types/koa-compose": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", + "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", + "requires": { + "@types/koa": "*" + } + }, + "@types/koa-router": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.1.tgz", + "integrity": "sha512-Hg78TXz78QYfEgdq3nTeRmQFEwJKZljsXb/DhtexmyrpRDRnl59oMglh9uPj3/WgKor0woANrYTnxA8gaWGK2A==", + "requires": { + "@types/koa": "*" + } + }, + "@types/mime": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.2.tgz", + "integrity": "sha512-4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/mocha": { + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz", + "integrity": "sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw==", + "dev": true + }, + "@types/node": { + "version": "7.10.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.11.tgz", + "integrity": "sha512-uEqP1HlJFhsgD8DOBFdC72/5selvor0mzdQY97zlyo8Q6qPl849cFBWkNpgTXw3jIvb7iNyWsId51/A8HYKzbQ==", + "dev": true + }, + "@types/power-assert": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/power-assert/-/power-assert-1.5.3.tgz", + "integrity": "sha512-PzV9RX7RRUBYLxp52ipXo9dSvBnqVR09mcvGt3hXuzoJt0EUpPPv0X3btjCQqrhQ1xLbyt0dfPiGfRfrZB4G0A==", + "dev": true, + "requires": { + "@types/empower": "*", + "@types/power-assert-formatter": "*" + } + }, + "@types/power-assert-formatter": { + "version": "1.4.29", + "resolved": "https://registry.npmjs.org/@types/power-assert-formatter/-/power-assert-formatter-1.4.29.tgz", + "integrity": "sha512-K3kBfCD4xnx+W5xLVbkyiKUKHvkZBL3R2fS3/wSoFJORcXdzN3ir13zTok1wNnH+hbv8Wc+YTWJDyqEdNsEXzg==", + "dev": true + }, + "@types/qs": { + "version": "6.9.3", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.3.tgz", + "integrity": "sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==" + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" + }, + "@types/serve-static": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz", + "integrity": "sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/mime": "*" + } + }, + "@types/superagent": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.8.tgz", + "integrity": "sha512-iol9KxQ7SLHatBJUiZ4uABrS4VS1frLjqPednxZz82eoCzo3Uy3TOH0p0ZIBbfBj8E/xqOtvizjBs9h7xi/l2g==", + "dev": true, + "requires": { + "@types/cookiejar": "*", + "@types/node": "*" + } + }, + "@types/supertest": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.10.tgz", + "integrity": "sha512-Xt8TbEyZTnD5Xulw95GLMOkmjGICrOQyJ2jqgkSjAUR3mm7pAIzSR0NFBaMcwlzVvlpCjNwbATcWWwjNiZiFrQ==", + "dev": true, + "requires": { + "@types/superagent": "*" + } + }, + "@types/yargs": { + "version": "12.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.17.tgz", + "integrity": "sha512-WNDLAvU4Io2ZaML2CaM/9kSgS9r6zdLfgpMWj40WPr24lrCc6RuWla0e23fy79/iD7IiF2Om9xsNISW7V2zZLg==" + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "dependencies": { + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-es7-plugin": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", + "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=", + "dev": true + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.3.tgz", + "integrity": "sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz", + "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autod": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/autod/-/autod-3.1.0.tgz", + "integrity": "sha512-sx9phRpnxeAD4tbsqXyidDLuOWuXRIbRUEj8i9GXO9Izucrq4E+LRFPGXayEVkF4SfUJRumLTNblxiz7KfzxgQ==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-preset-env": "^1.6.1", + "babel-preset-react": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", + "co": "^4.6.0", + "colors": "^1.1.2", + "commander": "^2.11.0", + "crequire": "^1.8.1", + "debug": "^3.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.1.2", + "minimatch": "^3.0.4", + "printable": "^0.0.3", + "semver": "^6.0.0", + "urllib": "^2.25.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "autod-egg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/autod-egg/-/autod-egg-1.1.0.tgz", + "integrity": "sha512-dZ5ZRiHcHaehQnpEBWmxHTvQfIHKUdr10Qlrs/ZdBfb6NG2lUfNlVUGnqNVkp9wFsJJTGdN7ADmW9gkN8bSLrg==", + "dev": true + }, + "await-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/await-event/-/await-event-2.1.0.tgz", + "integrity": "sha1-eOn5JoS65AIvn6C18xShFVD5qnY=" + }, + "await-first": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/await-first/-/await-first-1.0.0.tgz", + "integrity": "sha512-SK20HicVu6lXvNM0nS1flurrs4/1NdhvccvEn52Gf+vpERZnnkKBnJvAQDsYkzJnsHs1bRNNKEiobEet7a/0TA==", + "requires": { + "ee-first": "^1.1.1" + } + }, + "axe-core": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", + "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "dev": true + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz", + "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/traverse": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0-beta.44" + } + }, + "@babel/generator": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44", + "jsesc": "^2.5.1", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.44", + "@babel/template": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "@babel/template": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "lodash": "^4.2.0" + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/generator": "7.0.0-beta.44", + "@babel/helper-function-name": "7.0.0-beta.44", + "@babel/helper-split-export-declaration": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + } + }, + "@babel/types": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, + "babylon": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-do-expressions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", + "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-function-bind": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", + "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", + "dev": true + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "^6.18.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-do-expressions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", + "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", + "dev": true, + "requires": { + "babel-plugin-syntax-do-expressions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-function-bind": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", + "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", + "dev": true, + "requires": { + "babel-plugin-syntax-function-bind": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "dev": true, + "requires": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "^6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-preset-flow": "^6.23.0" + } + }, + "babel-preset-stage-0": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", + "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", + "dev": true, + "requires": { + "babel-plugin-transform-do-expressions": "^6.22.0", + "babel-plugin-transform-function-bind": "^6.22.0", + "babel-preset-stage-1": "^6.24.1" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "^6.24.1", + "babel-plugin-transform-export-extensions": "^6.22.0", + "babel-preset-stage-2": "^6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "black-hole-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/black-hole-stream/-/black-hole-stream-0.0.1.tgz", + "integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + } + }, + "byte": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/byte/-/byte-2.0.0.tgz", + "integrity": "sha512-rNiK8YxOMvquToaBubKxA10sjRIZ/taDqtc/1jLQA4X7aNDlA1XGx4Ciml3YxL8DskFz1XX3WFskSp0peKYSKg==", + "requires": { + "debug": "^3.1.0", + "long": "^4.0.0", + "utility": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "bytes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "requires": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + } + }, + "cache-require-paths": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cache-require-paths/-/cache-require-paths-0.3.0.tgz", + "integrity": "sha1-EqYHWj5JiNpMIvIY4pSFZj5MSmM=", + "dev": true + }, + "call-matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.1.0.tgz", + "integrity": "sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "call-signature": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", + "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-lite": { + "version": "1.0.30001100", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001100.tgz", + "integrity": "sha512-0eYdp1+wFCnMlCj2oudciuQn2B9xAFq3WpgpcBIZTxk/1HNA/O2YA7rpeYhnOqsqAJq1AHUgx6i1jtafg7m2zA==", + "dev": true + }, + "cfork": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/cfork/-/cfork-1.8.0.tgz", + "integrity": "sha512-DrCPQ4GWbaz4cJWRKh7YycAa0o2V1pFJyUNpCGWSzMGKlLY1+yRnnbBQzz/2BIafcu4UUDFoNIme8pF6b15fGg==", + "requires": { + "utility": "^1.12.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chan": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/chan/-/chan-0.6.1.tgz", + "integrity": "sha1-7ArRMuW8YsJ+8QzL/E2NzYygBkA=" + }, + "change-case": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz", + "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==", + "requires": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "circular-json-for-egg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/circular-json-for-egg/-/circular-json-for-egg-1.0.0.tgz", + "integrity": "sha512-BzMR1dg0+YqcFoMETHq0gFeQNNKliXI1Oe+C0nx/4npLaohsR7/Oj3UFht65MLwF7zs6x13gOr+f4+JeYni6vw==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cluster-client": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cluster-client/-/cluster-client-3.0.1.tgz", + "integrity": "sha512-j5xReT5tECbiUME8TCNDU5ise34vSqbhWMs7Ni06VDKlKvRVAlUbrgYCFQc27Bw7MF8H+QEJ/8GJtk/HGx4u6w==", + "requires": { + "byte": "^2.0.0", + "co": "^4.6.0", + "debug": "^4.1.1", + "egg-logger": "^2.3.2", + "is-type-of": "^1.2.1", + "json-stringify-safe": "^5.0.1", + "long": "^4.0.0", + "mz-modules": "^2.1.0", + "sdk-base": "^3.5.1", + "serialize-json": "^1.0.3", + "tcp-base": "^3.1.0", + "utility": "^1.15.0" + } + }, + "cluster-reload": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cluster-reload/-/cluster-reload-1.0.2.tgz", + "integrity": "sha1-NGv1hJ0Y5FkLzBsw7kcNTKvxXBA=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-body": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.0.0.tgz", + "integrity": "sha512-9ZIcixguuuKIptnY8yemEOuhb71L/lLf+Rl5JfJEUiDNJk0e02MBt7BPxR2GEh5mw8dPthQYR4jPI/BnS1MQgw==", + "requires": { + "inflation": "^2.0.0", + "qs": "^6.5.2", + "raw-body": "^2.3.3", + "type-is": "^1.6.16" + } + }, + "co-busboy": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/co-busboy/-/co-busboy-1.4.0.tgz", + "integrity": "sha512-CLUXiG53zISZQ49xAsBeGfOh/9UZ9MbmjbQv0SckKmLRZs6U4jQrTMrEA8jzL6mJxJyFhCqQL1QLZINoyB6fAg==", + "requires": { + "black-hole-stream": "~0.0.1", + "busboy": "^0.2.8", + "chan": "^0.6.1" + } + }, + "co-mocha": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/co-mocha/-/co-mocha-1.2.2.tgz", + "integrity": "sha512-ocdJRn3sxonOqpdjSU2VwTwWzjTSoatzsTqCWiC3eGvJFNs8ZNMlZwfgYolQCdfddMz4muiZl99KIV9gKoNvxg==", + "dev": true, + "requires": { + "co": "^4.0.0", + "is-generator": "^1.0.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "coffee": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/coffee/-/coffee-5.4.0.tgz", + "integrity": "sha512-YI0t6g78gf2YroH+hjees7LfiQfo7XnTwYAShp0PHp6fUgxV6wkbolIX+z1+mbNws48TfWVp59OpLeb/bWqvNw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5", + "debug": "^4.1.0", + "is-type-of": "^1.2.1" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "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==" + }, + "comment-parser": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.5.5.tgz", + "integrity": "sha512-oB3TinFT+PV3p8UwDQt71+HkG03+zwPwikDlKU6ZDmql6QX2zFlQ+G0GGSDqyJhdZi4PSlzFBm+YJ+ebOX3Vgw==", + "dev": true + }, + "common-bin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/common-bin/-/common-bin-2.9.0.tgz", + "integrity": "sha512-VYKiPMPx+hrd53QVJmwm7mpdbIHM4ZPaHXjHE34s4vfGDgAAKHr2v4PRzqM2crEA3vZO9pLSs4eJIXrYCFmKXg==", + "requires": { + "@types/dargs": "^5.1.0", + "@types/node": "^10.12.18", + "@types/yargs": "^12.0.4", + "chalk": "^2.4.1", + "change-case": "^3.0.2", + "co": "^4.6.0", + "dargs": "^6.0.0", + "debug": "^4.1.0", + "is-type-of": "^1.2.1", + "semver": "^5.5.1", + "yargs": "^12.0.2", + "yargs-parser": "^11.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.17.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.27.tgz", + "integrity": "sha512-J0oqm9ZfAXaPdwNXMMgAhylw5fhmXkToJd06vuDUSAgEDZ/n/69/69UmyBZbc+zT34UnShuDSBqvim3SPnozJg==" + } + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=", + "requires": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "dev": true + }, + "cookies": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", + "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "requires": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz", + "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=" + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + } + }, + "crequire": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/crequire/-/crequire-1.8.1.tgz", + "integrity": "sha1-rIHyBHhrXyARlOsWmM9EGxCktX0=", + "dev": true + }, + "cron-parser": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-2.15.0.tgz", + "integrity": "sha512-rMFkrQw8+oG5OuwjiXesup4KeIlEG/IU82YtG4xyAHbO5jhKmYaHPp/ZNhq9+7TjSJ65E3zV3kQPUbmXSff2/g==", + "requires": { + "is-nan": "^1.3.0", + "moment-timezone": "^0.5.31" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "csrf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz", + "integrity": "sha512-uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==", + "requires": { + "rndm": "1.2.0", + "tsscmp": "1.0.6", + "uid-safe": "2.1.5" + } + }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true + }, + "dargs": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-6.1.0.tgz", + "integrity": "sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ==" + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-user-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz", + "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=", + "requires": { + "os-name": "~1.0.3" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", + "dev": true + }, + "digest-header": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/digest-header/-/digest-header-0.0.1.tgz", + "integrity": "sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=", + "requires": { + "utility": "0.1.11" + }, + "dependencies": { + "utility": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/utility/-/utility-0.1.11.tgz", + "integrity": "sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=", + "requires": { + "address": ">=0.0.1" + } + } + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=", + "requires": { + "no-case": "^2.2.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "egg": { + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/egg/-/egg-2.27.0.tgz", + "integrity": "sha512-nLrnPjZWCUEQC1Vr2DIyoCXUeB9JrbtJaSdQ3xDlS/vj2yA2dmInmi1booiyBD6GYR0klPu+0XvGbLweKT1BxQ==", + "requires": { + "@types/accepts": "^1.3.5", + "@types/koa": "^2.0.48", + "@types/koa-router": "^7.0.40", + "accepts": "^1.3.5", + "agentkeepalive": "^4.0.2", + "cache-content-type": "^1.0.1", + "circular-json-for-egg": "^1.0.0", + "cluster-client": "^3.0.1", + "debug": "^4.1.1", + "delegates": "^1.0.0", + "egg-cluster": "^1.23.0", + "egg-cookies": "^2.3.0", + "egg-core": "^4.16.1", + "egg-development": "^2.4.2", + "egg-i18n": "^2.0.0", + "egg-jsonp": "^2.0.0", + "egg-logger": "^2.3.2", + "egg-logrotator": "^3.0.5", + "egg-multipart": "^2.4.0", + "egg-onerror": "^2.1.0", + "egg-schedule": "^3.6.0", + "egg-security": "^2.4.3", + "egg-session": "^3.1.0", + "egg-static": "^2.2.0", + "egg-view": "^2.1.2", + "egg-watcher": "^3.1.0", + "extend2": "^1.0.0", + "graceful": "^1.0.2", + "humanize-ms": "^1.2.1", + "is-type-of": "^1.2.1", + "koa-bodyparser": "^4.2.1", + "koa-is-json": "^1.0.0", + "koa-override": "^3.0.0", + "ms": "^2.1.1", + "mz": "^2.7.0", + "on-finished": "^2.3.0", + "sendmessage": "^1.1.0", + "urllib": "^2.33.0", + "utility": "^1.15.0", + "ylru": "^1.2.1" + } + }, + "egg-bin": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/egg-bin/-/egg-bin-4.15.0.tgz", + "integrity": "sha512-g+u7B1bRZpi1EMYNGN6YZlCWQsntoq05yDRLSxWNL5bC2bj7PLaPiUEnM1kS4qLJz5DJuwMGXzXJKsSvczeGYg==", + "dev": true, + "requires": { + "autod": "^3.1.0", + "chalk": "^2.4.2", + "co-mocha": "^1.2.2", + "common-bin": "^2.9.0", + "debug": "^4.1.1", + "detect-port": "^1.3.0", + "egg-ts-helper": "^1.25.2", + "egg-utils": "^2.4.1", + "espower-typescript": "9.0.1", + "globby": "^9.2.0", + "inspector-proxy": "^1.2.1", + "intelli-espower-loader": "^1.0.1", + "jest-changed-files": "^24.7.0", + "mocha": "^6.0.2", + "mz-modules": "^2.1.0", + "nyc": "^13.3.0", + "power-assert": "^1.6.1", + "semver": "^6.0.0", + "test-exclude": "^5.1.0", + "ts-node": "^7", + "ypkgfiles": "^1.6.0" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "egg-ts-helper": { + "version": "1.25.8", + "resolved": "https://registry.npmjs.org/egg-ts-helper/-/egg-ts-helper-1.25.8.tgz", + "integrity": "sha512-aRD1f4mP3ALqsqTcbET5vU1W5RCWNoGnP36QnIwW3qNb6qNRZo+czY0HjKpvOblzGKdcr+DIP0xEmp672lkJtQ==", + "dev": true, + "requires": { + "cache-require-paths": "^0.3.0", + "chalk": "^2.4.2", + "chokidar": "^2.0.1", + "commander": "^2.15.1", + "debug": "^3.1.0", + "dot-prop": "^4.2.0", + "enquirer": "^2.3.0", + "globby": "^8.0.1", + "mkdirp": "^0.5.1", + "ts-node": "^7.0.0", + "tslib": "^1.9.3", + "typescript": "^3.0.0", + "yn": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, + "mocha": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", + "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "2.2.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.4", + "ms": "2.1.1", + "node-environment-flags": "1.0.5", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "mkdirp": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "egg-ci": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/egg-ci/-/egg-ci-1.15.0.tgz", + "integrity": "sha512-YzCYZV0yVx36ClJt4a8dYf+fciR1fbtgGFPzenHFw8rNmPBFo3lK6UmjZXh3PgmZ3mqfAwbiXRkLmVjxMXDeBg==", + "dev": true, + "requires": { + "nunjucks": "^3.1.3" + } + }, + "egg-cluster": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/egg-cluster/-/egg-cluster-1.26.0.tgz", + "integrity": "sha512-+HJ2vT28HI+Dlt11/aJN2WpudvuJ/snwdsq5PAoyC61jl8SP4bhZQvAfojsEY1RVFctLq0ky4My0cujDk0SUlQ==", + "requires": { + "await-event": "^2.1.0", + "cfork": "^1.7.1", + "cluster-reload": "^1.0.2", + "co": "^4.6.0", + "debug": "^4.1.1", + "depd": "^2.0.0", + "detect-port": "^1.3.0", + "egg-logger": "^2.3.2", + "egg-utils": "^2.4.1", + "get-ready": "^2.0.1", + "graceful-process": "^1.2.0", + "is-type-of": "^1.2.1", + "mz-modules": "^2.1.0", + "ps-tree": "^1.2.0", + "semver": "^5.6.0", + "sendmessage": "^1.1.0", + "utility": "^1.15.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, + "egg-cookies": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/egg-cookies/-/egg-cookies-2.4.2.tgz", + "integrity": "sha512-NxGwoH+d62SHDfD8fOMdG2tmBwCKhHUnhUZRbMLKW7KbJx3JDxYZmGl9RkAtVJiEVwMWbEwj2WzJEgGwaQQfKQ==", + "requires": { + "debug": "^3.1.0", + "scmp": "^2.0.0", + "should-send-same-site-none": "^2.0.2", + "utility": "^1.14.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "egg-core": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/egg-core/-/egg-core-4.17.4.tgz", + "integrity": "sha512-cqgOhkwbk2VRv0ceifVoJS+CR/1PqHwqgl4EwSzpHSknPqV9sXO2+fJ1t7somFE7G2hFHamPQTdrzPW2cyxVSg==", + "requires": { + "@eggjs/router": "^2.0.0", + "@types/depd": "^1.1.32", + "@types/koa": "^2.0.48", + "co": "^4.6.0", + "debug": "^4.1.1", + "depd": "^2.0.0", + "egg-logger": "^2.4.1", + "egg-path-matching": "^1.0.1", + "extend2": "^1.0.0", + "get-ready": "^2.0.1", + "globby": "^8.0.2", + "is-type-of": "^1.2.1", + "koa": "^2.7.0", + "koa-convert": "^1.2.0", + "node-homedir": "^1.1.1", + "ready-callback": "^2.1.0", + "utility": "^1.16.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, + "egg-development": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/egg-development/-/egg-development-2.5.0.tgz", + "integrity": "sha512-I/QG8+b55io06c2DLhywVa329ZXY0dCFtxmsvDvRVPbH4qIfDkxzdl1mI8h/zIi9tN9Y//3LJQBRnDoZCF3BIw==", + "requires": { + "debounce": "^1.1.0", + "multimatch": "^2.1.0", + "mz": "^2.7.0", + "mz-modules": "^2.1.0", + "utility": "^1.13.1" + } + }, + "egg-i18n": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/egg-i18n/-/egg-i18n-2.1.1.tgz", + "integrity": "sha512-rpKP2nrUzeTOkjQObvlrLbb/BZAMtP7zeoGggwJLN9+zKbFKVkeF6Q0BrpuucDSekD+2oHQz7fC3w/5eQY1g8w==", + "requires": { + "debug": "^3.1.0", + "koa-locales": "^1.11.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "egg-jsonp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/egg-jsonp/-/egg-jsonp-2.0.0.tgz", + "integrity": "sha512-dno7BXAvSFO0WTb3GJD0aci9MFlaQhdgvEznwARam75GGJdLpg1K0XQq88/dEvYWHxEHa+iGIOXcNx5NOyyUHw==", + "requires": { + "is-type-of": "^1.2.0", + "jsonp-body": "^1.0.0" + } + }, + "egg-logger": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/egg-logger/-/egg-logger-2.4.2.tgz", + "integrity": "sha512-HsZjAqafizTVujCkaBulT9b6Nrc5S97BvH30iXeFJz9eL2pHQpzsMCw5s1k5e1RxrvhidtNUX+avJmmfRpXnTQ==", + "requires": { + "chalk": "^2.4.1", + "circular-json-for-egg": "^1.0.0", + "debug": "^2.6.9", + "depd": "^2.0.0", + "iconv-lite": "^0.4.24", + "mkdirp": "^0.5.1", + "utility": "^1.15.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "egg-logrotator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/egg-logrotator/-/egg-logrotator-3.1.0.tgz", + "integrity": "sha512-3kUmUO9UxFiiN4lSvRqzu44UjfTHYD3wqBKsQU7e5PtjSwdQTkbjSp4YvGcbaTlQp0Yp3i/aEc/rBcYH/e/gjw==", + "requires": { + "debug": "^4.1.1", + "moment": "^2.24.0", + "mz": "^2.7.0" + } + }, + "egg-mock": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/egg-mock/-/egg-mock-3.25.1.tgz", + "integrity": "sha512-2euNxl9sQhdk7SWix2/yw/EWVqYLB1n4V1L9fOmqr0LViBZLeb/wrzXSAd6JJG0qj8ki5FHwxTzSTWxOtGUOfg==", + "dev": true, + "requires": { + "@types/power-assert": "^1.5.0", + "@types/supertest": "^2.0.7", + "await-event": "^2.1.0", + "co": "^4.6.0", + "coffee": "^5.2.1", + "debug": "^4.1.1", + "detect-port": "^1.3.0", + "egg-logger": "^2.4.1", + "egg-utils": "^2.4.1", + "extend2": "^1.0.0", + "get-ready": "^2.0.1", + "globby": "^9.2.0", + "is-type-of": "^1.2.1", + "ko-sleep": "^1.0.3", + "merge-descriptors": "^1.0.1", + "methods": "^1.1.2", + "mm": "^2.5.0", + "mz-modules": "^2.1.0", + "power-assert": "^1.6.1", + "supertest": "^4.0.2", + "urllib": "^2.33.3" + }, + "dependencies": { + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, + "egg-multipart": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/egg-multipart/-/egg-multipart-2.10.3.tgz", + "integrity": "sha512-+Ce2RE7YzdUv6G2+u8ke+ZMkyqSfIC3g2lKhSA1zKVetcRJ8GNfxPCoSuEFJMoUePdsJofasnp0EvWYstTpVbw==", + "requires": { + "co-busboy": "^1.4.0", + "egg-path-matching": "^1.0.1", + "humanize-bytes": "^1.0.1", + "moment": "^2.22.2", + "mz": "^2.7.0", + "mz-modules": "^2.1.0", + "stream-wormhole": "^1.1.0", + "uuid": "^3.3.2" + } + }, + "egg-onerror": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/egg-onerror/-/egg-onerror-2.1.0.tgz", + "integrity": "sha512-ujsqFfcXjWZPiYbZAz4bfaCribV6V3DkltYUvwiTV7Qi4g16w6+L9eMHk/eHq8+3Frlis8WT6CcJL0zKUDmLUQ==", + "requires": { + "cookie": "^0.3.1", + "koa-onerror": "^4.0.0", + "mustache": "^2.3.0", + "stack-trace": "^0.0.10" + } + }, + "egg-path-matching": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/egg-path-matching/-/egg-path-matching-1.0.1.tgz", + "integrity": "sha512-XhwWldfhbjKvdDE9kUA6ywxgcxcLFHNaNKP1VZAE9oYTcKGB+piEn99R18zZWvBbk7eXXKHcxT1PQYpqu9GR7A==", + "requires": { + "path-to-regexp": "^1.7.0" + } + }, + "egg-schedule": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/egg-schedule/-/egg-schedule-3.6.4.tgz", + "integrity": "sha512-s/HYQbAmmUzTwLd8RRDEBsJKteyh/KLl8834sB9Z3Beo6fDHHqNiXPcr9/zGzwOksbRG9gnSHgK4RtdXIvANkQ==", + "requires": { + "cron-parser": "^2.4.4", + "humanize-ms": "^1.2.1", + "is-type-of": "^1.2.0", + "safe-timers": "^1.1.0", + "utility": "^1.13.1" + } + }, + "egg-scripts": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/egg-scripts/-/egg-scripts-2.13.0.tgz", + "integrity": "sha512-oxFjb2V9G5EVIFWPK3EkQoAHV+eMDbBGi1FnOH32MkGP+IRe/Y/Nnj4jbuxzJzpwsLLYvtNEk3FRpokEOC3V3A==", + "requires": { + "await-event": "^2.1.0", + "common-bin": "^2.8.0", + "debug": "^4.1.0", + "egg-utils": "^2.4.1", + "moment": "^2.23.0", + "mz": "^2.7.0", + "mz-modules": "^2.1.0", + "node-homedir": "^1.1.1", + "runscript": "^1.3.0", + "source-map-support": "^0.5.9", + "zlogger": "^1.1.0" + } + }, + "egg-security": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/egg-security/-/egg-security-2.8.0.tgz", + "integrity": "sha512-Qv+wwHy8C0x2IQzTUBzef+/G3fe5lkrOAKdAilDMbG5UADg+y9wGdJL7Nl3V23xB3lb3yQzJ//7mxngEWeQYJw==", + "requires": { + "csrf": "^3.0.6", + "debug": "^4.1.1", + "delegates": "^1.0.0", + "egg-path-matching": "^1.0.0", + "escape-html": "^1.0.3", + "extend": "^3.0.1", + "ip": "^1.1.5", + "koa-compose": "^4.0.0", + "matcher": "^1.1.1", + "methods": "^1.1.2", + "nanoid": "^2.0.1", + "platform": "^1.3.4", + "statuses": "^1.5.0", + "type-is": "^1.6.15", + "xss": "^1.0.3" + }, + "dependencies": { + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" + } + } + }, + "egg-session": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/egg-session/-/egg-session-3.2.0.tgz", + "integrity": "sha512-YzwqYJoDZLzsMuev+yYPgpeQh2BSNImJtsoJ3W5IcvB0RU1Cmy3I805KMUY+Hsv3jc17AqyCFPUQIBLIO1WEYg==", + "requires": { + "koa-session": "^6.0.0" + } + }, + "egg-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/egg-static/-/egg-static-2.2.0.tgz", + "integrity": "sha512-9Qzllp78ILUfnsnNIQD74xBzsmp5dF/iLMv/qKGPXRK8YefjzCn0UzKDhjSuw7BOH3or3VmEgI4U5zThPnuNUQ==", + "requires": { + "is-type-of": "^1.2.1", + "koa-compose": "^4.1.0", + "koa-range": "^0.3.0", + "koa-static-cache": "^5.1.2", + "mkdirp": "^0.5.1", + "ylru": "^1.2.1" + }, + "dependencies": { + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" + } + } + }, + "egg-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/egg-utils/-/egg-utils-2.4.1.tgz", + "integrity": "sha512-M7KIuzZdlN7AsL2mFvx0jpyEGcKTeQ5j+YT3eAhJOpBvBH9f4by2nKnb30huTRZIeJpjXWPdEzjGck/uj2N0jw==", + "requires": { + "mkdirp": "^0.5.1", + "utility": "^1.13.1" + } + }, + "egg-validate": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/egg-validate/-/egg-validate-2.0.2.tgz", + "integrity": "sha512-pUTfMTHQSpzDKAWkH19ZpyQBK22UToAwNWIgW1eXCAMpz+qvULuI5ey7dgqGQ/ZNwV2w/Stg96BrzW5uigCuVg==", + "requires": { + "parameter": "^3.0.0" + } + }, + "egg-view": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/egg-view/-/egg-view-2.1.2.tgz", + "integrity": "sha512-C/EpRwjcstv/qaOJtpphNKeCgjd7AbHayqirY65eICG+0EaH4EiFUoh4b1WhIBiYNJHoV/DkkAW78Uiyr+XkEA==", + "requires": { + "mz": "^2.7.0" + } + }, + "egg-watcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/egg-watcher/-/egg-watcher-3.1.1.tgz", + "integrity": "sha512-fLo8f2GD9kSrAKeDoXaCckl9MaMMwTEkqU9gVDYWYGPYLsmX79ugA+Wo/2RGQkytsxSCk3bn8YqhPdMzsozgWA==", + "requires": { + "camelcase": "^5.0.0", + "sdk-base": "^3.5.0", + "wt": "^1.2.0" + } + }, + "electron-to-chromium": { + "version": "1.3.498", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.498.tgz", + "integrity": "sha512-W1hGwaQEU8j9su2jeAr3aabkPuuXw+j8t73eajGAkEJWbfWiwbxBwQN/8Qmv2qCy3uCDm2rOAaZneYQM8VGC4w==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "empower": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.1.tgz", + "integrity": "sha512-uB6/ViBaawOO/uujFADTK3SqdYlxYNn+N4usK9MRKZ4Hbn/1QSy8k2PezxCA2/+JGbF8vd/eOfghZ90oOSDZCA==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "empower-core": "^1.2.0" + } + }, + "empower-assert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/empower-assert/-/empower-assert-1.1.0.tgz", + "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", + "dev": true, + "requires": { + "estraverse": "^4.2.0" + } + }, + "empower-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", + "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", + "dev": true, + "requires": { + "call-signature": "0.0.2", + "core-js": "^2.0.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escallmatch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/escallmatch/-/escallmatch-1.5.0.tgz", + "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", + "dev": true, + "requires": { + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + } + } + }, + "eslint-config-egg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-egg/-/eslint-config-egg-8.0.1.tgz", + "integrity": "sha512-YArVIQdfbC78mTQtdKU3v7xrLqcKcrM0wA6H6QU5OGNFKuj+mZYwePeiXcS0QWV3eQtAEStXglEUK8DUtXeang==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", + "babel-eslint": "^8.2.6", + "eslint-plugin-eggache": "^1.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-jsdoc": "^4.1.1", + "eslint-plugin-jsx-a11y": "^6.1.1", + "eslint-plugin-react": "^7.11.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-eggache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eggache/-/eslint-plugin-eggache-1.0.0.tgz", + "integrity": "sha512-LPTrTvITFDZggiXAIdMPL4bJo0wvXUgJqC3f6UIskJxzHZze2aBTvjWQJ7TgEbkfpk++KWhcOl+lels+qAPKDg==", + "dev": true + }, + "eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", + "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + } + } + }, + "eslint-plugin-jsdoc": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-4.8.4.tgz", + "integrity": "sha512-VDP+BI2hWpKNNdsJDSPofSQ9q7jGLgWbDMI0LzOeEcfsTjSS7jQtHDUuVLQ5E+OV2MPyQPk/3lnVcHfStXk5yA==", + "dev": true, + "requires": { + "comment-parser": "^0.5.4", + "jsdoctypeparser": "3.1.0", + "lodash": "^4.17.11" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", + "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^3.5.4", + "axobject-query": "^2.1.2", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "language-tags": "^1.0.5" + }, + "dependencies": { + "emoji-regex": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", + "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==", + "dev": true + } + } + }, + "eslint-plugin-react": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.3.tgz", + "integrity": "sha512-txbo090buDeyV0ugF3YMWrzLIUqpYTsWSDZV9xLSmExE1P/Kmgg9++PD931r+KEWS66O1c9R4srLVVHmeHpoAg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.17.0", + "string.prototype.matchall": "^4.0.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espower": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.2.tgz", + "integrity": "sha512-2qa3aEFtcgPB782jTKDPu82hOdw8+zJsWdOn12Tey8XlexHTqsYUIdLC2B7cUECENXly0vZblH1CEZcqttPNjw==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0" + } + }, + "espower-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/espower-loader/-/espower-loader-1.2.2.tgz", + "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", + "dev": true, + "requires": { + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "espower-location-detector": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", + "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", + "dev": true, + "requires": { + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" + } + }, + "espower-source": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.3.0.tgz", + "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "espower-typescript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/espower-typescript/-/espower-typescript-9.0.1.tgz", + "integrity": "sha512-WmEm8Hs0SX06izEdi4Qlu3GPOgshejXXA22OA5i+9oN0yC9pWLxlomyPkNkksAQl+ZV5dOGyTdC4gBAEfwqBww==", + "dev": true, + "requires": { + "espower-source": "^2.3.0", + "minimatch": "^3.0.3", + "source-map-support": "^0.5.9", + "ts-node": "^7.0.1" + } + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + } + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "espurify": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", + "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", + "dev": true, + "requires": { + "core-js": "^2.0.0" + } + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extend2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extend2/-/extend2-1.0.0.tgz", + "integrity": "sha1-BCWpibTawqSGoyJX9RQBA3Vqejw=" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "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 + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", + "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==", + "dev": true + }, + "formstream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/formstream/-/formstream-1.1.0.tgz", + "integrity": "sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk=", + "requires": { + "destroy": "^1.0.4", + "mime": "^1.3.4", + "pause-stream": "~0.0.11" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-ready": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-ready/-/get-ready-2.0.1.tgz", + "integrity": "sha1-pIxBh1PjnPTQHzpCDPG3V93MZI8=", + "requires": { + "is-type-of": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-uri": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", + "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "graceful": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/graceful/-/graceful-1.0.2.tgz", + "integrity": "sha512-oRX5662cb/o89rj6R591DS7CGYB9A3vZKDI5ycmO0o6Ub56yM31LySCzIx8N1GHMcMq9J7JqaMLK5U7EIUWB6Q==", + "requires": { + "humanize-ms": "^1.2.1", + "ps-tree": "^1.1.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "graceful-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/graceful-process/-/graceful-process-1.2.0.tgz", + "integrity": "sha512-sH5WMY74gxObrKf+5SaqyI1sYv4AF1W5odeW+rA+kHuvKEiqaRgVIUKV2O/CT1NQr6zIhgbtEGOgJORjEHEcdw==", + "requires": { + "is-type-of": "^1.2.0", + "once": "^1.4.0" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "header-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "http-assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", + "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", + "requires": { + "deep-equal": "~1.0.1", + "http-errors": "~1.7.2" + }, + "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + } + } + }, + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "humanize-bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-bytes/-/humanize-bytes-1.0.1.tgz", + "integrity": "sha1-IfV8oxjSEaAG3JeYpGWE+vLZfpw=", + "requires": { + "bytes": "~2.2.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflation": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz", + "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=" + }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inquirer": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.2.tgz", + "integrity": "sha512-DF4osh1FM6l0RJc5YWYhSDB6TawiBRlbV9Cox8MWlidU218Tb7fm3lQTULyUJDfJ0tjbzl0W4q651mrCCEM55w==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.16", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "inspector-proxy": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/inspector-proxy/-/inspector-proxy-1.2.1.tgz", + "integrity": "sha512-/4X2XWYM2huvpQzSMuM3SLykvhpsS7LOnV5wKPNaOdXUBi6Vg1Aor5M4BBLnQ1Q7OdrgbbiQ3Ld8N3OFeW7voQ==", + "dev": true, + "requires": { + "cfork": "^1.6.1", + "debug": "^3.0.1", + "tcp-proxy.js": "^1.0.5", + "urllib": "^2.24.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "intelli-espower-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/intelli-espower-loader/-/intelli-espower-loader-1.0.1.tgz", + "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", + "dev": true, + "requires": { + "espower-loader": "^1.0.0" + } + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-class-hotfix": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz", + "integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-generator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", + "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=", + "dev": true + }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-nan": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz", + "integrity": "sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-type-of": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-type-of/-/is-type-of-1.2.1.tgz", + "integrity": "sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA==", + "requires": { + "core-util-is": "^1.0.2", + "is-class-hotfix": "~0.0.6", + "isstream": "~0.1.2" + } + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "requires": { + "upper-case": "^1.1.0" + } + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, + "jsdoctypeparser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-3.1.0.tgz", + "integrity": "sha512-JNbkKpDFqbYjg+IU3FNo7qjX7Opy7CwjHywT32zgAcz/d4lX6Umn5jOHVETUdnNNgGrMk0nEx1gvP0F4M0hzlQ==", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "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 + }, + "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 + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonp-body": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jsonp-body/-/jsonp-body-1.0.0.tgz", + "integrity": "sha1-5hD7b86nnPDMnye6p7Vjd9SwuzY=" + }, + "jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "requires": { + "tsscmp": "1.0.6" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "ko-sleep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ko-sleep/-/ko-sleep-1.0.3.tgz", + "integrity": "sha1-KKKgoUhei39BX/SI3uF9JHiKsII=", + "requires": { + "ms": "^2.0.0" + } + }, + "koa": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz", + "integrity": "sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==", + "requires": { + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.8.0", + "debug": "~3.1.0", + "delegates": "^1.0.0", + "depd": "^1.1.2", + "destroy": "^1.0.4", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^1.2.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "koa-bodyparser": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz", + "integrity": "sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==", + "requires": { + "co-body": "^6.0.0", + "copy-to": "^2.0.1" + } + }, + "koa-compose": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", + "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", + "requires": { + "any-promise": "^1.1.0" + } + }, + "koa-convert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", + "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", + "requires": { + "co": "^4.6.0", + "koa-compose": "^3.0.0" + } + }, + "koa-is-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", + "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=" + }, + "koa-locales": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/koa-locales/-/koa-locales-1.12.0.tgz", + "integrity": "sha512-lalx0OuvdZ39JppTVqHnYKIgJJbByon9xpt5KSKFOL6/VQS+XBMklMX83+fgkCXzsNacynWaN75ihWP2EGsWIQ==", + "requires": { + "debug": "^2.6.0", + "humanize-ms": "^1.2.0", + "ini": "^1.3.4", + "object-assign": "^4.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "koa-onerror": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-onerror/-/koa-onerror-4.1.0.tgz", + "integrity": "sha512-UDvOkkXiyVtlhRIvo9wbqKG/pTiiVE5x2uIFpG5e6OmBawxBSURG/PeFa6e6UZjjxinXde3BmPWVSIVePMG6TA==", + "requires": { + "escape-html": "^1.0.3", + "stream-wormhole": "^1.1.0" + } + }, + "koa-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/koa-override/-/koa-override-3.0.0.tgz", + "integrity": "sha512-w2rWCfapbQUZ8TrRBarj6iwryCTooEcdw9lr1hYC1q4FnaCZcAOhpjB1VpqtbODALVMgY3JGlzLSeYRXc5Ky0Q==", + "requires": { + "methods": "^1.1.2" + } + }, + "koa-range": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/koa-range/-/koa-range-0.3.0.tgz", + "integrity": "sha1-NYjjSWRzqDmhvSZNKkKx2FvX/qw=", + "requires": { + "stream-slice": "^0.1.2" + } + }, + "koa-session": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/koa-session/-/koa-session-6.0.0.tgz", + "integrity": "sha512-mEj2ximzLqoypk0Q+/JLu0j7fuMk/fL+yiBM0RKmxBqdImKxq3hfnpHLwpMhwya05z/W8i7vawpFl+lsYTZbAg==", + "requires": { + "crc": "^3.4.4", + "debug": "^3.1.0", + "is-type-of": "^1.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "koa-static-cache": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/koa-static-cache/-/koa-static-cache-5.1.3.tgz", + "integrity": "sha512-nq58/gZUSQ31OUWTEG0pLRqs6dlbRt7vSAdFc7G912urrYxj+qNOl/QfarK5y/CarmXk8R8LzZKwXusRRuSG/Q==", + "requires": { + "compressible": "^2.0.6", + "debug": "^3.1.0", + "fs-readdir-recursive": "^1.0.0", + "mime-types": "^2.1.8", + "mz": "^2.7.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "language-subtag-registry": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", + "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", + "requires": { + "lower-case": "^1.1.2" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "matcher": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", + "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", + "requires": { + "escape-string-regexp": "^1.0.4" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-estraverse-visitors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-estraverse-visitors/-/merge-estraverse-visitors-1.0.0.tgz", + "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mm": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mm/-/mm-2.5.0.tgz", + "integrity": "sha512-ilm+lGEBNm7Cw45um9ax0tbApiNwQV3PY6Yk1ol+wtA8c98hHuJqTgmdKB6rYQJTUC2QrhBfoWwN+/766ZlrYA==", + "dev": true, + "requires": { + "is-type-of": "^1.0.0", + "ko-sleep": "^1.0.2", + "muk-prop": "^1.0.0", + "thenify": "^3.2.1" + } + }, + "moment": { + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", + "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==" + }, + "moment-timezone": { + "version": "0.5.31", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz", + "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "muk-prop": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/muk-prop/-/muk-prop-1.2.1.tgz", + "integrity": "sha512-NdkOVav3GoIkBZqMUneU435HW0a90zitpuO1erPRhOQdPtl65dXD3G9/1k46G6/0ZMau4CJFFUHkMKVsyNZT+w==", + "dev": true + }, + "multi-stage-sourcemap": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", + "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", + "dev": true, + "requires": { + "source-map": "^0.1.34" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "requires": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + } + }, + "mustache": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", + "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "mz-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mz-modules/-/mz-modules-2.1.0.tgz", + "integrity": "sha512-sjk8lcRW3vrVYnZ+W+67L/2rL+jbO5K/N6PFGIcLWTiYytNr22Ah9FDXFs+AQntTM1boZcoHi5qS+CV1seuPog==", + "requires": { + "glob": "^7.1.2", + "ko-sleep": "^1.0.3", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "rimraf": "^2.6.1" + } + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ndir": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/ndir/-/ndir-0.1.5.tgz", + "integrity": "sha1-EgiR12l7u+ghTP7/CWAgYNNFRVg=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-environment-flags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node-homedir": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/node-homedir/-/node-homedir-1.1.1.tgz", + "integrity": "sha512-Xsmf94D/DdeDISAECUaxXVxhh+kHdbOQE4CnP4igo3HXL3BSmmUpD5M7orH434EZZwBTFF2xe5SgsQr/wOBuNw==" + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nunjucks": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.1.tgz", + "integrity": "sha512-LYlVuC1ZNSalQQkLNNPvcgPt2M9FTY9bs39mTCuFXtqh7jWbYzhDlmz2M6onPiXEhdZo+b9anRhc+uBGuJZ2bQ==", + "dev": true, + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "chokidar": "^3.3.0", + "commander": "^3.0.2" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", + "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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, + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "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, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "nyc": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-13.3.0.tgz", + "integrity": "sha512-P+FwIuro2aFG6B0Esd9ZDWUd51uZrAEoGutqZxzrVmYl3qSfkLgcQpBPBjtDFsUQLFY1dvTQJPOyeqr8S9GF8w==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^3.0.1", + "convert-source-map": "^1.6.0", + "find-cache-dir": "^2.0.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.3", + "istanbul-lib-hook": "^2.0.3", + "istanbul-lib-instrument": "^3.1.0", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.2", + "istanbul-reports": "^2.1.1", + "make-dir": "^1.3.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.1.0", + "uuid": "^3.3.2", + "yargs": "^12.0.5", + "yargs-parser": "^11.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "^2.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "caching-transform": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "hasha": "^3.0.0", + "make-dir": "^1.3.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "camelcase": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commander": { + "version": "2.17.1", + "bundled": true, + "dev": true, + "optional": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "^3.0.0" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-error": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "execa": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "bundled": true, + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "find-cache-dir": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "hasha": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-stream": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invert-kv": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "^1.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "supports-color": "^6.0.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "rimraf": "^2.6.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "^4.1.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "lcid": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "bundled": true, + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "mem": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.10", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-is-promise": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "package-hash": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "release-zalgo": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve": { + "version": "1.10.0", + "bundled": true, + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "spdx-correct": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.3", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "arrify": "^1.0.1", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^1.0.1" + } + }, + "uglify-js": { + "version": "3.4.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "uuid": { + "version": "3.3.2", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "2.4.2", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "12.0.5", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz", + "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", + "requires": { + "osx-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osx-release": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz", + "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", + "requires": { + "minimist": "^1.1.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pac-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", + "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^4.1.1", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parameter": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/parameter/-/parameter-3.6.0.tgz", + "integrity": "sha512-KtXBPFX92SNh6E3dTRJ8fT0Dw23XPyAmp3YGZwhupRUsxl0EbtV1StuWSt76MsQdh6r4azZogsc+QTxYLBDziQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", + "requires": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=", + "requires": { + "no-case": "^2.2.0" + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } + } + }, + "platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "power-assert": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.1.tgz", + "integrity": "sha512-VWkkZV6Y+W8qLX/PtJu2Ur2jDPIs0a5vbP0TpKeybNcIXmT4vcKoVkyTp5lnQvTpY/DxacAZ4RZisHRHLJcAZQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "empower": "^1.3.1", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" + } + }, + "power-assert-context-formatter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", + "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" + } + }, + "power-assert-context-reducer-ast": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", + "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" + } + }, + "power-assert-context-traversal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", + "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "estraverse": "^4.1.0" + } + }, + "power-assert-formatter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", + "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" + } + }, + "power-assert-renderer-assertion": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", + "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", + "dev": true, + "requires": { + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" + } + }, + "power-assert-renderer-base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", + "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=", + "dev": true + }, + "power-assert-renderer-comparison": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", + "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" + } + }, + "power-assert-renderer-diagram": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", + "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" + } + }, + "power-assert-renderer-file": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", + "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", + "dev": true, + "requires": { + "power-assert-renderer-base": "^1.1.1" + } + }, + "power-assert-util-string-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", + "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "printable": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/printable/-/printable-0.0.3.tgz", + "integrity": "sha1-9lPLObIUt4BJrhQD4vsF10ptUOA=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "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==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proxy-agent": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", + "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "requires": { + "agent-base": "^4.2.0", + "debug": "4", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^3.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "requires": { + "event-stream": "=3.3.4" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + } + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ready-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ready-callback/-/ready-callback-2.1.0.tgz", + "integrity": "sha512-pyoQjeks8RvkzHbdDgSS1Faw+3xByvnWxccsIiBLOtFX+sp6pkpdSuIZJzfIgpzpOSOdVFVxrFEL+VcNL3+bBQ==", + "requires": { + "debug": "^2.6.0", + "get-ready": "^2.0.0", + "once": "^1.4.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-files": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/resolve-files/-/resolve-files-1.0.2.tgz", + "integrity": "sha1-WnIRi5L6c5T/LYYF0fw3Ppw+kO8=", + "dev": true, + "requires": { + "crequire": "^1.8.0", + "debug": "^2.6.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "rndm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", + "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "runscript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/runscript/-/runscript-1.5.0.tgz", + "integrity": "sha512-o9MaYVXr9ZNwOj+KO4jWWkC8qvTvsu6RfZLgF2h1UZjD2cenwEjoMMnCcILXZ0nu/RrSShc0OYgm1xl8iXEjJA==", + "requires": { + "debug": "^2.6.8", + "is-type-of": "^1.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "rxjs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safe-timers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-timers/-/safe-timers-1.1.0.tgz", + "integrity": "sha1-xYroMl2407BnMi8KTvOgytZ6rYM=" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" + }, + "sdk-base": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/sdk-base/-/sdk-base-3.6.0.tgz", + "integrity": "sha512-jxHUIrRLlAoRFRwiXKhOGjd6BeFWO/jz7tv+E7lbMSef6F9jzFN2Sv3hLW58oDDKscKaBGG6vQdkbXn7isE7fw==", + "requires": { + "await-event": "^2.1.0", + "await-first": "^1.0.0", + "co": "^4.6.0", + "is-type-of": "^1.2.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "sendmessage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/sendmessage/-/sendmessage-1.1.0.tgz", + "integrity": "sha1-EKJFzuLVDHWfHgmiNHe5FJbQnjU=" + }, + "sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=", + "requires": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, + "serialize-json": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/serialize-json/-/serialize-json-1.0.3.tgz", + "integrity": "sha512-TJvXOXSUEH4Lh2FNy1mYzNkUyBG7Ti5fRKGAbcpaDX3mLq23aT/5unC+cIFc5JTDi4/BHTaYLhynrboCCYrFaQ==", + "requires": { + "debug": "^3.2.6", + "is-type-of": "^1.2.1", + "utility": "^1.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "should-send-same-site-none": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/should-send-same-site-none/-/should-send-same-site-none-2.0.5.tgz", + "integrity": "sha512-7dig49H7sKnv1v/GPoFQChGgJdEX9s2oy9TQBSD5RbUx7M9CCRjHMaFP06v+DZQNM0K+o8dBhvBAd4eEKirqbQ==" + }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=", + "requires": { + "no-case": "^2.2.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socks": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "requires": { + "duplexer": "~0.1.1" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha1-LcT04bk2+xPz6zmi3vGTJ5jQeks=" + }, + "stream-wormhole": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stream-wormhole/-/stream-wormhole-1.1.0.tgz", + "integrity": "sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew==" + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringifier": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.4.0.tgz", + "integrity": "sha512-cNsMOqqrcbLcHTXEVmkw9y0fwDwkdgtZwlfyolzpQDoAE1xdNGhQhxBUfiDvvZIKl1hnUEgMv66nHwtMz3OjPw==", + "dev": true, + "requires": { + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "dev": true, + "requires": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "supertest": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-4.0.2.tgz", + "integrity": "sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==", + "dev": true, + "requires": { + "methods": "^1.1.2", + "superagent": "^3.8.3" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tcp-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tcp-base/-/tcp-base-3.1.0.tgz", + "integrity": "sha512-5iTlUaVmeZBzyq9cSVjB4mzKtvBP2wpkbVZoMdRhFwq35DYUBAfeTgAD31NYJSba3HVxetjuqKlAkUUHlWoShw==", + "requires": { + "is-type-of": "^1.0.0", + "sdk-base": "^3.1.1" + } + }, + "tcp-proxy.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tcp-proxy.js/-/tcp-proxy.js-1.3.0.tgz", + "integrity": "sha512-bR33J6mcAhjueCH7emiXNxvIg/fitNma6zXs195uyteQizD+omAUZFTxRVNpW2EUSV3I+IbHoKJiHViq/ugR4A==", + "dev": true, + "requires": { + "debug": "^3.0.1", + "through2": "^2.0.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "dependencies": { + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "dependencies": { + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + } + } + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=", + "dev": true + }, + "typescript": { + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz", + "integrity": "sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==", + "dev": true + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "unescape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz", + "integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==", + "requires": { + "extend-shallow": "^2.0.1" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universal-deep-strict-equal": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", + "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", + "dev": true, + "requires": { + "array-filter": "^1.0.0", + "indexof": "0.0.1", + "object-keys": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urijs": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz", + "integrity": "sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "urllib": { + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/urllib/-/urllib-2.36.1.tgz", + "integrity": "sha512-g0Gh7bH5AwfPUzFetxPtJwumGHE6D7KQn0K68MwcJXPgO2K0AliwEIxLAwGMF+TpY75DYAsvz1h9ekagYoq33w==", + "requires": { + "any-promise": "^1.3.0", + "content-type": "^1.0.2", + "debug": "^2.6.9", + "default-user-agent": "^1.0.0", + "digest-header": "^0.0.1", + "ee-first": "~1.1.1", + "formstream": "^1.1.0", + "humanize-ms": "^1.2.0", + "iconv-lite": "^0.4.15", + "ip": "^1.1.5", + "proxy-agent": "^3.1.0", + "pump": "^3.0.0", + "qs": "^6.4.0", + "statuses": "^1.3.1", + "utility": "^1.16.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utility": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/utility/-/utility-1.16.3.tgz", + "integrity": "sha512-kYghm8fknkPkUd9ncODj/b2Zojc23gnRC29QmpmL3BBsSX6W++RNRTQ1tB7l0UA7d4SisIjUyvRfVET3lBwurw==", + "requires": { + "copy-to": "^2.0.1", + "escape-html": "^1.0.3", + "mkdirp": "^0.5.1", + "mz": "^2.7.0", + "unescape": "^1.0.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "win-release": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "requires": { + "semver": "^5.0.1" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "wt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/wt/-/wt-1.2.0.tgz", + "integrity": "sha512-nJttxFyxnIvWBWYcy7Px4XkXbRoEe77by66d0FDof266Mv00vVBNcUGa00rL1+0DdsXG75LG1rwBnBfUa2bNLA==", + "requires": { + "debug": "^2.2.0", + "ndir": "^0.1.5", + "sdk-base": "^2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "get-ready": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-ready/-/get-ready-1.0.0.tgz", + "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "sdk-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sdk-base/-/sdk-base-2.0.1.tgz", + "integrity": "sha1-ukAonovfJy7RHdnql+r5jgNtJMY=", + "requires": { + "get-ready": "~1.0.0" + } + } + } + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "xss": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.7.tgz", + "integrity": "sha512-A9v7tblGvxu8TWXQC9rlpW96a+LN1lyw6wyhpTmmGW+FwRMactchBR3ROKSi33UPCUcUHSu8s9YP6F+K3Mw//w==", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "ylru": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", + "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "ypkgfiles": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ypkgfiles/-/ypkgfiles-1.6.0.tgz", + "integrity": "sha512-q8vgLzZy5CO1LUBFPWOkYpqCkAEaWdXTAAIfLREB72vxnXd+vUZvU3Qxb694TyPc56zA3t8fZIcBNj8fWtSR2A==", + "dev": true, + "requires": { + "debug": "^2.6.1", + "glob": "^7.1.1", + "is-type-of": "^1.0.0", + "resolve-files": "^1.0.0", + "yargs": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", + "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "5.0.0-security.0" + } + }, + "yargs-parser": { + "version": "5.0.0-security.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", + "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } + }, + "zlogger": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/zlogger/-/zlogger-1.1.0.tgz", + "integrity": "sha1-vA1KGlDYi04CdjYGDHojaCdUdE4=", + "requires": { + "pumpify": "^1.3.5", + "split2": "^2.1.0", + "through2": "^2.0.1" + } + } + } +} diff --git a/17-nodejs/02-egg/package.json b/17-nodejs/02-egg/package.json new file mode 100644 index 000000000..26c7db897 --- /dev/null +++ b/17-nodejs/02-egg/package.json @@ -0,0 +1,58 @@ +{ + "name": "demo", + "version": "1.0.0", + "description": "", + "private": true, + "egg": { + "typescript": true, + "declarations": true + }, + "scripts": { + "start": "egg-scripts start --daemon --title=egg-server-demo", + "stop": "egg-scripts stop --title=egg-server-demo", + "dev": "egg-bin dev", + "debug": "egg-bin debug", + "test-local": "egg-bin test", + "test": "npm run lint -- --fix && npm run test-local", + "cov": "egg-bin cov", + "tsc": "ets && tsc -p tsconfig.json", + "ci": "npm run lint && npm run cov && npm run tsc", + "autod": "autod", + "lint": "eslint . --ext .ts", + "clean": "ets clean" + }, + "dependencies": { + "egg": "^2.6.1", + "egg-scripts": "^2.6.0", + "egg-validate": "^2.0.2" + }, + "devDependencies": { + "@types/mocha": "^2.2.40", + "@types/node": "^7.0.12", + "@types/supertest": "^2.0.0", + "autod": "^3.0.1", + "autod-egg": "^1.1.0", + "egg-ci": "^1.8.0", + "egg-bin": "^4.11.0", + "egg-mock": "^3.16.0", + "tslib": "^1.9.0", + "eslint": "^6.7.2", + "eslint-config-egg": "^8.0.0", + "typescript": "^3.0.0" + }, + "engines": { + "node": ">=8.9.0" + }, + "ci": { + "version": "8" + }, + "repository": { + "type": "git", + "url": "" + }, + "eslintIgnore": [ + "coverage" + ], + "author": "", + "license": "MIT" +} diff --git a/17-nodejs/02-egg/test/app/controller/home.test.ts b/17-nodejs/02-egg/test/app/controller/home.test.ts new file mode 100644 index 000000000..3a854b957 --- /dev/null +++ b/17-nodejs/02-egg/test/app/controller/home.test.ts @@ -0,0 +1,9 @@ +import * as assert from 'assert'; +import { app } from 'egg-mock/bootstrap'; + +describe('test/app/controller/home.test.ts', () => { + it('should GET /', async () => { + const result = await app.httpRequest().get('/').expect(200); + assert(result.text === 'hi, egg'); + }); +}); diff --git a/17-nodejs/02-egg/test/app/service/Test.test.ts b/17-nodejs/02-egg/test/app/service/Test.test.ts new file mode 100644 index 000000000..2a2a8f381 --- /dev/null +++ b/17-nodejs/02-egg/test/app/service/Test.test.ts @@ -0,0 +1,16 @@ +import * as assert from 'assert'; +import { Context } from 'egg'; +import { app } from 'egg-mock/bootstrap'; + +describe('test/app/service/Test.test.js', () => { + let ctx: Context; + + before(async () => { + ctx = app.mockContext(); + }); + + it('sayHi', async () => { + const result = await ctx.service.test.sayHi('egg'); + assert(result === 'hi, egg'); + }); +}); diff --git a/17-nodejs/02-egg/tsconfig.json b/17-nodejs/02-egg/tsconfig.json new file mode 100644 index 000000000..b522c82ed --- /dev/null +++ b/17-nodejs/02-egg/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "target": "es2017", + "module": "commonjs", + "strict": true, + "noImplicitAny": false, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "charset": "utf8", + "allowJs": false, + "pretty": true, + "noEmitOnError": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "strictPropertyInitialization": false, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "inlineSourceMap": true, + "importHelpers": true + }, + "exclude": [ + "app/public", + "app/views", + "node_modules*" + ] +} diff --git a/17-nodejs/02-egg/typings/app/controller/index.d.ts b/17-nodejs/02-egg/typings/app/controller/index.d.ts new file mode 100644 index 000000000..42ed0f249 --- /dev/null +++ b/17-nodejs/02-egg/typings/app/controller/index.d.ts @@ -0,0 +1,13 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import ExportIndex from '../../../app/controller/index'; +import ExportTopics from '../../../app/controller/topics'; + +declare module 'egg' { + interface IController { + index: ExportIndex; + topics: ExportTopics; + } +} diff --git a/17-nodejs/02-egg/typings/app/extend/helper.d.ts b/17-nodejs/02-egg/typings/app/extend/helper.d.ts new file mode 100644 index 000000000..e5a4611a3 --- /dev/null +++ b/17-nodejs/02-egg/typings/app/extend/helper.d.ts @@ -0,0 +1,9 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import ExtendIHelper from '../../../app/extend/helper'; +type ExtendIHelperType = typeof ExtendIHelper; +declare module 'egg' { + interface IHelper extends ExtendIHelperType { } +} \ No newline at end of file diff --git a/17-nodejs/02-egg/typings/app/index.d.ts b/17-nodejs/02-egg/typings/app/index.d.ts new file mode 100644 index 000000000..7b891bb48 --- /dev/null +++ b/17-nodejs/02-egg/typings/app/index.d.ts @@ -0,0 +1,6 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +export * from 'egg'; +export as namespace Egg; diff --git a/17-nodejs/02-egg/typings/app/middleware/index.d.ts b/17-nodejs/02-egg/typings/app/middleware/index.d.ts new file mode 100644 index 000000000..cfd5025f7 --- /dev/null +++ b/17-nodejs/02-egg/typings/app/middleware/index.d.ts @@ -0,0 +1,13 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import ExportErrorHandler from '../../../app/middleware/errorHandler'; +import ExportRobot from '../../../app/middleware/robot'; + +declare module 'egg' { + interface IMiddleware { + errorHandler: typeof ExportErrorHandler; + robot: typeof ExportRobot; + } +} diff --git a/17-nodejs/02-egg/typings/app/service/index.d.ts b/17-nodejs/02-egg/typings/app/service/index.d.ts new file mode 100644 index 000000000..175acd811 --- /dev/null +++ b/17-nodejs/02-egg/typings/app/service/index.d.ts @@ -0,0 +1,17 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +type AnyClass = new (...args: any[]) => any; +type AnyFunc = (...args: any[]) => T; +type CanExportFunc = AnyFunc> | AnyFunc>; +type AutoInstanceType : T> = U extends AnyClass ? InstanceType : U; +import ExportTest from '../../../app/service/Test'; +import ExportTopics from '../../../app/service/topics'; + +declare module 'egg' { + interface IService { + test: AutoInstanceType; + topics: AutoInstanceType; + } +} diff --git a/17-nodejs/02-egg/typings/config/index.d.ts b/17-nodejs/02-egg/typings/config/index.d.ts new file mode 100644 index 000000000..6f8bf3cca --- /dev/null +++ b/17-nodejs/02-egg/typings/config/index.d.ts @@ -0,0 +1,11 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import { EggAppConfig } from 'egg'; +import ExportConfigDefault from '../../config/config.default'; +type ConfigDefault = ReturnType; +type NewEggAppConfig = ConfigDefault; +declare module 'egg' { + interface EggAppConfig extends NewEggAppConfig { } +} \ No newline at end of file diff --git a/17-nodejs/02-egg/typings/config/plugin.d.ts b/17-nodejs/02-egg/typings/config/plugin.d.ts new file mode 100644 index 000000000..d488298d3 --- /dev/null +++ b/17-nodejs/02-egg/typings/config/plugin.d.ts @@ -0,0 +1,35 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import 'egg-onerror'; +import 'egg-session'; +import 'egg-i18n'; +import 'egg-watcher'; +import 'egg-multipart'; +import 'egg-security'; +import 'egg-development'; +import 'egg-logrotator'; +import 'egg-schedule'; +import 'egg-static'; +import 'egg-jsonp'; +import 'egg-view'; +import 'egg-validate'; +import { EggPluginItem } from 'egg'; +declare module 'egg' { + interface EggPlugin { + onerror?: EggPluginItem; + session?: EggPluginItem; + i18n?: EggPluginItem; + watcher?: EggPluginItem; + multipart?: EggPluginItem; + security?: EggPluginItem; + development?: EggPluginItem; + logrotator?: EggPluginItem; + schedule?: EggPluginItem; + static?: EggPluginItem; + jsonp?: EggPluginItem; + view?: EggPluginItem; + validate?: EggPluginItem; + } +} \ No newline at end of file diff --git a/17-nodejs/02-egg/typings/index.d.ts b/17-nodejs/02-egg/typings/index.d.ts new file mode 100644 index 000000000..c81035ac9 --- /dev/null +++ b/17-nodejs/02-egg/typings/index.d.ts @@ -0,0 +1,5 @@ +import 'egg'; + +declare module 'egg' { + +} \ No newline at end of file From 8150b21ca8ab3604087e08a7392a3f58b92375f9 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 19 Jul 2020 12:57:03 +0800 Subject: [PATCH 04/36] egg-orm --- 17-nodejs/02-egg/.eslintignore | 1 + 17-nodejs/02-egg/.sequelizerc | 10 + 17-nodejs/02-egg/LICENSE | 1 + 17-nodejs/02-egg/README.md | 21 + 17-nodejs/02-egg/app.ts | 2 +- 17-nodejs/02-egg/app/controller/demo.ts | 72 + 17-nodejs/02-egg/app/controller/index.ts | 12 - 17-nodejs/02-egg/app/controller/post.ts | 66 + 17-nodejs/02-egg/app/controller/topics.ts | 49 - 17-nodejs/02-egg/app/controller/user.ts | 70 + 17-nodejs/02-egg/app/extend/helper.ts | 2 +- .../02-egg/app/middleware/errorHandler.ts | 12 +- 17-nodejs/02-egg/app/middleware/robot.ts | 2 +- 17-nodejs/02-egg/app/model/post.ts | 41 + 17-nodejs/02-egg/app/model/user.ts | 39 + 17-nodejs/02-egg/app/router.ts | 8 +- 17-nodejs/02-egg/app/service/Test.ts | 15 - 17-nodejs/02-egg/app/service/demo.ts | 8 + 17-nodejs/02-egg/app/service/post.ts | 57 + 17-nodejs/02-egg/app/service/topics.ts | 11 - 17-nodejs/02-egg/app/service/user.ts | 52 + 17-nodejs/02-egg/config/config.default.ts | 16 +- 17-nodejs/02-egg/config/config.local.ts | 17 +- 17-nodejs/02-egg/config/config.unittest.ts | 8 + 17-nodejs/02-egg/config/plugin.ts | 8 + 17-nodejs/02-egg/database/config.json | 23 + 17-nodejs/02-egg/package-lock.json | 1159 ++++++++++++----- 17-nodejs/02-egg/package.json | 29 +- .../controller/{home.test.ts => demo.test.ts} | 6 +- .../02-egg/test/app/controller/post.test.ts | 55 + .../02-egg/test/app/controller/user.test.ts | 52 + .../02-egg/test/app/service/Test.test.ts | 16 - .../02-egg/test/app/service/demo.test.ts | 19 + 17-nodejs/02-egg/test/factories.ts | 23 + 17-nodejs/02-egg/test/mocha.opts | 1 + 17-nodejs/02-egg/test/setup.ts | 42 + 17-nodejs/02-egg/tsconfig.json | 3 +- .../02-egg/typings/app/controller/index.d.ts | 10 +- 17-nodejs/02-egg/typings/app/model/index.d.ts | 13 + .../02-egg/typings/app/service/index.d.ts | 10 +- 17-nodejs/02-egg/typings/config/plugin.d.ts | 4 + 41 files changed, 1579 insertions(+), 486 deletions(-) create mode 100644 17-nodejs/02-egg/.sequelizerc create mode 100644 17-nodejs/02-egg/LICENSE create mode 100644 17-nodejs/02-egg/app/controller/demo.ts delete mode 100644 17-nodejs/02-egg/app/controller/index.ts create mode 100644 17-nodejs/02-egg/app/controller/post.ts delete mode 100644 17-nodejs/02-egg/app/controller/topics.ts create mode 100644 17-nodejs/02-egg/app/controller/user.ts create mode 100644 17-nodejs/02-egg/app/model/post.ts create mode 100644 17-nodejs/02-egg/app/model/user.ts delete mode 100644 17-nodejs/02-egg/app/service/Test.ts create mode 100644 17-nodejs/02-egg/app/service/demo.ts create mode 100644 17-nodejs/02-egg/app/service/post.ts delete mode 100644 17-nodejs/02-egg/app/service/topics.ts create mode 100644 17-nodejs/02-egg/app/service/user.ts create mode 100644 17-nodejs/02-egg/database/config.json rename 17-nodejs/02-egg/test/app/controller/{home.test.ts => demo.test.ts} (58%) create mode 100644 17-nodejs/02-egg/test/app/controller/post.test.ts create mode 100644 17-nodejs/02-egg/test/app/controller/user.test.ts delete mode 100644 17-nodejs/02-egg/test/app/service/Test.test.ts create mode 100644 17-nodejs/02-egg/test/app/service/demo.test.ts create mode 100644 17-nodejs/02-egg/test/factories.ts create mode 100644 17-nodejs/02-egg/test/mocha.opts create mode 100644 17-nodejs/02-egg/test/setup.ts create mode 100644 17-nodejs/02-egg/typings/app/model/index.d.ts diff --git a/17-nodejs/02-egg/.eslintignore b/17-nodejs/02-egg/.eslintignore index 40a8aad85..8044798db 100644 --- a/17-nodejs/02-egg/.eslintignore +++ b/17-nodejs/02-egg/.eslintignore @@ -1,2 +1,3 @@ **/*.d.ts node_modules/ +test/ \ No newline at end of file diff --git a/17-nodejs/02-egg/.sequelizerc b/17-nodejs/02-egg/.sequelizerc new file mode 100644 index 000000000..a1bb8dfc2 --- /dev/null +++ b/17-nodejs/02-egg/.sequelizerc @@ -0,0 +1,10 @@ +'use strict'; + +const path = require('path'); + +module.exports = { + config: path.join(__dirname, 'database/config.json'), + 'migrations-path': path.join(__dirname, 'database/migrations'), + 'seeders-path': path.join(__dirname, 'database/seeders'), + 'models-path': path.join(__dirname, 'app/model'), +}; \ No newline at end of file diff --git a/17-nodejs/02-egg/LICENSE b/17-nodejs/02-egg/LICENSE new file mode 100644 index 000000000..db9612b0c --- /dev/null +++ b/17-nodejs/02-egg/LICENSE @@ -0,0 +1 @@ +MIT LICENSE \ No newline at end of file diff --git a/17-nodejs/02-egg/README.md b/17-nodejs/02-egg/README.md index b5946f5b2..8f9cbd61c 100644 --- a/17-nodejs/02-egg/README.md +++ b/17-nodejs/02-egg/README.md @@ -31,3 +31,24 @@ $ npm start - Node.js 8.x - Typescript 2.8+ + + +$ redis-server + +redis +seed +docs +cros +TDD +域名 +登录态 +权限校验 +whistle +husky +lint-staged +prettier + + +sequelize +https://sequelize.org/master/manual/query-interface.html +https://sequelize.org/master/variable/index.html#static-variable-DataTypes \ No newline at end of file diff --git a/17-nodejs/02-egg/app.ts b/17-nodejs/02-egg/app.ts index 73d41d559..940623e0d 100644 --- a/17-nodejs/02-egg/app.ts +++ b/17-nodejs/02-egg/app.ts @@ -57,4 +57,4 @@ class AppBootHook { } } -export default AppBootHook; \ No newline at end of file +export default AppBootHook; diff --git a/17-nodejs/02-egg/app/controller/demo.ts b/17-nodejs/02-egg/app/controller/demo.ts new file mode 100644 index 000000000..b4fc25737 --- /dev/null +++ b/17-nodejs/02-egg/app/controller/demo.ts @@ -0,0 +1,72 @@ +import { Controller } from 'egg'; + +// 定义创建接口的请求参数规则 +// https://github.com/node-modules/parameter#rule +const createRule = { + name: 'string', + type: { type: 'enum', values: [ 'ask', 'share' ], required: false }, +}; + +export default class DemoController extends Controller { + // GET /demo + public async index() { + const { ctx } = this; + ctx.logger.debug('test logger'); + ctx.body = `

${ctx.app.env}

`; // local + ctx.response.type = 'text/html'; + ctx.status = 200; + + // ctx.app.redis.get() + // client.on('connect', function () { + // // set 语法 + // client.set('lubanH5makerTest', 'csxiaoyao', function (err, data) { + // console.log(1, data) + // }) + // // get 语法 + // client.get('lubanH5makerTest', function (err, data) { + // console.log(2, data) + // }) + // }) + } + + // GET /demo/new + public async new() { + const { app, ctx } = this; + ctx.throw({ + code: app.config.CODE.TEST_ERROR, + message: '测试错误抛出', + }); + } + + // POST /demo + public async create() { + const { ctx } = this; + // 校验 `ctx.request.body` 是否符合我们预期的格式 + // 如果参数校验未通过,将会抛出一个 status = 422 的异常 + ctx.validate(createRule, ctx.request.body); + // 调用 service 创建一个 demo + const data = await ctx.service.demo.create(ctx.request.body); + // 设置响应体和状态码 + ctx.helper.rest({ + ...data, + }, 'ok', 0); + } + // GET /demo/:id + public async show() { + const { ctx } = this; + ctx.logger.debug('fetch id: %j', ctx.params.id); + console.log('test show'); + } + // GET /demo/:id/edit edit_demo + public async edit() { + console.log('test edit'); + } + // PUT /demo/:id demo + public async update() { + console.log('test update'); + } + // DELETE /demo/:id demo + public async destroy() { + console.log('test destroy'); + } +} diff --git a/17-nodejs/02-egg/app/controller/index.ts b/17-nodejs/02-egg/app/controller/index.ts deleted file mode 100644 index 6186abc44..000000000 --- a/17-nodejs/02-egg/app/controller/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Controller } from 'egg'; - -export default class HomeController extends Controller { - public async index() { - const { ctx } = this; - ctx.body = await ctx.service.test.sayHi('egg'); - } - public async notFound() { - const { ctx } = this; - ctx.body = '404~~~~'; - } -} diff --git a/17-nodejs/02-egg/app/controller/post.ts b/17-nodejs/02-egg/app/controller/post.ts new file mode 100644 index 000000000..fd2c61636 --- /dev/null +++ b/17-nodejs/02-egg/app/controller/post.ts @@ -0,0 +1,66 @@ +import { Controller } from 'egg'; + +export default class PostController extends Controller { + // GET /api/posts?limit=5&offset=5 6~10 + public async index() { + const ctx = this.ctx; + const query = { + limit: parseInt(ctx.query.limit) || 10, + offset: parseInt(ctx.query.offset) || 0, + }; + const data = await ctx.service.post.list(query); + ctx.helper.rest({ + ...data, // { "count": 2, "rows": [{...}, {...}] } + }); + } + + // GET /api/posts/:id + public async show() { + const ctx = this.ctx; + const data = await ctx.service.post.find(parseInt(ctx.params.id) || 0); + ctx.helper.rest(data); // {...} + } + + // POST /api/posts + public async create() { + const ctx = this.ctx; + const createRule = { + title: 'string', + content: 'string', + user_id: 'int', + }; + const body = ctx.request.body; + ctx.validate(createRule, body); + const data = await ctx.service.post.create(body); + ctx.helper.rest(data); // {...} + ctx.status = 201; + } + + // PUT /api/posts/:id + public async update() { + const ctx = this.ctx; + const id = parseInt(ctx.params.id) || 0; + const updates = { + user_id: ctx.request.body.user_id, + title: ctx.request.body.title, + content: ctx.request.body.content, + }; + const updateRule = { + user_id: { type: 'int', required: false }, + title: { type: 'string', required: false }, + content: { type: 'string', required: false }, + }; + ctx.validate(updateRule, updates); + const data = await ctx.service.post.update({ id, user_id: updates.user_id, updates }); + ctx.helper.rest(data); // {...} + } + + // DELETE /api/posts/:id + public async destroy() { + const ctx = this.ctx; + const id = parseInt(ctx.params.id) || 0; + const user_id = parseInt(ctx.request.body.user_id); + await ctx.service.post.destroy({ id, user_id }); + ctx.helper.rest({ id, user_id }); + } +} diff --git a/17-nodejs/02-egg/app/controller/topics.ts b/17-nodejs/02-egg/app/controller/topics.ts deleted file mode 100644 index 91f49526b..000000000 --- a/17-nodejs/02-egg/app/controller/topics.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Controller } from 'egg'; - -// 定义创建接口的请求参数规则 -// https://github.com/node-modules/parameter#rule -const createRule = { - name: 'string', - type: { type: 'enum', values: [ 'ask', 'share' ], required: false }, -}; - -export default class TopicController extends Controller { - // GET /topics topics - public async index() { - const { ctx } = this; - ctx.body = ctx.app.env; // local - ctx.response.type = 'application/json'; - ctx.status = 200; - } - - // GET /topics/new new_topic - public async new() { - const { app, ctx } = this; - ctx.throw({ - code: app.config.CODE.TEST_ERROR, - message: '测试错误抛出', - }); - } - - // POST /topics topics - public async create() { - const { ctx } = this; - // 校验 `ctx.request.body` 是否符合我们预期的格式 - // 如果参数校验未通过,将会抛出一个 status = 422 的异常 - ctx.validate(createRule, ctx.request.body); - // 调用 service 创建一个 topic - const data = await ctx.service.topics.create(ctx.request.body); - // 设置响应体和状态码 - ctx.helper.rest({ - ...data - }, 'ok', 0); - } - // GET /topics/:id topic - public async show() {} - // GET /topics/:id/edit edit_topic - public async edit() {} - // PUT /topics/:id topic - public async update() {} - // DELETE /topics/:id topic - public async destroy() {} -} diff --git a/17-nodejs/02-egg/app/controller/user.ts b/17-nodejs/02-egg/app/controller/user.ts new file mode 100644 index 000000000..151d8c21e --- /dev/null +++ b/17-nodejs/02-egg/app/controller/user.ts @@ -0,0 +1,70 @@ +import { Controller } from 'egg'; + +export default class UserController extends Controller { + // GET /api/users?limit=5&offset=5 6~10 + public async index() { + const { ctx } = this; + const query = { + limit: parseInt(ctx.query.limit) || 10, + offset: parseInt(ctx.query.offset) || 0, + }; + const data = await ctx.service.user.list(query); + ctx.helper.rest({ + ...data, // { "count": 2, "rows": [{...}, {...}] } + }, 'ok', 0); + } + + // GET /api/users/:id + public async show() { + const ctx = this.ctx; + const data = await ctx.service.user.find(parseInt(ctx.params.id) || 0); + ctx.helper.rest(data); // {...} + } + + // POST /api/users + public async create() { + const { ctx } = this; + // 参数校验 `ctx.request.body` 未通过将抛出 status = 422 的异常 + // https://github.com/node-modules/parameter#rule + const createRule = { + name: 'string', + age: 'int', + gender: { type: 'enum', values: [ 'male', 'female', 'unknown' ], required: false }, + // createdAt: { type: 'datetime', required: false }, + // updatedAt: { type: 'datetime', required: false }, + }; + const body = ctx.request.body; + ctx.validate(createRule, body); + const data = await ctx.service.user.create(body); + ctx.helper.rest(data); // {...} + ctx.status = 201; + } + + // PUT /api/users/:id + public async update() { + const { ctx } = this; + const id = parseInt(ctx.params.id) || 0; + const updates = { + name: ctx.request.body.name, + age: ctx.request.body.age, + gender: ctx.request.body.gender, + // updatedAt: new Date(), + }; + const updateRule = { + name: { type: 'string', required: false }, + age: { type: 'int', required: false }, + gender: { type: 'enum', values: [ 'male', 'female', 'unknown' ], required: false }, + }; + ctx.validate(updateRule, updates); + const data = await ctx.service.user.update({ id, updates }); + ctx.helper.rest(data); // {...} + } + + // DELETE /api/users/:id + public async destroy() { + const { ctx } = this; + const id = parseInt(ctx.params.id) || 0; + await ctx.service.user.del(id); + ctx.helper.rest({ id }); + } +} diff --git a/17-nodejs/02-egg/app/extend/helper.ts b/17-nodejs/02-egg/app/extend/helper.ts index eebdc6d07..0f839cd9f 100644 --- a/17-nodejs/02-egg/app/extend/helper.ts +++ b/17-nodejs/02-egg/app/extend/helper.ts @@ -15,5 +15,5 @@ export default { message, data, }; - } + }, }; diff --git a/17-nodejs/02-egg/app/middleware/errorHandler.ts b/17-nodejs/02-egg/app/middleware/errorHandler.ts index 1ead01186..f8b8e3fb0 100644 --- a/17-nodejs/02-egg/app/middleware/errorHandler.ts +++ b/17-nodejs/02-egg/app/middleware/errorHandler.ts @@ -6,7 +6,9 @@ export default () => { // 所有的异常都在 app 上触发一个 error 事件,框架会记录一条错误日志 ctx.app.emit('error', err, ctx); - const status = err.status || 500; + const code = parseInt(err.code) || -1; + const status = err.status || (code >= 0 ? 400 : 500); + // 生产环境时 500 错误的详细错误内容不返回给客户端,因为可能包含敏感信息 const error = status === 500 && ctx.app.config.env === 'prod' ? 'Internal Server Error' @@ -14,7 +16,7 @@ export default () => { // 从 error 对象上读出各个属性,设置到响应中 ctx.body = { - code: parseInt(err.code) || -1, + code, message: error, }; switch (status) { @@ -22,13 +24,15 @@ export default () => { case 422: ctx.body.detail = err.errors; break; + default: + // } ctx.status = status; } // 404 单独处理 if (ctx.status === 404 && !ctx.body) { - console.log(ctx.acceptJSON) + console.log(ctx.acceptJSON); if (ctx.acceptJSON) { ctx.body = { error: 'Not Found' }; } else { @@ -36,4 +40,4 @@ export default () => { } } }; -}; \ No newline at end of file +}; diff --git a/17-nodejs/02-egg/app/middleware/robot.ts b/17-nodejs/02-egg/app/middleware/robot.ts index 81c351bd0..194d895e6 100644 --- a/17-nodejs/02-egg/app/middleware/robot.ts +++ b/17-nodejs/02-egg/app/middleware/robot.ts @@ -12,5 +12,5 @@ export default (options, app) => { } else { await next(); } - } + }; }; diff --git a/17-nodejs/02-egg/app/model/post.ts b/17-nodejs/02-egg/app/model/post.ts new file mode 100644 index 000000000..5478b8009 --- /dev/null +++ b/17-nodejs/02-egg/app/model/post.ts @@ -0,0 +1,41 @@ +// import { Application } from 'egg'; +// export default function(app: Application) { +export default function(app) { + const { STRING, INTEGER } = app.Sequelize; + + const Post = app.model.define('posts', { + id: { + type: INTEGER, + primaryKey: true, + autoIncrement: true, + }, + title: STRING(30), + content: STRING(255), + user_id: INTEGER, + // createdAt: { + // type: DATE, + // defaultValue: NOW, + // allowNull: false, + // }, + // updatedAt: { + // type: DATE, + // defaultValue: NOW, + // allowNull: false, + // }, + }, { + timestamps: true, + freezeTableName: true, + }); + + return class extends Post { + static associate() { + app.model.Post.belongsTo(app.model.User, { as: 'user', foreignKey: 'user_id' }); + } + + static async findByIdWithUser(id: number, userId: number) { + return await this.findOne({ + where: { id, user_id: userId }, + }); + } + }; +} diff --git a/17-nodejs/02-egg/app/model/user.ts b/17-nodejs/02-egg/app/model/user.ts new file mode 100644 index 000000000..615c537f2 --- /dev/null +++ b/17-nodejs/02-egg/app/model/user.ts @@ -0,0 +1,39 @@ +// import { Application } from 'egg'; +// export default function(app: Application) { +export default function(app) { + const { STRING, BIGINT, INTEGER } = app.Sequelize; + + const User = app.model.define('users', { + id: { + type: BIGINT(11), + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + name: STRING(30), + age: INTEGER, + gender: STRING(10), + // createdAt: { + // type: DATE, + // defaultValue: NOW, + // allowNull: false, + // }, + // updatedAt: { + // type: DATE, + // defaultValue: NOW, + // allowNull: false, + // }, + }, { + timestamps: true, + freezeTableName: true, + }); + + return class extends User { + static associate() { + app.model.User.hasMany(app.model.Post, { as: 'posts' }); + } + }; + + // return User; +} diff --git a/17-nodejs/02-egg/app/router.ts b/17-nodejs/02-egg/app/router.ts index a736b7ef0..5980a85e3 100644 --- a/17-nodejs/02-egg/app/router.ts +++ b/17-nodejs/02-egg/app/router.ts @@ -3,8 +3,8 @@ import { Application } from 'egg'; export default (app: Application) => { const { controller, router } = app; - router.get('/', controller.index.index); - router.resources('topics', '/api/topics', app.controller.topics); - router.get('*', controller.index.notFound); - + router.get('/', controller.demo.index); + router.resources('demo', '/api/demo', controller.demo); + router.resources('users', '/api/users', controller.user); + router.resources('posts', '/api/posts', controller.post); }; diff --git a/17-nodejs/02-egg/app/service/Test.ts b/17-nodejs/02-egg/app/service/Test.ts deleted file mode 100644 index 329092597..000000000 --- a/17-nodejs/02-egg/app/service/Test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Service } from 'egg'; - -/** - * Test Service - */ -export default class Test extends Service { - - /** - * sayHi to you - * @param name - your name - */ - public async sayHi(name: string) { - return `hi, ${name}`; - } -} diff --git a/17-nodejs/02-egg/app/service/demo.ts b/17-nodejs/02-egg/app/service/demo.ts new file mode 100644 index 000000000..9c9b2517d --- /dev/null +++ b/17-nodejs/02-egg/app/service/demo.ts @@ -0,0 +1,8 @@ +import { Service } from 'egg'; + +export default class DemoService extends Service { + public async create(params) { + this.ctx.logger.debug('debug info from service --- %j', params); + return params; + } +} diff --git a/17-nodejs/02-egg/app/service/post.ts b/17-nodejs/02-egg/app/service/post.ts new file mode 100644 index 000000000..458de9cc1 --- /dev/null +++ b/17-nodejs/02-egg/app/service/post.ts @@ -0,0 +1,57 @@ +import { Service } from 'egg'; +import { CreateOptions } from 'sequelize'; + +export default class Post extends Service { + async list({ offset = 0, limit = 10, user_id = undefined }: { offset: number; limit: number; user_id?: number }) { + return this.ctx.model.Post.findAndCountAll({ + offset, + limit, + attributes: [ 'id', 'title', 'user_id' ], + order: [[ 'created_at', 'desc' ], [ 'id', 'desc' ]], + where: user_id ? { user_id } : undefined, + }); + } + + async find(id: number) { + const post = await this.ctx.model.Post.findByPk(id, { + include: [{ + model: this.ctx.model.User, + as: 'user', + attributes: [ 'id', 'name', 'age' ], + }], + }); + if (!post) { + this.ctx.throw({ + code: 404, + message: 'post not found', + }); + } + return post; + } + + async create(post: CreateOptions) { + return this.ctx.model.Post.create(post); + } + + async update({ id, user_id, updates }: { id: number; user_id: number; updates: object }) { + const post = await this.ctx.model.Post.findByIdWithUser(id, user_id); + if (!post) { + this.ctx.throw({ + code: 404, + message: 'post not found', + }); + } + return post!.update(updates); + } + + async destroy({ id, user_id }: { id: number; user_id: number }) { + const post = await this.ctx.model.Post.findByIdWithUser(id, user_id); + if (!post) { + this.ctx.throw({ + code: 404, + message: 'post not found', + }); + } + return post!.destroy(); + } +} diff --git a/17-nodejs/02-egg/app/service/topics.ts b/17-nodejs/02-egg/app/service/topics.ts deleted file mode 100644 index e83954294..000000000 --- a/17-nodejs/02-egg/app/service/topics.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Service } from 'egg'; - -export default class TopicService extends Service { - constructor(ctx) { - super(ctx); - } - - public async create(params) { - return params; - } -} diff --git a/17-nodejs/02-egg/app/service/user.ts b/17-nodejs/02-egg/app/service/user.ts new file mode 100644 index 000000000..b1fb2805b --- /dev/null +++ b/17-nodejs/02-egg/app/service/user.ts @@ -0,0 +1,52 @@ +import { Service } from 'egg'; +import { CreateOptions } from 'sequelize'; + +class User extends Service { + async list({ offset = 0, limit = 10 }: { offset: number; limit: number }) { + return this.ctx.model.User.findAndCountAll({ + offset, + limit, + attributes: [ 'id', 'name', 'age', 'gender' ], + order: [[ 'created_at', 'desc' ], [ 'id', 'desc' ]], + }); + } + + async find(id: number) { + const user = await this.ctx.model.User.findByPk(id); + if (!user) { + this.ctx.throw({ + code: 404, + message: 'user not found', + }); + } + return user!; + } + + async create(user: CreateOptions) { + return this.ctx.model.User.create(user); + } + + async update({ id, updates }: { id: number; updates: object }) { + const user = await this.ctx.model.User.findByPk(id); + if (!user) { + this.ctx.throw({ + code: 404, + message: 'user not found', + }); + } + return user!.update(updates); + } + + async del(id: number) { + const user = await this.ctx.model.User.findByPk(id); + if (!user) { + this.ctx.throw({ + code: 404, + message: 'user not found', + }); + } + return user!.destroy(); + } +} + +module.exports = User; diff --git a/17-nodejs/02-egg/config/config.default.ts b/17-nodejs/02-egg/config/config.default.ts index 362b3728e..48e451bc3 100644 --- a/17-nodejs/02-egg/config/config.default.ts +++ b/17-nodejs/02-egg/config/config.default.ts @@ -11,6 +11,17 @@ export default (appInfo: EggAppInfo) => { SUCCESS: '0', TEST_ERROR: '-1', CURL_ERROR: '-1000', + DATA_NOT_FOUND: '404', + }; + + config.sequelize = { + dialect: 'mysql', + host: '127.0.0.1', + port: 3306, + database: 'test', + username: 'root', + password: '19931128', + timezone: '+08:00', }; config.onerror = { @@ -36,7 +47,6 @@ export default (appInfo: EggAppInfo) => { }; const bodyParser = { - enable: true, jsonLimit: '3mb', // ignore: '/api', }; @@ -44,7 +54,7 @@ export default (appInfo: EggAppInfo) => { // add your egg config in here config.middleware = [ 'robot', - 'errorHandler' + 'errorHandler', ]; // robot's configurations @@ -52,7 +62,7 @@ export default (appInfo: EggAppInfo) => { ua: [ /curl/i, /Baiduspider/i, - ] + ], }; // 只对 /api 前缀的 url 路径生效 diff --git a/17-nodejs/02-egg/config/config.local.ts b/17-nodejs/02-egg/config/config.local.ts index b0600d380..1565c0477 100644 --- a/17-nodejs/02-egg/config/config.local.ts +++ b/17-nodejs/02-egg/config/config.local.ts @@ -3,14 +3,27 @@ import { EggAppConfig, PowerPartial } from 'egg'; export default () => { const config: PowerPartial = {}; - const security = { + config.logger = { + level: 'DEBUG', // 输出到文件级别 + consoleLevel: 'DEBUG', // 输出到console级别 + }; + + config.security = { csrf: { ignoreJSON: true, // 默认为 false,当设置为 true 时,将会放过所有 content-type 为 `application/json` 的请求 }, }; + config.redis = { + client: { + port: 6379, + host: '127.0.0.1', + password: '', + db: 0, + }, + }; + return { ...config, - security, }; }; diff --git a/17-nodejs/02-egg/config/config.unittest.ts b/17-nodejs/02-egg/config/config.unittest.ts index 56415cecc..8de32fa21 100644 --- a/17-nodejs/02-egg/config/config.unittest.ts +++ b/17-nodejs/02-egg/config/config.unittest.ts @@ -2,5 +2,13 @@ import { EggAppConfig, PowerPartial } from 'egg'; export default () => { const config: PowerPartial = {}; + + config.sequelize = { + dialect: 'mysql', + host: '127.0.0.1', + port: 3306, + database: 'test-unit', + }; + return config; }; diff --git a/17-nodejs/02-egg/config/plugin.ts b/17-nodejs/02-egg/config/plugin.ts index f47829d5b..b16398044 100644 --- a/17-nodejs/02-egg/config/plugin.ts +++ b/17-nodejs/02-egg/config/plugin.ts @@ -10,6 +10,14 @@ const plugin: EggPlugin = { enable: true, package: 'egg-validate', }, + sequelize: { + enable: true, + package: 'egg-sequelize', + }, + redis: { + enable: true, + package: 'egg-redis', + }, }; export default plugin; diff --git a/17-nodejs/02-egg/database/config.json b/17-nodejs/02-egg/database/config.json new file mode 100644 index 000000000..51c9e148b --- /dev/null +++ b/17-nodejs/02-egg/database/config.json @@ -0,0 +1,23 @@ +{ + "development": { + "username": "root", + "password": "19931128", + "database": "test", + "host": "127.0.0.1", + "dialect": "mysql" + }, + "test": { + "username": "root", + "password": "19931128", + "database": "test-unit", + "host": "127.0.0.1", + "dialect": "mysql" + }, + "production": { + "username": "root", + "password": null, + "database": "database_production", + "host": "127.0.0.1", + "dialect": "mysql" + } +} diff --git a/17-nodejs/02-egg/package-lock.json b/17-nodejs/02-egg/package-lock.json index a3dcc0a5b..f439ea158 100644 --- a/17-nodejs/02-egg/package-lock.json +++ b/17-nodejs/02-egg/package-lock.json @@ -8,7 +8,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, "requires": { "@babel/highlight": "^7.10.4" } @@ -64,14 +63,12 @@ "@babel/helper-validator-identifier": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" }, "@babel/highlight": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", @@ -81,8 +78,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" } } }, @@ -261,6 +257,11 @@ } } }, + "@types/bluebird": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz", + "integrity": "sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==" + }, "@types/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", @@ -280,8 +281,7 @@ "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, "@types/connect": { "version": "3.4.33", @@ -303,6 +303,14 @@ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==" }, + "@types/continuation-local-storage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/continuation-local-storage/-/continuation-local-storage-3.2.2.tgz", + "integrity": "sha512-aItm+aYPJ4rT1cHmAxO+OdWjSviQ9iB5UKb5f0Uvgln0N4hS2mcDodHtPiqicYBXViUYhqyBjhA5uyOcT+S34Q==", + "requires": { + "@types/node": "*" + } + }, "@types/cookiejar": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.1.tgz", @@ -402,6 +410,14 @@ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==" }, + "@types/ioredis": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.17.2.tgz", + "integrity": "sha512-T0sEKyqkhr4/RfgM2iTtmy0uPI4QZ9c0syq3mmAPNS5ZZMzjdtKv1ziuTdyNUvh0mZihXfKcRcWZI2wRYnxO7Q==", + "requires": { + "@types/node": "*" + } + }, "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", @@ -481,6 +497,11 @@ "@types/koa": "*" } }, + "@types/lodash": { + "version": "4.14.157", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.157.tgz", + "integrity": "sha512-Ft5BNFmv2pHDgxV5JDsndOWTRJ+56zte0ZpYLowp03tW+K+t8u8YMOzAnpuqPgzX6WO1XpDIUm7u04M8vdDiVQ==" + }, "@types/mime": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.2.tgz", @@ -501,8 +522,7 @@ "@types/node": { "version": "7.10.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.11.tgz", - "integrity": "sha512-uEqP1HlJFhsgD8DOBFdC72/5selvor0mzdQY97zlyo8Q6qPl849cFBWkNpgTXw3jIvb7iNyWsId51/A8HYKzbQ==", - "dev": true + "integrity": "sha512-uEqP1HlJFhsgD8DOBFdC72/5selvor0mzdQY97zlyo8Q6qPl849cFBWkNpgTXw3jIvb7iNyWsId51/A8HYKzbQ==" }, "@types/power-assert": { "version": "1.5.3", @@ -530,6 +550,17 @@ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" }, + "@types/sequelize": { + "version": "4.28.9", + "resolved": "https://registry.npmjs.org/@types/sequelize/-/sequelize-4.28.9.tgz", + "integrity": "sha512-QqYgkw/2fEc0FyEQejnxM7cHKB8XBV3Y69k7GSFOToQBOXos0PJVqNpgROXZddXIkl2d6zicYssHuy75ws84sw==", + "requires": { + "@types/bluebird": "*", + "@types/continuation-local-storage": "*", + "@types/lodash": "*", + "@types/validator": "*" + } + }, "@types/serve-static": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz", @@ -558,6 +589,11 @@ "@types/superagent": "*" } }, + "@types/validator": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.1.0.tgz", + "integrity": "sha512-gHUHI6pJaANIO2r6WcbT7+WMgbL9GZooR4tWpuBOETpDIqFNxwaJluE+6rj6VGYe8k6OkfhbHz2Fkm8kl06Igw==" + }, "@types/yargs": { "version": "12.0.17", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.17.tgz", @@ -653,6 +689,12 @@ "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", "dev": true }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -677,8 +719,7 @@ "acorn-jsx": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==" }, "address": { "version": "1.1.2", @@ -707,7 +748,6 @@ "version": "6.12.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -724,25 +764,7 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-regex": { "version": "3.0.0", @@ -757,6 +779,11 @@ "color-convert": "^1.9.0" } }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -787,7 +814,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -914,8 +940,7 @@ "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" }, "async-each": { "version": "1.0.3", @@ -2255,6 +2280,11 @@ "resolved": "https://registry.npmjs.org/black-hole-stream/-/black-hole-stream-0.0.1.tgz", "integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI=" }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2402,8 +2432,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camel-case": { "version": "3.0.0", @@ -2425,6 +2454,15 @@ "integrity": "sha512-0eYdp1+wFCnMlCj2oudciuQn2B9xAFq3WpgpcBIZTxk/1HNA/O2YA7rpeYhnOqsqAJq1AHUgx6i1jtafg7m2zA==", "dev": true }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, "cfork": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/cfork/-/cfork-1.8.0.tgz", @@ -2448,6 +2486,12 @@ "resolved": "https://registry.npmjs.org/chan/-/chan-0.6.1.tgz", "integrity": "sha1-7ArRMuW8YsJ+8QzL/E2NzYygBkA=" }, + "chance": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.6.tgz", + "integrity": "sha512-DXLzaGjasDWbvlFAJyQBIwlzdQZuPdz4of9TTTxmHTjja88ZU/vBwUwxxjalSt43zWTPrhiJT0z0N4bZqfZS9w==", + "dev": true + }, "change-case": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz", @@ -2473,12 +2517,6 @@ "upper-case-first": "^1.1.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -2525,21 +2563,28 @@ } } }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "cli-color": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", + "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.14", + "timers-ext": "^0.1.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -2550,6 +2595,15 @@ "wrap-ansi": "^2.0.0" } }, + "cls-bluebird": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", + "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", + "requires": { + "is-bluebird": "^1.0.2", + "shimmer": "^1.1.0" + } + }, "cluster-client": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/cluster-client/-/cluster-client-3.0.1.tgz", @@ -2569,6 +2623,11 @@ "utility": "^1.15.0" } }, + "cluster-key-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz", + "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==" + }, "cluster-reload": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cluster-reload/-/cluster-reload-1.0.2.tgz", @@ -2718,6 +2777,16 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "constant-case": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", @@ -2992,6 +3061,11 @@ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, + "denque": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", + "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -3087,7 +3161,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, "requires": { "esutils": "^2.0.2" } @@ -3109,6 +3182,11 @@ "is-obj": "^1.0.0" } }, + "dottie": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", + "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -3160,6 +3238,36 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3799,6 +3907,16 @@ "path-to-regexp": "^1.7.0" } }, + "egg-redis": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/egg-redis/-/egg-redis-2.4.0.tgz", + "integrity": "sha512-c8NBivXMfHhxBh2hdAFlYP5R1790SF+E9dMCEN54Qbgu3QsMKoGH3Db5dN2cZ6SpBD0XED/Evlcl0LXqNecToA==", + "requires": { + "@types/ioredis": "^4.0.10", + "await-first": "^1.0.0", + "ioredis": "^4.9.0" + } + }, "egg-schedule": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/egg-schedule/-/egg-schedule-3.6.4.tgz", @@ -3858,6 +3976,16 @@ } } }, + "egg-sequelize": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/egg-sequelize/-/egg-sequelize-5.2.2.tgz", + "integrity": "sha512-irjO3g1f79195Kzk2fpRAW8z/AP7PdRprGqCdVRObrzyuFa6Qagd7W8jd/fyJHkeLQKdEgUn/OenvId/q2wa6w==", + "requires": { + "@types/sequelize": "^4.27.24", + "mz-modules": "^2.1.0", + "sequelize": "^5.0.0" + } + }, "egg-session": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/egg-session/-/egg-session-3.2.0.tgz", @@ -3930,8 +4058,7 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "empower": { "version": "1.3.1", @@ -3979,7 +4106,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, "requires": { "ansi-colors": "^4.1.1" } @@ -4185,22 +4311,22 @@ } }, "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.4.0.tgz", + "integrity": "sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", @@ -4209,37 +4335,74 @@ "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", + "levn": "^0.4.1", "lodash": "^4.17.14", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } }, "glob-parent": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -4248,37 +4411,106 @@ "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, "requires": { "type-fest": "^0.8.1" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -4584,17 +4816,15 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "requires": { "eslint-visitor-keys": "^1.1.0" } @@ -4602,8 +4832,7 @@ "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" }, "espower": { "version": "2.1.2", @@ -4690,21 +4919,19 @@ } }, "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz", + "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==", "requires": { - "acorn": "^7.1.1", + "acorn": "^7.3.1", "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^1.3.0" }, "dependencies": { "acorn": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==" } } }, @@ -4726,7 +4953,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, "requires": { "estraverse": "^5.1.0" }, @@ -4734,8 +4960,7 @@ "estraverse": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==" } } }, @@ -4743,7 +4968,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -4868,17 +5092,6 @@ "resolved": "https://registry.npmjs.org/extend2/-/extend2-1.0.0.tgz", "integrity": "sha1-BCWpibTawqSGoyJX9RQBA3Vqejw=" }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -4930,11 +5143,20 @@ } } }, + "factory-girl": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/factory-girl/-/factory-girl-5.0.4.tgz", + "integrity": "sha512-ugGBetzpevbAlKEyMRasBlmCQ76EkvZFMLIsA6K17Pwp/8+7ffBmmxkkw1LoXrOyB6iIgEcmbVF4TcIAnKXyDA==", + "dev": true, + "requires": { + "babel-runtime": "^6.11.6", + "chance": "^1.0.4" + } + }, "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 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "2.2.7", @@ -4952,28 +5174,17 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-entry-cache": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, "requires": { "flat-cache": "^2.0.1" } @@ -5023,7 +5234,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, "requires": { "flatted": "^2.0.0", "rimraf": "2.6.3", @@ -5034,7 +5244,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -5044,8 +5253,7 @@ "flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" }, "for-in": { "version": "1.0.2", @@ -5097,6 +5305,17 @@ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -5136,8 +5355,15 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } }, "get-caller-file": { "version": "1.0.3", @@ -5525,7 +5751,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -5534,8 +5759,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indexof": { "version": "0.0.1", @@ -5572,117 +5796,6 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, - "inquirer": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.2.tgz", - "integrity": "sha512-DF4osh1FM6l0RJc5YWYhSDB6TawiBRlbV9Cox8MWlidU218Tb7fm3lQTULyUJDfJ0tjbzl0W4q651mrCCEM55w==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.16", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "inspector-proxy": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/inspector-proxy/-/inspector-proxy-1.2.1.tgz", @@ -5740,6 +5853,22 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, + "ioredis": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.17.3.tgz", + "integrity": "sha512-iRvq4BOYzNFkDnSyhx7cmJNOi1x/HWYe+A4VXHBu4qpwJaGT1Mp+D2bVGJntH9K/Z/GeOM/Nprb8gB3bmitz1Q==", + "requires": { + "cluster-key-slot": "^1.1.0", + "debug": "^4.1.1", + "denque": "^1.1.0", + "lodash.defaults": "^4.2.0", + "lodash.flatten": "^4.4.0", + "redis-commands": "1.5.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.0.1" + } + }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -5778,6 +5907,11 @@ "binary-extensions": "^1.0.0" } }, + "is-bluebird": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", + "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -5923,6 +6057,17 @@ "isobject": "^3.0.1" } }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, "is-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", @@ -6047,6 +6192,27 @@ "throat": "^4.0.0" } }, + "js-beautify": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz", + "integrity": "sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A==", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~1.0.3", + "nopt": "^4.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -6057,7 +6223,6 @@ "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -6066,8 +6231,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" } } }, @@ -6092,14 +6256,12 @@ "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 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" }, "json-stringify-safe": { "version": "5.0.1", @@ -6112,6 +6274,15 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, "jsonp-body": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jsonp-body/-/jsonp-body-1.0.0.tgz", @@ -6379,8 +6550,17 @@ "lodash": { "version": "4.17.19", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" }, "log-symbols": { "version": "2.2.0", @@ -6426,6 +6606,15 @@ "yallist": "^3.0.2" } }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -6481,6 +6670,22 @@ "p-is-promise": "^2.0.0" } }, + "memoizee": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", + "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.45", + "es6-weak-map": "^2.0.2", + "event-emitter": "^0.3.5", + "is-promise": "^2.1", + "lru-queue": "0.1", + "next-tick": "1", + "timers-ext": "^0.1.5" + } + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -6680,11 +6885,31 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz", "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==" }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "mysql2": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.1.0.tgz", + "integrity": "sha512-9kGVyi930rG2KaHrz3sHwtc6K+GY9d8wWk1XRSYxQiunvGcn4DwuZxOwmK11ftuhhwrYDwGx9Ta4VBwznJn36A==", + "requires": { + "cardinal": "^2.1.1", + "denque": "^1.4.1", + "generate-function": "^2.3.1", + "iconv-lite": "^0.5.0", + "long": "^4.0.0", + "lru-cache": "^5.1.1", + "named-placeholders": "^1.1.2", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.1" + }, + "dependencies": { + "iconv-lite": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", + "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } }, "mz": { "version": "2.7.0", @@ -6708,6 +6933,30 @@ "rimraf": "^2.6.1" } }, + "named-placeholders": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", + "requires": { + "lru-cache": "^4.1.3" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, "nan": { "version": "2.14.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", @@ -6760,8 +7009,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "ndir": { "version": "0.1.5", @@ -6812,6 +7060,16 @@ "resolved": "https://registry.npmjs.org/node-homedir/-/node-homedir-1.1.1.tgz", "integrity": "sha512-Xsmf94D/DdeDISAECUaxXVxhh+kHdbOQE4CnP4igo3HXL3BSmmUpD5M7orH434EZZwBTFF2xe5SgsQr/wOBuNw==" }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -8139,15 +8397,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "only": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", @@ -8197,6 +8446,16 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "osx-release": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz", @@ -8285,7 +8544,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" } @@ -8612,8 +8870,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "prop-types": { "version": "15.7.2", @@ -8626,6 +8883,12 @@ "react-is": "^16.8.1" } }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, "proxy-agent": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", @@ -8654,6 +8917,11 @@ "event-stream": "=3.3.4" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -8687,8 +8955,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { "version": "6.9.4", @@ -8842,6 +9109,39 @@ } } }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "requires": { + "esprima": "~4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, + "redis-commands": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz", + "integrity": "sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg==" + }, + "redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=" + }, + "redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", + "requires": { + "redis-errors": "^1.0.0" + } + }, "regenerate": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", @@ -8904,10 +9204,9 @@ } }, "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" }, "regexpu-core": { "version": "2.0.0", @@ -9017,29 +9316,26 @@ "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, + "retry-as-promised": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", + "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", + "requires": { + "any-promise": "^1.3.0" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -9053,12 +9349,6 @@ "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, "runscript": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/runscript/-/runscript-1.5.0.tgz", @@ -9083,15 +9373,6 @@ } } }, - "rxjs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", - "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -9150,6 +9431,150 @@ "upper-case-first": "^1.1.2" } }, + "seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" + }, + "sequelize": { + "version": "5.22.3", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.22.3.tgz", + "integrity": "sha512-+nxf4TzdrB+PRmoWhR05TP9ukLAurK7qtKcIFv5Vhxm5Z9v+d2PcTT6Ea3YAoIQVkZ47QlT9XWAIUevMT/3l8Q==", + "requires": { + "bluebird": "^3.5.0", + "cls-bluebird": "^2.1.0", + "debug": "^4.1.1", + "dottie": "^2.0.0", + "inflection": "1.12.0", + "lodash": "^4.17.15", + "moment": "^2.24.0", + "moment-timezone": "^0.5.21", + "retry-as-promised": "^3.2.0", + "semver": "^6.3.0", + "sequelize-pool": "^2.3.0", + "toposort-class": "^1.0.1", + "uuid": "^3.3.3", + "validator": "^10.11.0", + "wkx": "^0.4.8" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "sequelize-cli": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-6.2.0.tgz", + "integrity": "sha512-6WQ2x91hg30dUn66mXHnzvHATZ4pyI1GHSNbS/TNN/vRR4BLRSLijadeMgC8zqmKDsL0VqzVVopJWfJakuP++Q==", + "dev": true, + "requires": { + "cli-color": "^1.4.0", + "fs-extra": "^7.0.1", + "js-beautify": "^1.8.8", + "lodash": "^4.17.5", + "resolve": "^1.5.0", + "umzug": "^2.3.0", + "yargs": "^13.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "sequelize-pool": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz", + "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==" + }, "serialize-json": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/serialize-json/-/serialize-json-1.0.3.tgz", @@ -9204,6 +9629,11 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, "should-send-same-site-none": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/should-send-same-site-none/-/should-send-same-site-none-2.0.5.tgz", @@ -9219,6 +9649,12 @@ "object-inspect": "^1.7.0" } }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -9233,7 +9669,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", @@ -9499,14 +9934,23 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sqlstring": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.2.tgz", + "integrity": "sha512-vF4ZbYdKS8OnoJAWBmMxCQDkiEBkGQYU7UZPtL8flbDRSNkhaXvRJ279ZtI6M+zDaQovVU4tuRgzK5fVhvFAhg==" }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, + "standard-as-callback": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.0.1.tgz", + "integrity": "sha512-NQOxSeB8gOI5WjSaxjBgog2QFw55FV8TkS6Y07BiB3VJ8xNTvUYm0wl0s8ObgQ5NhdpnNfigMIKjgPESzgr4tg==" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -9733,7 +10177,6 @@ "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, "requires": { "ajv": "^6.10.2", "lodash": "^4.17.14", @@ -9744,14 +10187,12 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -9762,7 +10203,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -9822,8 +10262,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "thenify": { "version": "3.3.1", @@ -9895,6 +10334,16 @@ "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, "title-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", @@ -9904,15 +10353,6 @@ "upper-case": "^1.0.3" } }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", @@ -9981,6 +10421,11 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" + }, "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", @@ -10077,8 +10522,7 @@ "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" }, "type-is": { "version": "1.6.18", @@ -10109,6 +10553,15 @@ "random-bytes": "~1.0.0" } }, + "umzug": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", + "integrity": "sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==", + "dev": true, + "requires": { + "bluebird": "^3.7.2" + } + }, "unescape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz", @@ -10139,6 +10592,12 @@ "object-keys": "^1.0.0" } }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -10208,7 +10667,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10290,8 +10748,7 @@ "v8-compile-cache": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -10303,6 +10760,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -10338,6 +10800,14 @@ "semver": "^5.0.1" } }, + "wkx": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", + "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", + "requires": { + "@types/node": "*" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -10394,7 +10864,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, "requires": { "mkdirp": "^0.5.1" } diff --git a/17-nodejs/02-egg/package.json b/17-nodejs/02-egg/package.json index 26c7db897..874030a65 100644 --- a/17-nodejs/02-egg/package.json +++ b/17-nodejs/02-egg/package.json @@ -8,23 +8,29 @@ "declarations": true }, "scripts": { - "start": "egg-scripts start --daemon --title=egg-server-demo", + "start": "egg-scripts start --port=80 --daemon --title=egg-server-demo", "stop": "egg-scripts stop --title=egg-server-demo", - "dev": "egg-bin dev", + "dev": "npx sequelize db:migrate && egg-bin dev --port 2048", "debug": "egg-bin debug", "test-local": "egg-bin test", - "test": "npm run lint -- --fix && npm run test-local", + "test": "NODE_ENV=test npm run sequelize -- db:migrate && npm run lint -- --fix && npm run test-local", "cov": "egg-bin cov", "tsc": "ets && tsc -p tsconfig.json", - "ci": "npm run lint && npm run cov && npm run tsc", + "ci": "npm run lint && NODE_ENV=test npx sequelize db:migrate && npm run cov && npm run tsc", "autod": "autod", - "lint": "eslint . --ext .ts", - "clean": "ets clean" + "lint": "npx eslint . --ext .ts", + "clean": "ets clean", + "sequelize": "sequelize --" }, "dependencies": { "egg": "^2.6.1", + "egg-redis": "^2.4.0", "egg-scripts": "^2.6.0", - "egg-validate": "^2.0.2" + "egg-sequelize": "^5.2.2", + "egg-validate": "^2.0.2", + "eslint": "^7.4.0", + "lodash": "^4.17.19", + "mysql2": "^2.1.0" }, "devDependencies": { "@types/mocha": "^2.2.40", @@ -32,12 +38,13 @@ "@types/supertest": "^2.0.0", "autod": "^3.0.1", "autod-egg": "^1.1.0", - "egg-ci": "^1.8.0", "egg-bin": "^4.11.0", + "egg-ci": "^1.8.0", "egg-mock": "^3.16.0", - "tslib": "^1.9.0", - "eslint": "^6.7.2", "eslint-config-egg": "^8.0.0", + "factory-girl": "^5.0.4", + "sequelize-cli": "^6.2.0", + "tslib": "^1.9.0", "typescript": "^3.0.0" }, "engines": { @@ -53,6 +60,6 @@ "eslintIgnore": [ "coverage" ], - "author": "", + "author": "csxiaoyao ", "license": "MIT" } diff --git a/17-nodejs/02-egg/test/app/controller/home.test.ts b/17-nodejs/02-egg/test/app/controller/demo.test.ts similarity index 58% rename from 17-nodejs/02-egg/test/app/controller/home.test.ts rename to 17-nodejs/02-egg/test/app/controller/demo.test.ts index 3a854b957..0c4cfc223 100644 --- a/17-nodejs/02-egg/test/app/controller/home.test.ts +++ b/17-nodejs/02-egg/test/app/controller/demo.test.ts @@ -1,9 +1,11 @@ import * as assert from 'assert'; import { app } from 'egg-mock/bootstrap'; -describe('test/app/controller/home.test.ts', () => { +// https://mochajs.org/#usage + +describe('test/app/controller/demo.test.ts', () => { it('should GET /', async () => { const result = await app.httpRequest().get('/').expect(200); - assert(result.text === 'hi, egg'); + assert(result.text === `

${app.env}

`); }); }); diff --git a/17-nodejs/02-egg/test/app/controller/post.test.ts b/17-nodejs/02-egg/test/app/controller/post.test.ts new file mode 100644 index 000000000..1232286ef --- /dev/null +++ b/17-nodejs/02-egg/test/app/controller/post.test.ts @@ -0,0 +1,55 @@ +import { app } from 'egg-mock/bootstrap'; +import assert = require('assert'); + +describe('test/app/service/post.test.js', () => { + describe('GET /posts', () => { + it('should work', async () => { + await app.factory.createMany('post', 3); + const res = await app.httpRequest().get('/posts?limit=2'); + assert(res.status === 200); + assert(res.body.count === 3); + assert(res.body.rows.length === 2); + assert(res.body.rows[0].title); + assert(!res.body.rows[0].content); + }); + }); + + describe('GET /posts/:id', () => { + it('should work', async () => { + const post = await app.factory.create('post'); + const res = await app.httpRequest().get(`/posts/${post.id}`); + assert(res.status === 200); + assert(res.body.title === post.title); + assert(res.body.content === post.content); + }); + }); + + describe('POST /posts', () => { + it('should work', async () => { + app.mockCsrf(); + let res = await app.httpRequest().post('/posts') + .send({ + title: 'title', + content: 'content', + user_id: 1, + }); + assert(res.status === 201); + assert(res.body.id); + + res = await app.httpRequest().get(`/posts/${res.body.id}`); + assert(res.status === 200); + assert(res.body.title === 'title'); + }); + }); + + describe('DELETE /posts/:id', () => { + it('should work', async () => { + const post = await app.factory.create('post'); + + app.mockCsrf(); + const res = await app.httpRequest().delete(`/posts/${post.id}`) + .send({ user_id: post.user_id }); + assert(res.status === 200); + }); + }); +}); diff --git a/17-nodejs/02-egg/test/app/controller/user.test.ts b/17-nodejs/02-egg/test/app/controller/user.test.ts new file mode 100644 index 000000000..1a0643acf --- /dev/null +++ b/17-nodejs/02-egg/test/app/controller/user.test.ts @@ -0,0 +1,52 @@ +import { app } from 'egg-mock/bootstrap'; +import assert = require('assert'); + +describe('test/app/service/user.test.js', () => { + describe('GET /users', () => { + it('should work', async () => { + await app.factory.createMany('user', 3); + const res = await app.httpRequest().get('/users?limit=2'); + assert(res.status === 200); + assert(res.body.count === 3); + assert(res.body.rows.length === 2); + assert(res.body.rows[0].name); + assert(res.body.rows[0].age); + }); + }); + + describe('GET /users/:id', () => { + it('should work', async () => { + const user = await app.factory.create('user'); + const res = await app.httpRequest().get(`/users/${user.id}`); + assert(res.status === 200); + assert(res.body.age === user.age); + }); + }); + + describe('POST /users', () => { + it('should work', async () => { + app.mockCsrf(); + let res = await app.httpRequest().post('/users') + .send({ + age: 10, + name: 'name', + }); + assert(res.status === 201); + assert(res.body.id); + + res = await app.httpRequest().get(`/users/${res.body.id}`); + assert(res.status === 200); + assert(res.body.name === 'name'); + }); + }); + + describe('DELETE /users/:id', () => { + it('should work', async () => { + const user = await app.factory.create('user'); + + app.mockCsrf(); + const res = await app.httpRequest().delete(`/users/${user.id}`); + assert(res.status === 200); + }); + }); +}); diff --git a/17-nodejs/02-egg/test/app/service/Test.test.ts b/17-nodejs/02-egg/test/app/service/Test.test.ts deleted file mode 100644 index 2a2a8f381..000000000 --- a/17-nodejs/02-egg/test/app/service/Test.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as assert from 'assert'; -import { Context } from 'egg'; -import { app } from 'egg-mock/bootstrap'; - -describe('test/app/service/Test.test.js', () => { - let ctx: Context; - - before(async () => { - ctx = app.mockContext(); - }); - - it('sayHi', async () => { - const result = await ctx.service.test.sayHi('egg'); - assert(result === 'hi, egg'); - }); -}); diff --git a/17-nodejs/02-egg/test/app/service/demo.test.ts b/17-nodejs/02-egg/test/app/service/demo.test.ts new file mode 100644 index 000000000..012c8f4b1 --- /dev/null +++ b/17-nodejs/02-egg/test/app/service/demo.test.ts @@ -0,0 +1,19 @@ +import * as assert from 'assert'; +import { Context } from 'egg'; +import { app } from 'egg-mock/bootstrap'; + +describe('test/app/service/demo.test.js', () => { + let ctx: Context; + const param = { + data: 'test', + }; + + before(async () => { + ctx = app.mockContext(); + }); + + it('create', async () => { + const result = await ctx.service.demo.create(param); + assert(JSON.stringify(result) === JSON.stringify(param)); + }); +}); diff --git a/17-nodejs/02-egg/test/factories.ts b/17-nodejs/02-egg/test/factories.ts new file mode 100644 index 000000000..0f2a70fc1 --- /dev/null +++ b/17-nodejs/02-egg/test/factories.ts @@ -0,0 +1,23 @@ +// import { MockApplication } from 'egg-mock'; +import { factory } from 'factory-girl'; + +// export default function(app: MockApplication) { +export default function(app) { + app.factory = factory; + factory.define('user', app.model.User, { + name: factory.sequence('User.name', n => `name_${n}`), + age: 18, + }); + + factory.define('post', app.model.Post, { + title: factory.sequence('Post.title', n => `title_${n}`), + content: factory.chance('sentence', { word: 5 }), + user_id: factory.assoc('user', 'id'), + }); +} + +declare module 'egg' { + interface Application { + factory: any; + } +} diff --git a/17-nodejs/02-egg/test/mocha.opts b/17-nodejs/02-egg/test/mocha.opts new file mode 100644 index 000000000..ea1a14816 --- /dev/null +++ b/17-nodejs/02-egg/test/mocha.opts @@ -0,0 +1 @@ +--file ./test/setup.ts \ No newline at end of file diff --git a/17-nodejs/02-egg/test/setup.ts b/17-nodejs/02-egg/test/setup.ts new file mode 100644 index 000000000..a50ab0293 --- /dev/null +++ b/17-nodejs/02-egg/test/setup.ts @@ -0,0 +1,42 @@ +import { Controller } from 'egg'; + +export default class PostController extends Controller { + async index() { + const ctx = this.ctx; + const query = { + limit: ctx.helper.parseInt(ctx.query.limit), + offset: ctx.helper.parseInt(ctx.query.offset), + }; + ctx.body = await ctx.service.post.list(query); + } + + async show() { + const ctx = this.ctx; + ctx.body = await ctx.service.post.find(ctx.helper.parseInt(ctx.params.id)); + } + + async create() { + const ctx = this.ctx; + const post = await ctx.service.post.create(ctx.request.body); + ctx.status = 201; + ctx.body = post; + } + + async update() { + const ctx = this.ctx; + const id = ctx.params.id; + const updates = { + title: ctx.request.body.title, + content: ctx.request.body.content, + }; + ctx.body = await ctx.service.post.update({ id, user_id: ctx.request.body.user_id, updates }); + } + + async destroy() { + const ctx = this.ctx; + const id = ctx.helper.parseInt(ctx.params.id); + const user_id = ctx.helper.parseInt(ctx.request.body.user_id); + await ctx.service.post.destroy({ id, user_id }); + ctx.status = 200; + } +} diff --git a/17-nodejs/02-egg/tsconfig.json b/17-nodejs/02-egg/tsconfig.json index b522c82ed..0ae3d3227 100644 --- a/17-nodejs/02-egg/tsconfig.json +++ b/17-nodejs/02-egg/tsconfig.json @@ -25,6 +25,7 @@ "exclude": [ "app/public", "app/views", - "node_modules*" + "node_modules*", + "database*" ] } diff --git a/17-nodejs/02-egg/typings/app/controller/index.d.ts b/17-nodejs/02-egg/typings/app/controller/index.d.ts index 42ed0f249..03f36bdde 100644 --- a/17-nodejs/02-egg/typings/app/controller/index.d.ts +++ b/17-nodejs/02-egg/typings/app/controller/index.d.ts @@ -2,12 +2,14 @@ // Do not modify this file!!!!!!!!! import 'egg'; -import ExportIndex from '../../../app/controller/index'; -import ExportTopics from '../../../app/controller/topics'; +import ExportDemo from '../../../app/controller/demo'; +import ExportPost from '../../../app/controller/post'; +import ExportUser from '../../../app/controller/user'; declare module 'egg' { interface IController { - index: ExportIndex; - topics: ExportTopics; + demo: ExportDemo; + post: ExportPost; + user: ExportUser; } } diff --git a/17-nodejs/02-egg/typings/app/model/index.d.ts b/17-nodejs/02-egg/typings/app/model/index.d.ts new file mode 100644 index 000000000..38c6a06bc --- /dev/null +++ b/17-nodejs/02-egg/typings/app/model/index.d.ts @@ -0,0 +1,13 @@ +// This file is created by egg-ts-helper@1.25.8 +// Do not modify this file!!!!!!!!! + +import 'egg'; +import ExportPost from '../../../app/model/post'; +import ExportUser from '../../../app/model/user'; + +declare module 'egg' { + interface IModel { + Post: ReturnType; + User: ReturnType; + } +} diff --git a/17-nodejs/02-egg/typings/app/service/index.d.ts b/17-nodejs/02-egg/typings/app/service/index.d.ts index 175acd811..d3730b7d2 100644 --- a/17-nodejs/02-egg/typings/app/service/index.d.ts +++ b/17-nodejs/02-egg/typings/app/service/index.d.ts @@ -6,12 +6,14 @@ type AnyClass = new (...args: any[]) => any; type AnyFunc = (...args: any[]) => T; type CanExportFunc = AnyFunc> | AnyFunc>; type AutoInstanceType : T> = U extends AnyClass ? InstanceType : U; -import ExportTest from '../../../app/service/Test'; -import ExportTopics from '../../../app/service/topics'; +import ExportDemo from '../../../app/service/demo'; +import ExportPost from '../../../app/service/post'; +import ExportUser from '../../../app/service/user'; declare module 'egg' { interface IService { - test: AutoInstanceType; - topics: AutoInstanceType; + demo: AutoInstanceType; + post: AutoInstanceType; + user: AutoInstanceType; } } diff --git a/17-nodejs/02-egg/typings/config/plugin.d.ts b/17-nodejs/02-egg/typings/config/plugin.d.ts index d488298d3..8a1d7ad8d 100644 --- a/17-nodejs/02-egg/typings/config/plugin.d.ts +++ b/17-nodejs/02-egg/typings/config/plugin.d.ts @@ -15,6 +15,8 @@ import 'egg-static'; import 'egg-jsonp'; import 'egg-view'; import 'egg-validate'; +import 'egg-sequelize'; +import 'egg-redis'; import { EggPluginItem } from 'egg'; declare module 'egg' { interface EggPlugin { @@ -31,5 +33,7 @@ declare module 'egg' { jsonp?: EggPluginItem; view?: EggPluginItem; validate?: EggPluginItem; + sequelize?: EggPluginItem; + redis?: EggPluginItem; } } \ No newline at end of file From 527ea42d9b96d65559f2f6b11e39aa15f887b044 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 19 Jul 2020 13:26:57 +0800 Subject: [PATCH 05/36] egg-redis --- 17-nodejs/02-egg/README.md | 5 +- 17-nodejs/02-egg/app/controller/demo.ts | 70 +++++-------------- .../02-egg/app/middleware/errorHandler.ts | 1 - 17-nodejs/02-egg/app/model/post.ts | 7 +- 17-nodejs/02-egg/app/model/user.ts | 5 +- 17-nodejs/02-egg/app/router.ts | 5 +- 17-nodejs/02-egg/app/service/demo.ts | 8 --- .../02-egg/typings/app/service/index.d.ts | 2 - 17-nodejs/02-egg/typings/index.d.ts | 10 ++- 9 files changed, 39 insertions(+), 74 deletions(-) delete mode 100644 17-nodejs/02-egg/app/service/demo.ts diff --git a/17-nodejs/02-egg/README.md b/17-nodejs/02-egg/README.md index 8f9cbd61c..5f5e7643a 100644 --- a/17-nodejs/02-egg/README.md +++ b/17-nodejs/02-egg/README.md @@ -51,4 +51,7 @@ prettier sequelize https://sequelize.org/master/manual/query-interface.html -https://sequelize.org/master/variable/index.html#static-variable-DataTypes \ No newline at end of file +https://sequelize.org/master/variable/index.html#static-variable-DataTypes + +validate +https://github.com/node-modules/parameter#rule \ No newline at end of file diff --git a/17-nodejs/02-egg/app/controller/demo.ts b/17-nodejs/02-egg/app/controller/demo.ts index b4fc25737..7bf1b1e42 100644 --- a/17-nodejs/02-egg/app/controller/demo.ts +++ b/17-nodejs/02-egg/app/controller/demo.ts @@ -1,72 +1,36 @@ import { Controller } from 'egg'; -// 定义创建接口的请求参数规则 -// https://github.com/node-modules/parameter#rule -const createRule = { - name: 'string', - type: { type: 'enum', values: [ 'ask', 'share' ], required: false }, -}; - export default class DemoController extends Controller { - // GET /demo + + // GET / public async index() { const { ctx } = this; - ctx.logger.debug('test logger'); + ctx.response.redirect('/public/test.html'); + } + + // GET /api/demo + public async testEnv() { + const { ctx } = this; ctx.body = `

${ctx.app.env}

`; // local ctx.response.type = 'text/html'; ctx.status = 200; - - // ctx.app.redis.get() - // client.on('connect', function () { - // // set 语法 - // client.set('lubanH5makerTest', 'csxiaoyao', function (err, data) { - // console.log(1, data) - // }) - // // get 语法 - // client.get('lubanH5makerTest', function (err, data) { - // console.log(2, data) - // }) - // }) } - // GET /demo/new - public async new() { + // GET /api/demo/:id + public async testThrowError() { const { app, ctx } = this; + ctx.logger.debug('testThrowError with id: %j', ctx.params.id); ctx.throw({ code: app.config.CODE.TEST_ERROR, message: '测试错误抛出', }); } - // POST /demo - public async create() { - const { ctx } = this; - // 校验 `ctx.request.body` 是否符合我们预期的格式 - // 如果参数校验未通过,将会抛出一个 status = 422 的异常 - ctx.validate(createRule, ctx.request.body); - // 调用 service 创建一个 demo - const data = await ctx.service.demo.create(ctx.request.body); - // 设置响应体和状态码 - ctx.helper.rest({ - ...data, - }, 'ok', 0); - } - // GET /demo/:id - public async show() { - const { ctx } = this; - ctx.logger.debug('fetch id: %j', ctx.params.id); - console.log('test show'); - } - // GET /demo/:id/edit edit_demo - public async edit() { - console.log('test edit'); - } - // PUT /demo/:id demo - public async update() { - console.log('test update'); - } - // DELETE /demo/:id demo - public async destroy() { - console.log('test destroy'); + // POST /api/demo + public async testRedis() { + const { app, ctx } = this; + await app.redis.set('test', ctx.request.body.test); + const data = await app.redis.get('test'); + ctx.helper.rest(data); } } diff --git a/17-nodejs/02-egg/app/middleware/errorHandler.ts b/17-nodejs/02-egg/app/middleware/errorHandler.ts index f8b8e3fb0..72f41a717 100644 --- a/17-nodejs/02-egg/app/middleware/errorHandler.ts +++ b/17-nodejs/02-egg/app/middleware/errorHandler.ts @@ -32,7 +32,6 @@ export default () => { // 404 单独处理 if (ctx.status === 404 && !ctx.body) { - console.log(ctx.acceptJSON); if (ctx.acceptJSON) { ctx.body = { error: 'Not Found' }; } else { diff --git a/17-nodejs/02-egg/app/model/post.ts b/17-nodejs/02-egg/app/model/post.ts index 5478b8009..559b3797d 100644 --- a/17-nodejs/02-egg/app/model/post.ts +++ b/17-nodejs/02-egg/app/model/post.ts @@ -1,6 +1,5 @@ -// import { Application } from 'egg'; -// export default function(app: Application) { -export default function(app) { +import { Application } from 'egg'; +export default function(app: Application) { const { STRING, INTEGER } = app.Sequelize; const Post = app.model.define('posts', { @@ -33,7 +32,7 @@ export default function(app) { } static async findByIdWithUser(id: number, userId: number) { - return await this.findOne({ + return await app.model.Post.findOne({ where: { id, user_id: userId }, }); } diff --git a/17-nodejs/02-egg/app/model/user.ts b/17-nodejs/02-egg/app/model/user.ts index 615c537f2..150c76834 100644 --- a/17-nodejs/02-egg/app/model/user.ts +++ b/17-nodejs/02-egg/app/model/user.ts @@ -1,6 +1,5 @@ -// import { Application } from 'egg'; -// export default function(app: Application) { -export default function(app) { +import { Application } from 'egg'; +export default function(app: Application) { const { STRING, BIGINT, INTEGER } = app.Sequelize; const User = app.model.define('users', { diff --git a/17-nodejs/02-egg/app/router.ts b/17-nodejs/02-egg/app/router.ts index 5980a85e3..724a856b4 100644 --- a/17-nodejs/02-egg/app/router.ts +++ b/17-nodejs/02-egg/app/router.ts @@ -4,7 +4,10 @@ export default (app: Application) => { const { controller, router } = app; router.get('/', controller.demo.index); - router.resources('demo', '/api/demo', controller.demo); + router.get('/api/demo', controller.demo.testEnv); + router.get('/api/demo/:id', controller.demo.testThrowError); + router.post('/api/demo', controller.demo.testRedis); + router.resources('users', '/api/users', controller.user); router.resources('posts', '/api/posts', controller.post); }; diff --git a/17-nodejs/02-egg/app/service/demo.ts b/17-nodejs/02-egg/app/service/demo.ts deleted file mode 100644 index 9c9b2517d..000000000 --- a/17-nodejs/02-egg/app/service/demo.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Service } from 'egg'; - -export default class DemoService extends Service { - public async create(params) { - this.ctx.logger.debug('debug info from service --- %j', params); - return params; - } -} diff --git a/17-nodejs/02-egg/typings/app/service/index.d.ts b/17-nodejs/02-egg/typings/app/service/index.d.ts index d3730b7d2..c8926e9a6 100644 --- a/17-nodejs/02-egg/typings/app/service/index.d.ts +++ b/17-nodejs/02-egg/typings/app/service/index.d.ts @@ -6,13 +6,11 @@ type AnyClass = new (...args: any[]) => any; type AnyFunc = (...args: any[]) => T; type CanExportFunc = AnyFunc> | AnyFunc>; type AutoInstanceType : T> = U extends AnyClass ? InstanceType : U; -import ExportDemo from '../../../app/service/demo'; import ExportPost from '../../../app/service/post'; import ExportUser from '../../../app/service/user'; declare module 'egg' { interface IService { - demo: AutoInstanceType; post: AutoInstanceType; user: AutoInstanceType; } diff --git a/17-nodejs/02-egg/typings/index.d.ts b/17-nodejs/02-egg/typings/index.d.ts index c81035ac9..c0c681d3d 100644 --- a/17-nodejs/02-egg/typings/index.d.ts +++ b/17-nodejs/02-egg/typings/index.d.ts @@ -1,5 +1,13 @@ import 'egg'; declare module 'egg' { - + interface Application { + redis: redis; + } + interface Application { + model: model; + } + interface Application { + Sequelize: Sequelize; + } } \ No newline at end of file From 14b7e29adebaaaf2bf27e080efd885c51a26ecf6 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 19 Jul 2020 14:35:03 +0800 Subject: [PATCH 06/36] egg-update --- 17-nodejs/02-egg/.gitignore | 3 +- 17-nodejs/02-egg/.vscode/launch.json | 19 +++++++ 17-nodejs/02-egg/.vscode/settings.json | 8 +++ 17-nodejs/02-egg/LICENSE | 23 ++++++++- 17-nodejs/02-egg/README.md | 49 ++++++++++--------- .../02-egg/app/middleware/errorHandler.ts | 3 ++ 17-nodejs/02-egg/app/middleware/robot.ts | 5 +- 17-nodejs/02-egg/app/model/user.ts | 1 - 17-nodejs/02-egg/app/router.ts | 2 +- 17-nodejs/02-egg/config/Code.ts | 6 +++ 17-nodejs/02-egg/config/config.default.ts | 47 +++++++++--------- 17-nodejs/02-egg/config/config.local.ts | 10 +--- .../migrations/20200718172025-init-users.js | 45 +++++++++++++++++ .../migrations/20200718183447-init-post.js | 27 ++++++++++ .../migrations/20200719021234-update-users.js | 14 ++++++ .../seeders/20200719054323-init-users.js | 39 +++++++++++++++ 17-nodejs/02-egg/doc/.gitkeep | 0 17-nodejs/02-egg/package.json | 11 ++++- .../02-egg/test/app/controller/demo.test.ts | 4 +- 19 files changed, 253 insertions(+), 63 deletions(-) create mode 100644 17-nodejs/02-egg/.vscode/launch.json create mode 100644 17-nodejs/02-egg/.vscode/settings.json create mode 100644 17-nodejs/02-egg/config/Code.ts create mode 100644 17-nodejs/02-egg/database/migrations/20200718172025-init-users.js create mode 100644 17-nodejs/02-egg/database/migrations/20200718183447-init-post.js create mode 100644 17-nodejs/02-egg/database/migrations/20200719021234-update-users.js create mode 100644 17-nodejs/02-egg/database/seeders/20200719054323-init-users.js create mode 100644 17-nodejs/02-egg/doc/.gitkeep diff --git a/17-nodejs/02-egg/.gitignore b/17-nodejs/02-egg/.gitignore index c039540f8..4b9d5e01b 100644 --- a/17-nodejs/02-egg/.gitignore +++ b/17-nodejs/02-egg/.gitignore @@ -6,7 +6,6 @@ coverage/ run/ logs/ .DS_Store -.vscode *.swp *.lock *.js @@ -18,3 +17,5 @@ config/**/*.js app/**/*.map test/**/*.map config/**/*.map + +!database/**/* \ No newline at end of file diff --git a/17-nodejs/02-egg/.vscode/launch.json b/17-nodejs/02-egg/.vscode/launch.json new file mode 100644 index 000000000..7fe0f2d9f --- /dev/null +++ b/17-nodejs/02-egg/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Egg", + "type": "node", + "request": "launch", + "cwd": "${workspaceRoot}", + "runtimeExecutable": "npm", + "windows": { "runtimeExecutable": "npm.cmd" }, + "runtimeArgs": [ "run", "debug" ], + "console": "integratedTerminal", + "protocol": "auto", + "restart": true, + "port": 9229, + "autoAttachChildProcesses": true + } + ] +} \ No newline at end of file diff --git a/17-nodejs/02-egg/.vscode/settings.json b/17-nodejs/02-egg/.vscode/settings.json new file mode 100644 index 000000000..acd187f7a --- /dev/null +++ b/17-nodejs/02-egg/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "eslint.validate": [ + "javascript", + "javascriptreact", + { "language": "typescript", "autoFix": true }, + { "language": "typescriptreact", "autoFix": true }, + ] +} \ No newline at end of file diff --git a/17-nodejs/02-egg/LICENSE b/17-nodejs/02-egg/LICENSE index db9612b0c..9b563deb0 100644 --- a/17-nodejs/02-egg/LICENSE +++ b/17-nodejs/02-egg/LICENSE @@ -1 +1,22 @@ -MIT LICENSE \ No newline at end of file +MIT LICENSE + +Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/17-nodejs/02-egg/README.md b/17-nodejs/02-egg/README.md index 5f5e7643a..cbfb42f90 100644 --- a/17-nodejs/02-egg/README.md +++ b/17-nodejs/02-egg/README.md @@ -1,6 +1,4 @@ -# hackernews-async-ts - -[Hacker News](https://news.ycombinator.com/) showcase using typescript && egg +# egg-demo-csxiaoyao ## QuickStart @@ -9,7 +7,7 @@ ```bash $ npm i $ npm run dev -$ open http://localhost:7001/ +$ open http://localhost:2048/ ``` Don't tsc compile at development mode, if you had run `tsc` then you need to `npm run clean` before `npm run dev`. @@ -32,26 +30,31 @@ $ npm start - Node.js 8.x - Typescript 2.8+ - +## Other +Need to start `mysql` & `redis` +``` +$ brew services start mysql $ redis-server +``` + +## TODO +1. docs +2. whistle & domain +3. login & passport & auth +4. husky +5. lint-staged +6. prettier + +## Docs +**validate** + +https://github.com/node-modules/parameter#rule + +**mocha** + +https://mochajs.cn/ + +**sequelize** -redis -seed -docs -cros -TDD -域名 -登录态 -权限校验 -whistle -husky -lint-staged -prettier - - -sequelize https://sequelize.org/master/manual/query-interface.html https://sequelize.org/master/variable/index.html#static-variable-DataTypes - -validate -https://github.com/node-modules/parameter#rule \ No newline at end of file diff --git a/17-nodejs/02-egg/app/middleware/errorHandler.ts b/17-nodejs/02-egg/app/middleware/errorHandler.ts index 72f41a717..f2a0ace06 100644 --- a/17-nodejs/02-egg/app/middleware/errorHandler.ts +++ b/17-nodejs/02-egg/app/middleware/errorHandler.ts @@ -1,3 +1,6 @@ +/** + * 错误处理中间件 + */ export default () => { return async function errorHandler(ctx, next) { try { diff --git a/17-nodejs/02-egg/app/middleware/robot.ts b/17-nodejs/02-egg/app/middleware/robot.ts index 194d895e6..fa014f86f 100644 --- a/17-nodejs/02-egg/app/middleware/robot.ts +++ b/17-nodejs/02-egg/app/middleware/robot.ts @@ -1,5 +1,6 @@ - - +/** + * robot拦截 + */ // options === app.config.robot export default (options, app) => { console.log(app.config.robot); diff --git a/17-nodejs/02-egg/app/model/user.ts b/17-nodejs/02-egg/app/model/user.ts index 150c76834..67c76cdef 100644 --- a/17-nodejs/02-egg/app/model/user.ts +++ b/17-nodejs/02-egg/app/model/user.ts @@ -33,6 +33,5 @@ export default function(app: Application) { app.model.User.hasMany(app.model.Post, { as: 'posts' }); } }; - // return User; } diff --git a/17-nodejs/02-egg/app/router.ts b/17-nodejs/02-egg/app/router.ts index 724a856b4..8dfc06189 100644 --- a/17-nodejs/02-egg/app/router.ts +++ b/17-nodejs/02-egg/app/router.ts @@ -7,7 +7,7 @@ export default (app: Application) => { router.get('/api/demo', controller.demo.testEnv); router.get('/api/demo/:id', controller.demo.testThrowError); router.post('/api/demo', controller.demo.testRedis); - + // restful router.resources('users', '/api/users', controller.user); router.resources('posts', '/api/posts', controller.post); }; diff --git a/17-nodejs/02-egg/config/Code.ts b/17-nodejs/02-egg/config/Code.ts new file mode 100644 index 000000000..2f981818e --- /dev/null +++ b/17-nodejs/02-egg/config/Code.ts @@ -0,0 +1,6 @@ +export default { + SUCCESS: '0', + TEST_ERROR: '-1', // only for test + CURL_ERROR: '-1000', + DATA_NOT_FOUND: '404', +}; diff --git a/17-nodejs/02-egg/config/config.default.ts b/17-nodejs/02-egg/config/config.default.ts index 48e451bc3..6158e4481 100644 --- a/17-nodejs/02-egg/config/config.default.ts +++ b/17-nodejs/02-egg/config/config.default.ts @@ -1,4 +1,10 @@ +/** + * config default + * csxiaoyao + * 2020.07.19 + */ import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; +import CODE from './CODE'; export default (appInfo: EggAppInfo) => { const config = {} as PowerPartial; @@ -7,13 +13,7 @@ export default (appInfo: EggAppInfo) => { // use for cookie sign key, should change to your own and keep security config.keys = appInfo.name + '_csxiaoyao'; - config.CODE = { - SUCCESS: '0', - TEST_ERROR: '-1', - CURL_ERROR: '-1000', - DATA_NOT_FOUND: '404', - }; - + // mysql config.sequelize = { dialect: 'mysql', host: '127.0.0.1', @@ -24,55 +24,58 @@ export default (appInfo: EggAppInfo) => { timezone: '+08:00', }; + // redis + config.redis = { + client: { + port: 6379, + host: '127.0.0.1', + password: '', + db: 0, + }, + }; + + // 全局错误处理 config.onerror = { all(err, ctx) { console.log(err); - // 在此处定义针对所有响应类型的错误处理方法 - // 注意,定义了 config.all 之后,其他错误处理方法不会再生效 ctx.body = 'error'; ctx.status = 500; }, html(err, ctx) { console.log(err); - // html hander ctx.body = '

error

'; ctx.status = 500; }, json(err, ctx) { console.log(err); - // json hander ctx.body = { message: 'error' }; ctx.status = 500; }, }; + // body数据解析 const bodyParser = { jsonLimit: '3mb', // ignore: '/api', }; - // add your egg config in here + /** + * 自定义中间件配置 + */ config.middleware = [ 'robot', 'errorHandler', ]; - - // robot's configurations const robot = { - ua: [ - /curl/i, - /Baiduspider/i, - ], + ua: [ /curl/i ], }; - - // 只对 /api 前缀的 url 路径生效 const errorHandler = { - match: '/api', + match: '/api', // 只对 /api 前缀的 url 路径生效 }; - // the return config will combines to EggAppConfig return { ...config, + CODE, bodyParser, robot, errorHandler, diff --git a/17-nodejs/02-egg/config/config.local.ts b/17-nodejs/02-egg/config/config.local.ts index 1565c0477..e24baf6dd 100644 --- a/17-nodejs/02-egg/config/config.local.ts +++ b/17-nodejs/02-egg/config/config.local.ts @@ -3,6 +3,7 @@ import { EggAppConfig, PowerPartial } from 'egg'; export default () => { const config: PowerPartial = {}; + // 日志输出等级调整 config.logger = { level: 'DEBUG', // 输出到文件级别 consoleLevel: 'DEBUG', // 输出到console级别 @@ -14,15 +15,6 @@ export default () => { }, }; - config.redis = { - client: { - port: 6379, - host: '127.0.0.1', - password: '', - db: 0, - }, - }; - return { ...config, }; diff --git a/17-nodejs/02-egg/database/migrations/20200718172025-init-users.js b/17-nodejs/02-egg/database/migrations/20200718172025-init-users.js new file mode 100644 index 000000000..97fd24089 --- /dev/null +++ b/17-nodejs/02-egg/database/migrations/20200718172025-init-users.js @@ -0,0 +1,45 @@ +'use strict'; + +module.exports = { + // 在执行数据库升级时调用的函数,创建 users 表 + up: async (queryInterface, Sequelize) => { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + const { BIGINT, INTEGER, DATE, STRING, NOW } = Sequelize; + await queryInterface.createTable('users', { + id: { + type: BIGINT(11), + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + name: STRING(30), + age: INTEGER, + created_at: { + type: DATE, + defaultValue: NOW, + allowNull: false + }, + updated_at: { + type: DATE, + defaultValue: NOW, + allowNull: false + }, + }); + }, + // 在执行数据库降级时调用的函数,删除 users 表 + down: async (queryInterface, Sequelize) => { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.dropTable('users'); + }, +}; diff --git a/17-nodejs/02-egg/database/migrations/20200718183447-init-post.js b/17-nodejs/02-egg/database/migrations/20200718183447-init-post.js new file mode 100644 index 000000000..9a80f4f08 --- /dev/null +++ b/17-nodejs/02-egg/database/migrations/20200718183447-init-post.js @@ -0,0 +1,27 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + const { INTEGER, STRING, DATE, NOW } = Sequelize; + await queryInterface.createTable('posts', { + id: { type: INTEGER, primaryKey: true, autoIncrement: true }, + title: STRING(30), + content: STRING(255), + user_id: INTEGER, + created_at: { + type: DATE, + defaultValue: NOW, + allowNull: false + }, + updated_at: { + type: DATE, + defaultValue: NOW, + allowNull: false + }, + }); + }, + + down: async queryInterface => { + await queryInterface.dropTable('posts'); + }, +}; \ No newline at end of file diff --git a/17-nodejs/02-egg/database/migrations/20200719021234-update-users.js b/17-nodejs/02-egg/database/migrations/20200719021234-update-users.js new file mode 100644 index 000000000..4baea3d66 --- /dev/null +++ b/17-nodejs/02-egg/database/migrations/20200719021234-update-users.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + const { STRING } = Sequelize; + await queryInterface.addColumn('users', 'gender', STRING(10), { + after: 'age' + }); + }, + + down: async (queryInterface, Sequelize) => { + await queryInterface.removeColumn('users', 'gender'); + } +}; diff --git a/17-nodejs/02-egg/database/seeders/20200719054323-init-users.js b/17-nodejs/02-egg/database/seeders/20200719054323-init-users.js new file mode 100644 index 000000000..f8c0c27ef --- /dev/null +++ b/17-nodejs/02-egg/database/seeders/20200719054323-init-users.js @@ -0,0 +1,39 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + /** + * Add seed commands here. + * + * Example: + * await queryInterface.bulkInsert('People', [{ + * name: 'John Doe', + * isBetaMember: false + * }], {}); + */ + return queryInterface.bulkInsert( + 'users', + [ + { + id: 1, + name: 'csxiaoyao', + age: 27, + gender: 'male', + created_at: '2020-07-20 00:00:00', + updated_at: '2020-07-20 00:00:00', + }, + ], + {} + ); + }, + + down: async (queryInterface, Sequelize) => { + /** + * Add commands to revert seed here. + * + * Example: + * await queryInterface.bulkDelete('People', null, {}); + */ + return queryInterface.bulkDelete('users', null, {}); + } +}; diff --git a/17-nodejs/02-egg/doc/.gitkeep b/17-nodejs/02-egg/doc/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/17-nodejs/02-egg/package.json b/17-nodejs/02-egg/package.json index 874030a65..991f72099 100644 --- a/17-nodejs/02-egg/package.json +++ b/17-nodejs/02-egg/package.json @@ -18,9 +18,18 @@ "tsc": "ets && tsc -p tsconfig.json", "ci": "npm run lint && NODE_ENV=test npx sequelize db:migrate && npm run cov && npm run tsc", "autod": "autod", + "dev:doc": "npx vuepress dev doc", + "build:doc": "npx vuepress build doc", "lint": "npx eslint . --ext .ts", + "lint:fix": "npx eslint . --ext .ts --fix", "clean": "ets clean", - "sequelize": "sequelize --" + "sequelize": "sequelize --", + "migrate:up": "npx sequelize db:migrate", + "migrate:down": "npx sequelize db:migrate:undo", + "migrate:down:all": "npx sequelize db:migrate:undo:all", + "seed:up": "npx sequelize db:seed:all", + "seed:down": "npx sequelize db:seed:undo", + "seed:down:all": "npx sequelize db:seed:undo:all" }, "dependencies": { "egg": "^2.6.1", diff --git a/17-nodejs/02-egg/test/app/controller/demo.test.ts b/17-nodejs/02-egg/test/app/controller/demo.test.ts index 0c4cfc223..9a23d959c 100644 --- a/17-nodejs/02-egg/test/app/controller/demo.test.ts +++ b/17-nodejs/02-egg/test/app/controller/demo.test.ts @@ -4,8 +4,8 @@ import { app } from 'egg-mock/bootstrap'; // https://mochajs.org/#usage describe('test/app/controller/demo.test.ts', () => { - it('should GET /', async () => { - const result = await app.httpRequest().get('/').expect(200); + it('should GET /api/demo testEnv', async () => { + const result = await app.httpRequest().get('/api/demo').expect(200); assert(result.text === `

${app.env}

`); }); }); From 9aa50a03cda050329cbe5b8c02def68b828460e5 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 19 Jul 2020 16:45:22 +0800 Subject: [PATCH 07/36] unit-test --- 17-nodejs/02-egg/.vscode/settings.json | 3 +- 17-nodejs/02-egg/LICENSE | 2 - 17-nodejs/02-egg/README.md | 4 ++ 17-nodejs/02-egg/app/model/post.ts | 5 +- 17-nodejs/02-egg/app/model/user.ts | 5 +- 17-nodejs/02-egg/package-lock.json | 57 ++++++++++++++++--- 17-nodejs/02-egg/package.json | 5 +- .../02-egg/test/app/controller/post.test.ts | 35 ++++++------ .../02-egg/test/app/controller/user.test.ts | 34 +++++------ 17-nodejs/02-egg/test/app/service/.gitkeep | 0 .../02-egg/test/app/service/demo.test.ts | 19 ------- 17-nodejs/02-egg/test/factories.ts | 6 +- 17-nodejs/02-egg/test/setup.ts | 57 +++++-------------- 13 files changed, 117 insertions(+), 115 deletions(-) create mode 100644 17-nodejs/02-egg/test/app/service/.gitkeep delete mode 100644 17-nodejs/02-egg/test/app/service/demo.test.ts diff --git a/17-nodejs/02-egg/.vscode/settings.json b/17-nodejs/02-egg/.vscode/settings.json index acd187f7a..1fd808197 100644 --- a/17-nodejs/02-egg/.vscode/settings.json +++ b/17-nodejs/02-egg/.vscode/settings.json @@ -4,5 +4,6 @@ "javascriptreact", { "language": "typescript", "autoFix": true }, { "language": "typescriptreact", "autoFix": true }, - ] + ], + "mocha.subdirectory": "test" } \ No newline at end of file diff --git a/17-nodejs/02-egg/LICENSE b/17-nodejs/02-egg/LICENSE index 9b563deb0..86f450148 100644 --- a/17-nodejs/02-egg/LICENSE +++ b/17-nodejs/02-egg/LICENSE @@ -1,7 +1,5 @@ MIT LICENSE -Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/ - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including diff --git a/17-nodejs/02-egg/README.md b/17-nodejs/02-egg/README.md index cbfb42f90..cbd6c85aa 100644 --- a/17-nodejs/02-egg/README.md +++ b/17-nodejs/02-egg/README.md @@ -44,6 +44,7 @@ $ redis-server 4. husky 5. lint-staged 6. prettier +7. password organization ## Docs **validate** @@ -58,3 +59,6 @@ https://mochajs.cn/ https://sequelize.org/master/manual/query-interface.html https://sequelize.org/master/variable/index.html#static-variable-DataTypes + +**factory-girl** +https://www.npmjs.com/package/factory-girl \ No newline at end of file diff --git a/17-nodejs/02-egg/app/model/post.ts b/17-nodejs/02-egg/app/model/post.ts index 559b3797d..cadf15f5c 100644 --- a/17-nodejs/02-egg/app/model/post.ts +++ b/17-nodejs/02-egg/app/model/post.ts @@ -1,5 +1,6 @@ -import { Application } from 'egg'; -export default function(app: Application) { +// import { Application } from 'egg'; +// export default function(app: Application) { +export default function(app) { const { STRING, INTEGER } = app.Sequelize; const Post = app.model.define('posts', { diff --git a/17-nodejs/02-egg/app/model/user.ts b/17-nodejs/02-egg/app/model/user.ts index 67c76cdef..8ac73a0a8 100644 --- a/17-nodejs/02-egg/app/model/user.ts +++ b/17-nodejs/02-egg/app/model/user.ts @@ -1,5 +1,6 @@ -import { Application } from 'egg'; -export default function(app: Application) { +// import { Application } from 'egg'; +// export default function(app: Application) { +export default function(app) { const { STRING, BIGINT, INTEGER } = app.Sequelize; const User = app.model.define('users', { diff --git a/17-nodejs/02-egg/package-lock.json b/17-nodejs/02-egg/package-lock.json index f439ea158..87d15ba5b 100644 --- a/17-nodejs/02-egg/package-lock.json +++ b/17-nodejs/02-egg/package-lock.json @@ -921,6 +921,11 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -2128,7 +2133,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -2471,6 +2475,19 @@ "utility": "^1.12.0" } }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2489,8 +2506,7 @@ "chance": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.6.tgz", - "integrity": "sha512-DXLzaGjasDWbvlFAJyQBIwlzdQZuPdz4of9TTTxmHTjja88ZU/vBwUwxxjalSt43zWTPrhiJT0z0N4bZqfZS9w==", - "dev": true + "integrity": "sha512-DXLzaGjasDWbvlFAJyQBIwlzdQZuPdz4of9TTTxmHTjja88ZU/vBwUwxxjalSt43zWTPrhiJT0z0N4bZqfZS9w==" }, "change-case": { "version": "3.1.0", @@ -2517,6 +2533,11 @@ "upper-case-first": "^1.1.0" } }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -2864,8 +2885,7 @@ "core-js": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "core-js-pure": { "version": "3.6.5", @@ -2977,6 +2997,14 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "requires": { + "type-detect": "^4.0.0" + } + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -5147,7 +5175,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/factory-girl/-/factory-girl-5.0.4.tgz", "integrity": "sha512-ugGBetzpevbAlKEyMRasBlmCQ76EkvZFMLIsA6K17Pwp/8+7ffBmmxkkw1LoXrOyB6iIgEcmbVF4TcIAnKXyDA==", - "dev": true, "requires": { "babel-runtime": "^6.11.6", "chance": "^1.0.4" @@ -5370,6 +5397,11 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + }, "get-ready": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/get-ready/-/get-ready-2.0.1.tgz", @@ -8627,6 +8659,11 @@ "pify": "^3.0.0" } }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -9151,8 +9188,7 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.10.1", @@ -10519,6 +10555,11 @@ "prelude-ls": "~1.1.2" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", diff --git a/17-nodejs/02-egg/package.json b/17-nodejs/02-egg/package.json index 991f72099..be8cba797 100644 --- a/17-nodejs/02-egg/package.json +++ b/17-nodejs/02-egg/package.json @@ -12,8 +12,8 @@ "stop": "egg-scripts stop --title=egg-server-demo", "dev": "npx sequelize db:migrate && egg-bin dev --port 2048", "debug": "egg-bin debug", - "test-local": "egg-bin test", - "test": "NODE_ENV=test npm run sequelize -- db:migrate && npm run lint -- --fix && npm run test-local", + "test": "NODE_ENV=test npm run sequelize -- db:migrate && npm run lint -- --fix && npm run test:local", + "test:local": "egg-bin test", "cov": "egg-bin cov", "tsc": "ets && tsc -p tsconfig.json", "ci": "npm run lint && NODE_ENV=test npx sequelize db:migrate && npm run cov && npm run tsc", @@ -32,6 +32,7 @@ "seed:down:all": "npx sequelize db:seed:undo:all" }, "dependencies": { + "chai": "^4.2.0", "egg": "^2.6.1", "egg-redis": "^2.4.0", "egg-scripts": "^2.6.0", diff --git a/17-nodejs/02-egg/test/app/controller/post.test.ts b/17-nodejs/02-egg/test/app/controller/post.test.ts index 1232286ef..f19d28ee7 100644 --- a/17-nodejs/02-egg/test/app/controller/post.test.ts +++ b/17-nodejs/02-egg/test/app/controller/post.test.ts @@ -1,53 +1,54 @@ import { app } from 'egg-mock/bootstrap'; import assert = require('assert'); +// import { expect } from 'chai'; describe('test/app/service/post.test.js', () => { - describe('GET /posts', () => { + describe('GET /api/posts', () => { it('should work', async () => { await app.factory.createMany('post', 3); - const res = await app.httpRequest().get('/posts?limit=2'); + const res = await app.httpRequest().get('/api/posts?limit=2'); assert(res.status === 200); - assert(res.body.count === 3); - assert(res.body.rows.length === 2); - assert(res.body.rows[0].title); - assert(!res.body.rows[0].content); + assert(res.body.data.count === 3); + assert(res.body.data.rows.length === 2); + assert(res.body.data.rows[0].title); + assert(!res.body.data.rows[0].content); }); }); - describe('GET /posts/:id', () => { + describe('GET /api/posts/:id', () => { it('should work', async () => { const post = await app.factory.create('post'); - const res = await app.httpRequest().get(`/posts/${post.id}`); + const res = await app.httpRequest().get(`/api/posts/${post.id}`); assert(res.status === 200); - assert(res.body.title === post.title); - assert(res.body.content === post.content); + assert(res.body.data.title === post.title); + assert(res.body.data.content === post.content); }); }); - describe('POST /posts', () => { + describe('POST /api/posts', () => { it('should work', async () => { app.mockCsrf(); - let res = await app.httpRequest().post('/posts') + let res = await app.httpRequest().post('/api/posts') .send({ title: 'title', content: 'content', user_id: 1, }); assert(res.status === 201); - assert(res.body.id); + assert(res.body.data.id); - res = await app.httpRequest().get(`/posts/${res.body.id}`); + res = await app.httpRequest().get(`/api/posts/${res.body.data.id}`); assert(res.status === 200); - assert(res.body.title === 'title'); + assert(res.body.data.title === 'title'); }); }); - describe('DELETE /posts/:id', () => { + describe('DELETE /api/posts/:id', () => { it('should work', async () => { const post = await app.factory.create('post'); app.mockCsrf(); - const res = await app.httpRequest().delete(`/posts/${post.id}`) + const res = await app.httpRequest().delete(`/api/posts/${post.id}`) .send({ user_id: post.user_id }); assert(res.status === 200); }); diff --git a/17-nodejs/02-egg/test/app/controller/user.test.ts b/17-nodejs/02-egg/test/app/controller/user.test.ts index 1a0643acf..fdee7687a 100644 --- a/17-nodejs/02-egg/test/app/controller/user.test.ts +++ b/17-nodejs/02-egg/test/app/controller/user.test.ts @@ -2,50 +2,50 @@ import { app } from 'egg-mock/bootstrap'; import assert = require('assert'); describe('test/app/service/user.test.js', () => { - describe('GET /users', () => { + describe('GET /api/users', () => { it('should work', async () => { await app.factory.createMany('user', 3); - const res = await app.httpRequest().get('/users?limit=2'); + const res = await app.httpRequest().get('/api/users?limit=2'); assert(res.status === 200); - assert(res.body.count === 3); - assert(res.body.rows.length === 2); - assert(res.body.rows[0].name); - assert(res.body.rows[0].age); + assert(res.body.data.count === 3); + assert(res.body.data.rows.length === 2); + assert(res.body.data.rows[0].name); + assert(res.body.data.rows[0].age); }); }); - describe('GET /users/:id', () => { + describe('GET /api/users/:id', () => { it('should work', async () => { const user = await app.factory.create('user'); - const res = await app.httpRequest().get(`/users/${user.id}`); + const res = await app.httpRequest().get(`/api/users/${user.id}`); assert(res.status === 200); - assert(res.body.age === user.age); + assert(res.body.data.age === user.age); }); }); - describe('POST /users', () => { + describe('POST /api/users', () => { it('should work', async () => { app.mockCsrf(); - let res = await app.httpRequest().post('/users') + let res = await app.httpRequest().post('/api/users') .send({ age: 10, name: 'name', + gender: 'male' }); assert(res.status === 201); - assert(res.body.id); + assert(res.body.data.id); - res = await app.httpRequest().get(`/users/${res.body.id}`); + res = await app.httpRequest().get(`/api/users/${res.body.data.id}`); assert(res.status === 200); - assert(res.body.name === 'name'); + assert(res.body.data.name === 'name'); }); }); - describe('DELETE /users/:id', () => { + describe('DELETE /api/users/:id', () => { it('should work', async () => { const user = await app.factory.create('user'); - app.mockCsrf(); - const res = await app.httpRequest().delete(`/users/${user.id}`); + const res = await app.httpRequest().delete(`/api/users/${user.id}`); assert(res.status === 200); }); }); diff --git a/17-nodejs/02-egg/test/app/service/.gitkeep b/17-nodejs/02-egg/test/app/service/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/17-nodejs/02-egg/test/app/service/demo.test.ts b/17-nodejs/02-egg/test/app/service/demo.test.ts deleted file mode 100644 index 012c8f4b1..000000000 --- a/17-nodejs/02-egg/test/app/service/demo.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as assert from 'assert'; -import { Context } from 'egg'; -import { app } from 'egg-mock/bootstrap'; - -describe('test/app/service/demo.test.js', () => { - let ctx: Context; - const param = { - data: 'test', - }; - - before(async () => { - ctx = app.mockContext(); - }); - - it('create', async () => { - const result = await ctx.service.demo.create(param); - assert(JSON.stringify(result) === JSON.stringify(param)); - }); -}); diff --git a/17-nodejs/02-egg/test/factories.ts b/17-nodejs/02-egg/test/factories.ts index 0f2a70fc1..b1a689d70 100644 --- a/17-nodejs/02-egg/test/factories.ts +++ b/17-nodejs/02-egg/test/factories.ts @@ -1,12 +1,12 @@ -// import { MockApplication } from 'egg-mock'; +import { MockApplication } from 'egg-mock'; import { factory } from 'factory-girl'; -// export default function(app: MockApplication) { -export default function(app) { +export default function(app: MockApplication) { app.factory = factory; factory.define('user', app.model.User, { name: factory.sequence('User.name', n => `name_${n}`), age: 18, + gender: 'male', }); factory.define('post', app.model.Post, { diff --git a/17-nodejs/02-egg/test/setup.ts b/17-nodejs/02-egg/test/setup.ts index a50ab0293..58fa5b157 100644 --- a/17-nodejs/02-egg/test/setup.ts +++ b/17-nodejs/02-egg/test/setup.ts @@ -1,42 +1,15 @@ -import { Controller } from 'egg'; - -export default class PostController extends Controller { - async index() { - const ctx = this.ctx; - const query = { - limit: ctx.helper.parseInt(ctx.query.limit), - offset: ctx.helper.parseInt(ctx.query.offset), - }; - ctx.body = await ctx.service.post.list(query); - } - - async show() { - const ctx = this.ctx; - ctx.body = await ctx.service.post.find(ctx.helper.parseInt(ctx.params.id)); - } - - async create() { - const ctx = this.ctx; - const post = await ctx.service.post.create(ctx.request.body); - ctx.status = 201; - ctx.body = post; - } - - async update() { - const ctx = this.ctx; - const id = ctx.params.id; - const updates = { - title: ctx.request.body.title, - content: ctx.request.body.content, - }; - ctx.body = await ctx.service.post.update({ id, user_id: ctx.request.body.user_id, updates }); - } - - async destroy() { - const ctx = this.ctx; - const id = ctx.helper.parseInt(ctx.params.id); - const user_id = ctx.helper.parseInt(ctx.request.body.user_id); - await ctx.service.post.destroy({ id, user_id }); - ctx.status = 200; - } -} +import { app } from 'egg-mock/bootstrap'; +import factories from './factories'; + +before(() => { + // defined app.factory for build test data + factories(app); +}); + +afterEach(async () => { + // clear database after each test case + await Promise.all([ + app.model.User.destroy({ truncate: true, force: true }), + app.model.Post.destroy({ truncate: true, force: true }), + ]); +}); From 528cdf2f1074b750f4b06c965aee7198d7fb9cd6 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 19 Jul 2020 16:46:48 +0800 Subject: [PATCH 08/36] chai --- 17-nodejs/02-egg/test/app/controller/post.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/17-nodejs/02-egg/test/app/controller/post.test.ts b/17-nodejs/02-egg/test/app/controller/post.test.ts index f19d28ee7..e1b22ccd3 100644 --- a/17-nodejs/02-egg/test/app/controller/post.test.ts +++ b/17-nodejs/02-egg/test/app/controller/post.test.ts @@ -1,13 +1,13 @@ import { app } from 'egg-mock/bootstrap'; import assert = require('assert'); -// import { expect } from 'chai'; +import { expect } from 'chai'; describe('test/app/service/post.test.js', () => { describe('GET /api/posts', () => { it('should work', async () => { await app.factory.createMany('post', 3); const res = await app.httpRequest().get('/api/posts?limit=2'); - assert(res.status === 200); + expect(res.status).to.be.equal(200); assert(res.body.data.count === 3); assert(res.body.data.rows.length === 2); assert(res.body.data.rows[0].title); From f7c543838f187b447aa64315070fd9417638c2c7 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Mon, 20 Jul 2020 15:55:18 +0800 Subject: [PATCH 09/36] ssr --- .../04-ssr/vue-ssr/01-start.js" | 34 ++ .../04-ssr/vue-ssr/02-simple-ssr.js" | 36 ++ .../04-ssr/vue-ssr/03-info.js" | 3 + .../04-ssr/vue-ssr/04-demo/app.js" | 13 + .../04-ssr/vue-ssr/04-demo/server.js" | 19 + .../04-ssr/vue-ssr/05-webpack-demo/README.md" | 12 + .../vue-ssr/05-webpack-demo/src/App.vue" | 0 .../vue-ssr/05-webpack-demo/src/app.js" | 12 + .../05-webpack-demo/src/components/Bar.vue" | 0 .../05-webpack-demo/src/components/Baz.vue" | 0 .../05-webpack-demo/src/components/Foo.vue" | 0 .../05-webpack-demo/src/entry-client.js" | 8 + .../05-webpack-demo/src/entry-server.js" | 6 + .../04-ssr/vue-ssr/06-router/README.md" | 12 + .../04-ssr/vue-ssr/06-router/src/App.vue" | 0 .../04-ssr/vue-ssr/06-router/src/app.js" | 19 + .../vue-ssr/06-router/src/components/Bar.vue" | 0 .../vue-ssr/06-router/src/components/Baz.vue" | 0 .../vue-ssr/06-router/src/components/Foo.vue" | 0 .../vue-ssr/06-router/src/entry-client.js" | 8 + .../vue-ssr/06-router/src/entry-server.js" | 26 + .../04-ssr/vue-ssr/06-router/src/router.js" | 15 + .../04-ssr/vue-ssr/06-router/src/server.js" | 20 + .../04-ssr/vue-ssr/index.template.html" | 7 + .../04-ssr/vue-ssr/package-lock.json" | 502 ++++++++++++++++++ .../04-ssr/vue-ssr/package.json" | 16 + 26 files changed, 768 insertions(+) create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/01-start.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/02-simple-ssr.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/03-info.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/app.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/server.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/README.md" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/App.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/app.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Bar.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Baz.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Foo.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-client.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-server.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/README.md" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/App.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/app.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Bar.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Baz.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Foo.vue" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-client.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-server.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/router.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/server.js" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/index.template.html" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package-lock.json" create mode 100644 "11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package.json" diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/01-start.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/01-start.js" new file mode 100644 index 000000000..a91fb9d98 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/01-start.js" @@ -0,0 +1,34 @@ +// https://ssr.vuejs.org/zh/ + +const Vue = require('vue') +const server = require('express')() +const renderer = require('vue-server-renderer').createRenderer() + +server.get('*', (req, res) => { + const app = new Vue({ + data: { + name: 'csxiaoyao' + }, + template: `
{{ name }}
`, + created: function () { + console.log('name is: ' + this.name) + } + }) + + renderer.renderToString(app, (err, html) => { + if (err) { + res.status(500).end('Internal Server Error') + return + } + res.end(` + + + Hello + ${html} + + `) + }) + +}) + +server.listen(8080) diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/02-simple-ssr.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/02-simple-ssr.js" new file mode 100644 index 000000000..1365cb4bd --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/02-simple-ssr.js" @@ -0,0 +1,36 @@ +const Vue = require('vue'); +const server = require('express')(); + +const template = require('fs').readFileSync('./index.template.html', 'utf-8'); + +const renderer = require('vue-server-renderer').createRenderer({ + template, +}); + +const context = { + title: 'vue ssr', + metas: ` + + + `, +}; + +server.get('*', (req, res) => { + const app = new Vue({ + data: { + url: req.url + }, + template: `
访问的 URL 是: {{ url }}
`, + }); + + renderer.renderToString(app, context, (err, html) => { + console.log(html); + if (err) { + res.status(500).end('Internal Server Error') + return; + } + res.end(html); + }); +}) + +server.listen(8080); \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/03-info.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/03-info.js" new file mode 100644 index 000000000..305611d26 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/03-info.js" @@ -0,0 +1,3 @@ +// 由于没有动态更新,所有的生命周期钩子函数中 +// 只有 beforeCreate 和 created 会在服务器端渲染 (SSR) 过程中被调用 +// 这就是说任何其他生命周期钩子函数中的代码(例如 beforeMount 或 mounted),只会在客户端执行 diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/app.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/app.js" new file mode 100644 index 000000000..6fae05f06 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/app.js" @@ -0,0 +1,13 @@ +const Vue = require('vue') + +module.exports = function createApp (context) { + return new Vue({ + data: { + url: context.url + }, + template: `
访问的 URL 是: {{ url }}
`, + created () { + this.url += '~~~' + } + }) +} \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/server.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/server.js" new file mode 100644 index 000000000..b806d3b72 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/04-demo/server.js" @@ -0,0 +1,19 @@ +const createApp = require('./app') +const server = require('express')(); +const template = require('fs').readFileSync('./index.template.html', 'utf-8'); + +const renderer = require('vue-server-renderer').createRenderer({ + template, +}); + +server.get('*', (req, res) => { + const context = { url: req.url } + const app = createApp(context) + + renderer.renderToString(app, (err, html) => { + // 处理错误…… + res.end(html) + }) +}) + +server.listen(8080); diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/README.md" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/README.md" new file mode 100644 index 000000000..d49947da0 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/README.md" @@ -0,0 +1,12 @@ + +``` +src +├── components +│ ├── Foo.vue +│ ├── Bar.vue +│ └── Baz.vue +├── App.vue +├── app.js # 通用 entry(universal entry) +├── entry-client.js # 仅运行于浏览器 +└── entry-server.js # 仅运行于服务器 +``` \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/App.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/App.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/app.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/app.js" new file mode 100644 index 000000000..099c62fe5 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/app.js" @@ -0,0 +1,12 @@ +import Vue from 'vue' +import App from './App.vue' + +// 导出一个工厂函数,用于创建新的 +// 应用程序、router 和 store 实例 +export function createApp () { + const app = new Vue({ + // 根实例简单的渲染应用程序组件。 + render: h => h(App) + }) + return { app } +} diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Bar.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Bar.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Baz.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Baz.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Foo.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/components/Foo.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-client.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-client.js" new file mode 100644 index 000000000..51bc64820 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-client.js" @@ -0,0 +1,8 @@ +import { createApp } from './app' + +// 客户端特定引导逻辑…… + +const { app } = createApp() + +// 这里假定 App.vue 模板中根元素具有 `id="app"` +app.$mount('#app') \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-server.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-server.js" new file mode 100644 index 000000000..568b2f2b2 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/05-webpack-demo/src/entry-server.js" @@ -0,0 +1,6 @@ +import { createApp } from './app' + +export default context => { + const { app } = createApp() + return app +} diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/README.md" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/README.md" new file mode 100644 index 000000000..d49947da0 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/README.md" @@ -0,0 +1,12 @@ + +``` +src +├── components +│ ├── Foo.vue +│ ├── Bar.vue +│ └── Baz.vue +├── App.vue +├── app.js # 通用 entry(universal entry) +├── entry-client.js # 仅运行于浏览器 +└── entry-server.js # 仅运行于服务器 +``` \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/App.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/App.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/app.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/app.js" new file mode 100644 index 000000000..ef92b36a2 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/app.js" @@ -0,0 +1,19 @@ +import Vue from 'vue' +import App from './App.vue' +import { createRouter } from './router' + +// 导出一个工厂函数,用于创建新的 +// 应用程序、router 和 store 实例 +export function createApp () { + // 创建 router 实例 + const router = createRouter() + + const app = new Vue({ + // 注入 router 到根 Vue 实例 + router, + render: h => h(App) + }) + + // 返回 app 和 router + return { app, router } +} diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Bar.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Bar.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Baz.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Baz.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Foo.vue" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/components/Foo.vue" new file mode 100644 index 000000000..e69de29bb diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-client.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-client.js" new file mode 100644 index 000000000..51bc64820 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-client.js" @@ -0,0 +1,8 @@ +import { createApp } from './app' + +// 客户端特定引导逻辑…… + +const { app } = createApp() + +// 这里假定 App.vue 模板中根元素具有 `id="app"` +app.$mount('#app') \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-server.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-server.js" new file mode 100644 index 000000000..3236349c4 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/entry-server.js" @@ -0,0 +1,26 @@ +// entry-server.js +import { createApp } from './app' + +export default context => { + // 因为有可能会是异步路由钩子函数或组件,所以我们将返回一个 Promise, + // 以便服务器能够等待所有的内容在渲染前, + // 就已经准备就绪。 + return new Promise((resolve, reject) => { + const { app, router } = createApp() + + // 设置服务器端 router 的位置 + router.push(context.url) + + // 等到 router 将可能的异步组件和钩子函数解析完 + router.onReady(() => { + const matchedComponents = router.getMatchedComponents() + // 匹配不到的路由,执行 reject 函数,并返回 404 + if (!matchedComponents.length) { + return reject({ code: 404 }) + } + + // Promise 应该 resolve 应用程序实例,以便它可以渲染 + resolve(app) + }, reject) + }) +} diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/router.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/router.js" new file mode 100644 index 000000000..58b0eecf3 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/router.js" @@ -0,0 +1,15 @@ +// router.js +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +export function createRouter () { + return new Router({ + mode: 'history', + routes: [ + { path: '/', component: () => import('./components/Home.vue') }, + { path: '/item/:id', component: () => import('./components/Item.vue') } + ] + }) +} \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/server.js" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/server.js" new file mode 100644 index 000000000..31c182ceb --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/06-router/src/server.js" @@ -0,0 +1,20 @@ +// server.js +const createApp = require('/path/to/built-server-bundle.js') + +server.get('*', (req, res) => { + const context = { url: req.url } + + createApp(context).then(app => { + renderer.renderToString(app, (err, html) => { + if (err) { + if (err.code === 404) { + res.status(404).end('Page not found') + } else { + res.status(500).end('Internal Server Error') + } + } else { + res.end(html) + } + }) + }) +}) \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/index.template.html" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/index.template.html" new file mode 100644 index 000000000..d363dd991 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/index.template.html" @@ -0,0 +1,7 @@ + + + Hello + + + + \ No newline at end of file diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package-lock.json" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package-lock.json" new file mode 100644 index 000000000..a4fd6e566 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package-lock.json" @@ -0,0 +1,502 @@ +{ + "name": "vue-ssr", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vue": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", + "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" + }, + "vue-server-renderer": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.11.tgz", + "integrity": "sha512-V3faFJHr2KYfdSIalL+JjinZSHYUhlrvJ9pzCIjjwSh77+pkrsXpK4PucdPcng57+N77pd1LrKqwbqjQdktU1A==", + "requires": { + "chalk": "^1.1.3", + "hash-sum": "^1.0.2", + "he": "^1.1.0", + "lodash.template": "^4.5.0", + "lodash.uniq": "^4.5.0", + "resolve": "^1.2.0", + "serialize-javascript": "^2.1.2", + "source-map": "0.5.6" + } + } + } +} diff --git "a/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package.json" "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package.json" new file mode 100644 index 000000000..3c545c181 --- /dev/null +++ "b/11-\346\236\204\345\273\272\345\267\245\345\205\267/04-ssr/vue-ssr/package.json" @@ -0,0 +1,16 @@ +{ + "name": "vue-ssr", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "express": "^4.17.1", + "vue": "^2.6.11", + "vue-server-renderer": "^2.6.11" + } +} From 028e45464530ff1d4ab256f83dc55c92b4ce655e Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Mon, 20 Jul 2020 23:11:09 +0800 Subject: [PATCH 10/36] =?UTF-8?q?vue=E7=BB=84=E4=BB=B6=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E5=8A=A0=E8=BD=BDdemo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" | 1 + 1 file changed, 1 insertion(+) create mode 160000 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" new file mode 160000 index 000000000..4b552c56d --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" @@ -0,0 +1 @@ +Subproject commit 4b552c56dc25d11dfaa5e2f1654a8a06b2e9b13d From a10e09102ccbea30338dffd2ac5a605dcd9d939e Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Sun, 13 Sep 2020 11:10:22 +0800 Subject: [PATCH 11/36] =?UTF-8?q?vue=20=E7=BB=84=E4=BB=B6=E5=8A=A0?= =?UTF-8?q?=E8=BD=BDdemo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.browserslistrc" | 3 + .../.editorconfig" | 5 + .../.eslintrc.js" | 17 + .../.gitignore" | 22 + .../README.md" | 24 + .../babel.config.js" | 5 + .../package-lock.json" | 12561 ++++++++++++++++ .../package.json" | 37 + .../public/favicon.ico" | Bin 0 -> 4286 bytes .../img/icons/android-chrome-192x192.png" | Bin 0 -> 9416 bytes .../img/icons/android-chrome-512x512.png" | Bin 0 -> 29808 bytes .../android-chrome-maskable-192x192.png" | Bin 0 -> 6401 bytes .../android-chrome-maskable-512x512.png" | Bin 0 -> 23038 bytes .../img/icons/apple-touch-icon-120x120.png" | Bin 0 -> 3369 bytes .../img/icons/apple-touch-icon-152x152.png" | Bin 0 -> 4046 bytes .../img/icons/apple-touch-icon-180x180.png" | Bin 0 -> 4678 bytes .../img/icons/apple-touch-icon-60x60.png" | Bin 0 -> 1491 bytes .../img/icons/apple-touch-icon-76x76.png" | Bin 0 -> 1823 bytes .../public/img/icons/apple-touch-icon.png" | Bin 0 -> 4678 bytes .../public/img/icons/favicon-16x16.png" | Bin 0 -> 799 bytes .../public/img/icons/favicon-32x32.png" | Bin 0 -> 1271 bytes .../img/icons/msapplication-icon-144x144.png" | Bin 0 -> 1169 bytes .../public/img/icons/mstile-150x150.png" | Bin 0 -> 4282 bytes .../public/img/icons/safari-pinned-tab.svg" | 3 + .../public/index.html" | 17 + .../public/robots.txt" | 2 + .../src/App.vue" | 80 + .../src/assets/logo.png" | Bin 0 -> 6849 bytes .../src/components/HelloWorld.vue" | 61 + .../src/comps/comp1.vue" | 5 + .../src/comps/comp2.vue" | 5 + .../src/comps/comp3.vue" | 5 + .../src/main.js" | 13 + .../src/registerServiceWorker.js" | 32 + .../src/router/index.js" | 27 + .../src/store/index.js" | 15 + .../src/views/About.vue" | 5 + .../src/views/Home.vue" | 18 + .../vue.config.js" | 32 + .../yarn.lock" | 9224 ++++++++++++ ...2\346\255\245\345\212\240\350\275\275demo" | 1 - .../01-webpack/package.json" | 26 + .../01-webpack/src/HelloWorld.vue" | 35 + .../01-webpack/src/style.css" | 3 + .../01-webpack/src/test.vue" | 13 + .../01-webpack/webpack.config.js" | 62 + .../02-vue-cli/babel.config.js" | 5 + .../02-vue-cli/package.json" | 42 + .../02-vue-cli/public/favicon.ico" | Bin 0 -> 4286 bytes .../02-vue-cli/public/index.html" | 17 + .../02-vue-cli/src/App.vue" | 28 + .../02-vue-cli/src/assets/logo.png" | Bin 0 -> 6849 bytes .../02-vue-cli/src/components/HelloWorld.vue" | 58 + .../02-vue-cli/src/main.js" | 8 + .../02-vue-cli/vue.config.js" | 7 + .../03-test-import-lib/babel.config.js" | 5 + .../03-test-import-lib/package.json" | 42 + .../public/comp/testComp.css" | 1 + .../public/comp/testComp.umd.js" | 489 + .../03-test-import-lib/public/favicon.ico" | Bin 0 -> 4286 bytes .../03-test-import-lib/public/index.html" | 18 + .../03-test-import-lib/src/App.vue" | 45 + .../03-test-import-lib/src/assets/logo.png" | Bin 0 -> 6849 bytes .../03-test-import-lib/src/assets/utils.js" | 135 + .../03-test-import-lib/src/main.js" | 8 + .../README.md" | 38 + 17-nodejs/02-egg/config/config.default.ts | 2 +- 67 files changed, 23304 insertions(+), 2 deletions(-) create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.browserslistrc" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.editorconfig" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.eslintrc.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.gitignore" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/README.md" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/babel.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package-lock.json" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package.json" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/favicon.ico" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-192x192.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-512x512.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-maskable-192x192.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-maskable-512x512.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-120x120.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-152x152.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-180x180.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-60x60.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-76x76.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-16x16.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-32x32.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/msapplication-icon-144x144.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/mstile-150x150.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/safari-pinned-tab.svg" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/index.html" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/robots.txt" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/App.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/assets/logo.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/components/HelloWorld.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp1.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp2.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp3.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/main.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/registerServiceWorker.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/router/index.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/store/index.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/About.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/Home.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/vue.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/yarn.lock" delete mode 160000 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/package.json" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/HelloWorld.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/style.css" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/test.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/webpack.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/babel.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/package.json" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/public/favicon.ico" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/public/index.html" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/App.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/assets/logo.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/components/HelloWorld.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/main.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/vue.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/babel.config.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/package.json" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.css" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.umd.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/favicon.ico" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/index.html" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/App.vue" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/assets/logo.png" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/assets/utils.js" create mode 100644 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/main.js" create mode 100755 "12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/README.md" diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.browserslistrc" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.browserslistrc" new file mode 100644 index 000000000..214388fe4 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.browserslistrc" @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not dead diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.editorconfig" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.editorconfig" new file mode 100644 index 000000000..7053c49a0 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.editorconfig" @@ -0,0 +1,5 @@ +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.eslintrc.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.eslintrc.js" new file mode 100644 index 000000000..2c6a7fa5a --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.eslintrc.js" @@ -0,0 +1,17 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: [ + 'plugin:vue/essential', + '@vue/standard' + ], + parserOptions: { + parser: 'babel-eslint' + }, + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' + } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.gitignore" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.gitignore" new file mode 100644 index 000000000..11f5d7142 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/.gitignore" @@ -0,0 +1,22 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/README.md" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/README.md" new file mode 100644 index 000000000..188fcfd09 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/README.md" @@ -0,0 +1,24 @@ +# test + +## Project setup +``` +yarn install +``` + +### Compiles and hot-reloads for development +``` +yarn serve +``` + +### Compiles and minifies for production +``` +yarn build +``` + +### Lints and fixes files +``` +yarn lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/babel.config.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/babel.config.js" new file mode 100644 index 000000000..e9558405f --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/babel.config.js" @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package-lock.json" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package-lock.json" new file mode 100644 index 000000000..8af00d0b0 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package-lock.json" @@ -0,0 +1,12561 @@ +{ + "name": "test", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz", + "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", + "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", + "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", + "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz", + "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", + "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", + "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz", + "integrity": "sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", + "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", + "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", + "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", + "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz", + "integrity": "sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", + "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz", + "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", + "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", + "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", + "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", + "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", + "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", + "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", + "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.5.tgz", + "integrity": "sha512-tV4V/FjElJ9lQtyjr5xD2IFFbgY46r7EeVu5a8CpEKT5laheHKSlFeHjpkPppW3PqzGLAuv5k2qZX5LgVZIX5w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", + "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", + "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", + "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.4", + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-async-generator-functions": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-dynamic-import": "^7.10.4", + "@babel/plugin-proposal-json-strings": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.10.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.10.4", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.4", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.10.4", + "@babel/plugin-transform-block-scoped-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.10.4", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-computed-properties": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-dotall-regex": "^7.10.4", + "@babel/plugin-transform-duplicate-keys": "^7.10.4", + "@babel/plugin-transform-exponentiation-operator": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-function-name": "^7.10.4", + "@babel/plugin-transform-literals": "^7.10.4", + "@babel/plugin-transform-member-expression-literals": "^7.10.4", + "@babel/plugin-transform-modules-amd": "^7.10.4", + "@babel/plugin-transform-modules-commonjs": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": "^7.10.4", + "@babel/plugin-transform-modules-umd": "^7.10.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", + "@babel/plugin-transform-new-target": "^7.10.4", + "@babel/plugin-transform-object-super": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.4", + "@babel/plugin-transform-property-literals": "^7.10.4", + "@babel/plugin-transform-regenerator": "^7.10.4", + "@babel/plugin-transform-reserved-words": "^7.10.4", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.10.4", + "@babel/plugin-transform-sticky-regex": "^7.10.4", + "@babel/plugin-transform-template-literals": "^7.10.4", + "@babel/plugin-transform-typeof-symbol": "^7.10.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.4", + "@babel/plugin-transform-unicode-regex": "^7.10.4", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.4", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", + "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", + "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", + "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", + "dev": true + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", + "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.6.tgz", + "integrity": "sha512-urIa6Qk3lKacLvscrzxMNyYlTqKFcPAUo5MohOjv1ISZ9PssHw693WTOrqSC0XksdMLtp/rnLvc6l5G8Muk0lw==", + "dev": true, + "requires": { + "@babel/core": "^7.9.6", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.9.6", + "@babel/preset-env": "^7.9.6", + "@babel/runtime": "^7.9.6", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", + "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "@vue/babel-sugar-functional-vue": "^1.1.2", + "@vue/babel-sugar-inject-h": "^1.1.2", + "@vue/babel-sugar-v-model": "^1.1.2", + "@vue/babel-sugar-v-on": "^1.1.2" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", + "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", + "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", + "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", + "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0" + } + }, + "@vue/cli-overlay": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.6.tgz", + "integrity": "sha512-fzjg2gWQt+jw5fyLsD9HZNxGNQgZjLDI2s9bLWJwRucdfmncSi9neqA0TZyszGrgcJA4Qu4V5KgV0qwVSBYCaw==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.4.6", + "dev": true, + "requires": { + "@babel/core": "^7.9.6", + "@vue/babel-preset-app": "^4.4.6", + "@vue/cli-shared-utils": "^4.4.6", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "4.4.6", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.6", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-pwa": { + "version": "4.4.6", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.6", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + } + }, + "@vue/cli-plugin-router": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.6.tgz", + "integrity": "sha512-TkLdn0ZYo3zgn78Rk8doPlR+4UkGjGW2R1eGEaZEkue/mw2VhUWtTk9cKLZaYrw0eY8Ro/j+OV6mD+scyrairg==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.6" + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.6.tgz", + "integrity": "sha512-Ho0YzUivn8BLPqFoFypntR8CMTEXYYHVr0GdnZW99XL+DbGw75f+tJfnrV9UFHDTfvZt7uewKiXDMlrzQ0l3Ug==", + "dev": true + }, + "@vue/cli-service": { + "version": "4.4.6", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@vue/cli-overlay": "^4.4.6", + "@vue/cli-plugin-router": "^4.4.6", + "@vue/cli-plugin-vuex": "^4.4.6", + "@vue/cli-shared-utils": "^4.4.6", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.2.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.0", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^7.1.0", + "terser-webpack-plugin": "^2.3.6", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.6.tgz", + "integrity": "sha512-ba+FZZCjiTSu2otnLjY4qXqASe7ZIQ/QBljk5oRPgqrR0p1NUkDPUcZhqa041aOaSW1yAfSfhOD7Q84nMnWhzQ==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz", + "integrity": "sha512-QLq9z8m79mCinpaEeSURhnNCN6djxpHw0lpP/bodMlt5kALfONpryMthvnrQOlTcIKoF+VoPi+lPHUYeDFPXug==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "@vue/eslint-config-standard": { + "version": "5.1.2", + "dev": true, + "requires": { + "eslint-config-standard": "^14.1.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-import-resolver-webpack": "^0.12.1" + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", + "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@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 + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz", + "integrity": "sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", + "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz", + "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001097", + "colorette": "^1.2.0", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "dev": true + }, + "babel-eslint": { + "version": "10.1.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "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 + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", + "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001104", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001104.tgz", + "integrity": "sha512-pkpCg7dmI/a7WcqM2yfdOiT4Xx5tzyoHAXWsX5/HxZ3TemwDZs0QXdqbE0UPLPVy/7BeK7693YfzfRYfu1YVpg==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-highlight": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", + "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "highlight.js": "^9.6.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "cli-spinners": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", + "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + } + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "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 + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "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 + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "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 + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "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 + } + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "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 + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "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, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.501", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.501.tgz", + "integrity": "sha512-tyzuKaV2POw2mtqBBzQGNBojMZzH0MRu8bT8T/50x+hWeucyG/9pkgAATy+PcM2ySNM9+8eG2VllY9c6j4i+bg==", + "dev": true + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + }, + "dependencies": { + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + } + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz", + "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "eslint-config-standard": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", + "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "eslint-import-resolver-webpack": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.12.2.tgz", + "integrity": "sha512-7Jnm4YAoNNkvqPaZkKdIHsKGmv8/uNnYC5QsXkiSodvX4XEEfH2AKOna98FK52fCDXm3q4HzuX+7pRMKkJ64EQ==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.9", + "enhanced-resolve": "^0.9.1", + "find-root": "^1.1.0", + "has": "^1.0.3", + "interpret": "^1.2.0", + "lodash": "^4.17.15", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.13.1", + "semver": "^5.7.1" + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.22.0", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.0.1", + "dev": true + }, + "eslint-plugin-vue": { + "version": "6.2.2", + "dev": true, + "requires": { + "natural-compare": "^1.4.0", + "semver": "^5.6.0", + "vue-eslint-parser": "^7.0.0" + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "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 + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "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 + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz", + "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "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 + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", + "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "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, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.2.tgz", + "integrity": "sha512-DF4osh1FM6l0RJc5YWYhSDB6TawiBRlbV9Cox8MWlidU218Tb7fm3lQTULyUJDfJ0tjbzl0W4q651mrCCEM55w==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.16", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "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, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "javascript-stringify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz", + "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", + "dev": true + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "js-base64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz", + "integrity": "sha512-fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==", + "dev": true + }, + "js-message": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true + }, + "js-queue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "requires": { + "easy-stack": "^1.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "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 + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "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 + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "dev": true + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "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 + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "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 + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", + "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-ipc": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", + "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", + "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", + "dev": true + }, + "node-sass": { + "version": "4.14.1", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", + "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "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 + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "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, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", + "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", + "dev": true, + "requires": { + "parse5": "^5.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "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, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", + "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "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 + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "register-service-worker": { + "version": "1.7.1" + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "sass-loader": { + "version": "8.0.2", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "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 + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + } + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz", + "integrity": "sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.11" + }, + "vue-eslint-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz", + "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.0.0", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.0.1", + "lodash": "^4.17.15" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", + "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-router": { + "version": "3.3.4" + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.6.11", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "3.5.1" + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", + "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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, + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "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, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", + "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + } + }, + "webpack-chain": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.0.tgz", + "integrity": "sha512-K4EHiEg4WlP4w1rKXKpYWvX9cfGBERHCGP06ETSNV62XUIfOUg1DDRQpxyBsFYxZLKc4YUAI3iiCIvWoliheGA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "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, + "requires": { + "locate-path": "^3.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + } + } + } + } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package.json" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package.json" new file mode 100644 index 000000000..aa99757f6 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/package.json" @@ -0,0 +1,37 @@ +{ + "name": "test", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "core-js": "^3.6.5", + "register-service-worker": "^1.7.1", + "vue": "^2.6.11", + "vue-router": "^3.2.0", + "vuex": "^3.4.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.4.0", + "@vue/cli-plugin-eslint": "~4.4.0", + "@vue/cli-plugin-pwa": "~4.4.0", + "@vue/cli-plugin-router": "~4.4.0", + "@vue/cli-plugin-vuex": "~4.4.0", + "@vue/cli-service": "~4.4.0", + "@vue/eslint-config-standard": "^5.1.2", + "babel-eslint": "^10.1.0", + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "eslint": "^6.7.2", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.0.0", + "eslint-plugin-vue": "^6.2.2", + "node-sass": "^4.12.0", + "sass-loader": "^8.0.2", + "vue-template-compiler": "^2.6.11" + } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/favicon.ico" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/favicon.ico" new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-192x192.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/android-chrome-192x192.png" new file mode 100644 index 0000000000000000000000000000000000000000..b02aa64d97167ad649e496908b35f14c603d9249 GIT binary patch literal 9416 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 literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-120x120.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-120x120.png" new file mode 100644 index 0000000000000000000000000000000000000000..1427cf62752646ad7217df0a61aa01fdef7475d1 GIT binary patch literal 3369 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 ROru=^AazZ3N)e9H{|11FNXq~K literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-152x152.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-152x152.png" new file mode 100644 index 0000000000000000000000000000000000000000..f24d454a2ecb8851bb893192b64ee09386d30e24 GIT binary patch literal 4046 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 cK^5JQ0?3d{m_4Kdj*!1;003@kYpI!lw*K!+ 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�MrHbYR_buu=L>f*wO=Er8~{qfkYT+HoHag8)VqJoC-#@ zNT})4xRE%sP-B9?xmL5!2Y8VLa?yj@Y@r1C)6o~9GF9nWG!SI2VJ$>ejtUE%Qv&r_ zYLgZ0h3iIrw7{TyurC(g^$XT%PP5`FB3aFpP&fM-8!J#3I_ujG?;7(Xv5ni%BjYP4 z^+oydy=)_&bdxYJx`X%G5PFkUB%3h6RiOs^F?#ojsB%DbfhqzGhuv4)S1%vw@PDyE z3xWF{Y^0>+=Wg! z{>z@$rD6ej*V- z^$zKIOWOfdN4~7@ndhru01+3cxwD&_Muyja({*O;-5VnF(e$WDALNStE{1{F#ts+VR{o zSlQ*@U=Du8fgKW$lU~)O)b6FS?H1SSnKVIC=DOvbo8IUvM zVf+U4YxG%qLGd%ew7Jp8>@U`ew+A#Q=2oJHNH@_f!WadS20$KZEZ+BHAvU@FB zzRCYN5r+Z#g`C^hrH$yW7ABstwjvMM*CHGzY41bbo2zy$6E8DAOPn zUnHG?e7?u7pQ}Kqbu1jEd+=mcGea4aL6V4g(m*b7x}z|ijsjb3e|tf-3&^JK{=sWz z8sqIu9jy)#J}n}cXqtXmkb-NDVPcAKn=G9uX42zYvufu_OCr>xJ=oTNp8WA5wEqvM z{r~m8;7_C>U68iRr@|rd7UYhON#(-S_+Uf>s)hhPU{{exlxc&eD literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-60x60.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/apple-touch-icon-60x60.png" new file mode 100644 index 0000000000000000000000000000000000000000..cf10a5602e653bb126332934e2b7f34081c19a01 GIT binary patch literal 1491 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

aZW9cb|x>1jZDoAu$NpeWiVk@{x{! zmmBmDgx|qNN?LyIrl9$qmj{KjZ8zpa=4edK3FuFS$KFl}bWPoO*Ax#Z1c2#3JAN(O zYhi>`%H9fSnLkAq|5vs>+?U*bdfMc6TmDu+QqnN9xgfZsG25($^;v7U1nBl9Q^o*i z)&?UaYZ=~7XZa75xPKB1s~MB1m<*dN08pqiy*q!)_Kc|;EZs3&nNdMQ5#LFu+J z?*($vO)$hkMOVc16f-ep;K@_~&Y6t?0t9I0(lBkZBfic|u)3pK$Xv=A@jUQnB2sC` zbI)L9m;VNkWOao}2c3b4_u4+bg zuf-@d1$?asdD1~mORQ02#!&1Xm#41*xz}wETNqKb;kueQ*~OpcAXTpJFYUYcKoA&Z z8Ke=2Vh~cu_uTb&6AH75L!k8zo~&wRsDLs^3YkD2!~;%u6sFrzV2A5(FQ|3}+0-K- zWX)W2yq%?^)iKhyMGPB5*DnWBaLqAHLJ47;r5nvkeq3u_?J{Xaf_}6I+xpLwKS7NC z|KYU%zup)8i85jc)^Yt*I0W8;+zHUI3V7@o;3DUYasdq>DFK%im4J)F?;|B-<=}8R z>HESGa5)KyCnGII|E+YX&h4Y+xCRvyX@oGhhG4 j58+{W$RJv~NLLKlV4)8v^7hU(R-4l(}$teLl` literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-16x16.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-16x16.png" new file mode 100644 index 0000000000000000000000000000000000000000..42af00963d81b8e39a30435c60ac482d1f8756e0 GIT binary patch literal 799 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WRE8{w#)hawXn|-Xp4{E;v!=;4B^%-x&;Cm1 zP>^*#n_J!T^1SBMI!C4h-R53dN8`?ylD}d{L%(vZvUKT)~-CgWFQy3lt zIqW5#zOL*K8HL%o&D;R|TePl5?VWhq^wrj^qed%lKKkpp-FogeyEi+p zE?K8rW7E1fuEJ{5jaaAp0~aIt+keS?T)@vXM=*X}V#VGMCm1~v-+0wr{w3CJ-R8wG zS@XVpzqP-5Mf0H?y-zh=XVL>S6E;rKnDmrMQlmoKbK9p$evXN`oe{6g>lvi)-+#c) zb+Al&$zRqtWk1@VTt6MPmq9d7^!kmXZn8k{sFt`!l%ynwlArU1(iRB6fMfqu& zIjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D! wQ<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0DGh}-~a#s literal 0 HcmV?d00001 diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-32x32.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/img/icons/favicon-32x32.png" new file mode 100644 index 0000000000000000000000000000000000000000..46ca04dee251a4fa85a2891a145fbe20cc619d96 GIT binary patch literal 1271 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 + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/index.html" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/index.html" new file mode 100644 index 000000000..412352865 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/index.html" @@ -0,0 +1,17 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + +

+ + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/robots.txt" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/robots.txt" new file mode 100644 index 000000000..eb0536286 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/public/robots.txt" @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/App.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/App.vue" new file mode 100644 index 000000000..3e36832bc --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/App.vue" @@ -0,0 +1,80 @@ + + + + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/assets/logo.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/assets/logo.png" new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 +
+ + + + + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp1.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp1.vue" new file mode 100644 index 000000000..0487b83fa --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp1.vue" @@ -0,0 +1,5 @@ + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp2.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp2.vue" new file mode 100644 index 000000000..4c84e36e0 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp2.vue" @@ -0,0 +1,5 @@ + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp3.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp3.vue" new file mode 100644 index 000000000..18692c276 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/comps/comp3.vue" @@ -0,0 +1,5 @@ + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/main.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/main.js" new file mode 100644 index 000000000..d12df39b6 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/main.js" @@ -0,0 +1,13 @@ +import Vue from 'vue' +import App from './App.vue' +import './registerServiceWorker' +import router from './router' +import store from './store' + +Vue.config.productionTip = false + +new Vue({ + router, + store, + render: h => h(App) +}).$mount('#app') diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/registerServiceWorker.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/registerServiceWorker.js" new file mode 100644 index 000000000..76cede074 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/registerServiceWorker.js" @@ -0,0 +1,32 @@ +/* eslint-disable no-console */ + +import { register } from 'register-service-worker' + +if (process.env.NODE_ENV === 'production') { + register(`${process.env.BASE_URL}service-worker.js`, { + ready () { + console.log( + 'App is being served from cache by a service worker.\n' + + 'For more details, visit https://goo.gl/AFskqB' + ) + }, + registered () { + console.log('Service worker has been registered.') + }, + cached () { + console.log('Content has been cached for offline use.') + }, + updatefound () { + console.log('New content is downloading.') + }, + updated () { + console.log('New content is available; please refresh.') + }, + offline () { + console.log('No internet connection found. App is running in offline mode.') + }, + error (error) { + console.error('Error during service worker registration:', error) + } + }) +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/router/index.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/router/index.js" new file mode 100644 index 000000000..e44cdcd85 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/router/index.js" @@ -0,0 +1,27 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import Home from '../views/Home.vue' + +Vue.use(VueRouter) + +const routes = [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + } +] + +const router = new VueRouter({ + routes +}) + +export default router diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/store/index.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/store/index.js" new file mode 100644 index 000000000..332b91692 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/store/index.js" @@ -0,0 +1,15 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + }, + mutations: { + }, + actions: { + }, + modules: { + } +}) diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/About.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/About.vue" new file mode 100644 index 000000000..3fa28070d --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/About.vue" @@ -0,0 +1,5 @@ + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/Home.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/Home.vue" new file mode 100644 index 000000000..8bd6c57f3 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/src/views/Home.vue" @@ -0,0 +1,18 @@ + + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/vue.config.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/vue.config.js" new file mode 100644 index 000000000..10e77ee20 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/vue.config.js" @@ -0,0 +1,32 @@ +/** + * created by csxiaoyao + * 2018.09.15 + */ +// vue.config.js +module.exports = { + configureWebpack: { + devtool: 'source-map', + resolve: { + extensions: ['.ts', '.tsx', '.js', '.json'] + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: 'ts-loader', + exclude: /node_modules/, + options: { + appendTsSuffixTo: [/\.vue$/] + } + }, + { + test: /\.js$/, + loader: 'babel-loader', + options: { + plugins:['syntax-dynamic-import'] + } + } + ] + } + } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/yarn.lock" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/yarn.lock" new file mode 100644 index 000000000..abc8a7997 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275-webpack-require.context/yarn.lock" @@ -0,0 +1,9224 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.10.5.tgz#d38425e67ea96b1480a3f50404d1bf85676301a6" + integrity sha1-04Ql5n6paxSAo/UEBNG/hWdjAaY= + dependencies: + browserslist "^4.12.0" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@^7.9.6": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.10.5.tgz?cache=0&sync_timestamp=1594750827017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" + integrity sha1-HxXizKitmh14o43bphL158270zA= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.5" + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.10.5" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.5" + "@babel/types" "^7.10.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.10.5": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.10.5.tgz?cache=0&sync_timestamp=1594750826431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69" + integrity sha1-G5A1VLyMWD7o0l8eiWlzLmuCmmk= + dependencies: + "@babel/types" "^7.10.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha1-W/DUlaP3V6w72ki1vzs7ownHK6M= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha1-uwt18xv5jL+f8UPBrleLhydK4aM= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.9.6": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.10.4.tgz?cache=0&sync_timestamp=1593521085687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" + integrity sha1-gEro4/BDdmB8x5G51H1UAnYzK9I= + dependencies: + "@babel/compat-data" "^7.10.4" + browserslist "^4.12.0" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594750826871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" + integrity sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz?cache=0&sync_timestamp=1594750826834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-map%2Fdownload%2F%40babel%2Fhelper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha1-tTwQ23imQIABUmkrEzkxR6y5uzA= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522935315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c" + integrity sha1-QKHNkXv/Eoj2malKdbN6Gi29jHw= + dependencies: + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz?cache=0&sync_timestamp=1593522836308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo= + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.10.5.tgz?cache=0&sync_timestamp=1594750826503&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee" + integrity sha1-Fy9W56Y+eBEvOgQFXyQ2WvcC5+4= + dependencies: + "@babel/types" "^7.10.5" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz?cache=0&sync_timestamp=1593522826853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.10.5.tgz?cache=0&sync_timestamp=1594750826539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6" + integrity sha1-EgwnHAszU2c/zf2MBT2zxUSiYNY= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha1-UNyWQT1ZT5lad5BZBbBYk813lnM= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521089859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha1-L3WoMSadT2d95JmG3/WZJ1M883U= + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594750677873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA= + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5" + integrity sha1-/Oi+pOlpC76SMFbe0h5UtOi2jtU= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha1-D1zNopRSd6KnotOoIeFTle3PNGE= + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-split-export-declaration@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.10.4.tgz?cache=0&sync_timestamp=1593522826673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" + integrity sha1-LHBXbqo7VgmyTLmdsoiMw/xCUdE= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= + +"@babel/helper-wrap-function@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" + integrity sha1-im9wHqsP8592W1oc/vQJmQ5iS4c= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz?cache=0&sync_timestamp=1593522841291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ= + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593521087106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.10.5.tgz?cache=0&sync_timestamp=1594750682592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b" + integrity sha1-58a/Wn3v+VfOyfBLVR4nYpCdgms= + +"@babel/plugin-proposal-async-generator-functions@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" + integrity sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522937004&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" + integrity sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.10.5.tgz?cache=0&sync_timestamp=1594750827074&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" + integrity sha1-QomLukeLxLGuJCpwOpU6etNQ/7Q= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.10.4" + +"@babel/plugin-proposal-dynamic-import@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.10.4.tgz?cache=0&sync_timestamp=1593521085849&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" + integrity sha1-uleibLmLN3QenVvKG4sN34KR8X4= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz?cache=0&sync_timestamp=1593521092651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" + integrity sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz?cache=0&sync_timestamp=1593522818985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" + integrity sha1-AqfpYfwy5tWy2wZJ4Bv4Dd7n4Eo= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" + integrity sha1-zhWQ/wplrRKXCmCdeIVemkwa7wY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.10.4.tgz?cache=0&sync_timestamp=1593521217008&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0" + integrity sha1-UBKawha5pqVbOFP92SPnS/VTpMA= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.10.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz?cache=0&sync_timestamp=1593522975374&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" + integrity sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.10.4.tgz?cache=0&sync_timestamp=1593521131942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.10.4.tgz#750f1255e930a1f82d8cdde45031f81a0d0adff7" + integrity sha1-dQ8SVekwofgtjN3kUDH4Gg0K3/c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.10.4.tgz?cache=0&sync_timestamp=1593522940799&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" + integrity sha1-sWDZcrj9ulx9ERoUX8jEIfwqaQk= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" + integrity sha1-RIPNpTBBzjQTt/4vAAImZd36p10= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593521086484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" + integrity sha1-ZkTmoLqlWmH54yMfbJ7rbuRsEkw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-decorators@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz?cache=0&sync_timestamp=1593522820650&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" + integrity sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593521121498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" + integrity sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" + integrity sha1-S764kXtU/PdoNk4KgfVg4zo+9X0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz?cache=0&sync_timestamp=1593522484198&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" + integrity sha1-4ilg135pfHT0HFAdRNc9v4pqZM0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" + integrity sha1-QaUBfknrbzzak5KlHu8pQFskWjc= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + +"@babel/plugin-transform-block-scoped-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521982492&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" + integrity sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.10.5.tgz?cache=0&sync_timestamp=1594750687483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.10.5.tgz#b81b8aafefbfe68f0f65f7ef397b9ece68a6037d" + integrity sha1-uBuKr++/5o8PZffvOXuezmimA30= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593522856487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" + integrity sha1-QFE2rys+IYvEoZJiKLyRerGgrcc= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" + integrity sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz?cache=0&sync_timestamp=1593522993738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" + integrity sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" + integrity sha1-RpwgYhBcHragQOr0+sS0iAeDle4= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz?cache=0&sync_timestamp=1593521255341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" + integrity sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593522848226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" + integrity sha1-WuM4xX+M9AAb2zVgeuZrktZlry4= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-for-of@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz?cache=0&sync_timestamp=1593522996190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" + integrity sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz?cache=0&sync_timestamp=1593522872485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" + integrity sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz?cache=0&sync_timestamp=1593522938841&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" + integrity sha1-n0K6CEEQChNfInEtDjkcRi9XHzw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.10.4.tgz?cache=0&sync_timestamp=1593522821136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" + integrity sha1-sexE/PGVr8uNssYs2OVRyIG6+Lc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz?cache=0&sync_timestamp=1594750826922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" + integrity sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE= + dependencies: + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz?cache=0&sync_timestamp=1593522937305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" + integrity sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA= + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz?cache=0&sync_timestamp=1594750826566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" + integrity sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU= + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522846765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" + integrity sha1-moSB/oG4JGVLOgtl2j34nz0hg54= + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" + integrity sha1-eLTZeIELbzvPA/njGPL8DtQa7LY= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + +"@babel/plugin-transform-new-target@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593522999550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" + integrity sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz?cache=0&sync_timestamp=1593522848107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" + integrity sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + +"@babel/plugin-transform-parameters@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz?cache=0&sync_timestamp=1594750825750&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" + integrity sha1-WdM51Y0LGVBDX0BD504lEABeLEo= + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.10.4.tgz?cache=0&sync_timestamp=1593522821423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" + integrity sha1-9v5UtlkDUimHhbg+3YFdIUxC48A= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521089707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" + integrity sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.10.4.tgz?cache=0&sync_timestamp=1593522939590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" + integrity sha1-jyaCvNzvntMn4bCGFYXXAT+KVN0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-runtime@^7.9.6": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.10.5.tgz?cache=0&sync_timestamp=1594749208169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.10.5.tgz#3b39b7b24830e0c2d8ff7a4489fe5cf99fbace86" + integrity sha1-Ozm3skgw4MLY/3pEif5c+Z+6zoY= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" + integrity sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.10.4.tgz#4e2c85ea0d6abaee1b24dcfbbae426fe8d674cff" + integrity sha1-TiyF6g1quu4bJNz7uuQm/o1nTP8= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-sticky-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" + integrity sha1-jziJ7oZXWBEwop2cyR18c7fEoo0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz?cache=0&sync_timestamp=1594750825749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" + integrity sha1-eLxdYmpmQtszEtnQ8AH152Of3ow= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" + integrity sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-escapes@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" + integrity sha1-/q5SM5HHZR3awRXa4KnQaFeJIAc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" + integrity sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@^7.9.6": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.10.4.tgz?cache=0&sync_timestamp=1593522855920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.10.4.tgz#fbf57f9a803afd97f4f32e4f798bb62e4b2bef5f" + integrity sha1-+/V/moA6/Zf08y5PeYu2Lksr718= + dependencies: + "@babel/compat-data" "^7.10.4" + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-proposal-async-generator-functions" "^7.10.4" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" + "@babel/plugin-proposal-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread" "^7.10.4" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.10.4" + "@babel/plugin-proposal-private-methods" "^7.10.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.10.4" + "@babel/plugin-transform-arrow-functions" "^7.10.4" + "@babel/plugin-transform-async-to-generator" "^7.10.4" + "@babel/plugin-transform-block-scoped-functions" "^7.10.4" + "@babel/plugin-transform-block-scoping" "^7.10.4" + "@babel/plugin-transform-classes" "^7.10.4" + "@babel/plugin-transform-computed-properties" "^7.10.4" + "@babel/plugin-transform-destructuring" "^7.10.4" + "@babel/plugin-transform-dotall-regex" "^7.10.4" + "@babel/plugin-transform-duplicate-keys" "^7.10.4" + "@babel/plugin-transform-exponentiation-operator" "^7.10.4" + "@babel/plugin-transform-for-of" "^7.10.4" + "@babel/plugin-transform-function-name" "^7.10.4" + "@babel/plugin-transform-literals" "^7.10.4" + "@babel/plugin-transform-member-expression-literals" "^7.10.4" + "@babel/plugin-transform-modules-amd" "^7.10.4" + "@babel/plugin-transform-modules-commonjs" "^7.10.4" + "@babel/plugin-transform-modules-systemjs" "^7.10.4" + "@babel/plugin-transform-modules-umd" "^7.10.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" + "@babel/plugin-transform-new-target" "^7.10.4" + "@babel/plugin-transform-object-super" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-property-literals" "^7.10.4" + "@babel/plugin-transform-regenerator" "^7.10.4" + "@babel/plugin-transform-reserved-words" "^7.10.4" + "@babel/plugin-transform-shorthand-properties" "^7.10.4" + "@babel/plugin-transform-spread" "^7.10.4" + "@babel/plugin-transform-sticky-regex" "^7.10.4" + "@babel/plugin-transform-template-literals" "^7.10.4" + "@babel/plugin-transform-typeof-symbol" "^7.10.4" + "@babel/plugin-transform-unicode-escapes" "^7.10.4" + "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.10.4" + browserslist "^4.12.0" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha1-EyQrU7XvjIg8PPfd3VWzbOgPvHI= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.6": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.10.5.tgz?cache=0&sync_timestamp=1594750825727&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c" + integrity sha1-MD2L1EDs1aSR6uYRf9M2dphnTFw= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz?cache=0&sync_timestamp=1593522831608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha1-MlGZbEIA68cdGo/EBfupQPNrong= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.10.5.tgz?cache=0&sync_timestamp=1594750826800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564" + integrity sha1-d85GT1sli+Jlr2GNj93wU28gtWQ= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/parser" "^7.10.5" + "@babel/types" "^7.10.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.10.5.tgz?cache=0&sync_timestamp=1594750825865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" + integrity sha1-2Irn4v3oa/v+hR1Nga+nCpl7XRU= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1593993832157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz?cache=0&sync_timestamp=1593915150444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fbourne%2Fdownload%2F%40hapi%2Fbourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1593915910245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.0", "@hapi/joi@^15.0.1": + version "15.1.1" + resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz?cache=0&sync_timestamp=1595023381050&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fjoi%2Fdownload%2F%40hapi%2Fjoi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz?cache=0&sync_timestamp=1593916080558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Ftopo%2Fdownload%2F%40hapi%2Ftopo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@intervolga/optimize-cssnano-plugin@^1.0.5": + version "1.0.6" + resolved "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" + integrity sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg= + dependencies: + cssnano "^4.0.0" + cssnano-preset-default "^4.0.0" + postcss "^7.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@soda/friendly-errors-webpack-plugin@^1.7.1": + version "1.7.1" + resolved "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d" + integrity sha1-cG9kvLSouWQrSK46zkRMcDNNYV0= + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-width "^2.0.0" + +"@soda/get-current-script@^1.0.0": + version "1.0.2" + resolved "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Fget-current-script%2Fdownload%2F%40soda%2Fget-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" + integrity sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc= + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1588199606687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1594077883343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@^7.0.4": + version "7.0.5" + resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.5.tgz?cache=0&sync_timestamp=1591720889158&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" + integrity sha1-3M5EMOZLRDuolF8CkPtWStW6xt0= + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson5%2Fdownload%2F%40types%2Fjson5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= + +"@types/node@*": + version "14.0.23" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.23.tgz?cache=0&sync_timestamp=1594655926831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.0.23.tgz#676fa0883450ed9da0bb24156213636290892806" + integrity sha1-Z2+giDRQ7Z2guyQVYhNjYpCJKAY= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1588201184787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= + +"@vue/babel-helper-vue-jsx-merge-props@^1.0.0": + version "1.0.0" + resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040" + integrity sha1-BI/leZWNpAj7eosqPsBQtQpmEEA= + +"@vue/babel-plugin-transform-vue-jsx@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz#c0a3e6efc022e75e4247b448a8fc6b86f03e91c0" + integrity sha1-wKPm78Ai515CR7RIqPxrhvA+kcA= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.4.6": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.4.6.tgz?cache=0&sync_timestamp=1592976388832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-app%2Fdownload%2F%40vue%2Fbabel-preset-app-4.4.6.tgz#92aef916e83f1abe0a2ed1e9e2cef5b332f958c4" + integrity sha1-kq75Fug/Gr4KLtHp4s71szL5WMQ= + dependencies: + "@babel/core" "^7.9.6" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.9.6" + "@babel/preset-env" "^7.9.6" + "@babel/runtime" "^7.9.6" + "@vue/babel-preset-jsx" "^1.1.2" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz#2e169eb4c204ea37ca66c2ea85a880bfc99d4f20" + integrity sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA= + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + "@vue/babel-sugar-functional-vue" "^1.1.2" + "@vue/babel-sugar-inject-h" "^1.1.2" + "@vue/babel-sugar-v-model" "^1.1.2" + "@vue/babel-sugar-v-on" "^1.1.2" + +"@vue/babel-sugar-functional-vue@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz#f7e24fba09e6f1ee70104560a8808057555f1a9a" + integrity sha1-9+JPugnm8e5wEEVgqICAV1VfGpo= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz#8a5276b6d8e2ed16ffc8078aad94236274e6edf0" + integrity sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz#1ff6fd1b800223fc9cb1e84dceb5e52d737a8192" + integrity sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz#b2ef99b8f2fab09fbead25aad70ef42e1cf5b13b" + integrity sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + camelcase "^5.0.0" + +"@vue/cli-overlay@^4.4.6": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-4.4.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-4.4.6.tgz#58f996066d8c0a0a45ad4b5c6f3f213f9945a9ba" + integrity sha1-WPmWBm2MCgpFrUtcbz8hP5lFqbo= + +"@vue/cli-plugin-babel@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.4.6.tgz?cache=0&sync_timestamp=1592976338358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-babel%2Fdownload%2F%40vue%2Fcli-plugin-babel-4.4.6.tgz#d5d750d4f74900c00836e19c164193650df26f3b" + integrity sha1-1ddQ1PdJAMAINuGcFkGTZQ3ybzs= + dependencies: + "@babel/core" "^7.9.6" + "@vue/babel-preset-app" "^4.4.6" + "@vue/cli-shared-utils" "^4.4.6" + babel-loader "^8.1.0" + cache-loader "^4.1.0" + thread-loader "^2.1.3" + webpack "^4.0.0" + +"@vue/cli-plugin-eslint@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.4.6.tgz#442d62a70dd93e4a549ff9164d2d10f4e97a58f1" + integrity sha1-RC1ipw3ZPkpUn/kWTS0Q9Ol6WPE= + dependencies: + "@vue/cli-shared-utils" "^4.4.6" + eslint-loader "^2.2.1" + globby "^9.2.0" + inquirer "^7.1.0" + webpack "^4.0.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-pwa@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-pwa/download/@vue/cli-plugin-pwa-4.4.6.tgz#f1b8e35822e28c3b6b196673d00a9127f7953937" + integrity sha1-8bjjWCLijDtrGWZz0AqRJ/eVOTc= + dependencies: + "@vue/cli-shared-utils" "^4.4.6" + webpack "^4.0.0" + workbox-webpack-plugin "^4.3.1" + +"@vue/cli-plugin-router@^4.4.6", "@vue/cli-plugin-router@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.4.6.tgz?cache=0&sync_timestamp=1592976330485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-router%2Fdownload%2F%40vue%2Fcli-plugin-router-4.4.6.tgz#db5bb1c92afd2046376e4faa90270d6363d4b9b8" + integrity sha1-21uxySr9IEY3bk+qkCcNY2PUubg= + dependencies: + "@vue/cli-shared-utils" "^4.4.6" + +"@vue/cli-plugin-vuex@^4.4.6", "@vue/cli-plugin-vuex@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.4.6.tgz?cache=0&sync_timestamp=1592976327785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-vuex%2Fdownload%2F%40vue%2Fcli-plugin-vuex-4.4.6.tgz#44b596f0d5236e0a2ce1aa4757bda5207c230be0" + integrity sha1-RLWW8NUjbgos4apHV72lIHwjC+A= + +"@vue/cli-service@~4.4.0": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.4.6.tgz?cache=0&sync_timestamp=1592976332700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-service%2Fdownload%2F%40vue%2Fcli-service-4.4.6.tgz#83ca058d081eb145bbc1ae2fe8069d2d9ddf7e18" + integrity sha1-g8oFjQgesUW7wa4v6AadLZ3ffhg= + dependencies: + "@intervolga/optimize-cssnano-plugin" "^1.0.5" + "@soda/friendly-errors-webpack-plugin" "^1.7.1" + "@soda/get-current-script" "^1.0.0" + "@vue/cli-overlay" "^4.4.6" + "@vue/cli-plugin-router" "^4.4.6" + "@vue/cli-plugin-vuex" "^4.4.6" + "@vue/cli-shared-utils" "^4.4.6" + "@vue/component-compiler-utils" "^3.1.2" + "@vue/preload-webpack-plugin" "^1.1.0" + "@vue/web-component-wrapper" "^1.2.0" + acorn "^7.2.0" + acorn-walk "^7.1.1" + address "^1.1.2" + autoprefixer "^9.8.0" + browserslist "^4.12.0" + cache-loader "^4.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.4" + clipboardy "^2.3.0" + cliui "^6.0.0" + copy-webpack-plugin "^5.1.1" + css-loader "^3.5.3" + cssnano "^4.1.10" + debug "^4.1.1" + default-gateway "^5.0.5" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + file-loader "^4.2.0" + fs-extra "^7.0.1" + globby "^9.2.0" + hash-sum "^2.0.0" + html-webpack-plugin "^3.2.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + lodash.transform "^4.6.0" + mini-css-extract-plugin "^0.9.0" + minimist "^1.2.5" + pnp-webpack-plugin "^1.6.4" + portfinder "^1.0.26" + postcss-loader "^3.0.0" + ssri "^7.1.0" + terser-webpack-plugin "^2.3.6" + thread-loader "^2.1.3" + url-loader "^2.2.0" + vue-loader "^15.9.2" + vue-style-loader "^4.1.2" + webpack "^4.0.0" + webpack-bundle-analyzer "^3.8.0" + webpack-chain "^6.4.0" + webpack-dev-server "^3.11.0" + webpack-merge "^4.2.2" + +"@vue/cli-shared-utils@^4.4.6": + version "4.4.6" + resolved "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.4.6.tgz?cache=0&sync_timestamp=1592976389673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.4.6.tgz#0ec59880920736c6dd79079ac0b5ceac29fa55e1" + integrity sha1-DsWYgJIHNsbdeQeawLXOrCn6VeE= + dependencies: + "@hapi/joi" "^15.0.1" + chalk "^2.4.2" + execa "^1.0.0" + launch-editor "^2.2.1" + lru-cache "^5.1.1" + node-ipc "^9.1.1" + open "^6.3.0" + ora "^3.4.0" + read-pkg "^5.1.1" + request "^2.88.2" + semver "^6.1.0" + strip-ansi "^6.0.0" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": + version "3.1.2" + resolved "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz#8213a5ff3202f9f2137fe55370f9e8b9656081c3" + integrity sha1-ghOl/zIC+fITf+VTcPnouWVggcM= + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.14" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" + +"@vue/eslint-config-standard@^5.1.2": + version "5.1.2" + resolved "https://registry.npm.taobao.org/@vue/eslint-config-standard/download/@vue/eslint-config-standard-5.1.2.tgz?cache=0&sync_timestamp=1581740717239&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Feslint-config-standard%2Fdownload%2F%40vue%2Feslint-config-standard-5.1.2.tgz#c5d55af894a3ae23b65b1af4a425777ac0170b42" + integrity sha1-xdVa+JSjriO2Wxr0pCV3esAXC0I= + dependencies: + eslint-config-standard "^14.1.0" + eslint-import-resolver-node "^0.3.3" + eslint-import-resolver-webpack "^0.12.1" + +"@vue/preload-webpack-plugin@^1.1.0": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz#18723530d304f443021da2292d6ec9502826104a" + integrity sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo= + +"@vue/web-component-wrapper@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1" + integrity sha1-uw5G8VhafiibTuYGfcxaauYvHdE= + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1580600103531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ= + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1580600093212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q= + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1580600095518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI= + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1580600094393&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA= + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1580600150532&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc= + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1580600091792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg= + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&sync_timestamp=1580600151060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc= + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&sync_timestamp=1580600099056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A= + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1580600150333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1580600097902&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1580600096686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1580600100063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas= + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&sync_timestamp=1580600102353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1580600104620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1580600101082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1580600149379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1580600149981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1580600105652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz?cache=0&sync_timestamp=1582724149302&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1592373541161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= + +acorn@^6.4.1: + version "6.4.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1591869455923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ= + +acorn@^7.1.1, acorn@^7.2.0: + version "7.3.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz?cache=0&sync_timestamp=1591869455923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" + integrity sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0= + +address@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.5.1" + resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.1.tgz#b83ca89c5d42d69031f424cad49aada0236c6957" + integrity sha1-uDyonF1C1pAx9CTK1JqtoCNsaVc= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5: + version "6.12.3" + resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz?cache=0&sync_timestamp=1593878551850&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha1-GMWvOKER3etPJpe9eNaKvByr1wY= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +arch@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/arch/download/arch-2.1.2.tgz?cache=0&sync_timestamp=1589130903544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farch%2Fdownload%2Farch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf" + integrity sha1-DFK75zRLtPomDEQ9LLrZwA/y8L8= + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-find@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fassert%2Fdownload%2Fassert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&sync_timestamp=1574271635932&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz?cache=0&sync_timestamp=1582513244496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync%2Fdownload%2Fasync-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.8.0: + version "9.8.5" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.5.tgz?cache=0&sync_timestamp=1594444610244&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.5.tgz#2c225de229ddafe1d1424c02791d0c3e10ccccaa" + integrity sha1-LCJd4indr+HRQkwCeR0MPhDMzKo= + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001097" + colorette "^1.2.0" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" + integrity sha1-oXs6jqgRBg501H0wYSJACtRJeuI= + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= + dependencies: + babylon "^6.18.0" + +babel-loader@^8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1584717315701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha1-xhHVESvVIJq+i5+oTD5NolJ18cM= + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + integrity sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo= + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz?cache=0&sync_timestamp=1577112292100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbfj%2Fdownload%2Fbfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4= + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + +block-stream@*: + version "0.0.9" + resolved "https://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +bluebird@^3.1.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg= + +bn.js@^5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha1-yWhpAtPJoncp9DqxD515wgBNp7A= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbody-parser%2Fdownload%2Fbody-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" + integrity sha1-VF0LGwfmssmSEQgr8bEsznoLDhE= + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.2" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: + version "4.13.0" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.13.0.tgz?cache=0&sync_timestamp=1593912403643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" + integrity sha1-QlVsugEeGwondbYRy6ao7KGOlA0= + dependencies: + caniuse-lite "^1.0.30001093" + electron-to-chromium "^1.3.488" + escalade "^3.0.1" + node-releases "^1.1.58" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" + integrity sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1588706716358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594428108619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594428108619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" + integrity sha1-mUjK41OuwKH8ser9ojAIFuyFOH4= + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^3.0.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^2.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576721717499&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz?cache=0&sync_timestamp=1585886152866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: + version "1.0.30001103" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001103.tgz?cache=0&sync_timestamp=1595136891997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001103.tgz#fe81536d075b97cd013d4988c9212418faa289a8" + integrity sha1-/oFTbQdbl80BPUmIySEkGPqiiag= + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz?cache=0&sync_timestamp=1579126505655&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcase-sensitive-paths-webpack-plugin%2Fdownload%2Fcase-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1591687076871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1591687076871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1591687076871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687076871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1594010660915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&sync_timestamp=1579455317097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864779401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.0: + version "3.4.1" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.1.tgz?cache=0&sync_timestamp=1594864779401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" + integrity sha1-6QW97PEOqgoLHbDGZEgcxMvCK6E= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= + dependencies: + tslib "^1.9.0" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1592035183333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.4.tgz?cache=0&sync_timestamp=1573949240542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b" + integrity sha1-CYy2Qs8X9CrcHBFF4H+WDsTXUis= + dependencies: + chalk "^3.0.0" + highlight.js "^9.6.0" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^5.1.1" + yargs "^15.0.0" + +cli-spinners@^2.0.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.4.0.tgz?cache=0&sync_timestamp=1595080364429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.4.0.tgz#c6256db216b878cfba4720e719cec7cf72685d7f" + integrity sha1-xiVtsha4eM+6RyDnGc7Hz3JoXX8= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha1-PCkDZQxo5GqRs4iYW8J3QofbopA= + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1573943106490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1573943106490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colorette@^1.2.0: + version "1.2.1" + resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955762018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1595168214577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.18.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1595168214577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1595168214577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +common-tags@^1.8.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha1-jjFT5ULUo56bEFVENK+q+YlWqTc= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsole-browserify%2Fdownload%2Fconsole-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha1-IasEMjXHGgfUXZqtmFk7DbpWurc= + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&sync_timestamp=1587525873712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" + integrity sha1-VIGgPeoRI9iKmIxv+LeCRyFPC4g= + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^2.1.2" + webpack-log "^2.0.0" + +core-js-compat@^3.6.2, core-js-compat@^3.6.5: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw= + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-js@^2.4.0: + version "2.6.11" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= + +core-js@^3.6.5: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8= + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz?cache=0&sync_timestamp=1590420971248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&sync_timestamp=1590420971248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1590420971248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1590420971248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@^3.5.3: + version "3.6.0" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz?cache=0&sync_timestamp=1592056820460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + integrity sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU= + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^6.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz?cache=0&sync_timestamp=1573342118933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1573342118933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&sync_timestamp=1575583998203&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&sync_timestamp=1575583998203&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" + integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus= + dependencies: + mdn-data "2.0.6" + source-map "^0.6.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz?cache=0&sync_timestamp=1590961405812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= + +css-what@^3.2.1: + version "3.3.0" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz?cache=0&sync_timestamp=1590961405812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" + integrity sha1-EP7Glqns4uWRrHctdZqsq6w4zTk= + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^4.0.0, cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.0.3" + resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" + integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM= + dependencies: + css-tree "1.0.0-alpha.39" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.5: + version "3.2.6" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + +decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha1-EEmdhohEza1P7ghC34x/bwyVp1M= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1590419169708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +default-gateway@^5.0.5: + version "5.0.5" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1590419169708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" + integrity sha1-T9a9XShV05s0zFpZUFSG6ar8mxA= + dependencies: + execa "^3.3.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067464639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0= + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572620518450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha1-w07MKVVtxF8fTCJpe29JBODMT8s= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz?cache=0&sync_timestamp=1571190782798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdotenv%2Fdownload%2Fdotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha1-l+YZJZradQ7qPk6j4mvO6lQksWo= + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +easy-stack@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" + integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1589699559399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +electron-to-chromium@^1.3.488: + version "1.3.501" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.501.tgz?cache=0&sync_timestamp=1595146857332&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.501.tgz#faa17a2cb0105ee30d5e1ca87eae7d8e85dd3175" + integrity sha1-+qF6LLAQXuMNXhyofq59joXdMXU= + +elliptic@^6.0.0, elliptic@^6.5.2: + version "6.5.3" + resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492754083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^0.9.1: + version "0.9.1" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz?cache=0&sync_timestamp=1594970571823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + integrity sha1-TW5omzcl+GCQknzMhs2fFjW4ni4= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +enhanced-resolve@^4.1.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1594970571823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1591227405887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&sync_timestamp=1591227405887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38= + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.0: + version "2.0.6" + resolved "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha1-WpmnB716TFinl5AtSNgoA+3mqtg= + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: + version "1.17.6" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1592109129612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha1-kUIHFweFeyysx7iey2cDFsPi1So= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.0.1: + version "3.0.2" + resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594742923342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" + integrity sha1-algNcO24eIDyK0yR0NVgeN9pYsQ= + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627107924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +eslint-config-standard@^14.1.0: + version "14.1.1" + resolved "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" + integrity sha1-gwqOROeu995nRkl5rQa0BgJsVuo= + +eslint-import-resolver-node@^0.3.3: + version "0.3.4" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz?cache=0&sync_timestamp=1592328808853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc= + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-import-resolver-webpack@^0.12.1: + version "0.12.2" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-webpack/download/eslint-import-resolver-webpack-0.12.2.tgz#769e86cd0c752a1536c19855ebd90aa14ce384ee" + integrity sha1-dp6GzQx1KhU2wZhV69kKoUzjhO4= + dependencies: + array-find "^1.0.0" + debug "^2.6.9" + enhanced-resolve "^0.9.1" + find-root "^1.1.0" + has "^1.0.3" + interpret "^1.2.0" + lodash "^4.17.15" + node-libs-browser "^1.0.0 || ^2.0.0" + resolve "^1.13.1" + semver "^5.7.1" + +eslint-loader@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-loader%2Fdownload%2Feslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= + dependencies: + loader-fs-cache "^1.0.0" + loader-utils "^1.0.2" + object-assign "^4.0.1" + object-hash "^1.1.4" + rimraf "^2.6.1" + +eslint-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y= + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha1-dafN/czdwFiZNK7rOEF18iHFeJM= + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.20.2: + version "2.22.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.22.0.tgz?cache=0&sync_timestamp=1593237350014&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" + integrity sha1-kvdzb+H94+Led2I8g43Zkv9f+34= + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.3" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha1-yVVEQW7kraJnQKMEdO78VALcZx0= + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.2.1: + version "4.2.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" + integrity sha1-hF/YsiYK2PglZMEiL85ErXHZQYo= + +eslint-plugin-standard@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4" + integrity sha1-/wUZ9/+v8RT3bRvXw5lu7w9uILQ= + +eslint-plugin-vue@^6.2.2: + version "6.2.2" + resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe" + integrity sha1-J/7NmjokeJsPER7N1UCp5WGY4P4= + dependencies: + natural-compare "^1.4.0" + semver "^5.6.0" + vue-eslint-parser "^7.0.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz?cache=0&sync_timestamp=1592222029130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1592222029130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1592583167448&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint@^6.7.2: + version "6.8.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1595098492891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2, espree@^6.2.1: + version "6.2.1" + resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1595033738897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz?cache=0&sync_timestamp=1587061209806&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha1-9o2Ba8KfHsAsU53FjI3UDOcss24= + +eventemitter3@^4.0.0: + version "4.0.4" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.4.tgz?cache=0&sync_timestamp=1589283105849&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha1-tUY6zmNaCD0Bi9x8kXtMXxCoU4Q= + +events@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk= + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1594145159577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1594145159577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.3.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1594145159577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1585184310145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599651635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1592290365180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= + dependencies: + websocket-driver ">=0.5.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1581865437156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8= + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ= + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0: + version "1.12.1" + resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.12.1.tgz?cache=0&sync_timestamp=1592518530318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6" + integrity sha1-3lSmIFMRuT1gOY68Ac9wFWgjErY= + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1573027040291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628301705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU= + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko= + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz?cache=0&sync_timestamp=1575993668197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-own-enumerable-property-symbols%2Fdownload%2Fget-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha1-ASA83JJZf5uQkGfD5lbMH008Tck= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1584836110944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz?cache=0&sync_timestamp=1584836110944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: + version "7.1.6" + resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +globule@^1.0.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz?cache=0&sync_timestamp=1591641769816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobule%2Fdownload%2Fglobule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ= + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: + version "4.2.4" + resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1588086876757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950719586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo= + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x, he@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +highlight.js@^9.6.0: + version "9.18.1" + resolved "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" + integrity sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw= + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594428017031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= + +html-entities@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ= + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407676273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407676273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1593407676273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz?cache=0&sync_timestamp=1572714277347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c= + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz?cache=0&sync_timestamp=1589778321455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy%2Fdownload%2Fhttp-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1585807874533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.3, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.1: + version "5.1.8" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1573665028675&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz?cache=0&sync_timestamp=1573665028675&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz?cache=0&sync_timestamp=1584389407092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fin-publish%2Fdownload%2Fin-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw= + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inquirer@^7.0.0, inquirer@^7.1.0: + version "7.3.2" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.2.tgz#25245d2e32dc9f33dbe26eeaada231daa66e9c7c" + integrity sha1-JSRdLjLcnzPb4m7qraIx2qZunHw= + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.16" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +interpret@^1.2.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz?cache=0&sync_timestamp=1591167206134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finterpret%2Fdownload%2Finterpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4= + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1588707106955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw= + dependencies: + ci-info "^1.5.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729293199&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-docker/download/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" + integrity sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1593243670545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" + integrity sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8= + dependencies: + has-symbols "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE= + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +javascript-stringify@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" + integrity sha1-bvNYA1MQ411mfGde1j0+t8GqGeU= + +jest-worker@^25.4.0: + version "25.5.0" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz?cache=0&sync_timestamp=1592925425543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha1-JhHQcbec6g9D7lej0RhZOsFUfbE= + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +js-base64@^2.1.8: + version "2.6.3" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.3.tgz?cache=0&sync_timestamp=1595031192756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.3.tgz#7afdb9b57aa7717e15d370b66e8f36a9cb835dc3" + integrity sha1-ev25tXqncX4V03C2bo82qcuDXcM= + +js-message@1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" + integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= + +js-queue@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" + integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= + dependencies: + easy-stack "^1.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172246873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586045693798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586045693798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586045693798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM= + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +launch-editor-middleware@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" + integrity sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc= + dependencies: + launch-editor "^2.2.1" + +launch-editor@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" + integrity sha1-hxtaPuOdZoD8wm03kwtu7aidsMo= + dependencies: + chalk "^2.3.0" + shell-quote "^1.6.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz?cache=0&sync_timestamp=1580182863535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flevenary%2Fdownload%2Flevenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.0: + version "1.0.3" + resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.3.1, loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1593786187106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY= + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.16, lodash@^4.17.19, lodash@^4.17.3, lodash@~4.17.10: + version "4.17.19" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226827854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha1-5I3e2+MLMyF4PFtDAfvTU7weSks= + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + +loglevel@^1.6.8: + version "1.6.8" + resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" + integrity sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE= + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427573763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427573763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1593510482566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +mdn-data@2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1593510482566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" + integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.2.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1589206039620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY= + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz?cache=0&sync_timestamp=1591169980723&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmerge2%2Fdownload%2Fmerge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": + version "1.44.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I= + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.27" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz?cache=0&sync_timestamp=1587700357245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8= + dependencies: + mime-db "1.44.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.4: + version "2.4.6" + resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1576856499989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.3" + resolved "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" + integrity sha1-VfeDkwfXSFnW6K2pw+vnLOwhajQ= + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&sync_timestamp=1589332658869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha1-fUL/HzljVILhX5zbUxhN7r1YFf0= + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI= + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1, nan@^2.13.2: + version "2.14.1" + resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha1-174036MQW5FJTDFHCJMV7/iHSwE= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317361810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&sync_timestamp=1584699726257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk= + +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1591154882624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw= + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-ipc@^9.1.1: + version "9.1.1" + resolved "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69" + integrity sha1-TiRe1pOOZRAOWV68XcNLFujdXWk= + dependencies: + event-pubsub "4.3.0" + js-message "1.0.5" + js-queue "2.0.0" + +"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.58: + version "1.1.59" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.59.tgz?cache=0&sync_timestamp=1594212217047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" + integrity sha1-TWSDMGQc7HBL/xD45P4o5FOrjo4= + +node-sass@^4.12.0: + version "4.14.1" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U= + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= + dependencies: + path-key "^3.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + version "4.1.2" + resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz?cache=0&sync_timestamp=1581061562193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnumber-is-nan%2Fdownload%2Fnumber-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.4: + version "1.3.1" + resolved "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= + +object-inspect@^1.7.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz?cache=0&sync_timestamp=1592545089271&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA= + +object-is@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1595208413967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opener@^1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0= + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&sync_timestamp=1585966238288&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1594997563446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha1-vwdSSRBZo+8+1MhQl1Md6f280xg= + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0: + version "0.1.5" + resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559711554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559711554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1572521210242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1580283988434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.5" + resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha1-ADJxND2ljclMrOSU+u89IUfs6g4= + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha1-c+URTJhtFD76NxLU6iTbmkJm9g8= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" + integrity sha1-6MdD1OkhlNUpPs3isIvjHmdGHLw= + dependencies: + parse5 "^5.1.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441404712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1574441404712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&sync_timestamp=1574278831909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&sync_timestamp=1591275785449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha1-y4cksPramEWWhW0abrr9NYRlS5Q= + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +pnp-webpack-plugin@^1.6.4: + version "1.6.4" + resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk= + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26: + version "1.0.26" + resolved "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" + integrity sha1-R1ZY1WyjC+1yrH8TeO01C9G2TnA= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^7.0.1: + version "7.0.2" + resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" + integrity sha1-UE780AjKAnMSBWiweSsWzc3oqsE= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha1-6KZWG+kUqvPAUodjd1JMqQ27eRU= + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw= + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.32" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" + integrity sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz?cache=0&sync_timestamp=1585868608597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprelude-ls%2Fdownload%2Fprelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s= + +pretty-bytes@^5.1.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI= + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz?cache=0&sync_timestamp=1582556112011&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-addr%2Fdownload%2Fproxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938200736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1591853319485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4= + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^5.1.1: + version "5.2.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto= + dependencies: + picomatch "^2.2.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&sync_timestamp=1583947186031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc= + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557394730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpp@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= + +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg= + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +register-service-worker@^1.7.1: + version "1.7.1" + resolved "https://registry.npm.taobao.org/register-service-worker/download/register-service-worker-1.7.1.tgz#6308347ac6c0af0f6c0b22ea5d59d25e836bc932" + integrity sha1-Ywg0esbArw9sCyLqXVnSXoNryTI= + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request@^2.87.0, request@^2.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.17.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ= + dependencies: + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.6.0: + version "6.6.0" + resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.0.tgz?cache=0&sync_timestamp=1593795160008&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" + integrity sha1-rykB7t8C46g/+n+IYkD/kBi77IQ= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1589129103371&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1589129103371&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.5.tgz?cache=0&sync_timestamp=1588596720960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-graph%2Fdownload%2Fsass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug= + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + +sass-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1594134152417&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0= + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: + version "2.7.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha1-FxUfdtjq5n+793lgwzxnatn078c= + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.7: + version "1.10.7" + resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz?cache=0&sync_timestamp=1569952074772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs= + dependencies: + node-forge "0.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: + version "5.7.1" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz?cache=0&sync_timestamp=1591623621018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE= + +serialize-javascript@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz?cache=0&sync_timestamp=1591623621018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" + integrity sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz?cache=0&sync_timestamp=1566505930428&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha1-smooPsVi74smh7RAM6Tuzqx12FU= + dependencies: + faye-websocket "^0.10.0" + uuid "^3.4.0" + websocket-driver "0.6.5" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584829475930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590162035755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz?cache=0&sync_timestamp=1585970558936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdy%2Fdownload%2Fspdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0, ssri@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha1-ksJBv23oI2W1x/tL126XVSLhKU0= + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854072754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha1-UkKUktY8YuuYmATBFVLj0i53kwM= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587327902535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4= + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041545531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147178936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1594567543744&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^0.1.8: + version "0.1.10" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-0.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + integrity sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q= + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz?cache=0&sync_timestamp=1588021629368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA= + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +terser-webpack-plugin@^1.4.3: + version "1.4.4" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.4.tgz?cache=0&sync_timestamp=1594910725460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" + integrity sha1-LGNUQ0cyS6r6mla6rd8WNMir/C8= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^3.1.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^2.3.6: + version "2.3.7" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.7.tgz?cache=0&sync_timestamp=1594910725460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.7.tgz#4910ff5d1a872168cc7fa6cd3749e2b0d60a8a0b" + integrity sha1-SRD/XRqHIWjMf6bNN0nisNYKigs= + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.3.1" + jest-worker "^25.4.0" + p-limit "^2.3.0" + schema-utils "^2.6.6" + serialize-javascript "^3.1.0" + source-map "^0.6.1" + terser "^4.6.12" + webpack-sources "^1.4.3" + +terser@^4.1.2, terser@^4.6.12: + version "4.8.0" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1593953630973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz?cache=0&sync_timestamp=1592413466879&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthenify%2Fdownload%2Fthenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8= + dependencies: + any-promise "^1.0.0" + +thread-loader@^2.1.3: + version "2.1.3" + resolved "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" + integrity sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo= + dependencies: + loader-runner "^2.3.1" + loader-utils "^1.1.0" + neo-async "^2.6.0" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478643560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178571895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550296062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0= + dependencies: + glob "^7.1.2" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz?cache=0&sync_timestamp=1585245753622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs= + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM= + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&sync_timestamp=1583948924460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1567458131109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1575601671982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz?cache=0&sync_timestamp=1585438689517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furix%2Fdownload%2Furix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238435623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1588238435623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1592944180280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz?cache=0&sync_timestamp=1590871613090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579858502549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +vue-eslint-parser@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.1.0.tgz?cache=0&sync_timestamp=1589539012061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.1.0.tgz#9cdbcc823e656b087507a1911732b867ac101e83" + integrity sha1-nNvMgj5lawh1B6GRFzK4Z6wQHoM= + dependencies: + debug "^4.1.1" + eslint-scope "^5.0.0" + eslint-visitor-keys "^1.1.0" + espree "^6.2.1" + esquery "^1.0.1" + lodash "^4.17.15" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI= + +vue-loader@^15.9.2: + version "15.9.3" + resolved "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz?cache=0&sync_timestamp=1593355818681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.3.tgz#0de35d9e555d3ed53969516cac5ce25531299dda" + integrity sha1-DeNdnlVdPtU5aVFsrFziVTEpndo= + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-router@^3.2.0: + version "3.3.4" + resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.3.4.tgz?cache=0&sync_timestamp=1594139127797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.3.4.tgz#4e38abc34a11c41b6c3d8244449a2e363ba6250b" + integrity sha1-Tjirw0oRxBtsPYJERJouNjumJQs= + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" + integrity sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg= + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.6.11: + version "2.6.11" + resolved "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" + integrity sha1-wEcE749JixUxMAGJk+VjCdRpgIA= + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU= + +vue@^2.6.11: + version "2.6.11" + resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" + integrity sha1-dllNh31LEiNEBuhONSdcbVFBJcU= + +vuex@^3.4.0: + version "3.5.1" + resolved "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz#f1b8dcea649bc25254cf4f4358081dbf5da18b3d" + integrity sha1-8bjc6mSbwlJUz09DWAgdv12hiz0= + +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha1-mUihhmy71suCTeoTp+1pH2yN3/A= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.1: + version "1.7.2" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" + integrity sha1-wC5NTUmRPD5+EiwzJTZa+dMx6ao= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.0" + watchpack-chokidar2 "^2.0.0" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webpack-bundle-analyzer@^3.8.0: + version "3.8.0" + resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16" + integrity sha1-zms/kI2vBp/R9yZvaSy7O97ZuhY= + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.15" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-chain@^6.4.0: + version "6.5.0" + resolved "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.5.0.tgz#0b4af2094a5058a9ccd34b8f7ab194de4c83365f" + integrity sha1-C0ryCUpQWKnM00uPerGU3kyDNl8= + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.2" + resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744507965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM= + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.11.0: + version "3.11.0" + resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.0.tgz?cache=0&sync_timestamp=1588952721810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" + integrity sha1-jxVKO84bz9HMYY705wMniFXn/4w= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.20" + sockjs-client "1.4.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&sync_timestamp=1594294957807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha1-onxS6ng9E5iv0gh/VH17nS9DY00= + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1574264193174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.0.0: + version "4.43.0" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz?cache=0&sync_timestamp=1594294588188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" + integrity sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.1" + webpack-sources "^1.4.1" + +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.6.5.tgz?cache=0&sync_timestamp=1591288882525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591288882525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1, which@^1.2.9: + version "1.3.1" + resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= + +workbox-webpack-plugin@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^6.0.0, ws@^6.2.1: + version "6.2.1" + resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925518385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= + dependencies: + async-limiter "~1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1595125205629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1595125205629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1594421065904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^15.0.0: + version "15.4.1" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1594421065904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg= + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k= + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" deleted file mode 160000 index 4b552c56d..000000000 --- "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\345\274\202\346\255\245\345\212\240\350\275\275demo" +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4b552c56dc25d11dfaa5e2f1654a8a06b2e9b13d diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/package.json" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/package.json" new file mode 100644 index 000000000..7401e20db --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/package.json" @@ -0,0 +1,26 @@ +{ + "name": "test", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack" + }, + "author": "", + "license": "ISC", + "dependencies": { + "css-loader": "^4.3.0", + "mini-css-extract-plugin": "^0.11.2", + "node-sass": "^4.14.1", + "sass-loader": "^10.0.2", + "vue-loader": "^15.9.3", + "vue-loader-plugin": "^1.3.0", + "vue-style-loader": "^4.1.2", + "vue-template-compiler": "^2.6.12" + }, + "devDependencies": { + "webpack": "^4.44.1", + "webpack-cli": "^3.3.12" + } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/HelloWorld.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/HelloWorld.vue" new file mode 100644 index 000000000..ddb592c01 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/HelloWorld.vue" @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/style.css" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/style.css" new file mode 100644 index 000000000..b443be41b --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/style.css" @@ -0,0 +1,3 @@ +.name { + color: #123456; +} \ No newline at end of file diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/test.vue" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/test.vue" new file mode 100644 index 000000000..0b183345f --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/src/test.vue" @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/webpack.config.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/webpack.config.js" new file mode 100644 index 000000000..2ad2aee32 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/01-webpack/webpack.config.js" @@ -0,0 +1,62 @@ +const path = require('path'); +const VueLoaderPlugin = require('vue-loader/lib/plugin'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin') + +module.exports = { + entry: './src/HelloWorld.vue', + output: { + path: path.resolve(__dirname, 'dist'), + filename: 'helloWorld.js', + library: 'helloWorld' + }, + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue-loader' + }, + // 它会应用到普通的 `.js` 文件 + // 以及 `.vue` 文件中的 ` + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/assets/logo.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/assets/logo.png" new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 zcmaKRcUV(fvo}bjDT-7nLI_nlK}sT_69H+`qzVWDA|yaU?}j417wLi^B1KB1SLsC& zL0ag7$U(XW5YR7p&Ux?sP$d4lvMt8C^+TcQu4F zQqv!UF!I+kw)c0jhd6+g6oCr9P?7)?!qX1ui*iL{p}sKCAGuJ{{W)0z1pLF|=>h}& zt(2Lr0Z`2ig8<5i%Zk}cO5Fm=LByqGWaS`oqChZdEFmc`0hSb#gg|Aap^{+WKOYcj zHjINK)KDG%&s?Mt4CL(T=?;~U@bU2x_mLKN!#GJuK_CzbNw5SMEJorG!}_5;?R>@1 zSl)jns3WlU7^J%=(hUtfmuUCU&C3%8B5C^f5>W2Cy8jW3#{Od{lF1}|?c61##3dzA zsPlFG;l_FzBK}8>|H_Ru_H#!_7$UH4UKo3lKOA}g1(R&|e@}GINYVzX?q=_WLZCgh z)L|eJMce`D0EIwgRaNETDsr+?vQknSGAi=7H00r`QnI%oQnFxm`G2umXso9l+8*&Q z7WqF|$p49js$mdzo^BXpH#gURy=UO;=IMrYc5?@+sR4y_?d*~0^YP7d+y0{}0)zBM zIKVM(DBvICK#~7N0a+PY6)7;u=dutmNqK3AlsrUU9U`d;msiucB_|8|2kY=(7XA;G zwDA8AR)VCA#JOkxm#6oHNS^YVuOU;8p$N)2{`;oF|rQ?B~K$%rHDxXs+_G zF5|-uqHZvSzq}L;5Kcy_P+x0${33}Ofb6+TX&=y;;PkEOpz%+_bCw_{<&~ zeLV|!bP%l1qxywfVr9Z9JI+++EO^x>ZuCK);=$VIG1`kxK8F2M8AdC$iOe3cj1fo(ce4l-9 z7*zKy3={MixvUk=enQE;ED~7tv%qh&3lR<0m??@w{ILF|e#QOyPkFYK!&Up7xWNtL zOW%1QMC<3o;G9_S1;NkPB6bqbCOjeztEc6TsBM<(q9((JKiH{01+Ud=uw9B@{;(JJ z-DxI2*{pMq`q1RQc;V8@gYAY44Z!%#W~M9pRxI(R?SJ7sy7em=Z5DbuDlr@*q|25V)($-f}9c#?D%dU^RS<(wz?{P zFFHtCab*!rl(~j@0(Nadvwg8q|4!}L^>d?0al6}Rrv9$0M#^&@zjbfJy_n!%mVHK4 z6pLRIQ^Uq~dnyy$`ay51Us6WaP%&O;@49m&{G3z7xV3dLtt1VTOMYl3UW~Rm{Eq4m zF?Zl_v;?7EFx1_+#WFUXxcK78IV)FO>42@cm@}2I%pVbZqQ}3;p;sDIm&knay03a^ zn$5}Q$G!@fTwD$e(x-~aWP0h+4NRz$KlnO_H2c< z(XX#lPuW_%H#Q+c&(nRyX1-IadKR-%$4FYC0fsCmL9ky3 zKpxyjd^JFR+vg2!=HWf}2Z?@Td`0EG`kU?{8zKrvtsm)|7>pPk9nu@2^z96aU2<#` z2QhvH5w&V;wER?mopu+nqu*n8p~(%QkwSs&*0eJwa zMXR05`OSFpfyRb!Y_+H@O%Y z0=K^y6B8Gcbl?SA)qMP3Z+=C(?8zL@=74R=EVnE?vY!1BQy2@q*RUgRx4yJ$k}MnL zs!?74QciNb-LcG*&o<9=DSL>1n}ZNd)w1z3-0Pd^4ED1{qd=9|!!N?xnXjM!EuylY z5=!H>&hSofh8V?Jofyd!h`xDI1fYAuV(sZwwN~{$a}MX^=+0TH*SFp$vyxmUv7C*W zv^3Gl0+eTFgBi3FVD;$nhcp)ka*4gSskYIqQ&+M}xP9yLAkWzBI^I%zR^l1e?bW_6 zIn{mo{dD=)9@V?s^fa55jh78rP*Ze<3`tRCN4*mpO$@7a^*2B*7N_|A(Ve2VB|)_o z$=#_=aBkhe(ifX}MLT()@5?OV+~7cXC3r!%{QJxriXo9I%*3q4KT4Xxzyd{ z9;_%=W%q!Vw$Z7F3lUnY+1HZ*lO;4;VR2+i4+D(m#01OYq|L_fbnT;KN<^dkkCwtd zF7n+O7KvAw8c`JUh6LmeIrk4`F3o|AagKSMK3))_5Cv~y2Bb2!Ibg9BO7Vkz?pAYX zoI=B}+$R22&IL`NCYUYjrdhwjnMx_v=-Qcx-jmtN>!Zqf|n1^SWrHy zK|MwJ?Z#^>)rfT5YSY{qjZ&`Fjd;^vv&gF-Yj6$9-Dy$<6zeP4s+78gS2|t%Z309b z0^fp~ue_}i`U9j!<|qF92_3oB09NqgAoehQ`)<)dSfKoJl_A6Ec#*Mx9Cpd-p#$Ez z={AM*r-bQs6*z$!*VA4|QE7bf@-4vb?Q+pPKLkY2{yKsw{&udv_2v8{Dbd zm~8VAv!G~s)`O3|Q6vFUV%8%+?ZSVUa(;fhPNg#vab@J*9XE4#D%)$UU-T5`fwjz! z6&gA^`OGu6aUk{l*h9eB?opVdrHK>Q@U>&JQ_2pR%}TyOXGq_6s56_`U(WoOaAb+K zXQr#6H}>a-GYs9^bGP2Y&hSP5gEtW+GVC4=wy0wQk=~%CSXj=GH6q z-T#s!BV`xZVxm{~jr_ezYRpqqIcXC=Oq`b{lu`Rt(IYr4B91hhVC?yg{ol4WUr3v9 zOAk2LG>CIECZ-WIs0$N}F#eoIUEtZudc7DPYIjzGqDLWk_A4#(LgacooD z2K4IWs@N`Bddm-{%oy}!k0^i6Yh)uJ1S*90>|bm3TOZxcV|ywHUb(+CeX-o1|LTZM zwU>dY3R&U)T(}5#Neh?-CWT~@{6Ke@sI)uSuzoah8COy)w)B)aslJmp`WUcjdia-0 zl2Y}&L~XfA`uYQboAJ1;J{XLhYjH){cObH3FDva+^8ioOQy%Z=xyjGLmWMrzfFoH; zEi3AG`_v+%)&lDJE;iJWJDI@-X9K5O)LD~j*PBe(wu+|%ar~C+LK1+-+lK=t# z+Xc+J7qp~5q=B~rD!x78)?1+KUIbYr^5rcl&tB-cTtj+e%{gpZZ4G~6r15+d|J(ky zjg@@UzMW0k9@S#W(1H{u;Nq(7llJbq;;4t$awM;l&(2s+$l!Ay9^Ge|34CVhr7|BG z?dAR83smef^frq9V(OH+a+ki#q&-7TkWfFM=5bsGbU(8mC;>QTCWL5ydz9s6k@?+V zcjiH`VI=59P-(-DWXZ~5DH>B^_H~;4$)KUhnmGo*G!Tq8^LjfUDO)lASN*=#AY_yS zqW9UX(VOCO&p@kHdUUgsBO0KhXxn1sprK5h8}+>IhX(nSXZKwlNsjk^M|RAaqmCZB zHBolOHYBas@&{PT=R+?d8pZu zUHfyucQ`(umXSW7o?HQ3H21M`ZJal+%*)SH1B1j6rxTlG3hx1IGJN^M7{$j(9V;MZ zRKybgVuxKo#XVM+?*yTy{W+XHaU5Jbt-UG33x{u(N-2wmw;zzPH&4DE103HV@ER86 z|FZEmQb|&1s5#`$4!Cm}&`^{(4V}OP$bk`}v6q6rm;P!H)W|2i^e{7lTk2W@jo_9q z*aw|U7#+g59Fv(5qI`#O-qPj#@_P>PC#I(GSp3DLv7x-dmYK=C7lPF8a)bxb=@)B1 zUZ`EqpXV2dR}B&r`uM}N(TS99ZT0UB%IN|0H%DcVO#T%L_chrgn#m6%x4KE*IMfjX zJ%4veCEqbXZ`H`F_+fELMC@wuy_ch%t*+Z+1I}wN#C+dRrf2X{1C8=yZ_%Pt6wL_~ zZ2NN-hXOT4P4n$QFO7yYHS-4wF1Xfr-meG9Pn;uK51?hfel`d38k{W)F*|gJLT2#T z<~>spMu4(mul-8Q3*pf=N4DcI)zzjqAgbE2eOT7~&f1W3VsdD44Ffe;3mJp-V@8UC z)|qnPc12o~$X-+U@L_lWqv-RtvB~%hLF($%Ew5w>^NR82qC_0FB z)=hP1-OEx?lLi#jnLzH}a;Nvr@JDO-zQWd}#k^an$Kwml;MrD&)sC5b`s0ZkVyPkb zt}-jOq^%_9>YZe7Y}PhW{a)c39G`kg(P4@kxjcYfgB4XOOcmezdUI7j-!gs7oAo2o zx(Ph{G+YZ`a%~kzK!HTAA5NXE-7vOFRr5oqY$rH>WI6SFvWmahFav!CfRMM3%8J&c z*p+%|-fNS_@QrFr(at!JY9jCg9F-%5{nb5Bo~z@Y9m&SHYV`49GAJjA5h~h4(G!Se zZmK{Bo7ivCfvl}@A-ptkFGcWXAzj3xfl{evi-OG(TaCn1FAHxRc{}B|x+Ua1D=I6M z!C^ZIvK6aS_c&(=OQDZfm>O`Nxsw{ta&yiYPA~@e#c%N>>#rq)k6Aru-qD4(D^v)y z*>Rs;YUbD1S8^D(ps6Jbj0K3wJw>L4m)0e(6Pee3Y?gy9i0^bZO?$*sv+xKV?WBlh zAp*;v6w!a8;A7sLB*g-^<$Z4L7|5jXxxP1}hQZ<55f9<^KJ>^mKlWSGaLcO0=$jem zWyZkRwe~u{{tU63DlCaS9$Y4CP4f?+wwa(&1ou)b>72ydrFvm`Rj-0`kBJgK@nd(*Eh!(NC{F-@=FnF&Y!q`7){YsLLHf0_B6aHc# z>WIuHTyJwIH{BJ4)2RtEauC7Yq7Cytc|S)4^*t8Va3HR zg=~sN^tp9re@w=GTx$;zOWMjcg-7X3Wk^N$n;&Kf1RgVG2}2L-(0o)54C509C&77i zrjSi{X*WV=%C17((N^6R4Ya*4#6s_L99RtQ>m(%#nQ#wrRC8Y%yxkH;d!MdY+Tw@r zjpSnK`;C-U{ATcgaxoEpP0Gf+tx);buOMlK=01D|J+ROu37qc*rD(w`#O=3*O*w9?biwNoq3WN1`&Wp8TvKj3C z3HR9ssH7a&Vr<6waJrU zdLg!ieYz%U^bmpn%;(V%%ugMk92&?_XX1K@mwnVSE6!&%P%Wdi7_h`CpScvspMx?N zQUR>oadnG17#hNc$pkTp+9lW+MBKHRZ~74XWUryd)4yd zj98$%XmIL4(9OnoeO5Fnyn&fpQ9b0h4e6EHHw*l68j;>(ya`g^S&y2{O8U>1*>4zR zq*WSI_2o$CHQ?x0!wl9bpx|Cm2+kFMR)oMud1%n2=qn5nE&t@Fgr#=Zv2?}wtEz^T z9rrj=?IH*qI5{G@Rn&}^Z{+TW}mQeb9=8b<_a`&Cm#n%n~ zU47MvCBsdXFB1+adOO)03+nczfWa#vwk#r{o{dF)QWya9v2nv43Zp3%Ps}($lA02*_g25t;|T{A5snSY?3A zrRQ~(Ygh_ebltHo1VCbJb*eOAr;4cnlXLvI>*$-#AVsGg6B1r7@;g^L zFlJ_th0vxO7;-opU@WAFe;<}?!2q?RBrFK5U{*ai@NLKZ^};Ul}beukveh?TQn;$%9=R+DX07m82gP$=}Uo_%&ngV`}Hyv8g{u z3SWzTGV|cwQuFIs7ZDOqO_fGf8Q`8MwL}eUp>q?4eqCmOTcwQuXtQckPy|4F1on8l zP*h>d+cH#XQf|+6c|S{7SF(Lg>bR~l(0uY?O{OEVlaxa5@e%T&xju=o1`=OD#qc16 zSvyH*my(dcp6~VqR;o(#@m44Lug@~_qw+HA=mS#Z^4reBy8iV?H~I;{LQWk3aKK8$bLRyt$g?- +
+

{{ msg }}

+

+ For a guide and recipes on how to configure / customize this project,
+ check out the + vue-cli documentation. +

+

Installed CLI Plugins

+ +

Essential Links

+ +

Ecosystem

+ +
+ + + + + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/main.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/main.js" new file mode 100644 index 000000000..63eb05f71 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/src/main.js" @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './App.vue' + +Vue.config.productionTip = false + +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/vue.config.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/vue.config.js" new file mode 100644 index 000000000..34192ba10 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/02-vue-cli/vue.config.js" @@ -0,0 +1,7 @@ +module.exports = { + // configureWebpack: { + // output: { + // libraryExport: 'default' + // } + // } +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/babel.config.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/babel.config.js" new file mode 100644 index 000000000..e9558405f --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/babel.config.js" @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/package.json" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/package.json" new file mode 100644 index 000000000..2f05e8ea6 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/package.json" @@ -0,0 +1,42 @@ +{ + "name": "test-vue", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "core-js": "^3.6.5", + "vue": "^2.6.11" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "babel-eslint": "^10.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "vue-template-compiler": "^2.6.11" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.css" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.css" new file mode 100644 index 000000000..899979b23 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.css" @@ -0,0 +1 @@ +h3[data-v-b9167eee]{margin:40px 0 0}ul[data-v-b9167eee]{list-style-type:none;padding:0}li[data-v-b9167eee]{display:inline-block;margin:0 10px}a[data-v-b9167eee]{color:#42b983}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px} \ No newline at end of file diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.umd.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.umd.js" new file mode 100644 index 000000000..04064670e --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/public/comp/testComp.umd.js" @@ -0,0 +1,489 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["testComp"] = factory(); + else + root["testComp"] = factory(); +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "034f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("85ec"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "4805": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HelloWorld_vue_vue_type_style_index_0_id_b9167eee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8ce0"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HelloWorld_vue_vue_type_style_index_0_id_b9167eee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HelloWorld_vue_vue_type_style_index_0_id_b9167eee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HelloWorld_vue_vue_type_style_index_0_id_b9167eee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "85ec": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "8875": +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller +// MIT license +// source: https://github.com/amiller-gh/currentScript-polyfill + +// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505 + +(function (root, factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +}(typeof self !== 'undefined' ? self : this, function () { + function getCurrentScript () { + var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript') + // for chrome + if (!descriptor && 'currentScript' in document && document.currentScript) { + return document.currentScript + } + + // for other browsers with native support for currentScript + if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) { + return document.currentScript + } + + // IE 8-10 support script readyState + // IE 11+ & Firefox support stack trace + try { + throw new Error(); + } + catch (err) { + // Find the second match for the "at" string to get file src url from stack. + var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig, + ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig, + stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack), + scriptLocation = (stackDetails && stackDetails[1]) || false, + line = (stackDetails && stackDetails[2]) || false, + currentLocation = document.location.href.replace(document.location.hash, ''), + pageSource, + inlineScriptSourceRegExp, + inlineScriptSource, + scripts = document.getElementsByTagName('script'); // Live NodeList collection + + if (scriptLocation === currentLocation) { + pageSource = document.documentElement.outerHTML; + inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]* + + diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/assets/logo.png" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/assets/logo.png" new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 { + if (window[`load_js_${key}`]) { + console.log('reload js - ' + key) + resolve() + return + } + window[`load_js_${key}`] = true + let script = document.createElement('script') + script.type = 'text/javascript' + script.src = url + script.charset = charset || 'utf-8' + document.body.appendChild(script) + script.addEventListener('load', () => { + resolve() + console.log('load js success - ' + key) + }, false) + script.addEventListener('error', () => reject(script), false) + }) +} + +/** + * [推荐使用 parallelLoadScripts/seriesLoadScripts] + * @name: loadScripts + */ +function loadScripts (urls) { + return Promise.all(urls.map((item) => { + return loadScript(item.url, item.key, item.charset) + })) +} + +/** + * 串行加载指定的脚本 + * 串行加载[异步]逐个加载,每个加载完成后加载下一个 + * 全部加载完成后执行回调 + * @param {Array|String} scripts 指定要加载的脚本 + * @param {Function} callback 成功后回调的函数 + * @return {Array} 所有生成的脚本组件对象数组 + */ +function seriesLoadScripts (scripts, callback, charset) { + if (typeof (scripts) !== 'object') { + scripts = [scripts] + } + var HEAD = document.getElementsByTagName('head')[0] || document.documentElement + var s = [] + var last = scripts.length - 1 + // 递归 + var recursiveLoad = function (i) { + s[i] = document.createElement('script') + s[i].setAttribute('type', 'text/javascript') + // Attach handlers for all browsers + // 异步 + s[i].onload = s[i].onreadystatechange = function () { + if (!/*@cc_on!@*/0 || this.readyState === 'loaded' || this.readyState === 'complete') { // eslint-disable-line + this.onload = this.onreadystatechange = null + this.parentNode.removeChild(this) + if (i !== last) { + recursiveLoad(i + 1) + } else if (typeof (callback) === 'function') { + callback() + } + } + } + // 同步 + s[i].setAttribute('src', scripts[i]) + if (charset) { + s[i].setAttribute('charset', charset) + } + HEAD.appendChild(s[i]) + } + recursiveLoad(0) +} + +/** +* 并行加载指定的脚本 +* 并行加载[同步]同时加载,不管上个是否加载完成,直接加载全部 +* 全部加载完成后执行回调 +* @param {Array|String} scripts 指定要加载的脚本 +* @param {Function} callback 成功后回调的函数 +* @return {Array} 所有生成的脚本组件对象数组 +*/ +function parallelLoadScripts (scripts, callback) { + if (typeof (scripts) !== 'object') { + scripts = [scripts] + } + var HEAD = document.getElementsByTagName('head')[0] || document.documentElement + var s = [] + var loaded = 0 + for (var i = 0; i < scripts.length; i++) { + s[i] = document.createElement('script') + s[i].setAttribute('type', 'text/javascript') + // Attach handlers for all browsers + // 异步 + s[i].onload = s[i].onreadystatechange = function () { + if (!/*@cc_on!@*/0 || this.readyState === 'loaded' || this.readyState === 'complete') { // eslint-disable-line + loaded++ + this.onload = this.onreadystatechange = null + this.parentNode.removeChild(this) + if (loaded === scripts.length && typeof (callback) === 'function') callback() + } + } + // 同步 + s[i].setAttribute('src', scripts[i]) + HEAD.appendChild(s[i]) + } +} + +/** + * @name: loadCss + */ +function loadCss (url, key) { + if (window[`load_css_${key}`]) { + return + } + window[`load_css_${key}`] = true + let head = document.getElementsByTagName('head')[0] + let link = document.createElement('link') + link.type = 'text/css' + link.rel = 'stylesheet' + link.href = url + head.appendChild(link) + console.log('load css success - ' + key) +} + +export { + loadScript, + loadScripts, + seriesLoadScripts, + parallelLoadScripts, + loadCss +} diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/main.js" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/main.js" new file mode 100644 index 000000000..63eb05f71 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/03-test-import-lib/src/main.js" @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './App.vue' + +Vue.config.productionTip = false + +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git "a/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/README.md" "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/README.md" new file mode 100755 index 000000000..bc3664f05 --- /dev/null +++ "b/12-\345\211\215\347\253\257\346\241\206\346\236\266/06-vue/vue\347\273\204\344\273\266\346\236\204\345\273\272\344\270\272lib/README.md" @@ -0,0 +1,38 @@ +# vue组件构建为lib ( 非web component ) + +## 1. webpack 版本 + +见 `01-webpack`,参考 `vue-loader` 文档,[vue-loader]([https://vue-loader.vuejs.org/zh/guide/#%E6%89%8B%E5%8A%A8%E8%AE%BE%E7%BD%AE](https://vue-loader.vuejs.org/zh/guide/#手动设置)) + +``` +$ npm run build +``` + +构建的组件的使用 + +```html + +
+``` + +动态载入 + +```javascript +loadScript('xxx').then(() => { + Vue.component(compName, window[compName].default); + this.compName = compName; +}) +``` + +## 02. vue-cli 版本 + +见 `02-vue-lib`,参考 `vue-cli` 文档,[vue-cli]([https://cli.vuejs.org/zh/guide/build-targets.html#%E5%BA%94%E7%94%A8](https://cli.vuejs.org/zh/guide/build-targets.html#应用)) + +```shell +# 将一个单独的入口构建为一个库 +$ vue-cli-service build --target lib --name myLib [entry] +``` + +## 03. vue-cli 版本构建的 lib 的使用 + +见 `03-test-import-lib` \ No newline at end of file diff --git a/17-nodejs/02-egg/config/config.default.ts b/17-nodejs/02-egg/config/config.default.ts index 6158e4481..e8390f171 100644 --- a/17-nodejs/02-egg/config/config.default.ts +++ b/17-nodejs/02-egg/config/config.default.ts @@ -4,7 +4,7 @@ * 2020.07.19 */ import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; -import CODE from './CODE'; +import CODE from './Code'; export default (appInfo: EggAppInfo) => { const config = {} as PowerPartial; From 620a5fd710f4191cda5720078a7b9a6b3a8601d6 Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Mon, 24 May 2021 00:07:21 +0800 Subject: [PATCH 12/36] upd: egg-swagger-doc --- .../20-egg-swagger-doc/app/contract/format.js | 12 ++++++++ .../20-egg-swagger-doc/app/controller/home.js | 27 ++++++++++++++++++ 17-nodejs/20-egg-swagger-doc/app/router.js | 5 ++++ .../config/config.default.js | 28 +++++++++++++++++++ 17-nodejs/20-egg-swagger-doc/config/plugin.js | 5 ++++ 17-nodejs/20-egg-swagger-doc/package.json | 21 ++++++++++++++ 6 files changed, 98 insertions(+) create mode 100644 17-nodejs/20-egg-swagger-doc/app/contract/format.js create mode 100644 17-nodejs/20-egg-swagger-doc/app/controller/home.js create mode 100644 17-nodejs/20-egg-swagger-doc/app/router.js create mode 100644 17-nodejs/20-egg-swagger-doc/config/config.default.js create mode 100644 17-nodejs/20-egg-swagger-doc/config/plugin.js create mode 100644 17-nodejs/20-egg-swagger-doc/package.json diff --git a/17-nodejs/20-egg-swagger-doc/app/contract/format.js b/17-nodejs/20-egg-swagger-doc/app/contract/format.js new file mode 100644 index 000000000..63cfe9588 --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/app/contract/format.js @@ -0,0 +1,12 @@ +const JsonBody = { + code: { type: 'number', required: true, example: 0 }, + message: { type: 'string', required: true, example: 'success' }, + data: { type: 'Enum', required: true, example: [] }, +} + +module.exports = { + indexJsonBody: { + ...JsonBody, + data: { type: 'string', example: 'test' }, + }, +}; diff --git a/17-nodejs/20-egg-swagger-doc/app/controller/home.js b/17-nodejs/20-egg-swagger-doc/app/controller/home.js new file mode 100644 index 000000000..978c8453e --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/app/controller/home.js @@ -0,0 +1,27 @@ +const Controller = require('egg').Controller; + +/** + * @controller HomeController + */ +class HomeController extends Controller { + /** + * @router get /index 路径 + * @summary 接口的小标题信息 + * @description 接口的描述信息 + * @request query integer id 对参数id的描述 + * @request query string name 对参数name的描述 + * @response 200 indexJsonBody + */ + async index () { + console.log(111, this.ctx.query) + this.ctx.body = { + code: 0, + message: '', + data: { + result: this.ctx.query.name || 'none' + } + } + } +} + +module.exports = HomeController; \ No newline at end of file diff --git a/17-nodejs/20-egg-swagger-doc/app/router.js b/17-nodejs/20-egg-swagger-doc/app/router.js new file mode 100644 index 000000000..48314ee2b --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/app/router.js @@ -0,0 +1,5 @@ +module.exports = app => { + const { router, controller } = app; + + router.get('/index', controller.home.index); +}; \ No newline at end of file diff --git a/17-nodejs/20-egg-swagger-doc/config/config.default.js b/17-nodejs/20-egg-swagger-doc/config/config.default.js new file mode 100644 index 000000000..b034005d1 --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/config/config.default.js @@ -0,0 +1,28 @@ +exports.keys = 'csxiaoyao'; + +// egg-swagger-doc 配置信息 +exports.swaggerdoc = { + dirScanner: './app/controller', // 配置自动扫描的控制器路径 + apiInfo: { + title: '接口文档', // 接口文档的标题 + description: 'swagger 测试接口文档', // 接口文档描述 + version: '1.0.0', // 接口文档版本 + termsOfService: 'http://swagger.io/terms/', // 服务条件 + contact: { + email: 'sunjianfeng@csxiaoyao.com' // 联系方式 + }, + license: { + name: 'Apache 2.0', + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' + }, + }, + basePath: '/', // 配置基础路径 + schemes: ['http', 'https'], // 配置支持的协议 + consumes: ['application/json'], // 指定处理请求的提交内容类型 (Content-Type),如 application/json、text/html + produces: ['application/json'], // 指定返回的内容类型,仅当 request 请求头中的(Accept)类型中包含该指定类型才返回 + securityDefinitions: {}, // 配置接口安全授权方式 + enableSecurity: false, // 是否启用授权,默认 false + // enableValidate: true, // 是否启用参数校验,默认 true + routerMap: false, // 是否启用自动生成路由(实验功能),默认 true + enable: true // 默认 true +} diff --git a/17-nodejs/20-egg-swagger-doc/config/plugin.js b/17-nodejs/20-egg-swagger-doc/config/plugin.js new file mode 100644 index 000000000..466be76b8 --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/config/plugin.js @@ -0,0 +1,5 @@ +// 配置 egg-swagger-doc 插件信息。 +exports.swaggerdoc = { + enable: true, // 是否启用。 + package: 'egg-swagger-doc', // 指定包名称。 +}; \ No newline at end of file diff --git a/17-nodejs/20-egg-swagger-doc/package.json b/17-nodejs/20-egg-swagger-doc/package.json new file mode 100644 index 000000000..6961f8b15 --- /dev/null +++ b/17-nodejs/20-egg-swagger-doc/package.json @@ -0,0 +1,21 @@ +{ + "name": "egg-example", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "egg-bin dev" + }, + "author": "", + "license": "ISC", + "dependencies": { + "egg": "^2.29.4", + "egg-swagger-doc": "^2.3.2", + "koa2-swagger-ui": "^5.1.0", + "swagger-jsdoc": "*" + }, + "devDependencies": { + "egg-bin": "^4.16.2" + } +} From dac96003a1d4e43aadfbec668b3acbe0a2808aaf Mon Sep 17 00:00:00 2001 From: csxiaoyaojianxian <1724338257@qq.com> Date: Mon, 24 May 2021 00:57:45 +0800 Subject: [PATCH 13/36] upd: egg-swagger-doc --- 17-nodejs/20-egg-swagger-doc/app/controller/home.js | 1 - 17-nodejs/20-egg-swagger-doc/config/plugin.js | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/17-nodejs/20-egg-swagger-doc/app/controller/home.js b/17-nodejs/20-egg-swagger-doc/app/controller/home.js index 978c8453e..e18a5d236 100644 --- a/17-nodejs/20-egg-swagger-doc/app/controller/home.js +++ b/17-nodejs/20-egg-swagger-doc/app/controller/home.js @@ -13,7 +13,6 @@ class HomeController extends Controller { * @response 200 indexJsonBody */ async index () { - console.log(111, this.ctx.query) this.ctx.body = { code: 0, message: '', diff --git a/17-nodejs/20-egg-swagger-doc/config/plugin.js b/17-nodejs/20-egg-swagger-doc/config/plugin.js index 466be76b8..563ff9e09 100644 --- a/17-nodejs/20-egg-swagger-doc/config/plugin.js +++ b/17-nodejs/20-egg-swagger-doc/config/plugin.js @@ -1,5 +1,5 @@ -// 配置 egg-swagger-doc 插件信息。 +// 配置 egg-swagger-doc 插件信息 exports.swaggerdoc = { - enable: true, // 是否启用。 - package: 'egg-swagger-doc', // 指定包名称。 -}; \ No newline at end of file + enable: true, // 是否启用 + package: 'egg-swagger-doc' // 指定包名称 +} \ No newline at end of file From 1642dd82a8a5a1bb6e9fe9c67c9da20fac51ea2a Mon Sep 17 00:00:00 2001 From: victorsun Date: Tue, 26 Jul 2022 23:37:30 +0800 Subject: [PATCH 14/36] upd --- .vscode/launch.json | 23 + 18-TypeScript/01-start.ts | 12 + 18-TypeScript/02-dataType.ts | 75 - .../old/01-\345\205\245\351\227\250.html" | 0 ...30\351\207\217\347\224\263\346\230\216.ts" | 0 18-TypeScript/old/02-dataType.ts | 82 + 18-TypeScript/{ => old}/03-class.ts | 0 .../{ => old}/04-accessors&static.ts | 0 18-TypeScript/{ => old}/05-function.ts | 0 18-TypeScript/{ => old}/06-interface.ts | 0 18-TypeScript/{ => old}/07-generic.ts | 0 18-TypeScript/{ => old}/08-jsModule.js | 0 18-TypeScript/{ => old}/08-module.js | 0 18-TypeScript/{ => old}/08-module.ts | 0 18-TypeScript/{ => old}/axios/docs/.gitignore | 0 18-TypeScript/{ => old}/axios/docs/README.md | 0 18-TypeScript/{ => old}/axios/docs/deploy.js | 0 .../axios/docs/docs/.vuepress/config.js | 0 .../docs/.vuepress/public/interceptor.png | Bin .../docs/docs/.vuepress/public/ts-logo.png | Bin .../axios/docs/docs/.vuepress/public/xsrf.png | Bin .../{ => old}/axios/docs/docs/README.md | 0 .../axios/docs/docs/chapter1/README.md | 0 .../axios/docs/docs/chapter1/install.md | 0 .../axios/docs/docs/chapter1/start.md | 0 .../axios/docs/docs/chapter10/auth.md | 0 .../axios/docs/docs/chapter10/baseURL.md | 0 .../docs/docs/chapter10/paramsSerializer.md | 0 .../axios/docs/docs/chapter10/static.md | 0 .../docs/docs/chapter10/upload-download.md | 0 .../docs/docs/chapter10/validateStatus.md | 0 .../docs/docs/chapter10/withCredentials.md | 0 .../axios/docs/docs/chapter10/xsrf.md | 0 .../axios/docs/docs/chapter11/cancel.md | 0 .../axios/docs/docs/chapter11/headers.md | 0 .../axios/docs/docs/chapter11/helpers.md | 0 .../axios/docs/docs/chapter11/instance.md | 0 .../axios/docs/docs/chapter11/interceptor.md | 0 .../axios/docs/docs/chapter11/jest.md | 0 .../axios/docs/docs/chapter11/mergeConfig.md | 0 .../axios/docs/docs/chapter11/more.md | 0 .../axios/docs/docs/chapter11/preface.md | 0 .../axios/docs/docs/chapter11/requests.md | 0 .../axios/docs/docs/chapter12/build-deploy.md | 0 .../axios/docs/docs/chapter12/demo.md | 0 .../axios/docs/docs/chapter13/summary.md | 0 .../axios/docs/docs/chapter2/advance.md | 0 .../axios/docs/docs/chapter2/class.md | 0 .../axios/docs/docs/chapter2/declare.md | 0 .../axios/docs/docs/chapter2/function.md | 0 .../axios/docs/docs/chapter2/generic.md | 0 .../axios/docs/docs/chapter2/inference.md | 0 .../axios/docs/docs/chapter2/interface.md | 0 .../axios/docs/docs/chapter2/type.md | 0 .../axios/docs/docs/chapter3/base.md | 0 .../axios/docs/docs/chapter3/init.md | 0 .../axios/docs/docs/chapter3/require.md | 0 .../axios/docs/docs/chapter4/data.md | 0 .../axios/docs/docs/chapter4/header.md | 0 .../axios/docs/docs/chapter4/response-data.md | 0 .../docs/docs/chapter4/response-header.md | 0 .../axios/docs/docs/chapter4/response.md | 0 .../{ => old}/axios/docs/docs/chapter4/url.md | 0 .../axios/docs/docs/chapter5/enhance.md | 0 .../axios/docs/docs/chapter5/error.md | 0 .../axios/docs/docs/chapter6/extend.md | 0 .../axios/docs/docs/chapter6/generic.md | 0 .../axios/docs/docs/chapter6/overload.md | 0 .../axios/docs/docs/chapter7/interceptor.md | 0 .../axios/docs/docs/chapter8/create.md | 0 .../axios/docs/docs/chapter8/merge.md | 0 .../axios/docs/docs/chapter8/transform.md | 0 .../axios/docs/docs/chapter9/cancel.md | 0 .../axios/docs/examples/section1/index.js | 0 .../axios/docs/examples/section1/index.ts | 0 .../axios/docs/examples/section2/index.js | 0 .../axios/docs/examples/section2/index.ts | 0 .../axios/docs/examples/section3/index.js | 0 .../axios/docs/examples/section3/index.ts | 0 .../axios/docs/examples/section4/index.js | 0 .../axios/docs/examples/section4/index.ts | 0 .../axios/docs/examples/section5/index.js | 0 .../axios/docs/examples/section5/index.ts | 0 .../axios/docs/examples/section6/index.js | 0 .../axios/docs/examples/section6/index.ts | 0 .../axios/docs/examples/section7/index.js | 0 .../axios/docs/examples/section7/index.ts | 0 .../axios/docs/examples/section8/index.js | 0 .../axios/docs/examples/section8/index.ts | 0 .../{ => old}/axios/docs/package-lock.json | 0 .../{ => old}/axios/docs/package.json | 0 18-TypeScript/{ => old}/axios/docs/ts.zip | Bin .../{ => old}/axios/docs/ts/404.html | 0 .../docs/ts/assets/css/0.styles.c2cb947e.css | 0 .../docs/ts/assets/img/search.83621669.svg | 0 .../axios/docs/ts/assets/js/10.21890e8d.js | 0 .../axios/docs/ts/assets/js/11.def94429.js | 0 .../axios/docs/ts/assets/js/12.44ea3232.js | 0 .../axios/docs/ts/assets/js/13.e2f1f2f5.js | 0 .../axios/docs/ts/assets/js/14.fc93fc93.js | 0 .../axios/docs/ts/assets/js/15.30f6a6c4.js | 0 .../axios/docs/ts/assets/js/16.06de8140.js | 0 .../axios/docs/ts/assets/js/17.66632e8c.js | 0 .../axios/docs/ts/assets/js/18.f2a1c8de.js | 0 .../axios/docs/ts/assets/js/19.0ac5caf7.js | 0 .../axios/docs/ts/assets/js/2.37b52d5a.js | 0 .../axios/docs/ts/assets/js/20.66404894.js | 0 .../axios/docs/ts/assets/js/21.d6da67e6.js | 0 .../axios/docs/ts/assets/js/22.7cdc6f13.js | 0 .../axios/docs/ts/assets/js/23.f66fb9bd.js | 0 .../axios/docs/ts/assets/js/24.44517154.js | 0 .../axios/docs/ts/assets/js/25.a7aa9fec.js | 0 .../axios/docs/ts/assets/js/26.766bed94.js | 0 .../axios/docs/ts/assets/js/27.89ba01e9.js | 0 .../axios/docs/ts/assets/js/28.4131104b.js | 0 .../axios/docs/ts/assets/js/29.5b1d87a4.js | 0 .../axios/docs/ts/assets/js/3.a24e8667.js | 0 .../axios/docs/ts/assets/js/30.3490bd30.js | 0 .../axios/docs/ts/assets/js/31.deb880cc.js | 0 .../axios/docs/ts/assets/js/32.cfaeb610.js | 0 .../axios/docs/ts/assets/js/33.05467d59.js | 0 .../axios/docs/ts/assets/js/34.9e34bd2b.js | 0 .../axios/docs/ts/assets/js/35.0c0f25c1.js | 0 .../axios/docs/ts/assets/js/36.de925195.js | 0 .../axios/docs/ts/assets/js/37.f2da477e.js | 0 .../axios/docs/ts/assets/js/38.e027bf70.js | 0 .../axios/docs/ts/assets/js/39.7cbf6c4e.js | 0 .../axios/docs/ts/assets/js/4.e9a474e4.js | 0 .../axios/docs/ts/assets/js/40.5a3bf62b.js | 0 .../axios/docs/ts/assets/js/41.9db203d5.js | 0 .../axios/docs/ts/assets/js/42.329d76e1.js | 0 .../axios/docs/ts/assets/js/43.85fa3c5c.js | 0 .../axios/docs/ts/assets/js/44.29e7e69f.js | 0 .../axios/docs/ts/assets/js/45.9fa3a0f1.js | 0 .../axios/docs/ts/assets/js/46.dd5b2f48.js | 0 .../axios/docs/ts/assets/js/47.8105d691.js | 0 .../axios/docs/ts/assets/js/48.a0c7cf29.js | 0 .../axios/docs/ts/assets/js/49.7830450b.js | 0 .../axios/docs/ts/assets/js/5.f01959fc.js | 0 .../axios/docs/ts/assets/js/50.12a057ea.js | 0 .../axios/docs/ts/assets/js/51.5fa50254.js | 0 .../axios/docs/ts/assets/js/52.8b1b0c8b.js | 0 .../axios/docs/ts/assets/js/53.2ef3a354.js | 0 .../axios/docs/ts/assets/js/54.3c9e48ce.js | 0 .../axios/docs/ts/assets/js/55.1e7afde9.js | 0 .../axios/docs/ts/assets/js/56.382bc603.js | 0 .../axios/docs/ts/assets/js/57.e73dc51e.js | 0 .../axios/docs/ts/assets/js/6.2d34372c.js | 0 .../axios/docs/ts/assets/js/7.250f83f3.js | 0 .../axios/docs/ts/assets/js/8.2fc7533f.js | 0 .../axios/docs/ts/assets/js/9.e11ea58c.js | 0 .../axios/docs/ts/assets/js/app.917f6765.js | 0 .../axios/docs/ts/chapter1/index.html | 0 .../axios/docs/ts/chapter1/install.html | 0 .../axios/docs/ts/chapter1/start.html | 0 .../axios/docs/ts/chapter10/auth.html | 0 .../axios/docs/ts/chapter10/baseURL.html | 0 .../docs/ts/chapter10/paramsSerializer.html | 0 .../axios/docs/ts/chapter10/static.html | 0 .../docs/ts/chapter10/upload-download.html | 0 .../docs/ts/chapter10/validateStatus.html | 0 .../docs/ts/chapter10/withCredentials.html | 0 .../axios/docs/ts/chapter10/xsrf.html | 0 .../axios/docs/ts/chapter11/cancel.html | 0 .../axios/docs/ts/chapter11/headers.html | 0 .../axios/docs/ts/chapter11/helpers.html | 0 .../axios/docs/ts/chapter11/instance.html | 0 .../axios/docs/ts/chapter11/interceptor.html | 0 .../axios/docs/ts/chapter11/jest.html | 0 .../axios/docs/ts/chapter11/mergeConfig.html | 0 .../axios/docs/ts/chapter11/more.html | 0 .../axios/docs/ts/chapter11/preface.html | 0 .../axios/docs/ts/chapter11/requests.html | 0 .../axios/docs/ts/chapter12/build-deploy.html | 0 .../axios/docs/ts/chapter12/demo.html | 0 .../axios/docs/ts/chapter13/summary.html | 0 .../axios/docs/ts/chapter2/advance.html | 0 .../axios/docs/ts/chapter2/class.html | 0 .../axios/docs/ts/chapter2/declare.html | 0 .../axios/docs/ts/chapter2/function.html | 0 .../axios/docs/ts/chapter2/generic.html | 0 .../axios/docs/ts/chapter2/inference.html | 0 .../axios/docs/ts/chapter2/interface.html | 0 .../axios/docs/ts/chapter2/type.html | 0 .../axios/docs/ts/chapter3/base.html | 0 .../axios/docs/ts/chapter3/init.html | 0 .../axios/docs/ts/chapter3/require.html | 0 .../axios/docs/ts/chapter4/data.html | 0 .../axios/docs/ts/chapter4/header.html | 0 .../axios/docs/ts/chapter4/response-data.html | 0 .../docs/ts/chapter4/response-header.html | 0 .../axios/docs/ts/chapter4/response.html | 0 .../{ => old}/axios/docs/ts/chapter4/url.html | 0 .../axios/docs/ts/chapter5/enhance.html | 0 .../axios/docs/ts/chapter5/error.html | 0 .../axios/docs/ts/chapter6/extend.html | 0 .../axios/docs/ts/chapter6/generic.html | 0 .../axios/docs/ts/chapter6/overload.html | 0 .../axios/docs/ts/chapter7/interceptor.html | 0 .../axios/docs/ts/chapter8/create.html | 0 .../axios/docs/ts/chapter8/merge.html | 0 .../axios/docs/ts/chapter8/transform.html | 0 .../axios/docs/ts/chapter9/cancel.html | 0 .../{ => old}/axios/docs/ts/index.html | 0 .../{ => old}/axios/docs/ts/interceptor.png | Bin .../{ => old}/axios/docs/ts/ts-logo.png | Bin .../{ => old}/axios/docs/ts/xsrf.png | Bin .../{ => old}/axios/ts-axios/.editorconfig | 0 .../{ => old}/axios/ts-axios/.gitignore | 0 .../{ => old}/axios/ts-axios/.travis.yml | 0 .../{ => old}/axios/ts-axios/CONTRIBUTING.md | 0 .../{ => old}/axios/ts-axios/LICENSE | 0 .../{ => old}/axios/ts-axios/README.md | 0 .../axios/ts-axios/code-of-conduct.md | 0 .../axios/ts-axios/examples/base/app.ts | 0 .../axios/ts-axios/examples/base/index.html | 0 .../axios/ts-axios/examples/error/app.ts | 0 .../axios/ts-axios/examples/error/index.html | 0 .../axios/ts-axios/examples/extend/app.ts | 0 .../axios/ts-axios/examples/extend/index.html | 0 .../axios/ts-axios/examples/global.css | 0 .../axios/ts-axios/examples/index.html | 0 .../axios/ts-axios/examples/server.js | 0 .../axios/ts-axios/examples/simple/app.ts | 0 .../axios/ts-axios/examples/simple/index.html | 0 .../axios/ts-axios/examples/webpack.config.js | 0 .../axios/ts-axios/package-lock.json | 0 .../{ => old}/axios/ts-axios/package.json | 0 .../{ => old}/axios/ts-axios/rollup.config.ts | 0 .../{ => old}/axios/ts-axios/src/axios.ts | 0 .../axios/ts-axios/src/core/Axios.ts | 0 .../ts-axios/src/core/dispatchRequest.ts | 0 .../{ => old}/axios/ts-axios/src/core/xhr.ts | 0 .../axios/ts-axios/src/helpers/data.ts | 0 .../axios/ts-axios/src/helpers/error.ts | 0 .../axios/ts-axios/src/helpers/headers.ts | 0 .../axios/ts-axios/src/helpers/url.ts | 0 .../axios/ts-axios/src/helpers/util.ts | 0 .../{ => old}/axios/ts-axios/src/index.ts | 0 .../axios/ts-axios/src/types/index.ts | 0 .../axios/ts-axios/test/helpers/boot.ts | 0 .../axios/ts-axios/test/helpers/util.spec.ts | 0 .../axios/ts-axios/test/ts-axios.test.ts | 0 .../axios/ts-axios/tools/gh-pages-publish.ts | 0 .../tools/semantic-release-prepare.ts | 0 .../{ => old}/axios/ts-axios/tsconfig.json | 0 .../{ => old}/axios/ts-axios/tslint.json | 0 .../typescript-axios-master/.editorconfig | 0 .../axios/typescript-axios-master/.gitignore | 0 .../axios/typescript-axios-master/.travis.yml | 0 .../typescript-axios-master/CONTRIBUTING.md | 0 .../axios/typescript-axios-master/LICENSE | 0 .../axios/typescript-axios-master/README.md | 0 .../code-of-conduct.md | 0 .../examples/base/app.ts | 0 .../examples/base/index.html | 0 .../examples/error/app.ts | 0 .../examples/error/index.html | 0 .../examples/extend/app.ts | 0 .../examples/extend/index.html | 0 .../examples/global.css | 0 .../examples/index.html | 0 .../examples/server.js | 0 .../examples/simple/app.ts | 0 .../examples/simple/index.html | 0 .../examples/webpack.config.js | 0 .../typescript-axios-master/package-lock.json | 0 .../typescript-axios-master/package.json | 0 .../typescript-axios-master/rollup.config.ts | 0 .../typescript-axios-master/src/axios.ts | 0 .../typescript-axios-master/src/core/Axios.ts | 0 .../src/core/dispatchRequest.ts | 0 .../typescript-axios-master/src/core/xhr.ts | 0 .../src/helper/data.ts | 0 .../src/helper/error.ts | 0 .../src/helper/headers.ts | 0 .../typescript-axios-master/src/helper/url.ts | 0 .../src/helper/util.ts | 0 .../typescript-axios-master/src/index.ts | 0 .../src/types/index.ts | 0 .../axios/typescript-axios-master/test.js | 0 .../test/typescript-axios.test.ts | 0 .../tools/gh-pages-publish.ts | 0 .../tools/semantic-release-prepare.ts | 0 .../typescript-axios-master/tsconfig.json | 0 .../axios/typescript-axios-master/tslint.json | 0 18-TypeScript/proj/dist/bundle.js | 2 + 18-TypeScript/proj/dist/bundle.js.map | 1 + 18-TypeScript/proj/dist/index.html | 11 + 18-TypeScript/proj/gulpfile.js | 35 + 18-TypeScript/proj/package-lock.json | 6030 +++++++++++++++++ 18-TypeScript/proj/package.json | 27 + 18-TypeScript/proj/src/greet.ts | 3 + 18-TypeScript/proj/src/index.html | 11 + 18-TypeScript/proj/src/main.ts | 8 + 18-TypeScript/proj/tsconfig.json | 10 + ...73\351\231\244\351\224\231\350\257\257.ts" | 25 + 297 files changed, 6280 insertions(+), 75 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 18-TypeScript/01-start.ts delete mode 100644 18-TypeScript/02-dataType.ts rename "18-TypeScript/01-\345\205\245\351\227\250.html" => "18-TypeScript/old/01-\345\205\245\351\227\250.html" (100%) rename "18-TypeScript/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" => "18-TypeScript/old/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" (100%) create mode 100644 18-TypeScript/old/02-dataType.ts rename 18-TypeScript/{ => old}/03-class.ts (100%) rename 18-TypeScript/{ => old}/04-accessors&static.ts (100%) rename 18-TypeScript/{ => old}/05-function.ts (100%) rename 18-TypeScript/{ => old}/06-interface.ts (100%) rename 18-TypeScript/{ => old}/07-generic.ts (100%) rename 18-TypeScript/{ => old}/08-jsModule.js (100%) rename 18-TypeScript/{ => old}/08-module.js (100%) rename 18-TypeScript/{ => old}/08-module.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/.gitignore (100%) rename 18-TypeScript/{ => old}/axios/docs/README.md (100%) rename 18-TypeScript/{ => old}/axios/docs/deploy.js (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/.vuepress/config.js (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/.vuepress/public/interceptor.png (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/.vuepress/public/ts-logo.png (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/.vuepress/public/xsrf.png (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/README.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter1/README.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter1/install.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter1/start.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/auth.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/baseURL.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/paramsSerializer.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/static.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/upload-download.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/validateStatus.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/withCredentials.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter10/xsrf.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/cancel.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/headers.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/helpers.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/instance.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/interceptor.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/jest.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/mergeConfig.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/more.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/preface.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter11/requests.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter12/build-deploy.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter12/demo.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter13/summary.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/advance.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/class.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/declare.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/function.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/generic.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/inference.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/interface.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter2/type.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter3/base.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter3/init.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter3/require.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/data.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/header.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/response-data.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/response-header.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/response.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter4/url.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter5/enhance.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter5/error.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter6/extend.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter6/generic.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter6/overload.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter7/interceptor.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter8/create.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter8/merge.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter8/transform.md (100%) rename 18-TypeScript/{ => old}/axios/docs/docs/chapter9/cancel.md (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section1/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section1/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section2/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section2/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section3/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section3/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section4/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section4/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section5/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section5/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section6/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section6/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section7/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section7/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section8/index.js (100%) rename 18-TypeScript/{ => old}/axios/docs/examples/section8/index.ts (100%) rename 18-TypeScript/{ => old}/axios/docs/package-lock.json (100%) rename 18-TypeScript/{ => old}/axios/docs/package.json (100%) rename 18-TypeScript/{ => old}/axios/docs/ts.zip (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/404.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/css/0.styles.c2cb947e.css (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/img/search.83621669.svg (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/10.21890e8d.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/11.def94429.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/12.44ea3232.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/13.e2f1f2f5.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/14.fc93fc93.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/15.30f6a6c4.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/16.06de8140.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/17.66632e8c.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/18.f2a1c8de.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/19.0ac5caf7.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/2.37b52d5a.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/20.66404894.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/21.d6da67e6.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/22.7cdc6f13.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/23.f66fb9bd.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/24.44517154.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/25.a7aa9fec.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/26.766bed94.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/27.89ba01e9.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/28.4131104b.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/29.5b1d87a4.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/3.a24e8667.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/30.3490bd30.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/31.deb880cc.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/32.cfaeb610.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/33.05467d59.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/34.9e34bd2b.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/35.0c0f25c1.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/36.de925195.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/37.f2da477e.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/38.e027bf70.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/39.7cbf6c4e.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/4.e9a474e4.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/40.5a3bf62b.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/41.9db203d5.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/42.329d76e1.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/43.85fa3c5c.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/44.29e7e69f.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/45.9fa3a0f1.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/46.dd5b2f48.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/47.8105d691.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/48.a0c7cf29.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/49.7830450b.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/5.f01959fc.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/50.12a057ea.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/51.5fa50254.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/52.8b1b0c8b.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/53.2ef3a354.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/54.3c9e48ce.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/55.1e7afde9.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/56.382bc603.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/57.e73dc51e.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/6.2d34372c.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/7.250f83f3.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/8.2fc7533f.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/9.e11ea58c.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/assets/js/app.917f6765.js (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter1/index.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter1/install.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter1/start.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/auth.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/baseURL.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/paramsSerializer.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/static.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/upload-download.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/validateStatus.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/withCredentials.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter10/xsrf.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/cancel.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/headers.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/helpers.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/instance.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/interceptor.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/jest.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/mergeConfig.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/more.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/preface.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter11/requests.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter12/build-deploy.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter12/demo.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter13/summary.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/advance.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/class.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/declare.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/function.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/generic.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/inference.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/interface.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter2/type.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter3/base.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter3/init.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter3/require.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/data.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/header.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/response-data.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/response-header.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/response.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter4/url.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter5/enhance.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter5/error.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter6/extend.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter6/generic.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter6/overload.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter7/interceptor.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter8/create.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter8/merge.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter8/transform.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/chapter9/cancel.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/index.html (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/interceptor.png (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/ts-logo.png (100%) rename 18-TypeScript/{ => old}/axios/docs/ts/xsrf.png (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/.editorconfig (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/.gitignore (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/.travis.yml (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/CONTRIBUTING.md (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/LICENSE (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/README.md (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/code-of-conduct.md (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/base/app.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/base/index.html (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/error/app.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/error/index.html (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/extend/app.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/extend/index.html (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/global.css (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/index.html (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/server.js (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/simple/app.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/simple/index.html (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/examples/webpack.config.js (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/package-lock.json (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/package.json (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/rollup.config.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/axios.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/core/Axios.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/core/dispatchRequest.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/core/xhr.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/helpers/data.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/helpers/error.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/helpers/headers.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/helpers/url.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/helpers/util.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/index.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/src/types/index.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/test/helpers/boot.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/test/helpers/util.spec.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/test/ts-axios.test.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/tools/gh-pages-publish.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/tools/semantic-release-prepare.ts (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/tsconfig.json (100%) rename 18-TypeScript/{ => old}/axios/ts-axios/tslint.json (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/.editorconfig (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/.gitignore (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/.travis.yml (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/CONTRIBUTING.md (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/LICENSE (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/README.md (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/code-of-conduct.md (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/base/app.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/base/index.html (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/error/app.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/error/index.html (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/extend/app.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/extend/index.html (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/global.css (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/index.html (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/server.js (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/simple/app.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/simple/index.html (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/examples/webpack.config.js (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/package-lock.json (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/package.json (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/rollup.config.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/axios.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/core/Axios.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/core/dispatchRequest.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/core/xhr.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/helper/data.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/helper/error.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/helper/headers.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/helper/url.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/helper/util.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/index.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/src/types/index.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/test.js (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/test/typescript-axios.test.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/tools/gh-pages-publish.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/tools/semantic-release-prepare.ts (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/tsconfig.json (100%) rename 18-TypeScript/{ => old}/axios/typescript-axios-master/tslint.json (100%) create mode 100644 18-TypeScript/proj/dist/bundle.js create mode 100644 18-TypeScript/proj/dist/bundle.js.map create mode 100644 18-TypeScript/proj/dist/index.html create mode 100644 18-TypeScript/proj/gulpfile.js create mode 100644 18-TypeScript/proj/package-lock.json create mode 100644 18-TypeScript/proj/package.json create mode 100644 18-TypeScript/proj/src/greet.ts create mode 100644 18-TypeScript/proj/src/index.html create mode 100644 18-TypeScript/proj/src/main.ts create mode 100644 18-TypeScript/proj/tsconfig.json create mode 100644 "18-TypeScript/\345\216\273\351\231\244\351\224\231\350\257\257.ts" diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..86cf8936f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,23 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ts-node", + "type": "node", + "request": "launch", + "args": [ + "${relativeFile}" + ], + "runtimeArgs": [ + "-r", + "ts-node/register" + ], + "cwd": "${workspaceRoot}", + "protocol": "inspector", + "internalConsoleOptions": "openOnSessionStart" + } + ] +} \ No newline at end of file diff --git a/18-TypeScript/01-start.ts b/18-TypeScript/01-start.ts new file mode 100644 index 000000000..62b695d7e --- /dev/null +++ b/18-TypeScript/01-start.ts @@ -0,0 +1,12 @@ +interface Person { + firstName: string; + lastName: string; +} + +function greeter(person: Person) { + return "Hello, " + person.firstName + " " + person.lastName; +} + +let user = { firstName: "Jane", lastName: "User" }; + +console.log(greeter(user)); \ No newline at end of file diff --git a/18-TypeScript/02-dataType.ts b/18-TypeScript/02-dataType.ts deleted file mode 100644 index 28c02fdcb..000000000 --- a/18-TypeScript/02-dataType.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Boolean Number String - * Array Enum - * Any Void - */ -// Boolean -let isDone: boolean = false -// Number -let decLiteral: number = 20 -let hexLiteral: number = 0x14 -let binaryLiteral: number = 0b10100 -let octalLiteral: number = 0o24 -// String -var nameStr: string = 'csxiaoyao' -let sentence: string = `Hello, my name is ${ name }. I'm ${ decLiteral + 1 } years old.` -// Array 两种方式 -var list1:number[] = [1,2,3]; -var list2:Array = ["csxiaoyao","sunshine"]; - -// 【 Tuple 】 元祖,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同 -let x: [string, number] -x = ['hello', 10] // OK - -// Enum -enum Color { Red, Green=5, Blue=2, Purple }; -var colorName0: string = Color[0]; // Red -var colorName1: string = Color[1]; // undefined -var colorName2: string = Color[2]; // Blue -var colorName3: string = Color[3]; // Purple -var colorName5: string = Color[5]; // Green - -var c1: Color = Color.Green; // 5 -var c2: Color = Color.Red // 0 -var c3: Color = Color.Purple // 3 - -// Any -var notSure: any = 10; -notSure = "Hello"; -notSure = false; -var list: any[] = [10, "hello", false]; - -// Void -function say(): void { - // body... -} -function tell(): string { - alert(list1[0]); - alert(list2[1]); - return "sunshine"; -} -tell(); - -// null / undefined -let u: undefined = undefined -let n: null = null - -// never,返回never的函数必须存在无法达到的终点 -function error(message: string): never { - throw new Error(message) -} -function infiniteLoop(): never { - while (true) { - } -} - -// object -// object 表示非原始类型,即除 number,string,boolean,symbol,null或undefined 之外的类型 -declare function create(o: object | null): void -create({ prop: 0 }) // OK -create(null) // OK - -// 类型断言,两种方式 -let someValue: any = 'this is a string' -let strLength1: number = (someValue).length -let strLength2: number = (someValue as string).length \ No newline at end of file diff --git "a/18-TypeScript/01-\345\205\245\351\227\250.html" "b/18-TypeScript/old/01-\345\205\245\351\227\250.html" similarity index 100% rename from "18-TypeScript/01-\345\205\245\351\227\250.html" rename to "18-TypeScript/old/01-\345\205\245\351\227\250.html" diff --git "a/18-TypeScript/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" "b/18-TypeScript/old/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" similarity index 100% rename from "18-TypeScript/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" rename to "18-TypeScript/old/02-1-\345\217\230\351\207\217\347\224\263\346\230\216.ts" diff --git a/18-TypeScript/old/02-dataType.ts b/18-TypeScript/old/02-dataType.ts new file mode 100644 index 000000000..b927fcc9d --- /dev/null +++ b/18-TypeScript/old/02-dataType.ts @@ -0,0 +1,82 @@ +/** + * Boolean Number String + * Array Enum + * Any Void + */ +// 【 Boolean 】 +let isDone: boolean = false +// 【 Number 】 +let decLiteral: number = 20 +let hexLiteral: number = 0x14 +let binaryLiteral: number = 0b10100 // ECMAScript 2015 中引入的二进制字面量 +let octalLiteral: number = 0o24 // ECMAScript 2015 中引入的八进制字面量 +// 【 String 】 +var nameStr: string = 'csxiaoyao' +let sentence: string = `Hello, my name is ${ nameStr }. I'm ${ decLiteral + 1 } years old.` +// 【 Array 】 两种方式 +var list1: number[] = [1,2,3]; +var list2: Array = ["csxiaoyao","sunshine"]; + +// 【 Tuple 】 元祖,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同 +let x: [string, number] +x = ['hello', 10] // OK + +// 【 Enum 】 使用枚举类型可以为一组数值赋予友好的名字,可以由枚举的值得到它的名字 +enum Color { Red, Green=5, Blue=2, Purple }; +var colorName0: string = Color[0]; // Red +var colorName1: string = Color[1]; // undefined +var colorName2: string = Color[2]; // Blue +var colorName3: string = Color[3]; // Purple +var colorName5: string = Color[5]; // Green + +var c1: Color = Color.Green; // 5 +var c2: Color = Color.Red // 0 +var c3: Color = Color.Purple // 3 + +// 【 Any 】 +var notSure: any = 10; +notSure = "Hello"; +notSure = false; +var list: any[] = [10, "hello", false]; + +// 【 Void 】 和 any 类型相反,表示没有任何类型 +// 声明一个void类型的变量没有什么大用,只能赋值 undefined / null +function say(): void { + // body... +} +let unusable: void = undefined; + +// 【 null 】 / 【 undefined 】 默认情况下 null 和 undefined 是所有类型的子类型 +let u: undefined = undefined +let n: null = null +// decLiteral = n; // 配置 --strictNullChecks,否则,可以把 null 和 undefined 赋值给其他类型的变量 + +// 【 never 】表示永不存在的值的类型 +function error(message: string): never { + throw new Error(message) +} +// 推断的返回值类型为never +function fail() { + return error("Something failed"); +} +// 返回never的函数必须存在无法达到的终点 +function infiniteLoop(): never { + while (true) { + } +} + +// 【 object 】 表示非原始类型,即除 number,string,boolean,symbol,null或undefined 之外的类型 +declare function create(o: object | null): void +create({ prop: 0 }) // OK +create(null) // OK +// create(42); // Error +// create("string"); // Error +// create(false); // Error +// create(undefined); // Error + +// 【 类型断言 】 两种方式 +let someValue: any = 'this is a string' +// 方式1:尖括号 +let strLength1: number = (someValue).length +// 方式1:as +let strLength2: number = (someValue as string).length \ No newline at end of file diff --git a/18-TypeScript/03-class.ts b/18-TypeScript/old/03-class.ts similarity index 100% rename from 18-TypeScript/03-class.ts rename to 18-TypeScript/old/03-class.ts diff --git a/18-TypeScript/04-accessors&static.ts b/18-TypeScript/old/04-accessors&static.ts similarity index 100% rename from 18-TypeScript/04-accessors&static.ts rename to 18-TypeScript/old/04-accessors&static.ts diff --git a/18-TypeScript/05-function.ts b/18-TypeScript/old/05-function.ts similarity index 100% rename from 18-TypeScript/05-function.ts rename to 18-TypeScript/old/05-function.ts diff --git a/18-TypeScript/06-interface.ts b/18-TypeScript/old/06-interface.ts similarity index 100% rename from 18-TypeScript/06-interface.ts rename to 18-TypeScript/old/06-interface.ts diff --git a/18-TypeScript/07-generic.ts b/18-TypeScript/old/07-generic.ts similarity index 100% rename from 18-TypeScript/07-generic.ts rename to 18-TypeScript/old/07-generic.ts diff --git a/18-TypeScript/08-jsModule.js b/18-TypeScript/old/08-jsModule.js similarity index 100% rename from 18-TypeScript/08-jsModule.js rename to 18-TypeScript/old/08-jsModule.js diff --git a/18-TypeScript/08-module.js b/18-TypeScript/old/08-module.js similarity index 100% rename from 18-TypeScript/08-module.js rename to 18-TypeScript/old/08-module.js diff --git a/18-TypeScript/08-module.ts b/18-TypeScript/old/08-module.ts similarity index 100% rename from 18-TypeScript/08-module.ts rename to 18-TypeScript/old/08-module.ts diff --git a/18-TypeScript/axios/docs/.gitignore b/18-TypeScript/old/axios/docs/.gitignore similarity index 100% rename from 18-TypeScript/axios/docs/.gitignore rename to 18-TypeScript/old/axios/docs/.gitignore diff --git a/18-TypeScript/axios/docs/README.md b/18-TypeScript/old/axios/docs/README.md similarity index 100% rename from 18-TypeScript/axios/docs/README.md rename to 18-TypeScript/old/axios/docs/README.md diff --git a/18-TypeScript/axios/docs/deploy.js b/18-TypeScript/old/axios/docs/deploy.js similarity index 100% rename from 18-TypeScript/axios/docs/deploy.js rename to 18-TypeScript/old/axios/docs/deploy.js diff --git a/18-TypeScript/axios/docs/docs/.vuepress/config.js b/18-TypeScript/old/axios/docs/docs/.vuepress/config.js similarity index 100% rename from 18-TypeScript/axios/docs/docs/.vuepress/config.js rename to 18-TypeScript/old/axios/docs/docs/.vuepress/config.js diff --git a/18-TypeScript/axios/docs/docs/.vuepress/public/interceptor.png b/18-TypeScript/old/axios/docs/docs/.vuepress/public/interceptor.png similarity index 100% rename from 18-TypeScript/axios/docs/docs/.vuepress/public/interceptor.png rename to 18-TypeScript/old/axios/docs/docs/.vuepress/public/interceptor.png diff --git a/18-TypeScript/axios/docs/docs/.vuepress/public/ts-logo.png b/18-TypeScript/old/axios/docs/docs/.vuepress/public/ts-logo.png similarity index 100% rename from 18-TypeScript/axios/docs/docs/.vuepress/public/ts-logo.png rename to 18-TypeScript/old/axios/docs/docs/.vuepress/public/ts-logo.png diff --git a/18-TypeScript/axios/docs/docs/.vuepress/public/xsrf.png b/18-TypeScript/old/axios/docs/docs/.vuepress/public/xsrf.png similarity index 100% rename from 18-TypeScript/axios/docs/docs/.vuepress/public/xsrf.png rename to 18-TypeScript/old/axios/docs/docs/.vuepress/public/xsrf.png diff --git a/18-TypeScript/axios/docs/docs/README.md b/18-TypeScript/old/axios/docs/docs/README.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/README.md rename to 18-TypeScript/old/axios/docs/docs/README.md diff --git a/18-TypeScript/axios/docs/docs/chapter1/README.md b/18-TypeScript/old/axios/docs/docs/chapter1/README.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter1/README.md rename to 18-TypeScript/old/axios/docs/docs/chapter1/README.md diff --git a/18-TypeScript/axios/docs/docs/chapter1/install.md b/18-TypeScript/old/axios/docs/docs/chapter1/install.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter1/install.md rename to 18-TypeScript/old/axios/docs/docs/chapter1/install.md diff --git a/18-TypeScript/axios/docs/docs/chapter1/start.md b/18-TypeScript/old/axios/docs/docs/chapter1/start.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter1/start.md rename to 18-TypeScript/old/axios/docs/docs/chapter1/start.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/auth.md b/18-TypeScript/old/axios/docs/docs/chapter10/auth.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/auth.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/auth.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/baseURL.md b/18-TypeScript/old/axios/docs/docs/chapter10/baseURL.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/baseURL.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/baseURL.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/paramsSerializer.md b/18-TypeScript/old/axios/docs/docs/chapter10/paramsSerializer.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/paramsSerializer.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/paramsSerializer.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/static.md b/18-TypeScript/old/axios/docs/docs/chapter10/static.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/static.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/static.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/upload-download.md b/18-TypeScript/old/axios/docs/docs/chapter10/upload-download.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/upload-download.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/upload-download.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/validateStatus.md b/18-TypeScript/old/axios/docs/docs/chapter10/validateStatus.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/validateStatus.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/validateStatus.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/withCredentials.md b/18-TypeScript/old/axios/docs/docs/chapter10/withCredentials.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/withCredentials.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/withCredentials.md diff --git a/18-TypeScript/axios/docs/docs/chapter10/xsrf.md b/18-TypeScript/old/axios/docs/docs/chapter10/xsrf.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter10/xsrf.md rename to 18-TypeScript/old/axios/docs/docs/chapter10/xsrf.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/cancel.md b/18-TypeScript/old/axios/docs/docs/chapter11/cancel.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/cancel.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/cancel.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/headers.md b/18-TypeScript/old/axios/docs/docs/chapter11/headers.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/headers.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/headers.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/helpers.md b/18-TypeScript/old/axios/docs/docs/chapter11/helpers.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/helpers.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/helpers.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/instance.md b/18-TypeScript/old/axios/docs/docs/chapter11/instance.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/instance.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/instance.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/interceptor.md b/18-TypeScript/old/axios/docs/docs/chapter11/interceptor.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/interceptor.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/interceptor.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/jest.md b/18-TypeScript/old/axios/docs/docs/chapter11/jest.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/jest.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/jest.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/mergeConfig.md b/18-TypeScript/old/axios/docs/docs/chapter11/mergeConfig.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/mergeConfig.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/mergeConfig.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/more.md b/18-TypeScript/old/axios/docs/docs/chapter11/more.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/more.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/more.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/preface.md b/18-TypeScript/old/axios/docs/docs/chapter11/preface.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/preface.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/preface.md diff --git a/18-TypeScript/axios/docs/docs/chapter11/requests.md b/18-TypeScript/old/axios/docs/docs/chapter11/requests.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter11/requests.md rename to 18-TypeScript/old/axios/docs/docs/chapter11/requests.md diff --git a/18-TypeScript/axios/docs/docs/chapter12/build-deploy.md b/18-TypeScript/old/axios/docs/docs/chapter12/build-deploy.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter12/build-deploy.md rename to 18-TypeScript/old/axios/docs/docs/chapter12/build-deploy.md diff --git a/18-TypeScript/axios/docs/docs/chapter12/demo.md b/18-TypeScript/old/axios/docs/docs/chapter12/demo.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter12/demo.md rename to 18-TypeScript/old/axios/docs/docs/chapter12/demo.md diff --git a/18-TypeScript/axios/docs/docs/chapter13/summary.md b/18-TypeScript/old/axios/docs/docs/chapter13/summary.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter13/summary.md rename to 18-TypeScript/old/axios/docs/docs/chapter13/summary.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/advance.md b/18-TypeScript/old/axios/docs/docs/chapter2/advance.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/advance.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/advance.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/class.md b/18-TypeScript/old/axios/docs/docs/chapter2/class.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/class.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/class.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/declare.md b/18-TypeScript/old/axios/docs/docs/chapter2/declare.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/declare.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/declare.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/function.md b/18-TypeScript/old/axios/docs/docs/chapter2/function.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/function.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/function.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/generic.md b/18-TypeScript/old/axios/docs/docs/chapter2/generic.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/generic.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/generic.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/inference.md b/18-TypeScript/old/axios/docs/docs/chapter2/inference.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/inference.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/inference.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/interface.md b/18-TypeScript/old/axios/docs/docs/chapter2/interface.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/interface.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/interface.md diff --git a/18-TypeScript/axios/docs/docs/chapter2/type.md b/18-TypeScript/old/axios/docs/docs/chapter2/type.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter2/type.md rename to 18-TypeScript/old/axios/docs/docs/chapter2/type.md diff --git a/18-TypeScript/axios/docs/docs/chapter3/base.md b/18-TypeScript/old/axios/docs/docs/chapter3/base.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter3/base.md rename to 18-TypeScript/old/axios/docs/docs/chapter3/base.md diff --git a/18-TypeScript/axios/docs/docs/chapter3/init.md b/18-TypeScript/old/axios/docs/docs/chapter3/init.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter3/init.md rename to 18-TypeScript/old/axios/docs/docs/chapter3/init.md diff --git a/18-TypeScript/axios/docs/docs/chapter3/require.md b/18-TypeScript/old/axios/docs/docs/chapter3/require.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter3/require.md rename to 18-TypeScript/old/axios/docs/docs/chapter3/require.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/data.md b/18-TypeScript/old/axios/docs/docs/chapter4/data.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/data.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/data.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/header.md b/18-TypeScript/old/axios/docs/docs/chapter4/header.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/header.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/header.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/response-data.md b/18-TypeScript/old/axios/docs/docs/chapter4/response-data.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/response-data.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/response-data.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/response-header.md b/18-TypeScript/old/axios/docs/docs/chapter4/response-header.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/response-header.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/response-header.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/response.md b/18-TypeScript/old/axios/docs/docs/chapter4/response.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/response.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/response.md diff --git a/18-TypeScript/axios/docs/docs/chapter4/url.md b/18-TypeScript/old/axios/docs/docs/chapter4/url.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter4/url.md rename to 18-TypeScript/old/axios/docs/docs/chapter4/url.md diff --git a/18-TypeScript/axios/docs/docs/chapter5/enhance.md b/18-TypeScript/old/axios/docs/docs/chapter5/enhance.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter5/enhance.md rename to 18-TypeScript/old/axios/docs/docs/chapter5/enhance.md diff --git a/18-TypeScript/axios/docs/docs/chapter5/error.md b/18-TypeScript/old/axios/docs/docs/chapter5/error.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter5/error.md rename to 18-TypeScript/old/axios/docs/docs/chapter5/error.md diff --git a/18-TypeScript/axios/docs/docs/chapter6/extend.md b/18-TypeScript/old/axios/docs/docs/chapter6/extend.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter6/extend.md rename to 18-TypeScript/old/axios/docs/docs/chapter6/extend.md diff --git a/18-TypeScript/axios/docs/docs/chapter6/generic.md b/18-TypeScript/old/axios/docs/docs/chapter6/generic.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter6/generic.md rename to 18-TypeScript/old/axios/docs/docs/chapter6/generic.md diff --git a/18-TypeScript/axios/docs/docs/chapter6/overload.md b/18-TypeScript/old/axios/docs/docs/chapter6/overload.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter6/overload.md rename to 18-TypeScript/old/axios/docs/docs/chapter6/overload.md diff --git a/18-TypeScript/axios/docs/docs/chapter7/interceptor.md b/18-TypeScript/old/axios/docs/docs/chapter7/interceptor.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter7/interceptor.md rename to 18-TypeScript/old/axios/docs/docs/chapter7/interceptor.md diff --git a/18-TypeScript/axios/docs/docs/chapter8/create.md b/18-TypeScript/old/axios/docs/docs/chapter8/create.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter8/create.md rename to 18-TypeScript/old/axios/docs/docs/chapter8/create.md diff --git a/18-TypeScript/axios/docs/docs/chapter8/merge.md b/18-TypeScript/old/axios/docs/docs/chapter8/merge.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter8/merge.md rename to 18-TypeScript/old/axios/docs/docs/chapter8/merge.md diff --git a/18-TypeScript/axios/docs/docs/chapter8/transform.md b/18-TypeScript/old/axios/docs/docs/chapter8/transform.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter8/transform.md rename to 18-TypeScript/old/axios/docs/docs/chapter8/transform.md diff --git a/18-TypeScript/axios/docs/docs/chapter9/cancel.md b/18-TypeScript/old/axios/docs/docs/chapter9/cancel.md similarity index 100% rename from 18-TypeScript/axios/docs/docs/chapter9/cancel.md rename to 18-TypeScript/old/axios/docs/docs/chapter9/cancel.md diff --git a/18-TypeScript/axios/docs/examples/section1/index.js b/18-TypeScript/old/axios/docs/examples/section1/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section1/index.js rename to 18-TypeScript/old/axios/docs/examples/section1/index.js diff --git a/18-TypeScript/axios/docs/examples/section1/index.ts b/18-TypeScript/old/axios/docs/examples/section1/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section1/index.ts rename to 18-TypeScript/old/axios/docs/examples/section1/index.ts diff --git a/18-TypeScript/axios/docs/examples/section2/index.js b/18-TypeScript/old/axios/docs/examples/section2/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section2/index.js rename to 18-TypeScript/old/axios/docs/examples/section2/index.js diff --git a/18-TypeScript/axios/docs/examples/section2/index.ts b/18-TypeScript/old/axios/docs/examples/section2/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section2/index.ts rename to 18-TypeScript/old/axios/docs/examples/section2/index.ts diff --git a/18-TypeScript/axios/docs/examples/section3/index.js b/18-TypeScript/old/axios/docs/examples/section3/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section3/index.js rename to 18-TypeScript/old/axios/docs/examples/section3/index.js diff --git a/18-TypeScript/axios/docs/examples/section3/index.ts b/18-TypeScript/old/axios/docs/examples/section3/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section3/index.ts rename to 18-TypeScript/old/axios/docs/examples/section3/index.ts diff --git a/18-TypeScript/axios/docs/examples/section4/index.js b/18-TypeScript/old/axios/docs/examples/section4/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section4/index.js rename to 18-TypeScript/old/axios/docs/examples/section4/index.js diff --git a/18-TypeScript/axios/docs/examples/section4/index.ts b/18-TypeScript/old/axios/docs/examples/section4/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section4/index.ts rename to 18-TypeScript/old/axios/docs/examples/section4/index.ts diff --git a/18-TypeScript/axios/docs/examples/section5/index.js b/18-TypeScript/old/axios/docs/examples/section5/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section5/index.js rename to 18-TypeScript/old/axios/docs/examples/section5/index.js diff --git a/18-TypeScript/axios/docs/examples/section5/index.ts b/18-TypeScript/old/axios/docs/examples/section5/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section5/index.ts rename to 18-TypeScript/old/axios/docs/examples/section5/index.ts diff --git a/18-TypeScript/axios/docs/examples/section6/index.js b/18-TypeScript/old/axios/docs/examples/section6/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section6/index.js rename to 18-TypeScript/old/axios/docs/examples/section6/index.js diff --git a/18-TypeScript/axios/docs/examples/section6/index.ts b/18-TypeScript/old/axios/docs/examples/section6/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section6/index.ts rename to 18-TypeScript/old/axios/docs/examples/section6/index.ts diff --git a/18-TypeScript/axios/docs/examples/section7/index.js b/18-TypeScript/old/axios/docs/examples/section7/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section7/index.js rename to 18-TypeScript/old/axios/docs/examples/section7/index.js diff --git a/18-TypeScript/axios/docs/examples/section7/index.ts b/18-TypeScript/old/axios/docs/examples/section7/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section7/index.ts rename to 18-TypeScript/old/axios/docs/examples/section7/index.ts diff --git a/18-TypeScript/axios/docs/examples/section8/index.js b/18-TypeScript/old/axios/docs/examples/section8/index.js similarity index 100% rename from 18-TypeScript/axios/docs/examples/section8/index.js rename to 18-TypeScript/old/axios/docs/examples/section8/index.js diff --git a/18-TypeScript/axios/docs/examples/section8/index.ts b/18-TypeScript/old/axios/docs/examples/section8/index.ts similarity index 100% rename from 18-TypeScript/axios/docs/examples/section8/index.ts rename to 18-TypeScript/old/axios/docs/examples/section8/index.ts diff --git a/18-TypeScript/axios/docs/package-lock.json b/18-TypeScript/old/axios/docs/package-lock.json similarity index 100% rename from 18-TypeScript/axios/docs/package-lock.json rename to 18-TypeScript/old/axios/docs/package-lock.json diff --git a/18-TypeScript/axios/docs/package.json b/18-TypeScript/old/axios/docs/package.json similarity index 100% rename from 18-TypeScript/axios/docs/package.json rename to 18-TypeScript/old/axios/docs/package.json diff --git a/18-TypeScript/axios/docs/ts.zip b/18-TypeScript/old/axios/docs/ts.zip similarity index 100% rename from 18-TypeScript/axios/docs/ts.zip rename to 18-TypeScript/old/axios/docs/ts.zip diff --git a/18-TypeScript/axios/docs/ts/404.html b/18-TypeScript/old/axios/docs/ts/404.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/404.html rename to 18-TypeScript/old/axios/docs/ts/404.html diff --git a/18-TypeScript/axios/docs/ts/assets/css/0.styles.c2cb947e.css b/18-TypeScript/old/axios/docs/ts/assets/css/0.styles.c2cb947e.css similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/css/0.styles.c2cb947e.css rename to 18-TypeScript/old/axios/docs/ts/assets/css/0.styles.c2cb947e.css diff --git a/18-TypeScript/axios/docs/ts/assets/img/search.83621669.svg b/18-TypeScript/old/axios/docs/ts/assets/img/search.83621669.svg similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/img/search.83621669.svg rename to 18-TypeScript/old/axios/docs/ts/assets/img/search.83621669.svg diff --git a/18-TypeScript/axios/docs/ts/assets/js/10.21890e8d.js b/18-TypeScript/old/axios/docs/ts/assets/js/10.21890e8d.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/10.21890e8d.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/10.21890e8d.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/11.def94429.js b/18-TypeScript/old/axios/docs/ts/assets/js/11.def94429.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/11.def94429.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/11.def94429.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/12.44ea3232.js b/18-TypeScript/old/axios/docs/ts/assets/js/12.44ea3232.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/12.44ea3232.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/12.44ea3232.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/13.e2f1f2f5.js b/18-TypeScript/old/axios/docs/ts/assets/js/13.e2f1f2f5.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/13.e2f1f2f5.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/13.e2f1f2f5.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/14.fc93fc93.js b/18-TypeScript/old/axios/docs/ts/assets/js/14.fc93fc93.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/14.fc93fc93.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/14.fc93fc93.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/15.30f6a6c4.js b/18-TypeScript/old/axios/docs/ts/assets/js/15.30f6a6c4.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/15.30f6a6c4.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/15.30f6a6c4.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/16.06de8140.js b/18-TypeScript/old/axios/docs/ts/assets/js/16.06de8140.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/16.06de8140.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/16.06de8140.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/17.66632e8c.js b/18-TypeScript/old/axios/docs/ts/assets/js/17.66632e8c.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/17.66632e8c.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/17.66632e8c.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/18.f2a1c8de.js b/18-TypeScript/old/axios/docs/ts/assets/js/18.f2a1c8de.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/18.f2a1c8de.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/18.f2a1c8de.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/19.0ac5caf7.js b/18-TypeScript/old/axios/docs/ts/assets/js/19.0ac5caf7.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/19.0ac5caf7.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/19.0ac5caf7.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/2.37b52d5a.js b/18-TypeScript/old/axios/docs/ts/assets/js/2.37b52d5a.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/2.37b52d5a.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/2.37b52d5a.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/20.66404894.js b/18-TypeScript/old/axios/docs/ts/assets/js/20.66404894.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/20.66404894.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/20.66404894.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/21.d6da67e6.js b/18-TypeScript/old/axios/docs/ts/assets/js/21.d6da67e6.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/21.d6da67e6.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/21.d6da67e6.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/22.7cdc6f13.js b/18-TypeScript/old/axios/docs/ts/assets/js/22.7cdc6f13.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/22.7cdc6f13.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/22.7cdc6f13.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/23.f66fb9bd.js b/18-TypeScript/old/axios/docs/ts/assets/js/23.f66fb9bd.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/23.f66fb9bd.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/23.f66fb9bd.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/24.44517154.js b/18-TypeScript/old/axios/docs/ts/assets/js/24.44517154.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/24.44517154.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/24.44517154.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/25.a7aa9fec.js b/18-TypeScript/old/axios/docs/ts/assets/js/25.a7aa9fec.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/25.a7aa9fec.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/25.a7aa9fec.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/26.766bed94.js b/18-TypeScript/old/axios/docs/ts/assets/js/26.766bed94.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/26.766bed94.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/26.766bed94.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/27.89ba01e9.js b/18-TypeScript/old/axios/docs/ts/assets/js/27.89ba01e9.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/27.89ba01e9.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/27.89ba01e9.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/28.4131104b.js b/18-TypeScript/old/axios/docs/ts/assets/js/28.4131104b.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/28.4131104b.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/28.4131104b.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/29.5b1d87a4.js b/18-TypeScript/old/axios/docs/ts/assets/js/29.5b1d87a4.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/29.5b1d87a4.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/29.5b1d87a4.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/3.a24e8667.js b/18-TypeScript/old/axios/docs/ts/assets/js/3.a24e8667.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/3.a24e8667.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/3.a24e8667.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/30.3490bd30.js b/18-TypeScript/old/axios/docs/ts/assets/js/30.3490bd30.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/30.3490bd30.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/30.3490bd30.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/31.deb880cc.js b/18-TypeScript/old/axios/docs/ts/assets/js/31.deb880cc.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/31.deb880cc.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/31.deb880cc.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/32.cfaeb610.js b/18-TypeScript/old/axios/docs/ts/assets/js/32.cfaeb610.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/32.cfaeb610.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/32.cfaeb610.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/33.05467d59.js b/18-TypeScript/old/axios/docs/ts/assets/js/33.05467d59.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/33.05467d59.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/33.05467d59.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/34.9e34bd2b.js b/18-TypeScript/old/axios/docs/ts/assets/js/34.9e34bd2b.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/34.9e34bd2b.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/34.9e34bd2b.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/35.0c0f25c1.js b/18-TypeScript/old/axios/docs/ts/assets/js/35.0c0f25c1.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/35.0c0f25c1.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/35.0c0f25c1.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/36.de925195.js b/18-TypeScript/old/axios/docs/ts/assets/js/36.de925195.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/36.de925195.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/36.de925195.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/37.f2da477e.js b/18-TypeScript/old/axios/docs/ts/assets/js/37.f2da477e.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/37.f2da477e.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/37.f2da477e.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/38.e027bf70.js b/18-TypeScript/old/axios/docs/ts/assets/js/38.e027bf70.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/38.e027bf70.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/38.e027bf70.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/39.7cbf6c4e.js b/18-TypeScript/old/axios/docs/ts/assets/js/39.7cbf6c4e.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/39.7cbf6c4e.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/39.7cbf6c4e.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/4.e9a474e4.js b/18-TypeScript/old/axios/docs/ts/assets/js/4.e9a474e4.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/4.e9a474e4.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/4.e9a474e4.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/40.5a3bf62b.js b/18-TypeScript/old/axios/docs/ts/assets/js/40.5a3bf62b.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/40.5a3bf62b.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/40.5a3bf62b.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/41.9db203d5.js b/18-TypeScript/old/axios/docs/ts/assets/js/41.9db203d5.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/41.9db203d5.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/41.9db203d5.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/42.329d76e1.js b/18-TypeScript/old/axios/docs/ts/assets/js/42.329d76e1.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/42.329d76e1.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/42.329d76e1.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/43.85fa3c5c.js b/18-TypeScript/old/axios/docs/ts/assets/js/43.85fa3c5c.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/43.85fa3c5c.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/43.85fa3c5c.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/44.29e7e69f.js b/18-TypeScript/old/axios/docs/ts/assets/js/44.29e7e69f.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/44.29e7e69f.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/44.29e7e69f.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/45.9fa3a0f1.js b/18-TypeScript/old/axios/docs/ts/assets/js/45.9fa3a0f1.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/45.9fa3a0f1.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/45.9fa3a0f1.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/46.dd5b2f48.js b/18-TypeScript/old/axios/docs/ts/assets/js/46.dd5b2f48.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/46.dd5b2f48.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/46.dd5b2f48.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/47.8105d691.js b/18-TypeScript/old/axios/docs/ts/assets/js/47.8105d691.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/47.8105d691.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/47.8105d691.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/48.a0c7cf29.js b/18-TypeScript/old/axios/docs/ts/assets/js/48.a0c7cf29.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/48.a0c7cf29.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/48.a0c7cf29.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/49.7830450b.js b/18-TypeScript/old/axios/docs/ts/assets/js/49.7830450b.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/49.7830450b.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/49.7830450b.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/5.f01959fc.js b/18-TypeScript/old/axios/docs/ts/assets/js/5.f01959fc.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/5.f01959fc.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/5.f01959fc.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/50.12a057ea.js b/18-TypeScript/old/axios/docs/ts/assets/js/50.12a057ea.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/50.12a057ea.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/50.12a057ea.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/51.5fa50254.js b/18-TypeScript/old/axios/docs/ts/assets/js/51.5fa50254.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/51.5fa50254.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/51.5fa50254.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/52.8b1b0c8b.js b/18-TypeScript/old/axios/docs/ts/assets/js/52.8b1b0c8b.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/52.8b1b0c8b.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/52.8b1b0c8b.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/53.2ef3a354.js b/18-TypeScript/old/axios/docs/ts/assets/js/53.2ef3a354.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/53.2ef3a354.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/53.2ef3a354.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/54.3c9e48ce.js b/18-TypeScript/old/axios/docs/ts/assets/js/54.3c9e48ce.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/54.3c9e48ce.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/54.3c9e48ce.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/55.1e7afde9.js b/18-TypeScript/old/axios/docs/ts/assets/js/55.1e7afde9.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/55.1e7afde9.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/55.1e7afde9.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/56.382bc603.js b/18-TypeScript/old/axios/docs/ts/assets/js/56.382bc603.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/56.382bc603.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/56.382bc603.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/57.e73dc51e.js b/18-TypeScript/old/axios/docs/ts/assets/js/57.e73dc51e.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/57.e73dc51e.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/57.e73dc51e.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/6.2d34372c.js b/18-TypeScript/old/axios/docs/ts/assets/js/6.2d34372c.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/6.2d34372c.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/6.2d34372c.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/7.250f83f3.js b/18-TypeScript/old/axios/docs/ts/assets/js/7.250f83f3.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/7.250f83f3.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/7.250f83f3.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/8.2fc7533f.js b/18-TypeScript/old/axios/docs/ts/assets/js/8.2fc7533f.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/8.2fc7533f.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/8.2fc7533f.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/9.e11ea58c.js b/18-TypeScript/old/axios/docs/ts/assets/js/9.e11ea58c.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/9.e11ea58c.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/9.e11ea58c.js diff --git a/18-TypeScript/axios/docs/ts/assets/js/app.917f6765.js b/18-TypeScript/old/axios/docs/ts/assets/js/app.917f6765.js similarity index 100% rename from 18-TypeScript/axios/docs/ts/assets/js/app.917f6765.js rename to 18-TypeScript/old/axios/docs/ts/assets/js/app.917f6765.js diff --git a/18-TypeScript/axios/docs/ts/chapter1/index.html b/18-TypeScript/old/axios/docs/ts/chapter1/index.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter1/index.html rename to 18-TypeScript/old/axios/docs/ts/chapter1/index.html diff --git a/18-TypeScript/axios/docs/ts/chapter1/install.html b/18-TypeScript/old/axios/docs/ts/chapter1/install.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter1/install.html rename to 18-TypeScript/old/axios/docs/ts/chapter1/install.html diff --git a/18-TypeScript/axios/docs/ts/chapter1/start.html b/18-TypeScript/old/axios/docs/ts/chapter1/start.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter1/start.html rename to 18-TypeScript/old/axios/docs/ts/chapter1/start.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/auth.html b/18-TypeScript/old/axios/docs/ts/chapter10/auth.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/auth.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/auth.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/baseURL.html b/18-TypeScript/old/axios/docs/ts/chapter10/baseURL.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/baseURL.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/baseURL.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/paramsSerializer.html b/18-TypeScript/old/axios/docs/ts/chapter10/paramsSerializer.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/paramsSerializer.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/paramsSerializer.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/static.html b/18-TypeScript/old/axios/docs/ts/chapter10/static.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/static.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/static.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/upload-download.html b/18-TypeScript/old/axios/docs/ts/chapter10/upload-download.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/upload-download.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/upload-download.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/validateStatus.html b/18-TypeScript/old/axios/docs/ts/chapter10/validateStatus.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/validateStatus.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/validateStatus.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/withCredentials.html b/18-TypeScript/old/axios/docs/ts/chapter10/withCredentials.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/withCredentials.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/withCredentials.html diff --git a/18-TypeScript/axios/docs/ts/chapter10/xsrf.html b/18-TypeScript/old/axios/docs/ts/chapter10/xsrf.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter10/xsrf.html rename to 18-TypeScript/old/axios/docs/ts/chapter10/xsrf.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/cancel.html b/18-TypeScript/old/axios/docs/ts/chapter11/cancel.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/cancel.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/cancel.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/headers.html b/18-TypeScript/old/axios/docs/ts/chapter11/headers.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/headers.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/headers.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/helpers.html b/18-TypeScript/old/axios/docs/ts/chapter11/helpers.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/helpers.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/helpers.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/instance.html b/18-TypeScript/old/axios/docs/ts/chapter11/instance.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/instance.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/instance.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/interceptor.html b/18-TypeScript/old/axios/docs/ts/chapter11/interceptor.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/interceptor.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/interceptor.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/jest.html b/18-TypeScript/old/axios/docs/ts/chapter11/jest.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/jest.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/jest.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/mergeConfig.html b/18-TypeScript/old/axios/docs/ts/chapter11/mergeConfig.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/mergeConfig.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/mergeConfig.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/more.html b/18-TypeScript/old/axios/docs/ts/chapter11/more.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/more.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/more.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/preface.html b/18-TypeScript/old/axios/docs/ts/chapter11/preface.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/preface.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/preface.html diff --git a/18-TypeScript/axios/docs/ts/chapter11/requests.html b/18-TypeScript/old/axios/docs/ts/chapter11/requests.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter11/requests.html rename to 18-TypeScript/old/axios/docs/ts/chapter11/requests.html diff --git a/18-TypeScript/axios/docs/ts/chapter12/build-deploy.html b/18-TypeScript/old/axios/docs/ts/chapter12/build-deploy.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter12/build-deploy.html rename to 18-TypeScript/old/axios/docs/ts/chapter12/build-deploy.html diff --git a/18-TypeScript/axios/docs/ts/chapter12/demo.html b/18-TypeScript/old/axios/docs/ts/chapter12/demo.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter12/demo.html rename to 18-TypeScript/old/axios/docs/ts/chapter12/demo.html diff --git a/18-TypeScript/axios/docs/ts/chapter13/summary.html b/18-TypeScript/old/axios/docs/ts/chapter13/summary.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter13/summary.html rename to 18-TypeScript/old/axios/docs/ts/chapter13/summary.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/advance.html b/18-TypeScript/old/axios/docs/ts/chapter2/advance.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/advance.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/advance.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/class.html b/18-TypeScript/old/axios/docs/ts/chapter2/class.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/class.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/class.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/declare.html b/18-TypeScript/old/axios/docs/ts/chapter2/declare.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/declare.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/declare.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/function.html b/18-TypeScript/old/axios/docs/ts/chapter2/function.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/function.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/function.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/generic.html b/18-TypeScript/old/axios/docs/ts/chapter2/generic.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/generic.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/generic.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/inference.html b/18-TypeScript/old/axios/docs/ts/chapter2/inference.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/inference.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/inference.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/interface.html b/18-TypeScript/old/axios/docs/ts/chapter2/interface.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/interface.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/interface.html diff --git a/18-TypeScript/axios/docs/ts/chapter2/type.html b/18-TypeScript/old/axios/docs/ts/chapter2/type.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter2/type.html rename to 18-TypeScript/old/axios/docs/ts/chapter2/type.html diff --git a/18-TypeScript/axios/docs/ts/chapter3/base.html b/18-TypeScript/old/axios/docs/ts/chapter3/base.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter3/base.html rename to 18-TypeScript/old/axios/docs/ts/chapter3/base.html diff --git a/18-TypeScript/axios/docs/ts/chapter3/init.html b/18-TypeScript/old/axios/docs/ts/chapter3/init.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter3/init.html rename to 18-TypeScript/old/axios/docs/ts/chapter3/init.html diff --git a/18-TypeScript/axios/docs/ts/chapter3/require.html b/18-TypeScript/old/axios/docs/ts/chapter3/require.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter3/require.html rename to 18-TypeScript/old/axios/docs/ts/chapter3/require.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/data.html b/18-TypeScript/old/axios/docs/ts/chapter4/data.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/data.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/data.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/header.html b/18-TypeScript/old/axios/docs/ts/chapter4/header.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/header.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/header.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/response-data.html b/18-TypeScript/old/axios/docs/ts/chapter4/response-data.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/response-data.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/response-data.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/response-header.html b/18-TypeScript/old/axios/docs/ts/chapter4/response-header.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/response-header.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/response-header.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/response.html b/18-TypeScript/old/axios/docs/ts/chapter4/response.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/response.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/response.html diff --git a/18-TypeScript/axios/docs/ts/chapter4/url.html b/18-TypeScript/old/axios/docs/ts/chapter4/url.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter4/url.html rename to 18-TypeScript/old/axios/docs/ts/chapter4/url.html diff --git a/18-TypeScript/axios/docs/ts/chapter5/enhance.html b/18-TypeScript/old/axios/docs/ts/chapter5/enhance.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter5/enhance.html rename to 18-TypeScript/old/axios/docs/ts/chapter5/enhance.html diff --git a/18-TypeScript/axios/docs/ts/chapter5/error.html b/18-TypeScript/old/axios/docs/ts/chapter5/error.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter5/error.html rename to 18-TypeScript/old/axios/docs/ts/chapter5/error.html diff --git a/18-TypeScript/axios/docs/ts/chapter6/extend.html b/18-TypeScript/old/axios/docs/ts/chapter6/extend.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter6/extend.html rename to 18-TypeScript/old/axios/docs/ts/chapter6/extend.html diff --git a/18-TypeScript/axios/docs/ts/chapter6/generic.html b/18-TypeScript/old/axios/docs/ts/chapter6/generic.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter6/generic.html rename to 18-TypeScript/old/axios/docs/ts/chapter6/generic.html diff --git a/18-TypeScript/axios/docs/ts/chapter6/overload.html b/18-TypeScript/old/axios/docs/ts/chapter6/overload.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter6/overload.html rename to 18-TypeScript/old/axios/docs/ts/chapter6/overload.html diff --git a/18-TypeScript/axios/docs/ts/chapter7/interceptor.html b/18-TypeScript/old/axios/docs/ts/chapter7/interceptor.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter7/interceptor.html rename to 18-TypeScript/old/axios/docs/ts/chapter7/interceptor.html diff --git a/18-TypeScript/axios/docs/ts/chapter8/create.html b/18-TypeScript/old/axios/docs/ts/chapter8/create.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter8/create.html rename to 18-TypeScript/old/axios/docs/ts/chapter8/create.html diff --git a/18-TypeScript/axios/docs/ts/chapter8/merge.html b/18-TypeScript/old/axios/docs/ts/chapter8/merge.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter8/merge.html rename to 18-TypeScript/old/axios/docs/ts/chapter8/merge.html diff --git a/18-TypeScript/axios/docs/ts/chapter8/transform.html b/18-TypeScript/old/axios/docs/ts/chapter8/transform.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter8/transform.html rename to 18-TypeScript/old/axios/docs/ts/chapter8/transform.html diff --git a/18-TypeScript/axios/docs/ts/chapter9/cancel.html b/18-TypeScript/old/axios/docs/ts/chapter9/cancel.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/chapter9/cancel.html rename to 18-TypeScript/old/axios/docs/ts/chapter9/cancel.html diff --git a/18-TypeScript/axios/docs/ts/index.html b/18-TypeScript/old/axios/docs/ts/index.html similarity index 100% rename from 18-TypeScript/axios/docs/ts/index.html rename to 18-TypeScript/old/axios/docs/ts/index.html diff --git a/18-TypeScript/axios/docs/ts/interceptor.png b/18-TypeScript/old/axios/docs/ts/interceptor.png similarity index 100% rename from 18-TypeScript/axios/docs/ts/interceptor.png rename to 18-TypeScript/old/axios/docs/ts/interceptor.png diff --git a/18-TypeScript/axios/docs/ts/ts-logo.png b/18-TypeScript/old/axios/docs/ts/ts-logo.png similarity index 100% rename from 18-TypeScript/axios/docs/ts/ts-logo.png rename to 18-TypeScript/old/axios/docs/ts/ts-logo.png diff --git a/18-TypeScript/axios/docs/ts/xsrf.png b/18-TypeScript/old/axios/docs/ts/xsrf.png similarity index 100% rename from 18-TypeScript/axios/docs/ts/xsrf.png rename to 18-TypeScript/old/axios/docs/ts/xsrf.png diff --git a/18-TypeScript/axios/ts-axios/.editorconfig b/18-TypeScript/old/axios/ts-axios/.editorconfig similarity index 100% rename from 18-TypeScript/axios/ts-axios/.editorconfig rename to 18-TypeScript/old/axios/ts-axios/.editorconfig diff --git a/18-TypeScript/axios/ts-axios/.gitignore b/18-TypeScript/old/axios/ts-axios/.gitignore similarity index 100% rename from 18-TypeScript/axios/ts-axios/.gitignore rename to 18-TypeScript/old/axios/ts-axios/.gitignore diff --git a/18-TypeScript/axios/ts-axios/.travis.yml b/18-TypeScript/old/axios/ts-axios/.travis.yml similarity index 100% rename from 18-TypeScript/axios/ts-axios/.travis.yml rename to 18-TypeScript/old/axios/ts-axios/.travis.yml diff --git a/18-TypeScript/axios/ts-axios/CONTRIBUTING.md b/18-TypeScript/old/axios/ts-axios/CONTRIBUTING.md similarity index 100% rename from 18-TypeScript/axios/ts-axios/CONTRIBUTING.md rename to 18-TypeScript/old/axios/ts-axios/CONTRIBUTING.md diff --git a/18-TypeScript/axios/ts-axios/LICENSE b/18-TypeScript/old/axios/ts-axios/LICENSE similarity index 100% rename from 18-TypeScript/axios/ts-axios/LICENSE rename to 18-TypeScript/old/axios/ts-axios/LICENSE diff --git a/18-TypeScript/axios/ts-axios/README.md b/18-TypeScript/old/axios/ts-axios/README.md similarity index 100% rename from 18-TypeScript/axios/ts-axios/README.md rename to 18-TypeScript/old/axios/ts-axios/README.md diff --git a/18-TypeScript/axios/ts-axios/code-of-conduct.md b/18-TypeScript/old/axios/ts-axios/code-of-conduct.md similarity index 100% rename from 18-TypeScript/axios/ts-axios/code-of-conduct.md rename to 18-TypeScript/old/axios/ts-axios/code-of-conduct.md diff --git a/18-TypeScript/axios/ts-axios/examples/base/app.ts b/18-TypeScript/old/axios/ts-axios/examples/base/app.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/base/app.ts rename to 18-TypeScript/old/axios/ts-axios/examples/base/app.ts diff --git a/18-TypeScript/axios/ts-axios/examples/base/index.html b/18-TypeScript/old/axios/ts-axios/examples/base/index.html similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/base/index.html rename to 18-TypeScript/old/axios/ts-axios/examples/base/index.html diff --git a/18-TypeScript/axios/ts-axios/examples/error/app.ts b/18-TypeScript/old/axios/ts-axios/examples/error/app.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/error/app.ts rename to 18-TypeScript/old/axios/ts-axios/examples/error/app.ts diff --git a/18-TypeScript/axios/ts-axios/examples/error/index.html b/18-TypeScript/old/axios/ts-axios/examples/error/index.html similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/error/index.html rename to 18-TypeScript/old/axios/ts-axios/examples/error/index.html diff --git a/18-TypeScript/axios/ts-axios/examples/extend/app.ts b/18-TypeScript/old/axios/ts-axios/examples/extend/app.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/extend/app.ts rename to 18-TypeScript/old/axios/ts-axios/examples/extend/app.ts diff --git a/18-TypeScript/axios/ts-axios/examples/extend/index.html b/18-TypeScript/old/axios/ts-axios/examples/extend/index.html similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/extend/index.html rename to 18-TypeScript/old/axios/ts-axios/examples/extend/index.html diff --git a/18-TypeScript/axios/ts-axios/examples/global.css b/18-TypeScript/old/axios/ts-axios/examples/global.css similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/global.css rename to 18-TypeScript/old/axios/ts-axios/examples/global.css diff --git a/18-TypeScript/axios/ts-axios/examples/index.html b/18-TypeScript/old/axios/ts-axios/examples/index.html similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/index.html rename to 18-TypeScript/old/axios/ts-axios/examples/index.html diff --git a/18-TypeScript/axios/ts-axios/examples/server.js b/18-TypeScript/old/axios/ts-axios/examples/server.js similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/server.js rename to 18-TypeScript/old/axios/ts-axios/examples/server.js diff --git a/18-TypeScript/axios/ts-axios/examples/simple/app.ts b/18-TypeScript/old/axios/ts-axios/examples/simple/app.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/simple/app.ts rename to 18-TypeScript/old/axios/ts-axios/examples/simple/app.ts diff --git a/18-TypeScript/axios/ts-axios/examples/simple/index.html b/18-TypeScript/old/axios/ts-axios/examples/simple/index.html similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/simple/index.html rename to 18-TypeScript/old/axios/ts-axios/examples/simple/index.html diff --git a/18-TypeScript/axios/ts-axios/examples/webpack.config.js b/18-TypeScript/old/axios/ts-axios/examples/webpack.config.js similarity index 100% rename from 18-TypeScript/axios/ts-axios/examples/webpack.config.js rename to 18-TypeScript/old/axios/ts-axios/examples/webpack.config.js diff --git a/18-TypeScript/axios/ts-axios/package-lock.json b/18-TypeScript/old/axios/ts-axios/package-lock.json similarity index 100% rename from 18-TypeScript/axios/ts-axios/package-lock.json rename to 18-TypeScript/old/axios/ts-axios/package-lock.json diff --git a/18-TypeScript/axios/ts-axios/package.json b/18-TypeScript/old/axios/ts-axios/package.json similarity index 100% rename from 18-TypeScript/axios/ts-axios/package.json rename to 18-TypeScript/old/axios/ts-axios/package.json diff --git a/18-TypeScript/axios/ts-axios/rollup.config.ts b/18-TypeScript/old/axios/ts-axios/rollup.config.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/rollup.config.ts rename to 18-TypeScript/old/axios/ts-axios/rollup.config.ts diff --git a/18-TypeScript/axios/ts-axios/src/axios.ts b/18-TypeScript/old/axios/ts-axios/src/axios.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/axios.ts rename to 18-TypeScript/old/axios/ts-axios/src/axios.ts diff --git a/18-TypeScript/axios/ts-axios/src/core/Axios.ts b/18-TypeScript/old/axios/ts-axios/src/core/Axios.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/core/Axios.ts rename to 18-TypeScript/old/axios/ts-axios/src/core/Axios.ts diff --git a/18-TypeScript/axios/ts-axios/src/core/dispatchRequest.ts b/18-TypeScript/old/axios/ts-axios/src/core/dispatchRequest.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/core/dispatchRequest.ts rename to 18-TypeScript/old/axios/ts-axios/src/core/dispatchRequest.ts diff --git a/18-TypeScript/axios/ts-axios/src/core/xhr.ts b/18-TypeScript/old/axios/ts-axios/src/core/xhr.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/core/xhr.ts rename to 18-TypeScript/old/axios/ts-axios/src/core/xhr.ts diff --git a/18-TypeScript/axios/ts-axios/src/helpers/data.ts b/18-TypeScript/old/axios/ts-axios/src/helpers/data.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/helpers/data.ts rename to 18-TypeScript/old/axios/ts-axios/src/helpers/data.ts diff --git a/18-TypeScript/axios/ts-axios/src/helpers/error.ts b/18-TypeScript/old/axios/ts-axios/src/helpers/error.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/helpers/error.ts rename to 18-TypeScript/old/axios/ts-axios/src/helpers/error.ts diff --git a/18-TypeScript/axios/ts-axios/src/helpers/headers.ts b/18-TypeScript/old/axios/ts-axios/src/helpers/headers.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/helpers/headers.ts rename to 18-TypeScript/old/axios/ts-axios/src/helpers/headers.ts diff --git a/18-TypeScript/axios/ts-axios/src/helpers/url.ts b/18-TypeScript/old/axios/ts-axios/src/helpers/url.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/helpers/url.ts rename to 18-TypeScript/old/axios/ts-axios/src/helpers/url.ts diff --git a/18-TypeScript/axios/ts-axios/src/helpers/util.ts b/18-TypeScript/old/axios/ts-axios/src/helpers/util.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/helpers/util.ts rename to 18-TypeScript/old/axios/ts-axios/src/helpers/util.ts diff --git a/18-TypeScript/axios/ts-axios/src/index.ts b/18-TypeScript/old/axios/ts-axios/src/index.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/index.ts rename to 18-TypeScript/old/axios/ts-axios/src/index.ts diff --git a/18-TypeScript/axios/ts-axios/src/types/index.ts b/18-TypeScript/old/axios/ts-axios/src/types/index.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/src/types/index.ts rename to 18-TypeScript/old/axios/ts-axios/src/types/index.ts diff --git a/18-TypeScript/axios/ts-axios/test/helpers/boot.ts b/18-TypeScript/old/axios/ts-axios/test/helpers/boot.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/test/helpers/boot.ts rename to 18-TypeScript/old/axios/ts-axios/test/helpers/boot.ts diff --git a/18-TypeScript/axios/ts-axios/test/helpers/util.spec.ts b/18-TypeScript/old/axios/ts-axios/test/helpers/util.spec.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/test/helpers/util.spec.ts rename to 18-TypeScript/old/axios/ts-axios/test/helpers/util.spec.ts diff --git a/18-TypeScript/axios/ts-axios/test/ts-axios.test.ts b/18-TypeScript/old/axios/ts-axios/test/ts-axios.test.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/test/ts-axios.test.ts rename to 18-TypeScript/old/axios/ts-axios/test/ts-axios.test.ts diff --git a/18-TypeScript/axios/ts-axios/tools/gh-pages-publish.ts b/18-TypeScript/old/axios/ts-axios/tools/gh-pages-publish.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/tools/gh-pages-publish.ts rename to 18-TypeScript/old/axios/ts-axios/tools/gh-pages-publish.ts diff --git a/18-TypeScript/axios/ts-axios/tools/semantic-release-prepare.ts b/18-TypeScript/old/axios/ts-axios/tools/semantic-release-prepare.ts similarity index 100% rename from 18-TypeScript/axios/ts-axios/tools/semantic-release-prepare.ts rename to 18-TypeScript/old/axios/ts-axios/tools/semantic-release-prepare.ts diff --git a/18-TypeScript/axios/ts-axios/tsconfig.json b/18-TypeScript/old/axios/ts-axios/tsconfig.json similarity index 100% rename from 18-TypeScript/axios/ts-axios/tsconfig.json rename to 18-TypeScript/old/axios/ts-axios/tsconfig.json diff --git a/18-TypeScript/axios/ts-axios/tslint.json b/18-TypeScript/old/axios/ts-axios/tslint.json similarity index 100% rename from 18-TypeScript/axios/ts-axios/tslint.json rename to 18-TypeScript/old/axios/ts-axios/tslint.json diff --git a/18-TypeScript/axios/typescript-axios-master/.editorconfig b/18-TypeScript/old/axios/typescript-axios-master/.editorconfig similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/.editorconfig rename to 18-TypeScript/old/axios/typescript-axios-master/.editorconfig diff --git a/18-TypeScript/axios/typescript-axios-master/.gitignore b/18-TypeScript/old/axios/typescript-axios-master/.gitignore similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/.gitignore rename to 18-TypeScript/old/axios/typescript-axios-master/.gitignore diff --git a/18-TypeScript/axios/typescript-axios-master/.travis.yml b/18-TypeScript/old/axios/typescript-axios-master/.travis.yml similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/.travis.yml rename to 18-TypeScript/old/axios/typescript-axios-master/.travis.yml diff --git a/18-TypeScript/axios/typescript-axios-master/CONTRIBUTING.md b/18-TypeScript/old/axios/typescript-axios-master/CONTRIBUTING.md similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/CONTRIBUTING.md rename to 18-TypeScript/old/axios/typescript-axios-master/CONTRIBUTING.md diff --git a/18-TypeScript/axios/typescript-axios-master/LICENSE b/18-TypeScript/old/axios/typescript-axios-master/LICENSE similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/LICENSE rename to 18-TypeScript/old/axios/typescript-axios-master/LICENSE diff --git a/18-TypeScript/axios/typescript-axios-master/README.md b/18-TypeScript/old/axios/typescript-axios-master/README.md similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/README.md rename to 18-TypeScript/old/axios/typescript-axios-master/README.md diff --git a/18-TypeScript/axios/typescript-axios-master/code-of-conduct.md b/18-TypeScript/old/axios/typescript-axios-master/code-of-conduct.md similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/code-of-conduct.md rename to 18-TypeScript/old/axios/typescript-axios-master/code-of-conduct.md diff --git a/18-TypeScript/axios/typescript-axios-master/examples/base/app.ts b/18-TypeScript/old/axios/typescript-axios-master/examples/base/app.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/base/app.ts rename to 18-TypeScript/old/axios/typescript-axios-master/examples/base/app.ts diff --git a/18-TypeScript/axios/typescript-axios-master/examples/base/index.html b/18-TypeScript/old/axios/typescript-axios-master/examples/base/index.html similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/base/index.html rename to 18-TypeScript/old/axios/typescript-axios-master/examples/base/index.html diff --git a/18-TypeScript/axios/typescript-axios-master/examples/error/app.ts b/18-TypeScript/old/axios/typescript-axios-master/examples/error/app.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/error/app.ts rename to 18-TypeScript/old/axios/typescript-axios-master/examples/error/app.ts diff --git a/18-TypeScript/axios/typescript-axios-master/examples/error/index.html b/18-TypeScript/old/axios/typescript-axios-master/examples/error/index.html similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/error/index.html rename to 18-TypeScript/old/axios/typescript-axios-master/examples/error/index.html diff --git a/18-TypeScript/axios/typescript-axios-master/examples/extend/app.ts b/18-TypeScript/old/axios/typescript-axios-master/examples/extend/app.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/extend/app.ts rename to 18-TypeScript/old/axios/typescript-axios-master/examples/extend/app.ts diff --git a/18-TypeScript/axios/typescript-axios-master/examples/extend/index.html b/18-TypeScript/old/axios/typescript-axios-master/examples/extend/index.html similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/extend/index.html rename to 18-TypeScript/old/axios/typescript-axios-master/examples/extend/index.html diff --git a/18-TypeScript/axios/typescript-axios-master/examples/global.css b/18-TypeScript/old/axios/typescript-axios-master/examples/global.css similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/global.css rename to 18-TypeScript/old/axios/typescript-axios-master/examples/global.css diff --git a/18-TypeScript/axios/typescript-axios-master/examples/index.html b/18-TypeScript/old/axios/typescript-axios-master/examples/index.html similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/index.html rename to 18-TypeScript/old/axios/typescript-axios-master/examples/index.html diff --git a/18-TypeScript/axios/typescript-axios-master/examples/server.js b/18-TypeScript/old/axios/typescript-axios-master/examples/server.js similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/server.js rename to 18-TypeScript/old/axios/typescript-axios-master/examples/server.js diff --git a/18-TypeScript/axios/typescript-axios-master/examples/simple/app.ts b/18-TypeScript/old/axios/typescript-axios-master/examples/simple/app.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/simple/app.ts rename to 18-TypeScript/old/axios/typescript-axios-master/examples/simple/app.ts diff --git a/18-TypeScript/axios/typescript-axios-master/examples/simple/index.html b/18-TypeScript/old/axios/typescript-axios-master/examples/simple/index.html similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/simple/index.html rename to 18-TypeScript/old/axios/typescript-axios-master/examples/simple/index.html diff --git a/18-TypeScript/axios/typescript-axios-master/examples/webpack.config.js b/18-TypeScript/old/axios/typescript-axios-master/examples/webpack.config.js similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/examples/webpack.config.js rename to 18-TypeScript/old/axios/typescript-axios-master/examples/webpack.config.js diff --git a/18-TypeScript/axios/typescript-axios-master/package-lock.json b/18-TypeScript/old/axios/typescript-axios-master/package-lock.json similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/package-lock.json rename to 18-TypeScript/old/axios/typescript-axios-master/package-lock.json diff --git a/18-TypeScript/axios/typescript-axios-master/package.json b/18-TypeScript/old/axios/typescript-axios-master/package.json similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/package.json rename to 18-TypeScript/old/axios/typescript-axios-master/package.json diff --git a/18-TypeScript/axios/typescript-axios-master/rollup.config.ts b/18-TypeScript/old/axios/typescript-axios-master/rollup.config.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/rollup.config.ts rename to 18-TypeScript/old/axios/typescript-axios-master/rollup.config.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/axios.ts b/18-TypeScript/old/axios/typescript-axios-master/src/axios.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/axios.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/axios.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/core/Axios.ts b/18-TypeScript/old/axios/typescript-axios-master/src/core/Axios.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/core/Axios.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/core/Axios.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/core/dispatchRequest.ts b/18-TypeScript/old/axios/typescript-axios-master/src/core/dispatchRequest.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/core/dispatchRequest.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/core/dispatchRequest.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/core/xhr.ts b/18-TypeScript/old/axios/typescript-axios-master/src/core/xhr.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/core/xhr.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/core/xhr.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/helper/data.ts b/18-TypeScript/old/axios/typescript-axios-master/src/helper/data.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/helper/data.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/helper/data.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/helper/error.ts b/18-TypeScript/old/axios/typescript-axios-master/src/helper/error.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/helper/error.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/helper/error.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/helper/headers.ts b/18-TypeScript/old/axios/typescript-axios-master/src/helper/headers.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/helper/headers.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/helper/headers.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/helper/url.ts b/18-TypeScript/old/axios/typescript-axios-master/src/helper/url.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/helper/url.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/helper/url.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/helper/util.ts b/18-TypeScript/old/axios/typescript-axios-master/src/helper/util.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/helper/util.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/helper/util.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/index.ts b/18-TypeScript/old/axios/typescript-axios-master/src/index.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/index.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/index.ts diff --git a/18-TypeScript/axios/typescript-axios-master/src/types/index.ts b/18-TypeScript/old/axios/typescript-axios-master/src/types/index.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/src/types/index.ts rename to 18-TypeScript/old/axios/typescript-axios-master/src/types/index.ts diff --git a/18-TypeScript/axios/typescript-axios-master/test.js b/18-TypeScript/old/axios/typescript-axios-master/test.js similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/test.js rename to 18-TypeScript/old/axios/typescript-axios-master/test.js diff --git a/18-TypeScript/axios/typescript-axios-master/test/typescript-axios.test.ts b/18-TypeScript/old/axios/typescript-axios-master/test/typescript-axios.test.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/test/typescript-axios.test.ts rename to 18-TypeScript/old/axios/typescript-axios-master/test/typescript-axios.test.ts diff --git a/18-TypeScript/axios/typescript-axios-master/tools/gh-pages-publish.ts b/18-TypeScript/old/axios/typescript-axios-master/tools/gh-pages-publish.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/tools/gh-pages-publish.ts rename to 18-TypeScript/old/axios/typescript-axios-master/tools/gh-pages-publish.ts diff --git a/18-TypeScript/axios/typescript-axios-master/tools/semantic-release-prepare.ts b/18-TypeScript/old/axios/typescript-axios-master/tools/semantic-release-prepare.ts similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/tools/semantic-release-prepare.ts rename to 18-TypeScript/old/axios/typescript-axios-master/tools/semantic-release-prepare.ts diff --git a/18-TypeScript/axios/typescript-axios-master/tsconfig.json b/18-TypeScript/old/axios/typescript-axios-master/tsconfig.json similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/tsconfig.json rename to 18-TypeScript/old/axios/typescript-axios-master/tsconfig.json diff --git a/18-TypeScript/axios/typescript-axios-master/tslint.json b/18-TypeScript/old/axios/typescript-axios-master/tslint.json similarity index 100% rename from 18-TypeScript/axios/typescript-axios-master/tslint.json rename to 18-TypeScript/old/axios/typescript-axios-master/tslint.json diff --git a/18-TypeScript/proj/dist/bundle.js b/18-TypeScript/proj/dist/bundle.js new file mode 100644 index 000000000..f84a7296c --- /dev/null +++ b/18-TypeScript/proj/dist/bundle.js @@ -0,0 +1,2 @@ +!function n(o,u,i){function f(r,e){if(!u[r]){if(!o[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(c)return c(r,!0);throw(e=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",e}t=u[r]={exports:{}},o[r][0].call(t.exports,function(e){return f(o[r][1][e]||e)},t,t.exports,n,o,u,i)}return u[r].exports}for(var c="function"==typeof require&&require,e=0;e + + + + Hello World! + + +

Loading ...

+ + + \ No newline at end of file diff --git a/18-TypeScript/proj/gulpfile.js b/18-TypeScript/proj/gulpfile.js new file mode 100644 index 000000000..b728699b1 --- /dev/null +++ b/18-TypeScript/proj/gulpfile.js @@ -0,0 +1,35 @@ +var gulp = require('gulp'); +var browserify = require('browserify'); +var source = require('vinyl-source-stream'); +var tsify = require('tsify'); +var sourcemaps = require('gulp-sourcemaps'); +var buffer = require('vinyl-buffer'); +var paths = { + pages: ['src/*.html'] +}; + +gulp.task('copyHtml', function () { + return gulp.src(paths.pages) + .pipe(gulp.dest('dist')); +}); + +gulp.task('default', gulp.series('copyHtml', function () { + return browserify({ + basedir: '.', + debug: true, + entries: ['src/main.ts'], + cache: {}, + packageCache: {} + }) + .plugin(tsify) + .transform('babelify', { + presets: ['es2015'], + extensions: ['.ts'] + }) + .bundle() + .pipe(source('bundle.js')) + .pipe(buffer()) + .pipe(sourcemaps.init({loadMaps: true})) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('dist')); +})); \ No newline at end of file diff --git a/18-TypeScript/proj/package-lock.json b/18-TypeScript/proj/package-lock.json new file mode 100644 index 000000000..7629db3f3 --- /dev/null +++ b/18-TypeScript/proj/package-lock.json @@ -0,0 +1,6030 @@ +{ + "name": "proj", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@gulp-sourcemaps/identity-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", + "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", + "dev": true, + "requires": { + "acorn": "^6.4.1", + "normalize-path": "^3.0.0", + "postcss": "^7.0.16", + "source-map": "^0.6.0", + "through2": "^3.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", + "dev": true, + "requires": { + "normalize-path": "^2.0.1", + "through2": "^2.0.3" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "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, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", + "dev": true + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "requires": { + "resolve": "^1.17.0" + } + }, + "browserify": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.1", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^3.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.2.1", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "^1.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum-object": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.12.0", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + } + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "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 + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + } + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "requires": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", + "dev": true + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "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 + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + } + } + }, + "gulp-sourcemaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", + "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", + "dev": true, + "requires": { + "@gulp-sourcemaps/identity-map": "^2.0.1", + "@gulp-sourcemaps/map-sources": "^1.0.0", + "acorn": "^6.4.1", + "convert-source-map": "^1.0.0", + "css": "^3.0.0", + "debug-fabulous": "^1.0.0", + "detect-newline": "^2.0.0", + "graceful-fs": "^4.0.0", + "source-map": "^0.6.0", + "strip-bom-string": "^1.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "gulp-typescript": { + "version": "6.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-6.0.0-alpha.1.tgz", + "integrity": "sha512-KoT0TTfjfT7w3JItHkgFH1T/zK4oXWC+a8xxKfniRfVcA0Fa1bKrIhztYelYmb+95RB80OLMBreknYkdwzdi2Q==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "plugin-error": "^1.0.1", + "source-map": "^0.7.3", + "through2": "^3.0.1", + "vinyl": "^2.2.0", + "vinyl-fs": "^3.0.3" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-uglify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", + "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "extend-shallow": "^3.0.2", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "isobject": "^3.0.1", + "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", + "through2": "^2.0.0", + "uglify-js": "^3.0.5", + "vinyl-sourcemaps-apply": "^0.2.0" + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "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 + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "dev": true + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "requires": { + "source-map": "~0.5.3" + } + }, + "insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true + }, + "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 + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==", + "dev": true, + "requires": { + "make-error": "^1.2.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "minimalistic-assert": { + "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 + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + } + } + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "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==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==", + "dev": true, + "requires": { + "shell-quote": "^1.4.2" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "dev": true, + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "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 + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "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 + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "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==", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dev": true, + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", + "dev": true + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", + "dev": true, + "requires": { + "process": "~0.11.0" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", + "dev": true, + "requires": { + "through2": "^2.0.3" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true + }, + "tsconfig": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-5.0.3.tgz", + "integrity": "sha512-Cq65A3kVp6BbsUgg9DRHafaGmbMb9EhAc7fjWvudNWKjkbWrt43FnrtZt6awshH1R0ocfF2Z0uxock3lVqEgOg==", + "dev": true, + "requires": { + "any-promise": "^1.3.0", + "parse-json": "^2.2.0", + "strip-bom": "^2.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "tsify": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/tsify/-/tsify-5.0.4.tgz", + "integrity": "sha512-XAZtQ5OMPsJFclkZ9xMZWkSNyMhMxEPsz3D2zu79yoKorH9j/DT4xCloJeXk5+cDhosEibu4bseMVjyPOAyLJA==", + "dev": true, + "requires": { + "convert-source-map": "^1.1.0", + "fs.realpath": "^1.0.0", + "object-assign": "^4.1.0", + "semver": "^6.1.0", + "through2": "^2.0.0", + "tsconfig": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true + }, + "uglify-js": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.2.tgz", + "integrity": "sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==", + "dev": true + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true + }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz", + "integrity": "sha512-LRBE2/g3C1hSHL2k/FynSZcVTRhEw8sb08oKGt/0hukZXwrh2m8nfy+r5yLhGEk7eFFuclhyIuPct/Bxlxk6rg==", + "dev": true, + "requires": { + "bl": "^1.2.1", + "through2": "^2.0.3" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-source-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-2.0.0.tgz", + "integrity": "sha512-Y5f1wRGajOfYukhv8biIGA7iZiY8UOIc3zJ6zcUNIbRG1BVuXzBsfSfe7MUJTttVkuy64k/pGQtJdd/aIt+hbw==", + "dev": true, + "requires": { + "through2": "^2.0.3", + "vinyl": "^2.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==", + "dev": true, + "requires": { + "source-map": "^0.5.1" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", + "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==", + "dev": true, + "requires": { + "anymatch": "^3.1.0", + "browserify": "^17.0.0", + "chokidar": "^3.4.0", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^4.0.2", + "xtend": "^4.0.2" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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 + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } +} diff --git a/18-TypeScript/proj/package.json b/18-TypeScript/proj/package.json new file mode 100644 index 000000000..7cd05aa4a --- /dev/null +++ b/18-TypeScript/proj/package.json @@ -0,0 +1,27 @@ +{ + "name": "proj", + "version": "1.0.0", + "description": "", + "main": "dist/main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "babel-core": "^6.26.3", + "babel-preset-es2015": "^6.24.1", + "babelify": "^10.0.0", + "browserify": "^17.0.0", + "gulp": "^4.0.2", + "gulp-sourcemaps": "^3.0.0", + "gulp-typescript": "^6.0.0-alpha.1", + "gulp-uglify": "^3.0.2", + "gulp-util": "^3.0.8", + "tsify": "^5.0.4", + "typescript": "^4.7.4", + "vinyl-buffer": "^1.0.1", + "vinyl-source-stream": "^2.0.0", + "watchify": "^4.0.0" + } +} diff --git a/18-TypeScript/proj/src/greet.ts b/18-TypeScript/proj/src/greet.ts new file mode 100644 index 000000000..b34640dce --- /dev/null +++ b/18-TypeScript/proj/src/greet.ts @@ -0,0 +1,3 @@ +export function sayHello(name: string) { + return `Hello from ${name}`; +} \ No newline at end of file diff --git a/18-TypeScript/proj/src/index.html b/18-TypeScript/proj/src/index.html new file mode 100644 index 000000000..395767dfd --- /dev/null +++ b/18-TypeScript/proj/src/index.html @@ -0,0 +1,11 @@ + + + + + Hello World! + + +

Loading ...

+ + + \ No newline at end of file diff --git a/18-TypeScript/proj/src/main.ts b/18-TypeScript/proj/src/main.ts new file mode 100644 index 000000000..bf8d5dd69 --- /dev/null +++ b/18-TypeScript/proj/src/main.ts @@ -0,0 +1,8 @@ +import { sayHello } from "./greet"; + +function showHello(divName: string, name: string) { + const elt = document.getElementById(divName); + elt.innerText = sayHello(name); +} + +showHello("greeting", "TypeScript"); \ No newline at end of file diff --git a/18-TypeScript/proj/tsconfig.json b/18-TypeScript/proj/tsconfig.json new file mode 100644 index 000000000..e7aa68f5b --- /dev/null +++ b/18-TypeScript/proj/tsconfig.json @@ -0,0 +1,10 @@ +{ + "files": [ + "src/main.ts", + "src/greet.ts" + ], + "compilerOptions": { + "noImplicitAny": true, + "target": "es2015" + } +} \ No newline at end of file diff --git "a/18-TypeScript/\345\216\273\351\231\244\351\224\231\350\257\257.ts" "b/18-TypeScript/\345\216\273\351\231\244\351\224\231\350\257\257.ts" new file mode 100644 index 000000000..8fc6ee1bc --- /dev/null +++ "b/18-TypeScript/\345\216\273\351\231\244\351\224\231\350\257\257.ts" @@ -0,0 +1,25 @@ +/* +若遇到类似 Cannot find name 'require'. 或 Cannot find name 'define'. 的错误,说明在使用模块 +仅需要告诉TypeScript它们是存在的 +*/ + +// For Node/CommonJS +declare function require(path: string): any; + +// For RequireJS/AMD +declare function define(...args: any[]): any; + + +// 如果代码里存在下面的Node/CommonJS代码 +var foo = require("foo"); +foo.doStuff(); + +// 或者下面的RequireJS/AMD代码: +define(["foo"], function(foo) { + foo.doStuff(); +}) + +// 可以写做下面的TypeScript代码: +import foo = require("foo"); + +foo.doStuff(); \ No newline at end of file From a7f3d369db7fcfc864bdcff020664475b9afd50b Mon Sep 17 00:00:00 2001 From: victorsun Date: Sat, 10 Dec 2022 23:17:13 +0800 Subject: [PATCH 15/36] =?UTF-8?q?upd:=20lottie=E5=8A=A8=E7=94=BB=E7=89=B9?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index.html" | 86 ++++++ .../lottie.min.js" | 1 + .../lottie/data.json" | 292 ++++++++++++++++++ .../lottie/data2.json" | 1 + .../lottie/test.lottie" | 1 + 5 files changed, 381 insertions(+) create mode 100644 "21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/index.html" create mode 100644 "21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie.min.js" create mode 100644 "21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie/data.json" create mode 100644 "21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie/data2.json" create mode 100644 "21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie/test.lottie" diff --git "a/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/index.html" "b/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/index.html" new file mode 100644 index 000000000..e56e228ff --- /dev/null +++ "b/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/index.html" @@ -0,0 +1,86 @@ + + + + + + + Lottie + + + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git "a/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie.min.js" "b/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie.min.js" new file mode 100644 index 000000000..ee7abc934 --- /dev/null +++ "b/21-js\346\216\242\347\264\242/lottie\345\212\250\347\224\273demo/lottie.min.js" @@ -0,0 +1 @@ +"undefined"!=typeof navigator&&function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lottie=e()}(this,(function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var r,i,s=t.length;for(r=0;r1?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[2]+=e,r[2]>1?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[0]+=e/360,r[0]>1?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var t,e,r=[];for(t=0;t<256;t+=1)e=t.toString(16),r[t]=1===e.length?"0"+e:e;return function(t,e,i){return t<0&&(t=0),e<0&&(e=0),i<0&&(i=0),"#"+r[t]+r[e]+r[i]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t},getIdPrefix=function(){return idPrefix$1};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return _typeof$5="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},_typeof$5(t)}var dataManager=function(){var t,e,r=1,i=[],s={onmessage:function(){},postMessage:function(e){t({data:e})}},a={postMessage:function(t){s.onmessage({data:t})}};function n(){e||(e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var r=new Blob(["var _workerSelf = self; self.onmessage = ",e.toString()],{type:"text/javascript"}),i=URL.createObjectURL(r);return new Worker(i)}return t=e,s}((function(t){if(a.dataManager||(a.dataManager=function(){function t(s,a){var n,o,h,l,p,m,c=s.length;for(o=0;o=0;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)i(t[e].ks.k);else for(a=t[e].ks.k.length,s=0;sr[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var a,n=function(){var t=[4,4,14];function e(t){var e,r,i,s=t.length;for(e=0;e=0;r-=1)if("sh"===t[r].ty)if(t[r].ks.k.i)t[r].ks.k.c=t[r].closed;else for(s=t[r].ks.k.length,i=0;i500)&&(this._imageLoaded(),clearInterval(r)),e+=1}.bind(this),50)}function a(t){var e={assetData:t},r=i(t,this.assetsPath,this.path);return dataManager.loadData(r,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function n(){this._imageLoaded=e.bind(this),this._footageLoaded=r.bind(this),this.testImageLoaded=s.bind(this),this.createFootageData=a.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return n.prototype={loadAssets:function(t,e){var r;this.imagesLoadedCb=e;var i=t.length;for(r=0;rthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,s=i.length,a=t.layers,n=a.length;for(r=0;rthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.trigger("_pause"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_play"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(r=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),"object"===_typeof$4(t[0])){var r,i=t.length;for(r=0;r=0;r-=1)e[r].animation.destroy(t)},t.freeze=function(){n=!0},t.unfreeze=function(){n=!1,d()},t.setVolume=function(t,r){var s;for(s=0;s=.001?function(t,e,r,i){for(var s=0;s<4;++s){var a=h(e,r,i);if(0===a)return e;e-=(o(e,r,i)-t)/a}return e}(t,l,e,i):0===p?l:function(t,e,r,i,s){var a,n,h=0;do{(a=o(n=e+(r-e)/2,i,s)-t)>0?r=n:e=n}while(Math.abs(a)>1e-7&&++h<10);return n}(t,a,a+r,e,i)}},t}(),pooling={double:function(t){return t.concat(createSizedArray(t.length))}},poolFactory=function(t,e,r){var i=0,s=t,a=createSizedArray(s);return{newElement:function(){return i?a[i-=1]:e()},release:function(t){i===s&&(a=pooling.double(a),s*=2),r&&r(t),a[i]=t,i+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(t){var e,r=t.lengths.length;for(e=0;e-.001&&n<.001}var r=function(t,e,r,i){var s,a,n,o,h,l,p=getDefaultCurveSegments(),f=0,m=[],c=[],d=bezierLengthPool.newElement();for(n=r.length,s=0;sn?-1:1,l=!0;l;)if(i[a]<=n&&i[a+1]>n?(o=(n-i[a])/(i[a+1]-i[a]),l=!1):a+=h,a<0||a>=s-1){if(a===s-1)return r[a];l=!1}return r[a]+(r[a+1]-r[a])*o}var h=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,i=segmentsLengthPool.newElement(),s=t.c,a=t.v,n=t.o,o=t.i,h=t._length,l=i.lengths,p=0;for(e=0;e1&&(a=1);var p,f=o(a,l),m=o(n=n>1?1:n,l),c=e.length,d=1-f,u=1-m,y=d*d*d,g=f*d*d*3,v=f*f*d*3,b=f*f*f,P=d*d*u,x=f*d*u+d*f*u+d*d*m,E=f*f*u+d*f*m+f*d*m,S=f*f*m,_=d*u*u,C=f*u*u+d*m*u+d*u*m,A=f*m*u+d*m*m+f*u*m,M=f*m*m,T=u*u*u,D=m*u*u+u*m*u+u*u*m,k=m*m*u+u*m*m+m*u*m,F=m*m*m;for(p=0;pc?m>d?m-c-d:d-c-m:d>c?d-c-m:c-m-d)>-1e-4&&f<1e-4}}}var bez=bezFunction(),PropertyFactory=function(){var t=initialDefaultFrame,e=Math.abs;function r(t,e){var r,s=this.offsetTime;"multidimensional"===this.propType&&(r=createTypedArray("float32",this.pv.length));for(var a,n,o,h,l,p,f,m,c,d=e.lastIndex,u=d,y=this.keyframes.length-1,g=!0;g;){if(a=this.keyframes[u],n=this.keyframes[u+1],u===y-1&&t>=n.t-s){a.h&&(a=n),d=0;break}if(n.t-s>t){d=u;break}u=T||t=T?k.points.length-1:0;for(l=k.points[F].point.length,h=0;h=B&&I=T)r[0]=v[0],r[1]=v[1],r[2]=v[2];else if(t<=D)r[0]=a.s[0],r[1]=a.s[1],r[2]=a.s[2];else{var O=i(a.s),N=i(v);b=r,P=function(t,e,r){var i,s,a,n,o,h=[],l=t[0],p=t[1],f=t[2],m=t[3],c=e[0],d=e[1],u=e[2],y=e[3];return(s=l*c+p*d+f*u+m*y)<0&&(s=-s,c=-c,d=-d,u=-u,y=-y),1-s>1e-6?(i=Math.acos(s),a=Math.sin(i),n=Math.sin((1-r)*i)/a,o=Math.sin(r*i)/a):(n=1-r,o=r),h[0]=n*l+o*c,h[1]=n*p+o*d,h[2]=n*f+o*u,h[3]=n*m+o*y,h}(O,N,(t-D)/(T-D)),x=P[0],E=P[1],S=P[2],_=P[3],C=Math.atan2(2*E*_-2*x*S,1-2*E*E-2*S*S),A=Math.asin(2*x*E+2*S*_),M=Math.atan2(2*x*_-2*E*S,1-2*x*x-2*S*S),b[0]=C/degToRads,b[1]=A/degToRads,b[2]=M/degToRads}else for(u=0;u=T?p=1:t=i&&e>=i||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(e,this._caching);this.pv=s}return this._caching.lastFrame=e,this.pv}function a(t){var r;if("unidimensional"===this.propType)r=t*this.mult,e(this.v-r)>1e-5&&(this.v=r,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=r,this._mdf=!0),i+=1}function n(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),r){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[]}(!a[i]||a[i]&&!s)&&(a[i]=pointPool.newElement()),a[i][0]=t,a[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,s,a,n,o){this.setXYAt(t,e,"v",n,o),this.setXYAt(r,i,"o",n,o),this.setXYAt(s,a,"i",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,s=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],i[0][0],i[0][1],r[0][0],r[0][1],0,!1),s=1);var a,n=this._length-1,o=this._length;for(a=s;a=c[c.length-1].t-this.offsetTime)i=c[c.length-1].s?c[c.length-1].s[0]:c[c.length-2].e[0],a=!0;else{for(var d,u,y,g=m,v=c.length-1,b=!0;b&&(d=c[g],!((u=c[g+1]).t-this.offsetTime>t));)g=u.t-this.offsetTime)p=1;else if(ti&&e>i)||(this._caching.lastIndex=s0||t>-1e-6&&t<0?i(1e4*t)/1e4:t}function w(){var t=this.props;return"matrix("+F(t[0])+","+F(t[1])+","+F(t[4])+","+F(t[5])+","+F(t[12])+","+F(t[13])+")"}return function(){this.reset=s,this.rotate=a,this.rotateX=n,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=f,this.shear=l,this.scale=m,this.setTransform=c,this.translate=d,this.transform=u,this.applyToPoint=P,this.applyToX=x,this.applyToY=E,this.applyToZ=S,this.applyToPointArray=T,this.applyToTriplePoints=M,this.applyToPointStringified=D,this.toCSS=k,this.to2dCSS=w,this.clone=v,this.cloneFromProps=b,this.equals=g,this.inversePoints=A,this.inversePoint=C,this.getInverseMatrix=_,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(t){return _typeof$3="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},_typeof$3(t)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(t){setLocationHref(t)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){setSubframeEnabled(t)}function setPrefix(t){setIdPrefix(t)}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if("string"==typeof t)switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(t)&&t>1&&setDefaultCurveSegments(t);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(t,e){"expressions"===t&&setExpressionsPlugin(e)}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split("&"),r=0;r=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n,o,h=[],l=a.length;for(n=0;ni+r))p=o.s*s<=i?0:(o.s*s-i)/r,f=o.e*s>=i+r?1:(o.e*s-i)/r,h.push([p,f])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;e1?1+a:this.s.v<0?0+a:this.s.v+a)>(r=this.e.v>1?1+a:this.e.v<0?0+a:this.e.v+a)){var n=e;e=r,r=n}e=1e-4*Math.round(1e4*e),r=1e-4*Math.round(1e4*r),this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var o,h,l,p,f,m=this.shapes.length,c=0;if(r===e)for(s=0;s=0;s-=1)if((d=this.shapes[s]).shape._mdf){for((u=d.localShapeCollection).releaseShapes(),2===this.m&&m>1?(g=this.calculateShapeEdges(e,r,d.totalShapeLength,P,c),P+=d.totalShapeLength):g=[[v,b]],h=g.length,o=0;o=1?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(b-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(b-1)}));var x=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(y.length>1)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var E=x.pop();this.addPaths(x,u),x=this.addShapes(d,y[1],E)}else this.addPaths(x,u),x=this.addShapes(d,y[1]);this.addPaths(x,u)}}d.shape.paths=u}}},TrimModifier.prototype.addPaths=function(t,e){var r,i=t.length;for(r=0;re.e){r.c=!1;break}e.s<=d&&e.e>=d+n.addedLength?(this.addSegment(m[i].v[s-1],m[i].o[s-1],m[i].i[s],m[i].v[s],r,o,y),y=!1):(l=bez.getNewSegment(m[i].v[s-1],m[i].v[s],m[i].o[s-1],m[i].i[s],(e.s-d)/n.addedLength,(e.e-d)/n.addedLength,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1),d+=n.addedLength,o+=1}if(m[i].c&&h.length){if(n=h[s-1],d<=e.e){var g=h[s-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(m[i].v[s-1],m[i].o[s-1],m[i].i[0],m[i].v[0],r,o,y),y=!1):(l=bez.getNewSegment(m[i].v[s-1],m[i].v[0],m[i].o[s-1],m[i].i[0],(e.s-d)/g,(e.e-d)/g,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1)}else r.c=!1;d+=n.addedLength,o+=1}if(r._length&&(r.setXYAt(r.v[p][0],r.v[p][1],"i",p),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),d>e.e)break;i=this.p.keyframes[this.p.keyframes.length-1].t?(i=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/r,0),s=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/r,0)):(i=this.p.pv,s=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/r,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){i=[],s=[];var a=this.px,n=this.py;a._caching.lastFrame+a.offsetTime<=a.keyframes[0].t?(i[0]=a.getValueAtTime((a.keyframes[0].t+.01)/r,0),i[1]=n.getValueAtTime((n.keyframes[0].t+.01)/r,0),s[0]=a.getValueAtTime(a.keyframes[0].t/r,0),s[1]=n.getValueAtTime(n.keyframes[0].t/r,0)):a._caching.lastFrame+a.offsetTime>=a.keyframes[a.keyframes.length-1].t?(i[0]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/r,0),i[1]=n.getValueAtTime(n.keyframes[n.keyframes.length-1].t/r,0),s[0]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/r,0),s[1]=n.getValueAtTime((n.keyframes[n.keyframes.length-1].t-.01)/r,0)):(i=[a.pv,n.pv],s[0]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/r,a.offsetTime),s[1]=n.getValueAtTime((n._caching.lastFrame+n.offsetTime-.01)/r,n.offsetTime))}else i=s=t;this.v.rotate(-Math.atan2(i[1]-s[1],i[0]-s[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],e),e.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},e.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,r,i){return new e(t,r,i)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(t,e){return 1e5*Math.abs(t-e)<=Math.min(Math.abs(t),Math.abs(e))}function floatZero(t){return Math.abs(t)<=1e-5}function lerp(t,e,r){return t*(1-r)+e*r}function lerpPoint(t,e,r){return[lerp(t[0],e[0],r),lerp(t[1],e[1],r)]}function quadRoots(t,e,r){if(0===t)return[];var i=e*e-4*t*r;if(i<0)return[];var s=-e/(2*t);if(0===i)return[s];var a=Math.sqrt(i)/(2*t);return[s-a,s+a]}function polynomialCoefficients(t,e,r,i){return[3*e-t-3*r+i,3*t-6*e+3*r,-3*t+3*e,t]}function singlePoint(t){return new PolynomialBezier(t,t,t,t,!1)}function PolynomialBezier(t,e,r,i,s){s&&pointEqual(t,e)&&(e=lerpPoint(t,i,1/3)),s&&pointEqual(r,i)&&(r=lerpPoint(t,i,2/3));var a=polynomialCoefficients(t[0],e[0],r[0],i[0]),n=polynomialCoefficients(t[1],e[1],r[1],i[1]);this.a=[a[0],n[0]],this.b=[a[1],n[1]],this.c=[a[2],n[2]],this.d=[a[3],n[3]],this.points=[t,e,r,i]}function extrema(t,e){var r=t.points[0][e],i=t.points[t.points.length-1][e];if(r>i){var s=i;i=r,r=s}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var o=t.point(a[n])[e];oi&&(i=o)}return{min:r,max:i}}function intersectData(t,e,r){var i=t.boundingBox();return{cx:i.cx,cy:i.cy,width:i.width,height:i.height,bez:t,t:(e+r)/2,t1:e,t2:r}}function splitData(t){var e=t.bez.split(.5);return[intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return 2*Math.abs(t.cx-e.cx)=a||t.width<=i&&t.height<=i&&e.width<=i&&e.height<=i)s.push([t.t,e.t]);else{var n=splitData(t),o=splitData(e);intersectsImpl(n[0],o[0],r+1,i,s,a),intersectsImpl(n[0],o[1],r+1,i,s,a),intersectsImpl(n[1],o[0],r+1,i,s,a),intersectsImpl(n[1],o[1],r+1,i,s,a)}}function crossProduct(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,r,i){var s=[t[0],t[1],1],a=[e[0],e[1],1],n=[r[0],r[1],1],o=[i[0],i[1],1],h=crossProduct(crossProduct(s,a),crossProduct(n,o));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,r){return[t[0]+Math.cos(e)*r,t[1]-Math.sin(e)*r]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}function setPoint(t,e,r,i,s,a,n){var o=r-Math.PI/2,h=r+Math.PI/2,l=e[0]+Math.cos(r)*i*s,p=e[1]-Math.sin(r)*i*s;t.setTripleAt(l,p,l+Math.cos(o)*a,p-Math.sin(o)*a,l+Math.cos(h)*n,p-Math.sin(h)*n,t.length())}function getPerpendicularVector(t,e){var r=[e[0]-t[0],e[1]-t[1]],i=.5*-Math.PI;return[Math.cos(i)*r[0]-Math.sin(i)*r[1],Math.sin(i)*r[0]+Math.cos(i)*r[1]]}function getProjectingAngle(t,e){var r=0===e?t.length()-1:e-1,i=(e+1)%t.length(),s=getPerpendicularVector(t.v[r],t.v[i]);return Math.atan2(0,1)-Math.atan2(s[1],s[0])}function zigZagCorner(t,e,r,i,s,a,n){var o=getProjectingAngle(e,r),h=e.v[r%e._length],l=e.v[0===r?e._length-1:r-1],p=e.v[(r+1)%e._length],f=2===a?Math.sqrt(Math.pow(h[0]-l[0],2)+Math.pow(h[1]-l[1],2)):0,m=2===a?Math.sqrt(Math.pow(h[0]-p[0],2)+Math.pow(h[1]-p[1],2)):0;setPoint(t,e.v[r%e._length],o,n,i,m/(2*(s+1)),f/(2*(s+1)),a)}function zigZagSegment(t,e,r,i,s,a){for(var n=0;n1&&e.length>1&&(s=getIntersection(t[0],e[e.length-1]))?[[t[0].split(s[0])[0]],[e[e.length-1].split(s[1])[1]]]:[r,i]}function pruneIntersections(t){for(var e,r=1;r1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var r,i,s,a,n=t.inflectionPoints();if(0===n.length)return[offsetSegment(t,e)];if(1===n.length||floatEqual(n[1],1))return r=(s=t.split(n[0]))[0],i=s[1],[offsetSegment(r,e),offsetSegment(i,e)];r=(s=t.split(n[0]))[0];var o=(n[1]-n[0])/(1-n[0]);return a=(s=s[1].split(o))[0],i=s[1],[offsetSegment(r,e),offsetSegment(a,e),offsetSegment(i,e)]}function OffsetPathModifier(){}function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(" "):[],r="normal",i="normal",s=e.length,a=0;a0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,r=t.length;for(e=0;e0?Math.floor(m):Math.ceil(m),u=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,b,P=0;if(m>0){for(;Pd;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),P-=1;c&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-c,!0),P-=c)}for(i=1===this.data.m?0:this._currentCopies-1,s=1===this.data.m?1:-1,a=this._currentCopies;a;){if(b=(r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),0!==P){for((0!==i&&1===s||i!==this._currentCopies-1&&-1===s)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),v=0;v0&&i<1?[e]:[]:[e-i,e+i].filter((function(t){return t>0&&t<1}))},PolynomialBezier.prototype.split=function(t){if(t<=0)return[singlePoint(this.points[0]),this];if(t>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),r=lerpPoint(this.points[1],this.points[2],t),i=lerpPoint(this.points[2],this.points[3],t),s=lerpPoint(e,r,t),a=lerpPoint(r,i,t),n=lerpPoint(s,a,t);return[new PolynomialBezier(this.points[0],e,s,n,!0),new PolynomialBezier(n,a,i,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return{left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}},PolynomialBezier.prototype.intersections=function(t,e,r){void 0===e&&(e=2),void 0===r&&(r=7);var i=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,i,r),i},PolynomialBezier.shapeSegment=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[r],t.v[r],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[r],t.i[r],t.o[e],t.v[e],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(t,e,r,i){var s=t._length,a=shapePool.newElement();if(a.c=t.c,t.c||(s-=1),0===s)return a;var n=-1,o=PolynomialBezier.shapeSegment(t,0);zigZagCorner(a,t,0,e,r,i,n);for(var h=0;h=0;a-=1)o=PolynomialBezier.shapeSegmentInverted(t,a),l.push(offsetSegmentSplit(o,e));l=pruneIntersections(l);var p=null,f=null;for(a=0;a0&&(p=!1),p){var f=createTag("style");f.setAttribute("f-forigin",i[r].fOrigin),f.setAttribute("f-origin",i[r].origin),f.setAttribute("f-family",i[r].fFamily),f.type="text/css",f.innerText="@font-face {font-family: "+i[r].fFamily+"; font-style: normal; src: url('"+i[r].fPath+"');}",e.appendChild(f)}}else if("g"===i[r].fOrigin||1===i[r].origin){for(h=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),l=0;lt?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t0&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(v,"url("+getLocationHref()+"#"+y+")"),a.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(t,e){var r;this.data=t,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,s=this.data.ef.length,a=this.data.ef;for(r=0;r.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(t){var e,r,i=this.layers.length;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(r=this.layers[e]).ip-r.st<=t-this.layers[e].st&&r.op-r.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:default:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t1&&(a+=" C"+e.o[i-1][0]+","+e.o[i-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),r.lastPath!==a){var n="";r.elem&&(e.c&&(n=t.inv?this.solidPath+a:a),r.elem.setAttribute("d",n)),r.lastPath=a}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var t={};return t.createFilter=function(t,e){var r=createNS("filter");r.setAttribute("id",t),!0!==e&&(r.setAttribute("filterUnits","objectBoundingBox"),r.setAttribute("x","0%"),r.setAttribute("y","0%"),r.setAttribute("width","100%"),r.setAttribute("height","100%"));return r},t.createAlphaToLuminanceFilter=function(){var t=createNS("feColorMatrix");return t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),t},t}(),featureSupport=function(){var t={maskType:!0};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),t}(),registeredEffects={},idPrefix="filter_result_";function SVGEffects(t){var e,r,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,a=createElementID(),n=filtersFactory.createFilter(a,!0),o=0;for(this.filters=[],e=0;e=0&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,r=0,i=e.length;r.01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)h=i.transformers[u].mProps._mdf||h,d-=1,u-=1;if(h)for(d=g-i.styles[p].lvl,u=i.transformers.length-1;d>0;)c=i.transformers[u].mProps.v.props,m.transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15]),d-=1,u-=1}else m=t;if(n=(f=i.sh.paths)._length,h){for(o="",a=0;a=1?v=.99:v<=-1&&(v=-.99);var b=o*v,P=Math.cos(g+e.a.v)*b+p[0],x=Math.sin(g+e.a.v)*b+p[1];h.setAttribute("fx",P),h.setAttribute("fy",x),l&&!e.g._collapsable&&(e.of.setAttribute("fx",P),e.of.setAttribute("fy",x))}}function h(t,e,r){var i=e.style,s=e.d;s&&(s._mdf||r)&&s.dashStr&&(i.pElem.setAttribute("stroke-dasharray",s.dashStr),i.pElem.setAttribute("stroke-dashoffset",s.dashoffset[0])),e.c&&(e.c._mdf||r)&&i.pElem.setAttribute("stroke","rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r)&&i.pElem.setAttribute("stroke-opacity",e.o.v),(e.w._mdf||r)&&(i.pElem.setAttribute("stroke-width",e.w.v),i.msElem&&i.msElem.setAttribute("stroke-width",e.w.v))}return{createRenderFunction:function(t){switch(t.ty){case"fl":return a;case"gf":return o;case"gs":return n;case"st":return h;case"sh":case"el":case"rc":case"sr":return s;case"tr":return r;case"no":return i;default:return null}}}}();function SVGShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,r),this.prevViewData=[]}function LetterProps(t,e,r,i,s,a){this.o=t,this.sw=e,this.sc=r,this.fc=i,this.m=s,this.p=a,this._mdf={o:!0,sw:!!e,sc:!!r,fc:!!i,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,r,i,s=this.shapes.length,a=this.stylesList.length,n=[],o=!1;for(r=0;r1&&o&&this.setShapesAsAnimated(n)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,r=t.length;for(e=0;e=0;o-=1){if((m=this.searchProcessedElement(t[o]))?e[o]=r[m-1]:t[o]._render=n,"fl"===t[o].ty||"st"===t[o].ty||"gf"===t[o].ty||"gs"===t[o].ty||"no"===t[o].ty)m?e[o].style.closed=!1:e[o]=this.createStyleElement(t[o],s),t[o]._render&&e[o].style.pElem.parentNode!==i&&i.appendChild(e[o].style.pElem),u.push(e[o].style);else if("gr"===t[o].ty){if(m)for(l=e[o].it.length,h=0;h1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var s=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(i=0;ie);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],s=0,a=t.length,n=!1;s=55296&&e<=56319?(r=t.charCodeAt(s+1))>=56320&&r<=57343?(n||FontManager.isModifier(e,r)?(i[i.length-1]+=t.substr(s,2),n=!1):i.push(t.substr(s,2)),s+=1):i.push(t.charAt(s)):e>56319?(r=t.charCodeAt(s+1),FontManager.isZeroWidthJoiner(e,r)?(n=!0,i[i.length-1]+=t.substr(s,2),s+=1):i.push(t.charAt(s))):FontManager.isZeroWidthJoiner(e)?(i[i.length-1]+=t.charAt(s),n=!0):i.push(t.charAt(s)),s+=1;return i},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,r,i,s,a,n,o,h=this.elem.globalData.fontManager,l=this.data,p=[],f=0,m=l.m.g,c=0,d=0,u=0,y=[],g=0,v=0,b=h.getFontByName(t.f),P=0,x=getFontProperties(b);t.fWeight=x.weight,t.fStyle=x.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var E,S=t.tr/1e3*t.finalSize;if(t.sz)for(var _,C,A=!0,M=t.sz[0],T=t.sz[1];A;){_=0,g=0,r=(C=this.buildFinalText(t.t)).length,S=t.tr/1e3*t.finalSize;var D=-1;for(e=0;eM&&" "!==C[e]?(-1===D?r+=1:e=D,_+=t.finalLineHeight||1.2*t.finalSize,C.splice(e,D===e?1:0,"\r"),D=-1,g=0):(g+=P,g+=S);_+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&T<_?(t.finalSize-=1,t.finalLineHeight=t.finalSize*t.lh/t.s):(t.finalText=C,r=t.finalText.length,A=!1)}g=-S,P=0;var k,F=0;for(e=0;ev?g:v,g=-2*S,s="",i=!0,u+=1):s=k,h.chars?(o=h.getCharData(k,b.fStyle,h.getFontByName(t.f).fFamily),P=i?0:o.w*t.finalSize/100):P=h.measureText(s,t.f,t.finalSize)," "===k?F+=P+S:(g+=P+S+F,F=0),p.push({l:P,an:P,add:c,n:i,anIndexes:[],val:s,line:u,animatorJustifyOffset:0}),2==m){if(c+=P,""===s||" "===s||e===r-1){for(""!==s&&" "!==s||(c-=P);d<=e;)p[d].an=c,p[d].ind=f,p[d].extra=P,d+=1;f+=1,c=0}}else if(3==m){if(c+=P,""===s||e===r-1){for(""===s&&(c-=P);d<=e;)p[d].an=c,p[d].ind=f,p[d].extra=P,d+=1;c=0,f+=1}}else p[f].ind=f,p[f].extra=0,f+=1;if(t.l=p,v=g>v?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var w,I,B,V,R=l.a;n=R.length;var L=[];for(a=0;a0?s=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?n=1-this.xe.v/100:o=1+this.xe.v/100;var h=BezierFactory.getBezierEasing(s,a,n,o).get,l=0,p=this.finalS,f=this.finalE,m=this.data.sh;if(2===m)l=h(l=f===p?i>=f?1:0:t(0,e(.5/(f-p)+(i-p)/(f-p),1)));else if(3===m)l=h(l=f===p?i>=f?0:1:1-t(0,e(.5/(f-p)+(i-p)/(f-p),1)));else if(4===m)f===p?l=0:(l=t(0,e(.5/(f-p)+(i-p)/(f-p),1)))<.5?l*=2:l=1-2*(l-.5),l=h(l);else if(5===m){if(f===p)l=0;else{var c=f-p,d=-c/2+(i=e(t(0,i+.5-p),f-p)),u=c/2;l=Math.sqrt(1-d*d/(u*u))}l=h(l)}else 6===m?(f===p?l=0:(i=e(t(0,i+.5-p),f-p),l=(1+Math.cos(Math.PI+2*Math.PI*i/(f-p)))/2),l=h(l)):(i>=r(p)&&(l=t(0,e(i-p<0?e(f,1)-(p-i):f-i,1))),l=h(l));if(100!==this.sm.v){var y=.01*this.sm.v;0===y&&(y=1e-8);var g=.5-.5*y;l1&&(l=1)}return l*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,r=this.o.v/e,i=this.s.v/e+r,s=this.e.v/e+r;if(i>s){var a=i;i=s,s=a}this.finalS=i,this.finalE=s}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(t,e,r){return new i(t,e,r)}}}();function TextAnimatorDataProperty(t,e,r){var i={propType:!1},s=PropertyFactory.getProp,a=e.a;this.a={r:a.r?s(t,a.r,0,degToRads,r):i,rx:a.rx?s(t,a.rx,0,degToRads,r):i,ry:a.ry?s(t,a.ry,0,degToRads,r):i,sk:a.sk?s(t,a.sk,0,degToRads,r):i,sa:a.sa?s(t,a.sa,0,degToRads,r):i,s:a.s?s(t,a.s,1,.01,r):i,a:a.a?s(t,a.a,1,0,r):i,o:a.o?s(t,a.o,0,.01,r):i,p:a.p?s(t,a.p,1,0,r):i,sw:a.sw?s(t,a.sw,0,0,r):i,sc:a.sc?s(t,a.sc,1,0,r):i,fc:a.fc?s(t,a.fc,1,0,r):i,fh:a.fh?s(t,a.fh,0,0,r):i,fs:a.fs?s(t,a.fs,0,.01,r):i,fb:a.fb?s(t,a.fb,0,.01,r):i,t:a.t?s(t,a.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(t,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=r,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,r=this._textData.a.length,i=PropertyFactory.getProp;for(t=0;t=o+ot||!d?(v=(o+ot-l)/h.partialLength,z=c.point[0]+(h.point[0]-c.point[0])*v,G=c.point[1]+(h.point[1]-c.point[1])*v,_.translate(-x[0]*M[s].an*.005,-x[1]*V*.01),p=!1):d&&(l+=h.partialLength,(f+=1)>=d.length&&(f=0,u[m+=1]?d=u[m].points:P.v.c?(f=0,d=u[m=0].points):(l-=h.partialLength,d=null)),d&&(c=h,y=(h=d[f]).partialLength));L=M[s].an/2-M[s].add,_.translate(-L,0,0)}else L=M[s].an/2-M[s].add,_.translate(-L,0,0),_.translate(-x[0]*M[s].an*.005,-x[1]*V*.01,0);for(F=0;Ft?this.textSpans[t].span:createNS(h?"g":"text"),y<=t){if(n.setAttribute("stroke-linecap","butt"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=n,h){var g=createNS("g");n.appendChild(g),this.textSpans[t].childSpan=g}this.textSpans[t].span=n,this.layerElement.appendChild(n)}n.style.display="inherit"}if(l.reset(),p&&(o[t].n&&(f=-d,m+=r.yOffset,m+=c?1:0,c=!1),this.applyTextPropertiesToMatrix(r,l,o[t].line,f,m),f+=o[t].l||0,f+=d),h){var v;if(1===(u=this.globalData.fontManager.getCharData(r.finalText[t],i.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily)).t)v=new SVGCompElement(u.data,this.globalData,this);else{var b=emptyShapeData;u.data&&u.data.shapes&&(b=this.buildShapeData(u.data,r.finalSize)),v=new SVGShapeElement(b,this.globalData,this)}if(this.textSpans[t].glyph){var P=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(P.layerElement),P.destroy()}this.textSpans[t].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[t].childSpan.appendChild(v.layerElement),1===u.t&&this.textSpans[t].childSpan.setAttribute("transform","scale("+r.finalSize/100+","+r.finalSize/100+")")}else p&&n.setAttribute("transform","translate("+l.props[12]+","+l.props[13]+")"),n.textContent=o[t].val,n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}p&&n&&n.setAttribute("d","")}else{var x=this.textContainer,E="start";switch(r.j){case 1:E="end";break;case 2:E="middle";break;default:E="start"}x.setAttribute("text-anchor",E),x.setAttribute("letter-spacing",d);var S=this.buildTextContents(r.finalText);for(e=S.length,m=r.ps?r.ps[1]+r.ascent:0,t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)r=t.transforms[i].transform.mProps.v.props,t.finalTransform.transform(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]);t._mdf=a},processSequences:function(t){var e,r=this.sequenceList.length;for(e=0;e=0;a-=1){if((h=this.searchProcessedElement(t[a]))?e[a]=r[h-1]:t[a]._shouldRender=i,"fl"===t[a].ty||"st"===t[a].ty||"gf"===t[a].ty||"gs"===t[a].ty)h?e[a].style.closed=!1:e[a]=this.createStyleElement(t[a],d),m.push(e[a].style);else if("gr"===t[a].ty){if(h)for(o=e[a].it.length,n=0;n=0;s-=1)"tr"===e[s].ty?(a=r[s].transform,this.renderShapeTransform(t,a)):"sh"===e[s].ty||"el"===e[s].ty||"rc"===e[s].ty||"sr"===e[s].ty?this.renderPath(e[s],r[s]):"fl"===e[s].ty?this.renderFill(e[s],r[s],a):"st"===e[s].ty?this.renderStroke(e[s],r[s],a):"gf"===e[s].ty||"gs"===e[s].ty?this.renderGradientFill(e[s],r[s],a):"gr"===e[s].ty?this.renderShape(a,e[s].it,r[s].it):e[s].ty;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var r,i,s,a=t.trNodes,n=e.paths,o=n._length;a.length=0;var h=t.transforms.finalTransform;for(s=0;s=1?f=.99:f<=-1&&(f=-.99);var m=l*f,c=Math.cos(p+e.a.v)*m+o[0],d=Math.sin(p+e.a.v)*m+o[1];i=n.createRadialGradient(c,d,0,o[0],o[1],l)}var u=t.g.p,y=e.g.c,g=1;for(a=0;ao&&"xMidYMid slice"===h||ns&&"meet"===o||as&&"slice"===o)?(r-this.transformCanvas.w*(i/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===l&&(as&&"slice"===o)?(r-this.transformCanvas.w*(i/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===p&&(a>s&&"meet"===o||as&&"meet"===o||a=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){var r;this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i=this.layers.length;for(this.completeLayers||this.checkLayers(t),r=0;r=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){var r=this.createItem(this.layers[t],this,this.globalData);e[t]=r,r.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var t,e=this.canvasContext;for(e.beginPath(),e.moveTo(0,0),e.lineTo(this.data.w,0),e.lineTo(this.data.w,this.data.h),e.lineTo(0,this.data.h),e.lineTo(0,0),e.clip(),t=this.layers.length-1;t>=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},CVCompElement.prototype.destroy=function(){var t;for(t=this.layers.length-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var t;this.data.hasMask?((t=createNS("rect")).setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((t=createTag("div")).style.width=this.data.sw+"px",t.style.height=this.data.sh+"px",t.style.backgroundColor=this.data.sc),this.layerElement.appendChild(t)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else{t=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute("width",e.w),t.setAttribute("height",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t},HShapeElement.prototype.getTransformedPoint=function(t,e){var r,i=t.length;for(r=0;r0&&o<1&&f[m].push(this.calculateF(o,t,e,r,i,m)):(h=a*a-4*n*s)>=0&&((l=(-a+bmSqrt(h))/(2*s))>0&&l<1&&f[m].push(this.calculateF(l,t,e,r,i,m)),(p=(-a-bmSqrt(h))/(2*s))>0&&p<1&&f[m].push(this.calculateF(p,t,e,r,i,m))));this.shapeBoundingBox.left=bmMin.apply(null,f[0]),this.shapeBoundingBox.top=bmMin.apply(null,f[1]),this.shapeBoundingBox.right=bmMax.apply(null,f[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,f[1])},HShapeElement.prototype.calculateF=function(t,e,r,i,s,a){return bmPow(1-t,3)*e[a]+3*bmPow(1-t,2)*t*r[a]+3*(1-t)*bmPow(t,2)*i[a]+bmPow(t,3)*s[a]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var r,i=t.length;for(r=0;rr&&(r=s)}r*=t.mult}else r=t.v*t.mult;e.x-=r,e.xMax+=r,e.y-=r,e.yMax+=r},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;t-=1){var i=this.hierarchy[t].finalTransform.mProp;this.mat.translate(-i.p.v[0],-i.p.v[1],i.p.v[2]),this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),this.mat.scale(1/i.s.v[0],1/i.s.v[1],1/i.s.v[2]),this.mat.translate(i.a.v[0],i.a.v[1],i.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var s;s=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(s[0],2)+Math.pow(s[1],2)+Math.pow(s[2],2)),n=[s[0]/a,s[1]/a,s[2]/a],o=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],o),l=Math.atan2(n[0],-n[2]);this.mat.rotateY(l).rotateX(-h)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var p=!this._prevMat.equals(this.mat);if((p||this.pe._mdf)&&this.comp.threeDElements){var f,m,c;for(e=this.comp.threeDElements.length,t=0;t=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var r,i,s=createTag("div");styleDiv(s);var a=createTag("div");if(styleDiv(a),"3d"===e){(r=s.style).width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";var n="50% 50%";r.webkitTransformOrigin=n,r.mozTransformOrigin=n,r.transformOrigin=n;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(i=a.style).transform=o,i.webkitTransform=o}s.appendChild(a);var h={container:a,perspectiveElem:s,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRendererBase.prototype.build3dContainers=function(){var t,e,r=this.layers.length,i="";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var r=0,i=this.threeDElements.length;rn?(t=s/this.globalData.compSize.w,e=s/this.globalData.compSize.w,r=0,i=(a-this.globalData.compSize.h*(s/this.globalData.compSize.w))/2):(t=a/this.globalData.compSize.h,e=a/this.globalData.compSize.h,r=(s-this.globalData.compSize.w*(a/this.globalData.compSize.h))/2,i=0);var o=this.resizerElem.style;o.webkitTransform="matrix3d("+t+",0,0,0,0,"+e+",0,0,0,0,1,0,"+r+","+i+",0,1)",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,r=this.globalData.compSize.h,i=this.threeDElements.length;for(t=0;t=o;)t/=2,e/=2,r>>>=1;return(t+r)/e};return b.int32=function(){return 0|v.g(4)},b.quick=function(){return v.g(4)/4294967296},b.double=b,m(c(v.S),t),(d.pass||u||function(t,r,i,s){return s&&(s.S&&p(s,v),t.state=function(){return p(v,{})}),i?(e.random=t,r):t})(b,g,"global"in d?d.global:this==e,d.state)},m(e.random(),t)}function initialize$2(t){seedRandom([],t)}var propTypes={SHAPE:"shape"};function _typeof(t){return _typeof="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},_typeof(t)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===t||e instanceof Number}function $bm_neg(t){var e=_typeof(t);if("number"===e||"boolean"===e||t instanceof Number)return-t;if($bm_isInstanceOfArray(t)){var r,i=t.length,s=[];for(r=0;rr){var i=r;r=e,e=i}return Math.min(Math.max(t,e),r)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if("number"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var r;e||(e=helperLengthArray);var i=Math.min(t.length,e.length),s=0;for(r=0;r.5?l/(2-n-o):l/(n+o),n){case i:e=(s-a)/l+(s1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function hslToRgb(t){var e,r,i,s=t[0],a=t[1],n=t[2];if(0===a)e=n,i=n,r=n;else{var o=n<.5?n*(1+a):n+a-n*a,h=2*n-o;e=hue2rgb(h,o,s+1/3),r=hue2rgb(h,o,s),i=hue2rgb(h,o,s-1/3)}return[e,r,i,t[3]]}function linear(t,e,r,i,s){if(void 0!==i&&void 0!==s||(i=e,s=r,e=0,r=1),r=r)return s;var n,o=r===e?0:(t-e)/(r-e);if(!i.length)return i+(s-i)*o;var h=i.length,l=createTypedArray("float32",h);for(n=0;n1){for(i=0;i1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(s)){var o,h=s.length,l=createTypedArray("float32",h);for(o=0;odata.k[e].t&&tdata.k[e+1].t-t?(r=e+2,i=data.k[e+1].t):(r=e+1,i=data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else r=0,i=0;var a={};return a.index=r,a.time=i/elem.comp.globalData.frameRate,a}function key(t){var e,r,i;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var s=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(i=s.length,r=0;rl.length-1)&&(e=l.length-1),i=p-(s=l[l.length-1-e].t)),"pingpong"===t){if(Math.floor((h-s)/i)%2!=0)return this.getValueAtTime((i-(h-s)%i+s)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var f=this.getValueAtTime(s/this.comp.globalData.frameRate,0),m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),c=this.getValueAtTime(((h-s)%i+s)/this.comp.globalData.frameRate,0),d=Math.floor((h-s)/i);if(this.pv.length){for(n=(o=new Array(f.length)).length,a=0;a=p)return this.pv;if(r?s=p+(i=e?Math.abs(this.elem.comp.globalData.frameRate*e):Math.max(0,this.elem.data.op-p)):((!e||e>l.length-1)&&(e=l.length-1),i=(s=l[e].t)-p),"pingpong"===t){if(Math.floor((p-h)/i)%2==0)return this.getValueAtTime(((p-h)%i+p)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),m=this.getValueAtTime(s/this.comp.globalData.frameRate,0),c=this.getValueAtTime((i-(p-h)%i+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-h)/i)+1;if(this.pv.length){for(n=(o=new Array(f.length)).length,a=0;a1?(s+t-a)/(e-1):1,o=0,h=0;for(r=this.pv.length?createTypedArray("float32",this.pv.length):0;on){var p=o,f=r.c&&o===h-1?0:o+1,m=(n-l)/a[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[f],r.o[p],r.i[f],m,a[o]);break}l+=a[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),s=this.pointOnPath(t+.001,e),a=s[0]-i[0],n=s[1]-i[1],o=Math.sqrt(Math.pow(a,2)+Math.pow(n,2));return 0===o?[0,0]:"tangent"===r?[a/o,n/o]:[-n/o,a/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,"tangent")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([l],o),extendPrototype([l],h),h.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime=l?c<0?i:s:i+m*Math.pow((a-t)/c,1/r),p[f]=n,f+=1,o+=256/255;return p.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(t||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute("tableValues",e))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,s=r*Math.cos(i),a=r*Math.sin(i);this.feOffset.setAttribute("dx",s),this.feOffset.setAttribute("dy",a)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=r,r.matteElement=createNS("g"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}function SVGGaussianBlurEffect(t,e,r,i){t.setAttribute("x","-100%"),t.setAttribute("y","-100%"),t.setAttribute("width","300%"),t.setAttribute("height","300%"),this.filterManager=e;var s=createNS("feGaussianBlur");s.setAttribute("result",i),t.appendChild(s),this.feGaussianBlur=s}return SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,r=_svgMatteSymbols.length;e Date: Sun, 8 Jan 2023 21:04:28 +0800 Subject: [PATCH 16/36] upd: json crack --- .../04-jsoncrack/data.json" | 3 + .../04-jsoncrack/index.html" | 133 + .../jsoncrack.com-2.5.0/.env.development" | 3 + .../jsoncrack.com-2.5.0/.env.production" | 3 + .../jsoncrack.com-2.5.0/.eslintrc.json" | 15 + .../jsoncrack.com-2.5.0/.github/FUNDING.yml" | 13 + .../.github/ISSUE_TEMPLATE/bug_report.yml" | 49 + .../ISSUE_TEMPLATE/feature_request.yml" | 22 + .../jsoncrack.com-2.5.0/.gitignore" | 42 + .../04-jsoncrack/jsoncrack.com-2.5.0/.npmrc" | 1 + .../jsoncrack.com-2.5.0/.prettierignore" | 7 + .../jsoncrack.com-2.5.0/.prettierrc" | 17 + .../jsoncrack.com-2.5.0/.travis.yml" | 21 + .../.vscode/settings.json" | 3 + .../jsoncrack.com-2.5.0/CODE_OF_CONDUCT.md" | 133 + .../jsoncrack.com-2.5.0/CONTRIBUTING.md" | 80 + .../jsoncrack.com-2.5.0/Dockerfile" | 11 + .../04-jsoncrack/jsoncrack.com-2.5.0/LICENSE" | 674 ++ .../jsoncrack.com-2.5.0/README.md" | 58 + .../jsoncrack.com-2.5.0/default.conf" | 9 + .../jsoncrack.com-2.5.0/jest.config.ts" | 17 + .../jsoncrack.com-2.5.0/jest.setup.ts" | 5 + .../jsoncrack.com-2.5.0/next-env.d.ts" | 5 + .../jsoncrack.com-2.5.0/next.config.js" | 15 + .../jsoncrack.com-2.5.0/package-lock.json" | 6930 +++++++++++++++++ .../jsoncrack.com-2.5.0/package.json" | 62 + .../jsoncrack.com-2.5.0/public/.nojekyll" | 0 .../jsoncrack.com-2.5.0/public/CNAME" | 1 + .../public/assets/192.png" | Bin 0 -> 32289 bytes .../public/assets/404.svg" | 1 + .../public/assets/512.png" | Bin 0 -> 209712 bytes .../public/assets/Mona-Sans.woff2" | Bin 0 -> 133748 bytes .../public/assets/icon.png" | Bin 0 -> 45315 bytes .../public/assets/jsoncrack-screenshot.webp" | Bin 0 -> 161356 bytes .../public/assets/jsoncrack.png" | Bin 0 -> 367361 bytes .../assets/undraw_qa_engineers_dg-5-p.svg" | 1 + .../jsoncrack.com-2.5.0/public/favicon.ico" | Bin 0 -> 9662 bytes .../jsoncrack.com-2.5.0/public/manifest.json" | 24 + .../jsoncrack.com-2.5.0/public/robots.txt" | 4 + .../jsoncrack.com-2.5.0/src/api/altogic.ts" | 13 + .../src/components/Button/index.tsx" | 100 + .../src/components/CarbonAds/index.tsx" | 86 + .../src/components/CustomNode/ObjectNode.tsx" | 36 + .../src/components/CustomNode/TextNode.tsx" | 113 + .../src/components/CustomNode/index.tsx" | 36 + .../src/components/CustomNode/styles.tsx" | 99 + .../src/components/ErrorContainer/index.tsx" | 61 + .../src/components/Footer/index.tsx" | 84 + .../src/components/GoogleAnalytics/index.tsx" | 26 + .../src/components/Graph/ErrorView.tsx" | 37 + .../src/components/Graph/index.tsx" | 147 + .../src/components/Input/index.tsx" | 19 + .../src/components/Loading/index.tsx" | 63 + .../src/components/Modal/index.tsx" | 76 + .../src/components/Modal/styles.tsx" | 68 + .../src/components/MonacoEditor/index.tsx" | 104 + .../src/components/Producthunt/index.tsx" | 33 + .../src/components/SearchInput/index.tsx" | 84 + .../src/components/SeoTags/index.tsx" | 28 + .../src/components/Sidebar/index.tsx" | 278 + .../src/components/Spinner/index.tsx" | 28 + .../src/components/Sponsors/index.tsx" | 94 + .../src/components/SupportButton/index.tsx" | 53 + .../src/components/Toggle/index.tsx" | 65 + .../src/components/Tooltip/index.tsx" | 63 + .../src/components/__tests__/Button.test.tsx" | 10 + .../src/constants/data.ts" | 38 + .../src/constants/globalStyle.ts" | 157 + .../src/constants/theme.ts" | 104 + .../src/containers/Editor/BottomBar.tsx" | 184 + .../containers/Editor/JsonEditor/index.tsx" | 20 + .../Editor/LiveEditor/GraphCanvas.tsx" | 43 + .../containers/Editor/LiveEditor/index.tsx" | 20 + .../src/containers/Editor/Panes.tsx" | 45 + .../src/containers/Editor/Tools.tsx" | 81 + .../src/containers/Home/index.tsx" | 295 + .../src/containers/Home/styles.tsx" | 394 + .../src/containers/ModalController/index.tsx" | 51 + .../containers/Modals/AccountModal/index.tsx" | 143 + .../containers/Modals/ClearModal/index.tsx" | 33 + .../containers/Modals/CloudModal/index.tsx" | 270 + .../Modals/DownloadModal/index.tsx" | 199 + .../containers/Modals/ImportModal/index.tsx" | 109 + .../containers/Modals/LoginModal/index.tsx" | 26 + .../containers/Modals/NodeModal/index.tsx" | 60 + .../Modals/SettingsModal/index.tsx" | 64 + .../containers/Modals/ShareModal/index.tsx" | 72 + .../src/containers/PricingCards/index.tsx" | 128 + .../src/hooks/useFocusNode.tsx" | 64 + .../src/hooks/useHideNodes.tsx" | 33 + .../src/hooks/useKeyPress.tsx" | 25 + .../jsoncrack.com-2.5.0/src/pages/_app.tsx" | 64 + .../src/pages/_document.tsx" | 34 + .../jsoncrack.com-2.5.0/src/pages/_error.tsx" | 51 + .../jsoncrack.com-2.5.0/src/pages/docs.tsx" | 186 + .../jsoncrack.com-2.5.0/src/pages/editor.tsx" | 65 + .../jsoncrack.com-2.5.0/src/pages/index.tsx" | 8 + .../src/pages/pricing.tsx" | 35 + .../jsoncrack.com-2.5.0/src/pages/widget.tsx" | 92 + .../src/services/db/json.tsx" | 35 + .../src/store/useGraph.tsx" | 178 + .../src/store/useJson.tsx" | 105 + .../src/store/useModal.tsx" | 38 + .../src/store/useStored.tsx" | 66 + .../src/store/useUser.tsx" | 59 + .../src/typings/altogic.ts" | 56 + .../src/typings/styled.d.ts" | 8 + .../src/typings/types.d.ts" | 33 + .../src/utils/getChildrenEdges.ts" | 7 + .../src/utils/getNextDirection.ts" | 15 + .../src/utils/getOutgoers.ts" | 28 + .../src/utils/jsonParser.ts" | 336 + .../jsoncrack.com-2.5.0/src/utils/search.ts" | 20 + .../jsoncrack.com-2.5.0/tsconfig.json" | 22 + .../jsoncrack.com-2.5.0/yarn.lock" | 5554 +++++++++++++ 115 files changed, 20019 insertions(+) create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/data.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/index.html" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.development" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.production" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.eslintrc.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/FUNDING.yml" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/bug_report.yml" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/feature_request.yml" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.gitignore" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.npmrc" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierignore" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierrc" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.travis.yml" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.vscode/settings.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CODE_OF_CONDUCT.md" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CONTRIBUTING.md" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/Dockerfile" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/LICENSE" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/README.md" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/default.conf" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.config.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.setup.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next-env.d.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next.config.js" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package-lock.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/.nojekyll" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/CNAME" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/192.png" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/404.svg" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/512.png" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/Mona-Sans.woff2" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/icon.png" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/jsoncrack-screenshot.webp" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/jsoncrack.png" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/undraw_qa_engineers_dg-5-p.svg" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/favicon.ico" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/manifest.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/robots.txt" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/api/altogic.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Button/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CarbonAds/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CustomNode/ObjectNode.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CustomNode/TextNode.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CustomNode/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CustomNode/styles.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/ErrorContainer/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Footer/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/GoogleAnalytics/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/ErrorView.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Input/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Loading/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/styles.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/MonacoEditor/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Producthunt/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SearchInput/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SeoTags/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sidebar/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Spinner/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sponsors/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SupportButton/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Toggle/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Tooltip/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/__tests__/Button.test.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/data.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/globalStyle.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/theme.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/BottomBar.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/JsonEditor/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/GraphCanvas.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Panes.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Tools.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Home/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Home/styles.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/ModalController/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/AccountModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/ClearModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/CloudModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/DownloadModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/ImportModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/LoginModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/NodeModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/SettingsModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Modals/ShareModal/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/PricingCards/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/hooks/useFocusNode.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/hooks/useHideNodes.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/hooks/useKeyPress.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/_app.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/_document.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/_error.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/docs.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/editor.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/index.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/pricing.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/pages/widget.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/services/db/json.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/store/useGraph.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/store/useJson.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/store/useModal.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/store/useStored.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/store/useUser.tsx" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/typings/altogic.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/typings/styled.d.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/typings/types.d.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/utils/getChildrenEdges.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/utils/getNextDirection.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/utils/getOutgoers.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/utils/jsonParser.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/utils/search.ts" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/tsconfig.json" create mode 100644 "15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/yarn.lock" diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/data.json" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/data.json" new file mode 100644 index 000000000..4b6bded86 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/data.json" @@ -0,0 +1,3 @@ +{ + "name": "victorsun" +} \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/index.html" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/index.html" new file mode 100644 index 000000000..439d6892d --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/index.html" @@ -0,0 +1,133 @@ + + + + + + + json crack demo + + + +
json crack demo
+
+
+
请输入json
+ +
+
+
    +
  • 1. jsoncrack 独立部署在本地 http://127.0.0.1:5501 下,注意修改,build 后的代码在 jsoncrack.com-2.5.0/out/ 下,不建议使用官方的 jsoncrack.com,有点慢
  • +
  • 2. 源码基于 react,在 jsoncrack.com-2.5.0 下,修改后需要打包
  • +
  • 3. [不推荐] 方式1:使用load事件载入json
  • +
  • 4. [推荐] 方式2:通过get参数传入json,注意替换数据源 https://cdn.jsdelivr.net/gh/csxiaoyaojianxian/ImageHosting@0.0.2/json/test.json
  • +
  • 5. [强烈推荐] 方式3:通过api发送json
  • +
+
+ +
+
+ + + +
+
+
+ +
+ + \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.development" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.development" new file mode 100644 index 000000000..ced98e370 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.development" @@ -0,0 +1,3 @@ +NEXT_PUBLIC_BASE_URL=http://localhost:3000 +NEXT_PUBLIC_ALTOGIC_ENV_URL=https://jsoncrack.c5-na.altogic.com +NEXT_PUBLIC_ALTOGIC_CLIENT_KEY=f1e92022789f4ccf91273a345ab2bdf8 \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.production" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.production" new file mode 100644 index 000000000..4ddc3e1ce --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.env.production" @@ -0,0 +1,3 @@ +NEXT_PUBLIC_BASE_URL=https://jsoncrack.com +NEXT_PUBLIC_ALTOGIC_ENV_URL=https://jsoncrack.c5-na.altogic.com +NEXT_PUBLIC_ALTOGIC_CLIENT_KEY=f1e92022789f4ccf91273a345ab2bdf8 \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.eslintrc.json" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.eslintrc.json" new file mode 100644 index 000000000..271ea01f5 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.eslintrc.json" @@ -0,0 +1,15 @@ +{ + "rules": { + "@next/next/no-img-element": "off", + "unused-imports/no-unused-imports": "error" + }, + "extends": ["next/core-web-vitals"], + "plugins": ["testing-library", "unused-imports"], + "overrides": [ + // Only uses Testing Library lint rules in test files + { + "files": ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"], + "extends": ["plugin:testing-library/react"] + } + ] +} diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/FUNDING.yml" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/FUNDING.yml" new file mode 100644 index 000000000..ddfdf3afe --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/FUNDING.yml" @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: AykutSarac +patreon: # patreon name +open_collective: # opencollective name +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/bug_report.yml" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/bug_report.yml" new file mode 100644 index 000000000..1f67d2951 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/bug_report.yml" @@ -0,0 +1,49 @@ +name: Bug report +description: Create a report to help us improve +title: "[BUG]: " +labels: bug +assignees: AykutSarac +body: + - type: textarea + id: description + attributes: + label: Issue description + description: | + Describe the issue in as much detail as possible. + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files into it. + placeholder: | + Steps to reproduce with below code sample: + 1. do thing + 2. click... + 3. observe behavior + 4. see error logs below + validations: + required: true + - type: textarea + id: media + attributes: + label: Media & Screenshots + description: Inlude screenshots or video of reproduction as much as possible + render: md + - type: textarea + id: os + attributes: + label: Operating system + description: Which OS does your application run on? + value: | + - OS: [e.g. iOS]: + - Browser [e.g. chrome, safari]: + + - Any other details... + - type: dropdown + id: priority + attributes: + label: Priority this issue should have + description: Please be realistic. If you need to elaborate on your reasoning, please use the Issue description field above. + options: + - Low (slightly annoying) + - Medium (should be fixed soon) + - High (immediate attention needed) + validations: + required: true diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/feature_request.yml" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/feature_request.yml" new file mode 100644 index 000000000..08ef11f2c --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.github/ISSUE_TEMPLATE/feature_request.yml" @@ -0,0 +1,22 @@ +name: Feature request +description: Request a new feature +labels: [feature] +body: + - type: textarea + id: description + attributes: + label: Feature + description: A clear and concise description of what the problem is, or what feature you want to be implemented. + placeholder: I'm always frustrated when..., Discord has recently released..., A good addition would be... + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternative solutions or implementations + description: A clear and concise description of any alternative solutions or features you have considered. + - type: textarea + id: additional-context + attributes: + label: Other context + description: Any other context, screenshots, or file uploads that help us understand your feature request. diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.gitignore" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.gitignore" new file mode 100644 index 000000000..e1ae6ba82 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.gitignore" @@ -0,0 +1,42 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo + +# PWA workers +**/public/workbox-*.js +**/public/sw.js +**/public/fallback-*.js \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.npmrc" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.npmrc" new file mode 100644 index 000000000..e9ee3cb4d --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.npmrc" @@ -0,0 +1 @@ +legacy-peer-deps=true \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierignore" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierignore" new file mode 100644 index 000000000..3501bb3ac --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierignore" @@ -0,0 +1,7 @@ +.github +.next +node_modules/ +out +public +*-lock.json +tsconfig.json diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierrc" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierrc" new file mode 100644 index 000000000..2e798406c --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.prettierrc" @@ -0,0 +1,17 @@ +{ + "trailingComma": "es5", + "singleQuote": false, + "semi": true, + "printWidth": 100, + "arrowParens": "avoid", + "importOrder": [ + "^(react/(.*)$)|^(react$)", + "^(next/(.*)$)|^(next$)", + "", + "^components/(.*)$", + "^utils/(.*)$", + "^assets/(.*)$", + "^[./]" + ], + "importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"] +} diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.travis.yml" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.travis.yml" new file mode 100644 index 000000000..8a18652eb --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.travis.yml" @@ -0,0 +1,21 @@ +language: node_js +node_js: + - "14" +branches: + only: + - main +cache: + directories: + - node_modules +script: + - npm run lint + - npm run build +deploy: + provider: pages + skip_cleanup: true + local_dir: out + token: $GITHUB_TOKEN + target_branch: gh-pages + keep_history: true + on: + branch: main diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.vscode/settings.json" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.vscode/settings.json" new file mode 100644 index 000000000..aef844305 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/.vscode/settings.json" @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CODE_OF_CONDUCT.md" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CODE_OF_CONDUCT.md" new file mode 100644 index 000000000..7ea5321f1 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CODE_OF_CONDUCT.md" @@ -0,0 +1,133 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +opensource@github.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CONTRIBUTING.md" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CONTRIBUTING.md" new file mode 100644 index 000000000..d49766418 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/CONTRIBUTING.md" @@ -0,0 +1,80 @@ +# Welcome to the JSON Crack contributing guide + +Thank you for investing your time in contributing to our project! Any contribution you make will be reflected at [jsoncrack.com](https://jsoncrack.com). + +Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. + +In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. + +Use the table of contents icon on the top left corner of this document to get to a specific section of this guide quickly. + +## New contributor guide + +To get an overview of the project, read the [README](README.md). Here are some resources to help you get started with open source contributions: + +- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) +- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) +- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) +- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) + +## Getting started + +Join the [Discord channel](https://discord.gg/yVyTtCRueq). If you have questions or feedback, this is the best place to reach the team and other contributors directly. + +### Issues + +#### Create a new issue + +If you spot a problem, [search if an issue already exists](https://github.com/AykutSarac/jsoncrack.com/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/AykutSarac/jsoncrack.com/issues/new/choose). + +#### Solve an issue + +Scan through our [existing issues](https://github.com/AykutSarac/jsoncrack.com/issues) to find one that interests you. You can narrow down the search using `labels` as filters. See [Labels](/contributing/how-to-use-labels.md) for more information. If you find an issue to work on, you are welcome to open a PR with a fix. + +### Make Changes + +#### Make changes locally + +1. [Install Git LFS](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage). + +2. Fork the repository. + +- Using GitHub Desktop: + + - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. + - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! + +- Using the command line: + + - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. + +- GitHub Codespaces: + - [Fork, edit, and preview](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/creating-a-codespace) using [GitHub Codespaces](https://github.com/features/codespaces) without having to install and run the project locally. + +3. Install or update to **Node.js v16**. + +4. Create a working branch and start with your changes! + +5. Follow the [the development guide](guides/development.md). + +### Commit your update + +Commit the changes once you are happy with them. + +### Pull Request + +When you're finished with the changes, create a pull request, also known as a PR. + +- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. +- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. +- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. + Once you submit your PR, a team member will review your proposal. We may ask questions or request for additional information. +- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. +- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). +- If you run into any merge issues, checkout this [git tutorial](https://lab.github.com/githubtraining/managing-merge-conflicts) to help you resolve merge conflicts and other issues. + +### Your PR is merged! + +Congratulations :tada::tada: The JSON Crack team thanks you :sparkles:. + +Once your PR is merged, your contributions will become part of the next JSON Crack release, and will be visible in the [JSON Crack app](https://jsoncrack.com). \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/Dockerfile" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/Dockerfile" new file mode 100644 index 000000000..943ed4044 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/Dockerfile" @@ -0,0 +1,11 @@ +# Builder +FROM node:14-buster as builder +WORKDIR /src +COPY . /src +RUN yarn install --legacy-peer-deps +RUN yarn run build + +# App +FROM nginxinc/nginx-unprivileged +COPY --from=builder /src/out /app +COPY default.conf /etc/nginx/conf.d/default.conf diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/LICENSE" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/LICENSE" new file mode 100644 index 000000000..f288702d2 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/LICENSE" @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/README.md" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/README.md" new file mode 100644 index 000000000..e27d370c1 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/README.md" @@ -0,0 +1,58 @@ +
+ + jsoncrack + +

“Explore, analyze and understand even most complex JSON structures.”
Unlock the full potentiel of your data.

+

+ JSON Crack - Simple visualization tool for your JSON data. | Product Hunt + +
+ +

+
+ +

+ preview 1 +

+ +# JSON Crack (jsoncrack.com) + +Introducing JSON Crack – the open-source, free JSON visualization app that will revolutionize the way you work with data. With its intuitive and user-friendly interface, JSON Crack makes it easy to explore, analyze, and understand even the most complex JSON structures. Whether you're a developer working on a large-scale project or a data enthusiast looking to uncover hidden insights, JSON Crack has the tools and features you need to unlock the full potential of your data. Best of all, because JSON Crack is open-source and free, you can use it without breaking the bank. Try JSON Crack today and experience the power of data visualization like never before. + +> JSON Crack - Crack your data into pieces + +## ⚡️ Key Features + +- Search Nodes +- Share links & Create Embed Widgets +- Download/Clipboard as image +- Upload JSON locally or fetch from URL +- User-friendly Interface +- Light/Dark Mode + +## ⭐️ Embedding Into Your Website + +You can use the JSON Crack to visualize your JSON **at your products or websites**, see our very simple guide: https://jsoncrack.com/embed +You can choose to **[partner us](https://github.com/sponsors/AykutSarac)** to remove attribute for your commercial products. + +Screenshot_2022-12-08_at_11 46 02-removebg-preview + +## 🛠 Development Setup + +```console + npm install + npm run dev +``` + +## 🐳 Docker + +A [`Dockerfile`](Dockerfile) is provided in the root of the repository. +If you want to run JSON Crack locally: + +* Build a Docker image with `docker build -t jsoncrack .` +* Run locally with `docker run -p 8888:8080 jsoncrack` +* Go to http://localhost:8888 + +## License + +This project is open source and available under the [GNU General Public License v3.0](LICENSE). diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/default.conf" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/default.conf" new file mode 100644 index 000000000..c97e20552 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/default.conf" @@ -0,0 +1,9 @@ +server { + listen 8080; + root /app; + include /etc/nginx/mime.types; + + location /editor { + try_files $uri /editor.html; + } +} diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.config.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.config.ts" new file mode 100644 index 000000000..9c0578a54 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.config.ts" @@ -0,0 +1,17 @@ +import nextJest from "next/jest"; + +const createJestConfig = nextJest({ + // Provide the path to your Next.js app to load next.config.js and .env files in your test environment + dir: "./", +}); + +// Add any custom config to be passed to Jest +const customJestConfig = { + setupFilesAfterEnv: ["/jest.setup.ts"], + testEnvironment: "jsdom", + moduleDirectories: ["node_modules", "src"], + modulePaths: [""], +}; + +// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async +module.exports = createJestConfig(customJestConfig); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.setup.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.setup.ts" new file mode 100644 index 000000000..80dd160db --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/jest.setup.ts" @@ -0,0 +1,5 @@ +// Optional: configure or set up a testing framework before each test. +// If you delete this file, remove `setupFilesAfterEnv` from `jest.config.js` +// Used for __tests__/testing-library.js +// Learn more: https://github.com/testing-library/jest-dom +import "@testing-library/jest-dom/extend-expect"; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next-env.d.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next-env.d.ts" new file mode 100644 index 000000000..4f11a03dc --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next-env.d.ts" @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next.config.js" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next.config.js" new file mode 100644 index 000000000..dc95f9091 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/next.config.js" @@ -0,0 +1,15 @@ +const withPWA = require("next-pwa")({ + dest: "public", + register: true, + disable: process.env.NODE_ENV === "development", + scope: "/editor", +}); + +/** + * @type {import('next').NextConfig} + */ +const nextConfig = { + reactStrictMode: false, +}; + +module.exports = withPWA(nextConfig); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package-lock.json" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package-lock.json" new file mode 100644 index 000000000..4c820be25 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package-lock.json" @@ -0,0 +1,6930 @@ +{ + "name": "json-crack", + "version": "v2.5.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://mirrors.tencent.com/npm/@ampproject%2fremapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fgen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://mirrors.tencent.com/npm/@apideck%2fbetter-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fcode-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fcompat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.17.8", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fcore/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fgenerator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.12", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhelpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fhighlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://mirrors.tencent.com/npm/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://mirrors.tencent.com/npm/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://mirrors.tencent.com/npm/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fparser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fplugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fpreset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fpreset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fruntime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fruntime-corejs3/-/runtime-corejs3-7.20.7.tgz", + "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "dev": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2ftemplate/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.12", + "resolved": "https://mirrors.tencent.com/npm/@babel%2ftraverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2ftypes/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://mirrors.tencent.com/npm/@cspotcode%2fsource-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2ftrace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2fis-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2fmemoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2fstylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2funitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://mirrors.tencent.com/npm/@eslint%2feslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.19.0", + "resolved": "https://mirrors.tencent.com/npm/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.10.7", + "resolved": "https://mirrors.tencent.com/npm/@humanwhocodes%2fconfig-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/@humanwhocodes%2fgitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "dev": true + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/@humanwhocodes%2fmodule-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://mirrors.tencent.com/npm/@humanwhocodes%2fobject-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@icons/material": { + "version": "0.2.4", + "resolved": "https://mirrors.tencent.com/npm/@icons%2fmaterial/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==" + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fgen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fresolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fset-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fsource-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2fsourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://mirrors.tencent.com/npm/@jridgewell%2ftrace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://mirrors.tencent.com/npm/@juggle%2fresize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" + }, + "@monaco-editor/loader": { + "version": "1.3.2", + "resolved": "https://mirrors.tencent.com/npm/@monaco-editor%2floader/-/loader-1.3.2.tgz", + "integrity": "sha512-BTDbpHl3e47r3AAtpfVFTlAi7WXv4UQ/xZmz8atKl4q7epQV5e7+JbigFDViWF71VBi4IIBdcWP57Hj+OWuc9g==", + "requires": { + "state-local": "^1.0.6" + } + }, + "@monaco-editor/react": { + "version": "4.4.6", + "resolved": "https://mirrors.tencent.com/npm/@monaco-editor%2freact/-/react-4.4.6.tgz", + "integrity": "sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA==", + "requires": { + "@monaco-editor/loader": "^1.3.2", + "prop-types": "^15.7.2" + } + }, + "@motionone/animation": { + "version": "10.15.1", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2fanimation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "requires": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/dom": { + "version": "10.15.3", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2fdom/-/dom-10.15.3.tgz", + "integrity": "sha512-FQ7a2zMBXc1UeU8CG9G3yDpst55fbb0+C9A0VGfwOITitBCzigKZnXRgsRSWWR+FW57GSc13eGQxtYB0lKG0Ng==", + "requires": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/easing": { + "version": "10.15.1", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2feasing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "requires": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/generators": { + "version": "10.15.1", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2fgenerators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "requires": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@motionone/types": { + "version": "10.15.1", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2ftypes/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "@motionone/utils": { + "version": "10.15.1", + "resolved": "https://mirrors.tencent.com/npm/@motionone%2futils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "requires": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@next/env": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fenv/-/env-12.3.4.tgz", + "integrity": "sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==" + }, + "@next/eslint-plugin-next": { + "version": "12.3.1", + "resolved": "https://mirrors.tencent.com/npm/@next%2feslint-plugin-next/-/eslint-plugin-next-12.3.1.tgz", + "integrity": "sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==", + "dev": true, + "requires": { + "glob": "7.1.7" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://mirrors.tencent.com/npm/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "@next/swc-android-arm-eabi": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-android-arm-eabi/-/swc-android-arm-eabi-12.3.4.tgz", + "integrity": "sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==", + "optional": true + }, + "@next/swc-android-arm64": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-android-arm64/-/swc-android-arm64-12.3.4.tgz", + "integrity": "sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg==", + "optional": true + }, + "@next/swc-darwin-arm64": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-darwin-arm64/-/swc-darwin-arm64-12.3.4.tgz", + "integrity": "sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA==", + "optional": true + }, + "@next/swc-darwin-x64": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-darwin-x64/-/swc-darwin-x64-12.3.4.tgz", + "integrity": "sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ==", + "optional": true + }, + "@next/swc-freebsd-x64": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-freebsd-x64/-/swc-freebsd-x64-12.3.4.tgz", + "integrity": "sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ==", + "optional": true + }, + "@next/swc-linux-arm-gnueabihf": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.4.tgz", + "integrity": "sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw==", + "optional": true + }, + "@next/swc-linux-arm64-gnu": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.4.tgz", + "integrity": "sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA==", + "optional": true + }, + "@next/swc-linux-arm64-musl": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.4.tgz", + "integrity": "sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ==", + "optional": true + }, + "@next/swc-linux-x64-gnu": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-linux-x64-gnu/-/swc-linux-x64-gnu-12.3.4.tgz", + "integrity": "sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag==", + "optional": true + }, + "@next/swc-linux-x64-musl": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-linux-x64-musl/-/swc-linux-x64-musl-12.3.4.tgz", + "integrity": "sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg==", + "optional": true + }, + "@next/swc-win32-arm64-msvc": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.4.tgz", + "integrity": "sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ==", + "optional": true + }, + "@next/swc-win32-ia32-msvc": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.4.tgz", + "integrity": "sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ==", + "optional": true + }, + "@next/swc-win32-x64-msvc": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/@next%2fswc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.4.tgz", + "integrity": "sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg==", + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://mirrors.tencent.com/npm/@nodelib%2ffs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://mirrors.tencent.com/npm/@nodelib%2ffs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://mirrors.tencent.com/npm/@nodelib%2ffs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@react-oauth/google": { + "version": "0.4.0", + "resolved": "https://mirrors.tencent.com/npm/@react-oauth%2fgoogle/-/google-0.4.0.tgz", + "integrity": "sha512-2QxxrKbXXH8bwHSefB56sBgsKs7Bq3Pvv8tVmGJuINGefECsssIUKidTDm5P55T4CV99sCX/GUfxs3l2Ntxo8Q==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fplugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fpluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fplugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fpluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fplugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fpluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@rollup/plugin-sucrase": { + "version": "4.0.4", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fplugin-sucrase/-/plugin-sucrase-4.0.4.tgz", + "integrity": "sha512-YH4J8yoJb5EVnLhAwWxYAQNh2SJOR+SdZ6XdgoKEv6Kxm33riYkM8MlMaggN87UoISP52qAFyZ5ey56wu6umGg==", + "requires": { + "@rollup/pluginutils": "^4.1.1", + "sucrase": "^3.20.0" + } + }, + "@rollup/plugin-virtual": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fplugin-virtual/-/plugin-virtual-3.0.0.tgz", + "integrity": "sha512-K9KORe1myM62o0lKkNR4MmCxjwuAXsZEtIHpaILfv4kILXTOrXt/R2ha7PzMcCHPYdnkWPiBZK8ed4Zr3Ll5lQ==" + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://mirrors.tencent.com/npm/@rollup%2fpluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/@rushstack%2feslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==", + "dev": true + }, + "@sentry/browser": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fbrowser/-/browser-7.28.1.tgz", + "integrity": "sha512-N8j93IcrWKWorfJ5D+RSKVAvcR4S5tIcZ/HvFPMrQWnfVa/jtJcrKThdjZYteA0wjmPiy8/D3KA8nB91yulBPA==", + "requires": { + "@sentry/core": "7.28.1", + "@sentry/replay": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "tslib": "^1.9.3" + } + }, + "@sentry/cli": { + "version": "1.74.6", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fcli/-/cli-1.74.6.tgz", + "integrity": "sha512-pJ7JJgozyjKZSTjOGi86chIngZMLUlYt2HOog+OJn+WGvqEkVymu8m462j1DiXAnex9NspB4zLLNuZ/R6rTQHg==", + "requires": { + "https-proxy-agent": "^5.0.0", + "mkdirp": "^0.5.5", + "node-fetch": "^2.6.7", + "npmlog": "^4.1.2", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + } + }, + "@sentry/core": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fcore/-/core-7.28.1.tgz", + "integrity": "sha512-7wvnuvn/mrAfcugWoCG/3pqDIrUgH5t+HisMJMGw0h9Tc33KqrmqMDCQVvjlrr2pWrw/vuUCFdm8CbUHJ832oQ==", + "requires": { + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "tslib": "^1.9.3" + } + }, + "@sentry/integrations": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fintegrations/-/integrations-7.28.1.tgz", + "integrity": "sha512-opeXVR1L9mZmZcpAs9kX+4JPY7pXhVupy17Sbz+43zd5CshYTveIcttGNPp+EPT3j7mMU+1TMAYZspKqJXtEBQ==", + "requires": { + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "localforage": "^1.8.1", + "tslib": "^1.9.3" + } + }, + "@sentry/nextjs": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fnextjs/-/nextjs-7.28.1.tgz", + "integrity": "sha512-y2ldKQmLTEMaBk2Z7jBKpNdQVu19b/B0iN2zIXtdmDLDKiJ1v7923YTgDuMFq3aRv9Yg38/90NsDGNW1f9U7Ww==", + "requires": { + "@rollup/plugin-sucrase": "4.0.4", + "@rollup/plugin-virtual": "3.0.0", + "@sentry/core": "7.28.1", + "@sentry/integrations": "7.28.1", + "@sentry/node": "7.28.1", + "@sentry/react": "7.28.1", + "@sentry/tracing": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "@sentry/webpack-plugin": "1.20.0", + "chalk": "3.0.0", + "rollup": "2.78.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fnode/-/node-7.28.1.tgz", + "integrity": "sha512-n7AbpJqZJjWPpKNGc55mP7AdQ+XSomS9MZJuZ+Xt2AU52aVwGPI4z9aHUJFSDGaMHHiu/toyPnoUES+XZf6/hw==", + "requires": { + "@sentry/core": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/react": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2freact/-/react-7.28.1.tgz", + "integrity": "sha512-sFKK7uDREh84GyJcXDNuiQQ5VhLx7XJTOAdELxLv4HEI6BxbBRz0zNRQiKamTRkz9NmL7bZtld5TfbpOo9kijg==", + "requires": { + "@sentry/browser": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "hoist-non-react-statics": "^3.3.2", + "tslib": "^1.9.3" + } + }, + "@sentry/replay": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2freplay/-/replay-7.28.1.tgz", + "integrity": "sha512-Os0PzMjKlwtHwzTU0kfVzGzsi4Vaj3g2arCl4Qnr3b6kYTb9WOFZo/n/v56ss7Z+nZG3K8W5PisoD4MRsRJRig==", + "requires": { + "@sentry/core": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1" + } + }, + "@sentry/tracing": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2ftracing/-/tracing-7.28.1.tgz", + "integrity": "sha512-uWspnuz+7FyW8ES5lRaVA7O/YJSzMlSkvBFtgzaoKmdaueokU/sRLwlCsrdgwavG1wpm79df7R1iiSeqhaXDlw==", + "requires": { + "@sentry/core": "7.28.1", + "@sentry/types": "7.28.1", + "@sentry/utils": "7.28.1", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2ftypes/-/types-7.28.1.tgz", + "integrity": "sha512-DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==" + }, + "@sentry/utils": { + "version": "7.28.1", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2futils/-/utils-7.28.1.tgz", + "integrity": "sha512-75/jzLUO9HH09iC9TslNimGbxOP3jgn89P+q7uR+rp2fJfRExHVeKJZQdK0Ij4/SmE7TJ3Uh2r154N0INZEx1g==", + "requires": { + "@sentry/types": "7.28.1", + "tslib": "^1.9.3" + } + }, + "@sentry/webpack-plugin": { + "version": "1.20.0", + "resolved": "https://mirrors.tencent.com/npm/@sentry%2fwebpack-plugin/-/webpack-plugin-1.20.0.tgz", + "integrity": "sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw==", + "requires": { + "@sentry/cli": "^1.74.6", + "webpack-sources": "^2.0.0 || ^3.0.0" + } + }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/@socket.io%2fcomponent-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://mirrors.tencent.com/npm/@surma%2frollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@swc/helpers": { + "version": "0.4.11", + "resolved": "https://mirrors.tencent.com/npm/@swc%2fhelpers/-/helpers-0.4.11.tgz", + "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "requires": { + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + } + } + }, + "@tanstack/query-core": { + "version": "4.20.9", + "resolved": "https://mirrors.tencent.com/npm/@tanstack%2fquery-core/-/query-core-4.20.9.tgz", + "integrity": "sha512-XTEEvOGy7wlABPTYfmg7U287WYcf2PV8lH15oKWD2I09okqMOHrB23WxyikEVRwJCjYNKcCW0BuYaAY4S2g/jg==" + }, + "@tanstack/react-query": { + "version": "4.20.9", + "resolved": "https://mirrors.tencent.com/npm/@tanstack%2freact-query/-/react-query-4.20.9.tgz", + "integrity": "sha512-OqwcmqkxOYgLbVjsMm4Cl8MMZ063VqdRw1GpSWqN8WgppftPiFJTDb6Q1TX5I/ciCbHmRWNPE/D0ayyTesAKug==", + "requires": { + "@tanstack/query-core": "4.20.9", + "use-sync-external-store": "^1.2.0" + } + }, + "@testing-library/dom": { + "version": "8.19.1", + "resolved": "https://mirrors.tencent.com/npm/@testing-library%2fdom/-/dom-8.19.1.tgz", + "integrity": "sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@testing-library/react": { + "version": "13.4.0", + "resolved": "https://mirrors.tencent.com/npm/@testing-library%2freact/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + } + }, + "@trivago/prettier-plugin-sort-imports": { + "version": "3.4.0", + "resolved": "https://mirrors.tencent.com/npm/@trivago%2fprettier-plugin-sort-imports/-/prettier-plugin-sort-imports-3.4.0.tgz", + "integrity": "sha512-485Iailw8X5f7KetzRka20RF1kPBEINR5LJMNwlBZWY1gRAlVnv5dZzyNPnLxSP0Qcia8HETa9Cdd8LlX9o+pg==", + "dev": true, + "requires": { + "@babel/core": "7.17.8", + "@babel/generator": "7.17.7", + "@babel/parser": "7.18.9", + "@babel/traverse": "7.17.3", + "@babel/types": "7.17.0", + "@vue/compiler-sfc": "^3.2.40", + "javascript-natural-sort": "0.7.1", + "lodash": "4.17.21" + }, + "dependencies": { + "@babel/generator": { + "version": "7.17.7", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fgenerator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.18.9", + "resolved": "https://mirrors.tencent.com/npm/@babel%2fparser/-/parser-7.18.9.tgz", + "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.17.3", + "resolved": "https://mirrors.tencent.com/npm/@babel%2ftraverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.17.0", + "resolved": "https://mirrors.tencent.com/npm/@babel%2ftypes/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://mirrors.tencent.com/npm/@tsconfig%2fnode10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://mirrors.tencent.com/npm/@tsconfig%2fnode12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/@tsconfig%2fnode14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/@tsconfig%2fnode16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/@types%2faria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://mirrors.tencent.com/npm/@types%2festree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://mirrors.tencent.com/npm/@types%2fglob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/hast": { + "version": "2.3.4", + "resolved": "https://mirrors.tencent.com/npm/@types%2fhast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "requires": { + "@types/unist": "*" + } + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://mirrors.tencent.com/npm/@types%2fhoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dev": true, + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://mirrors.tencent.com/npm/@types%2fjson-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://mirrors.tencent.com/npm/@types%2fjson5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/lodash": { + "version": "4.14.191", + "resolved": "https://mirrors.tencent.com/npm/@types%2flodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "dev": true + }, + "@types/lodash.debounce": { + "version": "4.0.7", + "resolved": "https://mirrors.tencent.com/npm/@types%2flodash.debounce/-/lodash.debounce-4.0.7.tgz", + "integrity": "sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==", + "dev": true, + "requires": { + "@types/lodash": "*" + } + }, + "@types/lz-string": { + "version": "1.3.34", + "resolved": "https://mirrors.tencent.com/npm/@types%2flz-string/-/lz-string-1.3.34.tgz", + "integrity": "sha512-j6G1e8DULJx3ONf6NdR5JiR2ZY3K3PaaqiEuKYkLQO0Czfi1AzrtjfnfCROyWGeDd5IVMKCwsgSmMip9OWijow==", + "dev": true + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://mirrors.tencent.com/npm/@types%2fminimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://mirrors.tencent.com/npm/@types%2fnode/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://mirrors.tencent.com/npm/@types%2fprop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.0.21", + "resolved": "https://mirrors.tencent.com/npm/@types%2freact/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-color": { + "version": "3.0.6", + "resolved": "https://mirrors.tencent.com/npm/@types%2freact-color/-/react-color-3.0.6.tgz", + "integrity": "sha512-OzPIO5AyRmLA7PlOyISlgabpYUa3En74LP8mTMa0veCA719SvYQov4WLMsHvCgXP+L+KI9yGhYnqZafVGG0P4w==", + "dev": true, + "requires": { + "@types/react": "*", + "@types/reactcss": "*" + } + }, + "@types/react-dom": { + "version": "18.0.10", + "resolved": "https://mirrors.tencent.com/npm/@types%2freact-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-syntax-highlighter": { + "version": "15.5.6", + "resolved": "https://mirrors.tencent.com/npm/@types%2freact-syntax-highlighter/-/react-syntax-highlighter-15.5.6.tgz", + "integrity": "sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/reactcss": { + "version": "1.2.6", + "resolved": "https://mirrors.tencent.com/npm/@types%2freactcss/-/reactcss-1.2.6.tgz", + "integrity": "sha512-qaIzpCuXNWomGR1Xq8SCFTtF4v8V27Y6f+b9+bzHiv087MylI/nTCqqdChNeWS7tslgROmYB7yeiruWX7WnqNg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://mirrors.tencent.com/npm/@types%2fresolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://mirrors.tencent.com/npm/@types%2fscheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://mirrors.tencent.com/npm/@types%2fsemver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/styled-components": { + "version": "5.1.26", + "resolved": "https://mirrors.tencent.com/npm/@types%2fstyled-components/-/styled-components-5.1.26.tgz", + "integrity": "sha512-KuKJ9Z6xb93uJiIyxo/+ksS7yLjS1KzG6iv5i78dhVg/X3u5t1H7juRWqVmodIdz6wGVaIApo1u01kmFRdJHVw==", + "dev": true, + "requires": { + "@types/hoist-non-react-statics": "*", + "@types/react": "*", + "csstype": "^3.0.2" + } + }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/@types%2ftrusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://mirrors.tencent.com/npm/@types%2funist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "@typescript-eslint/parser": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2fparser/-/parser-5.48.0.tgz", + "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2fscope-manager/-/scope-manager-5.48.0.tgz", + "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0" + } + }, + "@typescript-eslint/types": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2ftypes/-/types-5.48.0.tgz", + "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2ftypescript-estree/-/typescript-estree-5.48.0.tgz", + "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://mirrors.tencent.com/npm/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2futils/-/utils-5.48.0.tgz", + "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://mirrors.tencent.com/npm/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://mirrors.tencent.com/npm/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.48.0", + "resolved": "https://mirrors.tencent.com/npm/@typescript-eslint%2fvisitor-keys/-/visitor-keys-5.48.0.tgz", + "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2fcompiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2fcompiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2fcompiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2fcompiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2freactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://mirrors.tencent.com/npm/@vue%2fshared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "dev": true + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://mirrors.tencent.com/npm/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://mirrors.tencent.com/npm/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://mirrors.tencent.com/npm/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://mirrors.tencent.com/npm/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://mirrors.tencent.com/npm/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://mirrors.tencent.com/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://mirrors.tencent.com/npm/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "allotment": { + "version": "1.17.1", + "resolved": "https://mirrors.tencent.com/npm/allotment/-/allotment-1.17.1.tgz", + "integrity": "sha512-3/blHxKZfP441IZRwoOJaaNfDOx9XtvQQaeRYYrn7xjQWF7ZhYZCfR7oNxudwx2ga21tIskvfytbZF2P/ydE3A==", + "requires": { + "classnames": "^2.3.0", + "eventemitter3": "^4.0.0", + "lodash.clamp": "^4.0.0", + "lodash.debounce": "^4.0.0", + "lodash.isequal": "^4.5.0", + "use-resize-observer": "^9.0.0" + } + }, + "altogic": { + "version": "2.3.9", + "resolved": "https://mirrors.tencent.com/npm/altogic/-/altogic-2.3.9.tgz", + "integrity": "sha512-ygB1E4ZPfk7jfwkpapXUtpF7b43e9gEENfgya5b94rQkCxN8xcwMyZK6iMrEbaUYW9ZZkg0vyad/OeWZEvrAhQ==", + "requires": { + "cross-fetch": "^3.1.4", + "socket.io-client": "^4.5.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://mirrors.tencent.com/npm/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://mirrors.tencent.com/npm/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://mirrors.tencent.com/npm/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://mirrors.tencent.com/npm/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://mirrors.tencent.com/npm/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://mirrors.tencent.com/npm/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + }, + "dependencies": { + "deep-equal": { + "version": "2.2.0", + "resolved": "https://mirrors.tencent.com/npm/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://mirrors.tencent.com/npm/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://mirrors.tencent.com/npm/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://mirrors.tencent.com/npm/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://mirrors.tencent.com/npm/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://mirrors.tencent.com/npm/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://mirrors.tencent.com/npm/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://mirrors.tencent.com/npm/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://mirrors.tencent.com/npm/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axe-core": { + "version": "4.6.2", + "resolved": "https://mirrors.tencent.com/npm/axe-core/-/axe-core-4.6.2.tgz", + "integrity": "sha512-b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==", + "dev": true + }, + "axios": { + "version": "1.2.2", + "resolved": "https://mirrors.tencent.com/npm/axios/-/axios-1.2.2.tgz", + "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://mirrors.tencent.com/npm/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://mirrors.tencent.com/npm/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-plugin-styled-components": { + "version": "2.0.7", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://mirrors.tencent.com/npm/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://mirrors.tencent.com/npm/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://mirrors.tencent.com/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://mirrors.tencent.com/npm/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://mirrors.tencent.com/npm/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://mirrors.tencent.com/npm/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://mirrors.tencent.com/npm/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "calculate-size": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/calculate-size/-/calculate-size-1.1.1.tgz", + "integrity": "sha1-rnyqHHeV+CxPA13HvicONYHa4+4=" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelize": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" + }, + "caniuse-lite": { + "version": "1.0.30001442", + "resolved": "https://mirrors.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", + "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://mirrors.tencent.com/npm/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://mirrors.tencent.com/npm/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://mirrors.tencent.com/npm/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "classnames": { + "version": "2.3.2", + "resolved": "https://mirrors.tencent.com/npm/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "clean-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "dev": true, + "requires": { + "del": "^4.1.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://mirrors.tencent.com/npm/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://mirrors.tencent.com/npm/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://mirrors.tencent.com/npm/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://mirrors.tencent.com/npm/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "commander": { + "version": "4.1.1", + "resolved": "https://mirrors.tencent.com/npm/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://mirrors.tencent.com/npm/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://mirrors.tencent.com/npm/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://mirrors.tencent.com/npm/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://mirrors.tencent.com/npm/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://mirrors.tencent.com/npm/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "core-js-compat": { + "version": "3.27.1", + "resolved": "https://mirrors.tencent.com/npm/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.27.1", + "resolved": "https://mirrors.tencent.com/npm/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://mirrors.tencent.com/npm/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://mirrors.tencent.com/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, + "css-to-react-native": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/css-to-react-native/-/css-to-react-native-3.0.0.tgz", + "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", + "dev": true + }, + "d3-path": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==" + }, + "d3-shape": { + "version": "3.2.0", + "resolved": "https://mirrors.tencent.com/npm/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "requires": { + "d3-path": "^3.1.0" + } + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://mirrors.tencent.com/npm/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://mirrors.tencent.com/npm/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "deep-copy": { + "version": "1.4.2", + "resolved": "https://mirrors.tencent.com/npm/deep-copy/-/deep-copy-1.4.2.tgz", + "integrity": "sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://mirrors.tencent.com/npm/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://mirrors.tencent.com/npm/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defaulty": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/defaulty/-/defaulty-2.1.0.tgz", + "integrity": "sha512-dNWjHNxL32khAaX/kS7/a3rXsgvqqp7cptqt477wAVnJLgaOKjcQt+53jKgPofn6hL2xyG51MegPlB5TKImXjA==", + "requires": { + "deep-copy": "^1.4.1" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://mirrors.tencent.com/npm/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" + }, + "del": { + "version": "4.1.1", + "resolved": "https://mirrors.tencent.com/npm/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://mirrors.tencent.com/npm/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://mirrors.tencent.com/npm/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://mirrors.tencent.com/npm/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://mirrors.tencent.com/npm/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://mirrors.tencent.com/npm/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.15", + "resolved": "https://mirrors.tencent.com/npm/dom-accessibility-api/-/dom-accessibility-api-0.5.15.tgz", + "integrity": "sha512-8o+oVqLQZoruQPYy3uAAQtc6YbtSiRq5aPJBhJ82YTJRHvI6ofhYAkC81WmjFTnfUbqg6T3aCglIpU9p/5e7Cw==", + "dev": true + }, + "dotignore": { + "version": "0.1.2", + "resolved": "https://mirrors.tencent.com/npm/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://mirrors.tencent.com/npm/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dev": true, + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://mirrors.tencent.com/npm/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "elkjs": { + "version": "0.8.2", + "resolved": "https://mirrors.tencent.com/npm/elkjs/-/elkjs-0.8.2.tgz", + "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" + }, + "ellipsize": { + "version": "0.2.0", + "resolved": "https://mirrors.tencent.com/npm/ellipsize/-/ellipsize-0.2.0.tgz", + "integrity": "sha512-InJhblLPZbBjw3N49knOWonfprgKPLKGySmG6bGHi7WsD5OkXIIlLkU4AguROmaMZ0v1BRdo267wEc0Pexw8ww==", + "requires": { + "tape": "^4.9.0" + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://mirrors.tencent.com/npm/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "engine.io-client": { + "version": "6.2.3", + "resolved": "https://mirrors.tencent.com/npm/engine.io-client/-/engine.io-client-6.2.3.tgz", + "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "engine.io-parser": { + "version": "5.0.5", + "resolved": "https://mirrors.tencent.com/npm/engine.io-parser/-/engine.io-parser-5.0.5.tgz", + "integrity": "sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g==" + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://mirrors.tencent.com/npm/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "es-abstract": { + "version": "1.21.0", + "resolved": "https://mirrors.tencent.com/npm/es-abstract/-/es-abstract-1.21.0.tgz", + "integrity": "sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==", + "requires": { + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.0", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.0", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-get-iterator": { + "version": "1.1.2", + "resolved": "https://mirrors.tencent.com/npm/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://mirrors.tencent.com/npm/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://mirrors.tencent.com/npm/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://mirrors.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "8.24.0", + "resolved": "https://mirrors.tencent.com/npm/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://mirrors.tencent.com/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "globals": { + "version": "13.19.0", + "resolved": "https://mirrors.tencent.com/npm/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://mirrors.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "eslint-config-next": { + "version": "12.3.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-config-next/-/eslint-config-next-12.3.1.tgz", + "integrity": "sha512-EN/xwKPU6jz1G0Qi6Bd/BqMnHLyRAL0VsaQaWA7F3KkjAgZHi4f1uL1JKGWNxdQpHTW/sdGONBd0bzxUka/DJg==", + "dev": true, + "requires": { + "@next/eslint-plugin-next": "12.3.1", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.21.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "^4.5.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://mirrors.tencent.com/npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://mirrors.tencent.com/npm/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://mirrors.tencent.com/npm/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://mirrors.tencent.com/npm/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "aria-query": { + "version": "4.2.2", + "resolved": "https://mirrors.tencent.com/npm/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + } + } + }, + "eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://mirrors.tencent.com/npm/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true + }, + "eslint-plugin-testing-library": { + "version": "5.9.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz", + "integrity": "sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.13.0" + } + }, + "eslint-plugin-unused-imports": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz", + "integrity": "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==", + "dev": true, + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://mirrors.tencent.com/npm/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://mirrors.tencent.com/npm/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://mirrors.tencent.com/npm/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://mirrors.tencent.com/npm/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://mirrors.tencent.com/npm/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://mirrors.tencent.com/npm/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://mirrors.tencent.com/npm/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://mirrors.tencent.com/npm/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "exenv": { + "version": "1.2.2", + "resolved": "https://mirrors.tencent.com/npm/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://mirrors.tencent.com/npm/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://mirrors.tencent.com/npm/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://mirrors.tencent.com/npm/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://mirrors.tencent.com/npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://mirrors.tencent.com/npm/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fault": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "requires": { + "format": "^0.2.0" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://mirrors.tencent.com/npm/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://mirrors.tencent.com/npm/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://mirrors.tencent.com/npm/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://mirrors.tencent.com/npm/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://mirrors.tencent.com/npm/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://mirrors.tencent.com/npm/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://mirrors.tencent.com/npm/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://mirrors.tencent.com/npm/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://mirrors.tencent.com/npm/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://mirrors.tencent.com/npm/format/-/format-0.2.2.tgz", + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" + }, + "framer-motion": { + "version": "7.10.3", + "resolved": "https://mirrors.tencent.com/npm/framer-motion/-/framer-motion-7.10.3.tgz", + "integrity": "sha512-k2ccYeZNSpPg//HTaqrU+4pRq9f9ZpaaN7rr0+Rx5zA4wZLbk547wtDzge2db1sB+1mnJ6r59P4xb+aEIi/W+w==", + "requires": { + "@emotion/is-prop-valid": "^0.8.2", + "@motionone/dom": "^10.15.3", + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://mirrors.tencent.com/npm/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://mirrors.tencent.com/npm/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://mirrors.tencent.com/npm/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://mirrors.tencent.com/npm/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://mirrors.tencent.com/npm/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://mirrors.tencent.com/npm/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://mirrors.tencent.com/npm/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://mirrors.tencent.com/npm/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://mirrors.tencent.com/npm/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://mirrors.tencent.com/npm/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://mirrors.tencent.com/npm/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://mirrors.tencent.com/npm/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } + }, + "goober": { + "version": "2.1.11", + "resolved": "https://mirrors.tencent.com/npm/goober/-/goober-2.1.11.tgz", + "integrity": "sha512-5SS2lmxbhqH0u9ABEWq7WPU69a4i2pYcHeCxqaNq6Cw3mnrF0ghWNM4tEGid4dKy8XNIAUbuThuozDHHKJVh3A==" + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://mirrors.tencent.com/npm/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://mirrors.tencent.com/npm/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://mirrors.tencent.com/npm/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://mirrors.tencent.com/npm/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "hey-listen": { + "version": "1.0.8", + "resolved": "https://mirrors.tencent.com/npm/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://mirrors.tencent.com/npm/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://mirrors.tencent.com/npm/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "html-to-image": { + "version": "1.11.4", + "resolved": "https://mirrors.tencent.com/npm/html-to-image/-/html-to-image-1.11.4.tgz", + "integrity": "sha512-I6jeGpjSI/pea+p/8q6HAWPxptZkEYaZ40ZLnpCHuhCJJnUHQ/YzMEQMNY/KMdPZJ4+GJIwo9dnJy76eW9p9cg==" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "idb": { + "version": "7.1.1", + "resolved": "https://mirrors.tencent.com/npm/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://mirrors.tencent.com/npm/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://mirrors.tencent.com/npm/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://mirrors.tencent.com/npm/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://mirrors.tencent.com/npm/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://mirrors.tencent.com/npm/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://mirrors.tencent.com/npm/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.1", + "resolved": "https://mirrors.tencent.com/npm/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://mirrors.tencent.com/npm/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://mirrors.tencent.com/npm/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://mirrors.tencent.com/npm/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://mirrors.tencent.com/npm/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://mirrors.tencent.com/npm/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://mirrors.tencent.com/npm/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://mirrors.tencent.com/npm/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://mirrors.tencent.com/npm/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://mirrors.tencent.com/npm/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://mirrors.tencent.com/npm/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "jake": { + "version": "10.8.5", + "resolved": "https://mirrors.tencent.com/npm/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dev": true, + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://mirrors.tencent.com/npm/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://mirrors.tencent.com/npm/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://mirrors.tencent.com/npm/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://mirrors.tencent.com/npm/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://mirrors.tencent.com/npm/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://mirrors.tencent.com/npm/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://mirrors.tencent.com/npm/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://mirrors.tencent.com/npm/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://mirrors.tencent.com/npm/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://mirrors.tencent.com/npm/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://mirrors.tencent.com/npm/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://mirrors.tencent.com/npm/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "kld-affine": { + "version": "2.1.1", + "resolved": "https://mirrors.tencent.com/npm/kld-affine/-/kld-affine-2.1.1.tgz", + "integrity": "sha512-NIS9sph8ZKdnQxZa5TcggaFs/Qr9zX3brFlGwE0+0Z4EzFIvAFuqLSwNeU4GkEpaX8ndh3ggGmWV7BPPcS3vjQ==" + }, + "kld-intersections": { + "version": "0.7.0", + "resolved": "https://mirrors.tencent.com/npm/kld-intersections/-/kld-intersections-0.7.0.tgz", + "integrity": "sha512-/KuBU7Y5bRPGfc0yQ3QIoXPKqOQ6cBWDRl1XVMMa3pm4V6Ydbgy9e2fZoRxlSIU0gZSBt1c6gWLOzSGKbU8I3A==", + "requires": { + "kld-affine": "^2.1.1", + "kld-path-parser": "^0.2.1", + "kld-polynomial": "^0.3.0" + } + }, + "kld-path-parser": { + "version": "0.2.1", + "resolved": "https://mirrors.tencent.com/npm/kld-path-parser/-/kld-path-parser-0.2.1.tgz", + "integrity": "sha512-C1EqY6vzqv5tdKeMF31L+JXq97n5zo67LiSEhZf4sPq8YeM+8ytp/qMGSKN8VdSPvFa6h1SR35aF4+T2JtxZww==" + }, + "kld-polynomial": { + "version": "0.3.0", + "resolved": "https://mirrors.tencent.com/npm/kld-polynomial/-/kld-polynomial-0.3.0.tgz", + "integrity": "sha512-PEfxjQ6tsxL9DHBIhM2UZsSes0GI+OIMjbE0kj60jr80Biq/xXl1eGfnyzmfoackAMdKZtw2060L09HdjkPP5w==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://mirrors.tencent.com/npm/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "language-tags": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://mirrors.tencent.com/npm/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lie": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "requires": { + "immediate": "~3.0.5" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://mirrors.tencent.com/npm/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://mirrors.tencent.com/npm/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "localforage": { + "version": "1.10.0", + "resolved": "https://mirrors.tencent.com/npm/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "requires": { + "lie": "3.1.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://mirrors.tencent.com/npm/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://mirrors.tencent.com/npm/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://mirrors.tencent.com/npm/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.clamp": { + "version": "4.0.3", + "resolved": "https://mirrors.tencent.com/npm/lodash.clamp/-/lodash.clamp-4.0.3.tgz", + "integrity": "sha1-XCS+3u7vB1NWDcK0y0Zx+Qpt36o=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://mirrors.tencent.com/npm/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://mirrors.tencent.com/npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://mirrors.tencent.com/npm/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://mirrors.tencent.com/npm/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://mirrors.tencent.com/npm/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowlight": { + "version": "1.20.0", + "resolved": "https://mirrors.tencent.com/npm/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "requires": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://mirrors.tencent.com/npm/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://mirrors.tencent.com/npm/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://mirrors.tencent.com/npm/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://mirrors.tencent.com/npm/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://mirrors.tencent.com/npm/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://mirrors.tencent.com/npm/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://mirrors.tencent.com/npm/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://mirrors.tencent.com/npm/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://mirrors.tencent.com/npm/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://mirrors.tencent.com/npm/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://mirrors.tencent.com/npm/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://mirrors.tencent.com/npm/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://mirrors.tencent.com/npm/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mousetrap": { + "version": "1.6.5", + "resolved": "https://mirrors.tencent.com/npm/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://mirrors.tencent.com/npm/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://mirrors.tencent.com/npm/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://mirrors.tencent.com/npm/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://mirrors.tencent.com/npm/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "next": { + "version": "12.3.4", + "resolved": "https://mirrors.tencent.com/npm/next/-/next-12.3.4.tgz", + "integrity": "sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==", + "requires": { + "@next/env": "12.3.4", + "@next/swc-android-arm-eabi": "12.3.4", + "@next/swc-android-arm64": "12.3.4", + "@next/swc-darwin-arm64": "12.3.4", + "@next/swc-darwin-x64": "12.3.4", + "@next/swc-freebsd-x64": "12.3.4", + "@next/swc-linux-arm-gnueabihf": "12.3.4", + "@next/swc-linux-arm64-gnu": "12.3.4", + "@next/swc-linux-arm64-musl": "12.3.4", + "@next/swc-linux-x64-gnu": "12.3.4", + "@next/swc-linux-x64-musl": "12.3.4", + "@next/swc-win32-arm64-msvc": "12.3.4", + "@next/swc-win32-ia32-msvc": "12.3.4", + "@next/swc-win32-x64-msvc": "12.3.4", + "@swc/helpers": "0.4.11", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.0.7", + "use-sync-external-store": "1.2.0" + } + }, + "next-pwa": { + "version": "5.6.0", + "resolved": "https://mirrors.tencent.com/npm/next-pwa/-/next-pwa-5.6.0.tgz", + "integrity": "sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==", + "dev": true, + "requires": { + "babel-loader": "^8.2.5", + "clean-webpack-plugin": "^4.0.0", + "globby": "^11.0.4", + "terser-webpack-plugin": "^5.3.3", + "workbox-webpack-plugin": "^6.5.4", + "workbox-window": "^6.5.4" + } + }, + "next-transpile-modules": { + "version": "9.1.0", + "resolved": "https://mirrors.tencent.com/npm/next-transpile-modules/-/next-transpile-modules-9.1.0.tgz", + "integrity": "sha512-yzJji65xDqcIqjvx5vPJcs1M+MYQTzLM1pXH/qf8Q88ohx+bwVGDc1AeV+HKr1NwvMCNTpwVPSFI7cA5WdyeWA==", + "requires": { + "enhanced-resolve": "^5.10.0", + "escalade": "^3.1.1" + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://mirrors.tencent.com/npm/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://mirrors.tencent.com/npm/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://mirrors.tencent.com/npm/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://mirrors.tencent.com/npm/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://mirrors.tencent.com/npm/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://mirrors.tencent.com/npm/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://mirrors.tencent.com/npm/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://mirrors.tencent.com/npm/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://mirrors.tencent.com/npm/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://mirrors.tencent.com/npm/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://mirrors.tencent.com/npm/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://mirrors.tencent.com/npm/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://mirrors.tencent.com/npm/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-cancelable": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://mirrors.tencent.com/npm/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://mirrors.tencent.com/npm/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://mirrors.tencent.com/npm/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://mirrors.tencent.com/npm/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://mirrors.tencent.com/npm/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://mirrors.tencent.com/npm/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://mirrors.tencent.com/npm/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://mirrors.tencent.com/npm/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://mirrors.tencent.com/npm/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://mirrors.tencent.com/npm/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://mirrors.tencent.com/npm/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://mirrors.tencent.com/npm/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://mirrors.tencent.com/npm/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "postcss": { + "version": "8.4.14", + "resolved": "https://mirrors.tencent.com/npm/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://mirrors.tencent.com/npm/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://mirrors.tencent.com/npm/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.2", + "resolved": "https://mirrors.tencent.com/npm/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://mirrors.tencent.com/npm/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://mirrors.tencent.com/npm/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://mirrors.tencent.com/npm/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://mirrors.tencent.com/npm/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://mirrors.tencent.com/npm/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://mirrors.tencent.com/npm/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://mirrors.tencent.com/npm/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "property-information": { + "version": "5.6.0", + "resolved": "https://mirrors.tencent.com/npm/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "requires": { + "xtend": "^4.0.0" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://mirrors.tencent.com/npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://mirrors.tencent.com/npm/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://mirrors.tencent.com/npm/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rdk": { + "version": "6.2.0", + "resolved": "https://mirrors.tencent.com/npm/rdk/-/rdk-6.2.0.tgz", + "integrity": "sha512-d7TVSUUPjtyvTGjubsStXvaiaZUhdoE7yiPrVlbkXZoBILUkXsPaWOrb57P14YRZr8XuPkcxJUxPVuJs0i1AYQ==", + "requires": { + "classnames": "^2.3.1", + "framer-motion": "^7.6.7", + "popper.js": "^1.16.1", + "react-scrolllock": "^5.0.1" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://mirrors.tencent.com/npm/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-color": { + "version": "2.19.3", + "resolved": "https://mirrors.tencent.com/npm/react-color/-/react-color-2.19.3.tgz", + "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.15", + "lodash-es": "^4.17.15", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-cool-dimensions": { + "version": "2.0.7", + "resolved": "https://mirrors.tencent.com/npm/react-cool-dimensions/-/react-cool-dimensions-2.0.7.tgz", + "integrity": "sha512-z1VwkAAJ5d8QybDRuYIXTE41RxGr5GYsv1bQhbOBE8cMfoZQZpcF0odL64vdgrQVzat2jayedj1GoYi80FWcbA==" + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://mirrors.tencent.com/npm/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://mirrors.tencent.com/npm/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "react-hot-toast": { + "version": "2.4.0", + "resolved": "https://mirrors.tencent.com/npm/react-hot-toast/-/react-hot-toast-2.4.0.tgz", + "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==", + "requires": { + "goober": "^2.1.10" + } + }, + "react-icons": { + "version": "4.7.1", + "resolved": "https://mirrors.tencent.com/npm/react-icons/-/react-icons-4.7.1.tgz", + "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==" + }, + "react-in-viewport": { + "version": "1.0.0-alpha.28", + "resolved": "https://mirrors.tencent.com/npm/react-in-viewport/-/react-in-viewport-1.0.0-alpha.28.tgz", + "integrity": "sha512-SjBVCPUIRfJb516BUev1u/dejBfI5jIcskDz4Irq2RezNG7D199eER8reRzZX+w/FLxz21rpdqRbJbagv5n37Q==", + "requires": { + "hoist-non-react-statics": "^3.0.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://mirrors.tencent.com/npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-linkify-it": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/react-linkify-it/-/react-linkify-it-1.0.7.tgz", + "integrity": "sha512-B0Vy0KCAdpkT7Ql/bOpPuAP4l20f78Eaq1yD/q9J2RltPSwD900I0GzQPXaH6gnoWX/qmkBXL42Q3jTnWw8KCw==" + }, + "react-scrolllock": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/react-scrolllock/-/react-scrolllock-5.0.1.tgz", + "integrity": "sha512-poeEsjnZAlpA6fJlaNo4rZtcip2j6l5mUGU/SJe1FFlicEudS943++u7ZSdA7lk10hoyYK3grOD02/qqt5Lxhw==", + "requires": { + "exenv": "^1.2.2" + } + }, + "react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://mirrors.tencent.com/npm/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "requires": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + } + }, + "react-use-gesture": { + "version": "8.0.1", + "resolved": "https://mirrors.tencent.com/npm/react-use-gesture/-/react-use-gesture-8.0.1.tgz", + "integrity": "sha512-CXzUNkulUdgouaAlvAsC5ZVo0fi9KGSBSk81WrE4kOIcJccpANe9zZkAYr5YZZhqpicIFxitsrGVS4wmoMun9A==" + }, + "react-zoom-pan-pinch": { + "version": "2.1.3", + "resolved": "https://mirrors.tencent.com/npm/react-zoom-pan-pinch/-/react-zoom-pan-pinch-2.1.3.tgz", + "integrity": "sha512-a5AChOWhjo0RmxsNZXGQIlNh3e3nLU6m4V6M+6dlbPNk5d+MtMxgKWyA5zpR06Lp3OZkZVF9nR8JeWSvKwck9g==" + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://mirrors.tencent.com/npm/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://mirrors.tencent.com/npm/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "reaflow": { + "version": "5.1.1", + "resolved": "https://mirrors.tencent.com/npm/reaflow/-/reaflow-5.1.1.tgz", + "integrity": "sha512-oDI8qdv6ALiy5UTwkyfLwyLMtnS8XqoWt6y1qMjCQouUfe74Apfncbo3DAuSLHZCTDXrc81ODvBu4wt064UiBg==", + "requires": { + "calculate-size": "^1.1.1", + "classnames": "^2.3.1", + "d3-shape": "^3.0.1", + "elkjs": "^0.8.2", + "ellipsize": "^0.2.0", + "framer-motion": "^7.6.7", + "kld-affine": "^2.1.1", + "kld-intersections": "^0.7.0", + "p-cancelable": "^3.0.0", + "rdk": "^6.1.0", + "react-cool-dimensions": "^2.0.7", + "react-fast-compare": "^3.2.0", + "react-use-gesture": "^8.0.1", + "reakeys": "^1.2.9", + "undoo": "^0.5.0" + } + }, + "reakeys": { + "version": "1.2.9", + "resolved": "https://mirrors.tencent.com/npm/reakeys/-/reakeys-1.2.9.tgz", + "integrity": "sha512-5jqXCsSKg1IOhep5blfC7S8RNxUgidQcO6cnuQGgSEmF7ytRLhGWC1u9G0voi7otPHnTuMKJYwoAt6+/DXRxCg==", + "requires": { + "mousetrap": "^1.6.5" + } + }, + "refractor": { + "version": "3.6.0", + "resolved": "https://mirrors.tencent.com/npm/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "requires": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "dependencies": { + "prismjs": { + "version": "1.27.0", + "resolved": "https://mirrors.tencent.com/npm/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==" + } + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://mirrors.tencent.com/npm/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://mirrors.tencent.com/npm/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://mirrors.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://mirrors.tencent.com/npm/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://mirrors.tencent.com/npm/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://mirrors.tencent.com/npm/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://mirrors.tencent.com/npm/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://mirrors.tencent.com/npm/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://mirrors.tencent.com/npm/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://mirrors.tencent.com/npm/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://mirrors.tencent.com/npm/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://mirrors.tencent.com/npm/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "requires": { + "through": "~2.3.4" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://mirrors.tencent.com/npm/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.78.0", + "resolved": "https://mirrors.tencent.com/npm/rollup/-/rollup-2.78.0.tgz", + "integrity": "sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://mirrors.tencent.com/npm/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://mirrors.tencent.com/npm/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://mirrors.tencent.com/npm/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://mirrors.tencent.com/npm/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://mirrors.tencent.com/npm/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://mirrors.tencent.com/npm/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://mirrors.tencent.com/npm/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://mirrors.tencent.com/npm/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://mirrors.tencent.com/npm/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://mirrors.tencent.com/npm/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "socket.io-client": { + "version": "4.5.4", + "resolved": "https://mirrors.tencent.com/npm/socket.io-client/-/socket.io-client-4.5.4.tgz", + "integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.2.3", + "socket.io-parser": "~4.2.1" + } + }, + "socket.io-parser": { + "version": "4.2.1", + "resolved": "https://mirrors.tencent.com/npm/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://mirrors.tencent.com/npm/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://mirrors.tencent.com/npm/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://mirrors.tencent.com/npm/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "state-local": { + "version": "1.0.7", + "resolved": "https://mirrors.tencent.com/npm/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://mirrors.tencent.com/npm/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://mirrors.tencent.com/npm/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://mirrors.tencent.com/npm/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://mirrors.tencent.com/npm/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://mirrors.tencent.com/npm/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://mirrors.tencent.com/npm/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://mirrors.tencent.com/npm/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://mirrors.tencent.com/npm/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "styled-components": { + "version": "5.3.6", + "resolved": "https://mirrors.tencent.com/npm/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "dependencies": { + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2fis-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://mirrors.tencent.com/npm/@emotion%2fmemoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://mirrors.tencent.com/npm/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "styled-jsx": { + "version": "5.0.7", + "resolved": "https://mirrors.tencent.com/npm/styled-jsx/-/styled-jsx-5.0.7.tgz", + "integrity": "sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==" + }, + "sucrase": { + "version": "3.29.0", + "resolved": "https://mirrors.tencent.com/npm/sucrase/-/sucrase-3.29.0.tgz", + "integrity": "sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==", + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://mirrors.tencent.com/npm/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://mirrors.tencent.com/npm/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "tape": { + "version": "4.16.1", + "resolved": "https://mirrors.tencent.com/npm/tape/-/tape-4.16.1.tgz", + "integrity": "sha512-U4DWOikL5gBYUrlzx+J0oaRedm2vKLFbtA/+BRAXboGWpXO7bMP8ddxlq3Cse2bvXFQ0jZMOj6kk3546mvCdFg==", + "requires": { + "call-bind": "~1.0.2", + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "glob": "~7.2.3", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.1.4", + "minimist": "~1.2.6", + "object-inspect": "~1.12.2", + "resolve": "~1.22.1", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.6", + "through": "~2.3.8" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://mirrors.tencent.com/npm/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://mirrors.tencent.com/npm/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://mirrors.tencent.com/npm/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true + } + } + }, + "terser": { + "version": "5.16.1", + "resolved": "https://mirrors.tencent.com/npm/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://mirrors.tencent.com/npm/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://mirrors.tencent.com/npm/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://mirrors.tencent.com/npm/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://mirrors.tencent.com/npm/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://mirrors.tencent.com/npm/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://mirrors.tencent.com/npm/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tinycolor2": { + "version": "1.5.2", + "resolved": "https://mirrors.tencent.com/npm/tinycolor2/-/tinycolor2-1.5.2.tgz", + "integrity": "sha512-h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://mirrors.tencent.com/npm/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://mirrors.tencent.com/npm/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://mirrors.tencent.com/npm/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://mirrors.tencent.com/npm/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://mirrors.tencent.com/npm/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://mirrors.tencent.com/npm/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://mirrors.tencent.com/npm/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://mirrors.tencent.com/npm/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://mirrors.tencent.com/npm/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://mirrors.tencent.com/npm/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.8.3", + "resolved": "https://mirrors.tencent.com/npm/typescript/-/typescript-4.8.3.tgz", + "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undoo": { + "version": "0.5.0", + "resolved": "https://mirrors.tencent.com/npm/undoo/-/undoo-0.5.0.tgz", + "integrity": "sha512-SPlDcde+AUHoFKeVlH2uBJxqVkw658I4WR2rPoygC1eRCzm3GeoP8S6xXZVJeBVOQQid8X2xUBW0N4tOvvHH3Q==", + "requires": { + "defaulty": "^2.1.0", + "fast-deep-equal": "^1.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://mirrors.tencent.com/npm/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://mirrors.tencent.com/npm/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://mirrors.tencent.com/npm/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "use-resize-observer": { + "version": "9.1.0", + "resolved": "https://mirrors.tencent.com/npm/use-resize-observer/-/use-resize-observer-9.1.0.tgz", + "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", + "requires": { + "@juggle/resize-observer": "^3.3.1" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://mirrors.tencent.com/npm/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://mirrors.tencent.com/npm/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://mirrors.tencent.com/npm/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://mirrors.tencent.com/npm/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://mirrors.tencent.com/npm/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://mirrors.tencent.com/npm/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://mirrors.tencent.com/npm/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://mirrors.tencent.com/npm/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://mirrors.tencent.com/npm/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dev": true, + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-build": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dev": true, + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://mirrors.tencent.com/npm/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://mirrors.tencent.com/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://mirrors.tencent.com/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://mirrors.tencent.com/npm/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://mirrors.tencent.com/npm/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://mirrors.tencent.com/npm/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-core": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==", + "dev": true + }, + "workbox-expiration": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dev": true, + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dev": true, + "requires": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-precaching": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-recipes": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dev": true, + "requires": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-routing": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-strategies": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dev": true, + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-streams": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dev": true, + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "workbox-sw": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.5.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://mirrors.tencent.com/npm/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://mirrors.tencent.com/npm/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.5.4", + "resolved": "https://mirrors.tencent.com/npm/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dev": true, + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://mirrors.tencent.com/npm/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "8.2.3", + "resolved": "https://mirrors.tencent.com/npm/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" + }, + "xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://mirrors.tencent.com/npm/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://mirrors.tencent.com/npm/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://mirrors.tencent.com/npm/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://mirrors.tencent.com/npm/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zustand": { + "version": "4.2.0", + "resolved": "https://mirrors.tencent.com/npm/zustand/-/zustand-4.2.0.tgz", + "integrity": "sha512-eNwaDoD2FYVnMgtNxiMUhTJO780wonZUzJrPQTLYI0erSIMZF8cniWFW22kGQUECd8rdHRJ/ZJL2XO54c9Ttuw==", + "requires": { + "use-sync-external-store": "1.2.0" + } + } + } +} diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package.json" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package.json" new file mode 100644 index 000000000..ab23f4452 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/package.json" @@ -0,0 +1,62 @@ +{ + "name": "json-crack", + "private": true, + "version": "v2.5.0", + "author": "https://github.com/AykutSarac", + "homepage": "https://jsoncrack.com", + "scripts": { + "dev": "next dev", + "build": "next build && next export", + "start": "next start", + "lint": "next lint", + "lint:fix": "prettier --write \"./**/*.{ts,tsx,json}\"", + "deploy": "gh-pages -d out -t true" + }, + "dependencies": { + "@monaco-editor/react": "^4.4.6", + "@react-oauth/google": "^0.4.0", + "@sentry/nextjs": "^7.16.0", + "@tanstack/react-query": "^4.19.1", + "allotment": "^1.17.0", + "altogic": "^2.3.8", + "axios": "^1.1.3", + "dayjs": "^1.11.6", + "html-to-image": "^1.10.8", + "jsonc-parser": "^3.2.0", + "lodash.debounce": "^4.0.8", + "lz-string": "^1.4.4", + "next": "^12.3.1", + "next-transpile-modules": "^9.1.0", + "react": "^18.2.0", + "react-color": "^2.19.3", + "react-dom": "^18.2.0", + "react-hot-toast": "^2.4.0", + "react-icons": "^4.6.0", + "react-in-viewport": "^1.0.0-alpha.28", + "react-linkify-it": "^1.0.7", + "react-syntax-highlighter": "^15.5.0", + "react-zoom-pan-pinch": "^2.1.3", + "reaflow": "^5.0.7", + "styled-components": "^5.3.6", + "zustand": "^4.1.3" + }, + "devDependencies": { + "@testing-library/react": "^13.3.0", + "@trivago/prettier-plugin-sort-imports": "^3.3.0", + "@types/lodash.debounce": "^4.0.7", + "@types/lz-string": "^1.3.34", + "@types/node": "^18.7.21", + "@types/react": "18.0.21", + "@types/react-color": "^3.0.6", + "@types/react-syntax-highlighter": "^15.5.5", + "@types/styled-components": "^5.1.26", + "eslint": "8.24.0", + "eslint-config-next": "12.3.1", + "eslint-plugin-testing-library": "^5.7.0", + "eslint-plugin-unused-imports": "^2.0.0", + "next-pwa": "5.6.0", + "prettier": "^2.7.1", + "ts-node": "^10.9.1", + "typescript": "4.8.3" + } +} diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/.nojekyll" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/.nojekyll" new file mode 100644 index 000000000..e69de29bb diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/CNAME" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/CNAME" new file mode 100644 index 000000000..ea24514ac --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/CNAME" @@ -0,0 +1 @@ +jsoncrack.com \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/192.png" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/192.png" new file mode 100644 index 0000000000000000000000000000000000000000..b776ad35d335f65243edcecf426bc7e83fd5f5f2 GIT binary patch literal 32289 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 \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/512.png" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/512.png" new file mode 100644 index 0000000000000000000000000000000000000000..62bda1b77ce341e4d0db96ce16a36eda64070c26 GIT binary patch literal 209712 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℘1z*gn53I7!I1(hYu;hf{dUqMI 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
jdUi+ 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

4-OrIHWBKfpL<( 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 M07*qoM6N<$f;K5HivR!s literal 0 HcmV?d00001 diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/Mona-Sans.woff2" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/Mona-Sans.woff2" new file mode 100644 index 0000000000000000000000000000000000000000..8208a50000111a9eced52f3faa484834f5de4944 GIT binary patch literal 133748 zcmV)4K+3;&Pew8T0RR910t$2h5&!@I1T}yF0tx^C0RR9100000000000000000000 z0000Q;(Hr{!*m>qc0Wi~K~kkDKTTFaQi3f8U_Vn-K~yXNhb}LMObUU|D1oR?3x!Gm zFpBXk0X7081B(y@AO)TW2ai-+ARd$iDKgSif{SDPYO3RX8Z!p8ZOw67y0p zC2yud$sx`m`2N@e9rYj`A4%Uz0ExoM%!T%4U(hd^BQ%93a4Az6i% znoObu8QMM%0>xS>iU}723mb#A8nS54(Q6PWCc(Dz*37%zp!~UpSuivc`9fjiy4W9% zr>1r0y=yz3VGt^)x+slkzUKWjt#n2f$7BEPae!_P*I_jn<)?TWpiM<4G|w|;zrK0Z z6Xj*S$AEX#1J)=5c8uUguF$W5Hlru5E93WL@3H2Rx2_#77WmitajC!ZRp6MeV}4{#4NGj2G{EC@m%h}mQ!_V_78ri z51F`b@v8o@;lDYwB&Ay9rS7vVr4TR5vOLe?Nm-Ut+}G*$8h!^wE85C>rc&ryQ-WZK zDa2n-s~T4vq4&QdUgm%P5`XIC%ubQgZ2(UBJi}pW%WEUx_k`3*0P6pfH)Hb&azkBVga3}P8VxMUypr~f?8`RBfuq)D2VQbNZ{DS>TWVN8FS zIVPQ%G7;nNs|kF8iKE*5z@O{=|M!PK)Ed&D^41c4;UFyP2z2Tg4i4Ty1OmTVKgolZ z?TNW@VrpO3ONQsy<|9%;lsb-!|Ns4e_5WpX%|&rs5q+eEm>39d21fLpBIdL!+v#A3NzsD>b)b?o6-$~Xm87Yd;m5drG4YA=uNj`rtbdT;2@*UI z2tgtwPE1BR(y8pWS6RRFo_o{j?wx-V+kanNR;4=Q0Sao3?Afc=&kn-EMJQk$g)Ae4 zjg2Bj!XWQpo8SMF009zGXiM88I(}xJ`4^S7=+3uKY_s{_SK@lb$9twnTH0a>#K^$U zX)mZuMHEnR5VIOHE=|+4H{ROgYwmGl<=v$#O--7qNsI;uDxf$(kmWzUQ@?WuG?K@P z3~^J(1xnF*)zxk(a zJ%48iLBs+!qW&KDMLR0$)~o3KJwud1msDwkh_z@x#f;t8+cBgw{~Jp@8bXc4HZKO~ z0UmRA?QfdD*&JYdO?5qS%k2lkBy02VHTUn_rR*m8MN&XUps+x$!m;dZ=GTgP_0FoU z?A1|!M#3ag{RI1R#}gp@q?Z2o$Croc9!F9V^>o)5AEX=qENoyTJ-3_vEb;LgYb9M# zBxl+HRps}7(|2aqaL(LSTr!s^Nr^uD`3R(yV+ElMR?F+(hYSSuW4}YpA6^+Mp5x9Z zbXwJ9*2HaauKvphAa|tiggnXqJH2lXg(W4IV5r0?B@H&EX@{2J38%eD-d~ezm9Zdr z2;Q^o{RQ%?gr`>bwaRFQDp}C#m0Kl2*hg3rK6n(WIbk(7LprU-Nsb8G@3051`meIt z$Fjjg43Js2B@L1Q|5siA-Fqe3vMt$w14GIK3_RxZ7(PGgr>fne+jh^94D)_SajTSL zmAXA!t}pqk|7=MG7n+CPED_{n3=+qf?Q-PEoFsOT0P_c$d4o+Cs!BTWJU`dxrAJ8y zw?xXU_C3k`U$Uk`)z*<(rb!+=eY)zuh{%*wRXsiUpg$~;yB1l?hDH9KbscUnn zs6t$1k|l$Y?}lXF6m4VZL0x^7B-;%*#QFq_+<$kEAp*`XCcl8}0io8oWk=DYS=!g=RD zM@a1lOxi#LZAy@jM{G|GP|b-6H>YP=-P_SSt-iV?W0J}6%^ov+-TQhh%QMG-3p5-c z$Fi`StLg}^s#=LB837COY(3|ld&@Z6?nY2mbvRZzimDo`ud1q|qN1XzqN1XzhE-8j zJ<8GWu&OFY!>S_~^mRXen<93Izigx#siIkX+)~B#khVdus$u!~-rpJkFd?9cYyaf~ z(Fu3jEq9616rZqWz~Wei*dF(sh}YNSxFDdG1_OoG5$%|BP^+=V$QUPMWt{FCBO@nc zB_~zUV$}>5E_iN_fcqvtd^8met5>9jHSTt$XA2K@Mp4VBn8qI;czQDU5B8Q>htJ0<` zWob!z`w!Ur*0;maf;G}{$;WRa&=(+38F9^~h z-4y=fi@Cb0!LF`qK-JZtT-{Adg#sy8H%Q&n4N6mJP-6llJrF2)Xv$HO6&&Q5`xGXH z)7_+8-Jq_k8>HL-M~PKY#Dz>wUgY-w^WO&-;A8 zpCN?*vuU>TjjLlFu{%5AqLXxh+@_Yia@Jp~vERtj-O~|oi0^o1t#3TL>)Wg#3@x!Q z=v)<`3abjZX;U?}5^lLDsY>R5zkb!ZV_a0CX(r$6m^V)(@)r^CF-+_sB5C-TBr!`~ zx=P4+BjkZ}haoL#C9UU;KW`5|a{8`=wifA79zU#b?l~7KRR4dSzU#g3-YeOT+gk70 zA2bzk*(77jD$uZY>y}vhWcww*iCnN#U^wpPB~E{|bE4)+LN=;tVTAFeMxW+yMoNcML#U z(h^LgFrZw*5K{jy1cVd&{kh5=O-BP9P?M&xH=`*`gEcKtO6042txm3Z1s)Ix^)KC& z7^KtiPZ~xIrWg}KFomeal)X!#^%xOnm>Wt=AJ5h|n|ew%ppHdgJFZ#Aah3V&v|Z#Gk9hQlq+>plr7WTSx{JLD~z?dwlMYHERY8?pE#5`}*x?pI6#a zpokC&Bq13gQg?sGnlB}``>>5dgeRDQCn78Q-`xI-no9P(vX?Zjh)9qiA|fL4cyoL; zJ$w0X$yZ+jd)+KOcn~QfBB7KbpCVGk6>(bLgkQv6ya+75>&8~-3 zv`0z=ET)y;J7yPKNkA`H8o&fyqch%0TkLbvRd4&f7#e-?CTq0WY1h53f3XN%vYaoz zU$J5O%gJWbVoO&??&|zbYC^YV7jt&WHbG|nRu?ENW zaR^(Psdm;gMgqOoz8sn(--2!oi=y&|1{s;+sUj8y zF%j``K|B+#T1Yg`vo{g^2w(2uw=wEi=#bWSTj&HWMC|w0;b^P6x7*~z5lE9X4P!zw zn&YzB<>egO$6&l)<8c=nAd&?7%Zba?xd$x0Y_6 z&1V~NiS8)e1HBKQ-oHMcA1;T>@p`!Jx7|LrsN4Q_xE?Q$uOB{s`~_;60Ew6SgKyrv zyE}D6!~cUYLlobJzhBP3Bs@CWZR0-Hp~bFT_uIqe!)GT@b%no@I}OC$y)!Yn5 zU1j(Fib0ysI)KhzN%Q|B{r4|VuLExJ-vO^cwe!)u&SH+k1At`$OeVm^e{fkoEI{vL0p)s9zRU~;4v?LZ6MR1yvb=#(oQvcU1|Tx?%cHU{F=2F zzVx;Gw%+_8vF-_d^iCc)A3j0(|HMP-6EC)*BW>hZS3MP3JQM%o7_KkI4M+Oj=@=R} z6;==9XvypNV0!DpO5l-NaQZ)j`~EZdbUpNNJ$zj?{3H>%pNKww`7K=~kJsnQ>x)8X z$))lJak4?4mX*p4>-Yv;$}LuM%au*zWD_{qTBvR<)ow!N?Y-me#rjUFwyTtP@yc$v zy1O9kO$kji&ItQ+jRMy!j0t5o-1B zJ&nnyV{QIouaZ`(fp#^f)Sz}Psnju{2%Av^w%1VGjbQhRyr@wav0hVQvTnt;4lFZ1`3n_`?u>9QCJBe;)Ot>nGP2*H_oG+rR7M zzwhIJ=;MDH;(s3Ee;ML`9pZl60=E1S-H>D;DrmumMD+W}jsv(g!GG2n*sKIT?& z8*xio8+I}l3JV)Z9Z8E6gg#Kd*ZIj721MZV5H;bjg+etBDiRiPv>~uOgfGJZArh=p zNRuL}G*O9?WH3cExxTdXaG*8 zPzj_Cm}(es8E}b}fjv9{Ts8)HM!1upx-)3Zv1L#101!YRPzZ}ZvMB%c*G?-}3K8eq zi&}l7ElK~HzaX_zpd?a&B)1&>g49e#3^ugG2%5wrGD$mbC>^@lHFA?~%n5YU;OUlh zN_U+rT1{_gldb5?2V~K@OUJHR$<<1YGbeJ6Gu)%GzI$)5a-N+Po$Q(F-kYn3*=_dT z?OpK8%e@PB@7tc20$+OI;1GG>ko?~VT08Dt`<@sNy)pZ@Pu-L|8+)>|e-(`lu@P%0cuRjL zc1v@2VPSVKHs9Qzo7+E_O_%dXR?la%`TVWfYx&1!R|^D&-VWjZ+cPtT!_=ATQE7Vo zs6S1Qktw~1O=?AUQYabb=~H0bedcC>Q}39~m$?kzRUgbT7|n4`muOl-AedueO$y;%P7~dnrhavX zB{o`@X6S+}QjDyt9Ql0pn2ca?Tn?WTL;Nqy? z2+RO)$uol4o@!W~iKeNX`k>b(kSycwu$Xe_H$CN0OX(rL_2xIf;s^FzXZM%gEM7i; z$Bp%i7uRoO{KQLhOZ!_(OIzEEi`%<_g+b3gXT|PhQkbE%LodjzGAlxqA~eJ39_V$%Wy zVBx(s#8BvGZm zD+p||R!gSMihug(XnNu1?%DIT8_AW8jg^;!PUjt)H!k+z9O7FJ5HF%f&e4&pzVku8 zcf5H}u)ojLW*;oeslK&TwYC>)*6xDf6lNNOaz-AV;xg7vT7$h1I+CoA6Tq!Ao-krj z+l=@o_pw8ikb8-a4YjtOZdt{RpU|*qh8Fa>3)mL7Fv8J*@FbL4)&0vn?!M6_oDqNz z@Qev4mrSNoq98C#S7k|3Q92mZo<}Jw3PJ?uK_C}32y(}iZKI}<5{)7syq^?Nt?Qbm zWbtH|6-AFAc60U(04@o{+hO^N!m|EG1(99rsI*KIGqc?->2Zwx%Q8*cND{&v=Siw8 z12rvk70GpSjd#)f4l(&aAG{bA%z+0j^WZd7@7x82J9=Ivti7dDR)5}HUeg_QNb>-G zDT(EPumUqX#p#lSKn=J6y5U0jk|XgZ7YWuIr--U1`F$lh5-BDW;x@`K1g$x4+2Sb7 zDgj-LU|4Fu4vL6z41*3>&%y|}KsXzPR??rP<1*Vb{_E<+PCD0E>_CO^OyK5Wv!nPQ zwlWI#MAHPHYds+r`Q#|JXnSqDh$q80gcM6(YgS_O*)m!$Dn^{3InX&xyHP;%C)%B*9lYEcHoG+=^$}$qvsA(Q%z6s z;sB-gTE%nOM_r&+k5;$UeIamFw1Zb&28UOG^rQO|**(XZ`nKoG*|mXDM-O0?1OKb4 zV;@ZH4dHQ^F_CeQ!GirJLtv)(uu}wp9!owDGziUFcJIMI5!^jr`x!B@30u&;9&Ddl z_HwFF7(i`Ipfu=|B~+Gv>ks1Z-w-&ViD$+-dqcc!7yQ1scsL@6qw?5#Fl2I8Eru(% zKJF{~UiDpuWXAf|EUkCwMSlsl0Y;7UeUx7KZSNgu>L&^5&%O%}oVju51L_KF{nZ!T zZ&7QPeyX=d?Tz{hJ$-enF&CT3ZH1RQ6SW<$`I7EojLnHwxOAK(1;^lK8Iw z*Gf8r>uxL|>#fULP_)asZpmmV>#C%y%foZhSY2Um4{eIua-bLImj^4YlV2Syw{Ct_ zJ=fX!RqdQG^G(yxb>0{TCCM9RP@`PLV(=i>dM@8zZ%`}5j$Cpb+pYOVr^Ct(HQa^P zGDQ(}S)~ZEl6}Cx0Ps4bF7@fny1Llen>}q>0GlK8UftWA*jnFh*G7z%JL}34^KKj6 zAR8CIN}tDDlq&|Sy2bxk=S;tt+r3^CP+!_)`7blw7rR$Nx8pnAeRs}n%I8+vIMv?| z9)}I}iZD5iy=mB<)rx8IF@nE=A+oq`@gWw6|^1sKAfp@ebzyb=t&`}9_ zE1j-_*2gp`+y6BrQyiW;W43MQ01fooJONPKL#>Avwpu;6kdB1})#9-^(hcgvlYYTa z1L8L-H%)Dn9J5zUt@`yt-?+D7=dLV|ShMK`;3K=B&4`hCSWn9l{;%1@OcysVnlXhk z^(Ldxrs)+x(Jcs5?U36b>lFa93uXX@vn{gd9rQ0;H6T`6F9c#6>0rBNSl6&XUMIW* zbZeCO*U%HtC=^OBBI^(`YT1ciqN+?Xbcw}kA#1odul!$4o!l3A9$GyCIyK7Oe+|AK zt;^Z@1K?&Y~#U zgL#N#Ejga7HUIpg*o*#*x&Xv62rxg7SO7AQo$}~a8;0DY5}LIh`KE7|GZ*Gg9y9N8 z{{}Kf5;lcmJ3az&*K@dO#PJ}7#$pGtUg<0j9PKCs6!OeYBey1m$<_f5-q+~qPXuNf&9?DhXOB#o2eMkFKnEi$JGDTaAU=0 zh&nSf5-ilw6dgXD_rxe>$Oukh4HW&hdKz}7;Bg&u@1w`Uz`*!eZMV$@8MP2-E{j@fB>M3RvuDTB?e%*aU z1DE_wN|xQqt0no9_cy-kQ*W5hk88YX0JciV&JTuNT~#lr)oRP1Hy`L-spH zUku}5z3JFxUsfGqO(MoLwvfM}Y23p;Zr>6u^bRvLQ~MyEo0cn_Cv&!!L))P~Il;kY z*^Nz-?lTRT4@Gz059FflWGBh*VJ7#1wrblE4)DraH-PvVY&PG5vmWE4?c06nDeP}l zgb9V!avDDJA8FHP*a0+fryc?d#^!)fjjwBd&*)ax|I~e>*S43SP^YngT0WMsZk#v1 z@mX=_VHJC-LYg0&Ji;_;x9J&Cc&~!CJR7d+<|$+zK|QQa?#h-uPgN8R&wqSwBSq9^grBn8vfc8eK)cr z4bBsKfUF6zzvu7;-j?Jrq+N#YlhC&$=*#4RBtH$J+hm5dogp8NVT_TI2j4c&yPY)G z@UQ@20s70YK~4B4#pFSZhmmk=xR57w-vTnOa(eC4JG=b=}{(& z^}KIH8;2K$a-n|cJ+qf| zPNPS=eeCu^P~Yr#4_dF%m^AL$9ROU9@cM{S8nVzE^Ft- z9p*+u)Wh=U|7$l_hx2kfx7xfiO6kk%t=3kVj4ovq@!#gN0?+c-i0cPunTxYG#Vwg& zmZ+X|g}$AxOSH75&u2@>o+KEoVzD3r^nkK?K;Bgsx&?2S1Y1l4W35i|m{hn;nPF?^BR?$j_A4zhY1wD}Rhil-!p zkDv10za}pjrSDlQML&tg?EQYxHyNC?ii1n)nElENSJfT>WWX%{pFsczvEU0G4lE~p z6=LxHjj;eyVu|17IKvYds8*ULRDhA+J@4Z!nv4t%3;?>*Zy7=F9^BXM^MR1;GLBs)f%212&5V3y%WpO9m}H?~e*ZQ=^YT-14TzV?+^NImzZ-_XhhsAF>tr1U3f6iAj_1q6Y7?H6rqFd&^URIel92@n;sTLQEW`V zZT-inKZQv}K~+N!M?`&&_2bTP8oJIy@u`O9f}1b)$DiQaXo)@iKaKOQb$wgEah!;U zr0qx_^EZH9z5Ubfz)+5E+Vd5&gGnWGvnU(bYv}F%9RfH%#eWUh^?^N3siWA_+@gTU zbmC&AiIoRq6>3KZBO5V=gPxCFrAAXW+Al*9nkW<2;v&{2LG^ZKVc45@;z%eEwEJ`V z9_q2>)u6r&K9c&yZ)XMJm;7%DroW*Pe{pnc^4u>zIV(kxjSlGQsWS`!XM@KKB2Cj% z##nv~^HG{P=33&E^bkhJG3-f4T9%fH+j3}+f5n&5d)WV_dHqv)@39K~Dv$oF^5)Gw zw|_LK0l{kD)v!PY2hxSOQ>G97;4j|jf5o`d{0cis*>LE`6yXExS(mHNB(CEtwHNK+ zp_j7V$+8lf3pKGaAO|7_^-waORr)%A4SiE80jN8a;uQ@2TC1<#XCvA`oUj^`5g#du zWrk*MIez5mj#sCk%S+lLuO737#s9xVJ=fx1l6}^fKERv{dK+Bv&_S;>tHWQbzP}5@ zJi%Bd zg$8NdiB(@zzK7lBY@)s5vABlCaSq!E{0tup5@&J0-1E6vX>5-EhHHZ1PyO3))BV7T zK{6jkDDe8IjB0xyzM#<0zA#Pgkq$Hdx+ZFmZ=iHgZ-3y6oB+2x`o~-D+H)5xa>|NX z04xs*^~K>fHXZl-x8tI7EJGxG-tzI<1o(6bTPTiu2!;F;T(NJ0@IF1=DoWaeSld~2 zm=%v(uW+ZKIlH1Nc*$n#-tM2^zVCga82e*y{z|%ugT>Br;NSXn<6?~@k*oqH9_kAM z%O{OLbY&c~u8t%~ZG1sjd=)Taz%a)C!&}sA0S^H}c%3Y*tos8=iTE%V`~9B#0Y)#s zy?gdNeBD+WlWJkDnM^b)mCGrB`VC-~ZLsM=8p4uO4{Tg`U)#f(zz{D{tGNn#1ZK*f z@SCiatu(CR05YCSevDgxfI0vBoXA6!?4zNs?i>F!*Z|Es19P8XYY+F8U6Erj2hEIl zxhrdw!)QigRCQrN=$JxV6-~>qnbpEP*X*!nZr5hS6L~g*XH`(4(0bse$#>}Cv=%2( zeIo2ymv9_1WK?YyOz2Q;cmr*Jtj8s&UH;EHK&)Ru8Vo!QTP8?RNm*=^4=8m>VN0lk5mW_=vCD!h)7NtFx;(I!=4+kT&*{Cu!CT3 z@u(Mj3sd0obR#w0%b2%D)WI_^iT4Xk8nq6U9oFMjRYaf}21q`2sYb*o0h8W=zjbsY zFoB2x&<0^_L)b9?x9bhIk_67PgpdFQU-kT>RP+r$e%~?G9Ml>k%*8R^jH(zI@|Sbu z0~n3ItbqV9$YofZQM?A^L+mK}5#M%9OZ45K?#ntB2I2X7TBETv3gaNq&kZdo;4l`b zI~{==gdsNqbWq#Ch8_^Gg8>NoP*^cEM>;L0VYF#v78$q$my<@=>m8|wWn)0bt)HC2 zFg+gY_r>WtFgOUpy?_w!pFFxOz?))*9Z4XF%jgj!4mXe&jUc(rhXgX#tajxKb#fNY zDLT5=$L0p4Xx-z`npTIUD&;_ht<8_-{NW9OD+>z|~{Y-VMODP(5aOL+T zQCcfFk!TnR8D8jKk9JW#^hwp{lGiYU)UAgOy+l8_)a?rHBHjT8Gn}M~xc>&gh;N zeb+tk&zAxK{E7=&g^$3mqeD1Y$RD}Mf0Qg8L*d8+5XUj&91voy&$txeBWd(4yzmg7 zo>L#ee&tqljO9ifNel^z2&))t$$(54TvQ!@Rx>lnVa;$|8?|wl3#n=PFoZCESHl?y z2;oakaM`!~)Q$>U((O9gRQtn^#PFa{DfZWa&lNQ}={IUOGhyn5$G%p*CdQ_NsBntz zx5bzSaX|x)7xCLag)GDCLb`ZhURMl6C$&2{C-7VT-utXl{|OKzTEH5;f41Bt*t{}0 zq~Y+@M)=dS9V>+E1J{Q<0>IC_^M)U3yh2&RLas+G(coPAu^99(4vP%pCq8lQ;X>=QJQcY8-iQQD z2g8OU-pbVT-|6#{TK2Q%-nNltRb6}GP*YL^7eYdFh8t|uQ8geoIe~cU6oBBt`cz|p zIrhhB^FINA17aPlgSt@%o!T2Oa4Us&h!}E(uB?%_X3K%$=6Du0_BcjN05W1lW$?GM zn${lsY(!}XjawD&mpa+slE#imS7n*|w?iHq*+0?9N9z8s*Tz#*om=ga$V}$MIYx7L z7u{Vfoe<#1tv+$L_{JO2A?Y4pIIA!`#vLfZtawleb(svp4w70GnS=Tx>bsR$K z?;NUs)*nc-VTFqe6YAp*;HldDRwWuxTq1W@YvofdvJhpPnD=nEPZc~q{_}?MsJU#^U z<@xOnU$i0s7eJdTFmr?gbFAVLKV4(H>8J&b{?)Wu{14s4lQ>|)L;s7S43a@H#-VKIl8wLUMM5)yGU_BG+ zZ&=Z7Eknb!XQ)UJxA#C6D-u8)J$eqT&X)qv8R(!4y;AUu7~bqvT-2jDUmdG<7GK|W zC?93V6=()XlmcV0V4DW7vO1t@)dt|yC2i`bWR)mdlzucuLY2#=apj@<2Wr0#M^}K2 zOrYaPLH+++fVrV2T*pV?{{!=cCH@{-A9MQEgKm{B5eE&-{{>0}hXTYiNub#QK z9l-oHuq8ycTG$p~t_$qT8v@9s0R()4ZG0YV3u9FkUk|4{)iv}W*DR&L+!n;lj`zS^ z&^SarT%8%NAZJ(qX*w{ggHEe}4gdnE3~rDWPuX2SB>-T81Q52z?P?KNrX0#E0m=Zh zbO-6032Uge)rp=039kTv!`T@JN7g?U$HbrN-p#+`yE2(-IrjO9%aa#G-IS=`oc?cp zPg}pJQGK6JU%q&R{k6W(VB-`4%(Hj&U(EcR%G)ys@iolxe=zW00|L?}(kG;!NEc`0 z?u*G^k(=f|HPo1HEq$D#M2}E^>aLIIRIH;ueF>#*pf>Mg=|||z%ng)lyT3OhFL6)e zi!*+p)KJTk&%FibRvva{oS!m%i8DXS{2}x2eb4T@ePF(tX16hqF#qC;E~{>Tc(Bg? zX75ld@Fa*Ud%p5+xB_+FBqNq+teXl7S0WSBJ(%LzM=nn(QPKt zO^XF_B(ATx69D2c8kHsj51%n15iuzXmaN!t@E%al%QboOZ@p=bU%JC6`@s)iu}MaMLY!+;z`= z543vdk*C@`^V|zBz4BVS4?g8bNlW65*6qBnh#1iOZ`&lE9Q$RZuC zeb-9x2oVNAHvwk&3b;+Fgdg~ZHp$hHpEN{LBW#-f>SeGFha)MtPPX{C6ZBx7_%AQHf{B$(q$WdMlJ=%%KDp$L%#Byr=awQ+bT0Wp$@lS~S!Z^f}F z0o-f7Fuk~E*I_B=Eo6W&iZmpX4#2&OSX=w*j7-D z4hk&|G!blzL=$Xu0bZ&wi4;qKMpWO^IT_$==-`NIjy{s6*ur8=Qr|^3zVhDEF7A)P zTGA3ju&WQ$(Us6v68w0{+G+mKHTXxjDuz?DAx1Of@}(N)@h+j=*>#7It#br>BoSgR z0;d>2vPpD$3^NM~>Ccfj7D1wW?(yr4&AaGeIhY>Aux6iD%5jxTlX3XA6!StG)N6omTmml6;GT8GSoB*=RN>@B`?ra0Bbu2(sw{ zG|2#&YU-O})PmI*Kdk%*XX{T7Y>|GzA&yWR{;0U7OxNZQ6 z7Nh_q-aVk<@uXbZ6}X8t0zx)0`gIlk>WeM1F01Qk-u zZND}S=8J!mAJTv|2FS^uyLrOj(nT{)@~OX^d(#j4z2l>eWgh|BHa12(yN2xPy6x|F zi1+w_tvO09*!?6n1Z6Jx>G`xL8!P|CJ!Q86*o9_+YO0Uc059=MLYl8*6WosQ4)3v* zkJNK5Nes-a6bIDDv?=_kUS(G}@kUB~WI{;K@rj}od^Onk7w#(b;j7Qp0ZA1d>+gyc zUgLGW9pXJcVC%~E%7`fh5k~?M&~H2_vKcoX0eo9QS_R(@&hHDuGkxt;urEy!p2hcA zWFCuK%Qtu;IMv$R!+X}`JkTfLQ+*a;5nr2t=bT`Pldztqmfx^4;}e~f%;xAVIZ9R6 zJs>`91{8S-!H1P9s~Pb2>GSdXIo(nhb#gsO@jsEW+vE^;7TSXXKU3aVGZk8&&II1OH0M@u7yT7q1RYKEkNv( zk47Mp1XZuN09S^i&b**9)}3!-Bn?Buu3a!%)PkKENf$kgp_j2tU{dnUGnEPl`#wVi zpaJB9c{(Aa$;dLXlVmx~hUUlf<&w69HvtE93Cmc+rZ6;4SNWEmHil@->$^^Gp}k7e zFsm4Vi)5PtlPIVq1CL10QBD(ZHx*QZW6QRRZW^`c@nKCDT1N?|2LML}_Ty7qkgup0 zlMzKWpaaS|-R3IZzEnVCj$abRso@v0Wf320RN` z?O|?C`J3!I1IYU&G+1E}v7zHwD*i>(` zMd{sx@azOph1!yBi^JPkG<_qijg~mJG&B?1#z$Uy5@HsbYfx({_GqoZFCxFH5Ea%= zDk|{MNZJ??*hQ`b$(B-76sULB@vxTxawK)v*pE?Ae)^9WV=$7zOa*H=)-7BM1OTr< z=jvtC!4*h65by;;Dahd@!H`e`QEsk2E`(D_ge6hA#}k$$Aj#KB1QF88kkNoF0`i(r z)Ox@=FepbdNHzPRohz>f^^xM|2Mk)mF1CUL;g0E?Z>6VMGGGdQ2apmfmsUOs0+Yrh zlI~IHvol1RpmAB%RKj_|l12N6XPZ4K(QHe#t$RfZav5HX2wg0h9`BH6U1~_2g{)27 zta6E%s-%__+N{{Gp*mvar_}~}okG7-M1_!<^iG&8OFnVq$S|4q0JkQ6$jQ?fGqCAU z#NSEuJe5mvrC^}pn~doe`oqE8MFL>zSjbao1C`bZi&!&84u?&t?c>Wa@sk#Qj}h3| zN1<3K?{OS4Af@g*%5uF6hI;O3GVXJj9dUMpuOw$29`O!Om5I@@3~#9nds8$Wvbw0{ zSG#$U?E8xY9rbK5xkZUgF`#&6wfyFMyd75?h9aG@n3^=QYEg7PE``Q~dh^jFshpy0 zDBfW4N1aJCB=u{V_~m^eJMt1D`#kjO-{$jYph_2o9G=yCBeb^%TW;~dD$U24Z7161S z_yI+ILU9>NA?bo^ipudQQ{e zT5*YKBTTCMPs%4x#n<@B1r&8xBHhp)H8Y{1OR%mCpY26-6xvIuav?TYXOqv^a$9MO zA?vW6l{RaBHdx_E#7zUhu$TJ%cW0&I9g9I1d@ zs8k4*Q&l(H`q%jId_Y4lx-dsBb@AB-BekMQt;`!23|AsIo?T6BPR=9}hR0Jb#>H80Bn5N{oSx`C(`=R6#1G12nX(?rr$Xf=xRJVd6uQF>?uqO(%^^5o z);U!jB8Q3Is6YHjs5GSVLwxOW_kG`B-e|{&zW78x-9W!vYN*d0LmaO)FPw7HhqNF5 z%kQJS>t&h>EcsgD6O@f0d0JI>qGsA#hzF8D65WQl7cpLnvxrr_R2j34^C6Mh^|Kn) zRm|Lhyw=&R#;o05yDhs4*@q&vr&9-alnf&> z@hAWw6)AD0|6>Z1g|q0Sh&Ew0t!$%^&46#F8(5mWl^A2~>b}bW?xV8lG<&aYBt_(K z(H-h#>Ni%IRJ>zY<{us*2CUC>Pj^I8?LzXY-o#qpDhoa2PtF(OutfFyj_&NFO-FjrE^CUARqRG9u%>6vb?2%?9-UwJ5j&QCKNA*sbQ)zdpoWrVSWGYO-LW7UpGwWtFlds#9{oNlHy zG1+OUQjF-vUGZgT7NWU93+x${8A>6S$#1{Xs^V}{dTdy)4$1|6^HjxNTOhkj;J22G15qnapGgKa^zY#W+@sYt|qMytnt{6FKj3H){16h zMIrZN3Rg)aCedUE+7ge!MCy~isv${hN(Qnd&*I^%C>l#ytLjKylut8jU0LhWL;!n^ z4xSbh2^>u_IrIOstc8>tlE`s@nqfZfZ0pUQh*_#NtS6vG6K6dcbUMIfR1$GjLtq)9 zI9r=O*o_L?f0{bt(H-!D9~g3{UCQifm&<3@(8Y&>7_jghQt$@0qB$hSjW{UKl7$M^ z0M1TRAKLJVeD`erXdh1I!&byJk?cmswIUVUL8Z)xsGdg>CbWaFFJ_KTnLD5|dc|a< zMPWK6tLQ2%h})e%r+UesSEt)%tc$t+PV|E5rrYuLF$f`&+kAH4uEtYqg@r}@+Ez=g zqZp3Px~O0(vqQ19>@M{_pGBAa5UYADTr(31>D(ku(-0Vwje5YcPp8djnk%aH=$={e z^sHXH8~?>x`4twOxKO1dGySPJWb0oQM8+N-G5wYCnJS}y1vss$wsn`PMyhsbFN73l zD>>T^1@vIl%vx$Kyav$WHY)k3o-XzUT^iIvGz}Xgibh)rrg33na>=%f^=a&9az0BP z&GyGY^EvdzS(*;x06Rd$zx3sUU~AP#>vQBZaGajk(^f6*(o`6wZis6y6$h`Vbk*8L z($di^nb1y>tY6;&O60Vp+>s4I#~rXg5gl}+`>V)xdTllkv8bILB{~(eryKWvNvEIfx4yn!vqJ-Pz4m(qLXTBPP07y6l0VUByd zGxz3bLZ2oLpWOCg$akK6cZ$;$_0K{vAh+0femoF?4n*0%469#lkV1WWRNFf8ZS0M- zs=;?z--oJ_IdF4nc75*I2~BzYe(uE2nw%kE5rz%D`nKW zvB3C~I&CO5p)~0+rA0Jb+G=qQ(|zp3jio{}THBzMPq)>=>?PYWl;!)aR>z(i7Qrtw z`fE-X`*zyAbaT$1)E)Wza8qdGgDYKfjxUt{;5l8##1hP`{o`nIgES>9(> z%uQ(0atu}jb)HY-TehUDxF}fEJJtKW7F$9Z$-C;jOSuS1s6-PR!QyI@!IJybS`sKZI3-$>-r}n|4#EhD0*L+^l@=) z%2`1V+3T4@v<}?+O5oJGIMG~$xofzxdj#iGr{w5Lk+6YTZF8@ohG5{Gm9<2k>py+{ zr+krnyyLYt+*kI%DJKp)1zGmwmOMmV01^~Ns7o`RpipbiMCPggxdAq`m&%?M=74Q| zuf1OQfq${=zy5&}Qnk`G)=|`eVWDhI6(BOG8#E=dqJ`an06iF>bjOjNd*UjA(@sL!kS9VbhC?v{1Il3@v-v-pIOOO0 zgQU|Y#hQEQOroH^{BmfL;f)~-^Qat>R&b$4!` zEcxzq2d=0e=PQckT=iDwh#lDfyB|#%$^^=q=Esck6~2*3>Xp8j5%x5> zK{`;-z(o{7De$>+a@h*1ee49d?#8@}tw5I-j?jYvk-G3GgB4f(#^Q;Yl(N6p_XUw0 zko!5{27<$B6oBnR{*&=-oNY^KV&6Xu1qQL$gcdPZqp-i)2?JuRoA7T=`FA{W^_*6m zW*MIxe%LT|A9Xlwcl&bm<-P@8t(fncFlHH$8+S&Ks~yWzcLbHl(MHU8u--55yX*vJ zte)nAINn6-txa8Wuu+&%x>TOIE73>IWn?OvTTh+Yqp3+~N9#}deEl9*f8Fo987;Pb zUA1h>2V#u%Vp-bwyXG(lY|hLCdlCg}o*Lu$gagx;-kGz>4&-!fo+nNXHUo5Cgw44% zQ#da{nJ;%)@Y--*`CQ8*H>^5IbkhxVEB^sN60&IUo_$uCJT~31uwL<$JO5!rbU>x= z=nmnYqWdukIpmf)x{lpO*vd1#{ zy{lP7&8n}{2-dep2Sy~tS{$uL%it$|L;YAC^!o*&HbMK8H5pZC+y39aT#iVruQX2e$|Y67$8qDdW{L3bqvf zTseK!`qo8!jKx-+F@6SiV^s+8JzF-oEgU<4;_Qq{(Z+=H5ug#q&oDxiWO8+@o{v zxQAs<{@jPrV(iO$&*#vaqTM%*TY?-E>~O#J$Sh~_%?fd#gdJ^G-ckfg$+GVW~DjWz#bG9zkDaanZK;vlj{elvi)zI2|=5v>qu5T6Bl%e9iDPO zLTmA{!?U8PR>{=`(Lv?glw7rsoVSxXe^n*{!iCYl^!-n&kJL37Hx6Ehb}khrVtD#E@#zzk z(Me|I6Rt9mUoH!+h7HKe=+Pmm$%f~iH1Ptq;HgRZIvyERkkzYGO0yYY8yixT)2B;X z3&7A}Lx5}mdLg#cXMwFJL8Y+!hE(UDaAMM-O{<**f4CTW*+G3cGt`F)!(&7V3MKr(ZSY%k|%?I1|-Eas|h>9 z{YL4J{yI~6LXMXb*P<>WZ&+odKXqvdts0^Ve$bEcCJs06m)=s;Ce-m{0`BwzTNv>9 z6h(PtoZy6HpBSBbbE3B26av?%y1Y(-V&~{@w&q}BVT5R|hajOg6Xf3qW#I}C`U4nR z02L09%mG|?z!`{t|0+#88d$LoD8PwDp%9M-TxD?h zh&>}o_6Ui+L5|SCmpFJcV1KCpWp`6E=CC+@#F?>lI_}{VL~?PfxE=L8D#4SvjdCVfN zxrtDhte`l|Yg1SmjnL;LDI#=OtVtuEgEu;g}K$@p^GU{)*sp!7~_?5LSaZhw)qh zSM(|d{5L^k>~la4*VCxl%Hv#toZ)ui|3}$v_1L`(L)~$5Vv=72ea|3bo*>c3Jrq7_ zCfz4tb1aqc>QsWB#kzN(2O6M&j4&HT+8oIMtpW=0yl1n^w;@@_>NciU-s8|1S3EwG zl9Sn;7dgj!vC`TYSp}u~=Y!rGsC zdw0qxBgb6_LPvSp9xOr=ob>JO7^q(pG&2*N9P!qZRS*DmY6Zvp1KGE#f+2SUy%@wd zJA5_VGB9fwRzFHco8k^Jurd*lCk=ix1fE62AEQ!+D8#B5Xma}oAq`K& z_JM27MH2Ih2)@mUf}8lC{qBoTDCnD?dXB}Up=nhuxDMfbrKLUCi{>`On678q`pRt0JI#gx!^WLuKI0o*kc2vQtVMAVB8?t0AZcrnrvF zAQZ=<#V0LyZ`M(73t0{xeW3FB$nf1dD8Hi(bE9!L7babNQhOj3vEC_X!x3cMS&#Ld z4k&u-lg(7gxo=cB^oTwA!;f(vO44*ImJNU{&;ts+t(}IxB#hFGZq@YlkcrAm1*5Nw zBk)d;9Aox!*g|M|YNfj?FY???lJ(h`m!8)^QPHrRX&hZWD_vs&xSHdFVpt!on zXDxKKhN#SqgLa7(Z39>jdrKFaZ`|2BL?zaO|BemE_*Q}N^^o^jcM?v9JwjiR?ashn^2(k|rTsW=Nz%E!?`Ne_(? zrySphMaKm?Ck!mJ2qozjr0c6JTr$g{L}D7j(OM&qbvU*(632Bg(jNv!Rvm@Q&wc`Wtp6Zp!hA~rBa zJUz^P0m^QGr%SNbeITN@`_y~X$^#lx;Ton5Oz36s-{a%vsEBJypAjgtdMbr&VFXRP z_%cA-RtS@>xdRzUeH!Zoz%;0ZD>wJMXgyLtuXBVRSU_w2b_#waxT~a#&UCg-BRMXN z+X=!GIyo-3Puie|v&Llr;VD(Rni*feCnbQ=%(cx^suVVbh?`@KKsF`KTx{GzY^*jY z>}gQRptx6$+~tvOtq-P(Ui|}U8av`6wh>_X?E?g7yKjZ}r8|~O<$KbKOP!G`qm8Uo zYy;0YPf**wTOxRhxBeCR=Yi*XEIh7+)Igj&-B~MGMun6x$w=mg81ghEMJ53M3&p}A zi)lnIq(l*r2TI66F4eq$C3N?YuQV!~%H~PBhqwBQaUY00upi&E;MDviF(sV54n0m^ z3+l(3`%Vx%?-O-DGc*mCDiHkBSm=0Nh^H@yq$AgJ%}WJPd$GtA2z_G`VH>8A-VB;r zUz83zf?ngTF^(6GdmfifEqjJU;;gE9qac;ozPln~a{`azq=>TyTHZF2W{sfmLRcC> zw!=6G7G9UiHn9ANF%$7fxsk9N;V$987;7Ck?ibh&@L-pKem?lK(2kE1l6{!P{L7~+ z!b_v{T{y`i{$er?dP0xmAo0LiPCv<|2LIB7%?*R=AE7X2TR;2>!V-cfo_g z&b5Ifbx5cW@1B7xovQEbV^uFxJszPl;_o;QR%ZiS)&Oe@RA{$~2OH*TJ>I^@{U-!n z5JU)0;PO1eaBfi1fv(5|OPk^g@+UDmpjiPuCd|{j1u5TOv}U$ury_BG=8#&d9yXng zq9KklJMGZpp*Ho}Jm3a)BWvoPX?twN#;qKW5qk(Lf;)t5)5+tAeP;-uLo(WY9hLyW zbrJY514qd_FgP{t3wT`j-k^FOsJkBbw+7@@RRZ0dhOeY!V0Ipi%@L1kPMey8O(Wua z#}$dEGjY6dx5}}4hTGHlb|&VcGncDRqv#J|thwN@OeYD3QLb)8l--&Kyh3DJyR^f4 z&?Su#VsTGuCXYJWSB4-jaQ)iecG{vXcwCzF5yQ3L579F45zaG(>PL)H8N$QN^etr$ zo*SuSKq=I2F`b-g@7+t#`Y#W*Yr{1$(C=70)>hc8*7}YmaBjQ zRDc^6BkG14NhZR(fXAxz2*6@~a5pDGl79U4g=Q(yVuus%y?NwzJ^q9f7Kh`#3bq`k zILmk>I`t?KH>bQ?hU`1U+)_(sjY##Ng_vxEaH;rf%?t?_&$H;U=8z5b$Y3mnm!|-| z!pT(^U{J#{IIzqF2<-lTHjv8j-<}Y=kueN}e_r|UO2>OK;FrltV`CS_fhK&rntUCK zKh~#z2vc^570NJc$6~1f3;qXGo)nhtxi}Sps=e12s?e~{nq&i3?K`moHtfHl+L*iT zfV|GT4p>}F!hr+UZuQ2oc*FZ}<{u9=f=fYp?u`Re?H=en$Vdc{LGj#B0T3OO8HRAh z9~uctbg=_PS~@uyb8#U)*B4s&bN%b7_bS2IKt?s4+v6kopIOz&+*rcyob}~t%`Y~8 z2`So{8BMI5p9-4JMZA{bjbCu_#S7Q8`>Ex%35yU$>C0Y#u7QYa32MAx<~|k4vyQ-h z?Gcu0cit$&nskKC+>Y~63|j=A8L$8gU&?xNeCz&+=L zOYV3I_q>xXyQ>ZE1*cqb&oj6eop#lI&*5Hj#x)PTfP2|l*R^^H_lk3Fc<2?}tIoUW zk=Ibi9EIXW@dqC)Nkr+LS;MG2RUkdAwcw#4L#m|BehU550`%Ci5jXdLsl`fvN7Z(zuB(<7$ z7s%e%rDsM-GzXx@DS?_teaY+eGhe0HEcf zT86qmaI8N*TbZfNh6_Wo{vg2%!?B?cqT~1r`!Yb!L6R@6?`&!phd9;c?&^cFF|FvN zUKt;-sKY(js0nkl-$`GeWu2*Kd%j__9?`wi!XozS+S$g-Hve&AwY} z7{^|8`4)Qei;bHzueCbSoZm0I6*V{vVXUw3-RA!fw6^gLg!g{@gLdo&sQ*K32i5ye zy~;IxZ{%9Uy+ioJ-1qGl33qi3txR|v8{NT9^x15Bf$7H1oVUAaq>6D_lgB6`aeUO z`+me{(r$DAR@~liJl*17IW5F1e)i}6-%eGM=g;_^;@oCI(obLV?o-zNBPyf;aVZ<& zzctP?RR;fqsr@*_=66?{x38~6c0=J;f4lVX<4?JgCy3t-h${alkq(}W3213?0k8hG zh-&`xe?5OZdTBS`m<*r&YlFa(jv!qF?<0ipU&e~Re$smJo&S0ZuAeN zUVrew{XO)0e>Jm;w*Ed8^?%(Hw9(n8zWncUxJg>^40ndyiY3_?^?Z-`+CE8bF6fhU=UD+C{0+O<{^d4@hn~u<5lHd0O83^>rcjsPhdvpsa_} zx`ykmzx%>Md9NJdc%$?OD|LC*>9@lbK<;rbmT&!^Is0q!?)B~8-zL3otAnx2 zfZ7~<`Tq5`2(NYR>TH3w@*Q(v{s7VwDIiieSd9>Iqe+p>$A9{ugNtTylZ$J0cM^S|?o3$5!FLlLa? z;8!ZHc4r8QYB*+`v57DJE$_D77$LM7grHz~J^s^Y)|#geMgQ&b!VmoZ_XR!p7@ENb z`u8WJJ?cEaHA(nG&Izpki}T<`A314#+I#03@~01jEq~u@Jiwmv#?So^r0!FkhWWo< z2runkqQ7+xc98qQ^snc`%R9iyFNE%n{Nb(htDM>rK%@_zrdrTldA&s87&!CyFelkvaSoc$M(dxxBTOq>m) zuC<^45-$rxlQjRltbA+gSX+ZZ5BDMvG(a%dy-Np>nRJ^9Y+{fOWZlQzpPTS>oZC#8WjpF(s1=MNe7*Mlb$k=ty zqmNHVm|+eDgzn?QLHu6=xjXB30(17pQW&~ttr02l^h`OSW0K55D<3_BuE3VXqBg`Gn-|MFVo4fZ&RcoY+9_nRdM3Kl|46Xs=tw zK$24t@vLU|siQ|oDhGV*)Yg;F52mlhcaBEGQPBmEZ2aHtz5X_w27Kdfb8BjCsJql|%vWBuv_@h}@0V>k z(M&^>nG}0JDCr%iowvIM$2+5|2;y~M<>5&F(}5~-uRp6 zQDv8ZJ91v_Cp74nyE=7T0v2y?ktv%bRDFnmy(6?MM-z^upn&y4{o(y|(HzCK?o zp8UJ^%D^E6wKhf7!9OsWv&v;$$*@X|upBK;)D`%dl0*L6ixl82mS8C*F&h1s|E5d5 zDqs$qT=lQ7_SOq1tTn||uRc_jT?PsfQ~*qZ3I;s_ceFn3Ihl<#k;!H5e3pJ}bHq)S8N^f3F1j_UYmX8KH^8!LwWt5 zK;O5mgdODX*7o$GzE9n1%vA1kxqdp&*c@>02BwD)@PJiIq-o7pZ_d8&)j;xFPw2Q-Epk=Fn8>R1O~7c z;!YsC*yTvhx_&!{=frJ{b7)s|AkFn)PP@zO$SRwo32!M5Wv| zh`T%YxW#-Re~N&)I_z&3OqQmf&GX|pN(O4EpYM(pncQg*IW})H1#7~Q>p^;ycftKg zzL0aHyh;z?!Q6=5n0+$n z2D!*Am$ab6>|>HYdd@<+g#5z=4a&aw2|v+T^2Ws!Vm~f#u`Z-h!v1>@ z0ARXM%uZbBEPMo^WkX$hm;Pz=_u$GofYLt!fYLXp0PQV(k2+L3$9(Mqr7Oz|JW#q} zIiWPRWFMepmXcUN$;2hLlKlT`Vh5nO@L7ryi#mu?Ab>Rh$3qH~d#s6>-y>%YGa$S03`Q=}@)n`2p?t~3h;YyUYRMe_d86F?~XMQl~rq9tS zC`5M*g18@_*(=YTmIc$8hBf7osVjAw{&HX6)o6;uqABQ@yd_9Q%%d} zR6EW^mK%*xw2@GnZ=pvnv)n8>(kKst{OK!6*OI5&VoYkiF~t)VLE?WMy7a&?oP|Il zvvShmz-C0B0Ygj%6EbpU6hULkfh{}sJXx9|Sb#vGf`kYYDPD|NaWbSzlP*t@)Old+ zP>GqJ$1Ky$Fwo!aKr|dE;WDGiA<_En^057H~F~tNDB^i;60uMMi}h z1qV61g@+Ir=2ed%Fv>T141saZt|tyXv}{s%3V~@}^$Y@@Z}J`l_HuT$ zj{@&U_y7V2dDVvyILtTs2m(hryE;aJk0X2%0w?pTPeI^RzR9N{a5`nh;m0?&V4+J_ zcfH^4`WL$5XpeXP0y1#XEN;3hs9(xX=&m`f5H8(Az#6h2Jr0#01bFq=um^k%GZudX z?|@msUrEv^QXlX-_QfZNBYr@LucS;bVE-^y60LNxd2M#{0OmoR%C5sBiTJ=_t1RHM z`ICbk%<`$ZOC>3USPSYSU_kSV0J04NR){5Fx%GmbIXKjhj;F;|&Hme@5ge+rgs8|^ zs?_odp#&j@4=j-=7eon#YMWTm!3SMo;NgMr-12+8T;($A+|a&K8}1V+#R*CFUI>d% zDp!{miFS|?1Mj1^8F9gq~I`NoUuy@xGcvJMHoV=hLim?GbD9@x-ym$#ddn~kj(RI%O-x8+u<2K@c2qy zvX9)reBP1Kx}LYq-m_m(*w|Nk$o8}?w7=n<`##!GFUh_akJPW@Wvla>!ep#)`K5W9 z(!AOO6|dX!vRBM|$$Osi+Rf+J8Yoc|9uUVK*6d_t!94nm`3(N6!UFm{q-@30P%I(+ zAm1p|Ko5H)AxbQK1=2=Mj@8D`Z=t@MVFF_kN7|}-EV|jDC<>kpmV+cholUFeA&lmi z>15j!gZkGI9v&#-If}39OVo;sTuaKDgruae0~{9_*3kR+5QCA#q9>Z2rraxVz zWCVjlGOTI8*{0qyW0>HX;AB+Br6c%d)I$?VW-Vs4Pp4*{Y)68UH#%BLt6d4@&?(*GjFI|UMKrNCB*QYO!r}Gz=wJYzh&V^1ifq5} zHEtlW?5bh~W&K$_uqr8hq?qYB*iX%pCG3SBdX7X|Ls(X%Qo)_5&I*;^@~?97PafMV zTG9vvD8`EQj1|?%6-ISDu!7vLsoUogUM}2pi1@**3rC1^q2K!Ec zx-?Ch^gz+ASZwP}KB(zbU1kB?S_jED^h(h%RJpnml9l1*bTjB3=~R=u-A*5pp9y;g zb1ig-#P1BVh)Wm<=^c7F31~{82RG7U=Gh-T$7QEvPstcnr}h~NY@uixML+#NBQQTh zGfmyK_IcN4@>_XQZSTl*2gXuEXpA+DP1UGw^Vh(v7)d(ZzJIbGXPi4_+P|t%?g#$Z zdsH{xln;d`s`-%wuHcqVen^@R8U*$+5cO0?QU;(h_~g$N+_Se+>QZAD<1pG*wrIn5 zZlG?hTB@@aFQN|#c*N1x9aLnJ0ljpyCBR;+M>gCoM#&T!Af0O76iIQ}XRbFa@rp!Q zcJ;SSjhQTf@5%;Xa7SO^4J>CihDNcI(gxy)GNmrW{#?c-RZUSz!+oGqAS}!J z&1UUJXPTj;nB}MO0F|4d?2Dy4gzGYGna!!v^(ypM>HWmm!C|C|$+@Zrj|{obIS6iJ zI5rQ+{bRHnLJEuuHJWAzWDTdBDi4Wn_nOsMRS$VS7&y_tVkK6?JQye}5LVQEKMjs} z1OZ5>UxfghOO;NGQxw(mJ4;5{r%-=jpzlkPea6b4vC%wvM9HirIwE03rxd;tL}btS z!bgnnvvEx41>BUkQ^N5HG&6|h%F3b@(@!<64Ao7%?@3pwKnsoZMRKbMG}BZxmSQiR zycx2yci3rqWX(z*?O#*Z{Fc%}6(DX^U)e)g*6Pt3eMNPUKdw$15R|iCq&n~3bY5#@ zBfXKvfVN6@HvFOs$6%SzK%IKKb0n=K79={qH1Fm6;EfhC8n`i|gozCzxgV&Gwotua zM`HQrz?6s_Uv(rsVqd1xYg62TMM{|wUFfgzff4#_oCb!_vZe-<4)1CKY(4OUSZu5Q z9w*BReGnBLBa@mur4Y${)ey=eON2mHnfH*NSjwHe8FIULdjKoCtFMYp=wsLX4l1s= zzH3)`qk9J)l`^>Up%w>kblWGZa5soz4XzRRv#xz;K^1YsNqfN-*cwaC7iysa+(+Ta z(U9-x1M4NJqFdI!inWgY6xQTrvmLC^WVtN~jtGoN9X5ssL=*8r-*B#&2TUx$TcKLC z;oWSc(!Tyi*1?>nXf@V~Gp7t?)qU8Dhl}2@BCD~k_r61nsh#X@ibn|SYSVSA&)ibl zv<>_RXDInMEdC5YhZC-&&jgGP+zP+YWJLyDl}6@U`C3LYy2j}-Q?=X5-YA@?0+dJ*YbhzGz*maG$Cb}>;=IY|=Wi@X8HOXZf*$b{Spk}%-H|mIiWPmdX-XHG3onlyQGY03;k13!7508NnO zgxkdLF+bynzMt@;x#QE$-ovq3;BF5lAvyHUsMs^~6yVWlK|3Nxt{{_5;~Ag0!FT0d zy6xuelRjnZEv|c+TXYRn@i|85{W0D!!jRrWP#d<~%eS`yM3TZ1&tC1!SXT6$&Jp>0 zLEWL&k(o|(p&JzaKJb`p?vGWe-|aJwJD_!V*nY%ww}>Sl=!q%$L}X>#X19p!rS`bp zZ0(WMgl*NE1xxa;npfjZ$zij}W%f%w)>z>=iwr`|mY**NS<*((yph(pCwo$E!G0lL zGs-TR938QOQ2s1?Xg?kR$+A{k{#vYAyq70xa=nB@q*NNImb7YKEv8C3N`d`XERflf zQ9Bw9xK1%hb;SPDl$#M6803zrIeS)WvvIqzt=haAZ#%sV8ZOGWOpDu6S;>rrb`(B} zB5iqq`?-%k@1N!WwAj3T%^<7aGT$UQpev6g@W=s4Kv`CBN8P=;|FZ{I!Q#VB`!w0S zT!h;XwozZ{b)R#@irig7*uRT(*;yEgwOx=MW@hJcV`_F=yg}96?{cRbQ?R*zI;7us zoLs@i>=&y;)Yl=~cFD+&Cp|Mzn#yG)8)XcS@GvV9p`k$v8-AGAh0%eZ@dG9>TKA>s z>=q2owx9U{0k`Cnrs=M`U_)`>R1BlVMm-2D>6p#e6d8#vw0%kB_T6fW(VG61lM0pS z+KltVisFQ2&+!{F1mJt$`j?m8*AoWG>M29X$%Fc(0eHU#;&wCA3cH;WV^178mTChr z#LvI%>@e0bXSH>!yy;I^=g^v)Hh%@*=!$lXTt^o6IhmzN0!Q4{-_Ec99jQii)slG8Cs=ITWwC^812wD+T7xqqiYV@>v1 z5wU+x-~^K^y}Xp#s3UsJP4T5g+RsN|H-K9zm`^m@VbJ~n03R|r_U~! zUqI~K|2z2DH&flzq@Gz2GA$f6$VK|*mp&vdMt-yG^5Zzws-&3_){+F^yXyG!}_$CNE=JWx(BjAgAZYznE(5Gjkn>2cmX0e_8h}B|Zgyiuc-giW1oN0Ir zh@~XNM$2Pr&w^+_C{`L3n+OF!g3(_~*JIWaExl(+*PQ59k5jEM%7P z0M>i<#Gdq?b8+>5m$k7+WU1tf{Yp03+_5hv@vl4^o~JBn655j($<;OG4trT)kisC# ztSD+E9MyhbGMJX;ZI_isgq?waaC%u}qSPCjstynC>tt_tl#P;lDyIkROY7a7@!sNL z0-I;F#8J7nCCM2Y+NlAJJ*gkfD{+4@%#Tm=SB{amenNjTHSz3WY^<}Sq~48BC@dacwN}z;bIqv97%N1Lrp)35f>BF&74v1YeoN8qcAU;URIMS z@O5l=bOvjd*K|m|jOv*|=h8Yicf4<~?bR~^eNVlMJE33*4Aa=^06z7~OE$mm0^_&& zziE$auq=$&-(34VQcC$3_Q}lJ$WWQSC50`wu_wI5-R zIn3Ad_3=1#Y<|7=*-6r}h)C)8>IU2D$<-x&kB?)&JAV02-q<6T`AIF5e4g1*ZXA$c zND@2r)A}<;vZ^Jd3H()Ns-El{*|#oK=1}k~0Z7>wFJfo#U)+)%9=Vm;qvVvwn8tx5Y6e#(#EY&gMrAi)Mp#B4s=Ax)c9q@!o#3 z7x1Xhm)$}8Q0hvrFwmaho**rb2>M0f&a%iPX+h!V;-Z=q8~d)^-$FQRW(FMkJaw}t zc#4Jy@{1=Monr$UP>2p33&rk;j}I2M5+IHuEI?HjT0|F+x7O$lA}_t^bPP0x5r>V7 zQPo?Gur{b9N+dQ3Q5sZel>s@w(dFPb`TZ>S+e@u66BD4VFhSf;U6 zna(mhw6=1Vl5kVHl4HgR4?v0Uu#1XmLq2a@y!(qNyQra9rg2nQ%y4=>GAuJ}z{)QV@KmahNLU8io)3YBG)ouo9f*~? z7isK(I-Y}+L()RJW*}O*#+Z#Oe(yqjmw9|FtIlE*c@c$?TBdZ#hSlU5tq~I|b_Dvn zobKM~%aZ(|3CM{cVIa5xzg(;GONnZunO9vX0ihn$5xb^Ir{h>inYqC{0%Ka>u!SR2 zg%yHo!vGM9!{X4!;n?tW4uG}`;bR+N9~PpkH^VXC=Im^u2m1iX_1@=C-qzz^zW!_0 zn4Q1lJ^2ekqDIB8Y0&BPWqAWEi8+RWMw2{1@FRr;S_v|DD}xHY#?133j#LGLXu18b zl|PiAD8>v{q*_y;9Xr(QkS9pzTch=AT8EhJjJz_1xX~(o#PT>HL0-91(rA~o70X-@ z2yO=3wt_LSohBq~r|ZT(wLNyjkt3Z)b-8RnuDnw0iW20K|LCVrLR~SLi<_aYa&w$R z<+Hc_>Cy4!3B^G%jnPphJO8)qNiSbSt6wG_Yz&^czz1HD-!0+tT@uV%YH~UYlv3vZ zrtG4#0qU20{81r8q4hJlRxz3qHs%mkw@QGJ^RsMIP5tQ`S=ND0(7Jh-oL)G_Mds;C z2tk3IG4z8w?xa=3E|3`IRZSAlG30Qhsif3dS`zTUe2>p#vKD(if#OKXw)r!VaR@j~ z5xk--9SjZLq}(wXnmnH_q5BZfm!b^u_?0#lCRRg!E3T9WWr8|OUn~xZ9vkay$Op$y z$L*fmfmBArm2*1SC*r_LX)N0LLp0|H-pohQtVihlSmE^BF|6AFTu+Jpjc>jeYrn_c z`}Q)ici-#Se|imqn;`*Nx3-hh)c@8W?3E*_w%Amo26b$O&BU56QZ_Y_iJ(Cgt6gJ`_fh&kB z$QLz7DdxRX4Vks za50q)zq|F;Mw`c>#w$!PUub6Ju?+#sB=D8~^rMj;?D?nXi8H-)6jBCyImtFRd0`*D zn3#BxJDs2l^V#@AW?bYvML zI+Hpi_|^3qT#MgOk_t_ZeU3dZhhm}9VY#jKSt+prOcDUpBzXznSdPpnFLQ>zJO~PT z5#JEqRx7})5xEFSnA}!SK%U?wBt>GShM@WoYWou>xM==@n&Vs}W?ciK6a_bwpC8Z$ zRQYAJ+#R%v_vD7JL4N+!B z4iOFtRq7x|;F5A?|71vK8)38D#zw8U5I1=cnZ_^Rgw$}9SyErCFpIr89aJ+1r&;Ef z#_l}|*#&v3(grd3s&gDt^{ejpf$+eS!=HJsgBkXl6q5}S#ENrKms2u2I&6_ZE?lh&H1e$0 zCcZkT=0Yxuq&|A2L&$LP)Y_sULOZN0Wec4mf@>~jS#8B!wuLPbJ4#rZ8e0&@tX#3s z8phO`Fq3B$!NvFN*`R-drWluct%wFUI1#bAK*4TEnGJ$5X{I5;ps@j9rJ7V`T?tXu zCXaQuQrBuLidlJhURchntab~B1ZrilaqQxN0DMDk>8hyMGOWe%UF9vqC7)~=7J^pP ze)woB6jOt@Xh@c^F50# zN~C95O-i{zC!+5!k9@c7M01F4Kd=GY?y$O z@=XefRVHM%Z;56FP_aV~G=pIE;qp>&Gt|uWGJf>lcY?A%QJAQtDw~j|O_VQxt>JGY zMrNz5wm6uGu<<57uapZt*a9WoeL_1KuS~m{06;*$zqCp1m(U+BgU)c2d;!Yg z;RN5p=#ua|q?=~)_EUUn4=wViKx~i*A<=6FaWyR%AHA`YEjQ<@bq=fIetGl!XoqGn zIQ%koWNeOPk&>Gk6!F8T`3$cdgOkOQ-|5UUj+(ziy!rAt3Oj<5E~$(i_P1R5|l^JAB)S4R&}1;s^WK3 zeVQPx`W&&HhvR%H&SmlW82ks}plo_1GE-{*3Ymit130PV@*=-YetFwFdV9{%Yux{y zQD=71MFyQ*X*Ffh6Gd#+dnV=no8Y@!GEQ}1tJ0wtqXAa*mUgDlDw8PkO-T>|vzhS> zXf}sQWwDZ&SQVEeON3)gj{lAKB|s0}GViCIYeJfoRAr)Y|KDeO(=Wfu{B7jWHjT@r zRoR?!deY6b_$4Q4PZB1fEe{}WDUaWTvm*o?XSH$vHn-;t*TN@o9tRchl{-`pt4?js zm$N%JM#rZGuM&*cB1mYEhy{PrA|5rxw;#qC{}nUX)t*6;6FZU`It=#vFn^!@&oq%s zotNiSix|tkjoR&`L#Zp+tgRpENaM7qO?!vZf0u}pVXT}-l*K$kxj5H>L5C%xOUC%6 zu$6a?Rvpw(ecgPO-I}L1TIKlI`O)%};07MMi+~IUF@HM;~(_i+teu3^0V?dAm6w^RuD9)3OFl*-(1QdAZPG#`tgy{0>I?G}% z%rVvZ$XEmnla*kt(@Gj?3=+QxZ(gAcafNO%b5@Tblanw7gvra0$o)KiNK2eWQTOBM zd0x_5$c&?X|NJ(AMpM=x0UIlgepYw~pb5r$r7Gb_f}-zvmAY6WD%a%+E5cIM=D&am z{m2hUSZ2!`IyevTlfHiY&l4hh>0;X#oTH-wvHB-uU35A!iB4_kKfMU1HOK+XLM6f{|?Nimau0TM_X@IQYYq; z&P&6bs_fzUVAmGHOtCO>ha9>dO`MA`#Q$@N_Xq=N&y0R;l*$SXCYt0J2dh%6O$cRg zCUjZznnBt81`^HXU@+LSMPX4JVK^5Ty-BOmMKAtC$oi%q*HqxvF$anJI|SwMAR{5# zFHxFA$hvnhe~nZ+6KunC{(wtOX1L@J4(AeFVm860muA6tvOOvl+&eJ*6A2aY6vMU# zP%kad3BTq7%>j%=^vC~#Z+}ZOKX7<&61tG-FEWifA^qqX>9cp-mucyfs9+^tZL!DF zlS5qGhmiv#Da>3ZXEn?qF*#;}mXJLgAzwv2a<$IN{X`S z+~lnH=qm0-$(JOytLXs z1=8nvG*K){^rnRqqd#B4#j1W~v6FYYaV1|M=km3LAP8y$XoqG{|Ks7@k+IpE1zxNu zv(W&y;5a>L5OQ`?)aa=w^l|G>_KJQG((q-}x4SWsQ~f|NgbDYN$v)D^Q*KZX$__(J z2SKPYd4RVdx4Qq~EPZCw!vwly?qwmWv@q2d;d+zAtW9G4?Y?B=l1xh2pjp-#7 zRT6{Hkpq#w#Z(?RKY3_X7P*nXQ*nQULiNG_UT=7KQ`n9<09FP#qma_+YkR?>8Sn`Q9#*!Pw} z{E5v;w$}1@`xn=Mubi2RbPs1jHXWm9PvCme6`32MEyesj^J90dAd0p?pkedT3!C^P zWL<{C# zvad7_9#_x-|+O6*Vfl<#TVskwDprjQHhkaNEk|H?beDCUE)e zW$8ar{c7*hQ}liRIJ-I2^QHxBgM*>LW8Bq!$Nv5A)1M@f5nuRsIK2+48-rIhpq-Uy zDdgTs+X+O~(*`wTLlDM9=HMaIhcx>(q44pDmm0Q>{^1ruoqIAo8FX0dS&VviTO~&7Iais-f2m~X zZI|c0XwV!>VSAq-mh9DzsVex4=>wVK^R&!mb*G-7FVL5j6`t7quNhwlg(eSO`Y!`v z?1-7G^rt%zJC|uO@%F}_l^W{?%+T~i`hc>m2Y-y3F6ZlYrF>D5o`#YYY=@I64TMWPt6nf($ZF@J-+-u%N8lr^&VSoalQ>V> zV;;A2o=@t654IkpD(e6k_roLT(GSRq1C_-E5NQ3fwOb}%nIKFyW7j(tK&3o5oqTv- zvBB>5t?yv44eV?TW zhG=GQ*Ut&ih6|6NM;DM+^HZg&C7x}~I=G=cEvucNW#Wv?j5Q1ArjvK2(nw3~eKXHz zUfx)dmg-%ZPQ%;0X&H0&Jb{n&qfz#beFrj@-#h@_e*<11QhfkV3z?G$z_|DM2j=7t zoS}D`?|{dfl|Bi#L?L&~0=ZJ=7O35;R%zVcBU5@6>=Ky-5@@BwO=vuakB}#zSP}M$ z17csmr{Vs`a0ndU;urY4t~H*3VSk6So~mq_n96rTh=(EupW9k@S@pyr_J-X&iS?=csc1_@`iC`_ploxSgrW z#Tz~ae~d%-{j8v)9o+`*?7r1_gxIwYSV1nFE~|?uW`u%@>E44Q4YYUMaNNIDv)9wNcx-z|XMYw2HQ)AJ}6`|VNl_547n>fJAaN?-kFDXcG zHf0GF`C%1#cMx7?Q8rT!u#!Oj5tcz>WBD9LzoGp&wQ6q#uF^QkCj+e2*IIOrseGW= z9IEnvCoXULzWWWyJZo!!1pVz4FVwG)IyLUPx&fkmAd7Bnu`l;+0I6*>#u;m-DSYhS)RM zc%zkN=*V;IitV-Vhq1&4lbqdh8i4}U;IN7p1{I|)cTHiS4J~yu-M8HUIkkNHmpA0` z%R&+r&k9|TBMV(Zfxv>J9*GolTi86AOA%lwk2nyaG9c!c0@jcA;Re$Pr_(figu&(* zX)q5DoO#5^K)HrGm8RZk(lpeo^!j?Wy53|=rS0#qrPTdDf?Qod%K1zdCDmlpV)|vF zXkr?r{~J;%rGR=NJNpjB{s^pyueO>zZ_YBEO|MeeO}dGcapD@B=n#z<1{53R#DtWX zKZZcgSQUOP`aPX;HKhByfB`*MhQ5IKejhBo_~Yk-*s|cca*-6S>uS zViBzajV208sS4IBQ6=N4UKlWHZnm*+v;mP13vgK&gA1aUN4GFrCbqCzzWjz^!@!td zyq#P_Ct&?z@RxW88w&kp5ACEh+weDyNw8$FIR1gC+`D;!9lzs;A0+R9E4R=ESpYMd z^TCvh93h*d=X5N#a26#hHy2PSVD-l$qd@A`#N3HQM*ms6a=#93?VmnpM@GL(JBj}q zK=ksyuo(s|S4sTbXc~P{de+vgtj=tDIn6w&9wG@LFnTq!2W8A_m^u9>Ip;%8>XMPP zk+-yda@G6JmO-I#vENkL`#=Nh? z)ura*?yV9h>2tQirmsl-XHpfdit4MRRq{b!*>b2nItHzRs?1Lh?o>3x%4muM z(KM%`nNFK5S6T+t#v9{`|PP`Msv}WlqM}5c|^zP zkB+lEnrDp(+D85dr2A5T8qKgEnxZk9W_>i%29sq{FXCiQIKa_6z0x*`W|$OBp)qM{ zZ3=7EL^Eb6nlh^?pi5wUgNoxWuiEUy!afj(`r+< zOrymzjap850GH5lR&M!sBaSq)`0{YP68wXynRJi?QSMcv5%uCFrOOc zyTus(XtB(8Y+pvtN$6?0FPZczx9;X6<f8)NVs+E=mbi)iUAt#F_asN1mZMEiX{z^<69a6Bt~PlZ;E-YJX~B^OAMCsIBI zX$*~{i8KkO{DEQPT`Bcr?$0MauiDhJ)VsMC&6`{Pxg~aWnx`kGhbKN4VEZiZ?8~o( z`<+tNy?HuI6#=&DYrnzxqoX>gu>%iEKs<2FqTgK0>g8SbR{%vIxb?w{-~ zsZhoYqbSnVYu<-^sNXNqs2A6M@=t3G>#6wA6&t|T8sA6Lb`V&X=D*K1W#z00Y7re| za1Chj9klKZ=sBL!>Q1E@N58r;Zlnlr{iZ)nN5pqoNIJA#QB{9uJWuGMy)zl@SwsXV zlWE@uON&K-Rvo=`;H@kAn`qQDYq*@IV&|_KnZ%_LC%kgCd3>HtJPlf`p)agOikAmG8e&~0wwOA;28%`|Z_|0?D#qoXJo1nC3#4pL(Dbr}l^oLo# zW1G)j&Utz+Z`bDz*UOu#;NE;qy-+xcKU!e@o8SYXk4lBBOl{?=pt@GA?5G;MrgB4+ zhJB|+YLxJ=_2_?Q{N4PYgV)dh+s$X|Ot#!p-qEg^%GxwyNs1(H-+vJQi5C z-aVH)B&e_$jG2L*wy-?2^50~ow%9Bl=&GqvjzqI*-@QUYkuYbzD zk3M}gfGC`VP@?~gbrAa`&Qg3g!)nGpqT{3w$UZU=Gh5930n3+^)l^5>Cvt4(x}4ip zUM>7L3V0!;TV$8$YKcEfdn9X*+<)cADvUR7jPZv}W|}_JOrd#`Eb6xOx@EsAAyl-f zJgqiaBT3U?tDjikYjd(Ki0u)(_t*;@usGs(^k1iG&Qn~9xZLboi(9?!u-%{S(MwO3 zd-3Z!GU{5Vva{`TU4QSRz1u!r_PKQ3v3;&*zuqSXJ~1?F!+9Ot zXmzpu@K(K_;cEOIzNJ%C?Va?iu>o zF(PO7+0$+8WIQ>8Hw4|JS1B@>ePpqo^+BpVY&KIH*nT(rsa;jINsU(BM)i+0 zv}n4j<)~Fk>lI?Fb~ZhDS!Nv4ZihgJM{C{)op)XMh@H1 zh!LPb9dKYvk&1=Q>oya+GTop3qD=?HuSZbFOn?sm2$eOaP7&Z<8jKBu3W`n~gBU6} z0Rsu-e=-5I@hd+;H|?9v|3bma+sW~Zy1`}mrh?oti#})kT%$^;fG;rqV$|fW@PdB! z+UV+M`CUfw!RCDk?^-F?yn;|~6PMH5O#16C9oYGZ6*d>&n1L`Vzu?IMBA^yL93FVQ zz2CX?zQa$*+a`b6n#l>5Xu-&E=i^GrwmnMh7u6g12!6a!u%k6ReLJ!z{>=qX-D&Lv z3NyphpM(Bx4R95t;i0blkq;+>N7EO%_6Bdqu$9gDaaAq+h^8eLJfv;x9R{W$Zr+AD zwP3gKTQGtZEnF(FB}5J(sD+>K;GZmbu-#lCyjWwaBZ39Q-425VVfozDm^TvXm@3M` zZCdP=!?M|g;SuSffB*p)7zkh>fB}1C*dSr}b8La{nkwcE6feO;6@er9F{OybDGWOW z__=@^T#b9z3y=XT6oxD~+1m*EbkSFUm>_~x#rQqvb19!?Y<|9h5gO`|vKu)`DdThY zsJvaH-4M*LJ5|oeX`ThW#F(2{U^izf@8X?mgb*QOyi29v*7WK}H2or0usfo_>%Cd-N?+Y4I(u{ilESAiM&W*cGT5 z(&qS;JbJKQ{QCE^xKt;H(2H0P095`vCzJdtIrCXuPd(@2{@|)AuLJp#_uff zl#|QK=JC(Rjeb!q6xv0#(rzml3RNZqc6RPFCDG*09tf_j2ZK1i?e6SM4^wq^tp-tr zq`Qn8eqc(W;N*^hAoQDofFx(Lwb=`FLF&@}b~XT%3et**0?#vb7aT#OlN>>xFvSV8 z5TdyEVBZpffP%kjFW|R;${OwK5Iq$nBv=9|NO&YSfS9Ad0tbu3o7jexv$DErWi&{s zB|DV?GYUrFggL+|@(Z19Fn=(VRx^52)9deQIvp3knxU7$B;`C@RY5~PB8_wXDKg=N z#D)n2xae6{WLBOhZf|zmA-hXBuHWsDHIwawgUAvsEDCZFg21Ls>EZWX#L)0Spq0l; zz!rqovVQB~_B&kWvDLM&lSWxF?}-TW{x(s=3&E8eHgCY|WRv$T+;wxdH&}PT6(U#2 zWtwV4PCm0VVK|j7&Lv&;vDE~7_lDWH2hkByP6x7z$)6u}Q-}ic^FNPE^e8xEKRxfR zIO?$qNU*ZtO}x~y_zxrwy$C2i1<`uG;$I&g6X~ExhyxjM{|CPkny7qvf9Xp)6!rdd z43Fw4gh8{O1U;A$v3X_yQhs4nMVE84zrcY>@QFn&Fxk<}s&ux~b{vv4m2^iSt_7{w zngkXV0bLZgh^U{>z2)_H=aB4uDf!4#^|1_tlJC1TjHB;@-6ZKmZ?4dC)ONTxRC>ta z-m~>GRn0}W|qQT^pD`n@AU-rnx61SXV29jBad zkzq;~rJ}?S6*`0p)p^<@uNHK`YXwN&kP9M4!Qy^lM}cvD4zK7qRzEv)PaX%ju8xh#mp{!-Gyi-(F1M|2F80>4)rsnGcYH zAQO_$kWF;1c%9;SC6O;th#o>+12}~=9+W&%pyY(;zP2W?%V{4BM3QsvqN`(HBfxcO zjS;__W^1S{0^$qr^_Z2=>$2h?>dVm&tsvt(96<7AdD3GW2vvqOXf%MWwS~5kMK|qa zs(__}{;LTOhv8<|`7o{Lem*~I_h)r}dqw@uq*)sVJxm|V{}23X06(5%RoPj@5A&1B zpLO2Taurc(2wvhZr>Y5!ov1SIBr$!Ih)*?u%`}YnwO7*BT04*?3E9t1I2M#eu!wM< zMVvKtw0H=|UDxSL!=r4{Lz=6*{AVl}kzH9f?BMie(k0gAhXmXh7x{}1zRPdz5>@+n zpI{6?2K#r(#s)-yF*UhNpVOTRbMPflZz)$%X$?DJqh7ip>GlaEdSMQH&Md+VJX z=mI39#L5erX+pqoSWmsj7=Ybe%u3vO)qa4G=|w!rdz$xxRr}%5RW5j8RS{U<+7+l) zawxfq!s)6KknSRIb1l0G1M3WCkPSMngPY(M(iw0GTm$zg*Mxw2p19QZ%fc*VQzTOi%O5()lQC@B3qH51Y}1lphEoW4$W7NHQArZx_9EQ@(OZe&-nx7&N|F5ZmOMd z2ayvUUF-ZEtSvVUMZ2O+hNL7&u+*uL`?La=kKyO#IBr8iCPq|<61{a%v7LKzrrjw? z^{-@WU*E8KLi65QHWp5oxVBWb?NrXfk|Jr}==cg=+5o#=spB!{vjl@&Yl%_Mvq$r% zw%nvi{enBMD4B8Rv&%@ z_%BO(s!YsmgjhRmv_F-_bZOrzzPoGnhYC>bB~G^`9WEvzVvK)J@a@3St`jdDq(k3m z6bohfWXQ0Tbv6ovQZ850AXk~UT$P4Ikzw|(7POI9l%{Y9H)c9#O<6)*1m2=3F=BX(j>{R zMph3YMu7{ASaPmnjs?LJ%Faw_-_D0h$3&nj)S{`zzNu0724k8GB?ukgFBeos9Rnz@ z*<5!EPbm%W4r4}Vm=diK0!)^#TkSD99Rip*mW>fHNW@7J;8D7eVI4&c(DqUc2^Ba# zWD2v5^#q=1ETi?fw2_fDfVG{ev_oAP=V3;fN_sW2pH>a)xZt=JsW2C}n7jT6j;g3d zILlBa0xWk5)Da!Tq8~B6x~d={1QP2IxayCthUPHwm?k)|;I;jH%&M)6GLUizW&| zsqmymY*+qo67H%IXM@XXI&9H-@3vDVqF+MvYZy2~HjCgbTzt1pZYjr3F1$&ho!NH} zG}PAz(;5$V;2wO_pFt8FpNMt0c_~a)+-ZzbdsRtr^>~qMAaoQgWnXXrKheNVtT1r! z)MT)2{fJNw+67F|QYwL*3kv89o4vY5SA#iDZcOsda<(&|YRp;wn~lKpV-Q!|74W>h z+r1C2YlhC?OR0~JY%U6X!z3C$ek_iUhmYSZ&aH-4Pv_V=X_q|PT;dxJi~G-A!N)Mr zkqXt(vrF;U-!4>dxvTgTdntK=*3j>iuH^t!CK}VWfBUI+lt~DuV8vxwjRlqKPv13M zU1`{q_q5uvT+_?7-qnKm-0^a08eWy1PeYSS`@;oL6IW{NQgWBQ`>bFxD%2%s{eaU( z)0ftl=U@+qT)snU{(KL0Tp;c7QEPQoQQIifKH1loz7t#zi({lNYk1t-sE@;DqJ z;;E%(%dIw1cT^Uhk=Spi?OHcI-qqjcTcs>$DgxXip|=amlE9DWYty{fy4>wdzT#`h z-1nA?c}q@MJ>M&aGw}po&oT;ENo-6X1C~q4?3QAP@5*dqmeivp+B+TnK!%eNPPMsc zq?I=1`F=Xm2t?Q0yDSlr=PMZ29Fz-?nBPPGKLD2-%7^o{RaHeT1U&{&JtJh{<%ivv zZl#;4*SXz-7CFw@t)O`hD`%fRbi{2Li+H^tku*UqI}~=lU`oQbe!)7ZogX18)p?qpc#1i_y0UF%trW1P(vw*GKG zCv32tGNBfjyK{XB)pHC^rac@~kH3%y)yu^x+jLuNw_Sv{mF(MI_>xT@f*ign_qV1R)RG=KmOQBs|c zD?c*`$_z3&q_`op*9bcTu zV{EGCFf*A~QdX1SwT;U!Oa@?HvLFCqfdnKqu=;ax(scAcIP>k3746*r508XgR&K$* z@~mt7yK0x~bu)H9ECw8RC8mwTm|>@S9;wH@68X9GTKJs=dA>*-v#hMB%5!3-!_ME1 zbX8xEukN%Gg{E%0qKDePGE(OlO7a|d%%DI;$TF2 z4aaPXpoB6n{gWlo3Y<`hAwbMq+df|Vy7#kDNfPWj*l>}Vk_00Vlp+F122gAv0@z)9S<)nw|$`t(A|*c?%ON@`%5HGVJ zQLyQ)pbzSL(Pe-n5d#0e{_22D0^3;;>zNoKk}w?8u6Eq%G;^?(`MeUuE0%i)09n{! zbSqP|46H?AeIetQF0O~i^ddvk7~OR1lT}z=bu$ly62M|NH^=2kBv0t?l5Tl^76-`j z%2zMdPK|-w_*szIe#x#0 zmlC7R+1FnQZGCuAU_+!T{FsX@LtG{}Cs>=C+pfP*-aDhz(H^-557cr4Gj%L~cu%)( zQ~cAVrzUKXMIc|t&7wJ|IRVWGW@e`LoE<>`7LS6IxePNsh6a#CW>JKinLvPhW3Z4t z@?Kei!&Df;5bzaR}? zji^E%j{`2@1kT|Sp1?U=!e!!8e}sN{lpcd0%5T`WgLib$PciS65Mb~ZeteU4e&^@E zG}zGpCNDhmdToQx{lO0mSa*ng^qUv@*=>^i_Jz z4!Yy2s;T^SU(>wa{YR%aKh>`WsRe)G2v2-s++0s^?ivhC`PnMSw#uRL!^Z%}8r?>? z0e!uxS@`^OCbQdci?Ap30;-ZC56TlXr`*YavCEE7LKvFWH-aVgk6FMD3}!t}d7Sc? z^_caT^O*I!ah_0u1a+3*&XF{(Hb%fIvHD{9*-nr1CgEu&SVCfci@K?P6_Oy`_PXbb z$+g2zYbbMbaSvyTaJdQ+#jK-er;zkSPL44g4qfdtW_(U~eMegW%8{s}bjWvU`DxQ4F`hqas}fVZjw-z9V)04XdpP>B413^F9a1sOr}nTM1a znlnCP#=Ac@Gd=yw&+~vrb5Bm-P-FB(kHmHpQ()Bc3`{M{V~g8BFV&qB&jx0x|8B@@kjsstj`h+4n3``!*2_Z~~vzV7*I^cTsGSCe;| zKXvTemv8(5bovCr-{0cRpseu-ol3Cum7&i`f&jl*NKMQF+x?2-V~y!Aq&-|Km*bkv z9749q=By-G$te6kc95cV#)~|ertJ6WLk;rhYqc?d5l6>B>PrAfD5L zNWfd#HqFdBtZ`bq%G z;0GFb$bb$C@Q?;&r8ZAh^5ND><(lE&{)Grw$YK_!$Wqvp^O(eKTrg_C#`YbBmpVAW z6jyN-`F^MjHjVb|2_5BHwD__|m7y6Y3OZ@p@M|HQYij63VCba@0X zzsoNcS+@4i2!_F4h3pQKbesJXpM#!<>(gnL-CkSVI{&^Rm=%(TyUui{4ZRCb-_F;ogiP@VZ;Jz#ra2i!u8ux~qOQQ@l(O1rg$NM1LLxXNmbX02t}m;!u_-{? z{fpMkS52>ndAEc zDrg3uAJv=;AdUl3Ma}eWyfs!)vmzw-xqAS)0ZqB^AS@uHKpWo9Uio=!2w#C$!vzoL z;2hio=inUN3+Lb-M=H@GUG3?DG*KsQq*N0V=H)|8n&gJ+(1GV>?)zBt_2L$~7uNuz zG$pT{u--7Ui7d{Ir-w8Z+~YG-(3Nw&DQwh3NPl1;^pbV{)Q^56@mOE{+xhg|S7*5o z=kl(9JL-?$Iq!tri87c!$iG&20Z=@$+ zC^ji<2t9eq10xGs=j48pczI|A21mb}ezR+LeN%2-7?lQErwUoB=0LuGibLn6wzvcOZr3-xq1z;HoyGnO@nf)Q1{FX$IUhvUdARV3 zBjd9VwdI@sFuc7}RED9K&&~APO5B-3ool+TrIj(+z;YeOc5*q#*K@N9ZMD`~`CJ3z z0VacaO3V7j<^*WAWW)cHxh=PW%wa4vD}>frad(hSS_j(xLi5WUrLN1QVhBblZHFy) zfpCJ)nwb2jv+t>=y;ape^z)|ccYjH&Iut=dWoFlAHK1N*$6{~7Y_aJ#oaIH41|cRW z&$EIy!OZydl3?M+IF|+`guZw(-%ZQ}ZsYsefJG?V0F*F54+MKq!V0uD zmdu-adxiaL`p@D2RNG_yFLLXjcJI2QriY3;Eh&sg_){1jGjud>ipXR>8r8+vj6cde3U+ z@UbBN<>m%uz!^U*PfqLw%RM)0{K?N%Ev_?x=guqqPQc-w>a2n-P5^0kZt>et#ReBUXJ~sh5UZ?%O;|EMmo`p3V183$su9ng=^MGDC&x=O1)Rx-Ye7-I#ZmEj zX9hQx7c{+~29Q!9H9w4;T(kj_@y@HsQt2x195E#D+G3)JS-1fiLEW{OKZ*9*lHND!HjdD{z5?<|{!D4hc- zki7Hr#!m0A>v>?W-^)@{#Y9sSn^GRGK*-3+$;n8_$e2Aho+qx!mFhvnt&;hfqdQ06 zuiRl78qapneM-g7wzPeo$VH=(r^_z=wR++mGcKA~_rA*ODd~`21_l?}PQ)1U%Bjdr zRD&~{lhAG69|{g=WZQIrP0~`*X_ZT*a89}$5z9>0?wz~ptu`bZ<|^ zlb)sED8g%sgv0l6#bSc}>=R-K30gqAGm!qsWm|E&x5)==b2s);f0b{OonY^DB`wPA(UKLO&{>A%*m!4c7oXxqR|A%u(f z15}`b!l!Hjawxf!NQ4~QkPihBJ^Jm`(A;r-tiasduY0rB9WSvBQIwk?{8G?gE1G`O z=Tj21?Nv2s-Q1KEhVwbgeif?2Ug0^YIXtm!%k#)VwO4r`f|w?eS)FX{l*WoWfb42p zVHc$q8mtUb+th572USaw7uH=DYc$7GlB)eM#YUjg+Xxm4r^E*6&+9JB=WE5F)0>gO zwZ@gGQ>SRR3KAJ|p9P&ohmb>>4n!h=5BSy+hkk4w%O{s`y%;8y7h~7Tm7B`u7#pFl zbX+T%?RdMiL{KPFmF=sFRA}R6`K#*`|7U0%5yObvhti*<0s%%@8-fP(UAB4LWd%b} zYCGN`<55D{l6&4?=1S-g78kXuES+@Vt<|-IMnfp`a{NDc1&t86LA4M^LEzLRyR>7O zFYaQ`=MQ|n>-gf*wa%rHBg)Iumg?G2!d^cS1fab<<_7@y=;HZaRpb6kCDVEV$9nZv zIxX0R`49u)Vi+&O1@2=Am<$RBws1N3r7H*1U2SE>HW@4IxV2_9n z`_A=GZy_^iAh1{Ody{?kODpotpLRsr6?n6$c~kEH%S_gvXia3|2Vh|SKr7HpL|wCu zEDCnBt2&o0h=~kbv~4&ZWym0dUSyC#4>IWa*s*i=w61Z4-&gBWjwIFlCVVy^8Z-!C$=>aXNeZ;Q~K z09OTCS1R|bKpgr2^lnOpNqB<1X~XzVQls~hZJHvFH_83Vw7c%l486TlS4NRH?bm~H znHm6w)x0&J-9NAuV-J}Ud&)`%t@k37k#)+e%R`@qam(6edC7Op%GmwVdRXIvQhQ1c zP6}iV9~KIB_5^#sl2eN}w`uvuwX10YzxUyUZY2@S_t4cRZP7Mz2yZbI#P_;q#FCLB z$eYTSiZg_+)d(9y0|Y}YqhoH3U_>qM{?GGK)j$-}d-)A7C~`iO^k03Sh?Y;k`^7Qt z(w4Bh9m1!bPn_tVFK@;BLtO|Qj=a?_dszP#`>2Puo(2}N_t#sdujib|tEytfS0gI3P3W~1JZ3EzWEbDs zSdJ#8uu-oHCFu(r^GVwb1e$d;i^BmC+t%>4xzu zv&N}u=Fc|zYuxRto0e-l{0QFcsC_Q6?nL}g-L}vv<@0B--J&oYgpGF&#cO}XUuSxJ zT5ITd=T{!l-&5hM?OEjY`j)3<*cC9z1@pG0b>1gDrPSi5lnWg&@GQa?(`9Z(Ep6+v z+D*1|AtDWlTG_rV&RHM+S1f6}Q;~weQIp20^eXwW?Fq<^)7hx-iT$pPY`dTnO)!L1fE3AWwq{^rB8Z1(Mj4^=co^K$}uGW z-JE%HwLm4&L}6B(NlH$=3FS8nqW6f1hB*;9n4oF7tBDLl{%fx3%TpTc_r*zGje!Mi z%R*=MVkh*l-k8+vdNlJSL@daT5W{=~`l2+msp)Ru-ck2=U0H~6crU8q;i&Ki@zzlZ z=&4a{n!#|}GF@CjPEJu?PH~pAr_fM0FEU;}3#Z@QQ=a$<;kKqxmZ3r#NMvJ`y5?~C zqV0Wxo83R0%+w7}Cz_m?Zyiz;md<^SmGZk6nVPyw+TGYgNi>`P7%i2imSyr3jJ&yH z`u5{YBb=T#2w@qkL5Nnm*T20Gj zQ`)vvD*C!Cvnue8WzkytytD&XQNF^SZEjN3$NY(2#FfO7!)^p-5({EuJ7b=dH6*DN z93ic{+Z;!=_7^jo4$f&!H&4uB42v%vbynUrtmqp_4-hJd+S9w)LJ=Ve;YgSz9W8>i%47KO ze{XCme2+;{*+=K%9gN}p<1%lKuEXAb_CvG~b_`CM!K!=t@&~(jE)LM(gqgGPdA7hb zX2y+eaLE%9z{nI4QFO=NZ$M6KYv(`ZbV@5P8NwB#E1q zEb=yI=aQ`!a(OPE>5W9<;Ss=snSx1$h@*Z!)1ah{eHs@ALpQl|=HLO$TLn73io&(Q zTMHwVmvaxR^Sjm+INQ{D$r#GL#K%z(D6ngW+3dBXvw=66P4~gwPH0buc0y_4y&NWe zowbvV4b-pDvUc-LoG&0XI1E1!eO3@I9+I@~eeQwcA~LBE5nzFEM8SLw(T+tN{`2(K z{-(=%3z8&V!MN5HqJ;R9ctta<{-(?63-Sn%_5!gh2!+KWpJmF5^5x#RALM_W%d?|Y zLnMjJg1_jxYDob;XRp*WSW(-zT%{x7?#NFG^#D(L>#eU)hPC3EeLZwP7|Vz#8vW%r zzWaURRwkdu z|44g4IYDlD!RGcYoPpjmM(pNzyUi+`W7M_=5qJPJnWfIUv4%$z^jE!u;X8 z{9k1gMz%$2=8^_LFO#Z0oXs@gdV=}P3$fcG2$8P!-|aEy`!pWP*F_E!P4kb--z-JN z+h12r1rrEmcn07O&$ibtUWBS1bzVX-%)`HnSiTJEBd_E3&fCVphBbqEJcc85GjK-8(mE3Ma@3_pkB_H*FDh7m~OzdVhvkhf=v*E z7`8y%z71j!yS?SZEh7C|@^o|52KmMjDd?eQTn2`Pr!?v+bJ#cjunx*u0Q;7VpX1U= z=!BWXVAYRrx6d&U zk$AViyFiy_U#+1kQ+YUcLvQeKA$L4qP2A{=K85CBbjKb-l;DkX!KvqJ*w;&VYpZj{`?o3`0t95nc?~}|M&TBuxX3(Dzg@etGv(>MY`EY1mEx|Qozy`>bwx%ZmlHzm%+%dfkqz9xQ=YEQgP@RAGpANU%H&PF4 z4A;7ktU?MWgK5!MJw17@f)4_a0FU_Lc$h@Tz^@mPGEz7a5TC;CfW0JTN{Xc=z+?P8 zR;d#}Zj3W7A|%2?o02Pk0jby=a!nX9V#J6MBSzd4S4F|2qcGG(!)H3|o6V5g_wRF| zSVif@G&Z+yj<||oz57c-R)KplxCO!+QS-N8y6 zcI!rbf<%mIXZKyuL3kSjbqQLwH$+C<0l3})DP9I{z#=Td4OoCVScJt>EO=!YhH5t} z82!yW7@{l#eEGWwDD3a~LuZgk!Suqyu=t6eRFKFh%zGML_L&e4dUmf42VUb7xKr4H z3TL0QH@w1tf586@P_zN^*7{hmu&**$Rfo5sL^mbNbNn*3C#@c2hC>0kCjTjxJy2>)X7k98k?IG?;j zrjLP?l3rHogzi*4!#A&9q{QryNdZ<2CgXS zr0^%IyjzjLwcEz0n>q;nD+iw}|DEGbwI+1$Tf5G90UC9UUFIZAgF^`>3^dSna=zCI zIFnPx{}zo%_5x|mC8SdsoWdkvnYyR26i|8!X9pxdNpMRr@}2mQ;SYx)=*2z89OTaI zt$iVT!8qpiM5z*xv#h=dk(fTtO$x_k;ch9mL0rt4GH1@5DdXm5Q`x0Cw=lE50s9 zR70_5%6J?2)zkFwH=1+Y{{Un{7*lG* zxMhrM_WmzcE`O9dy;wry;5 zR8T<$5hRd9GPe_gP;c)h{$!c?V3hOYs0d}BwaK{QheD4KxKfAy<^A8FpBy~Q{LnHY7@%2LosQP>lBu`Psw&j)cxjvNX*aBK z6{}&AaIlLAjx~ssMKcOV_z*1%2*IVQ^2iq8s?QS_6B4+zJ#d-k6+n@StX6<4B7zy% z3A6CnvZk_4$oK^j~jfdmXNAb|uDNJ!$1MvVNO9@u@v zQ`mf+88jL{`6Nh+Bb$v1z!y5+#}Cuuvf--^$6|6m0CX#ZZLxZoxJMWsFyVouZ6JUg zVf*jyWqpUf`->yJ*l~dHI|Mx%`7*D6?@QD8d%GaBnOV~1IeUg^#bpNNvV^U6;)c1q zdvxc92wWMo2L$I}n@pE=t?0}70$3(QLzvb)O|xy)hk!AboxR6gsX8yytN=F%t>J0e zSM8-wSF*cHa6)K-?v&Vp+^!7MK!iCEh9LICe%K59X$(jHbmP;RD%gViUwYe7TpJ2D z>Sq0VF+(#&1H0&@6IR#N`9jQpvcy$e#@^fdrlwG&9cGk4$?PIShc?_rqa1+z5XT73 zUTdl!Z_Q>`^|@>|VqODkZO1gM zI_TRa!SQ;PUrxDu?FZ-XRO}r$r(qwI)yng?ZGA!O`f<%&;AeyPsg#eI2cKspQV=ia zwFK^8FzAUBn^{lq!aUs{kX1_`ZJz}Qd0{dyZ-(f zNz}maAAH|inES_GjEpJGfM_7BF=xD@K&q*FC^?j4Z7`n|vhwS{@?gpH+Fa|M{Bl_% z&(b)635pQuJHWa9V73i$#Os=7&{%}JP>5!wL-t&)L$O-63|6M( zg%x&=k+oTlEvLtozT;ihfUCU~9|PhJDz|T#%Pi}Hy>(q30oxdNnlNI1f0qhYnoUfw z&A^54Tk!d*g>8h<@9o~4T~bs`yoC4`dl3}9V1iNV8{8gO2x zTCp+Jbf>&|et;U^%n|N-$-O4RU?l4qGGS4z^)bL(_%wn~>B4Xglkw2pTxc#%E-nUY z{!K|ywW!LuHjxR3lDR)kd@~t}V0UuQCa{Y;-(Rn^Gx@rSCMYREoe+~`$H}HNh2xV9w z^&&l0=`u&kO3|gCg7Ai3_Ze(w27z9_W){(WvD=-XWV;T1sr993K3`V3b4HD^UJ3?4 zM#P9Dgs3Qt_$EvDyDr)fcfU_0N$i^+===W_*$>`Hx*OO6C{eBbF*qXD;q6OS%Db%$ z-L9`$8Gg_FH(&e%?fODrXh}8LW6O!?Wm{f?_MkJ3w@43~H!P=hy=3iXG}X4P3pw!0 zH{hTb_8QXl-0MTKAJFY{b)0Q_OG9QMg=9E|h=VC&2)-Pyg zA>_Pf*VKhl9P5Wt6OC`4V_D~2zV)}Spcw_Uy77f`nN>BEz&lD^CS^L1S%e;+Dc;qF z7YmbE%9=%I#N2BBX+el6E*8)0eE772&2ZoG)Iu2sR+Xxu*3KG&Kbqp`S^WCSfhT7A z;@MBi&%_CmcW%wvBt+!A4<9#&4=*2`$!HyT6GB7;tI>pmsyb)M5Jg*1-u0OTA~7Md zPhJtRQA(Fg)s?7{eW$ueWHEc8b>1ATEMzMTQi9Xbr-=++B@Qz`0x4A_Pi9aNn_Xu! zDT;vDT27a2=&>R4KK&3oGq*IEikI4v;Ka*Ta#@m?=_uutk#k3C1}5rY%oc!%K`W^n zkRk(EGF8X*VMc>iHP1O2XwC+7y3|+S;9|&Va5#qi*I#={zyL6%V+aFNnF65Ag$w%i zpzLMAJ-~cBtXc+2NW~uYnmLeWRIuK=04*Ag-~bNP>Z4D)UF@E-&4Hxx9dlL-?1Df* zl*ZF*4bbnoQ^ZfLk}VF5wNEYeL=hh;nG!{YfSinaiy3NN!>3dQ2`bcQ%V+bJ%f<q=02(;~@)uOuX$~(J4efV+bp3cMk!p0wJE_HT<*6^dwbDhUJPj;qG zk-oU!QF*|+$9|X1E0_28Ve|Ep&SRbNo%h3dIO0%V?U1@>bG>4d)IRtK5Tdps2er~V z#8|aNWVTABl6(#s>M985V>8}f1St`rAceeX*ZD#h9zXi`pJr%7Jf0j3&Uh2mro4N( z*{FpygZ`lFH3v>ARwb>E6~c(({ZADXAvEuaAtWmE4;4wpitDtW&1xL!PdKTR#Gyl>IoyF&U%(6ua;>?QxFWpe0zM7 zF^m&JuSJhWzH4fxdEdu2DrP>C`aUXj*YoBpj)p)8lf?X)g}Q!D`QZAc8AR|opNNqb z6>Jx9Nm$5SS$(6{sk7Z0Os5dXpF`PTRiCcis!W|F5?@T8*NuE12~;f5d8uWalr|I3 zSQHAct7_fbVJiC_5+Ri=WA?N)F0)joyUf(WC*FQoLx>f);WMQ>OUJ5@b82qZ%uI`# zjZV_T9i{uY$gUVY?p#w65OgiC50d zJL<9HU7&180#!Na;^--rmsfVja0YNky*Bh&+N-GQ7uHaBTiJ?uT8y}mVehz(6M3c?vbx+p7q>&wO#8z*A*kQC zX%t4DANa1Z%njE!Y)5%0{PfGdeo3r{_t$~~Nl!#hv6`45V(TfL=!)nYnbT$uk(sGu zF?8JJUf*IY#FA4Q}flWj|CC`c@yo91a=Sm?c42P zr{dRnoBh*h&RfAzW|pb}78Bw)SGK2n$`%<`k|og?n48({b54b-EwB-En2b8JQE#yN zdRUH9$IYrf#=5FXS(1#7j;TtN=wErqptraK4K3gkVHtX(l0XF_V}OhbZT1>n9}1j@ zgb=#y!bPCo9*X)_B?cZE9Y&PtKpA|ihg6h`;0O{uCka7l205mH2fIlPND|XsW&|yD zeL2%c0cAlvyZL+izYkGhQ8_g(6!dex5dPpq^lzKteeAT>dCPHtm>d|B0D8MtTi8%O zt?TkNO@)RF`)_~PHF|dWvO~+#@;9tK

+Z-1A?rwEb~MUo`Yw_mU?VvmVq)qMAB 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
2HlrVM z;2M;9h(Und&H#fMfLT<`bV7PCDD0H|?IoB;P5sQu@SF1g98o_wg>&l2a3$IQN9v%j zP2aEiJ{aT7$@ zt~#MCdoR8W#tapWlTV5DDZ3a+O!5^-+n zU%mx(VM2InJf@dVpiV@tMt`YP8B$BV`@FYeC)ZLE)lec9EQ3MVVc%axu=ojCRgLKfi|9jM>}6BjP;JFD{=Dmks4#zL09SyL}}K;#d++ zwSUr0*mtX=vkd7_RdXzAs^=D%C=x&*zbrF!)R6!&{3HgxV&KF9q3wht4^snjyjcXu zLKv>y@tv!m=4qIL$*aJe?Rtg|gFgK7(Yr=8oP&S*z5~-j?qT*Bm$`R;H4jil)Q;=h z`){Stc>pTcvitw9P4%V-{((0y1k=NvZ>=l6GOu0r7)rkX!=%ge;2(VJ9N%99^!>4U z6K}(K{K(&?nzBsKA%--E$2Czi`qgR~w(2PGok6=r9bp+w|HtoZV(sMQkbrWl^lDX> zTB1gaW+mPd+$H@Vyq|R{Q>pRE^YFx_eg9k1f5T4j!h+YIpvcea(|6<^(GO^RX5j98 zANOCAs`|A)-t^e`C+_YCGQtmV|8xH8;${5nhTLemi^MDq5IK2#nTZg>@TLzB8XpD8 z!gvtI6IKh@H^Oi3{Bkc^dZ4&IH_io`g+*RCuC)ZVA0@@iLi?FkE36=@BGpoL;v1ph zKJzDeZdCVpCvJ`D-ey*?aIZO&ndfq+Dnih>E!BX+jX7~M!)-pa?Z?da!=O7eZWFiT zmDs2Cnq&XOv!$TRs}*pO@PB4%Fe~<(&S5!q^dQdmv~+Jz|1>Ke`u9rJs}}uLC*suv zb3(U`j)z*N2UE0si|AB^p z__6hbW``aLwD+SHa|$fNE~aFN*lXorsxIfV{;1?daygFE z(i_b{g_`r6p)koFrudxEQ3_yoESSoX4A$Xv4{M8^w_hBGMXv&}9-es8WN=HqpNkcT z&cmCRh+T8Tv#2zjA-t&XEUMp6`}&Odrf>S1FZhnun|w1|d3NPf1ydG9eRRBXXOe{F z)=R>H6r%4hEeEr&@1PElfajITZoc|b3z(j*|39IA8al#g*mI-qm?G(@D#XGckh;JT z9+ie@_$yK?9pO=L7z;a*y3;Sdiqz8q+l`Ph4VgzWIx7>BX!JEvdUCVb_tInN0cGC?{wR^2JZ1*$` zK3Noc2n8LSHqGv`XgfGvn~;3Q_!rd6I`|}TN4efVTL3`90YYm8>_tdnq>gDbt+<9t z`M3bJv>qj88*QO>pNqEZarh{v>?kT6dI?yzy_KF7WRJM#k9D;P&=KmsyP z!Xl86kE5b^$q9qU1N()R4qug{b^!n6{GJW}1}KYFj0Hg`3RGn*u}DCo51T-VWUos* zLR^4UAk+@_+es?HODL}kU9+A}69fch2cD?WDqSNl-iGp~Gz_XVy#z1GMj!Q#5bgb4 z&lpR|P&=_rMwAOS{^=R9x)kj?_S>Nwg!u`3Dz|%TFhf83ns^!EVoUn?r=$%Uo&{E2g5REf-+nnriNhmY~qcETYQlw~LY--fuQ12)WKl9t1 z)jIL2R)wFB0^$rRqbZN8z5kdasPGC~Pq# zY7^2%V7*kS#A5Ykvj!hY>I<)TOwn{KuwEJCOlfGn0WpbzyWO>Jv1@>XD$~LYOR;FD zD}OA^`7dmYDWf|HM*Sq`C<_e=GpL9rKc;lwI7eFJbKCte+qLR57a*WeL@HReualihh<7JoBJU_E!APYHgIC@epUVJq$`A>3_MHH( zX~D3w$Bu@Li#N7`E_W7VuCK}NHeBn_eQ*7rzN;Btt6$H75O-!{?ojPlJm}-N>@7w{ zv*9D}Zn>VZGY;U0%ghTJ5T)fa{j_%vL>Mw(zn-i3vmSIm&&xTV7nKpb-YPOvjs|JyRxSKWl7h#ld@zD zvn4x4yoO-FP8#U#SLbE;t9G+#8eDDLNKQCZkhhHrux8@MzEXQ&h{#z|%KIM!cGKg!&gg!HL5cIuBQx!_bKQ!l?Np}&aOt!( zn*~|QAazTj*6^o9jmo48*e>s6R@Tq$5IOzmU~poY4vecUm699EzOIt2X33T5sp}~# zJr>CEl5mIUkj>gKPU?X{G)S&Fn@E_*`B=P4y~k5yr!(JwyV>D3q2l)C$YD`UZ^M?H zTw#1X&P!PqsLvgCx4h+5#SUYay-J<0Dgj;25fUQwORPxhfFmEoNkOw{R-~WcTcy3H zZ3kZL5Pr-lG{#Aod`IO4tTNFEXR?eVF0GM2_+^QUOTia;m741L8K@wGXGcn%02n8T z0)qgiP)no?#v&z|#K=&bSkTU};6g;g_07WYl$&sv^_rkUl$3-zn7cNcES0Yr)q1TG zOi$RHE=a?MsZdna>J_?bIJH(M@Nm}fy1V?xPD0LFY1l?|ue@P$M6I2gR({Uml4}gN#7sp3O#d5V$Di%&! z1FiFikq8dDNh~`wh*%7nuC28$X8RZ;{_?^CGm~n`e?4i4sJrZe_RUG3D6z78Otsafk)7kl zy)*OrlB@o(ns?5sKt%V@f~4NPD#!SYGGTW%XSQv!1Vr+Ogmi~`gK&4>3X-A%$1$=HmNCqfk5$l8v!Gth;m(!{c z6Cyo0TTgJuR*>=xT4C%~wNR>VN$q?wK7{n}|m${#lV#+`5%^pfp5L+XimniKBvok|Y z281|0bzK`+#QPmdktpNS@!cVbEG&%qDJa6Xn%3DYSzv}U+DlG7`y;dcVY;%z{r}i=Yg&j1&?iPBes-8zB4XS);=eM=MEn3X=lp8ILZUtV_8;&GE|q{KD<%>u^&R)Z*oj6E}hHO}Yspkt*j2@GS0 zY^Q-y{otR-ZpyD#x4z3keHn^_Qu_hg>&;w9`7LLKZ)o$Wggu4m+!_-xdfcHBW6}Rm(EF&VhF15`hxT6n8i5b!JQ|n`=oJgI&`?2Qf%h z9c>kR@~0>#qmMr%(}ZGd$D?fnhi~u*{UID=4%;`FN>4iENg4@mVZd09EZ)VTri5Dy zh+AzKz4zBV2HBW*ck1N-&@cYx!;P;m6efSEcpm2A%*)H=^_IGt?8cW_pMfY8B zAX~mN?iqZW80QEw#%#z>UEo;<$8DC?D6%7qk7k|SU3Ed+J?J0we{%Ls)41$o-#%kp ze*D$ekl9)1yeS;FpXu~xL~x#GtQmE@Cw?lHOs~W~FX}~jv6uE@dKsHW!P`17vz~Wn zInS3Pkr*uoiu3Z`k|QVRFCQK8PpY=NP4TSFXtX)XA9ed)5vr5l_!x!u;$h_+wSo~GFL3{w(N7ouAGU<1CwXJOVT*fo z%ABPSVcR$UNrk<~a>RSdQ+zS?%|o1%woUsdqfLrzHbS9vmEDE;{noN$k*0ynv((o= zBO!$0LYwc>rx8n<6Gg3UgRx((v=QQs{Pw3s6!lQb(JoihcFwWxRXgE4;J?v5)CJ|7!HsLcQ3iu)y1<&FX zxHxLh8MV$LtiKK-XKpr(Pd?n_B+fg-1}=Skf@C=^NtSWG zSZg(#)neYWWjy#i#%e~V*q3VAWae0q01Xj1vYgLmi9>H5j6lTX?g$KiS^+hJIoD-lO@4zz{ScBLvl zWf{R-V6-t>t+~)H7Ldm&!4;bH>DHWM&_|HpG(L_9odq7k3TUO4W`*_QgnsOIkR*>LE;t zg%@24%ddj74(|c23=#9k%z?yDnjQs+KgsK4{jupMve>=)FH5V?dt@{w;LK}AV$__7 z#G)F)FqWa6w6sQGM)<&;Su+N%AR#-Z)ojXMCTSUSoCJeH<69#|om$_2yS?E2Hu%`hkT!Wu}Kwf`V)Vq4~}sWd6K`+|tF=F{u2GL2&1^QZz&tN7>#=IVTVHsG3y_h5WPm zI3s$ig&zD6k*HIGa3>v|V26r0r|vMS;QCZ+JJ%}fDM#Yo zJTX?;DjYE$XIDK7m@v_5QZVQJkWqwQ7bTJozK0Krpvrl+SC?B&rF1){5WMT#V{e@1 z2`b)*9xH=5Q4hG6sEm`ZYZh5KDkq91+r4S3@)vjT(TET)X(k6{m(rIlFCiBODNRLs zFH2L^hXam*S99U1y;^kLb&;=Co3h+iy1CMpB&pLnE%S#v>zD8U&!^XRk4pRyxo&h4 zC-Rl7_@<8eG*RAANleby8b(8&8)m@jI9A*^*?#QY6wqVi>`^P$umHKHZLb=VW~=B^ zX)@AKOWi{^N2 zRS2?|GJb;umHTJQ`CRFWiZ@sD;21sva-!1u`rgb492wHFc!o?$7Ok?zV+ zEVDszczEg!3>vn42G6|FRq>SiJyp*$jGrXDGwV74DRQvWrY3s|AsX(=I&kL>e>^CW zW*~4k^_I%mB_KuWxOLD~l->}}GOXchp-KD&4=3*U@&APoutDaQ`UU93R~X>iub1Ah&|IVf6QWy{Ei~G=w`u7#OUuTG!?%pEp!RZ%6^et_nq+X)5*0OU;I~r&SEA(!Bc8 zs!kJUO~@pb?p?7~!OVW*E?vhl5B#5M5%%8BM+lJwL8)d*6vr<+0xkZgjT})`!m!W? zg2$ZjCg)v;lx=eGQDT;)mFCt@_6>b=C$aAHeG6SUSAD@JJ?4|v%S^|*Jb5-M`(ZM5 z2*Z$9CN!2=8k;+)+k zh!}tTFGaBY=hzB=IW!ENU&SeqX;?phI;JE&`q%P)&d42-szm(H1*I5U-U>j**cA$U;E`9NMS?MncK?pK;H{3)>M+oq-n z0ne0|aTKSyV);IRB;}&Ie^)l9U3kxuPd_o)+w-U->s79`F$ zTvAgePfDRF+dI37c-X0+P5@kl(1e%>TXFF?&Z>e7S26XO!AUQi#GE|Kp^u_OKp@u> z%6@{<6AZsM&s=SbVR90^t@CY4clH(O=J3Xqv#jvthpg3r)W{^?#M#_Ml!(d9LydaZ zJu+y9f=Bi^_pVsP{T8yIC*Hs1J9FmY&$HxlQ#LVKyxw|wr57%{S25P%)omvKUZr1 zwpodSm}AyXLhM#a2ZpQ<$umnyD3_(|V^LMlf&>%}J)*3-B2FL^V-TwD@W{IIf?iK3 zyfC()3+KMB?OC-m)E1C0W6yfx8j1OWE=^c}Z*nIyx;^z?#E4?H7ENI8^#WCY)s7qr zN=4OV07K@0*8S7GLc+cKQB%JMzA#b1%&9WzGoMc}^#U|w8Bb`#Z<6a2tOs(%lE91y zoW=TZ@gNR&!&N*840#3_ENQqpisJ}m5sXO@j!6*>DWpJrrnoCpAZ_BF_RD$y*I-I{ zW(>M?sBU*9_^K-fbS;0}+YH{JcYAYQ9UB7=atyG({`4^8XnRqF$Y)WFmt7FgNOyLJ zb>O|veV3qrz8jjVi>_-d*F|ntz{V?AMd(pqvG?K)!Q{j_5@pH=<<2kJa-*_rH|tQV z6_wQM)eF8rz_Zo3DA@AJ4|37w^FEvhK zGp59e3VKDgBQgo15V}a?K6r5bK1~?wrl89%zq-Pw?5g`dKD`ppT{L4JwyP?ZQ{r_|S>&e+!%S4kh3mhmh*hxBt{1*v+`qbkDL9rBKXinFR#E*%9F=8#r7eFUhILkhmFu@)ym9jWD8)};;L0GR zC%Ao>w;lwBS}rR9(vBZ6TRnWs9OC`UkP64VFt}|?>e(B;s z_0?x$D3W6m=?#sOys^GpxtU3(?n2<|N^!6v>=t$S9p1arzQC4&j&lD+GgaOgN--A; zzM6?%r5|l&PKa>_KfM0-!po|s5CL6b@z9cReU&Y3@b|IJvAY9*rrdYd3MZ&kV`b$$ z;yj52vbx?}j5!9j!BC@x1G>G@csdJ-BI@Cw*R}hD(d5QgJ0A4_qyXq|3mraOA^4CK zx+7?8a*)d?Nn)Oq2VJ>Q?J$ujL1}H3QHniAhqoc0r^8)VN|}W7_BxE*oG^{@7=n*Z zX`>vlJlM5EWCgR7U?_yKnUv4XWZhl%TAkagcDDQoHd%Fikylquv~(RjR4%DaoJoym zwk31e=I7{QcZ> zvee@59;S1gy^o?`dY%Oh6-MJ68$uw$q7c9kA~fjFOOVGNLZxj!3vv22Q!>gnB9wTbMO-!W%8-$y!R>4%`KUy^}6#%@z5J1^^ z8Ucwp5bP&kESJ$9sCKFsWxV-kqpAm=yIF9#%ni2ShP%M7H_5Hyp-Y~TUw+3jm4vjG zhLR0KRF;st{kYj}kT>gg&4XeukYGq0fqMMP3I=W>KfbbzC}#;FcAXIlL2-kEH^9I! z42A(%Y7he)FdzZ>tO>3g{|5bz-UuLo00PJ*$POPm{)Z0JeiENfez4+*4)9ys<9)?f zhET@DMJ=vS;K3RCw@lmHCjnLrE~_6|s0t0(c8s3?Hx6DvK^S0w-CRnp-0av?^AquN zLm}-tt_?Xsqv5~fTELO<-2pN#@h{hO`}t`&xxab+E~eBS;Oq7722mG=Gc&r1Zc0eq zHpiN8Q4C$db(jgF=_W0?JfHkDO< z=F!nCZGP=O$X{u})@0p=xt(Rn;`HG>+(b0O2YTf&zUWwn!nY1R)_1P<4{rn`4Uh zgoLajq@*7#k+CSw=r0zD8iPFX&{wyms#{$ zFryo@j-`DCJN~M%ⅅ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 CFq0?% literal 0 HcmV?d00001 diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/icon.png" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/icon.png" new file mode 100644 index 0000000000000000000000000000000000000000..12f3d4a592137eaeb82b5b530824b3d677f76213 GIT binary patch literal 45315 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

dFL| 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 literal 0 HcmV?d00001 diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/jsoncrack-screenshot.webp" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/jsoncrack-screenshot.webp" new file mode 100644 index 0000000000000000000000000000000000000000..e56c7f9a2a18aac51cc2485124064143751cfe43 GIT binary patch literal 161356 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

  • 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

    (BbMK5W0col7Rs4)ywv5ZWyg0D8M{{ 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�Sa;4`nab~f7M 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%0A97T)RzE8L}X0wfELF% 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� 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

      Ly&0!v7H6@joM?p<)v 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 literal 0 HcmV?d00001 diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/undraw_qa_engineers_dg-5-p.svg" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/undraw_qa_engineers_dg-5-p.svg" new file mode 100644 index 000000000..1b5c9b523 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/assets/undraw_qa_engineers_dg-5-p.svg" @@ -0,0 +1 @@ +QA engineers \ No newline at end of file diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/favicon.ico" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/public/favicon.ico" new file mode 100644 index 0000000000000000000000000000000000000000..f403caf0e65a36561ec166d2bfb67ca9f922c561 GIT binary patch literal 9662 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 { + data: T; + errors: APIError | null; +} + +export { altogic }; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Button/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Button/index.tsx" new file mode 100644 index 000000000..ebcd35335 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Button/index.tsx" @@ -0,0 +1,100 @@ +import React from "react"; +import styled, { DefaultTheme } from "styled-components"; + +enum ButtonType { + PRIMARY = "PRIMARY", + SECONDARY = "BLURPLE", + TERTIARY = "PURPLE", + DANGER = "DANGER", + SUCCESS = "SEAGREEN", + WARNING = "ORANGE", +} + +interface ButtonProps { + status?: keyof typeof ButtonType; + block?: boolean; +} + +type ConditionalProps = + | ({ + link: boolean; + } & React.ComponentPropsWithoutRef<"a">) + | ({ + link?: never; + } & React.ComponentPropsWithoutRef<"button">); + +function getButtonStatus(status: keyof typeof ButtonType, theme: DefaultTheme) { + return theme[ButtonType[status]]; +} + +const StyledButton = styled.button<{ + status: keyof typeof ButtonType; + block: boolean; + link: boolean; +}>` + display: inline-flex; + align-items: center; + background: ${({ status, theme }) => getButtonStatus(status, theme)}; + color: #ffffff; + padding: ${({ link }) => (link ? "2px 16px" : "8px 16px")}; + min-width: 70px; + min-height: 32px; + border-radius: 3px; + font-family: "Mona Sans"; + font-size: 14px; + font-weight: 500; + width: ${({ block }) => (block ? "-webkit-fill-available" : "fit-content")}; + height: 40px; + background-image: none; + + :disabled { + cursor: not-allowed; + opacity: 0.5; + } + + div { + white-space: normal; + margin: 0 auto; + text-overflow: ellipsis; + overflow: hidden; + } + + &:hover { + background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); + } + + @media only screen and (max-width: 768px) { + font-size: 14px; + } +`; + +const StyledButtonContent = styled.div` + display: flex; + justify-content: center; + align-items: center; + gap: 8px; + white-space: nowrap; + text-overflow: ellipsis; + font-weight: 600; +`; + +export const Button: React.FC = ({ + children, + status, + block = false, + link = false, + ...props +}) => { + return ( + + {children} + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CarbonAds/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CarbonAds/index.tsx" new file mode 100644 index 000000000..97a2d9195 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/CarbonAds/index.tsx" @@ -0,0 +1,86 @@ +import React from "react"; +import Script from "next/script"; +import { IoMdClose } from "react-icons/io"; +import styled from "styled-components"; + +const StyledCloseBtn = styled.button` + display: none; + width: 3vw; + height: 3vw; + opacity: 0.8; + justify-content: center; + align-items: center; + position: absolute; + top: 0; + right: 0; + border-radius: 0; + background: ${({ theme }) => theme.DANGER}; +`; + +const StyledWrapper = styled.span<{ editor?: boolean }>` + position: relative; + + #carbonads { + width: 100%; + display: flex; + } + + ${({ theme, editor }) => + editor && + ` + #carbonads { + border-radius: 0; + border-top: 1px solid ${theme.BACKGROUND_MODIFIER_ACCENT}; + } + + #carbonads > span { + max-width: 100%; + width: 100%; + } + `}; + + &:hover { + ${StyledCloseBtn} { + display: flex; + } + } + + @media all and (display-mode: standalone) { + #carbonads { + display: none; + } + } +`; + +export const CarbonAds: React.FC<{ editor?: boolean }> = ({ editor = false }) => { + const [isHidden, setIsHidden] = React.useState(false); + + if (isHidden) return null; + + return ( + + {editor && ( + setIsHidden(true)}> + + + )} + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/ErrorView.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/ErrorView.tsx" new file mode 100644 index 000000000..bd79d36ea --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/ErrorView.tsx" @@ -0,0 +1,37 @@ +import React from "react"; +import styled from "styled-components"; + +const StyledErrorView = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + + img { + filter: drop-shadow(2px 4px 6px black); + } +`; + +const StyledTitle = styled.h2` + color: ${({ theme }) => theme.TEXT_DANGER}; +`; + +const StyledInfo = styled.p` + width: 60%; + text-align: center; + color: ${({ theme }) => theme.TEXT_NORMAL}; +`; + +export const ErrorView = () => ( + + oops + JSON Crack is unable to handle this file! + + We apologize for the problem you encountered. We are doing our best as an Open Source + community to improve our service. Unfortunately, JSON Crack is currently unable to handle such + a large file. + + +); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/index.tsx" new file mode 100644 index 000000000..a0da1a809 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Graph/index.tsx" @@ -0,0 +1,147 @@ +import React from "react"; +import { ReactZoomPanPinchRef, TransformComponent, TransformWrapper } from "react-zoom-pan-pinch"; +import { Canvas, Edge, ElkRoot } from "reaflow"; +import { CustomNode } from "src/components/CustomNode"; +import useGraph from "src/store/useGraph"; +import styled from "styled-components"; +import { Loading } from "../Loading"; +import { ErrorView } from "./ErrorView"; + +interface GraphProps { + isWidget?: boolean; + openModal: () => void; + setSelectedNode: (node: [string, string][]) => void; +} + +const StyledEditorWrapper = styled.div<{ isWidget: boolean }>` + position: absolute; + width: 100%; + height: ${({ isWidget }) => (isWidget ? "100vh" : "calc(100vh - 36px)")}; + background: ${({ theme }) => theme.BACKGROUND_SECONDARY}; + background-image: ${({ theme }) => + `radial-gradient(#505050 0.5px, ${theme.BACKGROUND_SECONDARY} 0.5px)`}; + background-size: 15px 15px; + + :active { + cursor: move; + } + + .dragging, + .dragging button { + pointer-events: none; + } + + rect { + fill: ${({ theme }) => theme.BACKGROUND_NODE}; + } +`; + +const GraphComponent = ({ isWidget = false, openModal, setSelectedNode }: GraphProps) => { + const setLoading = useGraph(state => state.setLoading); + const setZoomPanPinch = useGraph(state => state.setZoomPanPinch); + const centerView = useGraph(state => state.centerView); + + const loading = useGraph(state => state.loading); + const direction = useGraph(state => state.direction); + const nodes = useGraph(state => state.nodes); + const edges = useGraph(state => state.edges); + + const [size, setSize] = React.useState({ + width: 1, + height: 1, + }); + + const handleNodeClick = React.useCallback( + (e: React.MouseEvent, data: NodeData) => { + if (setSelectedNode) setSelectedNode(data.text); + if (openModal) openModal(); + }, + [openModal, setSelectedNode] + ); + + const onInit = React.useCallback( + (ref: ReactZoomPanPinchRef) => { + setZoomPanPinch(ref); + }, + [setZoomPanPinch] + ); + + const onLayoutChange = React.useCallback( + (layout: ElkRoot) => { + if (layout.width && layout.height) { + const areaSize = layout.width * layout.height; + const changeRatio = Math.abs((areaSize * 100) / (size.width * size.height) - 100); + + setSize({ + width: (layout.width as number) + 400, + height: (layout.height as number) + 400, + }); + + requestAnimationFrame(() => { + setTimeout(() => { + setLoading(false); + setTimeout(() => { + if (changeRatio > 70 || isWidget) centerView(); + }); + }); + }); + } + }, + [centerView, isWidget, setLoading, size.height, size.width] + ); + + const onCanvasClick = React.useCallback(() => { + const input = document.querySelector("input:focus") as HTMLInputElement; + if (input) input.blur(); + }, []); + + if (nodes.length > 8_000) return ; + + return ( + e.preventDefault()}> + + ref.instance.wrapperComponent?.classList.add("dragging")} + onPanningStop={ref => ref.instance.wrapperComponent?.classList.remove("dragging")} + > + + } + edge={props => } + /> + + + + ); +}; + +export const Graph = React.memo(GraphComponent); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Input/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Input/index.tsx" new file mode 100644 index 000000000..1d86cbdd0 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Input/index.tsx" @@ -0,0 +1,19 @@ +import React from "react"; +import styled from "styled-components"; + +const StyledInput = styled.input` + background: ${({ theme }) => theme.BACKGROUND_TERTIARY}; + color: ${({ theme }) => theme.INTERACTIVE_NORMAL}; + outline: none; + border: none; + border-radius: 4px; + line-height: 32px; + padding: 10px; + width: 100%; + margin-bottom: 10px; + height: 40px; +`; + +type InputProps = React.InputHTMLAttributes; + +export const Input: React.FC = props => ; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Loading/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Loading/index.tsx" new file mode 100644 index 000000000..bd3eafb40 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Loading/index.tsx" @@ -0,0 +1,63 @@ +import React from "react"; +import styled, { keyframes } from "styled-components"; + +interface LoadingProps { + loading?: boolean; + message?: string; +} + +const fadeIn = keyframes` + 99% { + visibility: hidden; + } + 100% { + visibility: visible; + } +`; + +const StyledLoading = styled.div` + position: fixed; + top: 0; + left: 0; + display: grid; + place-content: center; + width: 100%; + height: 100vh; + text-align: center; + background: ${({ theme }) => theme.BLACK_DARK}; + z-index: 36; + pointer-events: none; + animation: 0.2s ${fadeIn}; + animation-fill-mode: forwards; + visibility: hidden; +`; + +const StyledLogo = styled.h2` + font-weight: 800; + font-size: 56px; + pointer-events: none; + margin-bottom: 10px; +`; + +const StyledText = styled.span` + color: #faa81a; +`; + +const StyledMessage = styled.div` + color: #b9bbbe; + font-size: 24px; + font-weight: 500; +`; + +export const Loading: React.FC = ({ loading = true, message }) => { + if (!loading) return null; + + return ( + + + JSON Crack + + {message ?? "Preparing the environment for you..."} + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/index.tsx" new file mode 100644 index 000000000..737de092c --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/index.tsx" @@ -0,0 +1,76 @@ +import React from "react"; +import { Button } from "src/components/Button"; +import useKeyPress from "src/hooks/useKeyPress"; +import * as Styled from "./styles"; + +type ControlProps = React.PropsWithChildren<{ + setVisible: (status: boolean) => void; +}>; + +export type ReactComponent = React.FC>; + +type ModalTypes = { + Header: ReactComponent; + Content: ReactComponent; + Controls: React.FC; +}; + +export interface ModalProps { + visible: boolean; + setVisible: React.Dispatch> | ((visible: boolean) => void); + size?: "sm" | "md" | "lg"; +} + +const Header: ReactComponent = ({ children }) => { + return ( + + {children} + + ); +}; + +const Content: ReactComponent = ({ children }) => { + return {children}; +}; + +const Controls: React.FC = ({ children, setVisible }) => { + const handleEspacePress = useKeyPress("Escape"); + + React.useEffect(() => { + if (handleEspacePress) setVisible(false); + }, [handleEspacePress, setVisible]); + + return ( + + + {children} + + ); +}; + +const Modal: React.FC> & ModalTypes = ({ + children, + visible, + setVisible, + size = "sm", +}) => { + const onClick = (e: React.SyntheticEvent) => { + if (e.currentTarget === e.target) { + setVisible(false); + } + }; + + if (!visible) return null; + + return ( + + {children} + + ); +}; + +Modal.Header = Header; +Modal.Content = Content; +Modal.Controls = Controls; + +export { Modal }; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/styles.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/styles.tsx" new file mode 100644 index 000000000..66ea13393 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Modal/styles.tsx" @@ -0,0 +1,68 @@ +import styled, { keyframes } from "styled-components"; + +const appearAnimation = keyframes` + from { transform: scale(0.6); opacity: 0; } + to { transform: scale(1); opacity: 1; }; +`; + +export const ModalWrapper = styled.div` + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + background: rgba(0, 0, 0, 0.85); + z-index: 36; + + * { + box-sizing: border-box; + } +`; + +export const ModalInnerWrapper = styled.div<{ size: "sm" | "md" | "lg" }>` + min-width: 440px; + max-width: ${({ size }) => (size === "sm" ? "490px" : size === "md" ? "50%" : "90%")}; + width: fit-content; + animation: ${appearAnimation} 220ms ease-in-out; + line-height: 20px; + + @media only screen and (max-width: 768px) { + min-width: 90%; + max-width: 90%; + } +`; + +export const Title = styled.h2` + display: flex; + align-items: center; + gap: 5px; + color: ${({ theme }) => theme.INTERACTIVE_ACTIVE}; + font-size: 20px !important; + margin: 0 !important; +`; + +export const HeaderWrapper = styled.div` + background: ${({ theme }) => theme.MODAL_BACKGROUND}; + padding: 16px; + border-radius: 5px 5px 0 0; +`; + +export const ContentWrapper = styled.div` + color: ${({ theme }) => theme.TEXT_NORMAL}; + background: ${({ theme }) => theme.MODAL_BACKGROUND}; + padding: 16px; + overflow: hidden auto; + max-height: 500px; +`; + +export const ControlsWrapper = styled.div` + display: flex; + flex-direction: row-reverse; + background: ${({ theme }) => theme.BACKGROUND_SECONDARY}; + padding: 12px; + border-radius: 0 0 5px 5px; + gap: 10px; +`; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/MonacoEditor/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/MonacoEditor/index.tsx" new file mode 100644 index 000000000..9e5e8c476 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/MonacoEditor/index.tsx" @@ -0,0 +1,104 @@ +import React from "react"; +import Editor, { loader, Monaco } from "@monaco-editor/react"; +import debounce from "lodash.debounce"; +import { Loading } from "src/components/Loading"; +import useJson from "src/store/useJson"; +import useStored from "src/store/useStored"; +import styled from "styled-components"; + +loader.config({ + paths: { + vs: "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.0/min/vs", + }, +}); + +const editorOptions = { + formatOnPaste: true, + minimap: { + enabled: false, + }, +}; + +const StyledWrapper = styled.div` + display: grid; + height: calc(100vh - 36px); + grid-template-columns: 100%; + grid-template-rows: minmax(0, 1fr); +`; + +export const MonacoEditor = () => { + const json = useJson(state => state.json); + const setJson = useJson(state => state.setJson); + const setError = useJson(state => state.setError); + const [loaded, setLoaded] = React.useState(false); + const [value, setValue] = React.useState(json); + + const hasError = useJson(state => state.hasError); + const getHasChanges = useJson(state => state.getHasChanges); + const lightmode = useStored(state => (state.lightmode ? "light" : "vs-dark")); + + const handleEditorWillMount = React.useCallback( + (monaco: Monaco) => { + monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ + allowComments: true, + comments: "ignore", + }); + + monaco.editor.onDidChangeMarkers(([uri]) => { + const markers = monaco.editor.getModelMarkers({ resource: uri }); + setError(!!markers.length); + }); + }, + [setError] + ); + + const debouncedSetJson = React.useMemo( + () => + debounce(value => { + if (hasError) return; + setJson(value || "[]"); + }, 1200), + [hasError, setJson] + ); + + React.useEffect(() => { + if ((value || !hasError) && loaded) debouncedSetJson(value); + setLoaded(true); + + return () => debouncedSetJson.cancel(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [debouncedSetJson, hasError, value]); + + React.useEffect(() => { + const beforeunload = (e: BeforeUnloadEvent) => { + if (getHasChanges()) { + const confirmationMessage = + "Unsaved changes, if you leave before saving your changes will be lost"; + + (e || window.event).returnValue = confirmationMessage; //Gecko + IE + return confirmationMessage; + } + }; + + window.addEventListener("beforeunload", beforeunload); + + return () => { + window.removeEventListener("beforeunload", beforeunload); + }; + }, [getHasChanges]); + + return ( + + } + beforeMount={handleEditorWillMount} + defaultLanguage="json" + height="100%" + /> + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Producthunt/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Producthunt/index.tsx" new file mode 100644 index 000000000..4ec0798a1 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Producthunt/index.tsx" @@ -0,0 +1,33 @@ +import React from "react"; +import styled from "styled-components"; + +const StyledImage = styled.img` + max-width: 300px; + display: block; + + @media only screen and (max-width: 768px) { + max-width: 250px; + } +`; + +const StyledProducthuntWrapper = styled.span``; + +export const Producthunt = () => { + return ( + + + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SearchInput/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SearchInput/index.tsx" new file mode 100644 index 000000000..7fe52a443 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SearchInput/index.tsx" @@ -0,0 +1,84 @@ +import React from "react"; +import { AiOutlineSearch } from "react-icons/ai"; +import { IoCloseSharp } from "react-icons/io5"; +import { useFocusNode } from "src/hooks/useFocusNode"; +import styled from "styled-components"; + +const StyledInputWrapper = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + background: ${({ theme }) => theme.BACKGROUND_TERTIARY}; + border-radius: 4px; + height: 25px; +`; + +const StyledForm = styled.form` + display: flex; + align-items: center; + padding: 4px 6px; +`; + +const StyledInput = styled.input` + background: none; + color: ${({ theme }) => theme.TEXT_NORMAL}; + outline: none; + border: none; + width: 112px; + font-size: 14px; + font-weight: 500; + transition: width 0.3s; + + &::-webkit-search-decoration, + &::-webkit-search-cancel-button, + &::-webkit-search-results-button, + &::-webkit-search-results-decoration { + display: none; + } + + &:focus { + width: 208px; + } +`; + +const StyledSearchButton = styled.button` + display: grid; + background: none; + color: ${({ theme }) => theme.INTERACTIVE_NORMAL}; + padding: 0; + min-height: unset; + + &:hover { + box-shadow: none; + } +`; + +export const SearchInput: React.FC = () => { + const [content, setContent, skip] = useFocusNode(); + + const onSubmit = (e: React.FormEvent) => { + e.preventDefault(); + skip(); + }; + + const handleClear = (e: React.MouseEvent) => { + e.preventDefault(); + setContent({ value: "", debounced: "" }); + }; + + return ( + + + setContent(val => ({ ...val, value: e.target.value }))} + placeholder="Search Node" + /> + + {content.value ? : } + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SeoTags/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SeoTags/index.tsx" new file mode 100644 index 000000000..c5f94d0a3 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SeoTags/index.tsx" @@ -0,0 +1,28 @@ +import React from "react"; + +interface SeoTagsProps { + title: string; + description: string; + image: string; +} + +export const SeoTags: React.FC = ({ description, title, image }) => ( + <> + + + {/* */} + + + + + + + {/* */} + + + + + + + +); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sidebar/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sidebar/index.tsx" new file mode 100644 index 000000000..4a431649e --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sidebar/index.tsx" @@ -0,0 +1,278 @@ +import React from "react"; +import toast from "react-hot-toast"; +import { AiOutlineDelete, AiOutlineSave, AiOutlineFileAdd, AiOutlineEdit } from "react-icons/ai"; +import { CgArrowsMergeAltH, CgArrowsShrinkH } from "react-icons/cg"; +import { FiDownload } from "react-icons/fi"; +import { MdCenterFocusWeak } from "react-icons/md"; +import { TiFlowMerge } from "react-icons/ti"; +import { + VscAccount, + VscCloud, + VscCollapseAll, + VscExpandAll, + VscSettingsGear, +} from "react-icons/vsc"; +import { Tooltip } from "src/components/Tooltip"; +import useGraph from "src/store/useGraph"; +import useJson from "src/store/useJson"; +import useModal from "src/store/useModal"; +import { getNextDirection } from "src/utils/getNextDirection"; +import styled from "styled-components"; + +const StyledSidebar = styled.div` + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; + width: fit-content; + background: ${({ theme }) => theme.BACKGROUND_TERTIARY}; + padding: 4px; + border-right: 1px solid ${({ theme }) => theme.BACKGROUND_MODIFIER_ACCENT}; + + @media only screen and (max-width: 768px) { + flex-direction: row; + width: 100%; + } +`; + +const StyledElement = styled.button` + position: relative; + display: flex; + justify-content: center; + text-align: center; + font-size: 24px; + font-weight: 600; + width: fit-content; + color: ${({ theme }) => theme.SIDEBAR_ICONS}; + cursor: pointer; + + svg { + padding: 12px 8px; + vertical-align: middle; + } + + a { + display: flex; + } + + &:hover :is(a, svg) { + color: ${({ theme }) => theme.INTERACTIVE_HOVER}; + } + + @media only screen and (max-width: 768px) { + font-size: 22px; + + svg { + padding: 8px 4px; + vertical-align: middle; + } + } +`; + +const StyledText = styled.span<{ secondary?: boolean }>` + color: ${({ theme, secondary }) => (secondary ? theme.INTERACTIVE_HOVER : theme.ORANGE)}; +`; + +const StyledFlowIcon = styled(TiFlowMerge)<{ rotate: number }>` + transform: rotate(${({ rotate }) => `${rotate}deg`}); +`; + +const StyledTopWrapper = styled.nav` + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; + width: 100%; + + .mobile { + display: none; + } + + @media only screen and (max-width: 768px) { + justify-content: space-evenly; + flex-direction: row; + + .mobile { + display: initial; + } + + .desktop { + display: none; + } + } +`; + +const StyledBottomWrapper = styled.nav` + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; + width: 100%; + + @media only screen and (max-width: 768px) { + display: none; + } +`; + +const StyledLogo = styled.a` + color: ${({ theme }) => theme.FULL_WHITE}; + padding: 8px 4px; + border-bottom: 1px solid ${({ theme }) => theme.BACKGROUND_MODIFIER_ACCENT}; + + @media only screen and (max-width: 768px) { + border-bottom: 0; + } +`; + +function rotateLayout(direction: "LEFT" | "RIGHT" | "DOWN" | "UP") { + if (direction === "LEFT") return 90; + if (direction === "UP") return 180; + if (direction === "RIGHT") return 270; + return 360; +} + +const SidebarButton: React.FC<{ + onClick: () => void; + deviceDisplay?: "desktop" | "mobile"; + title: string; + component: React.ReactNode; +}> = ({ onClick, deviceDisplay, title, component }) => { + return ( + + {component} + + ); +}; + +export const Sidebar: React.FC = () => { + const setVisible = useModal(state => state.setVisible); + const setDirection = useGraph(state => state.setDirection); + const getJson = useJson(state => state.getJson); + + const collapseGraph = useGraph(state => state.collapseGraph); + const expandGraph = useGraph(state => state.expandGraph); + const centerView = useGraph(state => state.centerView); + const toggleFold = useGraph(state => state.toggleFold); + const toggleFullscreen = useGraph(state => state.toggleFullscreen); + + const direction = useGraph(state => state.direction); + const foldNodes = useGraph(state => state.foldNodes); + const fullscreen = useGraph(state => state.fullscreen); + const graphCollapsed = useGraph(state => state.graphCollapsed); + + const handleSave = () => { + const a = document.createElement("a"); + const file = new Blob([getJson()], { type: "text/plain" }); + + a.href = window.URL.createObjectURL(file); + a.download = "jsoncrack.json"; + a.click(); + }; + + const toggleFoldNodes = () => { + toggleFold(!foldNodes); + toast(`${foldNodes ? "Unfolded" : "Folded"} nodes`); + }; + + const toggleDirection = () => { + const nextDirection = getNextDirection(direction); + setDirection(nextDirection); + }; + + const toggleExpandCollapseGraph = () => { + if (graphCollapsed) expandGraph(); + else collapseGraph(); + + toast(`${graphCollapsed ? "Expanded" : "Collapsed"} graph.`); + }; + + return ( + + + + J + C + + + toggleFullscreen(!fullscreen)} + component={} + /> + + setVisible("import")(true)} + component={} + /> + + } + /> + + } + /> + + : } + /> + + : } + /> + + } + /> + + setVisible("download")(true)} + component={} + /> + + setVisible("clear")(true)} + component={} + /> + + setVisible("cloud")(true)} + component={} + /> + + + setVisible("account")(true)} + component={} + /> + setVisible("settings")(true)} + component={} + /> + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Spinner/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Spinner/index.tsx" new file mode 100644 index 000000000..844293ac9 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Spinner/index.tsx" @@ -0,0 +1,28 @@ +import React from "react"; +import { CgSpinner } from "react-icons/cg"; +import styled, { keyframes } from "styled-components"; + +const rotateAnimation = keyframes` + to { transform: rotate(360deg); } +`; + +const StyledSpinnerWrapper = styled.div` + display: flex; + align-items: center; + padding: 25px; + justify-content: center; + width: 100%; + height: 100%; + + svg { + animation: ${rotateAnimation} 1s linear infinite; + } +`; + +export const Spinner = () => { + return ( + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sponsors/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sponsors/index.tsx" new file mode 100644 index 000000000..a32c67866 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Sponsors/index.tsx" @@ -0,0 +1,94 @@ +import React from "react"; +import useStored from "src/store/useStored"; +import styled from "styled-components"; + +async function getSponsors() { + try { + const res = await fetch("https://ghs.vercel.app/sponsors/aykutsarac"); + const data = await res.json(); + + if (data.sponsors) { + return data.sponsors.map(user => ({ + handle: user.handle, + avatar: user.avatar, + profile: user.profile, + })); + } + + return []; + } catch (error) { + console.error(error); + return []; + } +} + +const StyledSponsorsWrapper = styled.ul` + display: flex; + width: 70%; + margin: 0; + padding: 0; + list-style: none; + gap: 10px; + flex-wrap: wrap; + align-items: center; + justify-content: center; +`; + +const StyledSponsor = styled.li<{ handle: string }>` + display: flex; + justify-content: center; + position: relative; + + &:hover { + &::before { + content: "${({ handle }) => handle}"; + position: absolute; + top: 0; + background: ${({ theme }) => theme.BACKGROUND_PRIMARY}; + transform: translateY(-130%); + padding: 6px 8px; + border-radius: 4px; + font-weight: 500; + font-size: 14px; + color: ${({ theme }) => theme.TEXT_NORMAL}; + } + + &::after { + content: ""; + position: absolute; + top: 0; + transform: translateY(-110%); + border-width: 5px; + border-style: solid; + border-color: ${({ theme }) => theme.BACKGROUND_PRIMARY} transparent transparent transparent; + } + } + + img { + border-radius: 100%; + } +`; + +export const Sponsors = () => { + const { sponsors, setSponsors } = useStored(); + + React.useEffect(() => { + if (!sponsors?.nextDate || sponsors?.nextDate < Date.now()) { + getSponsors().then(setSponsors); + } + }, [setSponsors, sponsors?.nextDate]); + + if (!sponsors?.users?.length) return null; + + return ( + + {sponsors.users.map(user => ( + + + {user.handle} + + + ))} + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SupportButton/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SupportButton/index.tsx" new file mode 100644 index 000000000..819643b48 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/SupportButton/index.tsx" @@ -0,0 +1,53 @@ +import React from "react"; +import { HiHeart } from "react-icons/hi"; +import styled from "styled-components"; + +const StyledText = styled.span` + white-space: nowrap; + opacity: 0; + width: 0px; + transition: 0.2s; + font-weight: 600; +`; + +const StyledSupportButton = styled.a` + position: fixed; + display: flex; + justify-content: center; + align-items: center; + color: white; + right: 15px; + bottom: 15px; + border-radius: 50%; + width: 24px; + padding: 8px; + height: 24px; + background: ${({ theme }) => theme.DANGER}; + transition: all 0.5s; + overflow: hidden; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.07), + 0 4px 8px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.07), 0 16px 32px rgba(0, 0, 0, 0.07), + 0 32px 64px rgba(0, 0, 0, 0.07); + opacity: 0.7; + box-sizing: content-box !important; + + &:hover { + width: 180px; + border-radius: 6px; + + ${StyledText} { + opacity: 1; + width: fit-content; + margin-right: 8px; + } + } +`; + +export const SupportButton = () => { + return ( + + Support JSON Crack + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Toggle/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Toggle/index.tsx" new file mode 100644 index 000000000..d2931e478 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Toggle/index.tsx" @@ -0,0 +1,65 @@ +import React from "react"; +import { IoIosCheckmarkCircle, IoMdCloseCircle } from "react-icons/io"; +import styled from "styled-components"; + +interface ToggleProps { + checked?: boolean; + children?: React.ReactNode; + onChange?: (value: boolean) => void; +} + +const StyledToggleWrapper = styled.div` + display: flex; + align-items: center; + user-select: none; + width: 100%; + gap: 6px; +`; + +const StyledLabel = styled.label` + color: ${({ theme }) => theme.INTERACTIVE_ACTIVE}; + font-weight: 500; + cursor: pointer; +`; + +const StyledToggle = styled.div<{ active: boolean }>` + position: relative; + display: flex; + justify-content: ${({ active }) => (active ? "right" : "left")}; + align-items: center; + width: 40px; + height: 24px; + padding: 2px; + border-radius: 14px; + background: ${({ active }) => (active ? "#3AA55D" : "#72767c")}; + cursor: pointer; + + input { + display: none; + } +`; + +const Toggle: React.FC = ({ children, checked = false, onChange }) => { + const [isChecked, setIsChecked] = React.useState(checked); + + const handleClick = () => { + setIsChecked(!isChecked); + if (onChange) onChange(!isChecked); + }; + + return ( + + + {isChecked ? ( + + ) : ( + + )} + + + {children} + + ); +}; + +export default Toggle; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Tooltip/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Tooltip/index.tsx" new file mode 100644 index 000000000..d07f63a2b --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/Tooltip/index.tsx" @@ -0,0 +1,63 @@ +import React from "react"; +import styled from "styled-components"; + +interface TooltipProps extends React.ComponentPropsWithoutRef<"div"> { + title?: string; +} + +const StyledTooltip = styled.div` + position: absolute; + display: none; + top: 0; + right: 0; + transform: translate(calc(100% + 15px), 25%); + z-index: 2; + background: ${({ theme }) => theme.BACKGROUND_PRIMARY}; + color: ${({ theme }) => theme.TEXT_NORMAL}; + border-radius: 5px; + padding: 6px 8px; + white-space: nowrap; + font-family: "Mona Sans"; + font-size: 16px; + user-select: none; + font-weight: 500; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.07), + 0 4px 8px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.07), 0 16px 32px rgba(0, 0, 0, 0.07), + 0 32px 64px rgba(0, 0, 0, 0.07); + + &::after { + content: ""; + position: absolute; + top: 0; + left: 0; + transform: translate(-90%, 50%); + border-width: 8px; + border-style: solid; + border-color: transparent ${({ theme }) => theme.BACKGROUND_PRIMARY} transparent transparent; + } + + @media only screen and (max-width: 768px) { + display: none; + } +`; + +const StyledTooltipWrapper = styled.div` + position: relative; + width: fit-content; + height: 100%; + + &:hover ${StyledTooltip} { + display: initial; + } +`; + +export const Tooltip: React.FC> = ({ + children, + title, + ...props +}) => ( + + {title && {title}} +

      {children}
      + +); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/__tests__/Button.test.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/__tests__/Button.test.tsx" new file mode 100644 index 000000000..49d7b8abb --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/components/__tests__/Button.test.tsx" @@ -0,0 +1,10 @@ +import React from "react"; +import { screen, render } from "@testing-library/react"; +import { Button } from "src/components/Button"; + +describe("Button", () => { + it("should render Button component", () => { + render(); + expect(screen.getByRole("button", { name: /Click Me/ })).toBeInTheDocument(); + }); +}); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/data.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/data.ts" new file mode 100644 index 000000000..22734a5f9 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/data.ts" @@ -0,0 +1,38 @@ +export const baseURL = process.env.NEXT_PUBLIC_BASE_URL; + +// Example taken from https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json +const sampleJson = Object.freeze({ + squadName: "Super hero squad", + homeTown: "Metro City", + formed: 2016, + secretBase: "Super tower", + active: true, + members: [ + { + name: "Molecule Man", + age: 29, + secretIdentity: "Dan Jukes", + powers: ["Radiation resistance", "Turning tiny", "Radiation blast"], + }, + { + name: "Madame Uppercut", + age: 39, + secretIdentity: "Jane Wilson", + powers: ["Million tonne punch", "Damage resistance", "Superhuman reflexes"], + }, + { + name: "Eternal Flame", + age: 1000000, + secretIdentity: "Unknown", + powers: [ + "Immortality", + "Heat Immunity", + "Inferno", + "Teleportation", + "Interdimensional travel", + ], + }, + ], +}); + +export const defaultJson = JSON.stringify(sampleJson, null, 2); diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/globalStyle.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/globalStyle.ts" new file mode 100644 index 000000000..ac7c6853e --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/globalStyle.ts" @@ -0,0 +1,157 @@ +import { createGlobalStyle } from "styled-components"; + +const GlobalStyle = createGlobalStyle` + @font-face { + font-family: 'Mona Sans'; + src: + url('assets/Mona-Sans.woff2') format('woff2 supports variations'), + url('assets/Mona-Sans.woff2') format('woff2-variations'); + font-weight: 200 900; + font-stretch: 75% 125%; + } + + svg { + vertical-align: top; + } + + h1, h2, h3, h4, p { + font-family: 'Mona Sans'; + } + + html, body { + margin: 0; + padding: 0; + box-sizing: border-box; + color: ${({ theme }) => theme.FULL_WHITE}; + font-family: 'Mona Sans'; + font-weight: 400; + font-size: 16px; + height: 100%; + background-color: #000000; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 800 800'%3E%3Cg fill-opacity='0.3'%3E%3Ccircle fill='%23000000' cx='400' cy='400' r='600'/%3E%3Ccircle fill='%23110718' cx='400' cy='400' r='500'/%3E%3Ccircle fill='%23220e30' cx='400' cy='400' r='400'/%3E%3Ccircle fill='%23331447' cx='400' cy='400' r='300'/%3E%3Ccircle fill='%23441b5f' cx='400' cy='400' r='200'/%3E%3Ccircle fill='%23552277' cx='400' cy='400' r='100'/%3E%3C/g%3E%3C/svg%3E"); + background-attachment: fixed; + background-size: cover; + + @media only screen and (max-width: 768px) { + background-position: right; + } + } + + * { + -webkit-tap-highlight-color: transparent; + scroll-behavior: smooth; + } + + .hide { + display: none; + } + + a { + text-decoration: none; + color: unset; + padding: 0; + margin: 0; + font-family: 'Roboto', sans-serif; + } + + button { + font-family: 'Mona Sans'; + border: none; + outline: none; + background: transparent; + width: fit-content; + margin: 0; + padding: 0; + cursor: pointer; + font-weight: 800; + } + + #carbonads * { + margin: initial; + padding: initial; + line-height: initial; + } + + #carbonads { + --carbon-font-size: 16px; + --carbon-padding-size: 12px; + border-radius: 4px; + overflow: hidden; + } + + #carbonads { + display: inline-block; + + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', + Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', + Helvetica, Arial, sans-serif; + font-size: var(--carbon-font-size); + } + + #carbonads > span { + + min-width: 18.75em; + max-width: clamp(18.75em, 22.5em, 24.5em); + min-height: 100px; + background-color: ${({ theme }) => theme.BACKGROUND_SECONDARY}; + box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.085), + 0 0 2px hsl(0deg 0% 0% / 0.085), + 0 0 4px hsl(0deg 0% 0% / 0.085), + 0 0 8px hsl(0deg 0% 0% / 0.085); + } + + #carbonads a { + text-decoration: none; + color: ${({ theme }) => theme.INTERACTIVE_NORMAL}; + } + + #carbonads a:hover { + color: ${({ theme }) => theme.INTERACTIVE_HOVER}; + } + + #carbonads span { + display: block; + position: relative; + } + + #carbonads .carbon-wrap { + display: flex; + } + + #carbonads .carbon-img { + height: 100px; + width: 130px; + } + + #carbonads .carbon-img img { + display: block; + } + + #carbonads .carbon-text { + padding: 0.625em 1em; + + font-size: 0.8125em; + margin-bottom: 1em; + line-height: 1.4; + text-align: left; + } + + #carbonads .carbon-poweredby { + display: block; + padding: 6px 8px; + color: ${({ theme }) => theme.TEXT_NORMAL}; + background: ${({ theme }) => theme.BACKGROUND_TERTIARY}; + text-align: center; + text-transform: uppercase; + letter-spacing: 0.1ch; + font-weight: 600; + font-size: 0.5em; + line-height: 1; + border-top-left-radius: 3px; + position: absolute; + bottom: 0; + right: 0; + } +`; + +export default GlobalStyle; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/theme.ts" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/theme.ts" new file mode 100644 index 000000000..0e7a65ac3 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/constants/theme.ts" @@ -0,0 +1,104 @@ +const fixedColors = { + CRIMSON: "#DC143C", + BLURPLE: "#5865F2", + PURPLE: "#9036AF", + FULL_WHITE: "#FFFFFF", + BLACK: "#202225", + BLACK_DARK: "#2C2F33", + BLACK_LIGHT: "#2F3136", + BLACK_PRIMARY: "#36393f", + DARK_SALMON: "#E9967A", + DANGER: "hsl(359,calc(var(--saturation-factor, 1)*66.7%),54.1%)", + LIGHTGREEN: "#90EE90", + SEAGREEN: "#3BA55D", + ORANGE: "#FAA81A", + SILVER: "#B9BBBE", + PRIMARY: "#4D4D4D", + TEXT_DANGER: "#db662e", +}; + +const nodeColors = { + dark: { + NODE_COLORS: { + TEXT: "#35D073", + NODE_KEY: "#59b8ff", + NODE_VALUE: "#DCE5E7", + INTEGER: "#e8c479", + NULL: "#939598", + BOOL: { + FALSE: "#F85C50", + TRUE: "#00DC7D", + }, + PARENT_ARR: "#FC9A40", + PARENT_OBJ: "#59b8ff", + CHILD_COUNT: "white", + }, + }, + light: { + NODE_COLORS: { + TEXT: "#748700", + NODE_KEY: "#761CEA", + NODE_VALUE: "#535353", + INTEGER: "#A771FE", + NULL: "#afafaf", + BOOL: { + FALSE: "#FF0000", + TRUE: "#748700", + }, + PARENT_ARR: "#FF6B00", + PARENT_OBJ: "#761CEA", + CHILD_COUNT: "#535353", + }, + }, +}; + +export const darkTheme = { + ...fixedColors, + ...nodeColors.dark, + BLACK_SECONDARY: "#23272A", + SILVER_DARK: "#4D4D4D", + NODE_KEY: "#FAA81A", + OBJECT_KEY: "#59b8ff", + SIDEBAR_ICONS: "#8B8E90", + + INTERACTIVE_NORMAL: "#b9bbbe", + INTERACTIVE_HOVER: "#dcddde", + INTERACTIVE_ACTIVE: "#fff", + BACKGROUND_NODE: "#2B2C3E", + BACKGROUND_TERTIARY: "#202225", + BACKGROUND_SECONDARY: "#2f3136", + BACKGROUND_PRIMARY: "#36393f", + BACKGROUND_MODIFIER_ACCENT: "rgba(79,84,92,0.48)", + MODAL_BACKGROUND: "#36393E", + TEXT_NORMAL: "#dcddde", + TEXT_POSITIVE: "hsl(139,calc(var(--saturation-factor, 1)*51.6%),52.2%)", +}; + +export const lightTheme = { + ...fixedColors, + ...nodeColors.light, + BLACK_SECONDARY: "#F2F2F2", + SILVER_DARK: "#CCCCCC", + NODE_KEY: "#DC3790", + OBJECT_KEY: "#0260E8", + SIDEBAR_ICONS: "#6D6E70", + + INTERACTIVE_NORMAL: "#4f5660", + INTERACTIVE_HOVER: "#2e3338", + INTERACTIVE_ACTIVE: "#060607", + BACKGROUND_NODE: "#FAFAFA", + BACKGROUND_TERTIARY: "#e3e5e8", + BACKGROUND_SECONDARY: "#f2f3f5", + BACKGROUND_PRIMARY: "#FFFFFF", + BACKGROUND_MODIFIER_ACCENT: "rgba(106,116,128,0.24)", + MODAL_BACKGROUND: "#FFFFFF", + TEXT_NORMAL: "#2e3338", + TEXT_POSITIVE: "#008736", +}; + +const themeDs = { + ...lightTheme, + ...darkTheme, +}; + +export default themeDs; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/BottomBar.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/BottomBar.tsx" new file mode 100644 index 000000000..517dd71a3 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/BottomBar.tsx" @@ -0,0 +1,184 @@ +import React from "react"; +import { useRouter } from "next/router"; +import toast from "react-hot-toast"; +import { + AiOutlineCloudSync, + AiOutlineCloudUpload, + AiOutlineLink, + AiOutlineLock, + AiOutlineUnlock, +} from "react-icons/ai"; +import { VscAccount } from "react-icons/vsc"; +import { saveJson, updateJson } from "src/services/db/json"; +import useJson from "src/store/useJson"; +import useModal from "src/store/useModal"; +import useStored from "src/store/useStored"; +import useUser from "src/store/useUser"; +import styled from "styled-components"; + +const StyledBottomBar = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + border-top: 1px solid ${({ theme }) => theme.BACKGROUND_MODIFIER_ACCENT}; + background: ${({ theme }) => theme.BACKGROUND_TERTIARY}; + max-height: 28px; + height: 28px; + padding: 0 6px; +`; + +const StyledLeft = styled.div` + display: flex; + align-items: center; + justify-content: left; + gap: 4px; +`; + +const StyledRight = styled.div` + display: flex; + align-items: center; + justify-content: right; + gap: 4px; +`; + +const StyledBottomBarItem = styled.button` + display: flex; + align-items: center; + gap: 4px; + width: fit-content; + margin: 0; + height: 28px; + padding: 4px; + font-size: 12px; + font-weight: 400; + color: ${({ theme }) => theme.INTERACTIVE_NORMAL}; + + &:hover:not(&:disabled) { + background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); + color: ${({ theme }) => theme.INTERACTIVE_HOVER}; + } + + &:disabled { + opacity: 0.4; + cursor: progress; + } +`; + +const StyledImg = styled.img<{ light: boolean }>` + filter: ${({ light }) => light && "invert(100%)"}; +`; + +export const BottomBar = () => { + const { replace, query } = useRouter(); + const data = useJson(state => state.data); + const user = useUser(state => state.user); + const lightmode = useStored(state => state.lightmode); + const hasChanges = useJson(state => state.hasChanges); + + const getJson = useJson(state => state.getJson); + const setVisible = useModal(state => state.setVisible); + const setHasChanges = useJson(state => state.setHasChanges); + const [isPrivate, setIsPrivate] = React.useState(false); + const [isUpdating, setIsUpdating] = React.useState(false); + + React.useEffect(() => { + setIsPrivate(data?.private ?? false); + }, [data]); + + const handleSaveJson = React.useCallback(async () => { + if (!user) return setVisible("login")(true); + + if (hasChanges) { + try { + setIsUpdating(true); + toast.loading("Saving JSON...", { id: "jsonSave" }); + const res = await saveJson({ id: query.json as string, data: getJson() }); + + if (res.errors && res.errors.items.length > 0) throw res.errors; + if (res.data._id) replace({ query: { json: res.data._id } }); + + toast.success("JSON saved to cloud", { id: "jsonSave" }); + setHasChanges(false); + } catch (error: any) { + if (error?.items?.length > 0) { + return toast.error(error.items[0].message, { id: "jsonSave", duration: 5000 }); + } + + toast.error("Failed to save JSON!", { id: "jsonSave" }); + } finally { + setIsUpdating(false); + } + } + }, [getJson, hasChanges, query.json, replace, setHasChanges, setVisible, user]); + + const handleLoginClick = () => { + if (user) return setVisible("account")(true); + else setVisible("login")(true); + }; + + const setPrivate = async () => { + try { + if (!query.json) return handleSaveJson(); + if (!isPrivate && user?.type === 0) { + return window.open("https://jsoncrack.com/pricing", "_blank"); + } + + setIsUpdating(true); + const res = await updateJson(query.json as string, { private: !isPrivate }); + if (!res.errors?.items.length) { + setIsPrivate(res.data.private); + toast.success(`Document set to ${isPrivate ? "public" : "private"}.`); + } else throw res.errors; + } catch (error) { + toast.error("An error occured while updating document!"); + } finally { + setIsUpdating(false); + } + }; + + return ( + + + + + {user ? user.name : "Login"} + + + {hasChanges ? : } + {hasChanges ? "Unsaved Changes" : "Saved"} + + {data && ( + <> + {typeof data.private !== "undefined" && ( + + {isPrivate ? : } + {isPrivate ? "Private" : "Public"} + + )} + setVisible("share")(true)}> + + Share + + + )} + + + + + Powered by + + + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/JsonEditor/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/JsonEditor/index.tsx" new file mode 100644 index 000000000..2ab987d7c --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/JsonEditor/index.tsx" @@ -0,0 +1,20 @@ +import React from "react"; +import { ErrorContainer } from "src/components/ErrorContainer"; +import { MonacoEditor } from "src/components/MonacoEditor"; +import styled from "styled-components"; + +const StyledEditorWrapper = styled.div` + display: flex; + flex-direction: column; + height: 100%; + overflow: auto; + user-select: none; +`; +export const JsonEditor: React.FC = () => { + return ( + + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/GraphCanvas.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/GraphCanvas.tsx" new file mode 100644 index 000000000..7c04662bb --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/GraphCanvas.tsx" @@ -0,0 +1,43 @@ +import React from "react"; +import { Graph } from "src/components/Graph"; +import { NodeModal } from "src/containers/Modals/NodeModal"; +import useGraph from "src/store/useGraph"; + +export const GraphCanvas = ({ isWidget = false }: { isWidget?: boolean }) => { + const [isModalVisible, setModalVisible] = React.useState(false); + const [selectedNode, setSelectedNode] = React.useState<[string, string][]>([]); + + const collapsedNodes = useGraph(state => state.collapsedNodes); + const collapsedEdges = useGraph(state => state.collapsedEdges); + + const openModal = React.useCallback(() => setModalVisible(true), []); + + React.useEffect(() => { + const nodeList = collapsedNodes.map(id => `[id$="node-${id}"]`); + const edgeList = collapsedEdges.map(id => `[class$="edge-${id}"]`); + + const hiddenItems = document.querySelectorAll(".hide"); + hiddenItems.forEach(item => item.classList.remove("hide")); + + if (nodeList.length) { + const selectedNodes = document.querySelectorAll(nodeList.join(",")); + selectedNodes.forEach(node => node.classList.add("hide")); + } + + if (edgeList.length) { + const selectedEdges = document.querySelectorAll(edgeList.join(",")); + selectedEdges.forEach(edge => edge.classList.add("hide")); + } + }, [collapsedNodes, collapsedEdges]); + + return ( + <> + + setModalVisible(false)} + /> + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/index.tsx" new file mode 100644 index 000000000..1bd25c695 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/LiveEditor/index.tsx" @@ -0,0 +1,20 @@ +import React from "react"; +import { GraphCanvas } from "src/containers/Editor/LiveEditor/GraphCanvas"; +import { Tools } from "src/containers/Editor/Tools"; +import styled from "styled-components"; + +const StyledLiveEditor = styled.div` + position: relative; + height: 100%; +`; + +const LiveEditor: React.FC = () => { + return ( + + + + + ); +}; + +export default LiveEditor; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Panes.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Panes.tsx" new file mode 100644 index 000000000..f3a302223 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Panes.tsx" @@ -0,0 +1,45 @@ +import React from "react"; +import dynamic from "next/dynamic"; +import { Allotment } from "allotment"; +import "allotment/dist/style.css"; +import { JsonEditor } from "src/containers/Editor/JsonEditor"; +import useGraph from "src/store/useGraph"; +import styled from "styled-components"; + +export const StyledEditor = styled(Allotment)` + position: relative !important; + display: flex; + background: ${({ theme }) => theme.BACKGROUND_SECONDARY}; +`; + +const LiveEditor = dynamic(() => import("src/containers/Editor/LiveEditor"), { + ssr: false, +}); + +const Panes: React.FC = () => { + const fullscreen = useGraph(state => state.fullscreen); + const toggleFullscreen = useGraph(state => state.toggleFullscreen); + const isMobile = React.useMemo(() => window.innerWidth <= 768, []); + + React.useEffect(() => { + if (isMobile) toggleFullscreen(true); + }, [isMobile, toggleFullscreen]); + + return ( + + + + + + + + + ); +}; + +export default Panes; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Tools.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Tools.tsx" new file mode 100644 index 000000000..7ce647a95 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Editor/Tools.tsx" @@ -0,0 +1,81 @@ +import React from "react"; +import { AiOutlineFullscreen, AiOutlineMinus, AiOutlinePlus } from "react-icons/ai"; +import { FiDownload } from "react-icons/fi"; +import { MdCenterFocusWeak } from "react-icons/md"; +import { SearchInput } from "src/components/SearchInput"; +import useGraph from "src/store/useGraph"; +import useModal from "src/store/useModal"; +import styled from "styled-components"; + +export const StyledTools = styled.div` + position: relative; + display: flex; + align-items: center; + gap: 4px; + flex-direction: row-reverse; + height: 28px; + padding: 4px 16px; + background: ${({ theme }) => theme.BACKGROUND_PRIMARY}; + color: ${({ theme }) => theme.SILVER}; + box-shadow: 0 1px 0px ${({ theme }) => theme.BACKGROUND_TERTIARY}; + z-index: 1; + + @media only screen and (max-width: 768px) { + display: none; + } +`; + +const StyledToolElement = styled.button` + display: grid; + place-content: center; + font-size: 20px; + background: none; + color: ${({ theme }) => theme.INTERACTIVE_NORMAL}; + padding: 6px; + border-radius: 3px; + + &:hover { + background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); + } + + &:hover { + color: ${({ theme }) => theme.INTERACTIVE_HOVER}; + opacity: 1; + box-shadow: none; + } +`; + +export const Tools: React.FC = () => { + const setVisible = useModal(state => state.setVisible); + + const fullscreen = useGraph(state => state.fullscreen); + const toggleFullscreen = useGraph(state => state.toggleFullscreen); + + const zoomIn = useGraph(state => state.zoomIn); + const zoomOut = useGraph(state => state.zoomOut); + const centerView = useGraph(state => state.centerView); + const toggleEditor = () => toggleFullscreen(!fullscreen); + + return ( + <> + + + + + + setVisible("download")(true)}> + + + + + + + + + + + + + + ); +}; diff --git "a/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Home/index.tsx" "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Home/index.tsx" new file mode 100644 index 000000000..b517c0c36 --- /dev/null +++ "b/15-\346\225\260\346\215\256\345\217\257\350\247\206\345\214\226/04-jsoncrack/jsoncrack.com-2.5.0/src/containers/Home/index.tsx" @@ -0,0 +1,295 @@ +import React from "react"; +import Head from "next/head"; +import Link from "next/link"; +import Script from "next/script"; +import { AiOutlineRight } from "react-icons/ai"; +import { + HiCursorClick, + HiLightningBolt, + HiOutlineDownload, + HiOutlineSearchCircle, +} from "react-icons/hi"; +import { IoRocketSharp } from "react-icons/io5"; +import { SiVisualstudiocode } from "react-icons/si"; +import { CarbonAds } from "src/components/CarbonAds"; +import { Footer } from "src/components/Footer"; +import { Producthunt } from "src/components/Producthunt"; +import { Sponsors } from "src/components/Sponsors"; +import { SupportButton } from "src/components/SupportButton"; +import { baseURL } from "src/constants/data"; +import { PricingCards } from "../PricingCards"; +import * as Styles from "./styles"; + +const Navbar = () => ( + + Editor + + Features + + + Sponsor + + + GitHub + + + Documentation + + +); + +const HeroSection = () => { + const [isModalVisible, setModalVisible] = React.useState(false); + + return ( + + + JSON CRACK + + + Seamlessly visualize your JSON data{" "} + instantly into graphs. + + + + GO TO EDITOR + + + + + + GET PREMIUM + + + + GET IT ON VS CODE + + + + + ); +}; + +const PreviewSection = () => ( + + + + + +); + +const FeaturesSection = () => ( + + + + + + EASY-TO-USE + + We believe that powerful software doesn't have to be difficult to use. That's why + we've designed our app to be as intuitive and easy-to-use as possible. You can quickly + and easily load your JSON data and start exploring and analyzing it right away! + + + + + + + + SEARCH + + Have a huge file of values, keys or arrays? Worry no more, type in the keyword you are + looking for into search input and it will take you to each node with matching result + highlighting the line to understand better! + + + + + + + + DOWNLOAD + + Download the graph to your local machine and use it wherever you want, to your blogs, + website or make it a poster and paste to the wall. Who wouldn't want to see a JSON + Crack graph onto their wall, eh? + + + + + + + + LIVE + + With Microsoft's Monaco Editor which is also used by VS Code, easily edit your JSON and + directly view through the graphs. Also there's a JSON validator above of it to make + sure there is no type error. + + + +); + +const GitHubSection = () => ( + + +
      +

      + Looking to understand or explore some JSON? Just paste or upload to visualize it as a + graph with https://t.co/HlKSrhKryJ 😍
      +
      + Thanks to + @aykutsarach + ! pic.twitter.com/0LyPUL8Ezz +

      + — GitHub (@github){" "} + + April 27, 2022 + +
      {" "} + +
      + + Open Source Community + + At JSON Crack, we believe in the power of open source software and the communities that + support it. That's why we're proud to be part of the open source community and to + contribute to the development and growth of open source tools and technologies. +
      +
      As part of our commitment to the open source community, we've made our app + freely available to anyone who wants to use it, and we welcome contributions from anyone + who's interested in helping to improve it. Whether you're a developer, a data + scientist, or just someone who's passionate about open source, we'd love to have + you join our community and help us make JSON Crack the best it can be. +
      +
      So why not join us and become part of the JSON Crack open source community today? We + can't wait to see what we can accomplish together! +
      + + STAR ON GITHUB + +
      +
      +); + +const EmbedSection = () => ( + + + Embed Into Your Website + + JSON Crack provides users with the necessary code to embed the app into a website easily + using an iframe. This code can be easily copied and pasted into the desired location on the + website, allowing users to quickly and easily integrate JSON Crack into existing workflows. +
      +
      Once the app is embedded, users can use it to view and analyze JSON data directly on + the website. This can be useful for a variety of purposes, such as quickly checking the + structure of a JSON file or verifying the data contained within it. JSON Crack's + intuitive interface makes it easy to navigate and understand even complex JSON data, making + it a valuable tool for anyone working with JSON. +
      + + LEARN TO EMBED + +
      +
      + { + const frame = e.currentTarget.contentWindow; + setTimeout(() => { + frame?.postMessage( + { + json: JSON.stringify({ + "random images": [ + "https://random.imagecdn.app/50/50?.png", + "https://random.imagecdn.app/80/80?.png", + "https://random.imagecdn.app/100/100?.png", + ], + }), + options: { + theme: "dark", + }, + }, + "*" + ); + }, 500); + }} + > +
      +
      +); + +const SupportSection = () => ( + + + + Support JSON Crack at +
      + Product Hunt +
      + +
      + + Affiliate + + +
      +); + +const SponsorSection = () => ( + +); + +const Home: React.FC = () => { + return ( + + + JSON Crack - Crack your data into pieces + + + + + + + + + + + +

      o7KHkB*^P%Vwiu>o_Z>8Mt(F}?`6WsWXIyB4WLO4AU{6oa8UkE zL$iEU1GD7E5_`afypDbAsPN8C9}Z3n$NOZp+mCe++?8i*jn!2& z?tYvi>SS&Kc^b@y?bc#of?GgBM)ItPWSKKs2B@SYHJ-Vmb&Olw@AQ==kx1p+yR^8v z;oLzjyC1hN-+3=sD{Qv^5EewvB!nuupDMgG(BI#%KHLSw>nIhhKt zsXe~DWu{3TlwTERAX(B(26qC%g6+p4kd3K#mn;%d0cks`FEQbf{IY9Cwp0lLUu{ie z7$Z5=rm~n?bDWZuc#-XcFHM1LfDG*oN z@2>o03*mx<&%Yjd#80Wcl12RmX-SGOln$7SYY@2#F|8mX3O5tB@=Q#{b1xG*l5s=J z_<~U5x8`Uk0PN$)aNAXf8Y4orX%^oAEz*bCyqmHQa1&<}6*FTR`xiar9z2ul+OvMR z2iDP}x?%7{E39B)^s&d!a--|U%-7)Ij)Z#WkMPKPHGUc^aD#aG7}|o?^LkkG&I0ew zNv;4(5eKapkv)#wI-1`g$K*N(SMw!n*M$CwYoS<%BM~tiMP?qmv`&6MYF&Ew5$s8fJ0Zt$ z-c>2<-W6~H%`ScOcG~>#y+}+Za^bS9#Je@T-;Sded8w6uxq6Q zL>y`RK9(BPd5NxnsdcGDx0$!I85w2$OP|#!SNvbPU0o$#XhvjN_JLlj#IQ|8p(bdy zI)ivu^XHAihWXdfz|Z<9vF@Rz>yHnRTOEH>_d@c1*YVms%NfwOw47>VRPdJ({#pm^ z>E=;cTt)tbE4oNwq8r?Oo}il(%5Dn@_2-KF57PZtfH&3|K=^+eQJ!v|kqUV0%B>at)Ne2TH4 zpY&wC>5pi>e3(Z z0ta*bjk(>z^zt+6gTj`JL^VNBxTQ=mH$#FZ@v!Op_hoVl%Fs2={ z{CY?t8b~+WHba;XheH;|lQgv7mBMD|Wq3%X)+=Hjwjet3$;XD5Z7}!<4lEoQ)-K9g zHl6QlMs`Mhgb>8w_C)ifUOb4(bgALll_-Qm_%gXm8op>-p8v7-*Rx?z3|iB|M={Yv zqwdDA2h>0stuwi1#HzL8>xU?y_!ZmUczT#omfGA9gpxBrV z46%5H^k6nTvDpHd|CtO(6l-@;Otlj(8_b`<4>^AMiVNcHp8>@KE187a6<`Q<+&IR4 z51i?^c#gY@i9p8(inOB@IE$Si!fXiXM$@QFq{dtWmaQS%;NESN575(gJ)uN96qw|) zX=>MYN9(vlBIjvuo@DV!^EraZJ!zQ7P4yl^)sk$oE{7-Ov*oFF>U=$8t z%)VWZLpkCfB zcJT&7tM;uAp{g2nF>QOb58@784~M5@fy07})Mo3(@?>kBjH?e3g3Ykt%-#(wz`rbp z1m8B@r48VwvkeAK%Lr1DjF)Pei=~H=zuu_<7XWyIbnJ914id zxb~ItGiel{@!Ii0AL|s$v(MWhsPG^es)ML1kJDPPxJ@77+F7}B2L&JHr`(4Y>4RqB z=|Hp_HIzYM^dUAQfi|3uRA=7+WeN>F_!Lo2OJkQ=p52G)juHZCVuSXpop8E$;eVn1$6WK^pG6kvIc{4xU_KZi#DJjD z6ljDg&;k?FbvCWs`z9)_oZ(9BZXU_`G#6L^6#I7%_V0cZ?G?)j8AKT)>bTx`FC^64 z7RMVe8P?s#m0`hgtpXaY2Ji+&k5uH$OaF4_ZyD$w*rDMy&)reC$m75{I`>|ch5DZ6d>(iIJbLRj2#=AT?r2sblgka+V#FhzR zX(SB(AzTB<%375jqHIHq1cHfLnJ+~wBW%weXn1Of_;!0PX%Yv5Ww^@w!-_!GD|HY& z%V(5=>PP{`74|g zN;0EWcaLADaDilgTSvAbLK;6Z^9d3fosbUEN8)NaP<2JvSqLB70PF@rM(#wQJkYb# zkTFE_t2bEf1S^2!vCA7mW8GtqCvWZs4kAT#1k*9;r`7dmli?>94z=cNfZ-_v=PH`H zuN?ch`Nuvjg;YuAu2c!u(ER+P%S8g1p(n(i7k-qb+r23Nux@``fzm7cA3y!d72k1K zg|ubvl|Fy|@PGB(=TRR?vCPna_%R$88O;7$T7T|%V(o)JeuPbO^pBr@#3`MYKQ)8)qMZmK2+e|zr6XUHwYqN z`&=x1aQO6pdW+pp3ra74?;rNLNx=DbT#f1J?i}fV9C#eQk^j6vcP+_Vm+{$AZ4oz~ z^;uAghXyw`j{Is%2SnfZyZdLO#`t5ehg1HOgui0}zKa0=*&pq`k#Q{*7sZi(73U9v z&cAW#NoxO^(M9^Ftr>nXR``n#j-DZ9N1bZ)tNDAolkfafST3g?8o2$fDd8)IJuo61 zI*8@c{fD{7zX2=eFc-@YrPjYP8$Z~H^Xjlm7s%^O|K6)T2f5QL2hIiky+`z6fQ`EL zYBcvxH`iajUpbVXPVMy;{df05)a4Y@=#Gz(*PQ7n&aW_p9QM@8CNMlSlgS?XN%6 z{X@7Y7U7=UUtCV-`OZIs$ves=`s>e>2_qXsZmjZ)%L)Iy&ke9E2Sa0i`I-K&YzvpS zd!3=8PyfXRw7s}FtOu75v+C4(;-{saiBRgG{QYub3zIsPcpJA(-cw?!DC7U=`b=i( zKGe1R4(HPmW^#kUC$DIk*ZxnroSdv>K8P~U*Ax3=`TeJ@^IuExYh(5Qx~1To#7#;o zLz{xCNS62m5D7Mg3{Y0>zM3c4Q!Jqa7Kh{U1cbMLw!hzA`c}MB#8AAHY>YVuqQyx_ z-7o0c>32U_C|f?T*av-%T*n%s!b@q;{saVqA0OF+4f%vFw`5HVv40r`8_dle_G^OAKz|r0T326w!)C zkS+!ixwUgZD0;EBFxuMX{nSDFE)<--uhns7j`d5SuDC`a58|_;+_p?R9+V46=A4Fi z%$D@r$5ES$vAky?+p4o+UJP8lxpZ%br1&~R6RhzJ-$CP|mU}TPL%Z!_IMtpdbWzmF z?&5jB)NYi?zC6=iS)a<7(@G7jznBP{BO@ z0)>!Il?n2Lq2(tj$QN<%NS%6#J(u{$_c&)mXX0I7T>oy*Fh9fidbwHb8Z;ESeA|ok zG~_5~II9Sr2uHXV+n?w=!rCRVI5j>L4_zGM1zM9>k5Hi6g5(nI%%}Bd`K^mxRRs~0 zD@dR<&1kg5ThXKl!n7dB0z}KElMu=q1Yw&)l#@{jB)h+y&zWxpj+KJZXh_oRdMqF5 zaFsD_K&^VSn~%s$*+7|^<_R65j&*0puF4D`;#E+e84S+U>mErym8Pqj3=j-CwGeyr zNq8o@-ZJ|~OUB)9`VGKPBj7^h0Xna%J1jM`jl9vCIF=-^``h3-4!{ODd?x|>h+aDR z@uaPyRlD|J86JZNxxYf>1O9Q2O6b}d?dWR|5vs&^w~?QVT>3c5V7U1cYfkYp{m>fG zh;Nemq@0RxD2Sz9S$}_!tm|mt_LktzQL0@p30{rMeej7`ZgjudeIuL^z9}5(!0o7l zRQMUP&Ax+LfCO>%-3Lf>d=OD_LqJZ*9wt_`kSqj{jqC=syoM)p%VibmLXhFAgr0cl zEe6m-&I}S8W(rskb`Mi<^bTLjpP<|5UPMH#Z^QuaiB?B+!MGH zav{d~95$d5^xWHi=u-NC8%-rVqT-v*C_!IMkXJ|! z5=(1&s-4ksbM+zUDWk8qA-IAO@-Dr^WVC!x%v|Hft7Xx*JBS{hIH(08Er#YmL{Dd? zWWhYjdI}UBo-@^ggdZs++XQJr(`~;m3@a~!9$79XS)#ueYX6v~Wl*^-gsNqbq&|*W z(2g!7E(hoUw>id{9l{zy@ATFZq#y*Q0Z7q#f!x2G!;lb8>Eh=22Euo)I6z{6Pm`3! zA5oIc*if(rDLVOSURkywpBn?uFL^yk4eIf(b6n00>`1tYWxny_a=>3Ky0s*Lb;E*6 z!n?j2$h+s_!?ItMi6e+T8m}OJN8tQDxN!Fs|M}+6h*~V~Mtj`=;L;N0FyHLZN%nK@ z>K^c8zTOrAi=ajYloxXhx&hn51%xO$OjtG=$c7Iu__WBjgYFM{Vbb2xY?OtHZ5fm5 zkc{s*nG92X7wte_vN=EPz1f`V$c*$`N|+3MWDP8})p9( zaB-um9}r3f)|Yt!)z@unEmg|7pSX@~(1YJOJMopJajegjq`=wc9$Adj=mp&;@kSi3bTw2VR{kk_#9BqIj)p~XgsnHlY7UgYxYZq7uaPg5n`{v( zkLJu)~MZZGi#7u$j6d>XRv~pK{uY=8f0?ReLhoAM za4LRBi1Ie_BC_IVL@0Os3V1lD>zbVMFLF#*S!8I8O5C%pwII}!r^J!7^YTKC-z)9i z*N%cU?P0MnvG_C2H6ylyA$b`aUS7e@X!nZ}2;!Zkgo! zNb{^PnknY49OkP1>bJ5?XdN6^q=!bw=uAOpF*F~TvM@T8_wDKT4)Mwb-MHqMDv!Fd zzt8d8W3qAt1x{eHF($yPlq;6ib;yP4&0<0CR?2To`Jjqa&RRU@8Hu?Qkq1Po*o%_U z_|hD@Q=k=Z8a4SA9;SE|s4TQkL^=HdmV8x=V?4@DD+(jNF#T}LG$A6ZIGnoj z--8p5VPX;vs^zO78#>dAcv^EnOY#e`Mvp}&N^tsv%50p;x^i9ya1RK@=JaW(nEdxV z_7fZ8gyruhc1EN%_8e&FsGey#lO|aAmEELG_F>1a6eSsX#bEg(6pr^I4Fo8xOna#Z~w*jYlTZrQf842NDS zqC`$7VgB6aYylW~jAPJ}U7oSV`nf1y!pzr;Mlt7Aq8q+X!Vr+m=sFU|?R-;AQ?tCK z_}Hfdy~tq!ip5Q-)d%QMl9l#D6>84v>iM4_9KC9JFvY9g2m}@ zf(RZ6$`f02)qDd0qIobhHX*DMYSoCr{{n^77PV2ZfL2^^MiuGhv|K_dOv@Au*+PU! zkQYUBi*p8J_8??MF26W$Q1{;1PUP%NlSki+;g*h%`lgPSv!q2FxnO81qa9>%R3rLi zgH#{0>pHcch0@(o->*g>|5FzKWLPNgiX4aPH}GqwmWvaHRmYakbGLe;$nsiQ=|{_$`Hf(9SwD@XO3U?Iot-8S9VAhTK)|K zE$q1d9nsPYQa%&Vxa!kcf&}urzA5ZHpuy4+c0u)|ZTWEl8B3wM&_`Dche6NWO?`8K zShmwrwjT+`{N$A4^~jbu4AWxwI77H&`c<~+6P1mntRsXim0$_m)P@5}HnqDT?9dKs zI-x0a*7B<kOnub_aFCxc}K|P}`B8Tc7Y+VrjqU%LZ(Yj-A&jg<^))eoA5QRMatr zc(SZ&&(NTHWe*Myy=+jFO|W&3jqIdsqJ+0GEP0gO1c^lTTMMgNGeX-8k=PO|dnZux zI|1z!Xf;x_>kNSe^0N54VYE_T_QKNqcu;S;0|v9gx$CS1>ku9aIpw9MCSt4`60+xw z$H+qpneTsjvkG3WEX$^(?w)ar)UWRZh*QSSvYXwD@hz58Z{Fh!jSy61(EU+9njGEV zcz4#s`=fFo_$f*dA4OyK8HhoX={9hs^SR|l4}c7riTy%Q@0aGfSy1Ue#i)6+nWuPX zYqko2`qCIR40?+j)yCcyu-pe|U)8c~h=GVzP2Y;$?EH@_4PW@t zJ&?NW+^$YrRL@KmVn^`1C8G~>$l(rhGbZ-5p& zxvRHSnlZ3p$oIya37Nr{k}_QW;}HJ61zRb-M~_0+P8$4a98pO>1f1{O3ytbt`&eTR|5e z=q)jPwCQzYH+aBiVb1N-qLa=cRE#YM)M@m;?FRIG;pJ1Z zMtv4$tw8%YOT{Fc+;r)#w4sMkNeL*ikZWYjEH7=Zl$7B63zCOCRfvyDG>H`rYU!R4 zp2#UX=LnhCBHK{7zXRC6lre&uMJIJ2 z9FtG$AJUS2d-L61XA;9KNd(v|d!)hoQV~fqDQb!|BXM1VkUDDAfKxjS+#1BuNQZ|<4y9*t50betznKcU6|K4GIqEoJ)H27 zomhROGWc&?au2JRqpmFY#$m@p_+#hmyQNd-`=T4`In-aaTg|JXX}LlEfV^AX;_Iz+ zSbaG=-1?}r zdV1iVXP75`z+;im&Cg}^lLPSLyx!s=XWcGQmiFJoKs+y!>UBY+E%an~0jT!kA~g=b zd7m3cKV>xmQ0_%yN`6Az4AKk(VHOH*D3vMrQAk!7_>8-}m5G1ZTlNpnpm(j-S~JKn zTUUOkwPgD{%duN7!k@dfo5s0uv(Y@u4>0W9j+=vIt<$G1e#%>nc|oLToz;Y0tuw=8 zy1Lk4V}=~%T0luK*fB?UhuF`5ngbnXIeV`{oYLB}&^YV!%Q8760E#lXTlH#>G!qN)dgU5&?@FbhKChsAydmGv3Cus ztfLb#GhHmr+~BoUhxRE5pGs_KgEJ<%P={oVZYtiGk51nV&{KrdpFsP7x&e5V)EHn_ z96*8Cf8uJ-N^vXCuoHw+bHIMhQu7Wc+wDq%kC}rcQ!ApcVwp-G`S6z!0k!5EOQ}w0 z;T+c6G57bmU9{KP@G-U;)j=i#sITn{IF{1dS>8?NI(mRn^8WIrjZ%>F0^b z7KG=L$US6r-!;$EXU)eL4(0sA1^IN4clABnc$9BPzz9IjE~|v8B}e&E$}4ENF6)83 zAe~BYPhL~TXg&!liABC-ch(+W&sGZR43rp8Kuqp>*_)ScFof736BkMI5Xh06t1vrV z!_=FQ?DGI%Om=I$#r|*K`acZ9flf0qiR|=3NY@i?sB3vLqc4;~+}^}&I#BLrsCTF> z%16Vt#Vfi%{`5*qa!1%+XR4-vlo8RL%w)uEo|`syDwr};gS2vb`3d2y9i)w5C9KjV z`T)mLXB<0(P!lo|JVw8dgkaumA7Y)6q+z~F3W3Dd zM**G&wNZfGxr3toyC_jQJ26z6UoV0ACGfm{eA@)5`pTW0$95+qYBw+TtM5vlMl3_Em^H#7yxgIni0u{2)_BoTCygpVqU{cSky2sTe8tT>*lyK zM9F&^H0=}GV$4e^LZ((AQE8n=K^27%#tB@>Mr%VzkWBLz@BlPB2}p%om10ms@If^h zvHH!H*O3bbU;6#837;3y{wOCPrW7Cy z-tQ;ItxgMvbtE|!*{93Vk6EDdkAJMR91MA)Y>d~BAs6DlQXpA(oNk}per-7KcdO9O z?Ai_;V-q8JorY=D!9qQZ95bf!d6gnKP5M;G&k_0>32+FesR+81fUILS_>BCb@@aDU zx0e9z`vS>o#%+V&)ICgC8X~SMOnJ(Rr#rQ)i{qe@R0z;ttB~XZax4hFrNuN!nL>m9Wmcii)f4-HI))2rK_R9JIv`0f-R_{IQg{pWN6eFS>YAJu>j+s^lXoSq+;d0bEJZ<* ztm;newk0i9ob5=U&h3s-$fHn%0mU)>>unN32hK+3reQIaWbL|UQ0bkm0aH$Z@Qk@Y z3MV_6r!4+_4;jlsw4HUs7EG zhai>6Q9Pntl(jpn{Jg8tclqCj<#>*OVp5dIv9Oj|K=6BISxen9#x%>(1V79Mfbr`# z8IGb1tqRaG#o#MVD>R(i0maAxmxJe?Lmi9?Bm#@tK^S(U#vk|%?~0?c)tX(rhZcuip`+U8+vtXso{n1 z_|PY_Xyjl+-CeJZYGm%*lQX_PQ0r1jVL){QyU@BN1NJYBzOag7w@s)yG4`TfxJri; z#v1QJiBdKAjAXrAGuAXL;<3@uCNkE-9E{V~!q!BP5VtyJT&M+9fr>Okfc2d|FfI*} z6wlSSCgd6Kee{_TV`yj&r3!EC6jDEiy07YO@mUL9V#Onxtg^AQ)w|;fZWxz->-18_ z)XVRu_p4C|?>{W@Jq}$ZVp%8g(GhKd(OWIq*(kX~xoH{OWjmSdYUQ_V1;J(ksF5GB z%0F75B^YZMBhC7A+%Ap>h0?6tx!rr0kCzyELxBOru;JeWx~+oj8q|#lQwBvTLot39 z`8^O&sHYop;7lZ{Z|U_@e@r4*4MO_b$`(@RYVnQ_B_eeOB4va0jBaaChCd>;Vc}<7 zmG~^N=9;Qaa0<_iXLRZTlyn>PN))^mdtFW`%!2HS`r0P2ypw1(OV%ER2kyEl|7^VNL;GgGt^?tHr z!1#Z|Zhl|f_|o9LxlIql(wQX4Ak1KAEBli1fZp znXgd-KQ(#v{V_-UYT8T@L0>(b((D7{`2!Gn4NsK0Dr-tB_5+vMDUwX zERPlK`1){8k8R?BiW5YVU0v1b&uBfFQERU3lCwCY6ixID5YjPVH46C^!W$Y zLFs}T2>mIq@ff2=@7N*EraP!y6-Ftd$)Xb_8!<_k*Y{S28JyUWqF}~WEVmgDf-7$k ztIFh_VH0kLO4@*3?}nOPvjx8r2UT*5l(%(6OZsGYN^FU%CnS=zM3D+{*$dm@V$)As z@X;QN+ZLAH7M<(hN@N3lfNiNsx-;P6ztSA@7M7;APMu=%qOm8o;mnI)A^J+T+lm2J z$`^b{3JSm73lZf~eBS4gF*J)Z>wi)LYIuZVAZ+QhqueSTBy~j}$!P~S`HSTUMI-^7 zp9ir2_#iBq7--s8>hkgtOZ;rKzY;a5Gr5*+0#>(cnnxaLlXqMym|88)^n)DE8N_eM z5%ZW_4nJcd9Ns~79~#?vf@x!G0ekuoe2YP7ft4`HBSxuX1U<{sL0pn3C0=ZUbu0Ge z_3k9TC41rwulCl7<_!{wRAxbqY0DPH*t8t!uyN{1=qOB~=CrlsukvVdRuGMszn()L zP!+ZN4f#rr)Tz@KJi{_-@R<*^q0S(ucJ?P92p+kf1HLUeljuJGZubazoAC4J zQ4cO*SM`yH^tlB|aQ9an-yeAQKiWzlAeQta*v=*LdBliS8mPEt`P1{e6jK4lgtfI< z`lk(z`e#o5$+;0ynk_aWGFNs!TRR#R=mTcY*&!d z_VVZ(W_>x}phvgz1{}mTA>YTN7|Ap(HIZO{%I*R9efU2wY;VGV3%oh<|CPySSV~7W47@kN}6%XYzKIl8o z0}t_l%4H32wCagsU8NJn&NU<3xeWieL7#q_w)I4CXq{AT>O`@;(JYVBj~5avby#`G zTh8TcRDbz&6AW*?U#a=EFgNosHgbv@$3p}^c_n-&_X8H>x$y&RcZKf+o3=aNlO2Qo z5MhPzp>aaz`_hYydMHG&z8HT@82oq#U1n}PtWU3>+}D69d6u*ksK#o15&|i{6S?-A z45|kWXnuOHx0fMcxoLmnr|f$0w$3qlkD&d*d)k8J>$&#BDub@ z>7CP$4;-DqEU=pH*|(lky6L(wIL67_RC1h)8|z{D!e78^h?cW5Vc+Om;oQdC1HZM! zluGV6I;Dn|eER7zZ8KqBjMcc!DY4E&+akD;s?L9mFT59t*EZ--*aP?=68_}m+!5?4 z1r}V^LC9%N!-Ew$?5_#KinqpUkQ+8jU$9YCV@t>l$3xsG7e@vdp4l7}3TuA<@@@H0 z_2(eA%t4-YnUKi|`~O&x8zarvtg&yjA~)8_7g77xkykG1-GllebVD2{7Yc}CSdRDB z|Fr3F`0U_z4?R3sxVgLJwFJ^m+7WKw_;enVlUn3a71%~TR+tyb~)Rxb&>EwKt_BB6O zG-b&CH!e5w&1*oCoo^kNt|}r-Yq&KYQjyaWzX0GI#V{R4Z!dqV)%pJW`-k+#G;w3q& zNa3$;{NS*v?u$3Fwxx?4OCtV%s5r&q^}`j*PpDA6_;J4W_f~6>N+az z7Eu`!w$XG%Qh5vk-9H_T$rtO1p$x2msTpnYWaeSINJPSwc5!J^{LAysot1cgK5F69 z#h+iL*UU{;ex6lkIY95ft)JX*Rez%J;lMocU`aqx({z3F%&6fxnnJsW{_!%&3vFa- z9tUfkQlfe)H&V_7k>)AUwo{>6w2NdV$>OH?0HNvs}ly(+|)XV+;(I z+AYyI4MM}7rp6VIN4>odS&PIgP`ZmM5AHW7t_+S}7>MUBI^nH$HDY3W+>j7*S)Fcy z!1LdAbkqkxl53+u&z5NS@A<-84=rL)eIG>wUK|T65)61>QtQ6hrA}Ef&HFH+8l!AC z`Z9gcn#BWW*xZTSFt&t^(}->4y-|o*>&I{HrQ`=H1)MOq1ivK@++c89t=r)y5m#L? z6Sd3d?9Y0IlYbgTt5iK#G?0t1L)jI4vWmX}dIvSOdJv~1cajoa< zOU9^HQ`2*+!{&2s(G32osiH^K>9VB9g->&I^pbEDjTGar$`LSCk2j1gV60dix#RipA&#I=F zm8f#x*dL(h`{krqq5$ej&1}t~%z=&%GczGW&yEV$LLkB=Xs5zRb(r<1)cJ;^2!_cH|bGrhb^^!GUYu)V98HnZBm>)q6A|! zIHe)Qc^XMuFJF?sGLL0=UgEU&_2Kl3oW~C1)LqlXS!ziI8$#rk>UlbPo72_agj)__ z!Z}{i^6D8;GbDpOZUwauDJXcC?;k$Lak-^aJGyP+2}Y|=GrH>7_6G1jy6AipQszr5 z4p#O>4Da=@+p(%XbyagNk|(stRI_U(aXxmTCXj_!vp-V7vU7OA$uUFlQyZ1Za-U6I zMI&qB8S~y?G8zLeu55OVZiW8t55g0*p;uW`+D3V0M|;!x^GrHcOT@i)f)@;$9f@j{ z2^Q{uVQ8962qS-b#7#C^jb5(9EKp%#FU{*Cnmj->8SDuo_HLI&r5)G5@~|zOZFSvH zt1sMzyl%Uz#&ycC-U@UqZFa*Mla|enE9FV8BUwBC6%X5)pH@zA z(vy*#O%pmyDwEG@%)b5g;nI87gcQLhDzTO@}xWBHoqa`pi%JBq|U4i`{tW{uhdmqv?YZ_f2(R#lvoFOre7 zo{K(Mae>uHe!f$7qxYn-sO`pU%-NE3jigNFSn2)5w^Xt>RHrGMENAW(q$ZI~&N3&g z*2UKtS^FKicwcp0sZ3{FY3R~+y4I)W42CWia-*%5LG5Q^hDUcgkCIcKF18qLTCMt2 z5qrssd1dBF<3w{^+zRd4f=$iLS2G;yVV#XQrCX_O6i-uBNPCj35(bI`49|X$r{S?N zTP9f;aO0jeaw?uV6Tn$B-+Zv=xw6|WV<|98) zbt#6H+x?RyuT{niOt#B%hi+I`Mq2Dsah)$d+3Feb&h3Vr_0D488}_+rRNwX15{9R= zoVjt9(TzJD)O6`z`e6C5_yuRdW*Z#*DooK-cwFxgDy3v2u5D&=GQcBH>{jsF#FU%) zT392?3t4N0l(ChyOrrAWf1)o6ywtx@h)o}!tjT`lWAk#rIuEwPjfojeHd7~cUamVFT7{P-E?ks*jQaZq?y9?Q18x`r)JHu6p4ZPROwKU zxt%w`lia$ll~83)Lyuscz_^R@u)w$T=R-k{ZEkP{g(HB&U0H1&VH{BX;9hCJH6CdC;p;IAcJKE$4pu}sb*DttiiX*;QSi>) zkI{)EKqa+2oLWk)42k7!RHM`Xn4J9nn{0rG14D2Ay*K(ti&^g%ZZ2c0xWSj28q_bp zFOaIp6oxp1ts| z`yfYl;_)+}_y8N%t7&IEso@-bU3BlPMO-YIgWFmo-2x9q_tk}r>o*UlghJtTlRxYgd$EU&f|mS zFL!8*I9ArZdGV#gLKNTF!Jg0AZ0bn=^fHk!u*Oc`Q6+m)RrYN4^rRQgCnZn3y$o)- zTN}o+OT`l40hdwR9@sVANU(@#JGA&+GseClj=SiJ>T_}GVDVRpSlw4jJo}J)dkwRb zohk`*2R|{?=7Qw0a_~ovzLKRb*q-7}Zy2d2*y5Vb3pDMn%IC33P2|x(g!1RaF_~z~ z8CVy$a5&N5r}228K1fI$RXF$NndWEd#%t3XN*{D>#8E1?OXON%!oqNC-Pulaq@3L~ zZw1&tU5A|UMj1TZ1>|{gzNH1_cwZML4C`7M@?)st9_3Pg=%wUIT&qrCy*)O5%38P= zcZVDgr&J_0TIi=E?I{AFd?FkB(+vaUP|Izd&2iIiRZJLj;Z(Qm1Vr0JQWw?39gg8o zr*^zQsSd=Tl+cluv?s~l5V3}RyOVv3N;(n9`(tE3^8I4o+{6kmAlIdukU_(@8Hzlk@@3#97YKyoZ~giSb0?$e>qAyS$xS)eVjd zXQg6GX7eO81zAT2Vk3d-10ZFwF+X9;f<3>(``7tVCIMkaXWsP`7`$9c`eZ)%d8_A8 zK3(x*_-d&&3w1)~JWKU0g3-jtX>^~=+;c|G^3v;j-8;DK`xoX+{O~*9vlo#W<_kv*Z)7zCBu##6C9lP6B`()iJgIVpat1S0(76exvAX8=Uv7WcBuq3*rvbb%{ zZ_#`%s^EQ*(3WLRSTb*>Sm9)vtUGj#8Bl{&EnskkYdP0s;Z;?E-j3ZsvY>I;9fj<} zr1)e7$&1v3jOun=6kUwb^-;k!o9uX+%aaS}l4DBt>8}#g8+&JY91OS|wrHCD)8x0n zKTq_pzK6Y|c_?5a`wNPk-Eu~DoSNH4+$UdeT2zEuS52|@99@;oJbmRZ zAF1tv72|_X1Nu)!zq_z4mbgp{{5f|Zq$E}XQlkhi(zqNyPX_XH;k2HdTveR zb78BzYeZjatsIQ<4#Al(f|K^4k?Ltk%FB?|zO3A})%n)r3@rE3*{1xbwfJIvk5g{y z3wf-K3v=Ad`^Ubtx2Vs z&BI<8{`g~HLG~%mbacBe5LeWwKl}{|wiG7;WEk=8Y5BH%aZc3qBC$@Dr9d|s#HO_C zhD}7(m9;uXQYUhQw#$-M8~bO2`Q)q1kQX1ETCT3qtPu65KW8RcewNpsBXn!B{8jvv z)y)0$ftZj9fpT@;jXNT?7D^-WI)`Gl$7%I>^&Lzq+U5#KDod|de5!E8BdYlB{nscr z@u-L&M6q(4Ewv3u>-%xdzmHK>eR$TIh~ajJkFnyE z-TD))U7Cf97v*t@Pw@wJ^AB}r&$LZdjXi|as_*~?1)9FUa})2%Nx&F=XS2g1H;NrU zgksrTo;b0rklvWkY%~q)e8LG)QriBJ+F;|EEFB3xQ#_wkQPYiQo+nOwOWHt2q`p0Y=8AD(AbV(bGZPrS`@yb{@1Fhks8 zg5H7(-4M`y!~4-%z?LZ6@$B1puz9UzTcUDAGV5EaCAU1Frq9@p6(N9=>{ugi4C8tJ z-iGlI`;-p;M!5{JU8@~y{aRZCZSY@yGg^G;@pK^h`q{>?1=gzK>1l;-)msL_c!_}M zWgp>{awXAzirH#WYB1yxI5+Bm*9IK?e-IH+5!%l>Jdx*;B@tXi{ zsJ*cKHcLt9lifq5m3&?47zpQ5dx<>KEg)OV<%B(C90NG}!pv;WP;tZv*Qo{AhQgbx zwNjKR<<&O|qsa~ByW77w;99rv?E*k-3fh@bJa2m@1R}}gTn3OdBH+uxGx8C?K=OG& zo)ca&TQXYbbLw562NtCFz==fxm3m$rYk%5#n}ztvx?ntDEP|vIyfW!)2R~iCrUOc5 zLPIcjbq_e40z6Zy)vN3!78Bgp%>&m1l-NfCLe-2`rOnDV zc8me1R}|whB4Mya-#4!e+%jEn0D@DSTk3VNVxiIWjOyr&*i0r?Z)?I>I!(z!UgE&$ z8or8M(bk~PjuT@3iLEO&EUfKm+s3G-3m@?a?F;pm&UUL$P?IQZ;jlFsA*or#!6YP(dwC&aU~3%7MNx!pyQWna4x(p+1_geW93DzWbwB zf;lhZ@)EO6RNnzb}#EHT?e|^bo11#q8#D?#tLwwa{oC zHSnmozxR|&%k7uS%SMfIKxmzAs5{C6n_=yKwdh6X3+qtiC1rqG%&>aIl-;HhYhVkR zL1#dIxu}(np|Gcy->iClxn=g6OYefsOmAA33+`U^#lC`bda;)Z*T-#B-68oJBq4Hi zZ%5pI^Rp>x^6v^re4Hop{EbWN2H-r2cj!#a>J9>O_R~m?krKr2UnutdBlbk=(SvW6 z9)OMMf-ErKhqf)dKQLGB6y}>^d*|Ny1~PY_lLEk$rT*9B!OktmyPx&lDZKl`Nx*aU zF9I=8sg>=9pgqSQZU>6CpUS>a{%(YYjwpzu2zg_l;+QUw{sT02ieo9RKoz3Xn*L zd-F_~UqEr$Lvu3W(t&Tr^mxM-0M5eBOvio;XI9InyFTqcEGi)AyA(+mUMlZy zeD}bppHuw%nEjmMe~C{0-?xgZuCk+>9>!j?^)eX)cxUW8fjQBR6a;PQ+!*V?x4uk4 zp-&(HWa@Ll-|i|31)mwbr+Dag`K>EGNYw*C%+kY)g1Om?mN`Hu7xIY2+_yHP(2q#% zfR)y>uGsmMPz$A7AVP!H*%0eW-;;*3i}vmk*66ROpWY5Ek4icR2dDfKVmAiZ z91+9#HYT3aC=BRWlU1xi{(rg1OTlP4pmrH;T;+|GiMapb_2-%KR+Zrw(cw^8tY{Ip zC&}=d{x8P%=RkQfnonxpfbR&3y5-+}t1i!fty^RDqrYDw4lD)=IDfqO*9@p{RM+ns zdiS2){D))n4t)24KkIU#&DL_e`LCweMSY`ezyJR6lg9;|1r1*M_V54Ae!M8&Ey#|gurvoosoc*idey0I`fi?VVV%BJ1{M#ShcmQ~z zaD@Kt-v4(S5EKy*;oA~k@b^FZBJcvJmGbwm5s(#><=gw^ua@k0`&0dHjWB5rlh1uxp0@3A}4z2 z?44ISay*1?7m5`$_@x~siwO*Q-z=B|*~bNT0?%ymHY6QsfA09uz zckNv3<(#ybmyT4RxTO-77OtG?X&+Q-O+=A0)x%X%_+*!QBn25Q!MBP z;9}^bf^WLlcathwf3;=07Zp&zUzW|9?kKr`w>b7DU9jaCwatQ%u0;>vxHvR`o znA$nOE%>Bx@_$DsexK%_+wFgAtbQuvpUU_EJu@QBr?`kO7I8T~fB>cLmDrWgI@-z;|LRNdv<5xgzt#B*2W4&z4W zkdFUgsW>dGK8G(W_~N&RrTxK4{JT>52VeLZ-t&Fl^!r%-RKPzK@b`4<&v>`*jm+;h z+veT>9SS%W*wvPjlG1BhT3lTGSWIE604Kr!BS0*=Z||@6%SAG}N(A)Pl)1=G|96WI zwtz(VuAu}D3#A`y(pa;js6*pFSYk|f0B*rFQ~?lS|2r)H7&`wi4JZ5=U;DookpGVG zo}U5de?<82;KF~$cKiSL0q0jW_`eJf4>xD&>FGIXhH~m}X8#%>HtF9t@~izaxwH)g zgp4hlGTsd$|86m8$V9;T!$rPT|3Vtdzn-}Aci;H`Il<-2%9UIey0ZNy?}x%`z30pF zZPo^rtmV9~*wyP!^F@9c+OZQbqjRNq&(QWOT-x;`PRyM|%L>E`EW0CmR?70l14oPl zN8_$N%{L{o|2r$?YjuNeKnjSHAyNi-UfU5!ni+0pw)qT4c&9DApFXk_ehofR-8_B4oRN!)-!DR=4lN@sSuG2_m{?=$G z-4gxEd&t+!6uuLZuy zIUa!0{Y5*0q_g9u$A_HW8Sh^nuJ2NfT!r1jU#fjvTm^;d8h}@sPA*4fj}N{CIxkhH ze$((r3h4N0Aa&`s@gAT7Q{g*&>NhSTfTqURo#s-+_n-LDn~nI*cLWzyaIO2+Y!250 za)D@-&)oH68bvqXSz@l--n#jR!Hzpb?g*;Cd3qQSpesPT;p-5Fz!z>7y|W}*dExF4 z2MR5>d(9UgWM-$x?k{ven4&l;$AAmHwy)JzyifBQwy8Q+v-dC4`iH?AJU-}U3^o@} zX#|oQ8$m$!%tE?VyEX6?iH%(%)Lhlv=7aZQzdzhx#pp}fo7%i2qjBJ|K?NWuXlZSs zYa$?{W`ka9!pz07!`t7*{9wue@kjz1o6c30+;a+8Q0U#e`M)R>-Bkv@Xotp**J#|^*K;U-5tWDDTcqJ>icDQc)AP^ZOEen zg7tTS3M;jG8xTpQD)$Gtp!n4;f5{pBLkllVoI?frC8(s%ru(!h1_+5<&NjTW4M_dk zW(ntut=yUgTgdR^nQ#SXjMM7up=24}5k-C&Q?nW(}Hj$e;W8c992zrU#&2bjp8U@ER#Ab2Gw2 z$>FF96$X1M(%m7#=ON3bp3<&;Nt5eZ`7FX(cFy^{s-|XBElUDc8)ftsl}?U) z?^m{+e7@LcRKqDq9QiilpDhGPZmYG*ol~jow9WY!ALS)?*ggK#z@;=euBf%9IKWcw zc38bbsmZr9l-eQlLdlA0eoP7?x`=-66xMc2{%lxRG>l>OEjk$S|+ z(H=NwT#@tD07w5)0GwtNyG;OL?1pejtk8R~AnF$;PCHFd7&SUuGHOIlqnbm1B;y_e zXp>_JsFR`EGIS$e>!4>}XP{16ZSMqqSRIhG+xC3+(o7P6(KICg);~&}CQdbD`jBZo%aQi~(w6d>lyK z2+shNlS^l)``+2|UP&t25jI{|0hV#2CH``eL)2L9_k-&o>(Gs9A}xknrYA3oo=ViFWtU?D$h~TrT!pYJJLT^UN+gm zm`h2j)g`j$Bv+;ef|_c}qstwSorLV|47~>&P|;`t44?v?em3T~?I6mvxUe;_a|8o@ zjFGKx@nW7Y8$VMxD+3I;!-O~EU3?;ccruvLxKH;eik~NBGev?Ts(*qKhj=8(l?? z&m{-=T>IfjTFKr@Vnl#0I}ke3pVTXawCxjvH9zk`zFV@?YqKCg0`RQsHtegSJW* za9#VoQtt zV5$rKB&m3#(k4lXKTPhIQ9*5pwoB{M;Sn*4^VVfB__98hb~SpamzQYGMj^tPLGKpn z4l=bmwAAn_8G_Q?hoYRbF=4U-hE1jIN!*)_si(zlZl#8PC4j!bte4&>H;-vN7CUu~ zRCt&7cnuWPMi<$jwxl&iuzgd+D{K6)%>RFzZ-2Q#!tnj}iCfZGdr`zP*@?xkiOhp+ z#dGj)({rOl7R<r0dI}SK5q)YI~CZLyZ>33;hUL7q;d)9nOGCg1FI>e<{RK^zNSeLk1cKpv>kq5fs zqnIysClX0NV!PbOszZa429H0|$Iq9_4=x2p(Jzl^Nv3G~xQR@lmTopU-W@zW_qwGJ5!-uu;F@Z1P(Fk zzi#b@AE3wP@E47qcWuy-$AqthzH(C1xaxFwT)j;$u|xR+`QR}yZqr7EQ!>W~vjIJ_ zG{*1D609$2OqVU~6s#KeZ%dG+`r(iy7M`^<>A(75pC-HBk$FB7QB_^C7gNYlYH8<`r2K%Pty^xVidv7Q0tsc0)gg>*nD22qy=BH(`D`LX#lO)%#*x(4=fwA>>_Dned4ygxG zbi8L*T&vb371CGTWITTiB16iFh`oA;vkK?FKKA)BdPjS=E(*8KJnG?~LQ`OQ3h?MN zsY9&zVteYaH|ER8>b3Qk4}#cLK&`CrJ`N5!C_^`F%UIE1tE9ac`wOT!u$tM(#0YYOy_x)(w_%fm|RgcY|geBqi3~z37NkJ5urMWA5)b+gz%9 zo4dg|?m};RBi}x7Snf^FyJi#2ue|}rmbLth(KAP1hF*Fv%Zrn_SXZPq3w5Zt81@7M zjzVe}=+#~hDcfjNAwzk#Oo*)j1JwQz%3MHj8Sfq&Y#9c(#$W^+{9biFsh_Rn(R-;9 zXtp0G!YT3jTfz|4@7^X|49#wnaR?0B&n6rB;am#ajhZen%k_?xMYb{Q=xsCeO_E}E zI;+eYmY%g_(5A6oxm|=s@uWr0C2#_b7;!E)#fY98PV6>AMli;r@+@dM&zYE(9``A8 z;XEAuQDur$d0#Eg-m5a%#;k#hEW)VN`$#Ea;RqEkml@euw5WHr^`w5i zgdA+@oXgwNC7cJPzn*0}gEI4A1K-@E2&$jk*L-d|o37(US$xFxg&Sd?!CNnF&jV_~KFv=Q*rJbN{m4|IY}M*mi-!G~Of^VjK<<;W2Jy zl%hwAt*Tk!BUtw1GLgkL7o$zDLpWA2+^bBzo~oTYLc}q8M$MsCD3$4V_TUgmGbD7h zM)E!7d5R|~EZaUVbKE+mPMt12kvE((9i*A?wk6@FJUpy(PI-A9lO^(;qV9lf6W8DLYgNtvUQ*oyd0{mL491!Z(* zQP{mNVJgBe@T84Fstn<42nKj&XM|CY&uidgB|9vk^ICpJX?TRRdD=7;<&R=?f$Go&3V)$${GDp_(O;@m)4`MowiUVRM^2MCNLl z8B4S=CC3^{#H3mH5wzsNO2{@*iJWAo?Qo55_EKjxw2bVI+JY3lD1(0tYUb+pb+*@da%$Uj+;*jA zYKFaEl<13KY3jbsvGA2sf17hp`uHGTfRSvie-&I|L9sbFyL45x@V<|3DYeIhV>y`| zpx;|nvpu!KXbe(5WzjS<@1bN?EHu0|2n^28Ll0Xl)z?};qi5%#OC43!U}{6q`d)B! z?6?Nwiik(_dG^2Q!=d_m2$uADsTbFy!O)SxWai*Z)*ejb z_bE61rQhbHlLW$!P!f48;_%(wRoDs7L-#duBMhWJMC?3&;U-^fH(=m_&@o)#{=T(| zx+4Z@ON?a7Z0hxf)FU2iph(wxt3}6;B-P9kQ`m<}xtVgVkBu8A*}iri@=r9|OwbU% z;Zle2muo2+DBEQ>Su9%NO9yiwitVI!h~zdxi;VK~8QBHNJS~yk+*#wqi8SBdUq8*e zcU8>E?Z~D3ji6{poW_|ciX0y<4s7JtO>XoYa-xQGE7gEI@XzlB3JU#xDAIL7L#gSG zHlwtGN!MDxhnVXPxEaTf#Pg4xj`4r-G#w46kcc2j1u3Dnw|Dqs2`7XGMl zy!7+BTMWh8*=s5O)l+-Fo~^#&AET)>4_c$%VAVIa}&t%m&uPK49MCR|^PADja5A4fB{K-3-hS+HqE> zzs*2|pYo)^QN(#soZCj42EY#_&xXlu$_V0huN+2Ko@w&uiJ#pO>Dwr_;}6_9W!ny@ zZse3c(bYL>d}i-Dubs=Z`p))+jmx7tak#V5fS-&vQ16yhIxNHgWuMKJ*Xkzk6t?iU zlh#|~@+tV%XbfppxE1d?9G3-wrzc3BUEfbhbR-+L>*?;^a0l>60$%zB)iYkwg2Xe< z^Dj}LdR^if+k_>aU`|IH}iR>b?oxXC?({WKAalfR_P|tUr5jxmcAcOQ+bWHV9 z6&w<9dwiuXad#8Mg|IC}M6`WTUlD>YAa*wUxH#|Pbk)m7uU*eO^^^r!Yc8&K$CD@GYLGqFt4RHeM&6}7Zce>SDOLFuf2 z&ZzyQCVdu1WS{9Q4cV8Hu5_MBV`h&a?H37LGBgq?`U2$Gh6}Of;5Uhm_So(rd6%lt zh)eBJOjZtecGzA4Kk?2h`iq@}IWlPCAkKF9%KN$J_6lb8*%lQ3I^8f0PUz}F=746? zq>sLjR5p}oz~~8dr*p-tljl+LIZ=cJENZbd=P`bisF_g=u4qQx&cp38V$R&Qpn$=2 z;-) zSB914ii2nRYsm>YQk{@dtzj>JiszCMWV$mX;$|1&Xg5I;lGoL#QA41gW+z<9+ zP0!4mnU%u#gUOdMc>^=10m1MOHBI`=89?XQW}}CKL#ZTksFAkL%Y1F~`q@(aIA>vM zZo2KL!AR~Sm1$ha@bi8NGsLiO5}LmLYAAehat@`^T*`iTlvc{V1ZbcoiskvdJiYeH zrb;ZbTxr(;vs>Ak)}1=+)&NPo;#3(uTe%c85K0LrSQQQ+>XUW-=}wu7?PaLU@|T^C z>bBF~i;lcxV8d*;%&*(UMh$>}_dfR)Wil*l>cYy7%$}PH0bE6!V~_mNV*9_kd5r`* zm;Jm_-L@fZ*kqBhwi?Wn8tQ@`Z%&UlP9brrq^Rl2qA&(jCwEqjOKqNXZRE^FFWib= z=p;pR$mLdJ>elSVi;Ihq+3&6F{wEc2J>ckHRv!R!qY9D$;uEjGi*rRD0l z**eLee6gcGn&Wrcvb_)J$nJ@b9B^Iof2Ml!(z77 zT>ls(WFvhC!&*J4H>VQJW*Ne4Db@{dbb@*TB~;sdR)Z*$Cxacg&74EBvxLndQg-%! zJSwG6Q{HyCdZ&497jTsji5LEm1Vfm4_y`98weTvcG_yexGO3v1BFsPpjX9pv)7R3} zHC+a8z(k>Q`;5%ky45rgQU_U{5westEitMaQKnbHc+zmEXlLYrnOGyUP9J<~S7#(;ZhE{| zZ>Kq1J9(@xNVBimF5m+CWhcjVjOb2dPDvgHOKE|5mQHL63lmNxJ9K>Z=V z{0Ev1b5KAxQhFCV!o3|5+9)*Do3k2EyThoTG?fr$cI;7h(zph=SvM+_qf_IaQbYxs zgrt{N!(kRi$_^wwYCw7f`eW~F${Z?($$(N=cFBv=;RVBsp7ls*_y{8c>2j>>mzN!~^|5_{^>(mXPLK|*S7nPi zd!d3pP|rj2SZH{*cw8PXOFBp@0v%|i-Oaujp#wlibvZT%1Inif+cMQgcThM(<4Zld zBv>U~v0dV=A7x;IYXdbuKMh5)laMLA1>m2E#kL44sj@x;PKEmG9ev)Q#3m*C@pxT& zoURnO(h?h36)CUTWDKo+2A)Lq>;PQ-Qc=5Dz^2MlHWX2zQ4@_E*1mvRT8w%U>AxvX zG842py)At>XD$IZwkv(7f;@22g52*XEtrQKaynr6OhmB(8+L}Th*H+uqt_lau!WB) zPDEl#-m}`-vV;cnZ))F^DuWL3PT#M_Wh`B5*omlry1)^Dq5qxw*X>PijZ0cJ6VGSE`~ zypFV^I{Fa13cM*im>0R#90X6W#UnU1A8MG|v+t*eI~%TU9-tw}`Xf<+v>;dbxP}9j z>8(vAUmo!PHat8a1medj5}(8Y2t_xU?+gaTlNB$d{8 zG&M*mIGNGl<&uXc1MqH>w_q)R|5zWd{xRdoKe^cdP(ZD8YAHf~kfX;MRx<5J@y-R#)@EBluwSsqjgiN3zpy(=>)5%=ar9cn$RG1$&okc+tv z(9wB-i7~G4l0Oc_^B`IsQ)k0ud47C$TF4PhsSENA2ItY2^f_YzB$*&9kO5_i@TW9Y zD_yaPmNJhR?k!1<3YCkI_JKTg2>FdU{tvwsauu95VHNZd(pZzl-3?hTyrf9G>LU>- z(_{Tx7Hr{EdWmtQ+ev4Fd*Ohoh_gaI+HB{+_eYFl5I$PAx?92~0blr_DX>kp0Q^@O z*iv*#o$VBCw5mpsaFwwVa{bh1!1>O|p3-?q+t=xDuI^iI!8k9!7dJ|Atw%P@?zzMZ z(#T`6iEtUpi`6y`6;aOl{vBaxD=CiQ=F-*r>acYnVO{B&yXocR^sk!#~fMfXC zIYjv+^0nj&^WXxhA#hNldUy6vC#y_yZ+n)GEta#VY8OReC_j;cNNP|^CTes)=mXSE zge@agL;f+@0sA;ad-zjftvG{0R4_x%jXsBgqcsCPlS&=?6vzV?^K8fi7CA@A`WSK! zOa{cvLr+^a2dU;tQ!Zx1U=|+iQ!Ec5+(lR{<2W zb{cMopBZ=L_|jVDg$Y`y{)9@#5F((0xPKlu z@)j4D#3HQAM2NG&8{Ha=X7FGkRQq(0BC=iiUUSMMP6=(2O=SmiC;^p|88|l6r~|1? zrP!i|@B84qf)$e^DKix!t_>#I<&MYk0q3!!TDf7ud4S$IXxD5(v)9w4P0lf=z@i%F zlp~`W#B3johtmKY3~>*Z@_%2c_Ut~}VsGx`T&bI-6SJ*4$H5$eZ^t=)(a!^$8X1CM zM7iA1yxE<&gglwjQk^{|q)$xMqtok9xnZE8{1Eft3VFE0>dBz`FgT&s9ZuypV%o5e zzG=bukJR~4HBzCxeY(jgI3c{CPbWxo7PE8sD6^-~MKe1(!l8b4DkQ|zJgfk|zfGzP zQ`i-Ch&f%^79J0X3I?Rxr`0xNI6TpY36vOiYR&J5L-3DF*}u&0jId1ZVz^|%xmsZK zRmPPOg`6;SVqPIL#)xg9!)VcUOn#I|8;=U2v(#rd`ej)7_)8I*Nuz|qdZYM$1w6#h z)qEit>o{6!LK~phzOlfB=?{64jKGk-&QdR0?~xif=5ln+>xn6`aPurJEt)j;`6#QK zQ=T*F(`NN-*X#2Tw>~x#$!){h#(`@oM1Kysgo-hx_*CclHJ`yEz#%ZOBt2_#mag0T zAetgMwQpm`G`^#w-4WsuBC)(x3IiN0v`?S5^9$^cW$mrR_t-3!W*#0b#xdz0Y834wQU#cdeF>`h+G=(SZ>8hrD*jTQ-=%+%`XVTu@4t(5McvEL~YxJ@oZ zaZ*V2B8E6Z@TRUp{t`cVLI=a9i@n2dcw8N zP_WCSgg+gGK0#aAS&u?iCr%qVwN7{zA#Z&`1Px6Y0Q^KYko(E!JRF2n#*;r1PBEtD zu4GtHY^`XIWXL8q3{Q+5JG`9*Sf=gy^=9{Gwk9EQJzz3jGS35AmeUqWQ>V50gmFZa zOVnsCiEnTNX7nCA<{l$Ri>G!uYZ9gxB2_r#1-S4zlkZDK<$(YV#u!e=ailK6UIrXA z=>Y1O%p_AgxjhtKyaiORFZ&cN5(7pb71@MQW+XcWOcE-GlQoy2Elpv@X!8%Z3plN>1;mq(! zhv7+#_H5lY0&QUvVZA>)&)OUJV=5x&;|1{ysD#f z9VigC#fZk!F#j%1UK=~LP&xY3v}a!`m*$yfVOkSffPJayj-ED$U`oSE+?+;35K&Se zSYmdBX)bgz#0O%|RnXI8lOgSaeM~x!4Gc9!)9!vrN@=J!0yD*pXn&FGW5bwYv#cc) zJs<%JC5G+Ik1duxCW*iX;x07{APB)&AoW%)Yfqudy&BjoR)$1#Ye#p|Dg)WPz8%ar z^_-V}JlhNklvGeUV2NwJ?$$t8w+-suKv{jCC3hBBY_|G1j|=LY0)oOCVe}5rla$)# zsL)&kc6>&{JDT@>R;)K8%cRoNsWT9?0rd$odd)MK3zPwuY==ejCl*;75fnMvYt(!U z(Z2+=i)O6DZjgV|TzC9u0_J0QWZ$54ZI12zWHuh6`es$e^v zylB)HKAQFQ&*X5U>WeNl!w!8Cb8tda5hhS-uAn^IOBF$-jen|5uFPpbbR~wf5Bb$! zj!v-6aLI2VVQ=8{W@Ex4d(I9@q;-Tm~*pI&9!Pe`5MMV8S|nbfPSH&N{(%^qBDV54MdY zIldwhW{^mPegmR-DkQmnTJ1TccJ$h8>Lmis#yPRbe~cfK^ZMR#Mac}qv16JUw@*AV zCHTV{w>#8!7UMTrqpxa0s&`oj_RaJ2 zi$^}2Xd6)UagVuq2Mx(00m=6?Ce@DI>Qu&$%0OMmu7(nkxATab5J!Aw%*;T;-l5tC zz5Z|QgGnvZ=I1M0w2#be_0j`h$%Sp{R8C&Nvrkg$opCB`&z#PPilWCp!bz|~Xx-(F z=<#8R9Cz%VuBc$A+eP%wqpcPlae3-)(^`gOR~bt|bmG2`(Z{T&>&^6=wkysRWKqTR z4?1l#S3ntrO#>T-CXwTB`?uv4`nl(xM|a3wP_iAH)DRxHg(`aMD1YQuX@LHuQJd>n z<3wf<0~Ivo{jUBp(y7yE?=xxUN_5t11y&Cl1FDlY>ts;Kyuj$f22w{V3qC)f+t=$^ zUK;HviPq~wQl0=Dkmxa*Q(4kU60AzWsC3l4?=3HaxPwqZG@C;^w-{0NDGJMTsI?q@ z@#y&m0YR=51kW#Tkcw%TUL)?@N{HF_vM5W3wlU}=2TopTpl`YLZSbl$d~5G+6+XIq zUwl^Sc$~&1v%Ft!$Lu~IXx*cJbbv=Hy#IhorRJg@+|M0=AsM%h_E|W5hM->+vRIhJ z&39Br`aePj!eokV)&zaJV;NnWI=v8N*3gIH%^bs-bL&(DUw}00H#2AXPDj|CT5kt0 z-MKe(X-eI?xHwu=xv_t?QqRXhcFtppSws&#g6fY7vyBP5cG@z|tt(-yy-TCqMs*W< zKEHR6k?mXS)&=P%aBE)~uP?S#cRORah%&EkY(4v+#I60AXxHNhmUN_f3H|+cRLSUp zoHv^-)b|7b-hAfie5+oLD|tI%{<4Z_c7p4iiHi9L|05OGmTPRUIEzew`-f+ZKg-^X zu`Xaa_KmzIo~sz^4W3Pf8meNlw#OmiB^N_0W{ta58`_`KqU04o<>XYc%O>zQU)qgw ziu?j8%p(*{h%JSLE9vjRT!8r#s2AifNTpwr=MS9dT@$RWM_D(7JC^g%Lyo_dJ}e#V4m?wKHITKzQA%V|BaZF$9M4?@NI22d1@)N zPcZU$jM7bm($F(XfusjFqr+-Fcrfl5?>WkhgkBJP8SS&DUKv}88nDWz7DjH^KnLHbtyt8Q?%r|Wf?nz|NA+-yqm6L%F|N9p~`xCYx`c|mmg@VRY(_ow>@{wWRrxpPb8*24ze!@woks_ za`FjugM@r4E1+m9JYHMjm-7|)f&4K>aNq8aRyWeJnsw9;8XUfIo8{WQzf<-06CWXU zm79yGJ%h3ZnMdXv>U*D;SjQz2q&ddHxx(+yR7g1bjGE5+n5Y_51Pr;V=b}v;w&W)` zz>8cCRKBLxybMVvRgPVP5^IvnpN(SY$WwwRC_(cM^KccXPLHCA{<^iAqdpk&`~Wp~ zo0fdhRFCE*|IETE?S0vf`YDz>m#2Ks?)VsKzIf@UANLDx6|gZn9*n@%dtrFk=~Y^jcf@QuN33HXi4 zOhzkC&_3k`w-=HlNyCSa^B-tJs^Ob*B8lip;&gsAwU%P6d9ziL5l|Oyj+UZvH;$aU3=mplj>3A!; zmhwo6iibj<0<>;1jd0gMlM@Cd;ljiGP6V)$NMy!kuWA&K{J&DZGrazq(7-xv1)9^GieSIH^BEK^RH@C`} z^lorxuiAu_&t8r3Qpg6M+w*X9%R0d#@tqN!ySs(HPSwM&jcpb9$6^H@I43lsA<&kA z4dO2xTb{n<9}Wwc>3f+am*!SS2=j8HDz|hLjc7nxoDQ_Nic1Zc8w|}!e|ajs!WK?% zGrBG~e(xrpG|>f4S!bFtC4Xiz?W|JK=>v}dxp=twbSxkl2k6Tm7?^zg)NY=QXqO|A zcOjKKg{=|hJ=azffv4r^rQUgI<~KMR^r)Be8vf`;UYGxphP-LfsEug*{kunDTkmXH z4HLSKGdN1pFT=fTy>0Sz1b1X=w5I#i&7N^9DIa3~i?bIqUbVVD4*9sE@ZB7Lo+WF@ zwXTL97m3e{Y-+7hzSJF2YiiIWpE}cw^tWj)yZPLFtvpi<>t|Lj)na43#8_;_YSiu- zPaDtidutFpkczC{w=Iu8u-fO<~bGYmTQGgblFqyER3WI_pO_~q2 z;TB{|iU(Ch-MmR|@fLesipur0kXZd@Yu%1sr-Go;i%1`-&La;r%^pK8td-YP{ZhZx zEI**lL%iG1zO5puw}+{HFX=&j(qzS~Pp4bUBEwK+*TzcZ5^N@qvU0hH2RL@t6ulX=h z&#?g$xme;MZfzH|aLM&>(1ZLUtQ~;FG}XS=XG}+E;nuH`uv_voC^ z=c_wvp2=+fkaj5!x$5MB^;2t|o3*xa&2AZlO7joaiP@?-^jmMPp46o%6TECc?l4Zj zpz2hc8-H+&dW$AaJ*$@F3(@aNcotMpIbIqy?25eQ2@8kxf9#{RkM(V)=RX>j?NtlR zH-8*r0)ijuROqZ}&Dit6@fhq~&u1L1gdjC=HO()@6WkfRR=&8};q#NLcWvNt$!XF- z6+7YHi2b!u7ly;Vm-=z4_uuXDu0P`;_&maJJEU{|@r3J`R-O)@mW}k$WBu@qUn|L* zLaz%%nr|2|+}8cpzV|uMF5ZytQ}-}3C@#%c>xe^NONRViUAvM{3SK&7Gt>&1-fe3$ zVc{+4$}TNAKdN$|E5LpvLQEsRs2Rpkn_}j0$LKFa80wdUmE3n6-ms$6di}+V7oQhB zKOSMAVRGgSp?aqdR!RQILr(4%f>O6mo7T1&tl6=$XJir;9?!RrB>!m(Fj>c=c0Uw~ zS=?jPz4pd&#L31Q>#g}!cHlfV1A=RS)z3k2SWD7`8e6Y^j{!WVQQm}6I_4(Nv%xHi z-Hf|?S7d&&d)+_{wPSMghZVQ=Wv0%GOY?-W$z=Ioe6Dnj3%nH*@Uj&79#-u86(PPZ z?&VeeE0XNqBDiCwY;ZeiT4?=<~__IEI>AU;Zx@-aDORCqA6aHW}I48Zb7bC10 z!3&x_eA@5*4bkJH{D-$7FJKP<)zISrq`=9u3Vd%I-(v9akuYDE9RJ;goL9_15yt}} z&IOwraN5IHYC?8Jyh-hWz@a^TYK2zFS3?E~!|SfVw7G9Z>*^hzCDrAfx4An?n7dj~ zglkz7LulOJchdKE$X!1~+Vn9^heu}KbJy>S`ki(;cqcu&qKkY(cOvAL^HXyIZfo(< z>4mS8F)g%D;Ni!O!1V1V3ys9{ zWu2i#TVbPp(T6_o|FHj!62~3mPhawo<8?A&HB;BGZPK_W%-eo&VWqg*71Me*mj{M9 zd@Z7H#m;=xutd*2(zFwR-1BV3MjfWj%N}*FI|Q(z2v-)QBA~5I*K|1NXn?H#?UqC0 zA$Q-Oda=)`F%eARBtOm7bv(WDC3Aa{mym892vqX+D)tw;B->@{fuE?=`Z2(zr zC!}feeM+>s0bj7RU_6-b-X4J?h22Bi1|wRuoVFFtuf@bJo?VuE4Z*Ga=Qb*(+b*M~ zfWU@SzN{-k&J|7On_1(v;-9f*LS?tsR_Hd1W~`R%5vTT+Hy5NAz6k6#$y&8pNbtU( zY1ZNELP3uO5EG5wn{S(La`c~zzs}i)lrkq@eC8WfGQnvyuGq+!-%xBeQPx_ZMEKAU zJb7p0Xef;7ZFEYT&x&;~f4eI!0ubKUN4j!m{UV3vpao~GRCL`6RHm_Hgl>di&sVy$ zmY<;eXx?}t?PFfA&~x2Ktm~d|XDw?auCYWvr44CJXP`C{z2?H(Q zE`!<%{oSI1$CYT&zIJ;)KQ$lGGWUTR;wW&~K2N4V3&k|y!?jJiTi-uWdA+nacj?V~ zeQDtx&*GeSzma`lC-9JScF&bB;eL`TDgw?m>TbQp7Ggp4i+RDlu4>@n2h&pnccvi| zPMRSt^I`{Cs<)1+ zviqWi4SW)YC#8+r8bx~0!TkKc%>t}iSY_Zdx6N=NH`6rp{(~CRc9pIrs ztvc4kO%hz=mD#AB3miyBcc#G4hfQ z_jNLQsql`^YHZa$leI~i8zN31u!n3oUf;}&3IP$ZX4CgM*L%p-`*~t9X3M_?w_B58 zFx{5wB|PrkouE;hRes2CVN=CtzsvFEr0bZ~4FBSl68+n& z($FseMNfE3<<4?xq!IN|bI| z_k5A_UIr?_%9nmHewE2ylgxA;TCy1i>i`dSw#a#?-PtVO&O^PTdJL@hShyPEJSICI z;=E4^pbULO>*29Z_R9gLOt#hTNdwHTt7&U0doVYzp3RjJGOe{LtUxC0%0L zYV2+EIA1)fb+_}gp=#>+Op?98xZ7yqu&HT;pw1?TcQh^Y0?}Qv=-P&K-PQ^wbk9>ajlX>j?n6#-ic+C85AIgJ3y@-Z*`vV z^?v(eT{a2tJ@vO)_r)hpar{1QN^ z#-y9hnhb}wpn+TA2l2d~;k+##3*1vmx!A3@BHt}_z^YehM-!Xz=2&|=3CkZJ{Ynu^ z4P!aCU`@&BF`gI#UMa$M*omSV*;RwtWjcyWr&IXJw-CF;TC{(pil@cs)Az*UOm}^P z&$F%QM%|`jix00iw@hF7Ggrv-S4VzRYr&l}jbtSpaHiuMinX|B%p6Lx)()2=6J4is zOjE-|f0%=LAVVxrY$(tPl>F$!+R&^^&?+!*3kai{-@juo={7=t{wsQ{CgmqQ!vY#y zQ*LQhO-{=&l>5;3J~HMCPF9hmKH$#5ip@txJ#Uq&Y=S0%`SKKtQ)Mr28C<3|g+1+T zf-8c!YR3hd7$4t5)mDy*TDtxPCVBB}fFf&?)(Q@OB>d72+q#^bwj6EDVP&#>t;Auq zGfiWb|97TyEQMd|H-GG)m8z+=;(~7s+7N|TqlQ4HDnPMcs+9pFKnH(gA8Y(EypLII z{|C#g(Dk;l^Wh9WeKOO)LWNFZu7Aa@U|W-*SLz=%qk!efjL3UI`kL6H8i0fS6sWjg z^Hn@Ury7oN#akN=P{?nTTX8lwzs>xQ4ON2yS|&pZ9JYW=3NjJUjf~0r`q*t2GTwtH<*6(5x_yb*a!L?Wr zv1tyBwXPJP1OTp|1#Er}y9n_b(5f5!1f=Tl3H#-1fWE+9bXbLCYz+;j=Rni^r( z31;KmgBszMcWPb5j;iW3Ku(-V%*1V&;;C$HGg|Is#qTcZR-wCX8ic(kCy9F`Dj+g? z36u^KwV@)SY8Uti*3LYN*>j!=s_!BhMkTO+n-(ZORw&B%6k0?<3v~`oge1au?Vsqb z7T>YZDJ&1aM2$ow@-EL>BOgeBeyttO+wn{>(9sDyI^vC`Fv{~VNr!?`BWMrA@9N$s z8B(DgYR4zutSy0_+i9+jS7kyS&A$vddfAumsoY_Q=maq=<8)5gH zFa{LP6{2K(AbgjUDcHmc>Q^N)I!)KnZj;eZ`=GE^l6WhMVidoh>@vSL!<|nH z3lt-&3jkTEPwuH%^smBZ3a|(FB@MEgb1w85;P)oa?^K*1qQoqiBDkbX82pG@*1RdX z?1DDF$M}ltde;%L2%9E!s9I?g5t6T1Yl69YDbxEyr&s;7)_P2)kvPwG7>B%9TgNPa zA^B%2!w>mf8wBnQ@GVLD3~V7Un*-^>YaRwV~%|nJ&`J+;2{b z?}Y8v_AInMSgzy!`}zQt7Z1mq*nkP5^I^b|%`#ur?ihJX%m2$q1&J$vq|=$lEI8nZ7* z&mD);&~~#plmzDjF~AG<)oZumPcQ*Lgr;bR<^TnXV!&$7%Wp+#i7ZmW;LcKpyotv zYxuRJc$@o|>XT`rK8)s9aOm6@@mO|4fdf^ZTwAuo)wBbZ&Q+{v>FhOUU`6@} zOy;vfGx=T!0qFTi18W78#A=S$;>5;ww?QNh0~w@{OIq{`@k zLD#2+Qo;wi(j8Hjro|FEPX2WHTx&Lc%LNg~NTcX~w+YDg(@pNnSV0piNY-83t$>RA zlg-CXh3o~dlFp*^7M1uHfK|FqY8+w%NFoPp@NPMDwJCZ)BF(@x$G?b;_>J$%Z>>)q z->dZtzLl>(lfJLMwc%b)ol#96Jx(3T$Klj?-K`J;;>dVckcUtuz~3l>X{i`K+v(O7*;zg97W6&lC<4#7g-iD` zp+Zj4(ZK6Lk#<6zx7G}(!U?~L_UnN+a8Q2QjTPAY@7OTuDNM=6*mPZJpo~f+9TvQe ze)kHvx&MIRw;HGTv?~ZPZJalu(n}{ zsm=9jMZ;z|b!1*X2qdK-69(PBB~(rvEe@)ci7|}Ul^4%D*w+Z3ql+I0ixY`jZGWkIQLL6 z708;Dd8ymn@muWxt%$y9^FMR@G!+$nFjQ7%(QdK}oUtuno_Nq>mQ*EyeJYMS} z*!2r4LuP|P95z1c4XSXTsh};sjxETv(rp#4l>Re4!-af8-(4u6RyrU70#sY!C@=d4 z_)pp+es+|?t%`_!IG?o1u^5EJ#Xme}c!73v{kYd+NI_gKZr{cpYwxMhOFBZ^>Z3#r zU)Bx^9S(6HlFH@=ayAjmv(wBM@DImYef}kp*N@0*{AR+ZhdR7v>NGUESKLH zdVLR^=3Z5}?SG4&tN^;@=2I$|A##|g$JDXV|8{$Na+*7zE#Pr3%+YXJLVo5!OE}Mi z!76~~>F|r8MgYQw|j0HGxfvw-P#X;pg;$NdK>?a#XrO`p(Y;iAN7eh46t2otgVx$Kb#8x zv%hy5`)+rSGb}+Fi`H$I1$wOeS48g475sQth#>ca@;0Ce8^0E>{B!k@i38-8FpxWJ zOMU-S+rmOYOGD#JrtUiX5xlQwVjww}sqo#Qu|}^~**)y(@ZppQqSTN4pT6oeSV2+1 zNPwai`yxRW*9w2F`hI=W)ObzU=;P2x4A14+ z5~qF)4vh>o6H^~gfwbzrq{3VA<*#Hiy;|1r@5NAs!C`6Y*|L~L^`oOVUj)3apUd zCQy4QSE^Le!B`N}J}!ATB^(^!oy;o`ZJr_!IvaQW{b{4~lWVy3S8(lx->X_1F~r=R z61{*xxE7rLWB4A1B2}P4UlUzziJ~#>6GdctEgK@lNk=8_p^357ZoYuoRN*i?zAAd- z+WyG{pX$ApoHFXsITgD-Ysg|ME!%$aWl3dL#2=crP<6kj-4590xf@_Zn5h%FEE4PQ zc!@61JSKCt(;USpX5vZ2a4+5OW;KR`5WgH#Vy3anHQt*Nl9V>s5Xyhk?a`d=hxZqv z#gY($YP4PNh4Z)5e_iW^D3Yv7sJ#5V>s{awKF;eyJqDyn4W4$BW#s4) zTxnTZ?r~46sgzx)`*JkhhkZGia>wPAoCU3obei6uc1JnL2|{vEpB|Adm?0gZK4KJy zlnfbm`=cNed>b0#$^{sh8=z=NyB z$q*9@+9E!k`;bjJ^82lAaKr~Ds^2Y8Hmjk9d4YY@NMiXLH_k^p>M^eKETqVk=1Fq=!{x?#|}!cSmkNA^0Q2~id%83Pup2$ zVl-nKJ@*{Z2FF?FsTlQe2$2)_;GkLV&4|36?;U*OcSW3&6C>F}RbS-QnB zfsth0V}>hL)02f5=Y{h_L-6cho2`@zZ_^`vpyGBB6v!(#5vSb_JONF`Qws|pFsaR) zcjoz(IdbtGpGx$l@1)yf%RWHm0Ry9~F#X1AN))ASElM$ZQ6fo{tz*u&3cn&$hVmRF zk_$4fp#|5_A|N27a`H?-hm{Yi>yX4qWv(6;F&2c{^tq1)SrX9F!sW}Csnc3+AR*#1 z%3<7O@5q7?W)+`?P0=(kDDR&Jjgw<#RY?$Fvxwb{3sc5jyQ2dGa65o z^|j*3Kp~m%{`jkS`l0ZdAiVb|-m6(Wh`0w?F&8MGeHPCK+8lAvPb3;BYTjyc9^FD{ zA@E!O*uH#>CG}X+u%B3~NxzUfs!m422J8o3QPwo%HL+!Q%GCWHG;}g{Ol2_5(XNM* zY!E3&H(Zd)mGsa>l4YWrnJH`IuL}7K8}E!Q$Jf6aw)U}>BHIs|jAmPlTQZERaipPL z(HhxKj?D>PK33kL^pC7SO~=TPciN=cK5nyCinRFh97d9u%$lclf0x zPs%J=VJj2gH&1b&chV9QBo3i=_zzkNBmGZAw0|57p*Iw{QGj^X6|pxK2@p~VpTvyB-qx%Jp`OB-q$upeQmlvMN`OK3W!S9o(O_4+|q~CFzV3{A_XC;oCh# z7|_D0(-U|fMkC&3gSx38$?(-~WM4{chrK*Orcc$nm^qtl0ga}1HC4dy zU%Pg>W;jcK8EYHvX}t+hkf{tW$)fAGswRFVw50lZwrd=vsb7n-Wn3pxxt`-cRu@KT zHU#wML1ua$(S@bKG}!9j+H#M*vn z+&pAF64(8bmGo!-rfnWG=aqLVP+FWBi&>HWY9x3|98`}eKM0l6KoYI_P(_vMRDdf68P)hEJR2CO#f z!Jg1EeFMJR4hzf%nG>c?6;;r`sw`&5hKxzz#T)Xj{z1Mf1c&k|8-_x-eKwj55qq2u zrgm(!5)l-&B-zhDc5j;W@HY$|fmY7)aDrUD6F(XgiVmp;pIXqL0js9u1LiL=Hgw3; zt40i1@s+VMf~q?7NR|$`P()=V-LRRN)9~a}p)cH}A3rM3v|=OaNmAn6t4I+E-PNlt zAL4aloQ_;(q_eUo${ybrrfoVIMvyP=)~h_P$9P+aGMa8R5vdXOw}mDITzioM;SCGCUpOw~ z=6lj>BM}iC2xCp_TVLPRzA8{QK*S|pyQdlyIdo^PnNuOP#=n31RNwLh-r~CSvln0Ehd{E`Dy6lb%t;g<7f!^LLh=t$az|1brZ>P zpJ)a9(RdZ1}kfocXjdUvi4Og_PMa2dD^c zgrFfPA`b4zN=HR#E9R8#uyRzGL>d%=grEpK>@caf(3Rsw9tQaz$c15|kI>bEWYKL% zgp8DpjFTx9Lt#XMA%57>i{7GOe)tN1V*ybgrqBtSNCH2=tIC0FT%=+aZF-r$`0J(( zd7M(V$QWa4SCsIEJ+WH(87V-nQ{?<>+l?1!4!2aF0|y#-QyYXD zlH#WzJOv;w6I8Inj~GT<w{rk;Z|z1O#$0HI0rzA3zx3H0yJ+|4VY_Ys& zf)jbDDiW6_GKGJrLeJhDGAC)toCRUgw5jX4uYx{^4q1_Y z`*DhdAoYzJ(hw-u$5T*b*W*QOZmv-WU;CAaDth&8MGn-7ghIE~4^))CCrhAxU_mBq zpj8*6zmU}8PPSbSz}~}N!a>QEiS^o_#k3#5iy9wF+O$#{u*Z0e5y9&3fJxZG7VR#V z$gP2rJnvw0J=TrVYi$%+og_a9V1*us%ggA~Y->g6Dqs2jUa=HGb!<{Rt;kX_Qae^`^1u%+(d`SbK!@ z)n<<mUj~@-FXM(UoiFK01h^hk`ryc{4M$PHEzDA{c7fQU%Xg85Q=uG6 zIJ|e*8zVj`%aSaCS+ls=XzAWsvVES zjFky0JjJSCn=)ne{3T63#iHn&R;@{TdlZ}?IumF-gndK=z3pU|`zfQ>z|mt5Qs-kJ zpNi%&k$sgL;Q@E+HhJ4NYPGK+Uh<2|2#soj?i>JLbC zkHS*alxQhZEZY=09WvDASO@>@Q>$0XN-de}_8JwRUP6j2 zz%1ZY2mZ*S@~sh1q9yg%i3;%&r$`}f;w|aT-Sr?hbi31wnw6CZ2{XVyGD`fW&ht7E2$Ax?*JOdw5K@a|Z!KRZ-uSs!Tk&dY8?$XZyKbcR z{)OIlN&oo>eym?Usla{4gEqyDNy7k{4f}cLo@3pm_+nDMFZVt2#DjiH`8iJ=K~%eB zxZa9_=KS#}Krljl%{b&aCSRyf=;*q$+fJi6$cc^QMTe)+sWE%!l<=pOOJH*)do{mk z$HXQx4o<~8mD4i_mEeeUQ;HCwzcj}a&^#jW{)BKaAC-w06KvEkvP1&%)onz!_ijcKe8&;8EXS)+O5GDbvWCNbg9{+eV6iBi$O1Wg^#TH?I$%4eT!2>KQD1aM(WHf{er?d-=TquLtgr)86s z^zj%uza|GBVfN--bSTnlg^hqopMn4+GOc(D;!-%gk5nQHD@O0@^g0jzo(J}RKW(}} zK-7Vqe*31Z4B_c|9^Mzjh0%82$&16N8+O0xM>>}LNmN-G-MFS7kv=*45@?H=biLm7 z8N~1)*se4VBu`{qZorcMDXZ!S1ET5v@zW zIBC1zSnBlQ#bMI_F2&GU=vsG;AVMyY$+NBKCz37TqY0P)?sHEp@U)9*vr-TL;)Y;i z+H~8`f~z>Nt!Pi+lOo5t!&*v^>u%=VyI*-r*h|yD5_aA>@BFT zwY?o_i>%`W8fPV(kNsq+CXl$)VcB6dS>W(37+2q)ZIX+4QTH1$@MA=g@VD+f9fz`d z+jqUXmTT8QVt@J4AYvHaAWbCeB{PG{kJq2&bvDwg_DQQYsG-l(bz42uA4Yvq&utZ% zn8&%hY121Sin3S#S3bvY^CA>thuwI|ZGR{fL!(ZChXWIaR6!pMDwdt;f0i1(jAB-rgO0OHJk>M=(mYv5&`Pbn)w@gk_ML9$J zEG|w0FDPns8qb*S4+ z9W4!;D+1>{1(C+BQ}M(z(S$hGYLFT_i`EoXjgM4h4c)?;HRLdnyo5JcKIx zOZg#pZmbts{zK3|q}D5-$5Yfw8wh^l>^De$T`TT`k09iR9B@gnY33eh2%*OVPyASFAp=8It*? zWPbHUuKb)%mLL#+ghesZfF9I=vpaqLS{<5p4UB3mX`Gd|zYm7UZ?P{Cc?1#k+J>)r zrw^~s6U8s=5xt|}zr+P0VP@TPc>qpchV3^QRdBrZi|sZMY1(6!$w-vE*o9gJrnX?{}E}M4_3!y=_cQ=zGcYn|yjN#URG-?V16Jz!{zbMB;PvyZNm37;PG9 z&0}B8`)Y(H3go_!X3lE7oXP#oYL6;3UDK-8FC6;e=wulV_VXII5tt$ahL&1m+o_Ko zqeLP@y~1JM?=3JZ9Tzhy-l(I-p|j@8LBiixm#;YNF=zTFbkAr|Qarg(^< z7}Cg{*uy|lzbAar&<+2Jf`SH=6)9Im{%c?@PyPWNRDq5xK1A|4s^+T1z3bV`2hKHj z3Y0ZJL7c28Q#l;k!>6KbpKw@GPdIvC8gS0Y)gKbnf$2$x`OfFF$WRhbP`2+AzBT== z5e@#xy=03(ygvO5smZ|DbsO>Hbck*_|NqGEf}-)O!Yw>YCeTg#AFT!;W9tXg6Xk;T zzM36$clvF<0d#i^@oG&<#;}4}KrRMT*6-HzcZ%bhj~L=cv{I9xL@_~mHuOmRR32M` zEO%oZ=Z-<@lJ&_DdC<6+)3Vn>8c6E#+je#m$m0Iaoa%Xb_L9%E7o@|FSewRj2}$|R zcy;(=Fd_v3B9s4Anfss1{q`>z`}U{Q=^y3g)3aO*mIACPu_qH9AhL@duUJNdK!ZUx zHFX3(J(5UT05Fp}UpFxD&a73CziG7_>~xq&K!=7UJa{I~%{X7siPl>&-&P8d0Z&Q< z?hD9EG?MSnz=)gJK_rWcE@w2eSuLax zoxGCT6tizJ%1b|Ivv)-TiOUi9hP#@3r3tV`=FyoCh1h(DB}rbL6RM=MnB~Mou#0m9 z5m$`fzMr~pO$i?_(F6q z_p(8zM96L&SPe+#6*BdtD3!^ZJj*3m{C z%^98`4zJ5$5JfBxLJwI*lFORg=Ien^_uGTzoA=Ab>-|!r4{St41U`Cr`%4Fl7YB*E z1?#nw#GTY;r;p>r7Y!lA5N5wOZ}0nwrtw)VTC{Fynk@fG-t#DzaG2hZarKVw zHb}R9$%bLLUM~9Zxy!x{-Dy_;(eQqHG%u#5mn>rZdAZp2hRy4C<{!K78x!s(-%onH zK-DoHZlcFopi!*Tc*i+x_uHZ85z686k1%jJx1vB64KxXN)Lz^p6%tN98Tw@Tex&X9 zC=2C!q4yhJq|AB6)YLl0{L;IPv4U^V|2pu^tsbCV=x$lY7Obw9E5vkM+?`*E3L-9_ zBU(uPqCV*~k`bYp+!5L{>)Zgu;OoXitp^LL8%`C5m^$T@-<04xA3~pS6h0e@f!`~; zF;42*9n`^X9T4Nzb(#Odb-9b_u$QE<<@f$fN+F}~x{P*n?1sW&vlQmG;R(AsHmani zl<@YZ%%m{AP`7!6OKkRL7rQI%SKU=v5OW4MUC&Kqbr>{fy@LN_Bm zAmT7{*ZDw8LU`C8t1L(P(_z@-6WpybDS$Gcm-m~uo^sh=ml}ui;ry3RSQgr6vT6FQ zDLDng_cO*^0i8ehBrVsZmW|d2L~s7D6gMfyQ+Ui%G_G(__~HlMO%cn7gh?Z3Xzh6Q zdD2zjNNvcJ2`(Pi?pQJ20;|UmbnUC}|NgR1@FOXSCS9_moDLgeT8GyP6Vzn8t~&;m zqe^Q?6YFo+FGT+cFad-4yh@ldDa{yL3Ts!Y&AwdQ%A zSiut5t(H8DYxiU~Gl8@m$o=(J{WlM}FkJ`!k?rs39#v$e0cq+G#CzIU*%g~Xi^)|z z#-Bp0_@jC?S&*QGbA9DISRLmim#BBm2l??2mIC_jEdv5*T)P!)N71KCa|w+OU^v&f z;N#k#vEwKl!~(Iy4(7uwct$^pJb3Cu*L`K`!Kq+xBsA*JA-54jbF-5Q8dzB%z2?JP zKu1)|H@k;C@pxhss{1&KFTo7h>(ay&_OxQ&a_!B983Z>+R>@_`Bz?6^jfTHNt$+8N zM13CxyCUGht25uz@3^noSv zIbj*M7EWQ*yO>i|G#V?6ZoaMzA7>*#4*@c?zdO7X`Ccxt$_?6ZIMF zFYTM2j5I5{TZ+#{GH@=Nvh^L2F|6y-{t#}LDteU8av8%!B3kTx1J>}kk+}J!c5EB^ zQ=cJaF-eD~(RgaS#X>o>Dvja*Ae|ygrPvYk3E1TS_Qb)Novt>S>%)z?ofzJ0X|73O z*{(JLpHGOfr4Kd!mJ^s=j2?`i&kAT~Q7{JvUG$0~C6jiWhVsLrCXy&)2Q;o87aHfL z6QKam$oWgff;PR3D0AZ#)!z0Yuv}rcpyG^bk!F|?d~Q$ba|7{r>K%V^lQ}B>s+^L? zZZ;tkT!Tkpqe2WV}?fk3&DLHd6Jm*C}az_#meqpaeG&5m9aX?1}@93=J++RA9*W#0>cH z28bWFzO2x-z2*yt4oX>sLtft(Vurc;B+vmz6B^KiZr_fepS}kmZNyCUVpdTwueus; zivONLCY^mKYRG*1uqfLIFM-k7Vv$5~GCf#{D=IvZdb{i02NUpo40!;RRYb0>7fxtT z5&%%bc#o(2GN51HeA>9`FihT2=!g#|Q&F>n$a;6yz2J0GqQt zyePGtH!Nw^KHK1-9CeU>eZRL|W3eOZOU{Z^*QonECotnP6J3$PNi$aTHqZ+*WXur6 z;Zx*^9v+`%E+%48Tv=({x|!bVYrhf{5rI(1Ip-Hf*)rw(Y<#o}dpUq>uqC*tKXjGr zL`O_hs{SJ>H>X(BhFhsFgDg$p=Wgw{;99yFVXYJVE;Dk@!H9Y8#b*wnos<|^&PYf2 z1!>V)WiOBcFfA#0mtBV^-H;ulzHnIabS%7^x4W=(ICO9DxC8&mY8SSjJ9Br9Keaax zLej5>eDFj1k8@S4f zBh`D|f1?1^{-(HORr?t0zuuKPVJ-Q@{f`cKmrcW656kvBOoT^^VAc={8)O{TcskZKT?qp(rHle3N9iDOrfp!j2Ar5L8@GY#D;`IS{6OFl>bn6b=!c?@(O@ona2x!ch{avQTObDNd zzDnAJ=qFv&;tG#X*Vx!1j(eJ*3%qw=tOnYm38Q`Z`ay(YQfv6P1Dl94^on@RaW+p* zpYSI%6BlS>hJMG)(;*Z@d?^^jv;ur#2`kFY;6mj9|6HT>8JU->1*gx?K(vHjM)RaF z;=5Ba^_I}@+|V(CgvV-SidC3Ga)H>G|3Gn2>?AJfA1?lsQ(36BReGX?sV*l*SwKvOskw;P}@vFLTfZ5s#5O{`V=ug}@B*!1ev zBEvDc%*DG@mDY=u?%S7==;3&H%!VNKa_wOK4o~B?X2*k>8e;XT^)Lluo<9{$8@1D5gOoUv>eCI2KU3iR^d^LK|yi;=80+7ez9Np2tqZlRsEcwuaK?h~u;0~QC) z^GO5E_nzj?@;4KHM59)#0R%O54YqA#TCA_R_Do$@2tk3n(d&jr2JgJ)C?p=c=s48C zZ3>VY1|HlLpbh8iiih3A76#opyEd1B-4azTJsP=YMAFW85(*P;11F#Fp`f>mKGf93 zChIEFQ8@oQr~pcMrNx>t1zw}w;rJz=dplYNxZ3I_ruG}w2t>r``;Int{3o1lYJy%$VOO8w%_Ctztx;A*IBbkwbeZ7Qh}^wxo!u_J~Cdnl;aI=JSAzy zBj6Go_49#dd}=9LQY4-z!Nhv8{2WmHZRauJm^53!HRu%u&p%??*-=`y5z3!U*au^X zV>kWYiQP8XAtZ@CpbHiKu>9VKv@BK|k$oTD{N%EBJ1#cg-*6}Sn*_B#Gkq;P8kNFQ z6kv(;_*m~5L5UQCLL3o@!VUNJyHAVL9zqleFAlwWxhW6e+C3YM{up_98mrQ5HUlFz zTF$}%rs80y*L^RceP^_EA~g`dr-p7=;!&+s4BN9*q~g_}%>eUfif3Kv;QX8XA+tB< z6nj=sPa!ZStZgCDVA>5k?9};Kpg1ZqAs5(xA^RodWQ79vT8}!_{hp2qA{fSx(=+pa$Z|ZQhz-Zb>dRygUSRf+|O!`0qDQ&gV ze_cLPb`V0bQpnA7EWAqKzqFCg6HZce}VOWA$tXbKXA~eiwNr822Iz`%@&TWQDVxn6!E^ zQ|O{eh?qw^L!@1gA0-4`(|yMSErc`5*$VZ1-VU{x?S;nEz=8&@@)2YByuCGkkUbwZ zOIyyo^I^s@Vx;$F#<=bC3QU!ED@JT*8ys(hs|YkXR{9>?z-J4X;JpUIeCj-Hc7%J5 znoUc7Gz+tCIJN3Ku?Dgl@Q(anN|k;z<^xi65Mr(>KU#1&Twap!%hQI_4?k?t>rxKp zeCm&)W@H4p5`YQJWWUpVXM*hbt^1sVdG@3Aj;iZ!T&cpN(8=&V2M{YhmaBbjEx8K^ zX2F3_U*XQ-uY^X}78CwrTKGV|~ZCrxq=a+n9Ni3FYq3zo*sSD-OdZprCC*L?3TXw-nZI;j!b*D{J zop^%2486I`S-xl7fM0h#9@y4~%&&Vd9R5dm7ut6tVrC&*zbtF}%qh;|~|FsQ8!1^UHNL z&LbES1jMYntOq>R?w1%6VU$kh&#tzYD}>*eJ+4e`HXD(F0n0wNDZb#|UdX@1j$3(D zOZ7%jUnesMq@sSwzJOoB++Blk{w!-OXDAZ8^;b0O!$0hxg?iu8%(Dg*cu#`>fWxS2 zzd`VQdo)*5`@*6^LCiNG2Ze3MtF+e6J-aViC^+7GP4ev}JW7oKjOwwsC-)wHAmP$^ zGt+}N-6e?Fa_=VoS~h;>Rz3L7e*MOfIRL6qZ~ z&BxF%yUIbPa#^^WKKHg_WfTwlg6{*pEIOze#qzr>CMlJA_}uZBo<)3o*j{%hJ$%Y% zOUk3YHt#QEkaF2?a4;x%{yl-PM#l>kshsu#6fFsE6NY3#G+!rrDcDF%jLEJx8x{>h z0rih}yinOUiaiFD`3}$9?$UWb!`*=^^NEnvHe@fsP zYqpU8`+S*3{zsK(GvRXj<|As!J+|k_5tU(U%2&qutVxuEbd( zpHfS+3xppw+W?T*fIb%LBV?98diVXL@cv8{IRn&8xdovFM5GoG%~AcmV|!!{zFj}< z?|zz&{yZ%0d*{&Y&D3*tI3oy83KoV!Svy$r6zd>_5UW%6LRP3jJ zh?hn22NsB~*uz7rQ*TxT3AWJ)0rMv*M##t3_mHU(Xcj&Sls8OMk$eB3e2?nRr)<5*w)m+ z$cc&k#PK?NgBMuBK~`Mn6&&idkPv`RQM$_s}7W=IpJ!qafiL?rKP zbSlgzeJUd#1(U8!tKCZ9!ru#vVG%YFnLY1k$-q+9V zH>32aJlqP+6e^^83~Ha^3qF66)($daW-_;*N(=1$j`nrJ6XV;4M@sy3So6ZSDSpQt zWX?ZhRb9QZOzp$%v&t5`ZRc73LS#WelLM`)JD3h;H7;VLHwRiJzllVB3;v~DyhR8SjjB7IJHlx{UH}pEvWOg6P!%P6W@cSboj$y3bx&t7P zyP1vgoJS08mh15+GB}6orUb{ryk4Jf%}^<8nV{r%l_Y^@yFA z!@%&wGm|ZsP?QdmiHP1*=1cwd$G;hJRp#-q-Hdt;Gjv6)D&+GS_jFgy(p*5}rgGeR zYsJOd@iIrY+Hwp>B5Kzs?nu~Wn*?)&o_z0e8Vc2Ls^h*NRq&;s?~BT?4MLynYfxAY zmgi$Q%~zw1c8~H;P_QWd-0uR2**=$4gVFd?&Yr_@KCvMFBg{#kL#)GRZ45vXXV1HNj^pvIH^tYu&StHCF|Rt6(Ks}UDI5A4`% z@%f-QY+?E=YE_>b#uAO#vxCKRo6q(Oy6;?n+^{X@wI>B%qV_iK_}ydHPJkSx&8 ztq>DAgQ)I=^Y6)t+4!QY+vw%yY=sS~$NS6{MdksRsUTBK7#dK55w76$@1@UqqOnJs zwIx{hO!^T?RN`T&^9-hp9!Q@d2~H+2*meaqgyErs%>MshlEr4uDNb&`mRA_vKlK-Zlen8T>?RPsYu<^984H^#xX)C@b z7$)cBh9SYcl<`c`!*@6Bn1dNp*~w;H45!vC+>Z7?xPIv^rvnC%I_*9l;eG{BdCc|m z0KiuhNTiNn@=}D)K1|O>rL2{L5 z`1K^|u#}Hj@%9}ddgJh2%k6@WV=w%W$OU_0bWM~?E(W=SrI7{pMP{piJ9 zSjdN=t~X%*sBsRIbU`*8t|oQ>t^#gP*oooAVf#96_)8c}EATwW;Qii}?XWY!Su@?B zR#bbsnzmTialek6?Q@3@Sa&RjLVgmz2nF95U-nn5(NT_?Zx`aD&?GrPUFC!~TfHJb z&X*vbC`ItP!hT8h^H}lDj~&)xfaro)g8vqXmK>$x)1X6Y0wfu6o(E_|t?|6zyqwyb z8$MLzUu->-GE1IrIlz6$g&fc1hWdAh$3P&{KwdB+{^7~n^SN2pJtL7b9fbor#6`<~ z7zocW>!3Ks`KLoKJRZLj^oH-bs9ZW1x|x~TiNO48p^jZont5i#5Q!h;EJ<2G3^A|q z!g!jT0u7NH5e2uC7N*FWH55OS2*{aGGK^0{S9e^h#1Zljb`(g8M_8;4$lXK%<}pFr zX(M4eZZKLnL2(QLEy8iL^~|gL<>S8Ax&qfBC17&OkIVjjxZF|J(>v8PjU`!Uv0m6& zsx81O`sqmk#7Y566#Za!zbf_fp+NiNAR$BlZSa0}r1<~g>#L&TYQkj)hd^+5m*DR1 z?v~(|1PKrv0)x9d!9BRUyCt{UnShnxl1Qu+_6ag~m0RzuL@`3(?8Bm0u z%oL-|R~n8v(5MEWsd^)lO}zMfc%S^OLs?Yu|yRn+Zz?2q%g|aLTiBd#_@Jq{DfM znKHtiuoiE)?!{vtO>QZ|NHs)~&@4FY(@601g=E#vC0plO$zp`PMYvQC(fiN!(fNGCa7SmGeN`Io60v=&--_6GuK(wg>pG^zG*qd{|P$p71UjC zb7TKSR&3}7^w`yV9OZ1(sVXZ+GGmiAk7uXWi5WqRx08O6tU(3n`t|LJf-88rufsWj z<&DdW2MFb8u~@)A!tDV>R6+k znMDSB&X)jIeV@LA2Ijh02E14bd75(&+>UXKnd7z>0o7_TDC7nX^`8%d zhy;I%+wGZ#al@j#uTTr!C9CQVhwxCCVCMpOKWZ`g+vVYc4S8H<7AN%ksBoSht^#3GS$4)ha`KJR4tXCK&(1+*w1X*Gr8XT!`HUnLN0VKOXPxt@+466ebf3yFET4fE%{uWv6Nl`dPU;h)ZxrjnJ!v}(|8LLF~>+2>PPzLQ-G&) zyfJ<syrvprDD_;Drg zzT2>HvGIaN9cDv~OqsUEvqjr}x%UYOTSoOC7<$ZOCd52E;9l<_b$W&#a$f~Sus^0C z{sc-f0W&LA8V>HD_IjM}q`Gg?JVv#kR;Hl_SBao5X={6Os9-Q+j<{wzTcJ1LNU&K z;n1nji;7?&>=$Ci?5RmEJQ4$CIG=Ygm7fpb8Ab+0;L;>ujU@NplR7S%9ytAGKbXyh z0Z`YWM{E!JXO~M2K)?t;mclv&{@fL;a0J#h7?Cj3?8+60$5WC~D@fVrii$HWR?QBV z3)~^-4}PDnPrqaA^AL1u*k5(eH+8`h*I+AB4zCDO zkGewDyw+uGONwx17E207ghJJ;?G}2g+FBrfvLdVh{?35>w^m9Q>wN@B?v5jF9A92( zMokNQ@bB9ro|k-aPENH|g>6aWDkr(9_ZDMdsT|6+&oh+yVAN+=s{xM=<$n`{=2m`|hfBk4FBs4H)8|oJ9|Z%5&)zqsDtZ%TKYB-w{X#A7SU`WEQJ;&ap7d|Gt?EJLjqC98!3}-9LX{MxO>rA zdE0`Ps^QS zPq;)Kut#+1RdQJ^$4Z(V$a zSRmiy3P8K0;&rNI3T$0ay`fy~*bOS})sPcLgU9en=!g~F3 zh%|ydU)Jn0zL4+DA9>pqzh(!RF0-y8MIrx*NTIkpNzqGGXABcGM8al5PQ`qAJPAZj zK!GP6;(A&QY{0!!+p$JFK(^!u=yXX)y-tvTY7gt}en`~eAxVnhxSb__Br@i3w~~J>3GUa4t*lK z_uJF@TeP9uDvgowj1-sSfm*8zqmk#KrIvtuRvjj2pY@)gX@$c-$gc2Nu2abiGuM>i z^!Jbz+l1}sEDu~jUX)JF5e$rgrnGIxh@z$#y7J>P>BUlmWX#zOgzmrZLB$Fkbv#}v zMo!*NfU~1W3YXP!N(Q5N*FwQB+xG5fK`HDHJt5Yp-?-lYGpssmbrM?h*f*33q$1Ax zVMaSTI(B(pHz6PF=z7EqV4{=;z_o#GpbfN%* zq-FTySO2R8z?#v&sviFuAOS@yc4qV(% z-QJ$#Lcz68yJ03qp}>sToK{5G&hvx0cm#l4tKay^>!;>2n*hvYMF9r1(SMHS8jdUR z1s`3VPZkM)B-*z={w(TzHj4!4k3N*)LF5Qn2TfcG+V_5YV2K;{iM~D9({2+k^Rk$C zW{bH{t^5)d;G|)4z>(n=W|Xjs+|O{)Z2x7eiz=)!$Y>+OjeZ0ZBb_ z-G>T#Lr(_u4Q#nodP@{&;S*RM1RT$%B0|ektIv)~O_^04%RI?VD_MN&neUiwqTOt-MEPJgQL}3dLmDicKXOZIQL$ zBCK|7$pm?UI4{vvW!}+!QC4|^ySr#I;-7iU&e~*MEi@P?+JuV50=2yFw{6#BlJBp> zd@ctjM@_+}Qeup`lL|+5@zAFQ9a=l0SvtuF`^jtJ=0&ibO4*QUsQ(4e6Y(GJ{XPvu`&7$@C| z!4sTMY9H15C19{dSV@JN&MdzOT)#Sqg?unrX%cKb$B;o3M32UBjJ3D*!~$`1`j(EW zxNiq=yFVuE(nkb?n0>8dp?qt20po}s&x4efX{FBpSiI`5Adi2+SBzSoo8Zx%u>cSNdCbws1lY(!n>(C=H9 zL*}ywarDcbFfUJN-H%a3llii$G9YTo`N9-~;C0>df4*pY{O6@*mAy!G#38k(mh?<4 zy;qi9bV$Co*FW1MYHpn)Nea+0Y##eGO{@i|@W-DnWpP=OrZq^0MJOqk)Ma0gvVER0 zibRAmF;ak7Lt?w!nB;+1A3R++SrkJ0gZ!-J9I9P-pE((CR}um_YC$NPNDUhz^+Krt zfX)+LXntL?0n|R;j<<6Q)ef~%1rc6d^u4nHX9vh0nm6*q^;#_emG~N@yMxVK z-N5Gbs+*;?Y)B7o}JdbkiRjT<*FO7-{%I2%r zx%fE@TK~+1a10U_EnAwpQHCBQrRzBeE*N{E4v|qzzzIfZaho8=;7N@(ipq-jh<`h!{iIZ^z8-G;|qmn)>G959Xv9K zNQu&Pz8DvWE01uu4h9FiSX$x$s0;gG3`xMa;A!M}*9&e_Bz{k?!AvJ;q+rvK@|gSY zZGv3Z-wb2vu`x?Qi!n??s^LAxaAirOn0-kg^rkEF-&=C-wc7Iz0LG{ztmzUW#@r$g zA^I#&jR12p$Pc`ZRqmV-MBlWGfW_m@HPpQq)rgR88lq%i=z+6n<}oYWlo!Rkk-RHI z0>pWKQZ!;ToSOnpWi}wOWUXX=I^|vAvBm}ri+;}^tmG4)cC>kQjn|)B)aF(8$Om#+ zHB3BHgW@xZo8GpK2&Lt~DimPA!}u=}*oa!REk&%js|D6##MkyVu6pYDOZAvH#@C2p z4QjIgu}*FM7jI{hI;>m%x!zf%gANk2QJ^NX<|AN-8woMzebe_veX^%LJ?`r~QJk;e zePJ#(5(Z&HsUhch>{<~o3IukYHlZz1`l>O70wAiz>&aG1(z7ma25U9P$FQbkmI1nB zMs>p#OhON)$uQ8bfY9K(2t;2gh7}sUa4_*4!4O#!WA9>cth{AB?|aYpj4B|m!;L^I zrg*Hnk}YcS(gdsEYENw>Qg2TYpOtcRSuT(!FUDLi5;QrEQ4{o(7>#TFdZgi#v&=$3 z8+lF;dZ_xrhBX^4d6MOPpdBSE*=5O>b@{QDup2#ViYr1wqUZ+?Pp8% z0<^O|yD3JIWIoSG+vn{OK@Yok%0tm4?B;{{lS(js!K;DU;0L&hPmTSd7)=}90iNa$ zwY&KI-?5XK48s9)p~QOIFc>r;bjX@FU8y-dP^=(h(JEQ&{K^tO#srNN<^FkDbz9HG zz#8GCs7M39dDFlfxl>#t>f(e^^A7wKS7aORZCG<2`@?rMO!YVS54Y}HNDwuRs;$(w zWv}xN_UFCyG`zmUnc{6gBWXpUZ0vQ)9gEj-JuaF(7iP@bbx$eacH|qEFSET0S^s?Z z5pw2b@;kNWV7i2a^e0EAshmZLeqENBdYu)%&oy&umkAWIw_<7ReI&o%CXe6i$78l}w;H{73D>X{Y zzNI7MX^|}J|3!N73@ELGf`abHj9(*{WmW+3yMn&lLQoQFTs%}3l%oHxTTG)rSGuLThRWE#+1SA z&eS*oO0jL!8z5<&{d7k&dOJ`5echiU9xz$8{+BK9ZDP%>`;&&&A$XOyoy&f$9SJ1? zJ&2$eluwysk(86iGVD+Pfstu!tCIT7m+=GQ-~gzy&EIsPKG;RqKLU|)L@bt^9}NpJ zA@%<1J#ev2N$2giRi9Oe&h2UEVdj{~e~8ykApQSoo_NkfP{2U3XJ1Qe;W7;$C^at@sjfJ`OxPjEy6yi`s#^tzPMR<_N^sloU|wof&@)pau;9Pmj`NiJUe2u%EfalQz{Z*6cRKPck{gj$!s5IaVa@wWy~J6eiI@KG)4`7h99lCa zCCXgEAbLpa4f(`Li_^eQFB21ZmX4b`z1lAr??(3+LqYU3wA02*-)nrf%W~un`<9zF zm(IP(AS+HWdQ>sd(V-n>vd`wwCe4M-lq8(epU+Rv-~m8^%#V6W{wh0igAVCOJ?}fp zmxr;D9I(WZR-l>lTXfMG!U>wCMU_8P>j%Cf*HluH)FMG!FO=ocwcqgYn)w;fcqZ0V*tsy5IN6o zsHk{Ip^azi7c-)3RldXCHjgw^MlAI;$M9eu)L~sZqrE9BGSA&=5x< zi1eJS=Xar@`{^fKv%Po`B|fa-qBgo2HuYZfg)79c#4Sc?C?x};p!NV;UDiR@$nBu@ zuE;2eoy_?#s8**cR=0ozSM{O4;WDZ$OGeOo_O6uQPKo55BR{{=vYj+R9$(X9*3DT# zQS_inb+JxjF2?w@4)JouuZTlF+N})p{Mi9W8wYeI8|{s)@BHY_qR5l^o9~Rs_jg7{ zO;B#DjtDZcLl@)QYe61PdmE+pKFAAiN4mW=Yl7y%AaBm{gWHZX1;vD(CvlvQ=?tq)y z*@?IiWJN(7-t#E!bN_2lUMRTaU~i5^1i$wumVpf1ir1&xEj8DR7sO&(+8%O|lw zA(!>TuHcMkZ0{{V_S!u>jQ)BNB8tQ`b2w{Jz#Tp;^EGs#(pw#{U7w{B4fBTl#R4=E zm{TMOpC<;`WjmD785rVM=|miJ?|otl6)zjAUh2q)GF|RO!?|iYI=m?{R{<$>RB^Ts zJa9_Me7ue;{OM&5V?>`fHEUd+c%C=M+vwGZQH4*?{iaqSD=}3D9yI@`ez@!XZCTL= z3?PnCJ42Vfmb_JF+<_@Lksg&hg+%Q1yQXlx2ve#A&1vrs7WI%MstCGZ zaIoX?`M04WWuiC*%Zo;;nC?89Hbh}HYhwi$rPCkhUh6nC zZ+XR4vWw?GwaZ}rTpzBy`^675Cxlq{5W+!napbJe{cwv;=N*@`SgIRSL!^D}ElwBF z<}m|}r^^=)6JR9BDp>UHuNQykWmMIs9|BpgG@daN>XnMXA$5kw9)VtyDGZP}76J`{ zTMlpL*Kd=L0==Z^hI8Dy%4T`a)o;te0+qmh^hy_`4L)AnbByN^A28SkV!TOjmu)w~ zjjNVMG%9`}bRiZsa$D-=|4>&oY&drV)?8FY^u?adNk%l8**midA(z{;yRbw<3F!gr zHj>oc>vAAPO6ps9UI)-n))-SxlMCNSO>OP=3Dsv;tgHq~%QAt_N2B6$lMZn4(*A^F zx5PdkORtp45GVBWra>=8u$^?-B>VM-J~l~ppJ#INAFVQ{SwN#vgcvM&nnOvE<=qOijc zSR+l}ItkpbpC9yiKBIcFhesw!j^4)KFG-&xh9LU#FUu5}P$Z30W~*$s=q_vrC)r#& z^bD#sBC{|R5F=yn+Q)pO-JGmbf z3b2c?`=!VHY>FqB1rZ=C*Frwd*R(aw>UhS9q9x$vZ{Otkyyva zC1FFj1_bWHF&78H(mOrV@I!g%cRHwzk|neB$`0`QWoYJ9{N+B6IOQGY$hGNKd1LY^ zzoHAHNU=cPPKtDVH-(H8UzW;;N^<9QmwVV7TxJ>t#ql!9B^j3zN|?DNg01ZWnN5{; z4`98lrDbbNNC{0Yia5v9I?;!5S7$Hb_K2wfytgXXEb}K)|-Zs}?PnRiA%N8RFYzt1X z@BV%!%Wxbd0Gt<$e<4s}Jy4SR+++NBDKj1zJDyi=6vqIGJ{>Buc{$LEI4==w`4(hg zjwm8{0{<6rV4cWuxJ@SdIlh1<)O57OKbF(dJf?8W;p}1G^ufq0)VceLo1G^*8z7wS zci*1heQNrKW2`CV_ttRS22)D+Uqt?TwCPW!CepGQNG!WYo<0t>f0M`T2^Gc82JQn{=-pZ5dh9gOX;=W#~Nc%;Lt; zUzsvtY}fJcZc0R`qtwNx&IKbrNQP7Oa_wq=pFZ5eKnKJVcG3+%b3`7eW-gzvCjh4H zt~;gkMtU)saayDbyo(cecgJk+f&6;7h0Jb$W^2379tf0{3eR^wQ$SA9?h0U))w41$`c8vNs>_bi#%4q`RI5SbYG3%V$DXo28j&&(T)w_*f<}NAo$PN=7@>B4= z-f=6&0Jrg_v}~xB2px{Jg+vddPF1Su zGzt1gCD5`)G%`(8+hyl8J+ZwsYdAiZxxiV+z*5u}|T zPV4MGoqQ6?GrNeGf52wQgti@iX^C7TO-AKIg*E}=thj~PQAhT3G1h}>a@;}$FqKYR z`%y{^+#-*xHO}_p<)vAh&5%1$|07;!(1jB^Qp}688@BsymI(3_;|l}qM<6yczROwU zKtPAJk%mHvcr7-PNesY-ITCKKijQZvV%dj}y zoH#!(GYa*NA#did?@SPT8?q|e`^`IT#>>S?^kB~?c9pMSBu#;i*dgMr4oGbh1Xmqy z6?*y(*2)FP@pq4+!(zDjiNHbL@=ssOeYms<7vwFrK#g~JiXn7Z-$Y5luJ~`>%bf0J zF7M3GR;Kr+y^cbm;ggYkYhC1F>rJstCtTF!Vkqj^VlwZJhswPXVvS>i6KdmR;M2_B z(R*GkpCQ`rK=B4>RpQx@8imZEl}nm>ztjH=KMmJL?Nq`{3wqouQE}i2V>TUr{#0dd z{@shf)Q8tj@GC*-CN}Mwb7C&e>4+9uRIJ~ryuF6WXZIJr%V#Ya-_sI;J8H_H2*e$1 z@nxK^@=uSRfJy+97?8?R688M#pQbiV#jz8fh?f-6O_dAql#3m^U!TmU;%VHUFNdT* zuI6H@M-OY%^CV9}(JK&3&(Ka!`aGS6tO9mB$Go=PWM{34=w23t%a>E^1sq>3IKGNM zevgoz!t-b*f0|mD38+|ZLcY>-<2lC2v2Yez#(klojAJs^n!Y+|T>j?1O|(ug7lS5z z6D#+LG4r*)IG&X@x=ZaA$Yym{C$;@_qb-%jc#2oz6W`X^M55I2tbg?ltArh zK@t}|__vvq42q!o|P z?2oo>JjiKllARTAevg7`28!!; z6Fr%V0(as)Lp>B&0NU`uxrL0Cf?BSD)Q-D=`BosOk+ zIx?F~$WH4XQ(Am1bC8F1GNJ`v^KMetugMyf!TzIagO&0wn_W8Om!|^nTtJr&Nylt$ z@g62fK9B6}=JP+h7l8Tm{GHB=rwiUbc0a9b(?MiJ@&$aR9O0nYi1+6yLDQr(nSVls zgX})7k*?yo=WF2Fi>i3_Tux1e%iTF*f@Fg`gew%DuVo(+x`L$P61$#80lF;#` z&Jy^BuU(gv3ow{=uS~v(F`&QMi>?5q0zDm>;-i-*oXSOJZiC(x#(#?KVu?N7R3uOg`CBiMc z#Jaqzj@V8;E~;*K!`1nH+#9d|_4nwVN%xV2{gg~{UYH(BBhEX$Y`1Fb_D}@lzoGk$ zXy)aD0X5jt2nC;zr{JZ_;U_ww5q*;tsoPNuyilr#;znB*OS*htT+astQ9YUWCjOYn zh)N?6Ae@+r!!qG&4C8oJf2EJ2%OV>*g;e%lv#OHsqk;~YTe!X?9ENN4I1lftoc(D( z?_e%na4nUy7=RwsT%Hsr8*XO_>IvA(@lwHSZS#z6r1uXBsz1&{z`a^_8n$n$-b|~| zd;6_}VvjF7dg{N6u0M%;=r^FaV%Tx#Z!D1h^>(!RsDx)lnFO|o15pz3KrGQyqDeOR zT0gPzlQR5Q2iiP0e_V#{AwIy>Nmn1PG z=;QxNiG*l{o4KUqh5T(KUkRmq3QF^6q(u}6@+X&=iWruax}%UFm~uKG7t{Ox6^)iu z;=4gyaLQU4#;65Y#Jm|Yy2r@KYhaBo(u)J7es+w_! ztASr#=%P{hk;==@;eFw0%FU0I0#glIWEeRIUe>-nEyz6wy^pK> zF-6`_?;s4FUr*F3bCWq-+{kR}D=Rbf^1oVuwK7+Fqyp;fF2fSz53HoK$LB+fiw73Y z;*ToPnjXU5w3%_jYQ|qq;#j^ajn-__fx@qX{0~x;`e+6dy614cS#djR6j|keQxQvh z6`mgwS|<#G{(|C&<@YTR{F&1Js2DMh{Jcr=(UdQmjuG!4ol^I__(Me%!QboB?#N2I z7EoR1za4cw@8#0_%ECer=rUA5X(W0G^>@Uk+iFP@Tks6l(AghlONE5vN8SPVuMaa1 z3<_-(w33OJsr4vx&LlhmKac#8d~a7HZYnDc1b^K?-F8F^mppQl6noy?oVk&OsDh8o z?1igBA%HM`>v!Earp@))H+xlQK<*5T@{LP2CVof>*Sxve&+bskiBn*%n3Yy=vfI4*un`}jEDA$5`_uxl#kYD{a z<)?!F4wh-uNnK|)v_AJgznNUqxDk*&;o0h9CETF!nfGcuodrqB$a)wXqnJGuA`)ew zq_L-^W7PB>RcT)3y@9dndI|-cItPty`XU+AHU^7u=^Im&ws8a_$WN$ttELwG4CNoa z6nZ+SlAmZVj*^+qz@GT5wxGf9s}AAOp`)^I{qWs+2jHIc4-4NrhJ7Wbv8M-^rf=Y` zhKps{=9^&Vdx;SkFT#Q=Ce2;RpaYS%RH@$ z0mZf(ZZYCuccck`t#W;{7nCzmze@54s|Dl2Rb>hKZE=w*ELeX62}qdwv!<=;h^dXn zweu{@L=7#jnNIR)387K_I7Cin_ok{L)QTf7tIO!kB|emTM6uLKpP5k;F-h|U33_|#dLvq0B`~-QVvW!m z{1B$K+7!{@Rs!{v@s($mOLflTa=C$thzp(;QeJP&)Wa|o`7tKkW|B0sG5?4lR{=EJ z;H^!Iqu6R>M)gGfL~f}u7IOQk!Z-=I$f6Un90S|{%AUinREqbt-_u}!^3$m$)tOt7 zHwWAj5MPgr3oOy=vU4|z?q-oVwE9M{W7wJ#<|U~tfP_t^Bp(y;U%TKQooNjg5=~+c zGgHMWdmKSaR`kQ_AH})JBGu2UOS)(j5_Y#t(kK+T*?-@`?+O?q_I82Kml%vL$zJv+ z9R6@GxT94hkSbw=fk3xbRaO!0KVLUJZ#$ysG))BqdjOg1c)y)Q-^TW&#^L4h%`h)Sq%MR96 zVLjgm_3Dp1q95oe6%sX!9%f*%psMW$l~AHkcr!q$-~E)J95lM!Me*prA~DzIL6F@JKJ|uJZ$RDQ%QBOhZSGi=!@F1yD5$22NKk?N&p?- zftwgcBR54n8eW{tlxu7*BH}lU7emy+p~i@)!c1BTvO)qz$`nTO^vs|}+y}I?J}ujWn4LSs}G88!nj71KwMcGX6@axBkEq}#OC{4WgJPl-}5W~ z%E5%EjZPu8nh?ZuGBptP|YGmhOA1n7=#%*Vq*#Xjm)tg*?u0wYdA_<>v^TU5f7`+Gro)s(rI z>_U_W+i2qN>CmUluh}<~Oeq{m6r+y}UxAqLg}%8*S#Nd)iGxcby5M#akpN&G5HzQ^ z|ED6&GA~}rKKwyq)l<|OI{mFIDvY5mV}$i%CWy~wp6SQy)mZi0t9>Bh^VvTx2>_-`DH*+Wt8! zWKU#-H{j&m*{<&nT=5|M+0IwtR7DQx$Zlt8VCT+gUo-Jip=0>*WwbkDfnMUE{Y9SS zeW`u$0i^R_1XA1n#w%K)8g+&z^@ywhr?ffz^m$yuoC@SQBZ>iPdnZN#7g@+$kb!+d z8FzR9p)_a$4Y`W9(No?|J&Mx!)Tz}gPJxK=zNTcIUETYrj4~c$fP^JA`?9h0E45&l zY*0{JH*yf7ld$^5#B=kxB&AyOxq5gCk&2AlZ!{C%F<81$DDQ|q&gc1PNG6UhDuxvm z#cL=VN`bJYq!FaYaK8H14RC2hzegWo+Xa0s?emj-k`&O-KT$7a8cgo?=LwtT3BpV) z8Ip4k`y?m>;&O42a^#WDaE@f*Ori?UAN(bW@h*LIGQ9NwmZ1M`Nev7j9RF~~XrxBE zzMe!A#~H^zcZnGsN-pfe`*hs*VhtAQ2^iDR^F6N}DNU8PlqioRi{fZ{+7WkF3e*X9 zUQaNY&Jvrr`1Qpo-jlzffGtQW}!_ zuVVTGaA_M;Asg%Jiw2c$vgF0@HlpND)^HON==H9>9hn1 z!PD5res*C!W|Kq^mgO%KT+^=~BffN3pE`sEEm<4}^liZFD8ty@rUfFmUZM^Us7N#MOf&Lsry{J?KE-)Y zEN=OlqQDFVhc$QZeFk|5vGey-N=7jyKa~1_teJXGDyLZT>qxbQX^~{D|9I|yHw#Rm?VaG1#vg*q`GnsE(%nD_fCyrsy z`P~iR=i}ay2N_+m-7*z?xvr5145hJV}LG(4Vp~`wK0l>l+)p*FS=$ud=pS)~Bq*$Np1gHdMD1#`_ z!PgSfBu+(kkz&adMCCU%D`aiZVipr|eK_Fb#y#@$-h$ zM3Bd!B+_8{vABBD-oeVOo5#ZVWGdh-^kxZ&0}o7!^@wbdY zkx+pY(vEA`I+KAuq6iIG%nXrMD|rIHR*Wz3P!0;ER5Z1|&&vB%A8F|yvlX7pa9>#I z6>@&UFTQmG=xf>;eG8&*!wA@HGxguSf!oQ--yVVU6-9^zI?i%FqAr~O1^~%z_@)hQ z>TY2L0F6UHm>comW=6xA4Ea`NZt0C;tdry}%O<6h*8VY+`>t^&)fiR~kKlY1e za`n8{cYkPM4ZWv3#x}aaV(kUQ(8R(mYH!a{kU@45J1DwQHUZx7xByFmfpg7pW$9p8--9MoU z?PXeg1IPKwK}1AQlV#Z&o5@R%!k~9N&91A9f$zz}yqQ}BO#6V2)y&3HNHxuH5{bh( zJiiFbxrgH*s;gkgg=!FXLe;bNERcN)(QAvn=T7UrpUh%N7JM@{a46WIM}T#^mFN)W z1@;+*Ce@S0Qu5j3Nd20pqjFvc^--jgVNO6=2}#~51- z%q6BT6Lr5&2Q$hc4({vJ?9$~Phwb(}$*!^l-Y_4A3A9PZm+yv=Vj)zMw$LW%hpM*f z3W0Uj;5n_XR~zTNH~BncwQv*e_tgqF*T&m1@bpOjEe5EZj|kP~?uac0q$OGc)JYXh zzmlpPybsVpmdvOIX|=q#wMmCEzYKYKZc$w|GkTY7Xnh<<$QzYzp$RV^Rbs_|f5F&= z7|$~a_cOpOYkCi&r!aGCqB$;M#Q^!gvABe1vfPo~aKG4U({TM@zwE!`J1I*({$SXp zU1hOIe0-j8XkZYd^yeg@BxCMkzNfohI8$JICFG!@nlAz)Roa3_dk1t1D8A8w| zJn7QLs%SF7ZlMtI5-*#$7cDarATDz6RuQgFyme5&8|^Z~4wiyR?1FpI?kc-8vIg$n zYOu`)e+E`oh5|hebU)wJseN-9EqL}t%UD`)<(v72RR+O6IqVS)2rx~H%UfzYYh^^= z$a%Dhd+o<9gonDQ?nA}0e7z|aRZcEE_NRQ4mVYCXdHhsk7WCyjj4lfu+&2xyO9xF( zkrV%xXDb6!(eH5Kyc8^}`>X;C@S-FweJf(FV;Kd?D&c-^vg2`C>y~EQk~EIcBysFb zm`YQxQncabo9;WUY|<@atUt2@&JD#@y(tpRDS~>6E8XMRj)_*QVSZ%OO^gO=g{Mnd-&11@wB;_UGQY)-&P0jGz`G~tg zJu5pEr1uA&&`wo=F@W!>V8$qa>>$!9Q^bW(#S(fWqeuKV;la>SgAHB&b;(Y<^`Y-e zi4P4yEPCPb^VEx$#JV^F3AInx(^(s1sE<4rD28tfG1tLkZIvFH{F>K!Q2)gefB%tv zw#3hIUVNk-1(-x&H;0*pEgd%lz6E4$M2fTTiR3%W!t4(SyN)TK0Va79nm`_uI0XtC z8?F8D`atzO!r>EdjGwE@TnzL%hXD+aWZtq>61l#e1f0hJK{f$TJ+2(`RdmbtlM|?3 zid{3qUx2wLzsrYMcv;~Nrx;~clQq!mLHc%RN`@PI>zDDs8Y@i0>NfyH4;T3+(37>5 z>~|V=${+x}mUKisc85*!r+LVg^UTe0Y?9@U%Wz?Isv@(>0@yCDV&t|eO(reh-*&(z z>?|!x``U&aCc=;sodeC4S2#_fUN*Lp;-xjAaBxq7-COJ2`SN7Ldh-i%5l26>Eb(!L z)fjq8*Qi!>!H^U-IH?51aZz*SsmE$~V~7Ivt+<33D6i+vl3LxXh2hqtoG;5@5Kt6gY$ZS_if^A7=c=-wQ&fuStTRo|w-b3)2>NkLZmQzG_tQwW zyd_JgugQ#x*$vTzSZkg#0m0=ajx>ci$;G5ENYga`R6z7WUHN0Q$|N9zL5C14-cI?& zkfq<%(Vcg$4tq&I-_4RjP73Bvrp~c{(EJz8Z>i9Eig|y6eo2O2K(zM>H3Odm19Ohc zDsZ;`dp9#rt{EKt4P>^-D2|VKN|v#93$;BTc}RZ8%eOd>-e6 z%je^UbD&Kq30=fXMs3zn*zlYNDb{90LjS@94ahNJK<|3pR*gTAYZwDg&W?JV3;#%u z%qY-m&0_w_UjeH_e7{BXFLXeodQaEruTU@g$V7EfvW_4P0*F|;ssvckhKx7CB-eH^jQJ9}`QLGAEU z0rcCdPE!Lk#?>hv2kOg%fyV&tx|ucX#J*)OxiPMV#J$WOc$=Qn>0&By{S%b>aHWA# z1HBzHfj$ZSAA~F;9#v%uTf_i;sst*RM${VlVX6-GveR8XAs#5E@IWMmPpxUK@@}I5 z6-${{LjE>?4xxlWWsZ0LlJ7v7Jwg%w7OAIN6_3=?b{XsryzgL-;F5d%EiwQ{j^#d}fDM!>t$NVnQ^^+%s|o zxn##N#A;0JWq||>0Di|+KIGQxDE=R^zB;O^?p=4Y-82ZB5b5ra5TrxthD}JfC?Va_ zAl*neo0gRBkPxK1TNeLU=q9`wd46|O;@RI_Z$6^T(od2%K3%I1C%C5Dax+DS!f5*TC+j|EQ zLf=}cEK-2`3>R6wP#t?HzQ>Y%EWrWM@+nzqS?d6^S=6(FyK{qA-t?WBnUKP%Uy$}% zav~^XI{?!}mvft!S|{C*x)x64Ji=t^msPgQPob^%6#%M935)sExaB#jrFGZc`6EI! zGBf!nGyMKg!A^V+--lT0ZZFW!WOUZxB$CZpds%e*V=Y#Wf47$zL>!Ej0)z)gJCu{5 zyfw!E!iA(RcE5M>J>xg`(lz6@o7$AbERmcdqD{#+<|>yw4RAca=Q-%v%Tl94Yi{-* zJsV@vlRzIWC_ijE^@?*pzUAtvV%l^hemW78dj^IcoWxy5c}|}75!L^-l4NjZ%aAUw z^>#+o+1;Wa?r4TGka)O=H=gKqlL$~4Q=CcN#AOD$6vQL(2IDdO@_Oj=_EM#o%=Mxd zQ92|8=O7^E-EQKwpU*%I27s%}j%ox|KcDw_r4c}}v(Uf?lE6N^{{|6eG_FDMiKW=4 zKSYdyC{Tfl;i9u5+IJTh=O(>>vF#fKRf`P;>Jncd~5mI|Ke!4ZAT-C7r^XVQLvWfWgnSASso=?TJJ@ZKOaqdy< z$=UMfhFyL-lP(jk9#y(IRVj@ZJDhdiCE*$LkXegoWungG%`(ITs`) zb8&SMrB?4qm5q=kR8XAr6_>P4KJMNRnU;lUIP>>Y=+>&Qgodpc7RS^(8O?dof1B>$ z9BRl?uNeO(uw;lb+SpHN-(_xnJ zdkWJ!OdU0(rb&(DXH!Y4pKA*kG;qBz=V4}e!yg8f_#LeBynVL{T&3PN@Q~^io+?xS zDUduX(jb;u)hpE>KYlNV)JR@?@gRScmIGL2@bHH_@(aln!gBAgWxOVZHK{@U%RfmQ z(GZmPDP%WfFb`JcNACV{wq0 zojKUhn)&;hg=)t3Xc2vXJv*%gjY35TXY2YmF{|k$&`Z0F2u*@>+}fE8#}Ci#kAahp zTr|h4P)fVR!Qtd(49<%D)33E%-eEAMhSa!p z2CB?>*wMFSLT<9${b5N5(pa0GLzZvMl`c;kdLOr^|HvzcR-myTN0zdwD$|z*GcV;^ z6n_qU?)d9RP*KUNh~ix))xC#4NPFW7cjJs>OE*N6+BE`=D|=$!%M4N`wyKzv>1awJ zJ;4oYia5wZ?wnKjTJ%udgB|a*pR2EGT*`y-)znHtVH$vXx8=br+kM!a$?_Dy#dT32 z2~mUHBjw%a9R<`dGx|;*-E9be6O{In)Y4$3cP99J-C_ITxl*eaT;z_EYh4Q55%AboKsM+KmL+9^^Rnv{sQVrkn z;0wvVw@!;C!xekZ?!c)!cA=I!Gv(?LnmMEKcn6#$pzOKh<(B;_i`=q9l600-DC80? z1Rz`H8JWQDm*U0+>AWKtbsr_v+?fG>V0KE!t1QK5m7NxzU|>{@gxgwl3n%Zgp?ZDj z{2yNc;LPAPk&O?1jV}lMiRaf)e9p@mjaBF4Ei7iA;ez7c3L9>z<}uREyjH}j`6Cm_ zFw3jw*m(!1eg~WYY7m{75r1Q0qLumF5)&Y>GcaYz{*Ajw1I#wzkLtN7#Tz1o*TauZ;b?^q5t*PF z+wtu}Bn5&o{@Md%h8-UHy@H42extdspYBz7B=fD4`rCPTu+HI5M%v!Yb1+Nnc_yd1 z(4Ra#GByiNok=5^CIgC^PGofp@t}d4P&64)Pd|g|Ecn%US1l)E+z@w7S~I`XPd&QN zQcer^<3+=2NJg0a_;2dNi%3ct-uY9aTeH2CvthGc8B?$xLt0Bh*EaY(O~p4^=o}Gh zHO(}m=1Kt;khoY~q~9PJ{Q@?0xHT;nShSl4USYAmra$H#NsZiXIJ&>%52P-UtEZlo zBM)5tIyZGwNUq+`x1WeqoFwFQT^}9yZ?2;)LWc=e2+GkMondt@}Q z&fMmRuNI(N`E4>`c`21eII(t52%r7={dY=Xe*9Zkb=r=5iTaH-lX*jPMtLPCVg;a< zuECy-(hq!V6zj94bX$T0o<#9wLKu0}FMao0IPY~kP>%Yec#FZ?XsAKOM8WoC+7zk@p>uWETLh`jJTH?LM`-5SV&z5ucOU>ncJ4b!L2+A9{NbR=; zu6aF(xa6oD2KvZPARZ%77{PG9-OoBuMAMGuNc9_<&qF5Bs@PtnpBka#Vz<-bjfFxD zy6H{lf1u%+q+(8)OJ3sVtXI2giJfwtoQA3#)&RkKjhBYwJi8s`>SdT!mD--@sdDOI z!|N7vbeT5!P32p7WDx*oks63A9#_0t9*>&{EFvo&j2N5{P68m2qEo7Q7^_^; zjfaqlpT%DFb;v={nB+vmyDj~lQQFo9Nq^U`lZ{EF{)Z*rXmu6rdX_AH_}*#7AYzk+Z<0t&e-Sk%!JV3p^I3S}X(APlOz z5VNvP*2tamy8kkorY-vx2Gb<8(Q8>BQh{@l(D{uVOIFG!UVVYz0$~PHpg8cKkoTm$KIO8R~P#V9H zyjrHfhEam!mxMkqKZZk>uf@+57T;CK8fTO3*2rFCDRc&783i#<-r&(`;(TJBtXeB+`xUA_15{3D29r2mu(O{DJ&;j2y)j^)hsNkUN1y zvcNX~ctcjg$A{zipW1mEJRUm%S8uelGDOe42U zQ-W`DL1=YlIM9*DC31ZB?H@PkME9?PQ3~_#Fg=uj0J2w2y4bVLnt$VzH5kQfUSs$A zI8Iebs!R3OexCmdu(bD^j3p=#up_8Ik|X{*Gwh2PNmJ#Y^&QoX=e`zU*ni)>D1dUl z&cW=FQCiREO`fx)c3ceRd0DVyqLknGd6Mr15u_b(3^$r;XJOH=##W??@jcuBDhJdz zPim(p)HW7HJcKECJhPtqe5d-C*%LeFpW5@^FTNLVeKZE?j_V&!65Cb)#eFgj=;oJ) z(I+2&Dg-2nd+IZ_*epdnQEuZ*ksE{3U~jR}2frKy+0vAo4{>bE`cpkE|KGI0P&SL5 zkz9?34Hz1zu!lol0&j|=oxHfiY4U5Or$*2f83h;Ab^MypL*)$va6^3lSZE+qXQVB1 z{!8sSa6Rmqr=9)5hXGU6>4=YA6B#cHE^6pudUd-CP(=_NrH_rJBv`#f-^vc?%$Y`i zsu!DkM=<8avdtwk08|!Wl(kl?{VDUnD%BX@&^3)Jm!*2I8E5i2KSF`xh#qy1o@#(d z+d<9ELiPvGkLRtDq|j>-y~>%wQopohE zEQ&ISYmL>vstg-44xJ3>oGpP$&J)G5tL81wNaU(m=8TEbH{efreI5wJ-8Mb_i|$Sv zfy-^FCFYKP6!)ykzv$HfrX9aLEKR=WS@x&mJ%;tp>IlVXU%RpNZ#q$~mKNoug?kJp zP0;l+euR;xx>Eg?Mmhxc-!d{T_@tUOtxiba_5=Jq&f5z{gHX@24cwgQ0gAY3Fs#5n zLXKzdFh~}zgG<=l5}}3hwZ76u(lgx$M!#JKg|u%RjbtFEhBtkfy@PKV5=FY{{dU^V zo7|Eo^;2k?wMu#*5;#<)TtvBesj{kASJ1OoE)d#4Ld{MJ-44H&F(2A+D>zvi%W$0l z`i_i6X&{3=4!UK>xmZp!52#1)X+-T3ozs3{7*0}w`g!hS5H`)-BuTh&45PiLkC?fS z(^KLj)^su=9asi_1ILC87$KU$wlDvC@)Q93X;4IsY+1jhE zs4IHv`)gDmqfMYMV7pzwPXoW7$7%7?sr}qN(3vA+NFun#s>X9WB$DTX* zj}MmT=Ni=eh4+^y03tuh;4KDyq%nHMBAZ2YK1{x- zaUxVeO+x0M)(Zyg;{Te%a)9$8m~kf-TEM*GBfgFOwZEf{*4U!Jz4EYIB;WFXh~dOKD7XCy68J{(O+mJM+xSSXcCaM%z7DdK?>C` zYFMNIFjDt!y5=!k>@JBNf!#}9r$G`ZalbkfaU426k6Rbboy3ACg9;1GNIgC|tv%s& zj@J6cPiti#gbT8UJ`;a6l>Mnh_X#Hajs3Lsw#XKC_gJ}FB$yW;Jgy5NqJT`5d{8L@ z?d3&kTX?-UAy6^pK3>cCj762kK6WmZ2p?(Fh@89NK7N;(We~pl=sckL)Q-|q0IzPv z5vqZ9l-DQ-FnfQQYe^hX2_T7*y)KD`_@nq36#;O7;d{8KDk&g#beP?$xLg{LOTlnf z)yCt|kukFjs?0V1fvjf^x2mWdngmSgO}=~~@c{CgtaS3P&uv6ogrUxjucomz;~HCp z<-32S%R3PV@SPjfU5ZNg=;!%SXy~~<`(~Z^=4exR?|cwbT1I!T|L@OUqqYEvGxX0z z{2IqAriA^Zhy}KM{hVs~_EUBf@f=*FxSjo&J!v!Tbb^P1;lEWs(X&3wQS@=kc52w?wjGMh5HO?rd zpOx6sWcVgpwc|pDTb6%$&$%*>+Ncybl$M9hojChp2#OTBm;ITFKZRvw=A4;%3@W9w zD_Ta4-N;ox>MuFwpQwT|pK&8r(41WZqpt~JnZGa?(yfg5WX@d?Ttozbf|~U-@3`Dv z4HSFlDX39HQlf9<`;pFby@)r7o&Y}B(~!NuB4N`Qf+N}jcFf`!eY(c0bFv|#(_?m(>Q+uF zGMuvQDBqY2JkQkuc_!en?c!VH68u6QBwtIPUxS-nZhxy5;*`9hT&A^E)Uc7s1fxDm zo|CdR&Y9^^gOgang_12QwcYUPEkhN0MpbDQBYSjpq7K)#IsO?Qg^S*!xH>Est6OsL z^0EhlUS806cDrR1T~<9PI$-{H)$w1&2Qa>X`cfzvD66Yqg8RuR3R_1ksV^D`6Gyw? z-yot#Gv)6cWwl^^N;cHrWR--)Cqu1E8Ft~$x3c@ft!vqwZD0?HNq)+aS zYt!E{aZj!)bNi(n&4wzbXQuGHY*_tDEedG|LM8}y9JQ-iVYkIUTeH;K0TLfAn(SIe zCQG5$(V)cVk3@#o9%+EGrvS}1p5e*wqdvsmKfJwK?1^(JImyC6ttc)=-NVJ`KvOnhYR{k`dOErat6?*+2OWqL zft_rixa|e-yC}+kXXfo{Pf{a|r|#-Mmqwl*VoV7_ld25TF2J$!13aFRvVw*fJ!G?^ zgVvRay6quw$)A#M>eSPNMxDrFd2IMvnH^0(TD>53nDrx5#466ib%aVF9WBUY$c#3K zySTh@_wW!;pgLEN1My=1p?A1lXP(3N1!{#@6owFwGrr&nspTTLSZ4=Nq_T9|yblny zJ1XY_XMKM+DMz9L=;LR~5{B+SK(xu9I{wzk`k-*p0g5cS?KsjY#-mrcw|wC!FC~%i zJc`D8&qe@kO9>} zN6vbz; zzS0m;C-N-GnUlP^v@-)2P#Un~sN_f5sJ;eCvGefghu%o-cn>i8>P39?hzQD`qEmFe zB3@?AeIX$B)#72;nTRi995GKY9ni2>&F-7VE7)ah)XjY26(PhVXIq#;0Vpm0IroTp zs25V_rv(rVZ~74nD9DVEqv;b+1BNOO6!#ZN0svfLzA~_;HGm?K&^O_Un$B8Ec1S`! zq7D3on+dXMCh{{6ZZL4Kx7PzGOp&L$sv$Ola?lk4pwa^rG4mIH22(jWIsGalHE2fpu3h6E3rf-$_EJ0iG1NT2yCr$t*;Dg>+lPM- zvUQLs4luuYCYIa9gb?kD36Oiby51!v^`YLxoTWGQ$2Dr)4KYPz*h3|=xS&}ak~HnD zt%TdVOmQHf=}ZrKF2}8h?Fv{ti=!D5p#yBu>lPw><=D&4K3}mO03ufrL2V+2;eTt!OP8P$`c{X1&NBHc+WKF>0fg0q_XF ziRlWw_J?3k3oV%i^czJ5WD;>IwQ)#^wNxnRql$Rf%DDA6cwVk96+`!F6*gHVYkgov zt&?dqkgs#0Q^t~?DhI08Gp^IJ-M5t&D!oRrisQG%{;t6VHY~&%&T(}V3r8kD9%AZr zf(hrTUvzk=&cx+c4eRsm`j_+-;jB*d`BXvuhDyqH&67wX@xy}-kk-jG$QTk6t=&Aw z=|PQot?$dw2bfUo1oxZy`x4Z@TSRcrf2-oFka(2c(K2)^vJm(925B!+5-EX*x|f@X z)VTLN_47dMDG%vCJ>Q)y0kQ;GfIu3QPjZ;tI=h*TUFS#6$!F8@wD$A=d9wiLzy}JB zLGg);q%(k#HWMhL`UJj35OBr_nP`h^EgEYLLG_XR(;G;LKn(-Y-|4M<>WPAWi4U6Js3cpN|wMD-I#kU;~$x~4l%CFQ+2fa7TD@e9lZox;Bjqu~>f3HXn zbVXGL*x5=EYg_b>fW#yI9Gg(NbsAVJ+YLV$aIy}{V*@lTFSir=WQ>!w3(Vyc0aZFZ z%VIzz1}Ea*lT8oJ7_pDS4ZcjtHg9Rr#X&4DNK82yJ3?{sD&hl=?;yGZRG+gb0!F$w(DsdJ3ckHj`+67z!X5NeL^c+?ko;v0-yo&!{o;h0KN(QXgd$*>Mqm2 zUz*bp+iv8M_*{h+^v9m>%f;A0#ij6VaIM+yNKwLSr%KU#qM_W~m@`1+_bA!-+9HVz zVdV9iVG@QoC@m?ey-MgZprCdoI9Mix(Z1ju2lYwFX27*34L*KF^NHuVrxTe zh&cc<=kz2#29&}K=(*dt)5#Qx`r65r8dsc zZq;Xg?OSuw4Wj)BW09Bx=VObigvUzo+jFWZRJ7EnJ?V1|>{G~irD~Ka8TZ>viVntd z8DV3_*c_%GA9K|*mNXw;kZ>rA+tYwo@G{coL}rKMDI{=Syg!R_6*{jwd-x-$~Mcz`mZ_JNU?N~m0qDqVfI_60&T4Z5tiPEMs8F)4H~O8Ub@ z0!@lLFEUP_tN}m%Pww85Ts)IuXO?5O0}vx679X!3-WVHNZCLX`%u%6`7!KZv;zbX2 zje^_j`8Yk=-EXD73>9ZZU-ZmUR*Gn(&xy-RWd%?Q4lO<`(!`) z=v85L957G47L_r@YlI&&lu^bOjl@!b#*)hZj2BMON|2q+rKgN(IS2jn;l}SmeA*o$ zD6SAuzQoa6?pNQ{QGEKtd6VC^?9*HhH)rp-q%csv8T?=6DLc3WMVu1UpTZQ(Glsv} zpvjaeR4PLHMu>;h>hNKjydEuh! z5P-a|zC}+5LZZ@T;qOz}=$=I%EZLDq+fm!e_6X717GxVnP~)j@BTRQF|C8!H@~boc zRyVF`haQ9^aSUraZNs7h?TUlWa33cue;zF7IVc@1NN%;T(60hR>Nw1>RA8bA@Vf!D z0fW$>9Yx*%GM5bK_X*h0D26T8-pu?Ik4eV_902K}g z^y!%d4Uf}&)?u23O@QEzR# zUym!XFX+MMtWymM`}3+@@!2UmvjDC$M}#9K z;=mx)w| z4GQAKH*olp%N*1E68Y!so26s&gx!U53G(m~jwU@+J}ngOq_vdL!?1$lJd#1Yo=3YZ zz`XbQ6NFA${nHcRwEhnSokfV!*CHYj1HHY$;macQT;;K(rg%Przm+a;MRms|p$WH# zBY%-IKa0apASWr6TtWHlEnCgH($Hx+V2Tk(;Nah&!S6*lNyoR{ZrSqU-Y(se}~b<3JGBKF7RCB zjvX+v(7d|%1yj6?T8ZO4(y<#-vHQH)hB_fU9!e!xsx-l+p2{!#D;rH>hEeCcj;Sb) z_kA3ki~rO|nt{7vi1CFU+}hHD<|jjX_;Ctg=ZOO7*V#Cee{ZNNq`|MVVJP3ZD3qZ$2f#p01%F|5iG@vn9=>QPxrLp~0Pr>2)eAnFO$+e$r zP9n-DlS7m#D}8?t@>XJ{*1x<{pWUF{;r_?QV&Wya1(rXGUXR6-xmuBw>s6y)EbpDa ze_fA_eCUbIdCm5_Z^$pTAijY|cR*q^kxhdhY)D(CKc^=K`VqD*YtErhA|Z?gKOl=z z{Nv8(7SjG^6;DMJx;V=wzu~}uchYCd)fZfU)2(XSrwW(uoU4_n_nb2=Xle>Lz`nHp z&Ks)B5hc%rxT6bA6_mwdQN`4ep5;+xlnqi9rNlB-B~&4gfYN8;dSUFklx>GDGc-{P z?MS6+&+VeEQB=WniP$96Y0T|HgCiy2W1sNC5ba9UWxJWBWApH01337kdeGfWVS2XW zDQ0uLxXI88#&jQPR%K@pb`MVsvK|#RzwLq`2~(P4N9A}Qo~m>cBVL+cuwT-yYzJ$- zEt+G5X5vCK@=yUIvPqIpdhLjW_#oIf?QJMZNL&oT{ZN|yt|5mes`riB*oS&`E`*AU z;4Pe|5=jsO%>S-bK@O1iKRaJ_{&}lU4HHESKFo}oRb7#iAM@RPRhrlO;x`NK1;+Q^qsg3+Oj;+KTh|!o}~AemVT?gJ0{vxD28uWxsP(+m20wTaFxkYEh@7{^SP17@ zCkgN=`q63d07O9GO)fc2>-mCi2TC%X0K)W*z}d*V?mw$QbO3A+uN|;5BSMb!M! zt4jXms#3yiV(_N~S{@UCu&af|`Ue=eF5T|0Tl4)KuMjJ7NsRSXG~Ti{_S3H!-*VS1 z+Te8>r{1%&2Co3uQKgCNOCV1@3*Q^%#W55#`I>OYO4h0~%@O)W@J{Y-Z7S2`ixml> zX^bS%^%rOu!GYgH2cNM+gV{&q+Ruw%WH-Dp6X{V&bGVO#q5xnE??thof-Y3l8hh%y z;H*FQo^Z6BQ{hler3JZg;AMRtCMy*0^kwhVU~06Y&h`$OsEu>G$L`=DI;U=#a(n)< zk>C$I)(nI5?=z-HHz|4*u8D!~1ucbd&_2z$p(niiJf0(^41dTg{ERGMpX<7x+_QXlor?9*M~CoUCX~ajKJiuIemry zMR0`-0rp`nXc7uV3(4UVZJWtrTk0{+mzzIX5c0d7{G#U&6cl6x z3025o>3Q7&mL)M#&8256=6PSlkp%aShI@K2iDM4>6>W#rccIzzQi_n2Fe@F)2$aZS$%+8?_WO(Z_o1*P21P_g`! zFVz5|9Jig>{}K&31KKR-86)Eum&-*LDS(6}E;gwqZA}_hwD=@{Xt|neeP(aptndV+~VI(=f3i ztnzdyY-KK9JAuKZ{ic-o?>_qQ+HllD*yJmbpw6GXNFOlPtZn$7_wIYYMjC%s!GOso zgqc?;`m?3v_;sQb=sSj6L-U6MRP(^WzNa<*>T8&5w?Gu%rs9O8Z5J z`t=I|+u?Pr_Jd*U7OX(9#Oe=mG+#ZWKkL6Qy*rQ8_#P{>)&c78-?VE^W59Lq>r4gOe(3@1jWt^4^Oy_zU8CHw2w0VU;)L|7sx?EiTC zo=ww-goExZ$iP5|N;lvog&6%gcw1B@Wm_V~r|;5jErfn8>)A5N)o-o_eIOpp9y%HG z(r;~K+3x4F>?fb>439(KC;tmQy+v+BwbCr(gYtE@t7L38#@TI_=C@MXMq_rw)f0PZ1nRC+5syVjeJD+cwd0RVGbNy5*q~ zq=*0s1Yd!?1%kR|F9CZ#cZ$raYe&jB853iwpfAGo(hgGOp0EE5FQW z8N}D#ZHYW09yXpT9%nuHA);68l{KxEEkBA~dES^`tf$yKGEaT?LeVtQP8_&ioN&R*4j4UU&OHqWeE|YrW$XisHfP1Y{Ny zZ4@|JBK(HRj%~n@Ap|7tG?J8fSqQX2Y5tRKVn^LVs=s(&Tx3{9cmY=UuRTUvn3yuf z>K-cW7e2S3?CK5k?yZ_?GjSq}R8z7I1AFKoO0)$c8Y22$NCsdDzxz}II9eS|274Nx z;sMi#d$#=+fY2+6eI^B^32M*7L$E#CgXT75@$|kA-*43#!qIJZ{AV0$lqM*PX8r${UR`f5p zZD)4xYJmSTbs8k9^@QE)%V`wQxbv@`ZKsa-g|Z8?M0RFwTyhUZQkByP2keuewReN+aTai>pnV-Q8?bYDU=ibTN)}ss4*Tm#&?I z`V~0>lddaglKKI!s|~4F;&jWbR_d*SKgfD-28Y)L+OC19m3pKfH(P6+mziOCo=sGV z04_ypnoc!V8ug9(s1V1yR(5xM_WdX&+o%*7Vm6ajT|wZ_jH221&@#Z&b0<^ zJ6mszx#6k0o#D9~3NVUY!0~>&H3ettKjJQ&T(xXxa{HhQ-`VYRY&mTwXSHGZij`!XAkwnUXWmyAKvOFKD@ynls zk->Q4Ajje>TmOwhDI_Y;XJ#WU)|$Njpx*=zern=a&tQ(F^ck+I@Tq(j;*GEjZcEVp zJ=byLbju4MO9=|Eb0)MQQ|a&cib)KS@t1yQ<8_)EGpGvx#d*VjGSbx#xX$B{xvq%$ zqD#=s1KEvC(mudUAb|YUON1xWq0YPOQ?zJ1VJts5parjpX5DQ#J%6sTa_W#+<{X+4wK06T7*($4`7M}DM)*qi z^V{e@&-u40zU-Trqm!ey%te40#vgF5kG}5Nh|{G4f`-FgoRblf*B(<=X|7`-uER}B zlzq*03+}{T*8>K|j>fv!1|c+`X4x3#Skjx)y?SMeYL*J??Z=*t*S?kJpoplop!5Ly<#qB#gpoaXUy~V;{ah;IWg!kiTqtNe^O-#LeR6E4 z!hlqzPU}|y9^romz$4CI$+XZUvnWxLtb7Uq*FBNhYj@xp-8GnXo^b&zOSJ#-MX2_{ zy46=8->1ioeFr2h4J3Ln`joT)!xS+mX{waRH*$i5R5;b0_5(VIKs^^j1vboHp_)wX z2(Ee7=CS?wSETL^Z9NdYRI#k{w?>c)}v_kH|S&S{quRcrG0dOC2I^okyK z&Srd(tHt5Jy#?ff0>rUhj5#ew<{J@9FZ~GuBp%)J5Q6;BO1Pb^Yz=F=9*^R zBbIYG5CSp6@Nl!ee%xBujDA0b(LR_HZGSxLeNCbf*#asUkhJ^VSvjyA35)U)`7kF` z!HWDzAnZ$jN8}k#+U+ob$@+|Qvl%KB^y)3$G)xS1)^o>eKjnP)x7J{#2l>d)%CTj0yIl zOUzZv9>L0}cPkkYD>jX3gd*oN>Mm;9 z9(5DD2!R|LZ&Y5gwpaG9!h2$H7{9UNskRsDh*PS!E0y0WEnLjByxh<9M_0U;Vo7bn z(^K>5OG{vWaJ#|u=0K>JV(I^fPi;vJkg}$xurB}AYyI27`A$8B2$W_c*AM{Ha4G~@ zV0f?8A{E1o%Dl#57SyNkBD4YZ?k~Ma$K(BSsUOJopk{eA)PBkeM;xd#ej&?0>;Qq8 zUV;}hxp{p~c%I*tsqA^zge08d;csq_9wm=Go0=I^$tCg|SHJE71wOj%TF4P@t$6E~ z>oLAd3j1ZQVL|HP0M0Smy!;Fy58Em-su!w18xDYAoawd)Zs+}%oj||F80=>UXVA>m z)^nOvr$QglS-#=fZ@FCZ-Km+Ekg_|2#eM-G4sZN`5=8VDtN!G76n`+Dqn%WmB}zM& zg~hBIE!=L2toIPx`~<2*zc@ufX!)YGCN+-PYp`L`aIQQk-htXk^*8=sfYWVvuD<+J z4ghjI$(<%tfGAmkO0xlt=G(=i9zydpVVSqqZ@?6T0xH?I9UaKz;eBwcLv8m5tgaiQQa^cVj28u#-B_Nw-*tf1)_uQL zqWQq};-J|<0u=FKfjAg`{p#`LmGMLNvC`@D7zHJvb2TGNBjDSFqPw2K)MIjyD}>