diff --git a/docs/.eslintrc.yml b/docs/.eslintrc.yml new file mode 100644 index 00000000..04785239 --- /dev/null +++ b/docs/.eslintrc.yml @@ -0,0 +1,15 @@ +env: + browser: true + es2021: true +extends: + - eslint:recommended + - plugin:@typescript-eslint/recommended +overrides: [] +parser: "@typescript-eslint/parser" +parserOptions: + ecmaVersion: latest + sourceType: module +plugins: + - "@typescript-eslint" +rules: + "@typescript-eslint/no-non-null-assertion": off diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..6240da8b --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,21 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store diff --git a/docs/.prettierrc.yml b/docs/.prettierrc.yml new file mode 100644 index 00000000..1b86d7e4 --- /dev/null +++ b/docs/.prettierrc.yml @@ -0,0 +1,7 @@ +$schema: "https://json.schemastore.org/prettierrc" +tabWidth: 4 +semi: true +singleQuote: false +trailingComma: none +printWidth: 100 +endOfLine: lf diff --git a/docs/.vscode/extensions.json b/docs/.vscode/extensions.json new file mode 100644 index 00000000..22a15055 --- /dev/null +++ b/docs/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/docs/.vscode/launch.json b/docs/.vscode/launch.json new file mode 100644 index 00000000..d6422097 --- /dev/null +++ b/docs/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/docs/Pipfile b/docs/Pipfile deleted file mode 100644 index 6648fd16..00000000 --- a/docs/Pipfile +++ /dev/null @@ -1,12 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] - -[dev-packages] -menagerie-docs = "*" - -[requires] -python_version = "3.11" diff --git a/docs/Pipfile.lock b/docs/Pipfile.lock deleted file mode 100644 index 4bb7eed8..00000000 --- a/docs/Pipfile.lock +++ /dev/null @@ -1,613 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "e93f7f7087f635da529dc8dbaa56be872c12a26be4d8cfcaa9393f12fe7f1bda" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.11" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": {}, - "develop": { - "attrs": { - "hashes": [ - "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", - "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" - ], - "markers": "python_version >= '3.6'", - "version": "==22.2.0" - }, - "beautifulsoup4": { - "hashes": [ - "sha256:2130a5ad7f513200fae61a17abb5e338ca980fa28c439c0571014bc0217e9591", - "sha256:c5fceeaec29d09c84970e47c65f2f0efe57872f7cff494c9691a26ec0ff13234" - ], - "markers": "python_full_version >= '3.6.0'", - "version": "==4.12.0" - }, - "certifi": { - "hashes": [ - "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", - "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" - ], - "markers": "python_version >= '3.6'", - "version": "==2022.12.7" - }, - "charset-normalizer": { - "hashes": [ - "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6", - "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1", - "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e", - "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373", - "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62", - "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230", - "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be", - "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c", - "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0", - "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448", - "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f", - "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649", - "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d", - "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0", - "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706", - "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a", - "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59", - "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23", - "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5", - "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb", - "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e", - "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e", - "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c", - "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28", - "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d", - "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41", - "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974", - "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce", - "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f", - "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1", - "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d", - "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8", - "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017", - "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31", - "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7", - "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8", - "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e", - "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14", - "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd", - "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d", - "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795", - "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b", - "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b", - "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b", - "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203", - "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f", - "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19", - "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1", - "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a", - "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac", - "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9", - "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0", - "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137", - "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f", - "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6", - "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5", - "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909", - "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f", - "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0", - "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324", - "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755", - "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb", - "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854", - "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c", - "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60", - "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84", - "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0", - "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b", - "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1", - "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531", - "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1", - "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11", - "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326", - "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df", - "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab" - ], - "markers": "python_full_version >= '3.7.0'", - "version": "==3.1.0" - }, - "click": { - "hashes": [ - "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", - "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" - ], - "markers": "python_version >= '3.7'", - "version": "==8.1.3" - }, - "dataclasses-json": { - "hashes": [ - "sha256:bc285b5f892094c3a53d558858a88553dd6a61a11ab1a8128a0e554385dcc5dd", - "sha256:c2c11bc8214fbf709ffc369d11446ff6945254a7f09128154a7620613d8fda90" - ], - "markers": "python_version >= '3.6'", - "version": "==0.5.7" - }, - "elementpath": { - "hashes": [ - "sha256:2b1b524223d70fd6dd63a36b9bc32e4919c96a272c2d1454094c4d85086bc6f8", - "sha256:dbd7eba3cf0b3b4934f627ba24851a3e0798ef2bc9104555a4cd831f2e6e8e14" - ], - "markers": "python_version >= '3.7'", - "version": "==4.1.0" - }, - "htmlmin": { - "hashes": [ - "sha256:50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178" - ], - "version": "==0.1.12" - }, - "idna": { - "hashes": [ - "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" - ], - "markers": "python_version >= '3.5'", - "version": "==3.4" - }, - "jinja2": { - "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" - ], - "markers": "python_version >= '3.7'", - "version": "==3.1.2" - }, - "json-minify": { - "hashes": [ - "sha256:268e6966c0f1dcb32ac54e1d047b83deba9ce711c0763ceba63f26d3aeedf656", - "sha256:499717626144a533d64ed4a1513976cf2212958b6806a66e07dd8e22207df559" - ], - "version": "==0.3.0" - }, - "json-schema-for-humans": { - "hashes": [ - "sha256:1e34f1ae053c0884a52bcfc415f8de10a9dc918554523912f53015d202549f37", - "sha256:62a72dd2edb064fb6f2cb6939670185b80a79317b1e7cdb2132634287b142493" - ], - "markers": "python_version >= '3.7' and python_version < '4.0'", - "version": "==0.44.4" - }, - "jsonschema": { - "hashes": [ - "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d", - "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6" - ], - "markers": "python_version >= '3.7'", - "version": "==4.17.3" - }, - "libsass": { - "hashes": [ - "sha256:081e256ab3c5f3f09c7b8dea3bf3bf5e64a97c6995fd9eea880639b3f93a9f9a", - "sha256:3ab5ad18e47db560f4f0c09e3d28cf3bb1a44711257488ac2adad69f4f7f8425", - "sha256:65455a2728b696b62100eb5932604aa13a29f4ac9a305d95773c14aaa7200aaf", - "sha256:89c5ce497fcf3aba1dd1b19aae93b99f68257e5f2026b731b00a872f13324c7f", - "sha256:f1efc1b612299c88aec9e39d6ca0c266d360daa5b19d9430bdeaffffa86993f9" - ], - "markers": "python_version >= '3.6'", - "version": "==0.22.0" - }, - "markdown": { - "hashes": [ - "sha256:31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49", - "sha256:96c3ba1261de2f7547b46a00ea8463832c921d3f9d6aba3f255a6f71386db20c" - ], - "markers": "python_version >= '3.6'", - "version": "==3.3.4" - }, - "markdown2": { - "hashes": [ - "sha256:7d49ca871d3e0e412c65d7d21fcbc13ae897f7876f3e5f14dd4db3b7fbf27f10", - "sha256:90475aca3d9c8e7df6d70c51de5bbbe9edf7fcf6a380bd1044d321500f5445da" - ], - "markers": "python_version >= '3.5' and python_version < '4'", - "version": "==2.4.8" - }, - "markupsafe": { - "hashes": [ - "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed", - "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc", - "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2", - "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460", - "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7", - "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0", - "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1", - "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa", - "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03", - "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323", - "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65", - "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013", - "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036", - "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f", - "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4", - "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419", - "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2", - "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619", - "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a", - "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a", - "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd", - "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7", - "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666", - "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65", - "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859", - "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625", - "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff", - "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156", - "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd", - "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba", - "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f", - "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1", - "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094", - "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a", - "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513", - "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed", - "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d", - "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3", - "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147", - "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c", - "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603", - "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601", - "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a", - "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1", - "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d", - "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3", - "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54", - "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2", - "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6", - "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.2" - }, - "marshmallow": { - "hashes": [ - "sha256:90032c0fd650ce94b6ec6dc8dfeb0e3ff50c144586462c389b81a07205bedb78", - "sha256:93f0958568da045b0021ec6aeb7ac37c81bfcccbb9a0e7ed8559885070b3a19b" - ], - "markers": "python_version >= '3.7'", - "version": "==3.19.0" - }, - "marshmallow-enum": { - "hashes": [ - "sha256:38e697e11f45a8e64b4a1e664000897c659b60aa57bfa18d44e226a9920b6e58", - "sha256:57161ab3dbfde4f57adeb12090f39592e992b9c86d206d02f6bd03ebec60f072" - ], - "version": "==1.5.1" - }, - "menagerie-docs": { - "hashes": [ - "sha256:ad6ff178b3edc493b7e031d932616e4aaef788c2e796494e729fb2fb96c334eb", - "sha256:bfd5b78c8a2931983a1941ee2e96204b93e5ff90f5bbc0e0178c763de42b844f" - ], - "index": "pypi", - "version": "==0.1.14" - }, - "more-itertools": { - "hashes": [ - "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d", - "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3" - ], - "markers": "python_version >= '3.7'", - "version": "==9.1.0" - }, - "mypy-extensions": { - "hashes": [ - "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.0" - }, - "ndicts": { - "hashes": [ - "sha256:010b0c94180fe89e7e0d5fa89909c4bd7784c52d56908d4d776337c9358378e9", - "sha256:1a1f31cdb770c037c9cc9bc27a8493e43bfe035a606d3630c2e3d14eabe7bfbf" - ], - "markers": "python_version >= '3.8' and python_version < '4.0'", - "version": "==0.3.0" - }, - "packaging": { - "hashes": [ - "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2", - "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97" - ], - "markers": "python_version >= '3.7'", - "version": "==23.0" - }, - "pillow": { - "hashes": [ - "sha256:013016af6b3a12a2f40b704677f8b51f72cb007dac785a9933d5c86a72a7fe33", - "sha256:0845adc64fe9886db00f5ab68c4a8cd933ab749a87747555cec1c95acea64b0b", - "sha256:0884ba7b515163a1a05440a138adeb722b8a6ae2c2b33aea93ea3118dd3a899e", - "sha256:09b89ddc95c248ee788328528e6a2996e09eaccddeeb82a5356e92645733be35", - "sha256:0dd4c681b82214b36273c18ca7ee87065a50e013112eea7d78c7a1b89a739153", - "sha256:0e51f608da093e5d9038c592b5b575cadc12fd748af1479b5e858045fff955a9", - "sha256:0f3269304c1a7ce82f1759c12ce731ef9b6e95b6df829dccd9fe42912cc48569", - "sha256:16a8df99701f9095bea8a6c4b3197da105df6f74e6176c5b410bc2df2fd29a57", - "sha256:19005a8e58b7c1796bc0167862b1f54a64d3b44ee5d48152b06bb861458bc0f8", - "sha256:1b4b4e9dda4f4e4c4e6896f93e84a8f0bcca3b059de9ddf67dac3c334b1195e1", - "sha256:28676836c7796805914b76b1837a40f76827ee0d5398f72f7dcc634bae7c6264", - "sha256:2968c58feca624bb6c8502f9564dd187d0e1389964898f5e9e1fbc8533169157", - "sha256:3f4cc516e0b264c8d4ccd6b6cbc69a07c6d582d8337df79be1e15a5056b258c9", - "sha256:3fa1284762aacca6dc97474ee9c16f83990b8eeb6697f2ba17140d54b453e133", - "sha256:43521ce2c4b865d385e78579a082b6ad1166ebed2b1a2293c3be1d68dd7ca3b9", - "sha256:451f10ef963918e65b8869e17d67db5e2f4ab40e716ee6ce7129b0cde2876eab", - "sha256:46c259e87199041583658457372a183636ae8cd56dbf3f0755e0f376a7f9d0e6", - "sha256:46f39cab8bbf4a384ba7cb0bc8bae7b7062b6a11cfac1ca4bc144dea90d4a9f5", - "sha256:519e14e2c49fcf7616d6d2cfc5c70adae95682ae20f0395e9280db85e8d6c4df", - "sha256:53dcb50fbdc3fb2c55431a9b30caeb2f7027fcd2aeb501459464f0214200a503", - "sha256:54614444887e0d3043557d9dbc697dbb16cfb5a35d672b7a0fcc1ed0cf1c600b", - "sha256:575d8912dca808edd9acd6f7795199332696d3469665ef26163cd090fa1f8bfa", - "sha256:5dd5a9c3091a0f414a963d427f920368e2b6a4c2f7527fdd82cde8ef0bc7a327", - "sha256:5f532a2ad4d174eb73494e7397988e22bf427f91acc8e6ebf5bb10597b49c493", - "sha256:60e7da3a3ad1812c128750fc1bc14a7ceeb8d29f77e0a2356a8fb2aa8925287d", - "sha256:653d7fb2df65efefbcbf81ef5fe5e5be931f1ee4332c2893ca638c9b11a409c4", - "sha256:6663977496d616b618b6cfa43ec86e479ee62b942e1da76a2c3daa1c75933ef4", - "sha256:6abfb51a82e919e3933eb137e17c4ae9c0475a25508ea88993bb59faf82f3b35", - "sha256:6c6b1389ed66cdd174d040105123a5a1bc91d0aa7059c7261d20e583b6d8cbd2", - "sha256:6d9dfb9959a3b0039ee06c1a1a90dc23bac3b430842dcb97908ddde05870601c", - "sha256:765cb54c0b8724a7c12c55146ae4647e0274a839fb6de7bcba841e04298e1011", - "sha256:7a21222644ab69ddd9967cfe6f2bb420b460dae4289c9d40ff9a4896e7c35c9a", - "sha256:7ac7594397698f77bce84382929747130765f66406dc2cd8b4ab4da68ade4c6e", - "sha256:7cfc287da09f9d2a7ec146ee4d72d6ea1342e770d975e49a8621bf54eaa8f30f", - "sha256:83125753a60cfc8c412de5896d10a0a405e0bd88d0470ad82e0869ddf0cb3848", - "sha256:847b114580c5cc9ebaf216dd8c8dbc6b00a3b7ab0131e173d7120e6deade1f57", - "sha256:87708d78a14d56a990fbf4f9cb350b7d89ee8988705e58e39bdf4d82c149210f", - "sha256:8a2b5874d17e72dfb80d917213abd55d7e1ed2479f38f001f264f7ce7bae757c", - "sha256:8f127e7b028900421cad64f51f75c051b628db17fb00e099eb148761eed598c9", - "sha256:94cdff45173b1919350601f82d61365e792895e3c3a3443cf99819e6fbf717a5", - "sha256:99d92d148dd03fd19d16175b6d355cc1b01faf80dae93c6c3eb4163709edc0a9", - "sha256:9a3049a10261d7f2b6514d35bbb7a4dfc3ece4c4de14ef5876c4b7a23a0e566d", - "sha256:9d9a62576b68cd90f7075876f4e8444487db5eeea0e4df3ba298ee38a8d067b0", - "sha256:9e5f94742033898bfe84c93c831a6f552bb629448d4072dd312306bab3bd96f1", - "sha256:a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e", - "sha256:a2e0f87144fcbbe54297cae708c5e7f9da21a4646523456b00cc956bd4c65815", - "sha256:a4dfdae195335abb4e89cc9762b2edc524f3c6e80d647a9a81bf81e17e3fb6f0", - "sha256:a96e6e23f2b79433390273eaf8cc94fec9c6370842e577ab10dabdcc7ea0a66b", - "sha256:aabdab8ec1e7ca7f1434d042bf8b1e92056245fb179790dc97ed040361f16bfd", - "sha256:b222090c455d6d1a64e6b7bb5f4035c4dff479e22455c9eaa1bdd4c75b52c80c", - "sha256:b52ff4f4e002f828ea6483faf4c4e8deea8d743cf801b74910243c58acc6eda3", - "sha256:b70756ec9417c34e097f987b4d8c510975216ad26ba6e57ccb53bc758f490dab", - "sha256:b8c2f6eb0df979ee99433d8b3f6d193d9590f735cf12274c108bd954e30ca858", - "sha256:b9b752ab91e78234941e44abdecc07f1f0d8f51fb62941d32995b8161f68cfe5", - "sha256:ba6612b6548220ff5e9df85261bddc811a057b0b465a1226b39bfb8550616aee", - "sha256:bd752c5ff1b4a870b7661234694f24b1d2b9076b8bf337321a814c612665f343", - "sha256:c3c4ed2ff6760e98d262e0cc9c9a7f7b8a9f61aa4d47c58835cdaf7b0b8811bb", - "sha256:c5c1362c14aee73f50143d74389b2c158707b4abce2cb055b7ad37ce60738d47", - "sha256:cb362e3b0976dc994857391b776ddaa8c13c28a16f80ac6522c23d5257156bed", - "sha256:d197df5489004db87d90b918033edbeee0bd6df3848a204bca3ff0a903bef837", - "sha256:d3b56206244dc8711f7e8b7d6cad4663917cd5b2d950799425076681e8766286", - "sha256:d5b2f8a31bd43e0f18172d8ac82347c8f37ef3e0b414431157718aa234991b28", - "sha256:d7081c084ceb58278dd3cf81f836bc818978c0ccc770cbbb202125ddabec6628", - "sha256:db74f5562c09953b2c5f8ec4b7dfd3f5421f31811e97d1dbc0a7c93d6e3a24df", - "sha256:df41112ccce5d47770a0c13651479fbcd8793f34232a2dd9faeccb75eb5d0d0d", - "sha256:e1339790c083c5a4de48f688b4841f18df839eb3c9584a770cbd818b33e26d5d", - "sha256:e621b0246192d3b9cb1dc62c78cfa4c6f6d2ddc0ec207d43c0dedecb914f152a", - "sha256:e8c5cf126889a4de385c02a2c3d3aba4b00f70234bfddae82a5eaa3ee6d5e3e6", - "sha256:e9d7747847c53a16a729b6ee5e737cf170f7a16611c143d95aa60a109a59c336", - "sha256:eaef5d2de3c7e9b21f1e762f289d17b726c2239a42b11e25446abf82b26ac132", - "sha256:ed3e4b4e1e6de75fdc16d3259098de7c6571b1a6cc863b1a49e7d3d53e036070", - "sha256:ef21af928e807f10bf4141cad4746eee692a0dd3ff56cfb25fce076ec3cc8abe", - "sha256:f09598b416ba39a8f489c124447b007fe865f786a89dbfa48bb5cf395693132a", - "sha256:f0caf4a5dcf610d96c3bd32932bfac8aee61c96e60481c2a0ea58da435e25acd", - "sha256:f6e78171be3fb7941f9910ea15b4b14ec27725865a73c15277bc39f5ca4f8391", - "sha256:f715c32e774a60a337b2bb8ad9839b4abf75b267a0f18806f6f4f5f1688c4b5a", - "sha256:fb5c1ad6bad98c57482236a21bf985ab0ef42bd51f7ad4e4538e89a997624e12" - ], - "markers": "python_version >= '3.7'", - "version": "==9.4.0" - }, - "pygments": { - "hashes": [ - "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297", - "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717" - ], - "markers": "python_version >= '3.6'", - "version": "==2.14.0" - }, - "pyrsistent": { - "hashes": [ - "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8", - "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440", - "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a", - "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c", - "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3", - "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393", - "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9", - "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da", - "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf", - "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64", - "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a", - "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3", - "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98", - "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2", - "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8", - "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf", - "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc", - "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7", - "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28", - "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2", - "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b", - "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a", - "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64", - "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19", - "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1", - "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9", - "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c" - ], - "markers": "python_version >= '3.7'", - "version": "==0.19.3" - }, - "pytz": { - "hashes": [ - "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588", - "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb" - ], - "version": "==2023.3" - }, - "pyyaml": { - "hashes": [ - "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", - "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", - "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", - "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", - "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", - "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", - "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", - "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", - "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", - "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", - "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", - "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", - "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", - "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", - "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", - "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", - "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", - "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", - "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", - "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", - "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", - "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", - "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", - "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", - "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", - "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", - "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", - "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", - "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", - "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", - "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", - "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", - "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", - "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", - "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", - "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", - "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", - "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", - "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", - "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" - ], - "markers": "python_version >= '3.6'", - "version": "==6.0" - }, - "rcssmin": { - "hashes": [ - "sha256:271e3d2f8614a6d4637ed8fff3d90007f03e2a654cd9444f37d888797662ba72", - "sha256:35da6a6999e9e2c5b0e691b42ed56cc479373e0ecab33ef5277dfecce625e44a", - "sha256:42576d95dfad53d77df2e68dfdec95b89b10fad320f241f1af3ca1438578254a", - "sha256:4f9400b4366d29f5f5446f58e78549afa8338e6a59740c73115e9f6ac413dc64", - "sha256:705c9112d0ed54ea40aecf97e7fd29bdf0f1c46d278a32d8f957f31dde90778a", - "sha256:79421230dd67c37ec61ed9892813d2b839b68f2f48ef55c75f976e81701d60b4", - "sha256:868215e1fd0e92a6122e0ed5973dfc7bb8330fe1e92274d05b2585253b38c0ca", - "sha256:8a26fec3c1e6b7a3765ccbaccc20fbb5c0ed3422cc381e01a2607f08d7621c44", - "sha256:8fcfd10ae2a1c4ce231a33013f2539e07c3836bf17cc945cc25cc30bf8e68e45", - "sha256:908fe072efd2432fb0975a61124609a8e05021367f6a3463d45f5e3e74c4fdda", - "sha256:914e589f40573035006913861ed2adc28fbe70082a8b6bff5be7ee430b7b5c2e", - "sha256:a04d58a2a21e9a089306d3f99c4b12bf5b656a79c198ef2321e80f8fd9afab06", - "sha256:a417735d4023d47d048a6288c88dbceadd20abaaf65a11bb4fda1e8458057019", - "sha256:c30f8bc839747b6da59274e0c6e4361915d66532e26448d589cb2b1846d7bf11", - "sha256:c7278c1c25bb90d8e554df92cfb3b6a1195004ead50f764653d3093933ee0877", - "sha256:c7728e3b546b1b6ea08cab721e8e21409dbcc11b881d0b87d10b0be8930af2a2", - "sha256:cf74d7ea5e191f0f344b354eed8b7c83eeafbd9a97bec3a579c3d26edf11b005", - "sha256:d0afc6e7b64ef30d6dcde88830ec1a237b9f16a39f920a8fd159928684ccf8db", - "sha256:d4e263fa9428704fd94c2cb565c7519ca1d225217943f71caffe6741ab5b9df1", - "sha256:e923c105100ab70abde1c01d3196ddd6b07255e32073685542be4e3a60870c8e", - "sha256:ee386bec6d62f8c814d65c011d604a7c82d24aa3f718facd66e850eea8d6a5a1", - "sha256:f15673e97f0a68b4c378c4d15b088fe96d60bc106d278c88829923118833c20f", - "sha256:f7a1fcdbafaacac0530da04edca4a44303baab430ea42e7d59aece4b3f3e9a51" - ], - "version": "==1.1.1" - }, - "requests": { - "hashes": [ - "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa", - "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf" - ], - "markers": "python_version >= '3.7' and python_version < '4'", - "version": "==2.28.2" - }, - "rjsmin": { - "hashes": [ - "sha256:113132a40ce7d03b2ced4fac215f0297338ed1c207394b739266efab7831988b", - "sha256:122aa52bcf7ad9f12728d309012d1308c6ecfe4d6b09ea867a110dcad7b7728c", - "sha256:145c6af8df42d8af102d0d39a6de2e5fa66aef9e38947cfb9d65377d1b9940b2", - "sha256:1f982be8e011438777a94307279b40134a3935fc0f079312ee299725b8af5411", - "sha256:3453ee6d5e7a2723ec45c2909e2382371783400e8d51952b692884c6d850a3d0", - "sha256:35827844d2085bd59d34214dfba6f1fc42a215c455887437b07dbf9c73019cc1", - "sha256:35f21046504544e2941e04190ce24161255479133751550e36ddb3f4af0ecdca", - "sha256:5d67ec09da46a492186e35cabca02a0d092eda5ef5b408a419b99ee4acf28d5c", - "sha256:747bc9d3bc8a220f40858e6aad50b2ae2eb7f69c924d4fa3803b81be1c1ddd02", - "sha256:7dd58b5ed88233bc61dc80b0ed87b93a1786031d9977c70d335221ef1ac5581a", - "sha256:812af25c08d6a5ae98019a2e1b47ebb47f7469abd351670c353d619eaeae4064", - "sha256:8a6710e358c661dcdcfd027e67de3afd72a6af4c88101dcf110de39e9bbded39", - "sha256:8c340e251619c97571a5ade20f147f1f7e8664f66a2d6d7319e05e3ef6a4423c", - "sha256:99c074cd6a8302ff47118a9c3d086f89328dc8e5c4b105aa1f348fb85c765a30", - "sha256:b8464629a18fe69f70677854c93a3707976024b226a0ce62707c618f923e1346", - "sha256:bbd7a0abaa394afd951f5d4e05249d306fec1c9674bfee179787674dddd0bdb7", - "sha256:bc5bc2f94e59bc81562c572b7f1bdd6bcec4f61168dc68a2993bad2d355b6e19", - "sha256:bd1faedc425006d9e86b23837d164f01d105b7a8b66b767a9766d0014773db2a", - "sha256:ca90630b84fe94bb07739c3e3793e87d30c6ee450dde08653121f0d9153c8d0d", - "sha256:d332e44a1b21ad63401cc7eebc81157e3d982d5fb503bb4faaea5028068d71e9", - "sha256:eb770aaf637919b0011c4eb87b9ac6317079fb9800eb17c90dda05fc9de4ebc3", - "sha256:f0895b360dccf7e2d6af8762a52985e3fbaa56778de1bf6b20dbc96134253807", - "sha256:f7cd33602ec0f393a0058e883284496bb4dbbdd34e0bbe23b594c8933ddf9b65" - ], - "version": "==1.2.1" - }, - "soupsieve": { - "hashes": [ - "sha256:49e5368c2cda80ee7e84da9dbe3e110b70a4575f196efb74e51b94549d921955", - "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a" - ], - "markers": "python_version >= '3.7'", - "version": "==2.4" - }, - "typing-extensions": { - "hashes": [ - "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb", - "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4" - ], - "markers": "python_version >= '3.7'", - "version": "==4.5.0" - }, - "typing-inspect": { - "hashes": [ - "sha256:5fbf9c1e65d4fa01e701fe12a5bca6c6e08a4ffd5bc60bfac028253a447c5188", - "sha256:8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d" - ], - "version": "==0.8.0" - }, - "urllib3": { - "hashes": [ - "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305", - "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.26.15" - }, - "xmlschema": { - "hashes": [ - "sha256:0caa96668807b4b51c42a0fe2b6610752bc59f069615df3e34dcfffb962973fd", - "sha256:557f3632b54b6ff10576736bba62e43db84eb60f6465a83818576cd9ffcc1799" - ], - "markers": "python_version >= '3.7'", - "version": "==2.2.2" - } - } -} diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..adf7f493 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,179 @@ +# Astro Starter Kit: Docs Site + +```bash +npm create astro@latest -- --template docs +``` + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/docs) +[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/docs) +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/docs/devcontainer.json) + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +![docs](https://user-images.githubusercontent.com/4677417/186189283-0831b9ab-d6b9-485d-8955-3057e532ab31.png) + +## Features + +- ✅ **Full Markdown support** +- ✅ **Responsive mobile-friendly design** +- ✅ **Sidebar navigation** +- ✅ **Search (powered by Algolia)** +- ✅ **Multi-language i18n** +- ✅ **Automatic table of contents** +- ✅ **Automatic list of contributors** +- ✅ (and, best of all) **dark mode** + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:3000` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +To deploy your site to production, check out our [Deploy an Astro Website](https://docs.astro.build/guides/deploy) guide. + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). + +## Customize This Theme + +### Site metadata + +`src/consts.ts` contains several data objects that describe metadata about your site like title, description, default language, and Open Graph details. You can customize these to match your project. + +### CSS styling + +The theme's look and feel is controlled by a few key variables that you can customize yourself. You'll find them in the `src/styles/theme.css` CSS file. + +If you've never worked with CSS variables before, give [MDN's guide on CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) a quick read. + +This theme uses a "cool blue" accent color by default. To customize this for your project, change the `--theme-accent` variable to whatever color you'd like: + +```diff +/* src/styles/theme.css */ +:root { + color-scheme: light; +- --theme-accent: hsla(var(--color-blue), 1); ++ --theme-accent: hsla(var(--color-red), 1); /* or: hsla(#FF0000, 1); */ +``` + +## Page metadata + +Astro uses frontmatter in Markdown pages to choose layouts and pass properties to those layouts. If you are using the default layout, you can customize the page in many different ways to optimize SEO and other things. For example, you can use the `title` and `description` properties to set the document title, meta title, meta description, and Open Graph description. + +```markdown +--- +title: Example title +description: Really cool docs example that uses Astro +layout: ../../layouts/MainLayout.astro +--- + +# Page content... +``` + +For more SEO related properties, look at `src/components/HeadSEO.astro` + +### Sidebar navigation + +The sidebar navigation is controlled by the `SIDEBAR` variable in your `src/consts.ts` file. You can customize the sidebar by modifying this object. A default, starter navigation has already been created for you. + +```ts +export const SIDEBAR = { + en: { + 'Section Header': [ + { text: 'Introduction', link: 'en/introduction' }, + { text: 'Page 2', link: 'en/page-2' }, + { text: 'Page 3', link: 'en/page-3' }, + ], + 'Another Section': [{ text: 'Page 4', link: 'en/page-4' }], + }, +}; +``` + +Note the top-level `en` key: This is needed for multi-language support. You can change it to whatever language you'd like, or add new languages as you go. More details on this below. + +### Multiple Languages support + +The Astro docs template supports multiple languages out of the box. The default theme only shows `en` documentation, but you can enable multi-language support features by adding a second language to your project. + +To add a new language to your project, you'll want to extend the current `src/content/docs/[lang]/...` layout: + +```diff + 📂 src/content/docs + ┣ 📂 en + ┃ ┣ 📜 page-1.md + ┃ ┣ 📜 page-2.md + ┃ ┣ 📜 page-3.astro ++ ┣ 📂 es ++ ┃ ┣ 📜 page-1.md ++ ┃ ┣ 📜 page-2.md ++ ┃ ┣ 📜 page-3.astro +``` + +You'll also need to add the new language name to the `KNOWN_LANGUAGES` map in your `src/consts.ts` file. This will enable your new language switcher in the site header. + +```diff +// src/consts.ts +export const KNOWN_LANGUAGES = { + English: 'en', ++ Spanish: 'es', +}; +``` + +Last step: you'll need to add a new entry to your sidebar, to create the table of contents for that language. While duplicating every page might not sound ideal to everyone, this extra control allows you to create entirely custom content for every language. + +> Make sure the sidebar `link` value points to the correct language! + +```diff +// src/consts.ts +export const SIDEBAR = { + en: { + 'Section Header': [ + { text: 'Introduction', link: 'en/introduction' }, + // ... + ], + // ... + },, ++ es: { ++ 'Encabezado de sección': [ ++ { text: 'Introducción', link: 'en/introduction' }, ++ // ... ++ ], ++ // ... ++ }, +}; + +// ... +``` + +If you plan to use Spanish as the default language, you just need to modify the redirect path in `src/pages/index.astro`: + +```diff + +``` + +You can also remove the above script and write a landing page in Spanish instead. + +### What if I don't plan to support multiple languages? + +That's totally fine! Not all projects need (or can support) multiple languages. You can continue to use this theme without ever adding a second language. + +If that single language is not English, you can just replace `en` in directory layouts and configurations with the preferred language. + +### Search (Powered by Algolia) + +[Algolia](https://www.algolia.com/) offers a free service to qualified open source projects called [DocSearch](https://docsearch.algolia.com/). If you are accepted to the DocSearch program, provide your API Key & index name in `src/consts.ts` and a search box will automatically appear in your site header. + +Note that Algolia and Astro are not affiliated. We have no say over acceptance to the DocSearch program. + +If you'd prefer to remove Algolia's search and replace it with your own, check out the `src/components/Header.astro` component to see where the component is added. diff --git a/docs/Setup.md b/docs/Setup.md deleted file mode 100644 index c443f581..00000000 --- a/docs/Setup.md +++ /dev/null @@ -1,41 +0,0 @@ -# Setup to build docs - -## Requirements -- Python 3.10 - -## Clone the repo -Clone the entire repo and navigate to the docs folder -```shell -git clone https://github.com/xen-42/outer-wilds-new-horizons -cd outer-wilds-new-horizons/docs -``` - -## Setup Pipenv -Install pipenv if you haven't already -```shell -pip install --user pipenv -``` -Install dependencies -```shell -pipenv install --dev -``` - -## Environment Variables -- URL_PREFIX: Path to put before all links and static files, see below for recommended values - - Production and Local Builds: "/" - - PyCharm Development Server: "/outer-wilds-new-horizons/docs/out/" - -## Copy Schemas -Create a folder called `schemas` in the `docs/content/pages/` folder and copy all schemas to generate into it, make sure not to add this folder to git. -Production build automatically copies over schemas. - -## Generating -Run `generate` with pipenv -```shell -pipenv run menagerie generate -``` - -## Opening -- Production: Go to the site -- Local: Go into `docs/out` in a new terminal window and run `py -m http.server 8080` and then connect to http://localhost:8080/ -- PyCharm Development Server: Right click `out/index.html` -> Open In -> Browser -> Default diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs new file mode 100644 index 00000000..764f8ec0 --- /dev/null +++ b/docs/astro.config.mjs @@ -0,0 +1,14 @@ +import { defineConfig } from 'astro/config'; +import preact from '@astrojs/preact'; +import react from '@astrojs/react'; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + // Enable Preact to support Preact JSX components. + preact(), + // Enable React for the Algolia search component. + react(), + ], + site: `https://astro.build`, +}); diff --git a/docs/config.json b/docs/config.json deleted file mode 100644 index 3f15c8e4..00000000 --- a/docs/config.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/Bwc9876/menagerie/master/menagerie/schemas/config_schema.json", - "cache_enabled": false, - "base_url": "https://nh.outerwildsmods.com/", - "themes": { - "bootstrap": "https://bootswatch.com/5/darkly/bootstrap.min.css", - "highlight_js": "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/styles/github-dark-dimmed.min.css", - "theme": "dark" - }, - "styles": { - "base": "styles/nh_base.css" - }, - "search": { - "enabled": false, - "site": "nh.outerwildsmods.com" - }, - "brand": { - "app_name": "New Horizons", - "favicon_folder": "fav/", - "navbar_icon": "images/icon.webp", - "navbar_icon_size": [ - 29, - 29 - ], - "socials": [ - { - "name": "Discord", - "link": "https://discord.gg/wusTQYbYTc", - "icon": "discord" - }, - { - "name": "GitHub", - "link": "https://github.com/xen-42/outer-wilds-new-horizons", - "icon": "github" - }, - { - "name": "Patreon", - "link": "https://patreon.com/ownh", - "icon": "coin" - } - ], - "meta": { - "search_console_code": "SafYg2zgXPfpW4MZbkBTpAtuNs5W7N-upr08Kv6tyMo", - "description": "Documentation on how to use the New Horizons planet creation tool for Outer Wilds.", - "keywords": [ - "New Horizons", - "Outer Wilds", - "Modding", - "C#", - "Unity" - ], - "categories": [ - "games", - "utilities" - ], - "image": "images/home/home_logo.webp", - "image_alt": "The New Horizons Logo", - "theme_color": "#ffab8a", - "bg_color": "#1a1a1a" - }, - "footer": { - "show_made_with": false, - "links": [ - { - "link": "https://github.com/xen-42/outer-wilds-new-horizons/issues/new/choose", - "text": "Report an issue", - "external": true - } - ] - } - } -} diff --git a/docs/content/pages/404.md b/docs/content/pages/404.md deleted file mode 100644 index 2d3034e9..00000000 --- a/docs/content/pages/404.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -Title: Page not Found -Hide_In_Nav: True -Render_TOC: False ---- - -# Page Not Found - -The page you requested could not be found. - diff --git a/docs/content/pages/editor.md b/docs/content/pages/editor.md deleted file mode 100644 index fd314789..00000000 --- a/docs/content/pages/editor.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -Title: Config Editor -Sort_Priority: 50 ---- - -# Config Editor - -Are you tired of manually editing JSON? Do you want richer validation than a JSON schema? Well then the config editor may be for you! - -This page outlines how to install and use the config editor. - -## Installation - -To get started, head over to the [releases page for the editor](https://github.com/Outer-Wilds-New-Horizons/nh-config-editor/releases/latest) and install the file for your OS: - -- Windows: The .msi file (not the .msi.zip and .msi.zip.sig file) -- MacOS: The .AppImage file (not the .AppImage.tar.gz or the .AppImage.tar.gz.sig file) - -Follow the installer instructions to complete setup - -## Creating a New Project - -Creating a new project is as simple as clicking the button. -Fill out the form with thr info for your mod and a new project will be made at the specified path. - -## Editing Files - -To edit a file, navigate to it in the left panel and click on it. - -### JSON files - -JSON files (planets, systems, etc) have a graphical interface for editing, **this will clear comments!** - -If you don't want comments to be cleared, use the text editor - -#### Using the Text Editor - -Already familiar with JSON and prefer text-based editing? Simply open up settings (File -> Settings) and turn on the "Always use Text Editor" option. - -### Image and Audio Files - -You can view images and play audio files with this editor. - -### XML Files - -Right now, XML support is limited. You'll get syntax highlighting but no error checking or autofill. - - -## Running the Game - -You can start the game from the editor by selecting Project -> Run Project this will open a new window where you can run the game - -### Log Port - -If you're using the mod manager and would like logs to appear there, you need to get the log port from the console, it's always the first entry in the logs. Keep in mind this port changes whenever you restart the manager. - -![Get the log port]({{ "images/editor/log_port.webp"|static }}) - - -## Building - -The editor also provides a system for building your mod to a zip file, which can then be uploaded to GitHub in a release. To do this, press Project -> Build (Release) - - - diff --git a/docs/content/pages/faq.jinja2 b/docs/content/pages/faq.jinja2 deleted file mode 100644 index 717f0d4a..00000000 --- a/docs/content/pages/faq.jinja2 +++ /dev/null @@ -1,88 +0,0 @@ -{#~ Title:FAQ ~#} -{#~ Sort_Priority:95 ~#} -{#~ Render_TOC:False ~#} - - -{% macro faq(id, q, a) %} -
-

- -

-
-
- {{ ("A: " + a)|simple_md|replace('

', '

')|safe }} -

-
-
-{% endmacro %} - -

FAQ

- -
- {{ - faq( - "is-easy", - "How easy is it to make a planet mod?", - "Easy, you don't even need to know how to code! Just start off slowly and make a single planet with a few surface details. Don't try to make a full DLC-scale story mod on your first try." - ) - }} - {{ - faq( - "model-whole-planet", - "Can I model my entire planet in Blender and put it into the game?", - "Yes! Follow the instructions on the Detailing page. All you have to do is add that model as a single detail prop at the center of the planet." - ) - }} - {{ - faq( - "why-no-planet", - "Why doesn't my planet show up in game?", - "Have you checked the logs for errors? Are you using a program like [VSCode](https://code.visualstudio.com/){ target='_blank' } to write your configs that validates them against our schema to catch your errors? Do you incrementally test each new planet that you add, or did you write 10 json files and then try them all at once? If you're still not sure, come by our [Discord channel](https://discord.gg/wusTQYbYTc){ target='_blank' } (`#nh-addon-discussion`) and we'll try to help out!" - ) - }} - {{ - faq( - "ui-program", - "Will you make a UI program to generate json files in the future?", - "Yes! It's available [on GitHub](https://github.com/Outer-Wilds-New-Horizons/nh-config-editor){ target='_blank' }." - ) - }} - {{ - faq( - "when-version-1", - "When will New Horizons get to version 1.0.0.", - "It already did **BOZO**!!!!!" - ) - }} - {{ - faq( - "feature-request", - "When will (*insert feature request here*) be implemented into New Horizons?", - "If it's on the road-map, eventually. If it's not on the road-map let us know and we'll see if it's something we can consider adding." - ) - }} - {{ - faq( - "i-dont-use-reload-configs", - "It takes so long to test my mod because I keep having to restart my game whenever I change something in a config.", - "That's not a question. But go into your mod settings in game and enable Debug mode on New Horizons. Now there will be a “Reload Configs” button in your options screen that will reload all your planets without restarting your game!" - ) - }} - {{ - faq( - "rails", - "Will you ditch the physics simulation and instead track planet positions on their orbits as a function of time, effectively putting the planets on rails and thereby making the game more efficient and accurate at the expense of the game's original vision as being an actual simulation of orbital mechanics?", - "**No.**" - ) - }} - {{ - faq( - "jammer", - "Will Jammer Be Added?", - "Yes! Check **your front door**" - ) - }} -
- diff --git a/docs/content/pages/reference/_folder.json b/docs/content/pages/reference/_folder.json deleted file mode 100644 index 42d3390d..00000000 --- a/docs/content/pages/reference/_folder.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://github.com/Bwc9876/menagerie/raw/master/menagerie/schemas/folder_schema.json", - "sort_priority": 15 -} \ No newline at end of file diff --git a/docs/content/pages/reference/audio_enum.md b/docs/content/pages/reference/audio_enum.md deleted file mode 100644 index f3afe4c2..00000000 --- a/docs/content/pages/reference/audio_enum.md +++ /dev/null @@ -1,1934 +0,0 @@ ---- -Title: AudioClip Values -Description: Numbers for audio values for slide reels -Hide_In_Nav: False -Render_TOC: False ---- - -# Audio values - -These values can be used to set the sound for slide reels, signals, audio volumes, cloak volumes, and star system travel music. Normally this will be set with a parameter called "audio". - -## AudioType - -Ignore the numbers, just take what is on the left of the equals sign. - -None = 0, -Menu_RebindKey = 1, -Menu_ResetDefaults = 2, -Menu_UpDown = 3, -Menu_LeftRight = 4, -Menu_ChangeTab = 5, -Menu_Pause = 6, -Menu_Unpause = 7, -Menu_SliderIncrement = 8, -ToolScopeEquip = 100, -ToolScopeUnequip = 101, -ToolScopeSwitchFreq = 104, -ToolScopeStatic = 105, -ToolScopeHideAndSeekSignal = 106, -ToolScopeZoomAdjust = 107, -ToolScopeIdentifySignal = 108, -ToolItemScrollPickUp = 200, -ToolItemScrollDrop = 201, -ToolItemScrollInsert = 202, -ToolItemScrollRemove = 203, -ToolItemWarpCorePickUp = 204, -ToolItemWarpCoreDrop = 205, -ToolItemWarpCoreInsert = 206, -ToolItemWarpCoreRemove = 207, -ToolItemSharedStonePickUp = 208, -ToolItemSharedStoneDrop = 209, -ToolItemSharedStoneInsert = 210, -ToolItemSharedStoneRemove = 211, -ToolRepairing_LP = 300, -ToolRepairComplete = 301, -ToolTranslatorEquip = 400, -ToolTranslatorUnequip = 401, -ToolTranslateText_LP = 402, -ToolFlashlightOn = 500, -ToolFlashlightOff = 501, -ToolFlashlightFlicker = 502, -ToolProbeEquip = 600, -ToolProbeUnequip = 601, -ToolProbeLaunch = 602, -ToolProbeLaunchUnderwater = 603, -ToolProbeTakePhoto = 604, -ToolProbeTakeReversePhoto = 605, -ToolProbeRetrieve = 606, -ToolProbeFlight_LP = 607, -ToolProbeAttach = 608, -ToolProbeChangeMode = 609, -ToolMarshmallowEquip = 700, -ToolMarshmallowReplace = 701, -ToolMarshmallowIgnite = 702, -ToolMarshmallowBlowOut = 703, -ToolMarshmallowEat = 704, -ToolMarshmallowEatBurnt = 705, -ToolMarshmallowToss = 706, -PlayerSuitWearSuit = 800, -PlayerSuitRemoveSuit = 801, -PlayerSuitWearHelmet = 802, -PlayerSuitRemoveHelmet = 803, -PlayerSuitOxygenRefill = 804, -PlayerSuitOxygenLeak_In = 805, -PlayerSuitOxygenLeak_LP = 806, -PlayerSuitOxygenLeak_Out = 807, -PlayerSuitLockOn = 808, -PlayerSuitLockOff = 809, -PlayerSuitWarning = 810, -PlayerSuitCriticalWarning = 811, -PlayerSuitJetpackThrustTranslational_LP = 812, -PlayerSuitJetpackThrustRotational = 813, -PlayerSuitJetpackBoost = 814, -PlayerSuitJetpackThrustRotationalUnderwater_LP = 816, -PlayerSuitJetpackThrustUnderwater_LP = 817, -PlayerSuitRainOnHelmet = 818, -PlayerSuitNotificationTextScroll_In = 820, -PlayerSuitNotificationTextScroll_LP = 821, -PlayerSuitHelmetCrack = 822, -PlayerSuitOxygenRefill_Short = 823, -PlayerSuitPatchPuncture = 824, -PlayerSuitJetpackOxygenPropellant_LP = 825, -PlayerBreathing_LP = 850, -PlayerBreathing_LowOxygen_LP = 851, -PlayerGasp_Light = 852, -PlayerGasp_Medium = 853, -PlayerGasp_Heavy = 854, -Asphyxiate_Start_Suit = 855, -Asphyxiate_Start_NoSuit = 856, -Asphyxiate_End_Suit = 857, -Asphyxiate_End_NoSuit = 858, -Drowning_Start = 859, -Drowing_End = 860, -PlayerGasp_StopSuffocating = 861, -PlayerGasp_StopSuffocating_Suit = 862, -EnterVolumeDamageHeat_LP = 900, -EnterVolumeDamageGhostfire_LP = 901, -EnterVolumeDamageLava_LP = 902, -EnterVolumeDamageFire_LP = 903, -HazardFirstContactDamage = 904, -ElectricShock = 905, -Splash_GhostMatter = 950, -Splash_Lava = 951, -Submerge_Player = 952, -Submerge_Ship = 953, -Splash_Water_Probe = 954, -Splash_Water_Player = 955, -Splash_Water_Ship = 956, -NonDiaMapActivation = 1000, -DialogueEnter = 1001, -DialogueAdvance = 1002, -DialogueExit = 1003, -NonDiaUIAffirmativeSFX = 1004, -NonDiaUINegativeSFX = 1005, -TapeRecorder_Start = 1006, -TapeRecorder_LP = 1007, -TapeRecorder_Stop = 1008, -PlayerTurbulence_LP = 1050, -ShipTurbulence_LP = 1051, -ShipRattle_LP = 1052, -ShipReentryBurn_LP = 1053, -PLACEHOLDER = 1100, -LandingGrass = 1102, -LandingDirt = 1103, -LandingStone = 1104, -LandingMetal = 1105, -LandingNomaiMetal = 1106, -LandingSand = 1107, -LandingIce = 1108, -LandingWater = 1109, -ImpactUnderwater = 1110, -ImpactLowSpeed = 1111, -ImpactMediumSpeed = 1112, -ImpactHighSpeed = 1113, -MovementFootstep = 1114, -MovementRunningStep = 1115, -MovementGrassFootstep = 1116, -MovementDirtFootstep = 1117, -MovementStoneFootstep = 1118, -MovementMetalFootstep = 1119, -MovementNomaiMetalFootstep = 1120, -MovementSandFootstep = 1121, -MovementIceFootstep = 1122, -MovementShallowWaterFootstep = 1123, -MovementJump = 1124, -MovementWoodCreakFootstep = 1134, -MovementWoodCreakLanding = 1135, -MovementWoodFootstep = 1136, -MovementWoodLanding = 1137, -MovementSnowFootstep = 1138, -MovementSnowLanding = 1139, -MovementIceLSiding = 1140, -MovementGlassFootsteps = 1141, -MovementGlassLanding = 1142, -MovementPassingBushes = 1143, -MovementLeavesFootsteps = 1144, -MovementLeavesLanding = 1145, -MovementGravelFootsteps = 1146, -MovementGravelLanding = 1147, -KnockOverCairn = 1150, -DefaultPropImpact = 1151, -NomaiShuttleImpact = 1152, -ModelShipImpact = 1153, -ShipCockpitScopeActivate = 1200, -ShipCockpitScopeDeactivate = 1201, -ShipCockpitScopeZoomIn = 1202, -ShipCockpitScopeZoomOut = 1203, -ShipCockpitScopeSwitchFreq = 1204, -ShipCockpitScopeScreenSlide_LP = 1205, -ShipCockpitScopeScreenKachunk = 1206, -ShipCockpitMasterAlarm_LP = 1207, -ShipCockpitAutopilotActivate = 1208, -ShipCockpitAutopilotDeactivate = 1209, -ShipCockpitBuckleUp = 1210, -ShipCockpitUnbuckle = 1211, -ShipCockpitConsoleReadout_In = 1212, -ShipCockpitConsoleReadout_LP = 1213, -ShipCockpitHeadlightsOn = 1214, -ShipCockpitHeadlightsOff = 1215, -ShipCockpitLandingCamActivate = 1216, -ShipCockpitLandingCamDeactivate = 1217, -ShipCockpitLandingCamStatic_LP = 1218, -ShipCockpitProbeCameraScreenRotation = 1219, -ShipCockpitProbeActivate = 1220, -ShipCockpitProbeDeactivate = 1221, -ShipCockpitProbeLaunch = 1222, -ShipCockpitProbeLaunchUnderwater = 1223, -ShipCockpitProbeTakePhoto = 1224, -ShipCockpitProbeRetrieve = 1225, -ShipCockpitLandingCamAmbient_LP = 1226, -ShipCockpitEject = 1227, -ShipCabinUseMedkit = 1300, -ShipCabinUseRefueller = 1301, -ShipCabinComputerActivate = 1302, -ShipCabinComputerAmbient_LP = 1303, -ShipHatchOpen = 1304, -ShipHatchClose = 1305, -ShipHullGroan = 1309, -ShipCabinAmbience = 1310, -ShipEatenGroan = 1311, -ShipLogBootUp = 1350, -ShipLogAmbience_LP = 1351, -ShipLogEnterDetectiveMode = 1355, -ShipLogEnterMapMode = 1356, -ShipLogNavigate_LP = 1357, -ShipLogSelectPlanet = 1360, -ShipLogDeselectPlanet = 1361, -ShipLogMoveBetweenPlanets = 1362, -ShipLogMoveBetweenEntries = 1363, -ShipLogRevealEntry = 1365, -ShipLogHighlightEntry = 1366, -ShipLogSelectEntry = 1367, -ShipLogDeselectEntry = 1368, -ShipLogTextReveal_LP = 1370, -ShipLogMarkLocation = 1390, -ShipLogUnmarkLocation = 1391, -ShipDamageExternalTankLeak_LP = 1400, -ShipDamageElectricSparking_LP = 1401, -ShipDamageCockpitGlassCrack = 1402, -ShipDamageShipExplosion = 1403, -ShipDamageSingleElectricSpark = 1404, -ShipDamageFuelLeak_LP = 1405, -ShipDamageOxygenLeak_LP = 1406, -ShipDamageElectricalFailure = 1407, -ShipImpact_NoDamage = 1420, -ShipImpact_LightDamage = 1421, -ShipImpact_MediumDamage = 1422, -ShipImpact_HeavyDamage = 1423, -Ship_LandingPad_Soft = 1424, -Ship_LandingPad_Hard = 1425, -ShipThrustIgnition = 1500, -ShipThrustRotational = 1501, -ShipThrustRotationalUnderwater = 1502, -ShipThrustTranslational_LP = 1503, -ShipThrustTranslationalUnderwater_LP = 1504, -ShipThrustAfterburn_LP = 1505, -NomaiHologram_LP = 1550, -NomaiHologramActivate = 1551, -NomaiHologramDeactivate = 1552, -NomaiRemoteCameraAmbient_LP = 1553, -NomaiRemoteCameraEntry = 1554, -NomaiRemoteCameraExit = 1555, -NomaiComputerAmbient = 1600, -NomaiComputerRingActivate = 1601, -NomaiComputerRingDeactivate = 1602, -NomaiOrbStartDrag = 1603, -NomaiOrbDragging_LP = 1604, -NomaiOrbRolling_LP = 1605, -NomaiOrbSlotActivated = 1606, -NomaiGravCrystalAmbient_LP = 1609, -NomaiGravCrystalFlickerAmbient_LP = 1610, -NomaiGravityCannonAmbient_LP = 1611, -NomaiGravityCannonActivate = 1612, -NomaiGravityCannonDeactivate = 1613, -NomaiTractorBeamActivate = 1614, -NomaiTractorBeamDeactivate = 1615, -NomaiTractorBeamAmbient_LP = 1616, -NomaiRecorderAmbient_LP = 1617, -NomaiEscapePodDistressSignal_LP = 1618, -NomaiTextReveal_LP = 1619, -NomaiDataStream_LP = 1620, -NomaiPowerOn = 1621, -NomaiPowerOff = 1622, -NomaiLightsOn = 1623, -NomaiLightsOff = 1624, -NomaiAirLockAirPourIn = 1625, -NomaiAirLockAirPourOut = 1626, -NomaiDoorAirLockOpen = 1627, -NomaiDoorStart = 1628, -NomaiDoorStop = 1629, -NomaiDoorSlide_LP = 1630, -NomaiDoorStartBig = 1631, -NomaiDoorStopBig = 1632, -NomaiDoorSlideBig_LP = 1633, -NomaiHeadStatueRotate_LP = 1634, -NomaiPedestalSlide_LP = 1635, -NomaiPedestalContact = 1636, -NomaiEscapePodHatch = 1645, -NomaiTimeLoopOpen = 1646, -NomaiTimeLoopClose = 1647, -NomaiVesselPowerUp = 1648, -NomaiPillarRaiseLower_LP = 1649, -NomaiPillarRotate = 1650, -NomaiAirlockSlide_LP = 1651, -NomaiAirlockWaterPourOut = 1652, -NomaiAirlockWaterPourIn = 1653, -HT_SurfaceAmbience_LP = 1700, -HT_CaveAmbientBig_LP = 1702, -HT_CaveAmbientSmall_LP = 1703, -HT_SandColumnEnd_LP = 1705, -HT_SandColumnStart_LP = 1706, -HT_SandfallSmallBottom_LP = 1707, -HT_SandRiver_LP = 1708, -HT_InsideSandfall_Suit_LP = 1709, -HT_InsideSandfall_Ship_LP = 1710, -TH_ModelShipCrash = 1800, -TH_SatelliteSnapshot = 1801, -TH_RetrieveModelShip = 1803, -TH_ZeroGTrainingAllRepaired = 1804, -TH_CanyonAmbienceDay_LP = 1807, -TH_CanyonAmbienceNight_LP = 1808, -TH_HiAltitudeAmbienceDay_LP = 1809, -TH_HiAltitudeAmbienceNight_LP = 1810, -TH_ZeroGCaveAmbient_LP = 1811, -TH_UnderwaterCurrent_LP = 1812, -TH_UnderwaterAmbience_LP = 1813, -TH_MuseumAmbience_LP = 1814, -TH_BridgeCreaking_LP = 1819, -TH_Campfire_LP = 1820, -TH_FlagFlapping_LP = 1821, -TH_GeyserEnd = 1822, -TH_Geyser_LP = 1823, -TH_GeyserStart = 1824, -TH_Insects_LP = 1825, -TH_LiftActivate = 1826, -TH_LiftArrives = 1827, -TH_Lift_LP = 1828, -TH_ProjectorActivate = 1829, -TH_ProjectorRun_LP = 1830, -TH_ProjectorStop = 1831, -TH_RiverWaterFlow_LP = 1832, -TH_Waterfall_LP = 1833, -TH_WaterWheel_LP = 1834, -TH_ModelRocketThrustRotational = 1835, -TH_ModelRocketThrustTranslational_LP = 1836, -TH_Campfire_Ignite = 1837, -TH_RockingChair = 1838, -TH_BanjoTuning = 1839, -TH_PickaxeImpact = 1840, -TH_WoodCarving = 1841, -TH_RadioSignal_LP = 1842, -BH_BreakawayFragment = 1900, -BH_VolcanicMoonSurface_LP = 1901, -BH_BreakawayPlatform = 1902, -BH_MeteorImpact = 1903, -BH_BlackHoleEmission = 1904, -BH_SurfaceAmbience_LP = 1905, -BH_SubsurfaceAmbience_LP = 1906, -WHS_StationActivation = 1907, -BH_ForgeMoving_LP = 1908, -BH_MeteorLaunch = 1909, -GD_OceanSurface_LP = 2000, -GD_UnderwaterAmbient_LP = 2002, -GD_CoreAmbient_LP = 2004, -GD_ElectricBarrier_LP = 2005, -GD_Tornado_LP = 2006, -GD_Lightning = 2007, -GD_RainAmbient_LP = 2008, -GD_IslandSplash = 2009, -GD_IslandFalling = 2010, -GD_IslandLiftedByTornado = 2011, -GD_WavesBeach_LP = 2012, -GD_WavesRock_LP = 2013, -GD_CaveAmbience_LP = 2014, -GD_UnderwaterCurrent_LP = 2015, -DBAnglerfishLurking_LP = 2100, -DBAnglerfishChasing_LP = 2101, -DBAnglerfishDetectDisturbance = 2102, -DBAnglerfishDetectTarget = 2103, -DBAnglerfishBite = 2104, -DBAnglerfishChomp = 2105, -DBAnglerfishOpeningMouth = 2106, -DB_Ambience_LP = 2107, -DB_VineImpact = 2108, -CometAmbience_LP = 2200, -CometIceMelting_LP = 2201, -SolanumStaffContact = 2210, -SolanumStomp = 2211, -SolanumCairnAssembly = 2212, -SolanumCairnSettle = 2213, -SolanumSymbolReveal = 2214, -SolanumEnterWriting = 2215, -SolanumExitWriting = 2216, -SolanumEnterIcon = 2217, -SolanumExitIcon = 2218, -SolanumEnterRaiseCairn = 2219, -SolanumExitRaiseCairn = 2220, -EyeAmbience_LP = 2250, -EyeLightning = 2251, -EyeVortex_LP = 2252, -VesselAmbience_LP = 2253, -EyeVortexEntry = 2254, -EyeVortexExit = 2255, -EyeGalaxyZoom = 2260, -EyeGalaxyBlowAway = 2261, -EyeBigGalaxyBurn = 2262, -EyeShuttleFlight = 2270, -EyeShuttleIntoLight = 2271, -EyeSmokeSpherePulse = 2280, -EyeSmokeSphereCollapse = 2281, -EyeCosmicInflation = 2282, -EyeBigBang = 2283, -EyeBigBangWall_LP = 2284, -EyeSmokeSphereEntry = 2285, -EyeSphereInflation = 2286, -TravelerEsker = 2300, -TravelerChert = 2301, -TravelerRiebeck = 2302, -TravelerGabbro = 2303, -TravelerFeldspar = 2304, -TravelerNomai = 2305, -TravelerEnd_All = 2306, -TravelerEnd_NoPiano = 2307, -SingularityCreate = 2400, -SingularityCollapse = 2401, -SingularityOnPlayerEnterExit = 2402, -SingularityOnObjectEnter = 2403, -SingularityOnObjectExit = 2404, -Singularity_BlackHole_LP = 2405, -Singularity_WhiteHole_LP = 2406, -VesselSingularityCreate = 2407, -VesselSingularityCollapse = 2408, -Sun_Ambience_LP = 2412, -Sun_Explosion = 2413, -Sun_SupernovaWall_LP = 2414, -Sun_Collapse = 2415, -QuantumAmbience_LP = 2424, -WhiteHoleAmbience_LP = 2425, -BlackHoleAmbience_LP = 2426, -TimelineEndEffect_Shadow = 2427, -TimelineEndEffect_Cracks = 2428, -TimelineEndEffect_Shatter = 2429, -FigBackerVideo = 2440, -CometPurr = 2441, -Death_Instant = 2450, -Death_Crushed = 2451, -Death_Energy = 2452, -Death_Digestion = 2453, -Death_TimeLoop = 2454, -Death_Self = 2455, -Death_BigBang = 2456, -Death_Lava = 2457, -Death_CrushedByElevator = 2458, -MemoryUplink_Start = 2460, -MemoryUplink_End = 2461, -MemoryUplink_LP = 2462, -MemoryUplink_Overlay_LP = 2463, -Flashback_End = 2465, -Flashback_Base_LP = 2466, -Flashback_Overlay_1_LP = 2467, -Flashback_Overlay_2_LP = 2468, -NomaiRuinsBaseTrack = 2500, -NomaiRuinsBaseScaryTrack = 2501, -NomaiRuinsOverlayTracks = 2502, -HT_City = 2503, -TH_Observatory = 2504, -TH_Village = 2505, -BH_Observatory = 2506, -GD_UnderwaterExploration = 2507, -QM_Ambient = 2508, -DB_Ambient = 2509, -TimeLoopDevice_Ambient = 2510, -EndOfTime = 2511, -EndOfTime_DBFinal = 2512, -EndOfTime_Final = 2513, -Travel_Theme = 2514, -SunStation = 2515, -SadNomaiTheme = 2516, -DB_VesselDiscovery = 2517, -EYE_ForestOfGalaxies = 2518, -EndOfTime_Final_LP = 2519, -EYE_QuantumFoamApproach = 2520, -EYE_EndOfGame = 2521, -MainMenuTheme = 2522, -FinalCredits = 2523, -PostCredits = 2524, -KazooTheme = 2525, -Raft_Impact_Light = 2550, -Raft_Impact_Medium = 2551, -Raft_Impact_Heavy = 2552, -Raft_Push = 2553, -Raft_Reel_Start = 2554, -Raft_Reel_Loop = 2555, -Raft_Reel_End = 2556, -Raft_Socket = 2557, -Raft_Release = 2558, -Raft_RunAground = 2559, -Raft_Move_Start = 2560, -Raft_Move_Loop = 2561, -Raft_Move_End = 2562, -Raft_Impact_Player = 2563, -Raft_DW_Turbo = 2564, -Door_SensorSliding_Loop = 2570, -Door_Loop = 2571, -Door_Loop_Creaking = 2572, -Door_OpenStart = 2573, -Door_OpenStop = 2574, -Door_CloseStart = 2575, -Door_CloseStop = 2576, -Door_Metal_OpenStart = 2577, -Door_Metal_OpenStop = 2578, -Door_Metal_CloseStart = 2579, -Door_Metal_CloseStop = 2580, -Door_Small_OpenStart = 2581, -Door_Small_OpenStop = 2582, -Door_Small_CloseStart = 2583, -Door_Small_CloseStop = 2584, -SecretPassage_Start = 2590, -SecretPassage_Loop = 2591, -SecretPassage_Stop = 2592, -Airlock_Open = 2593, -Airlock_Loop = 2594, -Airlock_Close = 2595, -Airlock_Pressurize = 2596, -Airlock_Depressurize = 2597, -AirRushingOut = 2598, -SlideReel_Pickup = 2600, -SlideReel_Drop = 2601, -SlideReel_Insert = 2602, -SlideReel_Remove = 2603, -Lantern_Pickup = 2604, -Lantern_Drop = 2605, -Lantern_Insert = 2606, -Lantern_Remove = 2607, -Lantern_ShortOut = 2608, -Artifact_Pickup = 2609, -Artifact_Drop = 2610, -Artifact_Light = 2611, -Artifact_Extinguish = 2612, -Artifact_Conceal = 2613, -Artifact_Unconceal = 2614, -Artifact_Focus = 2615, -Artifact_Unfocus = 2616, -Artifact_Crackling_Loop = 2617, -Artifact_Insert = 2618, -Artifact_Remove = 2619, -VisionTorch_ProjectionOn = 2620, -VisionTorch_ProjectionOff = 2621, -VisionTorch_EnterVision = 2622, -VisionTorch_ExitVision = 2623, -VisionTorch_NextSlide = 2624, -VisionTorch_Scanning_Loop = 2625, -VisionTorch_Crackling_Loop = 2626, -VisionTorch_Give = 2627, -VisionTorch_Take = 2628, -DamBreak_RW_Base = 2650, -DamBreak_DW_Base = 2651, -DamBreak_RW_Water = 2652, -DamCrack = 2653, -DamCrack_Loop = 2654, -WaterSpray_Small = 2660, -WaterSpray_Large = 2661, -Splash_Medium = 2662, -Splash_Large = 2663, -WoodDebris = 2670, -WoodImpact_Small = 2671, -WoodImpact_Large = 2672, -HouseCollapse_Zone3 = 2673, -GeneralDestruction = 2674, -HouseDestruction = 2675, -StiltDestruction = 2676, -Tower_RW_Tilt = 2680, -Tower_RW_Fall_1 = 2681, -Tower_RW_Fall_2 = 2682, -Tower_DW_Tilt = 2683, -Tower_DW_Fall_1 = 2684, -Tower_DW_Fall_2 = 2685, -Tower_RW_Splash = 2686, -SolarSail_RW_Start = 2690, -SolarSail_RW_End = 2691, -SolarSail_RW_Loop = 2692, -SolarSail_DW_Start = 2693, -SolarSail_DW_End = 2694, -SolarSail_DW_Loop = 2695, -StationFlicker_RW = 2696, -StationFlicker_DW = 2697, -StationShudder_RW = 2698, -StationShudder_DW = 2699, -River_DW_Base = 2700, -FloodWave_DW_Loop = 2701, -River_DW_Lake = 2703, -Candle_Light_Big = 2719, -Candle_Light_Small = 2720, -Candle_Extinguish = 2721, -DreamFire_Crackling_Loop = 2722, -DreamFire_Extinguish = 2723, -DreamFire_Explosion = 2724, -LodgeFire_Crackling_Loop = 2725, -ProjectorTotem_Pulse = 2729, -ProjectorTotem_Light = 2730, -ProjectorTotem_Extinguish = 2731, -ProjectorTotem_Blow = 2732, -GrappleTotem_Zoom = 2733, -GrappleTotem_RetroZoom = 2734, -Simulation_Enter = 2739, -Simulation_Exit = 2740, -IllusoryWall_Enter = 2741, -IllusoryWall_Exit = 2742, -LoadingZone_Enter = 2743, -LoadingZone_Exit = 2744, -LoadingZone_GlitchOut = 2745, -LoadingZone_Loop = 2746, -Glitch_Loop = 2747, -Sarcophagus_OpenFail = 2760, -Sarcophagus_Open = 2761, -Sarcophagus_SomethingIsComing = 2762, -Sarcophagus_TunnelAmbience = 2763, -Sarcophagus_LightsOnAmbience = 2764, -Ambience_DW_Base = 2775, -Ambience_DW_LightsOut = 2776, -Ambience_DW_Hotel = 2777, -Ambience_DW_Nature = 2778, -Ambience_DW_Forest = 2781, -Ambience_DW_Simulation = 2782, -Ambience_DW_Underground = 2784, -Ambience_DW_FireRoom = 2787, -PointSounds_DW_TreeCreak = 2790, -PointSounds_DW_Creature_1 = 2791, -PointSounds_DW_Creature_2 = 2792, -PointSounds_DW_Hotel_2 = 2795, -AlarmChime_RW = 2798, -AlarmChime_DW = 2799, -LightSensor_On = 2800, -LightSensor_Off = 2801, -LightSensor_Loop = 2802, -Projector_Prev = 2803, -Projector_Next = 2804, -Cloak_Entry = 2805, -Cloak_Exit = 2806, -GearRotate_Light = 2807, -GearRotate_Heavy = 2808, -GearRotate_Fail = 2809, -CodeTotem_Horizontal = 2810, -CodeTotem_Vertical = 2811, -CageElevator_Start = 2817, -CageElevator_Loop_Winch = 2818, -CageElevator_End = 2819, -CageElevator_Loop_Rattle = 2820, -Ambience_RW_Lab = 2873, -Ambience_RW_Tunnel = 2874, -Ambience_RW_FireRoom = 2875, -Ambience_RW_Base = 2876, -Ambience_RW_Cave = 2877, -Ambience_RW_Indoor = 2878, -River_RW_Base = 2879, -River_Underwater = 2880, -River_Reservoir = 2881, -River_Rapids = 2882, -River_Underwater_Rapids = 2883, -FloodWave_RW_Loop = 2884, -River_RW_Small = 2885, -River_RW_Stream = 2886, -PostCredit_RuinReveal = 2887, -PostCredit_LanternLight = 2889, -RaftTravel_River = 2890, -RaftTravel_Reservoir = 2891, -GhostSequence_ReducedFrights = 2895, -GhostSequence_Suspense = 2896, -GhostSequence_Dread = 2897, -GhostSequence_Fear = 2898, -GhostSequence_Fear_Slam = 2899, -EndOfTime_Dream = 2900, -StationDiscovery = 2901, -DreamFireRoom = 2902, -EyeTemple_Stinger = 2903, -EyeTemple_Basement = 2904, -SlideBurningRoom = 2905, -SubmergedStructure = 2906, -SecretLibrary = 2907, -DreamRuinsOverlayTracks = 2908, -DreamRuinsBaseTrack = 2909, -TravelerPrisoner = 2910, -TravelerEnd_All_Prisoner = 2911, -TravelerEnd_NoPiano_Prisoner = 2912, -Prisoner_Elevator = 2913, -Prisoner_Reveal = 2914, -Prisoner_Catharsis = 2915, -SecretPortrait = 2916, -SecretKorok = 2917, -PartyHouse_Traveler = 2920, -PartyHouse_Vocals = 2921, -PartyHouse_Drone = 2922, -PartyHouse_Bass = 2923, -Reel_Secret_Backdrop_A = 2924, -Reel_Secret_Backdrop_B = 2925, -Reel_Secret_Beat_Peephole_A = 2926, -Reel_Secret_Beat_Peephole_B = 2927, -Reel_Secret_Beat_Tower_A = 2928, -Reel_Secret_Beat_Tower_B = 2929, -Reel_Secret_Beat_Lantern = 2930, -Reel_Lab_Backdrop_Fail = 2933, -Reel_Lab_Backdrop_Success = 2934, -Reel_Lab_Backdrop_Testing = 2935, -Reel_Backdrop_Burnt = 2938, -Reel_1_Backdrop_A = 2940, -Reel_1_Beat_A = 2945, -Reel_1_Beat_B = 2946, -Reel_1_Beat_C = 2947, -Reel_2_Backdrop_A = 2950, -Reel_2_Backdrop_B = 2951, -Reel_2_Beat_A = 2955, -Reel_2_Beat_B = 2956, -Reel_2_Beat_C = 2957, -Reel_2_Beat_D = 2958, -Reel_3_Backdrop_A = 2960, -Reel_3_Backdrop_B = 2961, -Reel_3_Backdrop_C = 2962, -Reel_3_Beat_A = 2965, -Reel_3_Beat_B = 2966, -Reel_3_Beat_C = 2967, -Reel_3_Beat_D = 2968, -Reel_4_Backdrop_A = 2970, -Reel_4_Beat_A = 2975, -Reel_4_Beat_B = 2976, -Reel_4_Beat_C = 2977, -Reel_4_Beat_D = 2978, -Reel_5_Long = 2980, -Reel_5_Short = 2981, -Reel_Farewell = 2985, -Reel_Rule_Beat_DarkDiscovery = 2986, -Reel_Rule_Backdrop_Discovery = 2987, -Reel_Rule_Beat_Discovery = 2988, -Reel_Rule_Backdrop_Dream = 2989, -Reel_Rule_Backdrop_Normal = 2990, -Reel_Rule_Backdrop_Glitch = 2991, -Reel_LibraryPath_Backdrop = 2992, -Reel_Rule2a_Beat_A = 2993, -Reel_Seal_Backdrop = 2994, -Reel_Burning_Backdrop_A = 2995, -Reel_Burning_Backdrop_B = 2996, -Reel_Burning_Beat_A = 2997, -Reel_Burning_Beat_B = 2998, -Reel_Burning_Beat_C = 2999, -Ghost_DeathGroup = 3000, -Ghost_DeathSingle = 3001, -Ghost_Grab_Swish = 3002, -Ghost_Grab_Contact = 3003, -Ghost_BlowOut_Charge = 3004, -Ghost_BlowOut_Extinguish = 3005, -Ghost_NeckSnap = 3006, -Ghost_Identify_Curious = 3010, -Ghost_Identify_Irritated = 3011, -Ghost_Identify_Fail = 3012, -Ghost_Chase = 3013, -Ghost_Stalk = 3014, -Ghost_Hunt = 3015, -Ghost_HuntFail = 3016, -Ghost_Grab_Scream = 3017, -Ghost_Stalk_Fast = 3018, -Ghost_Grab_Shout = 3019, -Ghost_SomeoneIsInHereHowl = 3020, -Ghost_IntruderConfirmed = 3021, -Ghost_IntruderConfirmedResponse = 3022, -Ghost_CallForHelp = 3023, -Ghost_CallForHelpResponse = 3024, -Ghost_Laugh = 3025, -Ghost_Footstep_Wood = 3030, -Ghost_Footstep_Wood_Running = 3031, -Ghost_Footstep_Forest = 3032, -Ghost_Footstep_Forest_Running = 3033, -Ghost_Footstep_Gravel = 3034, -Ghost_Footstep_Wood_Stompy = 3035, -Prisoner_ReactToVision_Vocals = 3050, -Prisoner_RevealToStand_Vocals_1 = 3051, -Prisoner_RevealToStand_Vocals_2 = 3052, -Prisoner_PickUpArtifact = 3053, -Prisoner_PickUpTorch = 3054, -Prisoner_ClothFoley = 3055 - -## AudioClip values - -This is a list of AudioClips that will also work, there's a lot of overlap with the AudioType list. Many old addons with signals use values from this list. - - - Hotel Oneshot - Heavy Thud 4 - - Tool_Put_Away_01 - - OW Quantum Lightning 091118 AP 07 - - OW_GD_ElectricBarrier_Idle_Loop - - Nomai_Stone_Door_End_V2_11 - - General Destruction 1 - - Dream Rule 02 backdrop loop 072321_2 AP - - amb_observatory - - Dream World Water Ambience - Creek 3 - - Pickup_Rock_01 - - gasp_traumatic4_lessmale - - Ship_Impact_Light_Damage_V3_06 - - BlackHole_02 - - OW_GD_WavesAgainstRock - - OW_TH_AmbienceInCanyons - - OW_PR_FootstepsBushRustle_03 - - OW_PR_ActivateProbeMode - - Ghost Walk Footstep Wood_v2 6 - - rockingchair4 - - Water Spray Impact 4 - - OW Secret Library 040821_2 AP - - Real World Dam Break Alex Composite 2 - - Ghost Run Footstep Wood_v2 4 - - UI_Enter_Dialog_V6-002_highpass_2 - - Spark_10 - - Mournful Prisoner 3 - - OW_PR_FootstepsLeaves_06 - - FootstepsWoodCreak_02 - - OW Dreamworld Ruins 072021 AP 02c - - OW_PR_HitWallUnderwater1 - - OW_TH_RiverWaterFlow_loop - - OW ReelBeat 01c 021021 AP - - FootstepsWoodCreak_07 - - Ignite_Marshmallow_03 - - Marshmallow_Replace_02 - - Ship_FuelLeak - - Raft Heavy Impact 5 - - elevatorloop - - Real World Alarm Bell Oneshot 3 - - BigBang_EndFlash - - OW_FinalEndTimes_DB_loop - - fogsphere_pulse4 - - Ringworld Ambience 3 - - Destruction Impact 4 - - Artifact Unconceal - - OW_NM_DoorStart_06 - - OW_PR_SignalscopeZoomOut - - Nomai_Stone_Door_End_Big_V2_03 - - Player Gravel Footstep 3 - - General Destruction 5 - - OW Dream Fire Room 121820_4 AP LP - - OW_PR_DeactivateProbeMode - - OW_PR_LandInWater4 - - OW_PR_FootstepsJumpNomai_04 - - OW_PR_FootstepsJumpMetal_03 - - WarpCore_Remove_V3_01 - - Probe_SnapShot_03 - - Ghost Idle Search 4 - - Solanum_Foley_IconExit - - Dream Fire Room Ambience Test 1 - - Lantern Extinguish 4 - - OW_PR_OxygenLeakingFromSuit_loop_louder - - Wood Door Open Stop - - OW_PR_FootstepsJumpGrass_01 - - OW_SP_ThrustAfterburn - - OW_PR_FootstepsGrass_01 - - Real World Alarm Bell Oneshot 4 - - OW_PR_FootstepsNomai_04 - - Hotel Oneshot - Heavy Thud 2 - - Light Sensor Fade In 4 - - AnglerFish_OpenMouth_v2_01 - - Footstep_Run4 - - Ghost Walk Footstep Forest 6 - - OW_PR_FootstepsGrass_06 - - OW_GD_AmbienceRain - - RotationalThruster04 - - OW New Raft Music 082321_4 AP theme - - Spark_01 - - OW Muted End Times 040821 AP - - Nomai_WhiteHoleStationActivation - - Tool_Take_Out_02 - - OW_PR_FootstepsJumpDirt_05 - - mallowpuff2 - - Dreamworld Tower Fall Part 2 - - Jump_Into_Fogsphere_04 - - FootstepsWoodCreak_05 - - OW_SP_MetalCreak_14 - - OW_NM_DoorStart_03 - - drowning_firsthalf2 - - Forest Oneshot - Tree Creak 4 - - shiplog_misc1 - - FootstepsWoodCreak_04 - - Real World Dam Crack - - OW_NM_DoorStart_09 - - OW_SP_LandingPadHard4 - - OW_PR_FootstepsSand_06 - - BH_Ambience_Surface - - Ghost Grunt 3 - - glass_crack_02 - - House Destruction 3 - - OW_QuantumMoon - - Orb_Roll_Energy_Loop_v2_01 - - OW Eye Of The Universe 082018_2 AP - - Footstep3 - - OW_NM_DoorStart_Big_01 - - OW Dreamworld Ruins Story Beats 071621 AP 1d - - Dream World Tidal Wave Loop - - Nomai_Stone_Door_End_Big_V2_15 - - OW_SP_ActivateComputer 1 - - OW_PR_FootstepsIce_07 - - Raft Light Impact V2 3 - - UI_Pause_v2_08 - - signalscope_static - - OW_SP_LandingCamActivated 1 - - Footstep4 - - OW_PR_FootstepsSand_03 - - Prisoner Pick Up Vision Torch - - OW_SP_MetalCreak_16 - - OW_SP_Touchdown_04 - - Platform_Break_V2_03 - - OW Nomai Time Loop Device 081818 AP - - RockPile_Fall_02 - - Ship_Impact_No_Damage_V3_02 - - Destruction Impact 7 - - Ghost Grab Player 2 - - Forest Oneshot - Tree Creak 5 - - OW_PR_FootstepsMetal_01 - - OW NM Flashback 082818_3 AP base - - Projector Totem Light 2 - - Slot_Linking_Stone_Loop_02 - - breathing_suit3 - - OW_PR_FootstepsWood_07 - - OW_SP_HeadlightsOff_v2 - - Nomai_Stone_Door_End_V2_06 - - Fix_Puncture_03 - - OW Dream Rule LP 032421 AP glitch - - Real World Tidal Wave Loop Louder - - OW Dreamworld Ruins 072021 AP 02loop - - gasp_normal11_lessmale - - OW ReelBeat 01a 021021 AP - - OW_TH_ModelRocketThrustRotational_01 - - OW_PR_FootstepsBushRustle_05 - - OW NomaiRuinsRegular 081918 AP motif3c v2 - - OW Final End Times 022519_2 AP LOOP1 - - OW_PR_FootstepsSand_01 - - Anglerfish_Awake4 - - OW_PR_FootstepsJumpIce_04 - - Fix_Puncture_01 - - Raft Light Impact V2 1 - - Warp_Loop_01_v2 - - Ghost Start Hunt Grunt 1 - - Destruction Debris 4 - - Solanum_IconAppear_V3 - - OW_SP_ActivateComputer_OneShot - - Destruction Impact 8 - - OW_SP_ShipGroan1_v2 - - OW ReelBackdrop 02a 021021 AP - - OW_NM_ComputerRing1 - - OW_PR_FootstepsJumpGlass_04 - - Forest Oneshot - Tree Creak 6 - - OW_GD_HeatLightning_01 - - Raft Heavy Impacts V2 3 - - Solanum_Foley_RockFormStart - - Raft Light Impact V2 5 - - Ghost Grunt 4 - - OW_PR_FootstepsJumpDirt_06 - - OW_PR_FootstepsJumpGrass_03 - - OW_TravelerTheme_whistling - - Raft Heavy Impact 2 - - Nature Oneshot - Distant Deep Creature 1 - - OW_SP_CloseHatch_v2 - - linkingstone_in - - OW_PR_FootstepsSnow_03 - - OW_NM_OrbDeSelect_Energy_02 - - Impact_Light_02 - - Nomai_Stone_Door_End_V2_10 - - Fix_Puncture_07 - - OW_NM_HoleEnterExit - - OW NM Nomai Ruins 081718 AP - - OW_PR_OxygenRefill - - GhostMatter_Splash_v4_05 - - glass_crack_01 - - Ignite_Marshmallow_02 - - Ship_Impact_Medium_Damage_V3_03 - - Forest Oneshot - Animal 4 - - OW_PR_FootstepsIce_02 - - OW_GD_RainOnHelmet - - Spaceship_RattleLoop - - BigBang_WhooshLeadToExplo - - OW_TH_Campfire_loop_01 - - bigbang_cosmicinflation_v2 - - Hotel Oneshot - Heavy Creak 4 - - OW_PR_FootstepsJumpGrass_02 - - Tronworld Ambience 1 - - AnglerFish_Target_v2_07 - - Eye_of_Universe_Ambience_v2_01 - - OW_PR_FootstepsJumpLeaves_04 - - OW_PR_FootstepsJumpSnow_03 - - OW_PR_FootstepsJumpGlass_01 - - OW Traveler Theme 091118 AP FINAL TIME NO PIANO EDIT - - OW ReelBeat 02f 082521 AP - - Metal Door Close Stop - - medkit - - OW_NM_BlackHole_Lp - - Ghost Blow Out Lantern - - OW_PR_MarshmallowEatBurnt_shorter - - Solanum_Foley_IconEnter - - OW_PR_SignalscopeSwitchFrequencies - - Prisoner Pick Up Artifact - - OW_PR_BanjoStrum_3b - - Water Spray Impact 5 - - UI_Advance_Dialog_V6-002_highpass - - Destruction Debris 8 - - OW_PR_FootstepsDirt_06 - - Vision Torch - Step In - - OW_NM_DoorStart_Big_04 - - OW_PR_FootstepsBushRustle_06 - - Hotel Oneshot - Creak 5 - - OW_PR_FootstepsJumpLeaves_01 - - OW_SP_ShipGroan4_v2 - - Jump_Into_Fogsphere_03 - - Dreamworld Forest Ambience 2 - - OW_PR_FootstepsJumpRock_02 - - CrushedByElevator - - Player Gravel Footstep 1 - - House Destruction 4 - - Ghost Begin Stalk Grunt 1 - - flashlightOff - - OW ReelBeat 04b_2 040921 AP - - OW_PR_FootstepsRock_02 - - AshTwinCore_Open_01 - - OW_SP_HeadlightsOn_v2 - - Tower Fall Part 2 - - OW_NM_DoorStart_Big_02 - - Meteor_Impact_01_b - - OW_SP_LandingCamStatic - - OW_PR_FootstepsWood_01 - - gasp_light5 - - OW_PR_FootstepsGrass_03 - - Spark_03 - - Loading Tunnel - Loop - - FootstepsJumpWoodCreak_02 - - OW_Main_Menu - - Lantern Put Down - - OW Secret Library Whispers LP 040821 AP REF MIX - - OW_DB_Ambience - - Vision Torch Light Rays - On - - Hotel Oneshot - Creak 1 - - Dreamworld Nature Ambience 4 - - OW_PR_ThrustRotationalUnderwater_04 - - OW_PR_FootstepsJumpGrass_06 - - Nomai_Stone_Door_End_Big_V2_09 - - Ship_Impact_No_Damage_V3_01 - - Raft Movement Stop 3 - - Destruction Impact 9 - - Recorder_Start_Button - - AnglerFish_Target_v2_14 - - Ghost Begin Chase Grunt 2 - - Hotel Oneshot - Creak 6 - - Fragment_Break - - Tronworld Exit 2 - - Ghost Walk Footstep Forest 2 - - Incinerate_v3_01 - - Light Sensor Fade Out 3 - - OW_TravelerTheme_flute - - OW_PR_FootstepsLeaves_02 - - OW_PR_FootstepsLeaves_01 - - Fix_Puncture_05 - - Ghost Walk Footstep Wood_v2 3 - - OW_PR_FootstepsJumpSand_01 - - Sarcophagus Strain 2 - - OW_PR_HitWallUnderwater4 - - OW_PR_FootstepsRock_03 - - Loading Tunnel - Unload - - OW_PR_FootstepsJumpNomai_03 - - OW_PR_FootstepsDirt_07 - - OW_PR_FootstepsSnow_04 - - Wood Door Close Stop - - OW_PR_FootstepsJumpIce_02 - - OW ReelBeat 04a 031521 AP - - Raft Light Impact V2 2 - - Meteor_Impact_02_b - - JellyFish_Shock_02 - - Metal Door Open Start - - OW_GD_UnderwaterCurrent - - OW_GD_HeatLightning_06 - - nomai_textbranchout_noenergy2 - - asphyxiation_nosuit_secondhalf_version3 - - Artifact Focus - - Ice_Cave_Amb_loop_v3_01 - - Forest Oneshot - Tree Creak 3 - - OW NomaiRuinsRegular 081918 AP motif4c - - Dreamworld Lights Out Ambience 4 - - Projector Next Slide 2 - - BeaconIdea4 - - Destruction Impact 1 - - OW_PR_FootstepsNomai_06 - - OW_NM_FlickeryGravityCrystalAmbience - - OW Demonic Vocal Sting 082321 AP - - OW Quantum Lightning 091118 AP 08 - - OW_NM_SadTheme_older - - Nature Oneshot - Distant Creature 2 - less reverb - - FootstepsJumpWoodCreak_03 - - OW_PR_FootstepsJumpSand_02 - - Player Gravel Footstep 8 - - OW_PR_FootstepsSnow_06 - - gasp_traumatic3_lessmale - - Real World Dam Break Water Oneshot - - Repair_Loop - - OW_TH_FlagFlapping_loop._01 - - Ship_Impact_Light_Damage_V3_02 - - Raft Socket - - Jump_Into_TinyGalaxy_v2_01 - - OW NomaiRuinsRegular 081918 AP motif7c - - gasp_normal13_lessmale - - Sandfall_Inside_Loop_01 - - Solanum_RocksForm - - Fix_Puncture_06 - - OW Dreamworld Ruins Story Beats 071621 AP 1h - - Sarcophagus Open 2 - - fogsphere_pulse2 - - Elevator Rattle Loop 3 - - IllusoryWall_Alex - - OW_GD_HeatLightning_04 - - Nomai_Stone_Door_End_Big_V2_14 - - OW_PR_FootstepsJumpMetal_01 - - Vine_Crash_V3_03_LowPassDelay - - OW_PR_BanjoStrum_2b - - OW_PR_FootstepsGlass_05 - - OW_PR_FootstepsLeaves_07 - - OW_NM_DoorStart_01 - - OW_PR_FootstepsGrass_05 - - OW_PR_FootstepsJumpIce_01 - - OW_PR_ThrustRotationalUnderwater_01 - - Anglerfish_Chase_Breathing - - OW_PR_FootstepsRock_04 - - Metal Door Close Start - - Gear Rotate 1 - - Airlock Loop - - Solanum_Foley_RockFormEnd - - mallowpuff3 - - OW_PR_FootstepsSand_05 - - OW_PR_FootstepsJumpRock_01 - - Artifact Unfocus - - OW Eye Of The Universe 082818_2 AP - - OW_PR_FootstepsJumpRock_03 - - galaxy_zoomout2 - - OW_GD_IslandFalling_v2_loop - - Projector Previous Slide 2 - - Ignite_CampFire_04 - - SpaceshipAlarm2_3Iterations - - Ghost Individual Death 3 - - OW_PR_FootstepsJumpNomai_01 - - OW_PR_FootstepsJumpSnow_01 - - Forest Oneshot - Animal 2 - - OW_PR_FootstepsJumpDirt_01 - - Dreamworld Tower Fall Part 1 - - Ship_Impact_Medium_Damage_V3_05 - - OW_NM_ComputerRing3 - - OW_PR_SuitOn - - Airlock Pressurize - - OW_PR_FootstepsBushRustle_01 - - OW_PR_FootstepsNomai_02 - - Ship_Impact_Medium_Damage_V3_04 - - OW_NM_VesselDiscovery - - PlayerSubmerge - - Player Gravel Footstep 5 - - OW_EndTimes - - HGT_SandColumn_Ship - - OW ReelBeat 02c 021021 AP - - Spark_09 - - OW_PR_FootstepsSand_02 - - Damage_Light_05 - - OW_NM_ComputerRingFall2 - - gasp_traumatic7_lessmale - - Ghost Investigation Grunt - - Dream World Alarm Bell Oneshot 2 - - rockingchair2 - - OW_PR_FootstepsJumpDirt_04 - - Projector Next Slide - - OW_PR_FootstepsSand_08 - - OW_NM_WHAmbience2_v2 - - drowning_secondhalf2 - - Ghost Walk Footstep Forest 1 - - Prisoner Cloth Foley 3 - - OW_PR_FootstepsGlass_03 - - Vision Torch Scanning - Loop - - Raft Medium Impact V2 2 - - Hotel Oneshot - Heavy Thud 3 - - Destruction Impact - Large 4 - - OW_PR_FootstepsJumpLeaves_03 - - OW_PR_FootstepsJumpSand_03 - - OW Dreamworld Ruins SILENCE 02 - - OW_PR_FootstepsWood_06 - - ModelRocket_LightImpact - - shiplog_scanningloop - - OW Ghost Ambiences v2 011221 AP low LP - - OW NomaiRuinsRegular 081918 AP motif2c - - glass_crack_03 - - Fix_Puncture_08 - - OW_PR_FootstepsSnow_01 - - OW_PR_FootstepsDirt_01 - - asphyxiation_nosuit_firsthalf1 - - OW_NM_DoorSlide_Big_LP_01 - - OW_SUN_SupernovaWall - - OW_NM_DoorAirLockAirPourOut_03 - - OW_PR_ThrustUnderwater - - Solar Sail Stop - - OW_TH_Waterwheel_loop - - Forest Oneshot - Tree Creak 1 - - OW ReelBackdrop 03a 050321 LOOP - - Platform_Break_V2_04 - - FireBall_01 - - OW ReelBackdrop 01a 022521 AP - - Dreamworld Lights Out Ambience 1 - - Nomai_Stone_Door_End_Big_V2_11 - - Spark_07 - - OW_SP_ThrustTranslationalUnderwater - - Dream World Water Ambience - Creek 1 - - Ghost Begin Stalk Grunt 2 - - Comet_Purr - - JellyFish_Shock_04 - - OW_PR_FootstepsWood_08 - - Raft Reeling Loop - - shiplog_switchmode_forward - - Station Light Flicker - Dreamworld - - Lantern Wake Up Light 3 - - flashlightOn - - Dreamworld Base Ambience 1 - - Ship_Impact_Heavy_Damage_V3_09 - - Crushed_To_Death_V2_01 - - ow_kazoo_theme - - JetPack_NotificationBeep - - Ghost Run Footstep Wood_v2 1 - - OW_PR_FootstepsJumpNomai_05 - - OW_NM_DataStream_v2 - - UI_Tab_v2_02 - - OW_PR_ProbeTakePicture - - OW_NM_GravityCannonAmbience - - OW NM Flashback 082818 AP loop - - OW_SP_LandingPadSoft4 - - OW_PR_FootstepsGlass_07 - - WarpCore_Insert_V3_01 - - OW_NM_TractorBeamLP - - ShipRepair_Finish - - Ghost Begin Chase Grunt 1 - - Destruction Impact 2 - - OW_PR_FootstepsLeaves_08 - - Recorder_Stop_Button - - OW_PR_FootstepsLeaves_04 - - OW_PR_Jump1 - - Jump_Into_TinyGalaxy_v2_04 - - OW_GD_Tornado_v2_04 - - OW_PR_FootstepsJumpDirt_02 - - OW_SP_ConsoleReadoutStart - - OW_NM_EscapePodHatch - - OW_PR_FootstepsJumpNomai_02 - - Light Sensor Fade In 1 - - Light Sensor Fade In 2 - - Hotel Oneshot - Creak 9 - - CampfireTune_All_Reverb - - Recording_Loop_03 - - PartyHouseWhistle_Confident - - mallowpuff4 - - OW_NM_WhiteHoleAmbienceL - - Station Shudder - - drowning_firsthalf1 - - UI_Exit_Dialog_V6-002_highpass - - Dream World Dam Break - - Dreamfire Extinguish 1 - - MediumSplash - - Vision Torch - First Slide Appears - - Footstep1 - - OW_TravelerTheme_drums - - Artifact Conceal - - HGT_Ambience_Cave_Small - - HGT_Ambience_Cave_Big - - OW_TH_Waterfall_loop_01 - - OW Discovery 083021_2 AP darker shorter - - Secret Passageway Open Loop 2 - - Hotel Oneshot - Creak 4 - - supernova_explosion_deepnuclear2 - - Ghost Shout 7 - - OW NM Flashback 081718 AP slam - - Airlock Close - - OW_TH_FlagFlapping_loop._02 - - OW_SP_RefuelJetpack_v2_short - - Ship_Impact_No_Damage_V3_03 - - Raft Medium Impact V2 4 - - Anglerfish_Awake3 - - Wood Door Open Start - - OW_TH_FlagFlapping_loop - - Slide Reel Pickup 2 - - Tronworld Ambience 2 Alex Hack - - Ghost Run Footstep Wood_v2 5 - - Ignite_CampFire_03 - - Single Ghost Scream 14 - - Raft Start Reeling - - OW_PR_FootstepsGrass_08 - - Tronworld Enter 2 - - OW_PR_ProbeUnderwaterLaunch - - OW_GD_IslandCrashingInWater_v2 - - Grapple Totem Zoom In - - OW ReelBeat 02a 021021 AP - - Nomai_Stone_Door_End_V2_08 - - OW_PR_FootstepsJumpGlass_02 - - OW_NM_DoorStart_02 - - Destruction Impact - Large 3 - - OW_SP_SignalscopeSlideV2 - - OW NomaiRuinsRegular 081918 AP motif6c - - Wood Door Close Start 3 Alex - - Destruction Impact - Large 2 - - Nomai_Stone_Door_End_Big_V2_01 - - OW_NM_ComputerAmbienceLP - - Anglerfish_Awake2 - - OW_TH_Insects_loop_03 - - OW_PR_SignalscopeActivate - - OW_NM_ComputerRingFall1 - - OW_PR_FootstepsDirt_02 - - OW_NM_ShuttleLight - - Single Ghost Scream 1 - - Ghost Identify Fail - - OW_SP_ShipGroan5_v2 - - Cloaking Field Exit - - OW_PR_FootstepsNomai_01 - - OW Dreamworld Ruins 072021 AP 02e - - Forest Oneshot - Tree Creak 2 - - fogsphere_pulse1 - - OW_PR_PullOutStick - - OW_PR_LockOn - - Nomai_Stone_Door_End_Big_V2_07 - - OW_PR_FootstepsJumpSand_06 - - InstantDeath2_Long_Ringing - - Light Sensor Door Stop 2 - - Light Sensor Door Loop 2 - - OW_TH_GeyserEnd_02 - - pickaxe_01 - - OW_PR_FootstepsWaterWade_03 - - RockPile_Fall_03 - - OW_PR_ThrustAfterburn_v2_01 - - Light Sensor Fade Out 2 - - Light Sensor Fade In 3 - - OW Finally Set Free 072021_2 AP - - Ghost Blow Out Lantern Charge - - Wood Door Loop - - BigBang_Explo - - TH_Geyser_Loop_v3 - - Water Spray Impact 8 - - OW_TH_FlagFlapping_loop._03 - - OW_PR_FootstepsJumpLeaves_02 - - OW_PR_FootstepsIceSlide_Lp_01 - - Dreamworld Lights Out Ambience 3 - - knife_scrape_01 - - OW OBSERVATORY 011317 AP - - Footstep_Run5 - - Light Sensor Door Open 2 - - Jetpack_O2_loop_01 - - OW_PR_FootstepsJumpWood_04 - - OW_SP_BuckleUp - - Probe_SnapShot_02 - - Pickup_Ceramic_01 - - OW_PR_FootstepsWood_03 - - Destruction Debris 3 - - OW_PR_SignalscopeDeactivate - - OW_PR_OxygenLeakingFromSuit_loop - - Probe_SnapShot_01 - - Dreamworld Ghost Hotel Ambience 2 - - Slide Reel Put Down 2 - - Nomai_Stone_Door_End_V2_07 - - OW_SP_ProbeLauncherRotation_v2 - - OW_PR_MarshmallowEatUnburnt_noMmm_v3 - - SystemBackOnline - - Ghost Idle Search 1 - - Ship_Impact_Light_Damage_V3_03 - - OW Dreamworld Ruins Story Beats 071621 AP 1i - - OW_PR_FootstepsGrass_02 - - OW_NM_DoorSlide_LP_02 - - Ringworld Cave Ambience - - Fix_Puncture_02 - - OW_PR_FootstepsWaterWade_08 - - OW_TH_GeyserStart_01 - - OW_TH_Insects_loop_01 - - OW ReelBeat 04d_2 040921 AP - - OW_TH_ProjectorStop - - Prisoner Cloth Foley 6 - - Dream World Alarm Bell Oneshot 3 - - shiplog_selectplanet2 - - Nature Oneshot - Distant Creature 1 - less reverb - - OW_PR_FootstepsDirt_08 - - Spark_04 - - OW_GD_HeatLightning_02 - - OW Secret Loop 090121 AP muted - - Creature Voice Test 1 Short - - General Destruction 4 - - House Destruction 1 - - OW_PR_FootstepsSnow_02 - - Huge Splash 2 - - Player Gravel Footstep 4 - - Ghost Grab Player 1 - - shiplog_switchmode_back - - OW_PR_FootstepsJumpWood_03 - - OW_PR_FootstepsJumpMetal_05 - - OW_SP_AutopilotEngaged 1 - - OW_NM_DoorAirlockOpen_03 - - OW Dreamworld Ruins 072021 AP 02b - - Ghost Investiagation Grunt 2 - - Wood Door Close Start 2 - - Real World Alarm Bell Oneshot 2 - - OW Fabric SFX 102119 AP screen shatter SHORT - - OW_NM_Ruins_ambience_scary_loop - - Raft Heavy Impact 1 - - OW Whispers 041321_2 AP LP - - Ghost Run Footstep Forest 4 - - Vine_Crash_V3_01_LowPassDelay - - Solanum_Foley_HandLower - - OW_PR_FootstepsSand_07 - - Grapple Totem Zoom Out Louder - - Ship_Impact_Heavy_Damage_V3_07 - - OW_PR_FootstepsIce_01 - - OW Ghost Ambiences v2 011221 AP pad LP - - Raft Movement Stop - - OW_TH_Museum - - gasp_normal12_lessmale - - OW_PR_FootstepsJumpRock_05 - - OW_SP_ThrustRotationalUnderwater_02 - - Pool_Exit_v3 - - Flashlight_Malfunction_02 - - OW NomaiRuinsRegular 081918 AP motif1c - - Nomai_Stone_Door_End_V2_05 - - OW_PR_FootstepsLeaves_05 - - Nomai_Stone_Door_End_V2_09 - - asphyxiation_suit_secondhalf1 - - Spark_08 - - OW Aquatic Exploration 050318 AP LOOP - - OW_TH_GeyserEnd_01 - - UI_Navigate_03 - - OW ReelBeat 02b 021021 AP - - Player_Impact_Damage_Light_02 - - OW_PR_FootstepsWood_02 - - Jump_Into_TinyGalaxy_v2_02 - - OW_PR_ThrustRotationalUnderwater_05 - - Atmosphere_High_Suit - - OW_SP_MetalCreak_04 - - OW Prisoner Reveal 063021 AP - - Ghost Grunt 1 - - OW_PR_FootstepsJumpDirt_03 - - OW Reelbeat 03c 061721 AP - - Nomai_Stone_Door_End_Big_V2_10 - - Damage_Light_01 - - PutDown_Rock_01 - - OW_TH_ModelRocketCrashing - - OW ReelBeat 03b 032521 AP - - OW END OF GAME 021818 AP - - Raft Movement Start 3 - - Impact_Light_03 - - OW_NM_Tech_Advanced - - Ghost Walk Footstep Wood_v2 4 - - OW_PR_FootstepsJumpWood_05 - - OW_PR_FootstepsMetal_02 - - FootstepsJumpWoodCreak_01 - - OW Timber Hearth 032719 AP v2 - - Hotel Oneshot - Heavy Creak 3 - - shiplog_highlight - - OW_GD_Tornado_v2_03 - - RotationalThruster02 - - OW Quantum Lightning 091118 AP 06 - - JetPack_NotificationBeep_Fast - - SmallSplash - - Ghost Run Footstep Forest 3 - - Nomai_Stone_Door_End_Big_V2_04 - - OW Prisoner Elevator 061121_5 AP loop - - Tower Fall Part 1 - - OW_PR_FootstepsMetal_03 - - OW_PR_FootstepsRock_01 - - Ignite_Marshmallow_01 - - Ignite_CampFire_02 - - Ghost Walk Footstep Wood_v2 5 - - OW_GD_AmbienceCave - - Ship_Impact_Heavy_Damage_V3_11 - - Raft Release - - elevatorstop - - Hotel Oneshot - Creak 2 - - Station Light Flicker - - Forest Oneshot - Tree Creak 7 - - OW_GD_HeatLightning_03 - - Nomai_Stone_Door_End_Big_V2_08 - - OW_TH_AmbienceHighAltitude - - Water Spray Impact 3 - - Ghost Grunt 2_SmoothFade - - linkingstone_out - - Ghost Shout 6 - - Ghost Individual Death 4 - - shiplog_highlight2 - - OW_PR_FootstepsMetal_04 - - OW Morning Cello 101718_2 - - Spark_11 - - fogsphere_jump2_delayed - - Nomai_Stone_Door_End_V2_04 - - OW_SP_ElectricalDamageLP - - OW_PR_FootstepsGlass_02 - - Ghost Run Footstep Forest 6 - - OW_NM_CenterClampsRemoving - - OW_SP_ThrustRotationalUnderwater_03 - - OW_NM_InsertScroll - - GhostMatter_Splash_v4_02 - - Airlock Open - - OW_PR_TranslatorTranslateNew - - Ship_Impact_Heavy_Damage_V3_10 - - House Destruction 2 - - shiplog_newentry3_softer - - OW_TravelerTheme_piano - - Stilts Destruction 3 - - OW_PR_LockOff - - OW_TH_ModelRocketThrustTranslational_01 - - Hotel Oneshot - Creak 8 - - Dreamworld Candle Lighting Test Variation 6 - - Stilts Destruction 4 - - OW_SUN_BurnPlanet - - Real World Dam Crack Water Loop - - OW Final End Times 022519_2 AP LOOP2 - - OxygenRefill_Short - - OW ReelBeat 03a 031521 AP - - OW NomaiRuinsRegular 081918 AP motif5c v2 - - StoryReel5Short 063021_3 AP - - OW_GD_AmbienceOcean - - OW_TH_BridgeCreaking_loop - - OW Traveler Theme 021821 AP FINAL TIME NO PIANO ADD PRISONER - - OW_SP_ShipAmbiance_01 - - Prisoner Grunt 2 - - OW_NM_ComputerRingFall3 - - OW_NM_DoorStart_04 - - Ghost Neck Snap - - Nomai_Warp_01 - - General Destruction 2 - - pickaxe_02 - - OW_PR_FootstepsSnow_07 - - Lava_Splash_02 - - OW_PR_FootstepsGlass_06 - - Anglerfish_Awake - - OW_PR_ProbeRetrieval - - OW_PR_FootstepsJumpSnow_04 - - Lantern Wake Up Light 2 - - Secret Passageway Open Stop 2 - - Lantern Shorting Out 2 - - OW_PR_BanjoStrum_1b - - OW_PR_FootstepsSnow_08 - - Air Rushing Out Into Space - - OW_PR_FootstepsJumpGlass_03 - - OW_PR_ProbeInAirSound - - shiplog_movebetweenplanets - - OW_PR_BanjoStrum_4b - - Raft Stop Reeling - - OW Traveler Theme 091118 AP FINAL TIME WITH PIANO EDIT - - OW_PR_FootstepsMetal_08 - - OW ReelBeat 04a_2 040921 AP - - OW_SP_ShipExploding - - OW_PR_FootstepsJumpMetal_02 - - OW_TH_ModelRocketThrustRotational_04 - - JellyFish_Shock_03 - - OW No-Eye Ruins 121120_2 AP LP - - OW_GD_HeatLightning_05 - - OW_NM_GravityCrystalAmbience_Louder - - OW_GD_HeatLightning_07 - - Solar Sail Loop 2 - - OW_PR_FootstepsBushRustle_02 - - CityLights_Off_01 - - RotationalThruster01 - - OW_NM_BHEnterItem_v2 - - OW_PR_FootstepsBushRustle_09 - - Vision Torch - Vision Dissolves - - OW_PR_FootstepsJumpMetal_04 - - Lantern Remove 2 - - Player_Impact_Damage_Light_01 - - StoryReel5Full 062821_4 AP - - OW_PR_FootstepsWaterWade_07 - - OW_NM_SkypeLP - - OW_SP_ShipGroan2_v2 - - Volcano_Ambience_Loop_V2 - - AnglerFish_Chomp_Loop_v2 - - Destruction Debris 2 - - OW_PR_LandInWater2 - - OW_PR_FootstepsIce_05 - - Footstep_Run1 - - Anglerfish_ChompBite_01 - - Destruction Debris 1 - - Ghost Run Footstep Forest 1 - - AnglerFish_Target_v2_02 - - Signalscope_Zoom_Loop - - BH_Ambience_Below_Crust - - fogsphere_pulse3 - - OW_GD_HeatLightning_08 - - AshTwinCore_Close_01 - - Airlock Depressurize - - OW_TH_ModelRocketThrustRotational_03 - - OW_NM_ComputerRing2 - - RockPile_Fall_05 - - Vision Torch Fire - Loop - - OW Farewell 061721 AP - - Hologram_Enter_v2_01 - - OW_PR_ThrustRotationalUnderwater_03 - - Forest Oneshot - Tree Creak 8 - - OW_PR_LandInWater3 - - Hotel Oneshot - Creak 3 - - Hotel Oneshot - Heavy Thud 1 - - Distant Ghost Cacophony 1 - - Footstep_Run2 - - OW_TH_ProjectorRun_loop - - OW_PR_FootstepsJumpGrass_04 - - Destruction Impact - Large 5 - - FootstepsWoodCreak_03 - - OW_PR_FootstepsIce_03 - - Solanum_Foley_HandRaise - - OW_NM_DoorStart_Big_03 - - Candle Extinguishing Test Variation 6 - - Ignite_CampFire_01 - - Nature Oneshot - Distant Creature 3 - less reverb - - Real World Water Ambience - Slow River - - Ghost Grunt 5 - - IceMelt_v2_LowPass - - OW_NM_GravityCannonDeactivated - - OW Ghost Sequence 011121 AP LOW SUSPENSE LP - - Anglerfish_Sleeping - - Real World Water Ambience - Slow River 2 - - OW_PR_FootstepsWaterWade_02 - - Ghost Walk Footstep Forest 3 - - Spark_05 - - OW No-Eye Ruins 082121 AP stinger - - Nature Oneshot - Distant Deep Creature 3 - - OW_NM_SunStation - - Projector Totem Extinguish 1 - - Dreamfire Crackling Loop 3 - - OW Ghost Ambiences 012921_2 AP slam - - Dreamfire Explosion - - Dream World Water Ambience - Creek 8 - - OW_PR_FootstepsSnow_05 - - OW_PR_FootstepsIce_04 - - Dream World Water Ambience - Creek 5 - - Ghost Run Footstep Forest 2 - - OW_NM_DoorStart_08 - - Outer Wilds Party House v8 050321_2 AP traveler drone - - Hotel Oneshot - Heavy Creak 1 - - Secret Passageway Open Start 2 - - FootstepsWoodCreak_01 - - Ghost Grunt 8 - - OW_PR_FootstepsMetal_06 - - Probe_Attach_v3_02 - - OW_PR_LandInWater1 - - FootstepsWoodCreak_06 - - OW_PR_FootstepsBushRustle_04 - - Projector Totem Blow - - OW_PR_FootstepsWaterWade_01 - - Raft Movement Loop - - OW_SP_ThrustRotationalUnderwater_01 - - OW_PR_FallingIntoLavaBeep_loop - - Ship_Impact_Light_Damage_V3_01 - - Ship_Impact_Medium_Damage_V3_02 - - Ghost Walk Footstep Wood_v2 1 - - Nomai_Stone_Door_End_Big_V2_02 - - OW ReelBeat 04c_2 040921 AP - - Raft Push - - OW_PR_FootstepsJumpIce_03 - - Nomai_Stone_Door_End_Big_V2_05 - - Destruction Impact 5 - - HGT_SandFallSmall_Inside - - OW Quantum Lightning 091118 AP 01 - - OW_PR_OxygenLeakingFromSuit_in - - OW_PR_HelmetOn - - OW_SP_AutopilotDisengaged 1 - - PutDown_Ceramic_01 - - OW_PR_FootstepsMetal_07 - - Water Spray Impact 7 - - Dream World Alarm Bell Oneshot 4 - - CityLights_On_01 - - rockingchair3 - - fogsphere_pulse5 - - Nomai_ShipPowerOn_V2_01 - - OW_GD_IslandSuckedInTornado - - OW_NM_DoorStart_05 - - Probe_Attach_v3_01 - - OW_PR_ThrustRotationalUnderwater_02 - - Outer Wilds Party House v8 050321_3 AP traveler - - Artifact Put Down - - OW ReelBeat 01b 021021 AP - - stoppedasphyxiating_suit2 - - FootstepsJumpWoodCreak_04 - - Destruction Debris 6 - - Nomai_Warp_03_Shorter - - mallowpuff1 - - OW ReelBeat 02d 021021 AP - - OW_TravelerTheme_harmonica - - shiplog_misc4 - - Projector Totem Extinguish 3 - - OW ReelBackdrop 02b 021021 AP - - OW_PR_FootstepsDirt_03 - - Lava_Splash_01 - - Engine_Start_V2 - - Solar Sail Start - - OW_PR_ThrustTranslational_v2_01 - - Light Sensor Fade Out 1 - - Prisoner Cloth Foley 4 - - OW Quantum Lightning 091118 AP 02 - - OW_NM_RemoveScroll - - asphyxiation_suit_firsthalf2 - - OW_TH_AmbienceNightInCanyons - - Footstep2 - - OW ReelBackdrop 03b LOOP 031521 AP - - OW_SP_ThrustRotationalUnderwater_04 - - OW_PR_FootstepsNomai_08 - - OW_PR_FootstepsNomai_03 - - OW ReelBeat 03d 061121 AP - - OW_PR_FootstepsJumpSand_04 - - RotationalThruster03 - - Stilts Destruction 5 - - Raft Run Aground - - OW Space Station 081420_2 AP - - OW_PR_FootstepsWaterWade_06 - - Spark_02 - - Cloaking Field Entry - - OW_NM_DataWormhole - - OW_QuantumSignal - - General Destruction 3 - - OW New Raft Music 082321_4 AP quiet - - OW_SP_Unbuckle - - Real World Water Ambience - Calm 2 - - Prisoner Grunt 3 - - OW_NM_OrbMoveGlass_lp_01 - - Prisoner Cloth Foley 7 - - OW_PR_FootstepsRock_05 - - OW Traveler Theme 021821 AP FINAL TIME WITH PIANO ADD PRISONER - - OW Quantum Lightning 091118 AP 03 - - OW_TH_ModelRocketThrustRotational_02 - - OW_PR_HitWallUnderwater3 - - Flashlight_Malfunction_03 - - OW NM Flashback 082818 loop overlay AP - - supernova_corecollapse_10sec_fadeOut - - OW_PR_FootstepsWood_05 - - rockingchair1 - - Power_Failure_v2_02 - - OW_PR_FootstepsMetal_05 - - Stilts Destruction 2 - - Dreamworld Tower Tilt - - OW New Texture 082921 AP loop - - Lantern Insert 3 - - OW_PR_FootstepsNomai_07 - - OW_PR_FootstepsJumpWood_06 - - Pool_Enter_v3_Fade - - Raft Movement Start - - OW_PR_FootstepsNomai_05 - - OW_PR_HardSplash - - Destruction Debris 5 - - Dreamworld Candle Lighting Test Variation 2 - - OW NM Flashback 082818_2 AP stinger delayed - - Ghost Shout 4 - - Nomai_Stone_Door_End_Big_V2_06 - - Tower Tilt - - OW_NM_DoorStart_Big_06 - - OW_PR_FootstepsLeaves_03 - - Ghost Run Footstep Wood_v2 3 - - OW_NM_BHExitItem_v2 - - Ghost Idle Search 5 - - Forest Oneshot - Animal 1 - - OW Dreamworld Ruins 072021 AP 02d - - OW_PR_FootstepsJumpSnow_02 - - Platform_Break_V2_01 - - OW Party House 092820 AP short loop - - OW_PR_FootstepsRock_06 - - OW_SP_ThrustTranslational - - Footstep6 - - OW_PR_FootstepsWaterWade_05 - - Ghost Start Hunt Grunt 2 - - OW Dreamworld Ruins 072021 AP 02f - - Nomai_Stone_Door_End_Big_V2_12 - - Jump_Into_TinyGalaxy_v2_03 - - Footstep_Run3 - - Negative1 - - OW_TravelerTheme_banjo - - SandColumnEnd_v2 - - OW_PR_FootstepsJumpSand_05 - - Dreamworld Lights Out Ambience 2 - - OW Blair Witch Project 082921_3 AP darker mix loop - - Fig_Backer_Sat_Audio_V3 - - OW_PR_FootstepsGlass_01 - - Light Sensor Fade Out 4 - - Projector Totem Light 1 - - Player Gravel Footstep 6 - - OW_TH_GeyserStart_03 - - Slide Reel Remove 3 - - Ship_Impact_Medium_Damage_V3_06 - - OW Quantum Lightning 091118 AP 05 - - OW_GD_Tornado_v2_01 - - OW_SP_ActivateComputerLP - - Footstep_Run6 - - Spark_13 - - Vine_Crash_V3_02_LowPassDelay - - OW Slideshow BURNT LOOP small 031521_2 AP - - Raft Heavy Impact 4 - - Light Sensor Door Loop - Door Sensor Sliding - - Sarcophagus Strain 3 - - Loading Tunnel - Load - - elevatorstart - - Nomai_Stone_Door_End_V2_02 - - OW_GD_Tornado_v2_02 - - OW_NM_DoorAirLockAirPourOut_01 - - OW_TravelerTheme_newtraveler 061021 AP - - OW ReelBackdrop 04a_3 041321 AP LP - - OW_PR_FootstepsJumpRock_04 - - Damage_Heavy_04 - - Raft Movement Stop 2 - - OW_SP_AnalogClick2_v2 - - Nomai_Stone_Door_End_V2_01 - - OW_PR_FootstepsRock_07 - - Raft Light Impact V2 4 - - Marshmallow_Replace_01 - - Footstep5 - - Destruction Impact 3 - - Helmet_Glass_Crack_08 - - Ghost Run Footstep Wood_v2 6 - - OW End Credits 022019_3 AP - - Raft Heavy Impacts V2 2 - - Nomai_Stone_Door_End_Big_V2_13 - - OW_NM_GravityCannonActivated - - Outer Wilds Party House v8 050321_2 AP Bass - - Ringworld Muffled Indoor Ambience - - Ghost Run Footstep Wood_v2 2 - - OW_GD_AmbienceUndewater - - Forge_Loop_V3_03 - - OW_PR_CampfireAmbience - - OW_PR_FootstepsRock_08 - - Platform_Break_V2_02 - - OW_PR_FootstepsJumpWood_02 - - OW Eye Temple 121820_2 AP LP - - OW_GD_WavesAgainstBeach - - OW_PR_ThrowProbe - - OW_NM_DoorStart_07 - - OW_PR_FootstepsSand_04 - - Lantern Pickup - - Real World Water Ambience - Rapids 2 - - OW_PR_FootstepsWood_04 - - OW_NM_TractorBeamPowerUp - - OW New Stinger 082921 AP - - OW_PR_FootstepsGrass_07 - - Hotel Oneshot - Creak 7 - - Player_On_Fire_Loop - - OW_TH_UnderwaterRushing - - GhostMatter_Splash_v4_01 - - OW_SP_ThrustRotationalUnderwater_06 - - OW Fabric SFX 102119 AP rip FADE OUT - - OW Dreamworld Ruins 072021 AP 02a - - Spark_06 - - OW_SP_SignalscopeChunkV2 - - Player Gravel Footstep 2 - - OW_PR_FootstepsBushRustle_07 - - Hologram_Exit_v2_01 - - Metal Door Open Stop - - OW_PR_FootstepsJumpWood_01 - - OW_PR_FootstepsWaterWade_04 - - Nature Oneshot - Distant Deep Creature 2 - - Stilts Destruction 1 - - OW NM Flashback 082818 AP overlay1 - - drowning_secondhalf1 - - Gear Rotate Locked_Short - - Prisoner Cloth Foley 5 - - shiplog_deselectplanet - - Orb_End_v3_01 - - Atmosphere_High_Ship - - Solar Sail Start 2 - - knife_scrape_02 - - OW_TH_GeyserEnd_03 - - Meteor_Impact_03_b - - Destruction Impact 6 - - JellyFish_Shock_01 - - Light Sensor Loop - - Candle Extinguishing Test Variation 4 - - Vision Torch Light Rays - Off - - OW_NM_DoorSlide_Big_LP_05 - - OW_PR_FootstepsDirt_05 - - Sand_Column_Start_v2_03 - - Water Spray Impact 6 - - OW_NM_DoorStart_Big_07 - - OW_SP_ShipGroan3_v2 - - Heat_Damage_Loop_01 - - OW_SP_LandingCamDeactivated 1 - - breathing_lowO2_6 - - OW_PR_OxygenLeakingFromSuit_out - - LogUpdated_001 - - Vine_Crash_V3_04_LowPassDelay - - Destruction Debris 7 - - Hotel Oneshot - Heavy Creak 2 - - OW_PR_HelmetOff - - OW_PR_FootstepsGrass_04 - - Forest Oneshot - Animal 3 - - OW Discovery 083021_2 AP shorter - - Slide Reel Insert 3 - - OW_NM_BHEnterExitPlayer_v2 - - Ship_Impact_Light_Damage_V3_05 - - OW_SP_OpenHatch_NoBeep - - OW_SP_ThrustRotationalUnderwater_05 - - ShipSubmerge - - Artifact Fire Loop - - OW_DarkBramble_loop - - OW_PR_FootstepsBushRustle_08 - - OW NM Nomai City 081718 AP LOOP - - Solar Sail Stop 2 - - Destruction Impact - Large 1 - - OW Dream Rule LP 032421 AP normal - - Solar Sail Loop - - OW_TH_GeyserStart_02 - - Ship_Impact_No_Damage_V3_05 - - OW_PR_FootstepsIce_06 - - Outer Wilds Party House v8 050321_2 AP vocals - - asphyxiation_suit_secondhalf2 - - Affirmative1 - - Spark_12 - - OW_SP_ConsoleReadoutLP - - OW ReelBackdrop 03c 042621 AP LP - - gasp_light9 - - Nomai_Stone_Door_End_V2_03 - - OW_PR_FootstepsJumpNomai_06 - - OW_PR_FootstepsGlass_04 - - OW_PR_FootstepsDirt_04 - - Destruction Debris 9 - - OW_PR_FootstepsIce_08 - - OW_PR_SuitOff - - Artifact Pickup - - OW_SUN_Ambience_v4 - - JellyFish_Shock_05 - - OW_TH_Underwater - - Station Shudder - Dreamworld - - Ghost Walk Footstep Forest 5 - - OW_TH_ProjectorActivate - - asphyxiation_suit_firsthalf1 - - OW_PR_SignalscopeZoomIn - - HGT_Ambience_Surface - - FootstepsWoodCreak_08 - - GhostMatter_Splash_v4_03 - - UI_Tab_v2_05 - - Raft Medium Impact V2 3 - - OW_NM_TractorBeamPowerDown - - OW_Travel_Theme_Remaster - - Big_Galaxy_Burn_v2_01 - - OW_TH_Insects_loop_02 - - Raft Heavy Impact 3 - - Raft Movement Start 2 - - OW Quantum Lightning 091118 AP 04 - - OW_TH_FlagFlapping_loop._04 - - OW_TH_ModelRocketThrustTranslational_02 - - knife_scrape_03 - - Incinerate_v3_02 - - Light Sensor Rotate - - OW_NM_EscapePodDistressSignal - - MapZoomOut_Tone - - OW_NM_DoorStart_Big_05 - - Player Gravel Footstep 7 - - Ghost Walk Footstep Wood_v2 2 - - Ghost Run Footstep Forest 5 - - Ghost Walk Footstep Forest 4 - - OW_PR_HitWallUnderwater2 - - OW NM Flashback 082818_2 AP stinger - - OW_PR_FootstepsJumpGrass_05 - - Fix_Puncture_04 - - Ghost Idle Search 3 diff --git a/docs/content/pages/reference/bramble_colors.md b/docs/content/pages/reference/bramble_colors.md deleted file mode 100644 index 7e9d37d8..00000000 --- a/docs/content/pages/reference/bramble_colors.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -Title: Bramble Colors -Render_TOC: False ---- - -| Dimension | Fog color | Node fog color | -|-------------|------------------------------------------|------------------------------------------| -| Cluster | {"r": 126, "g": 119, "b": 101, "a": 255} | {"r": 255, "g": 245, "b": 217, "a": 255} | -| Vessel | {"r": 206, "g": 187, "b": 137, "a": 255} | {"r": 191, "g": 171, "b": 133, "a": 255} | -| Small Nest | {"r": 131, "g": 128, "b": 121, "a": 255} | {"r": 255, "g": 245, "b": 217, "a": 255} | -| Pioneer | {"r": 106, "g": 116, "b": 99, "a": 255} | {"r": 255, "g": 245, "b": 217, "a": 255} | -| Hub | {"r": 84, "g": 83, "b": 73, "a": 255} | {"r": 84, "g": 83, "b": 73, "a": 255} | -| Exit Only | {"r": 113, "g": 107, "b": 81, "a": 255} | {"r": 255, "g": 245, "b": 217, "a": 255} | -| Escape Pod | {"r": 83, "g": 99, "b": 87, "a": 255} | {"r": 255, "g": 245, "b": 217, "a": 255} | -| Angler Nest | {"r": 113, "g": 107, "b": 81, "a": 255} | {"r": 255, "g": 129, "b": 83, "a": 255} | \ No newline at end of file diff --git a/docs/content/pages/secret.md b/docs/content/pages/secret.md deleted file mode 100644 index 9e54ecdf..00000000 --- a/docs/content/pages/secret.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -Title: Hidden Page -Description: Hehe funny secret -Hide_In_Nav: True ---- - -# Hello!! - -Uh idk what to put here thought it would be funny haha - -![Cow](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia1.tenor.com%2Fimages%2F964831e7eccb34007e82c065a50679ef%2Ftenor.gif%3Fitemid%3D18924714&f=1&nofb=1) - -## It's Morbin' Time - -![image](https://user-images.githubusercontent.com/25644444/178856213-44cb0a38-6d3d-4af6-b7f8-0ae6cda8d44a.png) - -## Test - -aaaaaaaaaaaaaaaaaaaaaaaaa - -## 9/2/22 - -Where were you when new horizons docs died, im going gorbo mode - - diff --git a/docs/content/pages/tutorials/reading_schemas.md b/docs/content/pages/tutorials/reading_schemas.md deleted file mode 100644 index db162888..00000000 --- a/docs/content/pages/tutorials/reading_schemas.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -Title: Reading Schemas -Sort_Priority: 90 ---- - -# Reading Schema Pages - -Reading and understanding the schema pages are key to knowing how to create planets. While these tutorials may be helpful, they won't cover everything, and new features may be added before the tutorial on them can be written. - -## Celestial Body Schema - -The [celestial body schema]({{ "Celestial Body Schema"|route }}) is the schema for making planets, there are other schemas which will be explained later but for now let's focus on this one. - -![The Celestial Body Schema Page]({{ "images/reading_schemas/body_schema_1.webp"|static }}) - -As you can see the type of this is `object`, which we talked about in the previous section. -We can also observe a blue badge that says "No Additional Properties", this signifies that you can't add keys to the object that aren't in the schema, for example: - -```json -{ - "name": "Wetrock", - "coolKey": "Look at my cool key!" -} -``` - -Will result in a warning in VSCode. Now, this will *not* prevent the planet from being loaded, however you should still avoid doing it. - -## Simple Properties - -![The name property on the celestial body schema]({{ "images/reading_schemas/body_schema_2.webp"|static }}) - -Next up let's look at `name`, this field is required, meaning you *have* to have it for a planet to load. -When we click on name we first see a breadcrumb, this is essentially a guide of where you are in the schema, right now we're in the name property of the root (topmost) object. -We can also see it's description, its type is `string`, and that it requires at least one character (so you can't just put `""`). - -Badges can also show stuff such as the default value, the minimum and maximum values, and more. - -## Object Properties - -![The Base object on the celestial body schema]({{ "images/reading_schemas/body_schema_3.webp"|static }}) - -Next let's look at an `object` within our root `object`, let's use `Base` as the example. - -Here we can see it's similar to our root object, in that it doesn't allow additional properties. -We can also see all of its properties listed out. - -## Array Properties - -Now let's take a look over at [removeChildren]({{ "Celestial Body Schema"|route }}#removeChildren) to see how arrays work (if you're wondering how you can get the page to scroll to a specific property, simply click on the property and copy the URL in your URL bar) - -![The curve property on a star in the celestial body schema]({{ "images/reading_schemas/body_schema_4.webp"|static }}) - -Here we can see that the type is an `array`, and each item in this array must be a `string` - -## Enum Properties - -Enum properties simply mean that they must be of one of the values shown, for example [Ring fluid type]({{ "Celestial Body Schema"|route }}#Ring_fluidType) has to be one of these values. - -![The enum values of fluidType]({{ "images/reading_schemas/body_schema_5.webp"|static }}) - -## Some Vocabulary - -- GameObject: Essentially just any object in, well, the game. You can view these object in a tree-like structure with the [Unity Explorer](https://outerwildsmods.com/mods/unityexplorer) mod. Every GameObject has a path, which is sort of like a file path in that it's a list of parent GameObjects seperated by forward slashes followed by the GameObject's name. -- Component: By themselves, a GameObject doesn't actually *do* anything, components provide stuff like collision, rendering, and logistics to GameObjects -- Config: Just another name for a JSON file "planet config" simply means a json file that describes a planet -- Module: A specific section of the config (e.g. Base, Atmosphere, etc), these usually start with capital letters - -## Note About File Paths - -Whenever a description refers to the "relative path" of a file, it means relative to the mod's directory, this means you **must** include the `planets` folder in the path: - -```json -"planets/assets/images/MyCoolImage.png" -``` - -## Other Schemas - -There are other schemas available, some are for JSON, and some are for XML. - -## Moving Forward - -Now that you know how to read the schema pages, you can understand the rest of this site. A lot of the other tutorials here will often tell you to take a look at schemas to explain what certain properties do. - -**Next Up: [Creating An Addon]({{ "Creating An Addon"|route }})** diff --git a/docs/content/static/fav/android-icon-144x144.png b/docs/content/static/fav/android-icon-144x144.png deleted file mode 100644 index 17b6fa7d..00000000 Binary files a/docs/content/static/fav/android-icon-144x144.png and /dev/null differ diff --git a/docs/content/static/fav/android-icon-192x192.png b/docs/content/static/fav/android-icon-192x192.png deleted file mode 100644 index 8d38ba72..00000000 Binary files a/docs/content/static/fav/android-icon-192x192.png and /dev/null differ diff --git a/docs/content/static/fav/android-icon-36x36.png b/docs/content/static/fav/android-icon-36x36.png deleted file mode 100644 index ff9772b6..00000000 Binary files a/docs/content/static/fav/android-icon-36x36.png and /dev/null differ diff --git a/docs/content/static/fav/android-icon-48x48.png b/docs/content/static/fav/android-icon-48x48.png deleted file mode 100644 index b357eea8..00000000 Binary files a/docs/content/static/fav/android-icon-48x48.png and /dev/null differ diff --git a/docs/content/static/fav/android-icon-72x72.png b/docs/content/static/fav/android-icon-72x72.png deleted file mode 100644 index 003df7fd..00000000 Binary files a/docs/content/static/fav/android-icon-72x72.png and /dev/null differ diff --git a/docs/content/static/fav/android-icon-96x96.png b/docs/content/static/fav/android-icon-96x96.png deleted file mode 100644 index dd49d8f6..00000000 Binary files a/docs/content/static/fav/android-icon-96x96.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-114x114.png b/docs/content/static/fav/apple-icon-114x114.png deleted file mode 100644 index 0f3aff02..00000000 Binary files a/docs/content/static/fav/apple-icon-114x114.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-120x120.png b/docs/content/static/fav/apple-icon-120x120.png deleted file mode 100644 index 79eefd2b..00000000 Binary files a/docs/content/static/fav/apple-icon-120x120.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-144x144.png b/docs/content/static/fav/apple-icon-144x144.png deleted file mode 100644 index 468e9a14..00000000 Binary files a/docs/content/static/fav/apple-icon-144x144.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-152x152.png b/docs/content/static/fav/apple-icon-152x152.png deleted file mode 100644 index fe7d9574..00000000 Binary files a/docs/content/static/fav/apple-icon-152x152.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-180x180.png b/docs/content/static/fav/apple-icon-180x180.png deleted file mode 100644 index 2a20d00c..00000000 Binary files a/docs/content/static/fav/apple-icon-180x180.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-57x57.png b/docs/content/static/fav/apple-icon-57x57.png deleted file mode 100644 index 5e53e804..00000000 Binary files a/docs/content/static/fav/apple-icon-57x57.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-60x60.png b/docs/content/static/fav/apple-icon-60x60.png deleted file mode 100644 index a9bb6896..00000000 Binary files a/docs/content/static/fav/apple-icon-60x60.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-72x72.png b/docs/content/static/fav/apple-icon-72x72.png deleted file mode 100644 index 003df7fd..00000000 Binary files a/docs/content/static/fav/apple-icon-72x72.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-76x76.png b/docs/content/static/fav/apple-icon-76x76.png deleted file mode 100644 index 8667162a..00000000 Binary files a/docs/content/static/fav/apple-icon-76x76.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon-precomposed.png b/docs/content/static/fav/apple-icon-precomposed.png deleted file mode 100644 index d0ee742f..00000000 Binary files a/docs/content/static/fav/apple-icon-precomposed.png and /dev/null differ diff --git a/docs/content/static/fav/apple-icon.png b/docs/content/static/fav/apple-icon.png deleted file mode 100644 index d0ee742f..00000000 Binary files a/docs/content/static/fav/apple-icon.png and /dev/null differ diff --git a/docs/content/static/fav/favicon-16x16.png b/docs/content/static/fav/favicon-16x16.png deleted file mode 100644 index f0fb6adb..00000000 Binary files a/docs/content/static/fav/favicon-16x16.png and /dev/null differ diff --git a/docs/content/static/fav/favicon-32x32.png b/docs/content/static/fav/favicon-32x32.png deleted file mode 100644 index a07e2f46..00000000 Binary files a/docs/content/static/fav/favicon-32x32.png and /dev/null differ diff --git a/docs/content/static/fav/favicon-96x96.png b/docs/content/static/fav/favicon-96x96.png deleted file mode 100644 index d4923279..00000000 Binary files a/docs/content/static/fav/favicon-96x96.png and /dev/null differ diff --git a/docs/content/static/fav/ms-icon-144x144.png b/docs/content/static/fav/ms-icon-144x144.png deleted file mode 100644 index 468e9a14..00000000 Binary files a/docs/content/static/fav/ms-icon-144x144.png and /dev/null differ diff --git a/docs/content/static/fav/ms-icon-150x150.png b/docs/content/static/fav/ms-icon-150x150.png deleted file mode 100644 index e2534568..00000000 Binary files a/docs/content/static/fav/ms-icon-150x150.png and /dev/null differ diff --git a/docs/content/static/fav/ms-icon-310x310.png b/docs/content/static/fav/ms-icon-310x310.png deleted file mode 100644 index d0db66b1..00000000 Binary files a/docs/content/static/fav/ms-icon-310x310.png and /dev/null differ diff --git a/docs/content/static/fav/ms-icon-70x70.png b/docs/content/static/fav/ms-icon-70x70.png deleted file mode 100644 index 03d36d3d..00000000 Binary files a/docs/content/static/fav/ms-icon-70x70.png and /dev/null differ diff --git a/docs/content/static/images/editor/log_port.webp b/docs/content/static/images/editor/log_port.webp deleted file mode 100644 index 0382c847..00000000 Binary files a/docs/content/static/images/editor/log_port.webp and /dev/null differ diff --git a/docs/content/static/images/reading_schemas/body_schema_1.webp b/docs/content/static/images/reading_schemas/body_schema_1.webp deleted file mode 100644 index 066440da..00000000 Binary files a/docs/content/static/images/reading_schemas/body_schema_1.webp and /dev/null differ diff --git a/docs/content/static/images/reading_schemas/body_schema_2.webp b/docs/content/static/images/reading_schemas/body_schema_2.webp deleted file mode 100644 index eb101a75..00000000 Binary files a/docs/content/static/images/reading_schemas/body_schema_2.webp and /dev/null differ diff --git a/docs/content/static/images/reading_schemas/body_schema_3.webp b/docs/content/static/images/reading_schemas/body_schema_3.webp deleted file mode 100644 index 3ca75b14..00000000 Binary files a/docs/content/static/images/reading_schemas/body_schema_3.webp and /dev/null differ diff --git a/docs/content/static/images/reading_schemas/body_schema_4.webp b/docs/content/static/images/reading_schemas/body_schema_4.webp deleted file mode 100644 index 5e218ec0..00000000 Binary files a/docs/content/static/images/reading_schemas/body_schema_4.webp and /dev/null differ diff --git a/docs/content/static/images/reading_schemas/body_schema_5.webp b/docs/content/static/images/reading_schemas/body_schema_5.webp deleted file mode 100644 index 9c88e15c..00000000 Binary files a/docs/content/static/images/reading_schemas/body_schema_5.webp and /dev/null differ diff --git a/docs/content/static/styles/nh_base.css b/docs/content/static/styles/nh_base.css deleted file mode 100644 index e958d35a..00000000 --- a/docs/content/static/styles/nh_base.css +++ /dev/null @@ -1,54 +0,0 @@ -pre > code { - background-color: #1a1a1a !important; - border-radius: .25rem !important; -} - -::-webkit-scrollbar { - width: 10px; - height: 10px; -} - -::-webkit-scrollbar-track { - background: var(--bs-dark); - border-radius: 5px; -} - -::-webkit-scrollbar-thumb { - background: var(--bs-secondary); - border-radius: 5px; -} - -::-webkit-scrollbar-thumb:hover { - background: #555; -} - -.accordion-button { - background-color: #2b2b2b !important; -} - -.accordion-button:not(.collapsed)::after { - color: #effff7 !important; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); -} - -.accordion-item { - border: 1px solid rgba(0, 0, 0, 0.4) !important; -} - -.accordion-button:not(.collapsed) { - color: #effff7; - background-color: #2b2b2b; -} - -.accordion-button:not(.collapsed)::after { - color: #effff7; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); -} - -.accordion-item { - border: 1px solid rgba(0, 0, 0, 0.4); -} - -.accordion-body { - background-color: #353535 !important; -} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..54e470f2 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,36 @@ +{ + "name": "docs", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@algolia/client-search": "^4.17.0", + "@apidevtools/json-schema-ref-parser": "^10.1.0", + "@astrojs/preact": "^2.2.1", + "@astrojs/react": "^2.2.1", + "@docsearch/css": "^3.3.4", + "@docsearch/react": "^3.3.4", + "@types/node": "^18.16.3", + "@types/react": "^18.2.5", + "@types/react-dom": "^18.2.3", + "astro": "^2.5.6", + "eslint": "^8.42.0", + "eslint-plugin-prettier": "^4.2.1", + "fast-xml-parser": "^4.2.3", + "preact": "^10.13.2", + "prettier": "^2.8.8", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "xml-js": "^1.6.11" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.59.8", + "html-escaper": "^3.0.3" + } +} \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..1c2d82bf --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,4178 @@ +lockfileVersion: '6.1' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@algolia/client-search': + specifier: ^4.17.0 + version: 4.17.0 + '@apidevtools/json-schema-ref-parser': + specifier: ^10.1.0 + version: 10.1.0 + '@astrojs/preact': + specifier: ^2.2.1 + version: 2.2.1(preact@10.13.2) + '@astrojs/react': + specifier: ^2.2.1 + version: 2.2.1(@types/react-dom@18.2.3)(@types/react@18.2.5)(react-dom@18.2.0)(react@18.2.0) + '@docsearch/css': + specifier: ^3.3.4 + version: 3.3.4 + '@docsearch/react': + specifier: ^3.3.4 + version: 3.3.4(@algolia/client-search@4.17.0)(@types/react@18.2.5)(react-dom@18.2.0)(react@18.2.0) + '@types/node': + specifier: ^18.16.3 + version: 18.16.3 + '@types/react': + specifier: ^18.2.5 + version: 18.2.5 + '@types/react-dom': + specifier: ^18.2.3 + version: 18.2.3 + astro: + specifier: ^2.5.6 + version: 2.5.6(@types/node@18.16.3) + eslint: + specifier: ^8.42.0 + version: 8.42.0 + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint@8.42.0)(prettier@2.8.8) + fast-xml-parser: + specifier: ^4.2.3 + version: 4.2.3 + preact: + specifier: ^10.13.2 + version: 10.13.2 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + +devDependencies: + '@typescript-eslint/eslint-plugin': + specifier: ^5.59.8 + version: 5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.42.0)(typescript@5.1.3) + html-escaper: + specifier: ^3.0.3 + version: 3.0.3 + +packages: + + /@algolia/autocomplete-core@1.8.2: + resolution: {integrity: sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==} + dependencies: + '@algolia/autocomplete-shared': 1.8.2 + dev: false + + /@algolia/autocomplete-preset-algolia@1.8.2(@algolia/client-search@4.17.0)(algoliasearch@4.17.1): + resolution: {integrity: sha512-J0oTx4me6ZM9kIKPuL3lyU3aB8DEvpVvR6xWmHVROx5rOYJGQcZsdG4ozxwcOyiiu3qxMkIbzntnV1S1VWD8yA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.8.2 + '@algolia/client-search': 4.17.0 + algoliasearch: 4.17.1 + dev: false + + /@algolia/autocomplete-shared@1.8.2: + resolution: {integrity: sha512-b6Z/X4MczChMcfhk6kfRmBzPgjoPzuS9KGR4AFsiLulLNRAAqhP+xZTKtMnZGhLuc61I20d5WqlId02AZvcO6g==} + dev: false + + /@algolia/cache-browser-local-storage@4.17.1: + resolution: {integrity: sha512-e91Jpu93X3t3mVdQwF3ZDjSFMFIfzSc+I76G4EX8nl9RYXgqcjframoL05VTjcD2YCsI18RIHAWVCBoCXVZnrw==} + dependencies: + '@algolia/cache-common': 4.17.1 + dev: false + + /@algolia/cache-common@4.17.0: + resolution: {integrity: sha512-g8mXzkrcUBIPZaulAuqE7xyHhLAYAcF2xSch7d9dABheybaU3U91LjBX6eJTEB7XVhEsgK4Smi27vWtAJRhIKQ==} + dev: false + + /@algolia/cache-common@4.17.1: + resolution: {integrity: sha512-fvi1WT8aSiGAKrcTw8Qg3RYgcwW8GZMHcqEm4AyDBEy72JZlFBSY80cTQ75MslINjCHXLDT+9EN8AGI9WVY7uA==} + dev: false + + /@algolia/cache-in-memory@4.17.1: + resolution: {integrity: sha512-NbBt6eBWlsXc5geSpfPRC5dkIB/0Ptthw8r0yM5Z7D3sPlYdnTZSO9y9XWXIptRMwmZe4cM8iBMN8y0tzbcBkA==} + dependencies: + '@algolia/cache-common': 4.17.1 + dev: false + + /@algolia/client-account@4.17.1: + resolution: {integrity: sha512-3rL/6ofJvyL+q8TiWM3qoM9tig+SY4gB1Vbsj+UeJPnJm8Khm+7OS+r+mFraqR6pTehYqN8yGYoE7x4diEn4aA==} + dependencies: + '@algolia/client-common': 4.17.1 + '@algolia/client-search': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /@algolia/client-analytics@4.17.1: + resolution: {integrity: sha512-Bepr2w249vODqeBtM7i++tPmUsQ9B81aupUGbDWmjA/FX+jzQqOdhW8w1CFO5kWViNKTbz2WBIJ9U3x8hOa4bA==} + dependencies: + '@algolia/client-common': 4.17.1 + '@algolia/client-search': 4.17.1 + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /@algolia/client-common@4.17.0: + resolution: {integrity: sha512-jHMks0ZFicf8nRDn6ma8DNNsdwGgP/NKiAAL9z6rS7CymJ7L0+QqTJl3rYxRW7TmBhsUH40wqzmrG6aMIN/DrQ==} + dependencies: + '@algolia/requester-common': 4.17.0 + '@algolia/transporter': 4.17.0 + dev: false + + /@algolia/client-common@4.17.1: + resolution: {integrity: sha512-+r7kg4EgbFnGsDnoGSVNtXZO8xvZ0vzf1WAOV7sqV9PMf1bp6cpJP/3IuPrSk4t5w2KVl+pC8jfTM7HcFlfBEQ==} + dependencies: + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /@algolia/client-personalization@4.17.1: + resolution: {integrity: sha512-gJku9DG/THJpfsSlG/az0a3QIn+VVff9kKh8PG8+7ZfxOHS+C+Y5YSeZVsC+c2cfoKLPo3CuHIiJ/p86erR3bA==} + dependencies: + '@algolia/client-common': 4.17.1 + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /@algolia/client-search@4.17.0: + resolution: {integrity: sha512-x4P2wKrrRIXszT8gb7eWsMHNNHAJs0wE7/uqbufm4tZenAp+hwU/hq5KVsY50v+PfwM0LcDwwn/1DroujsTFoA==} + dependencies: + '@algolia/client-common': 4.17.0 + '@algolia/requester-common': 4.17.0 + '@algolia/transporter': 4.17.0 + dev: false + + /@algolia/client-search@4.17.1: + resolution: {integrity: sha512-Q5YfT5gVkx60PZDQBqp/zH9aUbBdC7HVvxupiHUgnCKqRQsRZjOhLest7AI6FahepuZLBZS62COrO7v+JvKY7w==} + dependencies: + '@algolia/client-common': 4.17.1 + '@algolia/requester-common': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /@algolia/logger-common@4.17.0: + resolution: {integrity: sha512-DGuoZqpTmIKJFDeyAJ7M8E/LOenIjWiOsg1XJ1OqAU/eofp49JfqXxbfgctlVZVmDABIyOz8LqEoJ6ZP4DTyvw==} + dev: false + + /@algolia/logger-common@4.17.1: + resolution: {integrity: sha512-Us28Ot+fLEmX9M96sa65VZ8EyEEzhYPxfhV9aQyKDjfXbUdJlJxKt6wZpoEg9RAPSdO8IjK9nmuW2P8au3rRsg==} + dev: false + + /@algolia/logger-console@4.17.1: + resolution: {integrity: sha512-iKGQTpOjHiE64W3JIOu6dmDvn+AfYIElI9jf/Nt6umRPmP/JI9rK+OHUoW4pKrBtdG0DPd62ppeNXzSnLxY6/g==} + dependencies: + '@algolia/logger-common': 4.17.1 + dev: false + + /@algolia/requester-browser-xhr@4.17.1: + resolution: {integrity: sha512-W5mGfGDsyfVR+r4pUFrYLGBEM18gs38+GNt5PE5uPULy4uVTSnnVSkJkWeRkmLBk9zEZ/Nld8m4zavK6dtEuYg==} + dependencies: + '@algolia/requester-common': 4.17.1 + dev: false + + /@algolia/requester-common@4.17.0: + resolution: {integrity: sha512-XJjmWFEUlHu0ijvcHBoixuXfEoiRUdyzQM6YwTuB8usJNIgShua8ouFlRWF8iCeag0vZZiUm4S2WCVBPkdxFgg==} + dev: false + + /@algolia/requester-common@4.17.1: + resolution: {integrity: sha512-HggXdjvVFQR0I5l7hM5WdHgQ1tqcRWeyXZz8apQ7zPWZhirmY2E9D6LVhDh/UnWQNEm7nBtM+eMFONJ3bZccIQ==} + dev: false + + /@algolia/requester-node-http@4.17.1: + resolution: {integrity: sha512-NzFWecXT6d0PPsQY9L+/qoK2deF74OLcpvqCH+Vh3mh+QzPsFafcBExdguAjZsAWDn1R6JEeFW7/fo/p0SE57w==} + dependencies: + '@algolia/requester-common': 4.17.1 + dev: false + + /@algolia/transporter@4.17.0: + resolution: {integrity: sha512-6xL6H6fe+Fi0AEP3ziSgC+G04RK37iRb4uUUqVAH9WPYFI8g+LYFq6iv5HS8Cbuc5TTut+Bwj6G+dh/asdb9uA==} + dependencies: + '@algolia/cache-common': 4.17.0 + '@algolia/logger-common': 4.17.0 + '@algolia/requester-common': 4.17.0 + dev: false + + /@algolia/transporter@4.17.1: + resolution: {integrity: sha512-ZM+qhX47Vh46mWH8/U9ihvy98HdTYpYQDSlqBD7IbiUbbyoCMke+qmdSX2MGhR2FCcXBSxejsJKKVAfbpaLVgg==} + dependencies: + '@algolia/cache-common': 4.17.1 + '@algolia/logger-common': 4.17.1 + '@algolia/requester-common': 4.17.1 + dev: false + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: false + + /@apidevtools/json-schema-ref-parser@10.1.0: + resolution: {integrity: sha512-3e+viyMuXdrcK8v5pvP+SDoAQ77FH6OyRmuK48SZKmdHJRFm87RsSs8qm6kP39a/pOPURByJw+OXzQIqcfmKtA==} + engines: {node: '>= 16'} + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.12 + '@types/lodash.clonedeep': 4.5.7 + js-yaml: 4.1.0 + lodash.clonedeep: 4.5.0 + dev: false + + /@astrojs/compiler@1.5.0: + resolution: {integrity: sha512-k04X/7nlMklU0HQUScxbCTf5n8/Vr+0U0bawb9QWulWxd6qJf3FmBrNATgTYiltjB4pc5HBqmmttAfFi7m4lLg==} + dev: false + + /@astrojs/language-server@1.0.8: + resolution: {integrity: sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==} + hasBin: true + dependencies: + '@astrojs/compiler': 1.5.0 + '@jridgewell/trace-mapping': 0.3.18 + '@vscode/emmet-helper': 2.8.8 + events: 3.3.0 + prettier: 2.8.8 + prettier-plugin-astro: 0.9.1 + vscode-css-languageservice: 6.2.6 + vscode-html-languageservice: 5.0.6 + vscode-languageserver: 8.1.0 + vscode-languageserver-protocol: 3.17.3 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-uri: 3.0.7 + dev: false + + /@astrojs/markdown-remark@2.2.1(astro@2.5.6): + resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==} + peerDependencies: + astro: ^2.5.0 + dependencies: + '@astrojs/prism': 2.1.2 + astro: 2.5.6(@types/node@18.16.3) + github-slugger: 1.5.0 + import-meta-resolve: 2.2.2 + rehype-raw: 6.1.1 + rehype-stringify: 9.0.3 + remark-gfm: 3.0.1 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + remark-smartypants: 2.0.0 + shiki: 0.14.2 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/preact@2.2.1(preact@10.13.2): + resolution: {integrity: sha512-lObgrX/qfK2sEnGDWoyQ8KojFJ54FIKB4TeywWmgj4ZTg0yLnvvOz6ReyPQ8VfR/1MU+vWs22jE4cuZJ/vPnOA==} + engines: {node: '>=16.12.0'} + peerDependencies: + preact: ^10.6.5 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-react-jsx': 7.22.3(@babel/core@7.22.1) + '@preact/signals': 1.1.3(preact@10.13.2) + babel-plugin-module-resolver: 5.0.0 + preact: 10.13.2 + preact-render-to-string: 5.2.6(preact@10.13.2) + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/prism@2.1.2: + resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==} + engines: {node: '>=16.12.0'} + dependencies: + prismjs: 1.29.0 + dev: false + + /@astrojs/react@2.2.1(@types/react-dom@18.2.3)(@types/react@18.2.5)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nq5Zr8iWdwjSp5fh1NReaCplwsnL4w5PXAY5XWu1jE/frxEfF/ycGHrrhwWW0uJHX9G+kUtmQLR0GBhlR4FmAw==} + engines: {node: '>=16.12.0'} + peerDependencies: + '@types/react': ^17.0.50 || ^18.0.21 + '@types/react-dom': ^17.0.17 || ^18.0.6 + react: ^17.0.2 || ^18.0.0 + react-dom: ^17.0.2 || ^18.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-react-jsx': 7.22.3(@babel/core@7.22.1) + '@types/react': 18.2.5 + '@types/react-dom': 18.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/telemetry@2.1.1: + resolution: {integrity: sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==} + engines: {node: '>=16.12.0'} + dependencies: + ci-info: 3.8.0 + debug: 4.3.4 + dlv: 1.1.3 + dset: 3.1.2 + is-docker: 3.0.0 + is-wsl: 2.2.0 + undici: 5.22.1 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/webapi@2.2.0: + resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==} + dependencies: + undici: 5.22.1 + dev: false + + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: false + + /@babel/compat-data@7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: false + + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.7 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: false + + /@babel/helper-environment-visitor@7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-module-transforms@7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-plugin-utils@7.21.5: + resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-simple-access@7.21.5: + resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/helper-string-parser@7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helpers@7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: false + + /@babel/parser@7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: false + + /@babel/plugin-transform-react-jsx@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-JEulRWG2f04a7L8VWaOngWiK6p+JOSpB+DAtwfJgOaej1qdbNxqtK7MwTBHjUA10NeFcszlFNqCdbRcirzh2uQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/types': 7.22.4 + dev: false + + /@babel/template@7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: false + + /@babel/traverse@7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: false + + /@docsearch/css@3.3.4: + resolution: {integrity: sha512-vDwCDoVXDgopw/hvr0zEADew2wWaGP8Qq0Bxhgii1Ewz2t4fQeyJwIRN/mWADeLFYPVkpz8TpEbxya/i6Tm0WA==} + dev: false + + /@docsearch/react@3.3.4(@algolia/client-search@4.17.0)(@types/react@18.2.5)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aeOf1WC5zMzBEi2SI6WWznOmIo9rnpN4p7a3zHXxowVciqlI4HsZGtOR9nFOufLeolv7HibwLlaM0oyUqJxasw==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.8.2 + '@algolia/autocomplete-preset-algolia': 1.8.2(@algolia/client-search@4.17.0)(algoliasearch@4.17.1) + '@docsearch/css': 3.3.4 + '@types/react': 18.2.5 + algoliasearch: 4.17.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@algolia/client-search' + dev: false + + /@emmetio/abbreviation@2.3.3: + resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} + dependencies: + '@emmetio/scanner': 1.0.4 + dev: false + + /@emmetio/css-abbreviation@2.1.8: + resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + dependencies: + '@emmetio/scanner': 1.0.4 + dev: false + + /@emmetio/scanner@1.0.4: + resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + dev: false + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.42.0 + eslint-visitor-keys: 3.4.1 + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.2 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@eslint/js@8.42.0: + resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@humanwhocodes/config-array@0.11.10: + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: false + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: false + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: false + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: false + + /@jsdevtools/ono@7.1.3: + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + dev: false + + /@ljharb/has-package-exports-patterns@0.0.2: + resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgr/utils@2.4.1: + resolution: {integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.2.12 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.5.3 + dev: false + + /@preact/signals-core@1.3.0: + resolution: {integrity: sha512-M+M3ZOtd1dtV/uasyk4SZu1vbfEJ4NeENv0F7F12nijZYedB5wSgbtZcuACyssnTznhF4ctUyrR0dZHuHfyWKA==} + dev: false + + /@preact/signals@1.1.3(preact@10.13.2): + resolution: {integrity: sha512-N09DuAVvc90bBZVRwD+aFhtGyHAmJLhS3IFoawO/bYJRcil4k83nBOchpCEoS0s5+BXBpahgp0Mjf+IOqP57Og==} + peerDependencies: + preact: 10.x + dependencies: + '@preact/signals-core': 1.3.0 + preact: 10.13.2 + dev: false + + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + dependencies: + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.1 + dev: false + + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@types/babel__template@7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: false + + /@types/babel__traverse@7.20.1: + resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + dependencies: + '@babel/types': 7.22.4 + dev: false + + /@types/debug@4.1.8: + resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} + dependencies: + '@types/ms': 0.7.31 + dev: false + + /@types/hast@2.3.4: + resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + + /@types/json5@0.0.30: + resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} + dev: false + + /@types/lodash.clonedeep@4.5.7: + resolution: {integrity: sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==} + dependencies: + '@types/lodash': 4.14.195 + dev: false + + /@types/lodash@4.14.195: + resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} + dev: false + + /@types/mdast@3.0.11: + resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /@types/ms@0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: false + + /@types/nlcst@1.0.0: + resolution: {integrity: sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /@types/node@18.16.3: + resolution: {integrity: sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==} + dev: false + + /@types/parse5@6.0.3: + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + dev: false + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react-dom@18.2.3: + resolution: {integrity: sha512-hxXEXWxFJXbY0LMj/T69mznqOZJXNtQMqVxIiirVAZnnpeYiD4zt+lPsgcr/cfWg2VLsxZ1y26vigG03prYB+Q==} + dependencies: + '@types/react': 18.2.5 + dev: false + + /@types/react@18.2.5: + resolution: {integrity: sha512-RuoMedzJ5AOh23Dvws13LU9jpZHIc/k90AgmK7CecAYeWmSr3553L4u5rk4sWAPBuQosfT7HmTfG4Rg5o4nGEA==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: false + + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + dev: false + + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: false + + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + dev: true + + /@types/unist@2.0.6: + resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + dev: false + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: false + + /@typescript-eslint/eslint-plugin@5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.42.0)(typescript@5.1.3): + resolution: {integrity: sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 5.59.8(eslint@8.42.0)(typescript@5.1.3) + '@typescript-eslint/scope-manager': 5.59.8 + '@typescript-eslint/type-utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) + '@typescript-eslint/utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) + debug: 4.3.4 + eslint: 8.42.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.59.8(eslint@8.42.0)(typescript@5.1.3): + resolution: {integrity: sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.59.8 + '@typescript-eslint/types': 5.59.8 + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) + debug: 4.3.4 + eslint: 8.42.0 + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.59.8: + resolution: {integrity: sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.59.8 + '@typescript-eslint/visitor-keys': 5.59.8 + dev: true + + /@typescript-eslint/type-utils@5.59.8(eslint@8.42.0)(typescript@5.1.3): + resolution: {integrity: sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) + '@typescript-eslint/utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) + debug: 4.3.4 + eslint: 8.42.0 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.59.8: + resolution: {integrity: sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.59.8(typescript@5.1.3): + resolution: {integrity: sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.59.8 + '@typescript-eslint/visitor-keys': 5.59.8 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.59.8(eslint@8.42.0)(typescript@5.1.3): + resolution: {integrity: sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.59.8 + '@typescript-eslint/types': 5.59.8 + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) + eslint: 8.42.0 + eslint-scope: 5.1.1 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.59.8: + resolution: {integrity: sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.59.8 + eslint-visitor-keys: 3.4.1 + dev: true + + /@vscode/emmet-helper@2.8.8: + resolution: {integrity: sha512-QuD4CmNeXSFxuP8VZwI6qL+8vmmd7JcSdwsEIdsrzb4YumWs/+4rXRX9MM+NsFfUO69g6ezngCD7XRd6jY9TQw==} + dependencies: + emmet: 2.4.4 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-uri: 2.1.2 + dev: false + + /@vscode/l10n@0.0.14: + resolution: {integrity: sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /algoliasearch@4.17.1: + resolution: {integrity: sha512-4GDQ1RhP2qUR3x8PevFRbEdqZqIARNViZYjgTJmA1T7wRNtFA3W4Aqc/RsODqa1J8IO/QDla5x4tWuUS8NV8wA==} + dependencies: + '@algolia/cache-browser-local-storage': 4.17.1 + '@algolia/cache-common': 4.17.1 + '@algolia/cache-in-memory': 4.17.1 + '@algolia/client-account': 4.17.1 + '@algolia/client-analytics': 4.17.1 + '@algolia/client-common': 4.17.1 + '@algolia/client-personalization': 4.17.1 + '@algolia/client-search': 4.17.1 + '@algolia/logger-common': 4.17.1 + '@algolia/logger-console': 4.17.1 + '@algolia/requester-browser-xhr': 4.17.1 + '@algolia/requester-common': 4.17.1 + '@algolia/requester-node-http': 4.17.1 + '@algolia/transporter': 4.17.1 + dev: false + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + + /ansi-sequence-parser@1.1.0: + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} + dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: false + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /astro@2.5.6(@types/node@18.16.3): + resolution: {integrity: sha512-IdgEnjP8kqLEYgNbWcrRyqR4tUq1iEXI3AZ5RqV9PTaDd4l9H+UmN0oDjrzG8VTmCdpfSHGlQEr+0qkGPoIiOw==} + engines: {node: '>=16.12.0', npm: '>=6.14.0'} + hasBin: true + peerDependencies: + sharp: '>=0.31.0' + peerDependenciesMeta: + sharp: + optional: true + dependencies: + '@astrojs/compiler': 1.5.0 + '@astrojs/language-server': 1.0.8 + '@astrojs/markdown-remark': 2.2.1(astro@2.5.6) + '@astrojs/telemetry': 2.1.1 + '@astrojs/webapi': 2.2.0 + '@babel/core': 7.22.1 + '@babel/generator': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/plugin-transform-react-jsx': 7.22.3(@babel/core@7.22.1) + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + '@types/babel__core': 7.20.1 + '@types/yargs-parser': 21.0.0 + acorn: 8.8.2 + boxen: 6.2.1 + chokidar: 3.5.3 + ci-info: 3.8.0 + common-ancestor-path: 1.0.1 + cookie: 0.5.0 + debug: 4.3.4 + deepmerge-ts: 4.3.0 + devalue: 4.3.2 + diff: 5.1.0 + es-module-lexer: 1.2.1 + esbuild: 0.17.19 + estree-walker: 3.0.0 + execa: 6.1.0 + fast-glob: 3.2.12 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.27.0 + mime: 3.0.0 + ora: 6.3.1 + p-limit: 4.0.0 + path-to-regexp: 6.2.1 + preferred-pm: 3.0.3 + prompts: 2.4.2 + rehype: 12.0.1 + semver: 7.5.1 + server-destroy: 1.0.1 + shiki: 0.14.2 + slash: 4.0.0 + string-width: 5.1.2 + strip-ansi: 7.1.0 + supports-esm: 1.0.0 + tsconfig-resolver: 3.0.1 + typescript: 5.1.3 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + vite: 4.3.9(@types/node@18.16.3) + vitefu: 0.2.4(vite@4.3.9) + yargs-parser: 21.1.1 + zod: 3.21.4 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: false + + /babel-plugin-module-resolver@5.0.0: + resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==} + engines: {node: '>= 16'} + dependencies: + find-babel-config: 2.0.0 + glob: 8.1.0 + pkg-up: 3.1.0 + reselect: 4.1.8 + resolve: 1.22.2 + dev: false + + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: false + + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: false + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.21.7: + resolution: {integrity: sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001494 + electron-to-chromium: 1.4.419 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11(browserslist@4.21.7) + dev: false + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: false + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: false + + /caniuse-lite@1.0.30001494: + resolution: {integrity: sha512-sY2B5Qyl46ZzfYDegrl8GBCzdawSLT4ThM9b9F+aDYUrAG2zCOyMbd2Tq34mS1g4ZKBfjRlzOohQMxx28x6wJg==} + dev: false + + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + + /character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + dev: false + + /character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + dev: false + + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: false + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: false + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: false + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: false + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: false + + /cli-spinners@2.9.0: + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + engines: {node: '>=6'} + dev: false + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + dev: false + + /common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + /deepmerge-ts@4.3.0: + resolution: {integrity: sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==} + engines: {node: '>=12.4.0'} + dev: false + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: false + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.1.1 + titleize: 3.0.0 + dev: false + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: false + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + dev: false + + /diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: false + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: false + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + + /dset@3.1.2: + resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} + engines: {node: '>=4'} + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: false + + /electron-to-chromium@1.4.419: + resolution: {integrity: sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw==} + dev: false + + /emmet@2.4.4: + resolution: {integrity: sha512-v8Mwpjym55CS3EjJgiCLWUB3J2HSR93jhzXW325720u8KvYxdI2voYLstW3pHBxFz54H6jFjayR9G4LfTG0q+g==} + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: false + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /es-module-lexer@1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} + dev: false + + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: false + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + + /eslint-plugin-prettier@4.2.1(eslint@8.42.0)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.42.0 + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + dev: false + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /eslint@8.42.0: + resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.42.0 + '@humanwhocodes/config-array': 0.11.10 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + graphemer: 1.4.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.1 + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + /estree-walker@3.0.0: + resolution: {integrity: sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ==} + dev: false + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + + /execa@6.1.0: + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 3.0.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: false + + /execa@7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: false + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: false + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + /fast-xml-parser@4.2.3: + resolution: {integrity: sha512-3wwn8WJZwUPwv7nU2hxIwKdxpwVexw8AYrUSG0prEPZXKbLBmz3eBlqvj+gB7lDY26MHDKCw7A8G2zoVO/Sf9A==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-babel-config@2.0.0: + resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==} + engines: {node: '>=16.0.0'} + dependencies: + json5: 2.2.3 + path-exists: 4.0.0 + dev: false + + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: false + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: false + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: false + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + dev: false + + /github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: false + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: false + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: false + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-package-exports@1.3.0: + resolution: {integrity: sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==} + dependencies: + '@ljharb/has-package-exports-patterns': 0.0.2 + dev: false + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: false + + /hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + dependencies: + '@types/hast': 2.3.4 + '@types/unist': 2.0.6 + hastscript: 7.2.0 + property-information: 6.2.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + dev: false + + /hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + dependencies: + '@types/hast': 2.3.4 + dev: false + + /hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + dependencies: + '@types/hast': 2.3.4 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-html@8.0.4: + resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} + dependencies: + '@types/hast': 2.3.4 + '@types/unist': 2.0.6 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 7.2.3 + hast-util-whitespace: 2.0.1 + html-void-elements: 2.0.1 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + dev: false + + /hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + dependencies: + '@types/hast': 2.3.4 + comma-separated-tokens: 2.0.3 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + dev: false + + /hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + dependencies: + '@types/hast': 2.3.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 + dev: false + + /html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + /html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + dev: false + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false + + /human-signals@3.0.1: + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} + dev: false + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: false + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /import-meta-resolve@2.2.2: + resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} + dev: false + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: false + + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: false + + /is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + dependencies: + has: 1.0.3 + dev: false + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: false + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: false + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: false + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + dev: false + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: false + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: false + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: false + + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: false + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: false + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.2.0 + is-unicode-supported: 1.3.0 + dev: false + + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: false + + /mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + dependencies: + '@types/mdast': 3.0.11 + '@types/unist': 2.0.6 + unist-util-visit: 4.1.2 + dev: false + + /mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + dependencies: + '@types/mdast': 3.0.11 + escape-string-regexp: 5.0.0 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + dependencies: + '@types/mdast': 3.0.11 + '@types/unist': 2.0.6 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + dependencies: + '@types/mdast': 3.0.11 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.2 + micromark-util-character: 1.2.0 + dev: false + + /mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.5.0 + micromark-util-normalize-identifier: 1.1.0 + dev: false + + /mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.5.0 + dev: false + + /mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + dependencies: + '@types/mdast': 3.0.11 + markdown-table: 3.0.3 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-to-markdown: 1.5.0 + dev: false + + /mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + dependencies: + mdast-util-from-markdown: 1.3.1 + mdast-util-gfm-autolink-literal: 1.0.3 + mdast-util-gfm-footnote: 1.0.2 + mdast-util-gfm-strikethrough: 1.0.3 + mdast-util-gfm-table: 1.0.7 + mdast-util-gfm-task-list-item: 1.0.2 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + dependencies: + '@types/mdast': 3.0.11 + unist-util-is: 5.2.1 + dev: false + + /mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + dependencies: + '@types/hast': 2.3.4 + '@types/mdast': 3.0.11 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + dev: false + + /mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + dependencies: + '@types/mdast': 3.0.11 + '@types/unist': 2.0.6 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.1.0 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + dev: false + + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + dependencies: + '@types/mdast': 3.0.11 + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + dependencies: + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + dependencies: + micromark-util-types: 1.1.0 + dev: false + + /micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 + micromark-extension-gfm-tagfilter: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + dev: false + + /micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + dev: false + + /micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + dependencies: + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + dev: false + + /micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + dev: false + + /micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + dependencies: + '@types/debug': 4.1.8 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + dev: false + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + /nlcst-to-string@3.1.1: + resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} + dependencies: + '@types/nlcst': 1.0.0 + dev: false + + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: false + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: false + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + + /ora@6.3.1: + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + chalk: 5.2.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.0 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + strip-ansi: 7.1.0 + wcwidth: 1.0.1 + dev: false + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: false + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: false + + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parse-latin@5.0.1: + resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} + dependencies: + nlcst-to-string: 3.1.1 + unist-util-modify-children: 3.1.1 + unist-util-visit-children: 2.0.2 + dev: false + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: false + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: false + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: false + + /pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + dependencies: + find-up: 3.0.0 + dev: false + + /postcss@8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /preact-render-to-string@5.2.6(preact@10.13.2): + resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} + peerDependencies: + preact: '>=10' + dependencies: + preact: 10.13.2 + pretty-format: 3.8.0 + dev: false + + /preact@10.13.2: + resolution: {integrity: sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==} + dev: false + + /preferred-pm@3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: false + + /prettier-plugin-astro@0.9.1: + resolution: {integrity: sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==} + engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} + dependencies: + '@astrojs/compiler': 1.5.0 + prettier: 2.8.8 + sass-formatter: 0.7.6 + synckit: 0.8.5 + dev: false + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: false + + /pretty-format@3.8.0: + resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} + dev: false + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: false + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + + /property-information@6.2.0: + resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} + dev: false + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /rehype-parse@8.0.4: + resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} + dependencies: + '@types/hast': 2.3.4 + hast-util-from-parse5: 7.1.2 + parse5: 6.0.1 + unified: 10.1.2 + dev: false + + /rehype-raw@6.1.1: + resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + dependencies: + '@types/hast': 2.3.4 + hast-util-raw: 7.2.3 + unified: 10.1.2 + dev: false + + /rehype-stringify@9.0.3: + resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==} + dependencies: + '@types/hast': 2.3.4 + hast-util-to-html: 8.0.4 + unified: 10.1.2 + dev: false + + /rehype@12.0.1: + resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} + dependencies: + '@types/hast': 2.3.4 + rehype-parse: 8.0.4 + rehype-stringify: 9.0.3 + unified: 10.1.2 + dev: false + + /remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + dependencies: + '@types/hast': 2.3.4 + '@types/mdast': 3.0.11 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 + dev: false + + /remark-smartypants@2.0.0: + resolution: {integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + retext: 8.1.0 + retext-smartypants: 5.2.0 + unist-util-visit: 4.1.2 + dev: false + + /reselect@4.1.8: + resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: false + + /retext-latin@3.1.0: + resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} + dependencies: + '@types/nlcst': 1.0.0 + parse-latin: 5.0.1 + unherit: 3.0.1 + unified: 10.1.2 + dev: false + + /retext-smartypants@5.2.0: + resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} + dependencies: + '@types/nlcst': 1.0.0 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + + /retext-stringify@3.1.0: + resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} + dependencies: + '@types/nlcst': 1.0.0 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + dev: false + + /retext@8.1.0: + resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} + dependencies: + '@types/nlcst': 1.0.0 + retext-latin: 3.1.0 + retext-stringify: 3.1.0 + unified: 10.1.2 + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /rollup@3.23.1: + resolution: {integrity: sha512-ybRdFVHOoljGEFILHLd2g/qateqUdjE6YS41WXq4p3C/WwD3xtWxV4FYWETA1u9TeXQc5K8L8zHE5d/scOvrOQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /s.color@0.0.15: + resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} + dev: false + + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: false + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /sass-formatter@0.7.6: + resolution: {integrity: sha512-hXdxU6PCkiV3XAiSnX+XLqz2ohHoEnVUlrd8LEVMAI80uB1+OTScIkH9n6qQwImZpTye1r1WG1rbGUteHNhoHg==} + dependencies: + suf-log: 2.5.3 + dev: false + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: false + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: false + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: false + + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /server-destroy@1.0.1: + resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /shiki@0.14.2: + resolution: {integrity: sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==} + dependencies: + ansi-sequence-parser: 1.1.0 + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 + dev: false + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: false + + /space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + dev: false + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: false + + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + dev: false + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: false + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: false + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: false + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: false + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /suf-log@2.5.3: + resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} + dependencies: + s.color: 0.0.15 + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: false + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-esm@1.0.0: + resolution: {integrity: sha512-96Am8CDqUaC0I2+C/swJ0yEvM8ZnGn4unoers/LSdE4umhX7mELzqyLzx3HnZAluq5PXIsGMKqa7NkqaeHMPcg==} + dependencies: + has-package-exports: 1.3.0 + dev: false + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: false + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.1 + tslib: 2.5.3 + dev: false + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + + /trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + dev: false + + /tsconfig-resolver@3.0.1: + resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} + dependencies: + '@types/json5': 0.0.30 + '@types/resolve': 1.20.2 + json5: 2.2.3 + resolve: 1.22.2 + strip-bom: 4.0.0 + type-fest: 0.13.1 + dev: false + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.5.3: + resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + dev: false + + /tsutils@3.21.0(typescript@5.1.3): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.1.3 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + + /type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: false + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + + /typescript@5.1.3: + resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + engines: {node: '>=14.17'} + hasBin: true + + /undici@5.22.1: + resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} + engines: {node: '>=14.0'} + dependencies: + busboy: 1.6.0 + dev: false + + /unherit@3.0.1: + resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} + dev: false + + /unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + dependencies: + '@types/unist': 2.0.6 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 5.3.7 + dev: false + + /unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + dev: false + + /unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-modify-children@3.1.1: + resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} + dependencies: + '@types/unist': 2.0.6 + array-iterate: 2.0.1 + dev: false + + /unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-visit-children@2.0.2: + resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.2.1 + dev: false + + /unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: false + + /update-browserslist-db@1.0.11(browserslist@4.21.7): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.7 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.1.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: false + + /vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + dependencies: + '@types/unist': 2.0.6 + vfile: 5.3.7 + dev: false + + /vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + dependencies: + '@types/unist': 2.0.6 + unist-util-stringify-position: 3.0.3 + dev: false + + /vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + dependencies: + '@types/unist': 2.0.6 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + dev: false + + /vite@4.3.9(@types/node@18.16.3): + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.16.3 + esbuild: 0.17.19 + postcss: 8.4.24 + rollup: 3.23.1 + optionalDependencies: + fsevents: 2.3.2 + dev: false + + /vitefu@0.2.4(vite@4.3.9): + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 4.3.9(@types/node@18.16.3) + dev: false + + /vscode-css-languageservice@6.2.6: + resolution: {integrity: sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==} + dependencies: + '@vscode/l10n': 0.0.14 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-uri: 3.0.7 + dev: false + + /vscode-html-languageservice@5.0.6: + resolution: {integrity: sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==} + dependencies: + '@vscode/l10n': 0.0.14 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-uri: 3.0.7 + dev: false + + /vscode-jsonrpc@8.1.0: + resolution: {integrity: sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==} + engines: {node: '>=14.0.0'} + dev: false + + /vscode-languageserver-protocol@3.17.3: + resolution: {integrity: sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==} + dependencies: + vscode-jsonrpc: 8.1.0 + vscode-languageserver-types: 3.17.3 + dev: false + + /vscode-languageserver-textdocument@1.0.8: + resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} + dev: false + + /vscode-languageserver-types@3.17.3: + resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} + dev: false + + /vscode-languageserver@8.1.0: + resolution: {integrity: sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==} + hasBin: true + dependencies: + vscode-languageserver-protocol: 3.17.3 + dev: false + + /vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: false + + /vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + dev: false + + /vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + dev: false + + /vscode-uri@3.0.7: + resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} + dev: false + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: false + + /web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + dev: false + + /which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + dev: false + + /which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: false + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + dependencies: + sax: 1.2.4 + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: false + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: false + + /zod@3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: false diff --git a/docs/content/static/images/detailing/asset_bundle.webp b/docs/public/details/asset_bundle.webp similarity index 100% rename from docs/content/static/images/detailing/asset_bundle.webp rename to docs/public/details/asset_bundle.webp diff --git a/docs/content/static/fav/favicon.ico b/docs/public/favicon.ico similarity index 100% rename from docs/content/static/fav/favicon.ico rename to docs/public/favicon.ico diff --git a/docs/content/static/images/getting_started/mod_manager_show_in_explorer.webp b/docs/public/getting_started/mod_manager_show_in_explorer.webp similarity index 100% rename from docs/content/static/images/getting_started/mod_manager_show_in_explorer.webp rename to docs/public/getting_started/mod_manager_show_in_explorer.webp diff --git a/docs/content/static/images/home/home_logo.webp b/docs/public/home_logo.webp similarity index 100% rename from docs/content/static/images/home/home_logo.webp rename to docs/public/home_logo.webp diff --git a/docs/content/static/images/icon.webp b/docs/public/icon.webp similarity index 100% rename from docs/content/static/images/icon.webp rename to docs/public/icon.webp diff --git a/docs/public/make-scrollable-code-focusable.js b/docs/public/make-scrollable-code-focusable.js new file mode 100644 index 00000000..f2b7030f --- /dev/null +++ b/docs/public/make-scrollable-code-focusable.js @@ -0,0 +1,3 @@ +Array.from(document.getElementsByTagName('pre')).forEach((element) => { + element.setAttribute('tabindex', '0'); +}); diff --git a/docs/content/static/images/planet_gen/earth_heightmap.webp b/docs/public/planet_gen/earth_heightmap.webp similarity index 100% rename from docs/content/static/images/planet_gen/earth_heightmap.webp rename to docs/public/planet_gen/earth_heightmap.webp diff --git a/docs/content/static/images/ship_log/auto_map_mode.webp b/docs/public/ship_log/auto_map_mode.webp similarity index 100% rename from docs/content/static/images/ship_log/auto_map_mode.webp rename to docs/public/ship_log/auto_map_mode.webp diff --git a/docs/content/static/images/ship_log/auto_rumor_mode.webp b/docs/public/ship_log/auto_rumor_mode.webp similarity index 100% rename from docs/content/static/images/ship_log/auto_rumor_mode.webp rename to docs/public/ship_log/auto_rumor_mode.webp diff --git a/docs/content/static/images/ship_log/change_color.webp b/docs/public/ship_log/change_color.webp similarity index 100% rename from docs/content/static/images/ship_log/change_color.webp rename to docs/public/ship_log/change_color.webp diff --git a/docs/content/static/images/ship_log/child_entry_example.webp b/docs/public/ship_log/child_entry_example.webp similarity index 100% rename from docs/content/static/images/ship_log/child_entry_example.webp rename to docs/public/ship_log/child_entry_example.webp diff --git a/docs/content/static/images/ship_log/curiosity_example.webp b/docs/public/ship_log/curiosity_example.webp similarity index 100% rename from docs/content/static/images/ship_log/curiosity_example.webp rename to docs/public/ship_log/curiosity_example.webp diff --git a/docs/content/static/images/ship_log/entry_example.webp b/docs/public/ship_log/entry_example.webp similarity index 100% rename from docs/content/static/images/ship_log/entry_example.webp rename to docs/public/ship_log/entry_example.webp diff --git a/docs/content/static/images/ship_log/entry_position.webp b/docs/public/ship_log/entry_position.webp similarity index 100% rename from docs/content/static/images/ship_log/entry_position.webp rename to docs/public/ship_log/entry_position.webp diff --git a/docs/content/static/images/ship_log/explore_example.webp b/docs/public/ship_log/explore_example.webp similarity index 100% rename from docs/content/static/images/ship_log/explore_example.webp rename to docs/public/ship_log/explore_example.webp diff --git a/docs/content/static/images/ship_log/map_indices.webp b/docs/public/ship_log/map_indices.webp similarity index 100% rename from docs/content/static/images/ship_log/map_indices.webp rename to docs/public/ship_log/map_indices.webp diff --git a/docs/content/static/images/ship_log/rumor_example.webp b/docs/public/ship_log/rumor_example.webp similarity index 100% rename from docs/content/static/images/ship_log/rumor_example.webp rename to docs/public/ship_log/rumor_example.webp diff --git a/docs/content/static/images/star_system/hearthian_solar_system_coordinates.webp b/docs/public/star_systems/hearthian_solar_system_coordinates.webp similarity index 100% rename from docs/content/static/images/star_system/hearthian_solar_system_coordinates.webp rename to docs/public/star_systems/hearthian_solar_system_coordinates.webp diff --git a/docs/content/static/images/star_system/nomai_coordinate_indexes.webp b/docs/public/star_systems/nomai_coordinate_indexes.webp similarity index 100% rename from docs/content/static/images/star_system/nomai_coordinate_indexes.webp rename to docs/public/star_systems/nomai_coordinate_indexes.webp diff --git a/docs/src/components/Footer/AvatarList.astro b/docs/src/components/Footer/AvatarList.astro new file mode 100644 index 00000000..a56c9a38 --- /dev/null +++ b/docs/src/components/Footer/AvatarList.astro @@ -0,0 +1,175 @@ +--- +// fetch all commits for just this page's path +type Props = { + path: string; +}; +const { path } = Astro.props; +const resolvedPath = `docs/${path}`; +const url = `https://api.github.com/repos/Outer-Wilds-New-Horizons/new-horizons/commits?path=${resolvedPath}`; +const commitsURL = `https://github.com/Outer-Wilds-New-Horizons/new-horizons/commits/main/${resolvedPath}`; + +type Commit = { + author: { + id: string; + login: string; + }; +}; + +async function getCommits(url: string) { + try { + const token = import.meta.env.GITHUB_TOKEN ?? "hello"; + if (!token) { + throw new Error('Cannot find "GITHUB_TOKEN" used for escaping rate-limiting.'); + } + + const auth = `Basic ${Buffer.from(token, "binary").toString("base64")}`; + + const res = await fetch(url, { + method: "GET", + headers: { + Authorization: auth, + "User-Agent": "astro-docs/1.0" + } + }); + + const data = await res.json(); + + if (!res.ok) { + throw new Error( + `Request to fetch commits failed. Reason: ${res.statusText} + Message: ${data.message}` + ); + } + + return data as Commit[]; + } catch (e) { + console.warn(`[error] /src/components/AvatarList.astro + ${(e as any)?.message ?? e}`); + return [] as Commit[]; + } +} + +function removeDups(arr: Commit[]) { + const map = new Map(); + + for (let item of arr) { + const author = item.author; + // Deduplicate based on author.id + map.set(author.id, { login: author.login, id: author.id }); + } + + return [...map.values()]; +} + +const data = await getCommits(url); +const unique = removeDups(data); +const recentContributors = unique.slice(0, 3); // only show avatars for the 3 most recent contributors +const additionalContributors = unique.length - recentContributors.length; // list the rest of them as # of extra contributors +--- + + +
+ + { + additionalContributors > 0 && ( + + {`and ${additionalContributors} additional contributor${ + additionalContributors > 1 ? "s" : "" + }.`} + + ) + } + {unique.length === 0 && Contributors} +
+ + diff --git a/docs/src/components/Footer/Footer.astro b/docs/src/components/Footer/Footer.astro new file mode 100644 index 00000000..8eab03d8 --- /dev/null +++ b/docs/src/components/Footer/Footer.astro @@ -0,0 +1,19 @@ +--- +import AvatarList from './AvatarList.astro'; +type Props = { + path: string; +}; +const { path } = Astro.props; +--- + + + + diff --git a/docs/src/components/HeadCommon.astro b/docs/src/components/HeadCommon.astro new file mode 100644 index 00000000..aaaa0d33 --- /dev/null +++ b/docs/src/components/HeadCommon.astro @@ -0,0 +1,44 @@ +--- +import "../styles/theme.css"; +import "../styles/index.css"; +--- + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/components/HeadSEO.astro b/docs/src/components/HeadSEO.astro new file mode 100644 index 00000000..0214c59d --- /dev/null +++ b/docs/src/components/HeadSEO.astro @@ -0,0 +1,39 @@ +--- +import type { CollectionEntry } from "astro:content"; +import { SITE, OPEN_GRAPH } from "../consts"; + +type Props = { canonicalUrl: URL } & CollectionEntry<"docs">["data"]; + +const { ogLocale, image, title, description, canonicalUrl } = Astro.props; +const formattedContentTitle = `${title} 🚀 ${SITE.title}`; +const imageSrc = image?.src ?? OPEN_GRAPH.image.src; +const canonicalImageSrc = new URL(imageSrc, Astro.site); +const imageAlt = image?.alt ?? OPEN_GRAPH.image.alt; +--- + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/src/components/Header/AstroLogo.astro b/docs/src/components/Header/AstroLogo.astro new file mode 100644 index 00000000..0d440297 --- /dev/null +++ b/docs/src/components/Header/AstroLogo.astro @@ -0,0 +1,8 @@ +--- +type Props = { + size: number; +}; +const { size } = Astro.props; +--- + + diff --git a/docs/src/components/Header/Header.astro b/docs/src/components/Header/Header.astro new file mode 100644 index 00000000..3f578480 --- /dev/null +++ b/docs/src/components/Header/Header.astro @@ -0,0 +1,149 @@ +--- +import { getLanguageFromURL, KNOWN_LANGUAGE_CODES } from '../../languages'; +import { SITE } from '../../consts'; +import AstroLogo from './AstroLogo.astro'; +import SkipToContent from './SkipToContent.astro'; +import SidebarToggle from './SidebarToggle'; +import LanguageSelect from './LanguageSelect'; +import Search from './Search'; + +type Props = { + currentPage: string; +}; + +const { currentPage } = Astro.props; +const lang = getLanguageFromURL(currentPage); +--- + +
+ + +
+ + + + diff --git a/docs/src/components/Header/LanguageSelect.css b/docs/src/components/Header/LanguageSelect.css new file mode 100644 index 00000000..9e0ae7ce --- /dev/null +++ b/docs/src/components/Header/LanguageSelect.css @@ -0,0 +1,47 @@ +.language-select { + flex-grow: 1; + width: 48px; + box-sizing: border-box; + margin: 0; + padding: 0.33em 0.5em; + overflow: visible; + font-weight: 500; + font-size: 1rem; + font-family: inherit; + line-height: inherit; + background-color: var(--theme-bg); + border-color: var(--theme-text-lighter); + color: var(--theme-text-light); + border-style: solid; + border-width: 1px; + border-radius: 0.25rem; + outline: 0; + cursor: pointer; + transition-timing-function: ease-out; + transition-duration: 0.2s; + transition-property: border-color, color; + -webkit-font-smoothing: antialiased; + padding-left: 30px; + padding-right: 1rem; +} +.language-select-wrapper .language-select:hover, +.language-select-wrapper .language-select:focus { + color: var(--theme-text); + border-color: var(--theme-text-light); +} +.language-select-wrapper { + color: var(--theme-text-light); + position: relative; +} +.language-select-wrapper > svg { + position: absolute; + top: 7px; + left: 10px; + pointer-events: none; +} + +@media (min-width: 50em) { + .language-select { + width: 100%; + } +} diff --git a/docs/src/components/Header/LanguageSelect.tsx b/docs/src/components/Header/LanguageSelect.tsx new file mode 100644 index 00000000..97409af2 --- /dev/null +++ b/docs/src/components/Header/LanguageSelect.tsx @@ -0,0 +1,49 @@ +/** @jsxImportSource react */ +import type { FunctionComponent } from 'react'; +import './LanguageSelect.css'; +import { KNOWN_LANGUAGES, langPathRegex } from '../../languages'; + +const LanguageSelect: FunctionComponent<{ lang: string }> = ({ lang }) => { + return ( +
+ + +
+ ); +}; + +export default LanguageSelect; diff --git a/docs/src/components/Header/Search.css b/docs/src/components/Header/Search.css new file mode 100644 index 00000000..09ad520a --- /dev/null +++ b/docs/src/components/Header/Search.css @@ -0,0 +1,75 @@ +/** Style Algolia */ +:root { + --docsearch-primary-color: var(--theme-accent); + --docsearch-logo-color: var(--theme-text); +} +.search-input { + flex-grow: 1; + box-sizing: border-box; + width: 100%; + margin: 0; + padding: 0.33em 0.5em; + overflow: visible; + font-weight: 500; + font-size: 1rem; + font-family: inherit; + line-height: inherit; + background-color: var(--theme-divider); + border-color: var(--theme-divider); + color: var(--theme-text-light); + border-style: solid; + border-width: 1px; + border-radius: 0.25rem; + outline: 0; + cursor: pointer; + transition-timing-function: ease-out; + transition-duration: 0.2s; + transition-property: border-color, color; + -webkit-font-smoothing: antialiased; +} +.search-input:hover, +.search-input:focus { + color: var(--theme-text); + border-color: var(--theme-text-light); +} +.search-input:hover::placeholder, +.search-input:focus::placeholder { + color: var(--theme-text-light); +} +.search-input::placeholder { + color: var(--theme-text-light); +} +.search-hint { + position: absolute; + top: 7px; + right: 19px; + padding: 3px 5px; + display: none; + align-items: center; + justify-content: center; + letter-spacing: 0.125em; + font-size: 13px; + font-family: var(--font-mono); + pointer-events: none; + border-color: var(--theme-text-lighter); + color: var(--theme-text-light); + border-style: solid; + border-width: 1px; + border-radius: 0.25rem; + line-height: 14px; +} + +@media (min-width: 50em) { + .search-hint { + display: flex; + } +} + +/* ------------------------------------------------------------ *\ + DocSearch (Algolia) +\* ------------------------------------------------------------ */ + +.DocSearch-Modal .DocSearch-Hit a { + box-shadow: none; + border: 1px solid var(--theme-accent); +} diff --git a/docs/src/components/Header/Search.tsx b/docs/src/components/Header/Search.tsx new file mode 100644 index 00000000..620941e3 --- /dev/null +++ b/docs/src/components/Header/Search.tsx @@ -0,0 +1,97 @@ +/** @jsxImportSource react */ +import { useState, useCallback, useRef } from 'react'; +import { ALGOLIA } from '../../consts'; +import '@docsearch/css'; +import './Search.css'; + +import { createPortal } from 'react-dom'; +import * as docSearchReact from '@docsearch/react'; + +/** FIXME: This is still kinda nasty, but DocSearch is not ESM ready. */ +const DocSearchModal = + docSearchReact.DocSearchModal || (docSearchReact as any).default.DocSearchModal; +const useDocSearchKeyboardEvents = + docSearchReact.useDocSearchKeyboardEvents || + (docSearchReact as any).default.useDocSearchKeyboardEvents; + +export default function Search() { + const [isOpen, setIsOpen] = useState(false); + const searchButtonRef = useRef(null); + const [initialQuery, setInitialQuery] = useState(''); + + const onOpen = useCallback(() => { + setIsOpen(true); + }, [setIsOpen]); + + const onClose = useCallback(() => { + setIsOpen(false); + }, [setIsOpen]); + + const onInput = useCallback( + (e) => { + setIsOpen(true); + setInitialQuery(e.key); + }, + [setIsOpen, setInitialQuery] + ); + + useDocSearchKeyboardEvents({ + isOpen, + onOpen, + onClose, + onInput, + searchButtonRef, + }); + + return ( + <> + + + {isOpen && + createPortal( + { + return items.map((item) => { + // We transform the absolute URL into a relative URL to + // work better on localhost, preview URLS. + const a = document.createElement('a'); + a.href = item.url; + const hash = a.hash === '#overview' ? '' : a.hash; + return { + ...item, + url: `${a.pathname}${hash}`, + }; + }); + }} + />, + document.body + )} + + ); +} diff --git a/docs/src/components/Header/SidebarToggle.tsx b/docs/src/components/Header/SidebarToggle.tsx new file mode 100644 index 00000000..50a5d93d --- /dev/null +++ b/docs/src/components/Header/SidebarToggle.tsx @@ -0,0 +1,44 @@ +/** @jsxImportSource preact */ +import type { FunctionalComponent } from 'preact'; +import { useState, useEffect } from 'preact/hooks'; + +const MenuToggle: FunctionalComponent = () => { + const [sidebarShown, setSidebarShown] = useState(false); + + useEffect(() => { + const body = document.querySelector('body')!; + if (sidebarShown) { + body.classList.add('mobile-sidebar-toggle'); + } else { + body.classList.remove('mobile-sidebar-toggle'); + } + }, [sidebarShown]); + + return ( + + ); +}; + +export default MenuToggle; diff --git a/docs/src/components/Header/SkipToContent.astro b/docs/src/components/Header/SkipToContent.astro new file mode 100644 index 00000000..4d97923f --- /dev/null +++ b/docs/src/components/Header/SkipToContent.astro @@ -0,0 +1,26 @@ +--- +type Props = {}; +--- + + + + diff --git a/docs/src/components/LeftSidebar/LeftSidebar.astro b/docs/src/components/LeftSidebar/LeftSidebar.astro new file mode 100644 index 00000000..128fc0da --- /dev/null +++ b/docs/src/components/LeftSidebar/LeftSidebar.astro @@ -0,0 +1,119 @@ +--- +import { getLanguageFromURL } from '../../languages'; +import { SIDEBAR } from '../../consts'; + +type Props = { + currentPage: string; +}; + +const { currentPage } = Astro.props; +const currentPageMatch = currentPage.endsWith('/') + ? currentPage.slice(1, -1) + : currentPage.slice(1); +const langCode = getLanguageFromURL(currentPage); +const sidebar = SIDEBAR[langCode]; +--- + + + + + + + + diff --git a/docs/src/components/PageContent/PageContent.astro b/docs/src/components/PageContent/PageContent.astro new file mode 100644 index 00000000..24422b75 --- /dev/null +++ b/docs/src/components/PageContent/PageContent.astro @@ -0,0 +1,51 @@ +--- +import type { MarkdownHeading } from 'astro'; +import MoreMenu from '../RightSidebar/MoreMenu.astro'; +import TableOfContents from '../RightSidebar/TableOfContents'; + +type Props = { + title: string; + headings: MarkdownHeading[]; + githubEditUrl: string; +}; + +const { title, headings, githubEditUrl } = Astro.props; +--- + +
+
+

{title}

+ + +
+ +
+ + diff --git a/docs/src/components/RightSidebar/MoreMenu.astro b/docs/src/components/RightSidebar/MoreMenu.astro new file mode 100644 index 00000000..5dbf8967 --- /dev/null +++ b/docs/src/components/RightSidebar/MoreMenu.astro @@ -0,0 +1,79 @@ +--- +import ThemeToggleButton from './ThemeToggleButton'; +import { COMMUNITY_INVITE_URL } from '../../consts'; + +type Props = { + editHref: string; +}; + +const { editHref } = Astro.props; +const showMoreSection = Boolean(COMMUNITY_INVITE_URL); +--- + +{showMoreSection &&

More

} + +
+ +
+ + diff --git a/docs/src/components/RightSidebar/RightSidebar.astro b/docs/src/components/RightSidebar/RightSidebar.astro new file mode 100644 index 00000000..2a7190e5 --- /dev/null +++ b/docs/src/components/RightSidebar/RightSidebar.astro @@ -0,0 +1,34 @@ +--- +import type { MarkdownHeading } from 'astro'; +import TableOfContents from './TableOfContents'; +import MoreMenu from './MoreMenu.astro'; + +type Props = { + headings: MarkdownHeading[]; + githubEditUrl: string; +}; + +const { headings, githubEditUrl } = Astro.props; +--- + + + + diff --git a/docs/src/components/RightSidebar/TableOfContents.tsx b/docs/src/components/RightSidebar/TableOfContents.tsx new file mode 100644 index 00000000..962d64ec --- /dev/null +++ b/docs/src/components/RightSidebar/TableOfContents.tsx @@ -0,0 +1,93 @@ +import type { MarkdownHeading } from 'astro'; +import type { FunctionalComponent } from 'preact'; +import { unescape } from 'html-escaper'; +import { useState, useEffect, useRef } from 'preact/hooks'; + +type ItemOffsets = { + id: string; + topOffset: number; +}; + +const TableOfContents: FunctionalComponent<{ headings: MarkdownHeading[] }> = ({ + headings = [], +}) => { + const toc = useRef(); + const onThisPageID = 'on-this-page-heading'; + const itemOffsets = useRef([]); + const [currentID, setCurrentID] = useState('overview'); + useEffect(() => { + const getItemOffsets = () => { + const titles = document.querySelectorAll('article :is(h1, h2, h3, h4)'); + itemOffsets.current = Array.from(titles).map((title) => ({ + id: title.id, + topOffset: title.getBoundingClientRect().top + window.scrollY, + })); + }; + + getItemOffsets(); + window.addEventListener('resize', getItemOffsets); + + return () => { + window.removeEventListener('resize', getItemOffsets); + }; + }, []); + + useEffect(() => { + if (!toc.current) return; + + const setCurrent: IntersectionObserverCallback = (entries) => { + for (const entry of entries) { + if (entry.isIntersecting) { + const { id } = entry.target; + if (id === onThisPageID) continue; + setCurrentID(entry.target.id); + break; + } + } + }; + + const observerOptions: IntersectionObserverInit = { + // Negative top margin accounts for `scroll-margin`. + // Negative bottom margin means heading needs to be towards top of viewport to trigger intersection. + rootMargin: '-100px 0% -66%', + threshold: 1, + }; + + const headingsObserver = new IntersectionObserver(setCurrent, observerOptions); + + // Observe all the headings in the main page content. + document.querySelectorAll('article :is(h1,h2,h3)').forEach((h) => headingsObserver.observe(h)); + + // Stop observing when the component is unmounted. + return () => headingsObserver.disconnect(); + }, [toc.current]); + + const onLinkClick = (e) => { + setCurrentID(e.target.getAttribute('href').replace('#', '')); + }; + + return ( + <> +

+ On this page +

+ + + ); +}; + +export default TableOfContents; diff --git a/docs/src/components/RightSidebar/ThemeToggleButton.css b/docs/src/components/RightSidebar/ThemeToggleButton.css new file mode 100644 index 00000000..dc5ba46d --- /dev/null +++ b/docs/src/components/RightSidebar/ThemeToggleButton.css @@ -0,0 +1,37 @@ +.theme-toggle { + display: inline-flex; + align-items: center; + gap: 0.25em; + padding: 0.33em 0.67em; + border-radius: 99em; + background-color: var(--theme-code-inline-bg); +} + +.theme-toggle > label:focus-within { + outline: 2px solid transparent; + box-shadow: 0 0 0 0.08em var(--theme-accent), 0 0 0 0.12em white; +} + +.theme-toggle > label { + color: var(--theme-code-inline-text); + position: relative; + display: flex; + align-items: center; + justify-content: center; + opacity: 0.5; +} + +.theme-toggle .checked { + color: var(--theme-accent); + opacity: 1; +} + +input[name='theme-toggle'] { + position: absolute; + opacity: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; +} diff --git a/docs/src/components/RightSidebar/ThemeToggleButton.tsx b/docs/src/components/RightSidebar/ThemeToggleButton.tsx new file mode 100644 index 00000000..b9682aa0 --- /dev/null +++ b/docs/src/components/RightSidebar/ThemeToggleButton.tsx @@ -0,0 +1,82 @@ +import type { FunctionalComponent } from 'preact'; +import { useState, useEffect } from 'preact/hooks'; +import './ThemeToggleButton.css'; + +const themes = ['light', 'dark']; + +const icons = [ + + + , + + + , +]; + +const ThemeToggle: FunctionalComponent = () => { + const [theme, setTheme] = useState(() => { + if (import.meta.env.SSR) { + return undefined; + } + if (typeof localStorage !== undefined && localStorage.getItem('theme')) { + return localStorage.getItem('theme'); + } + if (window.matchMedia('(prefers-color-scheme: dark)').matches) { + return 'dark'; + } + return 'light'; + }); + + useEffect(() => { + const root = document.documentElement; + if (theme === 'light') { + root.classList.remove('theme-dark'); + } else { + root.classList.add('theme-dark'); + } + }, [theme]); + + return ( +
+ {themes.map((t, i) => { + const icon = icons[i]; + const checked = t === theme; + return ( + + ); + })} +
+ ); +}; + +export default ThemeToggle; diff --git a/docs/src/components/Schemas/Content.astro b/docs/src/components/Schemas/Content.astro new file mode 100644 index 00000000..edb8d72d --- /dev/null +++ b/docs/src/components/Schemas/Content.astro @@ -0,0 +1,73 @@ +--- +import type { JSONSchema } from "@apidevtools/json-schema-ref-parser/dist/lib/types"; + +export interface Props { + name: string; + slug: string; + schema: JSONSchema; + parentSchema: JSONSchema; +} + +const { name, slug, schema, parentSchema } = Astro.props; + +const getTag = () => { + switch (schema.type) { + default: + return Fragment; + } +}; + +const Tag = getTag(); + +const displayType = schema.$ref?.split("/").at(-1) ?? schema.type; + +const required = + parentSchema.required && + Array.isArray(parentSchema.required) && + parentSchema.required.includes(name); +--- + +
+
+

{name}

+
+ {required && Required} + Type: {displayType} +
+
+ +

+ {schema.description} +

+ +
+ + diff --git a/docs/src/components/Schemas/Ref.astro b/docs/src/components/Schemas/Ref.astro new file mode 100644 index 00000000..8acb72ef --- /dev/null +++ b/docs/src/components/Schemas/Ref.astro @@ -0,0 +1,12 @@ +--- +import type { JSONSchema } from "@apidevtools/json-schema-ref-parser/dist/lib/types"; + +export interface Props { + name: string; + parentSlug: string; +} + +const { name, parentSlug } = Astro.props; +--- + +View {name} diff --git a/docs/src/consts.ts b/docs/src/consts.ts new file mode 100644 index 00000000..a23cc93d --- /dev/null +++ b/docs/src/consts.ts @@ -0,0 +1,59 @@ +export const SITE = { + title: 'New Horizons', + description: 'Documentation on how to use the New Horizons planet creation tool for Outer Wilds.', + defaultLanguage: 'en-us', +} as const; + +export const OPEN_GRAPH = { + image: { + src: 'https://nh.outerwildsmods.com/public/home_logo.webp', + alt: + 'The New Horizons Logo' + } +}; + +export const KNOWN_LANGUAGES = { + English: 'en', +} as const; +export const KNOWN_LANGUAGE_CODES = Object.values(KNOWN_LANGUAGES); + +export const GITHUB_EDIT_URL = `https://github.com/Outer-Wilds-New-Horizons/new-horizons/tree/main/docs`; + +export const COMMUNITY_INVITE_URL = `https://discord.gg/wusTQYbYTc`; + +// See "Algolia" section of the README for more information. +export const ALGOLIA = { + indexName: 'XXXXXXXXXX', + appId: 'XXXXXXXXXX', + apiKey: 'XXXXXXXXXX', +}; + +export type Sidebar = Record< + (typeof KNOWN_LANGUAGE_CODES)[number], + Record +>; +export const SIDEBAR: Sidebar = { + en: { + 'Intro': [ + { text: 'Introduction', link: 'en/introduction' }, + ], + 'Guides': [ + { text: 'Getting Started', link: 'en/getting-started' }, + { text: 'Creating An Addon', link: 'en/creating-addons' }, + { text: 'Updating Existing Planets', link: 'en/updating-planets' }, + { text: 'Creating New Planets', link: 'en/planet-generation' }, + { text: 'Detailing Planets', link: 'en/details' }, + { text: 'Custom Star Systems', link: 'en/star-systems' }, + { text: 'Adding Translations', link: 'en/translation' }, + { text: 'Understanding XML', link: 'en/xml' }, + { text: 'Ship Log', link: 'en/ship-log' }, + { text: 'Dialogue', link: 'en/dialogue' }, + { text: 'API', link: 'en/api' }, + { text: 'Extending Configs', link: 'en/extending-configs' }, + { text: 'Publishing Your Addon', link: 'en/publishing' }, + ], + "Schemas": [ + { text: "Celestial Body Schema", link: "schemas/body-schema" } + ] + }, +}; diff --git a/docs/src/content/config.ts b/docs/src/content/config.ts new file mode 100644 index 00000000..2780035b --- /dev/null +++ b/docs/src/content/config.ts @@ -0,0 +1,20 @@ +import { defineCollection, z } from 'astro:content'; +import { SITE } from '../consts'; + +const docs = defineCollection({ + schema: z.object({ + title: z.string().default(SITE.title), + description: z.string().default(SITE.description), + lang: z.literal('en-us').default(SITE.defaultLanguage), + dir: z.union([z.literal('ltr'), z.literal('rtl')]).default('ltr'), + image: z + .object({ + src: z.string(), + alt: z.string(), + }) + .optional(), + ogLocale: z.string().optional(), + }), +}); + +export const collections = { docs }; diff --git a/docs/content/pages/tutorials/api.md b/docs/src/content/docs/en/api.md similarity index 98% rename from docs/content/pages/tutorials/api.md rename to docs/src/content/docs/en/api.md index ee84cab3..397db67a 100644 --- a/docs/content/pages/tutorials/api.md +++ b/docs/src/content/docs/en/api.md @@ -1,6 +1,6 @@ --- -Title: API -Sort_Priority: 20 +title: API +description: A guide on using New Horizons' API --- ## How to use the API diff --git a/docs/content/pages/tutorials/creating_addon.md b/docs/src/content/docs/en/creating-addons.md similarity index 88% rename from docs/content/pages/tutorials/creating_addon.md rename to docs/src/content/docs/en/creating-addons.md index fc88919f..3609c398 100644 --- a/docs/content/pages/tutorials/creating_addon.md +++ b/docs/src/content/docs/en/creating-addons.md @@ -1,10 +1,8 @@ --- -Title: Creating An Addon -Sort_Priority: 85 +title: Creating An Addon +description: A guide to creating addons for New Horizons --- -# Creating An Addon - Up until now, you've been using the sandbox feature of New Horizons (simply placing your files in the `xen.NewHorizons` folder). While this is the easiest way to get started, you won't be able to publish your work like this. In this tutorial we will: @@ -15,7 +13,7 @@ While this is the easiest way to get started, you won't be able to publish your ## Making a GitHub Repository To get started, we need a place to store our code. GitHub is one of the most popular websites to store source code, and it's also what the mod database uses to let people access our mod. -First you're going to want to [create a GitHub account](https://github.com/signup){ target="_blank" }, and then head to [this repository](https://github.com/xen-42/ow-new-horizons-config-template){ target="_blank" }. +First you're going to want to [create a GitHub account](https://github.com/signup), and then head to [this repository](https://github.com/xen-42/ow-new-horizons-config-template). Now, click the green "Use This Template" button. - Set the Name to your username followed by a dot (`.`), followed by your mod's name in PascalCase (no spaces, new words have capital letters). So for example if my username was "Test" and my mod's name was "Really Cool Addon", I would name the repo `Test.ReallyCoolAddon`. @@ -25,7 +23,7 @@ Now, click the green "Use This Template" button. ## Cloning the Repository Now that we've created our GitHub repository (or "repo"), we need to clone (or download) it onto our computer. -To do this we recommend using the [GitHub Desktop App](https://desktop.github.com/){ target="_blank" }, as it's much easier to use than having to fight with the command line. +To do this we recommend using the [GitHub Desktop App](https://desktop.github.com/), as it's much easier to use than having to fight with the command line. Once we open GitHub desktop we're going to log in, select File -> Options -> Accounts and sign in to your newly created GitHub account. Now we're ready to clone the repo, select File -> Clone Repository. Your repository should appear in the list. @@ -52,12 +50,12 @@ To get started editing the files, simply click "Open in Visual Studio Code" in G - You can leave `version`, `owmlVersion`, and `dependencies` alone - NewHorizonsConfig.dll: This is the heart of your addon, make sure to never move or rename it. - README.md: This file is displayed on the mod website when you go to a specific mod's page, you can delete the current contents. - - This file is a [markdown](https://www.markdowntutorial.com/){ target="_blank" } file, if you're not comfortable writing an entire README right now, just write a small description of your mod. + - This file is a [markdown](https://www.markdowntutorial.com/) file, if you're not comfortable writing an entire README right now, just write a small description of your mod. ### Committing The Changes Now that we have our files set up, switch back to GitHub desktop, you'll notice that the files you've changed have appeared in a list on the left. -What GitHub Desktop does is keep track of changes you make to your files over time. +What GitHub Desktop does is keep track of changes you make to your files over time. Then, once you're ready, you commit these changes to your repo by filling out the "Summary" field with a small description of your changes, and then pressing the blue button that says "commit to main". Think of committing like taking a snapshot of your project at this moment in time. If you ever mess up your project, you can always revert to another commit to get back to a working version. It is highly recommended to commit often, there is no downside to committing too much. @@ -76,8 +74,14 @@ You should see your mod there with the downloads counter set as a dash and the v Now when you click "Start Game" and load into the solar system, you should be able to notice that the quantum moon is gone entirely, this means that your addon and its configs were successfully loaded. +## Note About File Paths + +Whenever something refers to the "relative path" of a file, it means relative to your mod's directory, this means you **must** include the `planets` folder in the path: + +```json +"planets/assets/images/MyCoolImage.png" +``` + ## Going Forward Now instead of using the New Horizons mod folder, you can use your own mod's folder instead. - -**Next Up: [Planet Generation]({{ "Planet Generation"|route }})** diff --git a/docs/content/pages/tutorials/details.md b/docs/src/content/docs/en/details.md similarity index 82% rename from docs/content/pages/tutorials/details.md rename to docs/src/content/docs/en/details.md index 1c4c0cae..b304bd9a 100644 --- a/docs/content/pages/tutorials/details.md +++ b/docs/src/content/docs/en/details.md @@ -1,11 +1,9 @@ --- -Title: Detailing -Sort_Priority: 80 +title: Detailing +description: A guide to adding details to planets in New Horizons --- -# Details/Scatterer - -For physical objects there are currently two ways of setting them up: specify an asset bundle and path to load a custom asset you created, or specify the path to the item you want to copy from the game in the scene hierarchy. Use the [Unity Explorer](https://outerwildsmods.com/mods/unityexplorer){ target="_blank" } mod to find an object you want to copy onto your new body. Some objects work better than others for this. Good luck. Some pointers: +For physical objects there are currently two ways of setting them up: specify an asset bundle and path to load a custom asset you created, or specify the path to the item you want to copy from the game in the scene hierarchy. Use the [Unity Explorer](https://outerwildsmods.com/mods/unityexplorer) mod to find an object you want to copy onto your new body. Some objects work better than others for this. Good luck. Some pointers: - Use "Object Explorer" to search - Generally you can find planets by writing their name with no spaces/punctuation followed by "_Body". @@ -22,20 +20,6 @@ The Prop Placer is a convenience tool that lets you manually place details from 1. This menu scrolls. If you do not see your mod, it may be further down the list. 3. The Prop Placer is now active! Unpause the game, and you can now place Nomai vases using "G" -### How to Save - -1. In the Prop Placer Menu, you will see a greyed out button titled "Update your mod's configs". -2. Click the small button to the left of it. -3. Click "Update your mod's configs" to save! - -!!! alert-danger "IMPORTANT" - Your updated configs will save *only* to your mod's build folder, eg "AppData\Roaming\OuterWildsModManager\OWML\Mods\you.yourModName" - -!!! alert-warning "WARNING" - Dying in-game will cause you to lose all work since you last saved. Make sure to save often. - -What's that? You want to place something other than just vases? Well I can't say I agree with your choices, but here's how you would do that. - ### How to Select Props 1. Pause the game again. The prop placer menu should still be visible. @@ -56,13 +40,13 @@ What's that? You want to place something other than just vases? Well I can't say ## Asset Bundles -Here is a template project: [Outer Wilds Unity Template](https://github.com/xen-42/outer-wilds-unity-template){ target="_blank" } +Here is a template project: [Outer Wilds Unity Template](https://github.com/xen-42/outer-wilds-unity-template) The template project contains ripped versions of all the game scripts, meaning you can put things like DirectionalForceVolumes in your Unity project to have artificial gravity volumes loaded right into the game. If for whatever reason you want to set up a Unity project manually instead of using the template, follow these instructions: -1. Start up a Unity 2017 project (I use Unity 2017.4.40f1 (64-bit), so if you use something else I can't guarantee it will work). The DLC updated Outer Wilds to 2019.4.27 so that probably works, but I personally haven't tried it. +1. Start up a Unity 2019.4.39f1 project 2. In the "Assets" folder in Unity, create a new folder called "Editor". In it create a file called "CreateAssetBundle.cs" with the following code in it: ```cs @@ -87,10 +71,11 @@ public class CreateAssetBundles 3. Create your object in the Unity scene and save it as a prefab. 4. Add all files used (models, prefabs, textures, materials, etc.) to an asset bundle by selecting them and using the dropdown in the bottom right. Here I am adding a rover model to my "rss" asset bundle for the Real Solar System add-on. -![setting asset bundle]({{ 'images/detailing/asset_bundle.webp'|static }}) -5. In the top left click the "Assets" drop-down and select "Build AssetBundles". This should create your asset bundle in a folder in the root directory called "StreamingAssets". -6. Copy the asset bundle and asset bundle .manifest files from StreamingAssets into your mod's "planets" folder. If you did everything properly they should work in game. To double-check everything is included, open the .manifest file in a text editor to see the files included and their paths. +![setting asset bundle](/details/asset_bundle.webp) + +1. In the top left click the "Assets" drop-down and select "Build AssetBundles". This should create your asset bundle in a folder in the root directory called "StreamingAssets". +2. Copy the asset bundle and asset bundle .manifest files from StreamingAssets into your mod's "planets" folder. If you did everything properly they should work in game. To double-check everything is included, open the .manifest file in a text editor to see the files included and their paths. ## Importing a planet's surface from Unity diff --git a/docs/content/pages/tutorials/dialogue.md b/docs/src/content/docs/en/dialogue.md similarity index 90% rename from docs/content/pages/tutorials/dialogue.md rename to docs/src/content/docs/en/dialogue.md index bd44c160..b14e4c81 100644 --- a/docs/content/pages/tutorials/dialogue.md +++ b/docs/src/content/docs/en/dialogue.md @@ -1,14 +1,11 @@ --- -Title: Dialogue -Description: Guide to making dialogue in New Horizons -Sort_Priority: 30 +title: Dialogue +description: Guide to making dialogue in New Horizons --- -# Dialogue - This page goes over how to use dialogue in New Horizons. -You may want to view [Understanding XML]({{ "Understanding XML"|route }}) if you haven't already. +You may want to view [Understanding XML](/en/xml) if you haven't already. ## Understanding Dialogue @@ -134,7 +131,7 @@ To use the dialogue XML you have created, you simply need to reference it in the ## Dialogue Config -To view the options for the dialogue prop, check [the schema]({{ "Celestial Body Schema"|route }}#Props_dialogue) +To view the options for the dialogue prop, check [the schema](/schemas/body-schema#Props_dialogue) ## Controlling Conditions @@ -151,7 +148,7 @@ You can set condition in dialogue with the `` and `` in the `` tag instead of a ` +First thing you should specify about your planet is its orbit. `primaryBody` will specify what planet this body will orbit. If you're in a new solar system and want this planet to be the center, set `centerOfSolarSystem` to `true` (keep in mind `centerOfSolarSystem` is in the `Base` module, not `Orbit`). Next up you'll need to specify the [orbital parameters](https://en.wikipedia.org/wiki/Orbital_elements). ## Heightmaps -Heightmaps are a way to generate unique terrain on your planet. First you specify a maximum and minimum height, and then specify a [heightMap]({{ "Celestial Body Schema"|route }}#HeightMap_heightMap) image. The more white a section of that image is, the closer to `maxHeight` that part of the terrain will be. Finally, you specify a `textureMap` which is an image that gets applied to the terrain. +Heightmaps are a way to generate unique terrain on your planet. First you specify a maximum and minimum height, and then specify a [heightMap](/schemas/body_schema#HeightMap_heightMap) image. The more white a section of that image is, the closer to `maxHeight` that part of the terrain will be. Finally, you specify a `textureMap` which is an image that gets applied to the terrain. Here's an example heightmap of earth from the Real Solar System addon. -![Earth's Heightmap]({{ "images/planet_gen/earth_heightmap.webp"|static }}) +![Earth's Heightmap](/planet_gen/earth_heightmap.webp) ```json { @@ -31,7 +29,7 @@ Here's an example heightmap of earth from the Real Solar System addon. } ``` -There are also tools to help generate these images for you such as [Textures For Planets](https://www.texturesforplanets.com/){ target="_blank" }. +There are also tools to help generate these images for you such as [Textures For Planets](https://www.texturesforplanets.com/). ## Variable Size Modules diff --git a/docs/content/pages/tutorials/publishing.md b/docs/src/content/docs/en/publishing.md similarity index 87% rename from docs/content/pages/tutorials/publishing.md rename to docs/src/content/docs/en/publishing.md index 661ab3b8..85aaa21a 100644 --- a/docs/content/pages/tutorials/publishing.md +++ b/docs/src/content/docs/en/publishing.md @@ -1,13 +1,10 @@ --- -Title: Publishing Addons -Sort_Priority: 1 +title: Publishing Addons --- -# Publishing Your Addon - This page goes over how to publish a release for your mod and submit your mod to the [outer wilds mod database](https://github.com/ow-mods/ow-mod-db) for review. -This guide assumes you've created your addon by following [the addon creation guide]({{ "Creating An Addon"|route }}). +This guide assumes you've created your addon by following [the addon creation guide](/en/creating-addons). ## Housekeeping @@ -16,8 +13,7 @@ Before you release anything, you'll want to make sure: - Your mod has a descriptive `README.md`. (This will be shown on the website) - Your repo has the description field (click the cog in the right column on the "Code" tab) set. (this will be shown in the manager) - There's no `config.json` in your addon. (Not super important, but good practice) -- Your manifest has a valid name, author, and unique name. - +- Your manifest has a valid name, author, and unique name. ## Releasing @@ -49,8 +45,4 @@ If you want to update your mod, you can simply bump the version number in `manif To edit the release notes displayed in discord, enter them in the "Description" field before you commit in GitHub desktop. The most recent commits description is used for the release notes. -**You don't need to create a new issue on the database to update your mod, it will be updated automatically after a few minutes** - - - - +**You don't need to create a new issue on the database to update your mod, it will be updated automatically after a few minutes.** diff --git a/docs/content/pages/tutorials/ship_log.md b/docs/src/content/docs/en/ship-log.md similarity index 89% rename from docs/content/pages/tutorials/ship_log.md rename to docs/src/content/docs/en/ship-log.md index 62deeac7..80b08e2c 100644 --- a/docs/content/pages/tutorials/ship_log.md +++ b/docs/src/content/docs/en/ship-log.md @@ -1,64 +1,63 @@ --- -Title: Ship Log -Description: A guide to editing the ship log in New Horizons -Sort_Priority: 40 +title: Ship Log +description: A guide to editing the ship log in New Horizons --- -# Intro +## Intro Welcome! this page outlines how to create a custom ship log. -If you haven't already, you may want to take a look at [Understanding XML]({{ "Understanding XML"|route }}) to get a better idea of how XML works. +If you haven't already, you may want to take a look at [Understanding XML](/en/xml) to get a better idea of how XML works. -# Understanding Ship Logs +## Understanding Ship Logs First thing's first, I'll define some terminology regarding ship logs in the game, and how ship logs are structured. -## Entries +### Entries An entry is a card you see in rumor mode, it represents a specific area or concept in the game, such as Timber Hearth's village or the southern observatory on Brittle Hollow. An entry is split up into facts, a fact can either be a rumor fact or an explore fact. -![entryExample]({{ "images/ship_log/entry_example.webp"|static }}) +![entryExample](/ship_log/entry_example.webp) *In red you can see an entry, in green you can see the entry's facts* -### Curiosities +#### Curiosities Curiosities are entries that represent big ideas in the story, such as the ATP or the OPC. Non-curiosity entries have a Curiosity attribute that can be set to make the color of that entry match the color of the curiosity (Like how everything regarding the Vessel is red) -![curiosityExample]({{ "images/ship_log/curiosity_example.webp"|static }}) +![curiosityExample](/ship_log/curiosity_example.webp) *The Ash Twin Project is an example of a curiosity (internally it's called TIME_LOOP)* -### Child Entries +#### Child Entries Entries can be children of other entries, meaning they'll be smaller. -![childEntryExample]({{ "images/ship_log/child_entry_example.webp"|static }}) +![childEntryExample](/ship_log/child_entry_example.webp) *The murals at the old settlement on Brittle Hollow are examples of child entries* -## Rumor Facts +### Rumor Facts A rumor fact represents the information you might hear about a specific area or concept, usually, you get these through dialogue or maybe by observing a faraway planet. -![rumorFactExample]({{ "images/ship_log/rumor_example.webp"|static }}) +![rumorFactExample](/ship_log/rumor_example.webp) -## Explore Facts +### Explore Facts Explore facts represent the information you learn about a specific area or concept. -![exploreFactExample]({{ "images/ship_log/explore_example.webp"|static }}) +![exploreFactExample](/ship_log/explore_example.webp) -# The XML +## The XML Now that we know some terminology, let's get into how the XML works. Every planet in the ship log is represented by a single XML file, you can see this if you use the unity explorer mod and navigate to ShipLogManager. -## Example File +### Example File ```xml @@ -136,15 +135,15 @@ navigate to ShipLogManager. ``` -## Using The Schema +### Using The Schema In the example XML, you may notice something like `xsi:noNamespaceSchemaLocation` at the top, this tells whatever editor you're using that the file at that link is the schema. The game simply ignores this though, so it won't be able to catch errors at runtime. -Some editors may require you to [Trust](https://code.visualstudio.com/docs/editor/workspace-trust){ target="_blank" } the workspace to use +Some editors may require you to [Trust](https://code.visualstudio.com/docs/editor/workspace-trust) the workspace to use the schema file. Doing this varies per-editor, and you may also have to right-click the link and click download. -## Loading The File +### Loading The File You can load your XML file to your planet by doing adding the following to your planet's config @@ -156,9 +155,9 @@ You can load your XML file to your planet by doing adding the following to your } ``` -# Rumor Mode Options +## Rumor Mode Options -## Entry Layout +### Entry Layout By default, entries in rumor mode are laid out by rows, where each row is one planet. This will not make for a perfect layout, so you can use the `entryPositions` property in your star system config to change them @@ -187,10 +186,10 @@ For example, if I want to change an entry with the ID of `EXAMPLE_ENTRY` and ano To help with this, download the unity explorer mod and manually position entries, then simply use the dev tools to dump all the entries to a json string you can copy and paste into your config. -![autoDetectiveMode]({{ "images/ship_log/auto_rumor_mode.webp"|static }}) +![autoDetectiveMode](/ship_log/auto_rumor_mode.webp) *A set of entries laid out with auto mode* -## Images +### Images Custom entry images are a bit different from other custom images, instead of pointing to each file for each entry, you point to a folder: @@ -209,7 +208,7 @@ for example, `EXAMPLE_ENTRY`'s file would be named `EXAMPLE_ENTRY.png`. you set alternate sprites by making a file with the entry's ID and `_ALT` at the end, so `EXAMPLE_ENTRY`'s alt image would be `EXAMPLE_ENTRY_ALT.png`. -## Curiosity Colors +### Curiosity Colors Colors for each curiosity is given in a list, so if I wanted the curiosity `EXAMPLE_ENTRY` to have a color of blue: @@ -238,28 +237,28 @@ Colors for each curiosity is given in a list, so if I wanted the curiosity `EXAM } ``` -![curiosityColorChange]({{ "images/ship_log/change_color.webp"|static }}) +![curiosityColorChange](/ship_log/change_color.webp) *The curiosity's color is changed to blue* -# Map Mode Options +## Map Mode Options -## Layout +### Layout Layout in map mode can be handled in two different ways, either manual or automatic, if you try to mix them you'll get an error. Also, adding planets to the vanilla solar system requires you to use manual layout. -### Automatic Layout +#### Automatic Layout In automatic layout, each planet that orbits the center of the solar system is put in a row, then, each planet orbiting those planets are put in a column, then, each planet orbiting *those* planets are put in a row for as many planets there are. The order of each planet is determined by their semi-major axis, if two planets have the same semi-major axis then they're sorted by order loaded in. -![autoMapMode]({{ "images/ship_log/auto_map_mode.webp"|static }}) +![autoMapMode](/ship_log/auto_map_mode.webp) *An example system laid out with auto mode* -#### Offset +##### Offset The `offset` option lets you adjust a planet's offset from the last planet. @@ -276,12 +275,12 @@ The `offset` option lets you adjust a planet's offset from the last planet. For example, this offsets example planet in map mode by -5 units. -### Manual Layout +#### Manual Layout The manual layout is a lot more involved than automatic but offers much greater freedom. Manual layout **requires** you to fill out both `manualPosition` and `manualNavigationPosition` -#### Manual Position +##### Manual Position Setting the `manualPosition` option in the `mapMode` object sets its position (if manual position isn't set, it assumes the planet is using automatic mode) @@ -302,7 +301,7 @@ the planet is using automatic mode) } ``` -#### Manual Navigation Position +##### Manual Navigation Position This setting tells Outer Wilds how to handle navigation for this object, the x and y values correlate to the row and column of this planet. For example, the sun station is at navigationPosition (0, 1) as it is in the first column on the @@ -329,33 +328,33 @@ second row (you can't select the sun, so it doesn't have a row or column). So, b We say this planet is to the right of the sun station (putting in a position that is already occupied will override what is in that position). -![navigationIndices]({{ "images/ship_log/map_indices.webp"|static }}) +![navigationIndices](/ship_log/map_indices.webp) -#### Overriding Vanilla Planets +##### Overriding Vanilla Planets You can also move vanilla planets by creating configs with their names and changing their manualPosition and manualNavigationPosition -### Settings for both layouts +#### Settings for both layouts These settings can be used for both type of layouts -#### Sprites +##### Sprites -##### Reveal Sprite +###### Reveal Sprite A path to the sprite to show for when the planet is revealed -##### Outline Sprite +###### Outline Sprite A path to an outline to show for when the planet is undiscovered -#### Invisible When Hidden +##### Invisible When Hidden Settings `invisibleWhenHidden` to true makes the planet entirely invisible when not discovered instead of showing an outline. -#### Scale +##### Scale How much to scale this planet in the map mode screen (you may have to change offset to compensate) @@ -372,11 +371,11 @@ How much to scale this planet in the map mode screen (you may have to change off Shrinks the planet by one half -#### Remove +##### Remove Don't include this planet in map mode at all, simply ignore it -#### Details +##### Details Details are images that go on top of a planet in map mode, and changes states with the planet (like the sand funnel between Ash Twin and Ember Twin) @@ -409,11 +408,11 @@ between Ash Twin and Ember Twin) As you can see, they have similar properties to planets, with the addition of rotation -# Revealing Facts +## Revealing Facts Of course, having a custom ship log is neat and all, but what use is it if the player can't unlock it? -## Initial Reveal +### Initial Reveal You can set facts to reveal as soon as the player enters the system by adding the `initialReveal` property @@ -428,7 +427,7 @@ You can set facts to reveal as soon as the player enters the system by adding th } ``` -## Signal Discovery +### Signal Discovery You can set a fact to reveal as soon as a signal is identified by editing the signal's `Reveals` attribute @@ -448,7 +447,7 @@ You can set a fact to reveal as soon as a signal is identified by editing the si } ``` -## Dialogue +### Dialogue You can set a fact to reveal in dialogue with the `` tag @@ -469,50 +468,50 @@ You can set a fact to reveal in dialogue with the `` tag ``` -## Reveal Volumes +### Reveal Volumes Reveal volumes are triggers/colliders in the world that can unlock facts from a variety of actions. Reveal volumes are specified in the `Props` module, its key is `reveal`. -### Position +#### Position The position of the reveal volume, relative to this planet's center -### Radius +#### Radius How big the collider is (use the collider visualizer mod for help) -### Reveals +#### Reveals A list of facts this volume reveals -### Reveal On +#### Reveal On Can be any of the following: -#### Enter +##### Enter When the player or probe enters the trigger, reveal the facts -#### Observe +##### Observe When the player observes the trigger, reveal the facts -#### Snapshot +##### Snapshot When the player takes a picture of the trigger, reveal the facts -### Max Distance +#### Max Distance Can only be used if `revealOn` is set to Observe or Snapshot, the max distance away the player can be and still be able to trigger the reveal -### Max Angle +#### Max Angle Can only be used if `revealOn` is set to Observe, the max angle the player can be looking away from the trigger to still trigger the reveal -### Example +#### Example ```json { @@ -536,7 +535,7 @@ trigger the reveal } ``` -# Setting Entry Locations +## Setting Entry Locations Entry locations are the "Mark On HUD" option you see when in map mode, this allows the player to go back to where they were in the event of the big funny. @@ -560,4 +559,4 @@ Adding an entry location is similar to adding a Reveal Volume: } ``` -![entryLocationExample]({{ "images/ship_log/entry_position.webp"|static }}) +![entryLocationExample](/ship_log/entry_position.webp) diff --git a/docs/content/pages/tutorials/star_system.md b/docs/src/content/docs/en/star-systems.md similarity index 55% rename from docs/content/pages/tutorials/star_system.md rename to docs/src/content/docs/en/star-systems.md index aa3218de..17540641 100644 --- a/docs/content/pages/tutorials/star_system.md +++ b/docs/src/content/docs/en/star-systems.md @@ -1,11 +1,8 @@ --- -Title: Star Systems -Description: A guide to editing a custom star system in New Horizons -Sort_Priority: 65 +title: Star Systems +description: A guide to creating a custom star system in New Horizons --- -# Intro - Welcome! This page outlines how to edit a custom star system. ## Getting Started @@ -18,32 +15,34 @@ A star system config file will look something like this: ```json { - "$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/star_system_schema.json", - "travelAudio": "assets/Travel.mp3", - "Vessel": { - "coords": { - "x": [ 4, 0, 3, 1 ], - "y": [ 0, 5, 4 ], - "z": [ 5, 4, 0, 3, 1 ] - }, - "vesselPosition": { - "x": 0, - "y": 0, - "z": 8000 - } - } + "$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/star_system_schema.json", + "travelAudio": "assets/Travel.mp3", + "Vessel": { + "coords": { + "x": [ 4, 0, 3, 1 ], + "y": [ 0, 5, 4 ], + "z": [ 5, 4, 0, 3, 1 ] + }, + "vesselPosition": { + "x": 0, + "y": 0, + "z": 8000 + } + } } ``` -To see all the different things you can put into a config file check out the [Star System Schema]({{ 'Star System Schema'|route}}). +To see all the different things you can put into a config file check out the [Star System Schema](/schemas/star_system_schema). ## Vessel Coordinates -You can warp to custom star systems via the Nomai vessel. Each coordinate has to be 2-6 points long. +You can warp to custom star systems via the Nomai vessel. Each coordinate has to be 2-6 points long. These are the points for each coordinate node. When making your unique coordinate you should only use each point once. -![nomaiCoordinateIndexes]({{ "images/star_system/nomai_coordinate_indexes.webp"|static }}) + +![nomaiCoordinateIndexes](/star_systems/nomai_coordinate_indexes.webp) ### Hearthian Solar System Vessel Coordinates You can use these coordinates to warp back to the hearthian solar system. -![hearthianSolarSystemCoordinates]({{ "images/star_system/hearthian_solar_system_coordinates.webp"|static }}) \ No newline at end of file + +![hearthianSolarSystemCoordinates](/star_systems/hearthian_solar_system_coordinates.webp) diff --git a/docs/content/pages/tutorials/translation.md b/docs/src/content/docs/en/translation.md similarity index 64% rename from docs/content/pages/tutorials/translation.md rename to docs/src/content/docs/en/translation.md index c31d14c1..b7d6f838 100644 --- a/docs/content/pages/tutorials/translation.md +++ b/docs/src/content/docs/en/translation.md @@ -1,10 +1,8 @@ --- -Title: Translations -Sort_Priority: 60 +title: Translations +description: A guide to creating translations in New Horizons --- -# Translations - There are 12 supported languages in Outer Wilds: english, spanish_la, german, french, italian, polish, portuguese_br, japanese, russian, chinese_simple, korean, and turkish. All translations must go in a folder in the root directory called "translations". @@ -33,9 +31,9 @@ Here's an example, for `russian.json`: } ``` -# CLI Tool +## CLI Tool -Are you tired of manually translating JSON? Do you want an automatic translator? Well then the [nh-translation-helper](https://www.npmjs.com/package/nh-translation-helper){ target="_blank" } may be for you! +Are you tired of manually translating JSON? Do you want an automatic translator? Well then the [nh-translation-helper](https://www.npmjs.com/package/nh-translation-helper) may be for you! This tool has the following features: @@ -44,14 +42,14 @@ This tool has the following features: This section outlines how to install and use the nh-translation-helper. -## Installation +### Installation -To get started, head over to the [repo for the tool](https://github.com/96-38/nh-translation-helper){ target="_blank" } and prepare the requirements: +To get started, head over to the [repo for the tool](https://github.com/96-38/nh-translation-helper) and prepare the requirements: -- Install [Node.js](https://nodejs.org/){ target="_blank" } >= 12.0.0 - - Install the LTS version. -- Get [DeepL API](https://www.deepl.com/docs-api){ target="_blank" } Key (Free or Pro) - - Sign up [here](https://www.deepl.com/pro#developer){ target="_blank" } +- Install [Node.js](https://nodejs.org/) >= 12.0.0 + - Install the LTS version. +- Get [DeepL API](https://www.deepl.com/docs-api) Key (Free or Pro) + - Sign up [here](https://www.deepl.com/pro#developer) When you are ready, execute the following command in a terminal or command prompt: @@ -67,13 +65,13 @@ You can use the tool by executing the following command in a terminal or command nh-translation-helper ``` -## Generating a english.json from XML +### Generating a english.json from XML Select `Generate english.json from XML files` and enter the path of your project folder. You are done! a english.json has been generated in "*your_project_root*/translations/". -## Translating english.json to another language +### Translating english.json to another language Select `Translate JSON (DeepL API key required)` and enter the path of your project folder. ( Note: **Not** the path to the "translations" folder. ) @@ -83,19 +81,19 @@ You are done! a translated json file has been generated in "*your_project_root*/ Please enter the DeepL API key for the first time only. The API key will be saved on your PC. -## Note +### Note - Not supported extracting UIDictionary and AchievementTranslations - - It is difficult to parse these automatically, and the number of words is small that it would be better to add them by MOD developers manually for better results. - - Translating UIDictionary and AchievementTranslations is supported. + - It is difficult to parse these automatically, and the number of words is small that it would be better to add them by MOD developers manually for better results. + - Translating UIDictionary and AchievementTranslations is supported. - Not supported translation into Korean - - Translation is provided by the DeepL API, so it is not possible to translate into languages that are not supported by DeepL. + - Translation is provided by the DeepL API, so it is not possible to translate into languages that are not supported by DeepL. - The generated translations are "**not**" perfect - - It is a machine translation though DeepL. The translations on DeepL are known to be too casual or to abbreviate some sentences. - - It will need to be manually corrected to make it a good translation. However, this tool allows you to prototype and is more efficient than starting from scratch. Also, the CDATA tag has been removed from the translated text and must be added manually. + - It is a machine translation though DeepL. The translations on DeepL are known to be too casual or to abbreviate some sentences. + - It will need to be manually corrected to make it a good translation. However, this tool allows you to prototype and is more efficient than starting from scratch. Also, the CDATA tag has been removed from the translated text and must be added manually. - Parsing errors may occur when trying to translate manually created JSON files - - In many cases, this is due to a specific comment in the JSON. Please remove the comments and try again. - - Most comments are processed normally, but errors may occur if the comment contains special symbols or if the comment is located at the end of a JSON object. + - In many cases, this is due to a specific comment in the JSON. Please remove the comments and try again. + - Most comments are processed normally, but errors may occur if the comment contains special symbols or if the comment is located at the end of a JSON object. diff --git a/docs/content/pages/tutorials/update_existing.md b/docs/src/content/docs/en/updating-planets.md similarity index 61% rename from docs/content/pages/tutorials/update_existing.md rename to docs/src/content/docs/en/updating-planets.md index 76d127db..a020722e 100644 --- a/docs/content/pages/tutorials/update_existing.md +++ b/docs/src/content/docs/en/updating-planets.md @@ -1,15 +1,14 @@ --- -Title: Update Planets -Sort_Priority: 85 +title: Update Existing Planets +description: A guide for updating base-game planets in New Horizons --- -# Update Existing Planets +Similar to new planets, make a config where "Name" is the name of the planet. The name should be able to just match their in-game english names, however if you encounter any issues with that here are the in-code names for planets that are guaranteed to work: `SUN`, `CAVE_TWIN` (Ember Twin), `TOWER_TWIN` (Ash Twin), `TIMBER_HEARTH`, `BRITTLE_HOLLOW`, `GIANTS_DEEP`, `DARK_BRAMBLE`, `COMET` (Interloper), `WHITE_HOLE`, `WHITE_HOLE_TARGET` (Whitehole station I believe), `QUANTUM_MOON`, `ORBITAL_PROBE_CANNON`, `TIMBER_MOON` (Attlerock), `VOLCANIC_MOON` (Hollow's Lantern), `DREAMWORLD`, `MapSatellite`, `RINGWORLD` (the Stranger). -Similar to above, make a config where "Name" is the name of the planet. The name should be able to just match their in-game english names, however if you encounter any issues with that here are the in-code names for planets that are guaranteed to work: `SUN`, `CAVE_TWIN` (Ember Twin), `TOWER_TWIN` (Ash Twin), `TIMBER_HEARTH`, `BRITTLE_HOLLOW`, `GIANTS_DEEP`, `DARK_BRAMBLE`, `COMET` (Interloper), `WHITE_HOLE`, `WHITE_HOLE_TARGET` (Whitehole station I believe), `QUANTUM_MOON`, `ORBITAL_PROBE_CANNON`, `TIMBER_MOON` (Attlerock), `VOLCANIC_MOON` (Hollow's Lantern), `DREAMWORLD`, `MapSatellite`, `RINGWORLD` (the Stranger). - -Only some of the above modules are supported (currently) for existing planets. Things you cannot modify for existing planets include: heightmaps, procedural generation, gravity, or their orbits. You also can't make them into stars or binary focal points (but why would you want to, just delete them and replace them entirely). However, this still means there are many things you can do: completely change their atmospheres, give them rings, asteroid belts, comet tails, lava, water, prop details, or signals. +Only some of the above modules are supported (currently) for existing planets. Things you cannot modify for existing planets include: heightmaps, procedural generation, gravity, or their orbits. You also can't make them into stars or binary focal points (but why would you want to, just delete them and replace them entirely). However, this still means there are many things you can do: completely change their atmospheres, give them rings, asteroid belts, comet tails, lava, water, prop details, or signals. You can also delete parts of an existing planet. Here's part of an example config which would delete the rising sand from Ember Twin: + ```json { "name": "Ember Twin", @@ -24,10 +23,11 @@ In `childrenToDestroy` you list the relative paths for the children of the plane ## Destroy Existing Planets You do this (but with the appropriate name) as its own config. + ```json { - "name" : "Ember Twin", - "destroy" : true + "name" : "Ember Twin", + "destroy" : true } ``` diff --git a/docs/content/pages/tutorials/xml.md b/docs/src/content/docs/en/xml.md similarity index 79% rename from docs/content/pages/tutorials/xml.md rename to docs/src/content/docs/en/xml.md index 5c4db19e..a324729d 100644 --- a/docs/content/pages/tutorials/xml.md +++ b/docs/src/content/docs/en/xml.md @@ -1,10 +1,8 @@ --- -Title: Understanding XML -Sort_Priority: 50 +title: Understanding XML +description: A guide for understanding how to write XML for New Horizons --- -# Understanding XML - XML is the other language New Horizons uses for content. XML files are usually passed straight to the game's code instead of going through New Horizons. @@ -14,9 +12,9 @@ XML is composed of tags, a tag can represent a section or attribute ```xml - Jim - 32 - + Jim + 32 + ``` @@ -28,9 +26,9 @@ This XML could be written in JSON as: ```json { - "name": "Jim", - "age": 32, - "isMarried": true + "name": "Jim", + "age": 32, + "isMarried": true } ``` @@ -40,7 +38,7 @@ XML is a lot more descriptive, you can actually tell that the object is supposed All XML files must have **one** top-level tag, this varies depending on what you're using it for (like how ship logs use a `` tag). -## Schemas +## Schemas XML files can also have schemas, you specify them by adding attributes to the top-level tag: @@ -49,15 +47,11 @@ XML files can also have schemas, you specify them by adding attributes to the to ``` -In order to get schema validation and autofill you'll need the [Redhat XML VSCode extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-xml){ target="_blank" }. +In order to get schema validation and autofill you'll need the [Redhat XML VSCode extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-xml). ## Uses XML is used for the following: -- [Ship log Entries]({{ "Ship Log"|route }}) -- [Dialogue]({{ "Dialogue"|route }}) -- [Translatable Text](#) - - - +- [Ship log Entries](/en/ship-log) +- [Dialogue](/en/dialogue) diff --git a/docs/src/env.d.ts b/docs/src/env.d.ts new file mode 100644 index 00000000..576fcce3 --- /dev/null +++ b/docs/src/env.d.ts @@ -0,0 +1,10 @@ +/// +/// + +interface ImportMetaEnv { + readonly GITHUB_TOKEN: string | undefined; +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} diff --git a/docs/src/languages.ts b/docs/src/languages.ts new file mode 100644 index 00000000..935e5da8 --- /dev/null +++ b/docs/src/languages.ts @@ -0,0 +1,10 @@ +import { KNOWN_LANGUAGES, KNOWN_LANGUAGE_CODES } from './consts'; +export { KNOWN_LANGUAGES, KNOWN_LANGUAGE_CODES }; + +export const langPathRegex = /\/([a-z]{2}-?[A-Z]{0,2})\//; + +export function getLanguageFromURL(pathname: string) { + const langCodeMatch = pathname.match(langPathRegex); + const langCode = langCodeMatch ? langCodeMatch[1] : 'en'; + return langCode as (typeof KNOWN_LANGUAGE_CODES)[number]; +} diff --git a/docs/src/layouts/MainLayout.astro b/docs/src/layouts/MainLayout.astro new file mode 100644 index 00000000..5ad6453e --- /dev/null +++ b/docs/src/layouts/MainLayout.astro @@ -0,0 +1,139 @@ +--- +import type { MarkdownHeading } from "astro"; +import type { CollectionEntry } from "astro:content"; +import HeadCommon from "../components/HeadCommon.astro"; +import HeadSEO from "../components/HeadSEO.astro"; +import Header from "../components/Header/Header.astro"; +import PageContent from "../components/PageContent/PageContent.astro"; +import LeftSidebar from "../components/LeftSidebar/LeftSidebar.astro"; +import RightSidebar from "../components/RightSidebar/RightSidebar.astro"; +import Footer from "../components/Footer/Footer.astro"; +import { GITHUB_EDIT_URL, SITE } from "../consts"; + +type Props = CollectionEntry<"docs">["data"] & { + headings: MarkdownHeading[]; +}; + +const { headings, ...data } = Astro.props; +const canonicalURL = new URL(Astro.url.pathname, Astro.site); +const currentPage = Astro.url.pathname; +const currentFile = `src/content/docs${currentPage.replace(/\/$/, "")}.md`; +const githubEditUrl = `${GITHUB_EDIT_URL}/${currentFile}`; +--- + + + + + + + {`${data.title} | ${SITE.title}`} + + + + + + +
+
+ +
+ + + +
+ +
+