From ab7353ef75b0b2b5e1604e54f236250caeadceea Mon Sep 17 00:00:00 2001 From: lispking Date: Wed, 1 Nov 2023 23:18:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?+=20add=202023=E7=A7=8B=E5=86=AC=E5=AD=A3?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5=E6=80=BB=E7=BB=93-lispking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + package-lock.json | 2501 +++++++++++++++++ ...0\245\346\200\273\347\273\223-lispking.md" | 89 + .../wx-mp.png" | Bin 0 -> 33834 bytes 4 files changed, 2591 insertions(+) create mode 100644 package-lock.json create mode 100644 "source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" create mode 100644 "source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking/wx-mp.png" diff --git a/.gitignore b/.gitignore index 83dbe003b2b..e5311e45a4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ public/ node_modules/ db.json +.DS_Store diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000..9727eaeeaf2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2501 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hexo-site", + "version": "0.0.0", + "dependencies": { + "hexo": "^4.2.1", + "hexo-asset-image": "^1.0.0", + "hexo-cli": "^3.1.0", + "hexo-deployer-git": "^2.1.0", + "hexo-generator-archive": "^1.0.0", + "hexo-generator-category": "^1.0.0", + "hexo-generator-index": "^1.0.0", + "hexo-generator-tag": "^1.0.0", + "hexo-renderer-ejs": "^1.0.0", + "hexo-renderer-marked": "^2.0.0", + "hexo-renderer-stylus": "^1.1.0", + "hexo-server": "^1.0.0" + } + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/async": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/async/-/async-0.2.10.tgz", + "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cheerio": { + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-0.19.0.tgz", + "integrity": "sha512-Fwcm3zkR37STnPC8FepSHeSYJM5Rd596TZOcfDUdojR4Q735aK1Xn+M+ISagNneuCwMjK28w4kX+ETILGNT/UQ==", + "dependencies": { + "css-select": "~1.0.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "~3.8.1", + "lodash": "^3.2.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cheerio/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/cliui/node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "node_modules/css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==", + "dependencies": { + "css": "^2.0.0" + } + }, + "node_modules/css-select": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-1.0.0.tgz", + "integrity": "sha512-/xPlD7betkfd7ChGkLGGWx5HWyiHDOSn7aACLzdH0nwucPvB0EAm8hMBm7Xn7vGfAeRRN7KZ8wumGm8NoNcMRw==", + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "1.0", + "domutils": "1.4", + "nth-check": "~1.0.0" + } + }, + "node_modules/css-what": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-1.0.0.tgz", + "integrity": "sha512-60SUMPBreXrLXgvpM8kYpO0AOyMRhdRlXFX5BMQbZq1SIJCyNE56nqFQhmvREQdUJpedbGRYZ5wOyq3/F6q5Zw==", + "engines": { + "node": "*" + } + }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==", + "deprecated": "Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead." + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dependencies": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.4.3.tgz", + "integrity": "sha512-ZkVgS/PpxjyJMb+S2iVHHEZjVnOUtjGp0/zstqKGTE9lrZtNHlNQmLwP/lhLMEApYbzc08BKMx9IFpKhaSbW1w==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "optional": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hexo": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/hexo/-/hexo-4.2.1.tgz", + "integrity": "sha512-V7kJsL4m2HM0Czm0j0ZDLJWxv5OJvbpTWgk0cCKcvHg2Dd/SVgtyLI+ygoPPrMipTquxii6waF5l44Op0bMEEQ==", + "dependencies": { + "abbrev": "^1.1.1", + "archy": "^1.0.0", + "bluebird": "^3.5.2", + "chalk": "^3.0.0", + "hexo-cli": "^3.0.0", + "hexo-front-matter": "^1.0.0", + "hexo-fs": "^2.0.1", + "hexo-i18n": "^1.0.0", + "hexo-log": "^1.0.0", + "hexo-util": "^1.9.1", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "micromatch": "^4.0.2", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "nunjucks": "^3.1.3", + "pretty-hrtime": "^1.0.3", + "resolve": "^1.8.1", + "strip-ansi": "^6.0.0", + "strip-indent": "^3.0.0", + "swig-extras": "0.0.1", + "swig-templates": "^2.0.3", + "text-table": "^0.2.0", + "tildify": "^2.0.0", + "titlecase": "^1.1.2", + "warehouse": "^3.0.1" + }, + "bin": { + "hexo": "bin/hexo" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/hexo-asset-image": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-asset-image/-/hexo-asset-image-1.0.0.tgz", + "integrity": "sha512-jkuUJNPRMH6v7HqzP2BAwEZavMzVxNWhl8jZl9BmFYB22/aq2+zixGIhV4vedI9cLPydjn9DfII41/MMXtzJTA==", + "dependencies": { + "cheerio": "^0.19.0", + "entities": "^1.1.2" + } + }, + "node_modules/hexo-bunyan": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-bunyan/-/hexo-bunyan-2.0.0.tgz", + "integrity": "sha512-5XHYu/yJOgPFTC0AaEgFtPPaBJU4jC7R10tITJwTRJk7K93rgSpRV8jF3e0PPlPwXd4FphTawjljH5R8LjmtpQ==", + "deprecated": "Please see https://github.com/hexojs/hexo-bunyan/issues/17", + "bin": { + "bunyan": "bin/bunyan" + }, + "engines": { + "node": ">=8.6.0" + }, + "optionalDependencies": { + "moment": "^2.10.6", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "node_modules/hexo-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/hexo-cli/-/hexo-cli-3.1.0.tgz", + "integrity": "sha512-Rc2gX2DlsALaFBbfk1XYx2XmeVAX+C7Dxc7UwETZOcu3cbGsf2DpwYTfKQumW3jagi1icA4KgW9aSRPPZZj/zg==", + "dependencies": { + "abbrev": "^1.1.1", + "acorn": "^7.0.0", + "bluebird": "^3.5.5", + "chalk": "^2.4.2", + "command-exists": "^1.2.8", + "hexo-fs": "^2.0.0", + "hexo-log": "^1.0.0", + "hexo-util": "^1.4.0", + "minimist": "^1.2.0", + "resolve": "^1.11.0", + "tildify": "^2.0.0" + }, + "bin": { + "hexo": "bin/hexo" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-cli/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-cli/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hexo-cli/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/hexo-cli/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hexo-cli/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-cli/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-deployer-git": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hexo-deployer-git/-/hexo-deployer-git-2.1.0.tgz", + "integrity": "sha512-0rx8YVd1UrwD9vUzIPrB7mljLdcmUv0zRj3MAMCBxY7HqI2RM5ZEV0uKxi34qB7LYA80BNl3FWHl2ghO/tKVTA==", + "dependencies": { + "bluebird": "^3.5.0", + "chalk": "^3.0.0", + "hexo-fs": "^2.0.0", + "hexo-util": "^1.0.0", + "moment": "^2.18.0", + "swig-templates": "^2.0.2" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-front-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-front-matter/-/hexo-front-matter-1.0.0.tgz", + "integrity": "sha512-Hn8IIzgWWnxYTekrjnA0rxwWMoQHifyrxKMqVibmFaRKf4AQ2V6Xo13Jiso6CDwYfS+OdA41QS5DG1Y+QXA5gw==", + "dependencies": { + "js-yaml": "^3.13.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/hexo-fs/-/hexo-fs-2.0.1.tgz", + "integrity": "sha512-IgAhdjYN3GCluy2MSeeX+F/RkyVsjjzZO7Bbhj3aYoSBqcJhJsR1Nz+Powp26siQPuIFLNNYjqmfPbVg2vg+Mg==", + "dependencies": { + "bluebird": "^3.5.1", + "chokidar": "^3.0.0", + "escape-string-regexp": "^2.0.0", + "graceful-fs": "^4.1.11" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/hexo-generator-archive": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-archive/-/hexo-generator-archive-1.0.0.tgz", + "integrity": "sha512-24TeanDGpMBUIq37DHpSESQbeN6ssZ06edsGSI76tN4Yit50TgsgzP5g5DSu0yJk0jUtHJntysWE8NYAlFXibA==", + "dependencies": { + "hexo-pagination": "1.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-generator-category": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-category/-/hexo-generator-category-1.0.0.tgz", + "integrity": "sha512-kmtwT1SHYL2ismbGnYQXNtqLFSeTdtHNbJIqno3LKROpCK8ybST5QVXF1bZI9LkFcXV/H8ilt8gfg4/dNNcQQQ==", + "dependencies": { + "hexo-pagination": "1.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-generator-index": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-index/-/hexo-generator-index-1.0.0.tgz", + "integrity": "sha512-L25MdZ7e5ar/F8lIW+zBNNlA4f5A8CBUOYi1IQZCgL3wPVW+AWn66RSM5UVBAbiw5yxDeTHdk0sJYXbhSBaOFQ==", + "dependencies": { + "hexo-pagination": "1.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-generator-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-tag/-/hexo-generator-tag-1.0.0.tgz", + "integrity": "sha512-JDoB2T1EncRlyGSjuAhkGxRfKkN8tq0i8tFlk9I4q2L6iYxPaUnFenhji0oxufTADC16/IchuPjmMk//dt8Msg==", + "dependencies": { + "hexo-pagination": "1.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-i18n": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-i18n/-/hexo-i18n-1.0.0.tgz", + "integrity": "sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==", + "dependencies": { + "sprintf-js": "^1.0.3" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-log": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-log/-/hexo-log-1.0.0.tgz", + "integrity": "sha512-XlPzRtnsdrUfTSkLJPACQgWByybB56E79H8xIjGWj0GL+J/VqENsgc+GER0ytFwrP/6YKCerXdaUWOYMcv6aiA==", + "dependencies": { + "chalk": "^2.4.1", + "hexo-bunyan": "^2.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-log/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-log/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-log/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hexo-log/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/hexo-log/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hexo-log/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-log/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-pagination": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-pagination/-/hexo-pagination-1.0.0.tgz", + "integrity": "sha512-miEVFgxchPr2qNWxw0JWpJ9R/Yaf7HjHBZVjvCCcqfbsLyYtCvIfJDxcEwz1sDOC/fLzYPqNnhUI73uNxBHRSA==", + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-renderer-ejs": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-ejs/-/hexo-renderer-ejs-1.0.0.tgz", + "integrity": "sha512-O925i69FG4NYO62oWORcPhRZZX0sPx1SXGKUS5DaR/lzajyiXH5i2sqnkj0ya0rNLXIy/D7Xmt7WbFyuQx/kKQ==", + "dependencies": { + "ejs": "^2.6.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-renderer-marked": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-marked/-/hexo-renderer-marked-2.0.0.tgz", + "integrity": "sha512-+LMjgPkJSUAOlWYHJnBXxUHwGqemGNlK/I+JNO4zA5rEHWNWZ9wNAZKd5g0lEVdMAZzAV54gCylXGURgMO4IAw==", + "dependencies": { + "hexo-util": "1.0.0", + "marked": "^0.7.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-renderer-marked/node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/hexo-renderer-marked/node_modules/hexo-util": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-1.0.0.tgz", + "integrity": "sha512-oV1/Y7ablc7e3d2kFFvQ/Ypi/BfL/uDSc1oNaMcxqr/UOH8F0QkHZ0Dmv+yLrEpFNYrrhBA0uavo3e+EqHNjnQ==", + "dependencies": { + "bluebird": "^3.5.2", + "camel-case": "^3.0.0", + "cross-spawn": "^6.0.5", + "highlight.js": "^9.13.1", + "html-entities": "^1.2.1", + "striptags": "^3.1.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-renderer-marked/node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + }, + "node_modules/hexo-renderer-marked/node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-renderer-marked/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/hexo-renderer-marked/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hexo-renderer-marked/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hexo-renderer-marked/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/hexo-renderer-stylus": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-stylus/-/hexo-renderer-stylus-1.1.0.tgz", + "integrity": "sha512-aXfMuro2aQOvpM5pyPEModAPvqYi73VN4t37vGMQCbT0QTmw8YohEmUpO/G/1k6j88ong6344v+A0xrpUGQRnQ==", + "dependencies": { + "nib": "^1.1.2", + "stylus": "^0.54.5" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-server": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-server/-/hexo-server-1.0.0.tgz", + "integrity": "sha512-eSY+a5oiGCG/3T6FrdrNRBkttMLJkM+oitY6ZMFowjcBiG2VNEhQmfWUDOykfvApZs4wPYBb//uXD/58tfe3mA==", + "dependencies": { + "bluebird": "^3.5.5", + "chalk": "^2.4.2", + "compression": "^1.7.4", + "connect": "^3.7.0", + "mime": "^2.4.3", + "morgan": "^1.9.1", + "open": "^6.3.0", + "serve-static": "^1.14.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-server/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-server/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-server/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hexo-server/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/hexo-server/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hexo-server/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-server/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hexo-util": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-1.9.1.tgz", + "integrity": "sha512-B6+nVi4Zpy7NPzlIcTLn9YBGb2Ly0q11mRzg6DyFWg0IfcrfF4tlWO0vRXqJVhvRyg+tIfUihmgypkiUW1IjNQ==", + "dependencies": { + "bluebird": "^3.5.2", + "camel-case": "^4.0.0", + "cross-spawn": "^7.0.0", + "deepmerge": "^4.2.2", + "highlight.js": "^9.13.1", + "htmlparser2": "^4.0.0", + "prismjs": "^1.17.1", + "punycode.js": "^2.1.0", + "strip-indent": "^3.0.0", + "striptags": "^3.1.1" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-util/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "node_modules/hexo-util/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/hexo-util/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "node_modules/hexo-util/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/hexo-util/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "node_modules/hexo-util/node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/hexo-util/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "node_modules/hexo-util/node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "hasInstallScript": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dependencies": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/markdown": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/markdown/-/markdown-0.5.0.tgz", + "integrity": "sha512-ctGPIcuqsYoJ493sCtFK7H4UEgMWAUdXeBhPbdsg1W0LsV9yJELAHRsMmWfTgao6nH0/x5gf9FmsbxiXnrgaIQ==", + "dependencies": { + "nopt": "~2.1.1" + }, + "bin": { + "md2html": "bin/md2html.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/marked": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.43", + "resolved": "https://registry.npmmirror.com/moment-timezone/-/moment-timezone-0.5.43.tgz", + "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mv": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/mv/-/mv-2.1.1.tgz", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", + "optional": true, + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "optional": true, + "bin": { + "ncp": "bin/ncp" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nib": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/nib/-/nib-1.2.0.tgz", + "integrity": "sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==", + "engines": { + "node": "*" + }, + "peerDependencies": { + "stylus": "*" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/nopt": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-2.1.2.tgz", + "integrity": "sha512-x8vXm7BZ2jE1Txrxh/hO74HTuYZQEbo8edoRcANgdZ4+PCV+pbjd/xdummkmjjC7LU5EjPzlu8zEq/oxWylnKA==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmmirror.com/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/optimist/node_modules/minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", + "optional": true, + "dependencies": { + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "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" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/striptags": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/striptags/-/striptags-3.2.0.tgz", + "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==" + }, + "node_modules/stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmmirror.com/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "dependencies": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stylus/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/swig-extras": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/swig-extras/-/swig-extras-0.0.1.tgz", + "integrity": "sha512-mFgpjjcQ0Kj+WplOrnWfUEw8iehZMD78sRId6uMXaTlWpy/vt8PTv3GoNsHrHBpZNnPnIsoWxrmRbS3vePjWpA==", + "dependencies": { + "markdown": "~0.5.0" + } + }, + "node_modules/swig-templates": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/swig-templates/-/swig-templates-2.0.3.tgz", + "integrity": "sha512-QojPTuZWdpznSZWZDB63/grsZuDwT/7geMeGlftbJXDoYBIZEnTcKvz4iwYDv3SwfPX9/B4RtGRSXNnm3S2wwg==", + "deprecated": "unmaintained", + "dependencies": { + "optimist": "~0.6", + "uglify-js": "2.6.0" + }, + "bin": { + "swig": "bin/swig.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/titlecase": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==", + "bin": { + "to-title-case": "bin.js" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/uglify-js": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/uglify-js/-/uglify-js-2.6.0.tgz", + "integrity": "sha512-SYZzhZQRrlAc6QT3Eqz4WHuyrCLjvvKmfII/of82rVACMxsIwb/CqlZVbUwOIq8Xd1EMp2WTtCrIxFYF+779zw==", + "dependencies": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/warehouse": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/warehouse/-/warehouse-3.0.2.tgz", + "integrity": "sha512-NTaUFkDcRKFx477NflL3doMhnmPobpL+uF66s0ozAhjob+UCHcOzE77GvYR1sjyu+LR4SstPz3xGxYLOKQCvMg==", + "dependencies": { + "bluebird": "^3.2.2", + "cuid": "^2.1.4", + "graceful-fs": "^4.1.3", + "is-plain-object": "^3.0.0", + "JSONStream": "^1.0.7", + "rfdc": "^1.1.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" new file mode 100644 index 00000000000..7cab107636d --- /dev/null +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" @@ -0,0 +1,89 @@ +--- +title: 2023秋冬季开源操作系统训练营总结-lispking +date: 2023-11-01 22:10:55 +categories: + - report +tags: + - author: lispking + - summerofcode2023 + - rcore-lab +--- + +# 逆境中的学习与成长:我的开源操作系统训练营之旅 + +## 自我介绍 + +今年的经济形势确实不容乐观。没错,我就是那位大龄失业的程序员。在寻找工作的同时,我尝试将自己的经验和心得整理成文章,发布在名为《猿禹宙》的微信公众号上,希望能为广大读者提供一些帮助。如果这些文章对您有所启发,请您不吝啬地关注、转发、点个赞、赏 1 元以示支持。广告部分到此结束,接下来我要分享一次偶然的相遇。 + +![微信公众号](2023秋冬季开源操作系统训练营总结-lispking/wx-mp.png) + + + +## 偶遇 rCore 经历 + +在一次无意间的机会,Rust 中文社区创始人 MT 在群里推荐了《2023 秋冬季开源操作系统训练营》活动。操作系统一直是我想深入学习的领域,因此,我毫不犹豫地报名并坚定地参与了整个过程。根据操作系统官网对该活动的介绍,这无疑是一次难得的学习机会。 + +在这个训练营中,我结识了许多志同道合的朋友,共同探讨开源操作系统的未来发展。我们深入交流了许多技术话题,分享了各自的心得体会。这次经历让我受益匪浅,也让我对这个领域有了更为深入的了解。 + +尽管目前的经济形势不容乐观,但我相信只要我们不断学习、充实自己,总会迎来属于自己的春天。希望我的经历和分享能给大家带来一些启示。再次感谢各位的支持,我会继续努力,为大家带来更多有价值的内容。 + +让我们共同期待,在未来的某一天,当我们迈向成功的道路上时,会遇到更多美好的机遇。愿我们都能在不断学习和成长中,找到属于自己的价值和幸福。 + +## 课程总结 + +### 第一阶段总结 + +在第一阶段的 Rust 编程培训中,虽然我觉得过程相对顺利,但在工作中用得却不多。不过,我在查阅过去的代码仓库时,发现了一个有趣的事实:原来早在两年前,我就已经开始接触 Rust,并已做过 Rustlings 题目,当时的版本还是 1.53。令人难以置信的是,Rust 已经发展到了 1.73 版本,并且开源项目也如雨后春笋般涌现。这让我对 Rust 的未来充满期待,也坚定了我在这条路上继续前行的决心。 + +### 第二阶段总结 + +#### 那段回忆 + +由于这些年我的工作主要集中在上层应用开发,对操作系统的了解仅限于学生时代的点滴记忆。因此,在第二阶段的学习中,许多不懂的知识点会让我卡住很长时间。然而,得益于失业这段时间,我能够投入更多的时间来深入学习课程。从早上 7 点多起床,一直到晚上 11 点,我才会愿意结束学习,洗漱后入睡。这样的努力让我在操作系统领域取得了显著的进步。 + +#### 粉丝认可 + +在失业半年里,养成了写文章的习惯。于是,我将这门课程的学习过程及时记录在了 [#RISC-V] 系列笔记中。在总结的过程中,我不仅巩固了自己的所学,还能为他人在成长过程中提供帮助。一些粉丝在后台留言表示,清华的这份笔记非常精彩。看到这些肯定与鼓励,我倍感欣慰,这也激发了我继续在求学道路上前行的信心和动力。同时,我也深感荣幸能为他们的学习提供帮助。我会继续努力,为大家分享更多有价值的内容。 + +#### 硬啃术语 + +面对众多术语,如 rCore、bare metal、qemu、elf、abi、sbi、RISC-V 等,感到各种困惑和不解。尤其是那些汇编代码,以及为何指令对齐要设置为 align 3 这样的问题,更是让人摸不着头脑。 + +后来查阅资料逐渐了解这些术语和概念。 + +* rCore 是一个实内核,用于实现硬件抽象层 +* bare metal 是指没有操作系统的硬件 +* qemu 是一个开源的硬件仿真器 +* ELF 是 Executable and Linkable Format(可执行和可链接格式)的缩写,是一种计算机可执行文件格式; +* SBI 是 RISC-V Supervisor Binary Interface 规范的缩写,OpenSBI 是RISC-V官方用C语言开发的SBI参考实现;RustSBI 是用Rust语言实现的SBI。 +* RISC-V 是一种开源的指令集架构,除 ARM 和 x86以外,第三大指令集。 +* 指令对齐设置为 align 3,是因为在计算机系统中,内存地址需要按照一定的规律进行组织。align 3 表示指令要按照 8 位(2^3)进行地址对齐,这样可以保证指令的执行效率和内存利用率。在实际应用中,不同的指令集架构可能会有不同的对齐要求。 + +#### 渐入佳境 + +从裸机 Hello World 程序出发,到批处理系统设计,进而探讨多道程序与分时系统,再到地址空间、进程和文件系统等方面的知识,老师在课堂上为我们详细解析了整个操作系统的发展过程。通过课下的勤奋学习,对 OS 有了更为深入的理解。 + +在课程中,逐步掌握了操作系统的基本概念、原理和实现技术。从最初的裸机程序出发,学会了如何在操作系统中编写简单的程序。 + +在此基础上,探讨批处理系统的设计,了解如何通过批量处理任务来提高系统效率。随后,课程深入到了多道程序和分时系统,使我明白如何在多任务环境下进行任务调度和资源分配。 + +在地址空间、进程和文件系统等方面,学习如何实现内存管理、进程创建和管理、以及文件存储和访问控制等功能。这些知识构建一个完整的操作系统奠定了基础。 + +通过学习操作系统,不仅掌握了操作系统的基本原理,还了解操作系统在现实中的应用和发展趋势。这将为我们在未来的工作和学习中更好地应用操作系统知识,解决实际问题提供有力支持。 + +## 感谢致辞 + +总之,在老师的悉心指导下,从裸机 Hello World 起步,深入系统地学习了操作系统的基本概念、原理及实现技术。这使我对 OS 有了更加全面和深入的理解。 + +最后,衷心感谢清华大学的老师们为我们提供了这次难得的学习机会。 + +在这段宝贵的时光里,我们在老师的引领下,逐渐掌握了操作系统核心知识,丰富了我们的视野。 + +感谢老师们辛勤付出,为我们奠定扎实的专业基础。这次学习经历对我们来说,无疑是人生中难能可贵的财富。 + +再次向清华的老师们表达诚挚的感谢,愿我们在未来的学习和工作中,秉持清华精神,为社会和国家的发展贡献自己的力量。 + + + + +[#RISC-V]: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4Nzk4MTY3Nw==&action=getalbum&album_id=3162993568748208133&scene=173&from_msgid=2247483973&from_itemidx=1&count=3&nolastread=1#wechat_redirect \ No newline at end of file diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking/wx-mp.png" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking/wx-mp.png" new file mode 100644 index 0000000000000000000000000000000000000000..cc0f8dcda936220f433e15209e3999f0ee4662d3 GIT binary patch literal 33834 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 PeIoZx>1~PRmw)~b5x>gV literal 0 HcmV?d00001 From 2c8a36d2e17976b8b40ac9f322e745ca4f0b5d88 Mon Sep 17 00:00:00 2001 From: King Date: Wed, 1 Nov 2023 23:44:13 +0800 Subject: [PATCH 2/3] =?UTF-8?q?Update=202023=E7=A7=8B=E5=86=AC=E5=AD=A3?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5=E6=80=BB=E7=BB=93-lispking.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ! update docs --- ...7\273\203\350\220\245\346\200\273\347\273\223-lispking.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" index 7cab107636d..62dd4c2d266 100644 --- "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" @@ -51,7 +51,7 @@ tags: 后来查阅资料逐渐了解这些术语和概念。 -* rCore 是一个实内核,用于实现硬件抽象层 +* rCore 是一个用 Rust 编写的操作系统,兼容 Linux,支持 x86_64、RISCV32/64、AArch64 与 MIPS32 平台 * bare metal 是指没有操作系统的硬件 * qemu 是一个开源的硬件仿真器 * ELF 是 Executable and Linkable Format(可执行和可链接格式)的缩写,是一种计算机可执行文件格式; @@ -86,4 +86,4 @@ tags: -[#RISC-V]: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4Nzk4MTY3Nw==&action=getalbum&album_id=3162993568748208133&scene=173&from_msgid=2247483973&from_itemidx=1&count=3&nolastread=1#wechat_redirect \ No newline at end of file +[#RISC-V]: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4Nzk4MTY3Nw==&action=getalbum&album_id=3162993568748208133&scene=173&from_msgid=2247483973&from_itemidx=1&count=3&nolastread=1#wechat_redirect From ec649389b832f615dd37d95f2b62b33dcd6d14e8 Mon Sep 17 00:00:00 2001 From: King Date: Wed, 1 Nov 2023 23:45:39 +0800 Subject: [PATCH 3/3] =?UTF-8?q?Update=202023=E7=A7=8B=E5=86=AC=E5=AD=A3?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E8=AE=AD?= =?UTF-8?q?=E7=BB=83=E8=90=A5=E6=80=BB=E7=BB=93-lispking.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ! fixed md tab issue --- ...3\203\350\220\245\346\200\273\347\273\223-lispking.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" index 62dd4c2d266..84018236ee4 100644 --- "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223-lispking.md" @@ -2,11 +2,11 @@ title: 2023秋冬季开源操作系统训练营总结-lispking date: 2023-11-01 22:10:55 categories: - - report + - report tags: - - author: lispking - - summerofcode2023 - - rcore-lab + - author: lispking + - summerofcode2023 + - rcore-lab --- # 逆境中的学习与成长:我的开源操作系统训练营之旅