diff --git a/next.config.mjs b/next.config.mjs index 136dcaa..59c562e 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -6,7 +6,8 @@ const nextConfig = { output: 'export', images: { unoptimized: true }, pageExtensions: ['js', 'jsx', 'md', 'ts', 'tsx'], - assetPrefix: 'https://docs.armchairheavyindustries.com', + assetPrefix: '/', + // assetPrefix: 'https://docs.armchairheavyindustries.com', }; export default withSearch( diff --git a/package-lock.json b/package-lock.json index bcc05da..18d2897 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,161 +50,180 @@ } }, "node_modules/@algolia/autocomplete-core": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.13.0.tgz", - "integrity": "sha512-0v3mHfkvJBVx0aO1U290EHaLPp9pkUL8zkgbVY0JlitItrbXfYYHQHtNs1TxpA63mQAD0K0LyLzO2x+uWiBbGQ==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.0.tgz", + "integrity": "sha512-6E4sVb5+fGtSQs9mULlxUH84OWFUVZPMapa5dMCtUc7KyDRLY6+X/dA8xbDA8CX5phdBn1plLUET1B6NZnrZuw==", "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.13.0", - "@algolia/autocomplete-shared": "1.13.0" + "@algolia/autocomplete-plugin-algolia-insights": "1.17.0", + "@algolia/autocomplete-shared": "1.17.0" } }, "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.13.0.tgz", - "integrity": "sha512-Q0rRUZ72x7piqvJKi1//SBZvoImnYdJLRC7Yaa0rwKtkIVQFl6MmZw/p4AEDSWIu5HY3Ki3bzgYxeDyhm//P/w==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.0.tgz", + "integrity": "sha512-zbWImu+VxBDzUQONEhQXq3OzlipHLEtWbL4Nf/VOb1p1qHG/f96jCegOzzEZVPiQvZpRJnmhCUmsYNHlIBxKWw==", "dependencies": { - "@algolia/autocomplete-shared": "1.13.0" + "@algolia/autocomplete-shared": "1.17.0" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.13.0.tgz", - "integrity": "sha512-YB7JlPl1coHai3Xd4OdNIMavAMbgx8eHPH9nlEgcrCqCx57njh0qReruTMRxaThBaWIkkl47jZlUnKvb8MjGGQ==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.0.tgz", + "integrity": "sha512-7su4KH/2q2Fhud2VujUNhCMbIh7yp6wqWR3UuVje5P3kDRhTotPRmg3iRQi48YRYkk9o+airsrLl+rxJ/9FWng==", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", - "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.2.tgz", + "integrity": "sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==", "peer": true, "dependencies": { - "@algolia/cache-common": "4.22.1" + "@algolia/cache-common": "4.23.2" } }, "node_modules/@algolia/cache-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", - "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.2.tgz", + "integrity": "sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==", "peer": true }, "node_modules/@algolia/cache-in-memory": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", - "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.2.tgz", + "integrity": "sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==", "peer": true, "dependencies": { - "@algolia/cache-common": "4.22.1" + "@algolia/cache-common": "4.23.2" } }, "node_modules/@algolia/client-account": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", - "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.2.tgz", + "integrity": "sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==", "peer": true, "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/client-common": "4.23.2", + "@algolia/client-search": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/client-analytics": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", - "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.2.tgz", + "integrity": "sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==", "peer": true, "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/client-common": "4.23.2", + "@algolia/client-search": "4.23.2", + "@algolia/requester-common": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/client-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", - "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.2.tgz", + "integrity": "sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==", "peer": true, "dependencies": { - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/requester-common": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/client-personalization": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", - "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.2.tgz", + "integrity": "sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==", "peer": true, "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/client-common": "4.23.2", + "@algolia/requester-common": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/client-search": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", - "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.2.tgz", + "integrity": "sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==", "peer": true, "dependencies": { - "@algolia/client-common": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/client-common": "4.23.2", + "@algolia/requester-common": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/logger-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", - "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.2.tgz", + "integrity": "sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==", "peer": true }, "node_modules/@algolia/logger-console": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", - "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.2.tgz", + "integrity": "sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==", "peer": true, "dependencies": { - "@algolia/logger-common": "4.22.1" + "@algolia/logger-common": "4.23.2" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.2.tgz", + "integrity": "sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==", + "peer": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.2", + "@algolia/cache-common": "4.23.2", + "@algolia/cache-in-memory": "4.23.2", + "@algolia/client-common": "4.23.2", + "@algolia/client-search": "4.23.2", + "@algolia/logger-common": "4.23.2", + "@algolia/logger-console": "4.23.2", + "@algolia/requester-browser-xhr": "4.23.2", + "@algolia/requester-common": "4.23.2", + "@algolia/requester-node-http": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", - "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.2.tgz", + "integrity": "sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==", "peer": true, "dependencies": { - "@algolia/requester-common": "4.22.1" + "@algolia/requester-common": "4.23.2" } }, "node_modules/@algolia/requester-common": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", - "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.2.tgz", + "integrity": "sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==", "peer": true }, "node_modules/@algolia/requester-node-http": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", - "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.2.tgz", + "integrity": "sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==", "peer": true, "dependencies": { - "@algolia/requester-common": "4.22.1" + "@algolia/requester-common": "4.23.2" } }, "node_modules/@algolia/transporter": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", - "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.2.tgz", + "integrity": "sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==", "peer": true, "dependencies": { - "@algolia/cache-common": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/requester-common": "4.22.1" + "@algolia/cache-common": "4.23.2", + "@algolia/logger-common": "4.23.2", + "@algolia/requester-common": "4.23.2" } }, "node_modules/@alloc/quick-lru": { @@ -219,9 +238,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -231,9 +250,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "0.44.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz", - "integrity": "sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.1.1.tgz", + "integrity": "sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==", "dev": true, "optional": true, "dependencies": { @@ -288,9 +307,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -340,15 +359,15 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.1.tgz", - "integrity": "sha512-esr2BZ1x0bo+wl7Gx2hjssYhjrhUsD88VQulI0FrG8/otRQUOxLWHMBd1Y1qo2Gfg2KUvXNpT0ASnV9BzJCexw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.3.tgz", + "integrity": "sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==", "cpu": [ "arm64" ], @@ -368,13 +387,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.0.0" + "@img/sharp-libvips-darwin-arm64": "1.0.2" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.1.tgz", - "integrity": "sha512-YrnuB3bXuWdG+hJlXtq7C73lF8ampkhU3tMxg5Hh+E7ikxbUVOU9nlNtVTloDXz6pRHt2y2oKJq7DY/yt+UXYw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.3.tgz", + "integrity": "sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==", "cpu": [ "x64" ], @@ -394,13 +413,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.0.0" + "@img/sharp-libvips-darwin-x64": "1.0.2" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz", - "integrity": "sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==", "cpu": [ "arm64" ], @@ -420,9 +439,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.0.tgz", - "integrity": "sha512-dD9OznTlHD6aovRswaPNEy8dKtSAmNo4++tO7uuR4o5VxbVAOoEQ1uSmN4iFAdQneTHws1lkTZeiXPrcCkh6IA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.2.tgz", + "integrity": "sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==", "cpu": [ "x64" ], @@ -442,9 +461,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.0.tgz", - "integrity": "sha512-VwgD2eEikDJUk09Mn9Dzi1OW2OJFRQK+XlBTkUNmAWPrtj8Ly0yq05DFgu1VCMx2/DqCGQVi5A1dM9hTmxf3uw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.2.tgz", + "integrity": "sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==", "cpu": [ "arm" ], @@ -464,9 +483,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.0.tgz", - "integrity": "sha512-xTYThiqEZEZc0PRU90yVtM3KE7lw1bKdnDQ9kCTHWbqWyHOe4NpPOtMGy27YnN51q0J5dqRrvicfPbALIOeAZA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.2.tgz", + "integrity": "sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==", "cpu": [ "arm64" ], @@ -486,9 +505,9 @@ } }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.0.tgz", - "integrity": "sha512-o9E46WWBC6JsBlwU4QyU9578G77HBDT1NInd+aERfxeOPbk0qBZHgoDsQmA2v9TbqJRWzoBPx1aLOhprBMgPjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.2.tgz", + "integrity": "sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==", "cpu": [ "s390x" ], @@ -508,9 +527,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.0.tgz", - "integrity": "sha512-naldaJy4hSVhWBgEjfdBY85CAa4UO+W1nx6a1sWStHZ7EUfNiuBTTN2KUYT5dH1+p/xij1t2QSXfCiFJoC5S/Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz", + "integrity": "sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==", "cpu": [ "x64" ], @@ -530,9 +549,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.0.tgz", - "integrity": "sha512-OdorplCyvmSAPsoJLldtLh3nLxRrkAAAOHsGWGDYfN0kh730gifK+UZb3dWORRa6EusNqCTjfXV4GxvgJ/nPDQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.2.tgz", + "integrity": "sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==", "cpu": [ "arm64" ], @@ -552,9 +571,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.0.tgz", - "integrity": "sha512-FW8iK6rJrg+X2jKD0Ajhjv6y74lToIBEvkZhl42nZt563FfxkCYacrXZtd+q/sRQDypQLzY5WdLkVTbJoPyqNg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz", + "integrity": "sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==", "cpu": [ "x64" ], @@ -574,9 +593,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.1.tgz", - "integrity": "sha512-Ii4X1vnzzI4j0+cucsrYA5ctrzU9ciXERfJR633S2r39CiD8npqH2GMj63uFZRCFt3E687IenAdbwIpQOJ5BNA==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.3.tgz", + "integrity": "sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==", "cpu": [ "arm" ], @@ -596,13 +615,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.0.0" + "@img/sharp-libvips-linux-arm": "1.0.2" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.1.tgz", - "integrity": "sha512-59B5GRO2d5N3tIfeGHAbJps7cLpuWEQv/8ySd9109ohQ3kzyCACENkFVAnGPX00HwPTQcaBNF7HQYEfZyZUFfw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.3.tgz", + "integrity": "sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==", "cpu": [ "arm64" ], @@ -622,13 +641,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.0.0" + "@img/sharp-libvips-linux-arm64": "1.0.2" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.1.tgz", - "integrity": "sha512-tRGrb2pHnFUXpOAj84orYNxHADBDIr0J7rrjwQrTNMQMWA4zy3StKmMvwsI7u3dEZcgwuMMooIIGWEWOjnmG8A==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.3.tgz", + "integrity": "sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==", "cpu": [ "s390x" ], @@ -648,13 +667,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.0.0" + "@img/sharp-libvips-linux-s390x": "1.0.2" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.1.tgz", - "integrity": "sha512-4y8osC0cAc1TRpy02yn5omBeloZZwS62fPZ0WUAYQiLhSFSpWJfY/gMrzKzLcHB9ulUV6ExFiu2elMaixKDbeg==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.3.tgz", + "integrity": "sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==", "cpu": [ "x64" ], @@ -674,13 +693,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.0.0" + "@img/sharp-libvips-linux-x64": "1.0.2" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.1.tgz", - "integrity": "sha512-D3lV6clkqIKUizNS8K6pkuCKNGmWoKlBGh5p0sLO2jQERzbakhu4bVX1Gz+RS4vTZBprKlWaf+/Rdp3ni2jLfA==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.3.tgz", + "integrity": "sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==", "cpu": [ "arm64" ], @@ -700,13 +719,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.0.0" + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.1.tgz", - "integrity": "sha512-LOGKNu5w8uu1evVqUAUKTix2sQu1XDRIYbsi5Q0c/SrXhvJ4QyOx+GaajxmOg5PZSsSnCYPSmhjHHsRBx06/wQ==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.3.tgz", + "integrity": "sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==", "cpu": [ "x64" ], @@ -726,20 +745,20 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.0.0" + "@img/sharp-libvips-linuxmusl-x64": "1.0.2" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.1.tgz", - "integrity": "sha512-vWI/sA+0p+92DLkpAMb5T6I8dg4z2vzCUnp8yvxHlwBpzN8CIcO3xlSXrLltSvK6iMsVMNswAv+ub77rsf25lA==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.3.tgz", + "integrity": "sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==", "cpu": [ "wasm32" ], "dev": true, "optional": true, "dependencies": { - "@emnapi/runtime": "^0.44.0" + "@emnapi/runtime": "^1.1.0" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0", @@ -752,9 +771,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.1.tgz", - "integrity": "sha512-/xhYkylsKL05R+NXGJc9xr2Tuw6WIVl2lubFJaFYfW4/MQ4J+dgjIo/T4qjNRizrqs/szF/lC9a5+updmY9jaQ==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.3.tgz", + "integrity": "sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==", "cpu": [ "ia32" ], @@ -774,9 +793,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.1.tgz", - "integrity": "sha512-XaM69X0n6kTEsp9tVYYLhXdg7Qj32vYJlAKRutxUsm1UlgQNx6BOhHwZPwukCGXBU2+tH87ip2eV1I/E8MQnZg==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz", + "integrity": "sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==", "cpu": [ "x64" ], @@ -837,30 +856,30 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } @@ -871,9 +890,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -916,23 +935,23 @@ } }, "node_modules/@next/env": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.0.tgz", - "integrity": "sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==" + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.4.tgz", + "integrity": "sha512-e7X7bbn3Z6DWnDi75UWn+REgAbLEqxI8Tq2pkFOFAMpWAWApz/YCUhtWMWn410h8Q2fYiYL7Yg5OlxMOCfFjJQ==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.0.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.4.tgz", - "integrity": "sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.4.tgz", + "integrity": "sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==", "dev": true, "dependencies": { - "glob": "7.1.7" + "glob": "10.3.10" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz", - "integrity": "sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.4.tgz", + "integrity": "sha512-ubmUkbmW65nIAOmoxT1IROZdmmJMmdYvXIe8211send9ZYJu+SqxSnJM4TrPj9wmL6g9Atvj0S/2cFmMSS99jg==", "cpu": [ "arm64" ], @@ -945,9 +964,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz", - "integrity": "sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.4.tgz", + "integrity": "sha512-b0Xo1ELj3u7IkZWAKcJPJEhBop117U78l70nfoQGo4xUSvv0PJSTaV4U9xQBLvZlnjsYkc8RwQN1HoH/oQmLlQ==", "cpu": [ "x64" ], @@ -960,9 +979,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz", - "integrity": "sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.4.tgz", + "integrity": "sha512-457G0hcLrdYA/u1O2XkRMsDKId5VKe3uKPvrKVOyuARa6nXrdhJOOYU9hkKKyQTMru1B8qEP78IAhf/1XnVqKA==", "cpu": [ "arm64" ], @@ -975,9 +994,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz", - "integrity": "sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.4.tgz", + "integrity": "sha512-l/kMG+z6MB+fKA9KdtyprkTQ1ihlJcBh66cf0HvqGP+rXBbOXX0dpJatjZbHeunvEHoBBS69GYQG5ry78JMy3g==", "cpu": [ "arm64" ], @@ -990,9 +1009,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz", - "integrity": "sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.4.tgz", + "integrity": "sha512-BapIFZ3ZRnvQ1uWbmqEGJuPT9cgLwvKtxhK/L2t4QYO7l+/DxXuIGjvp1x8rvfa/x1FFSsipERZK70pewbtJtw==", "cpu": [ "x64" ], @@ -1005,9 +1024,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz", - "integrity": "sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.4.tgz", + "integrity": "sha512-mqVxTwk4XuBl49qn2A5UmzFImoL1iLm0KQQwtdRJRKl21ylQwwGCxJtIYo2rbfkZHoSKlh/YgztY0qH3wG1xIg==", "cpu": [ "x64" ], @@ -1020,9 +1039,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz", - "integrity": "sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.4.tgz", + "integrity": "sha512-xzxF4ErcumXjO2Pvg/wVGrtr9QQJLk3IyQX1ddAC/fi6/5jZCZ9xpuL9Tzc4KPWMFq8GGWFVDMshZOdHGdkvag==", "cpu": [ "arm64" ], @@ -1035,9 +1054,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz", - "integrity": "sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.4.tgz", + "integrity": "sha512-WZiz8OdbkpRw6/IU/lredZWKKZopUMhcI2F+XiMAcPja0uZYdMTZQRoQ0WZcvinn9xZAidimE7tN9W5v9Yyfyw==", "cpu": [ "ia32" ], @@ -1050,9 +1069,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz", - "integrity": "sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.4.tgz", + "integrity": "sha512-4Rto21sPfw555sZ/XNLqfxDUNeLhNYGO2dlPqsnuCg8N8a2a9u1ltqBOPQ4vj1Gf7eJC0W2hHG2eYUHuiXgY2w==", "cpu": [ "x64" ], @@ -1106,9 +1125,9 @@ } }, "node_modules/@rushstack/eslint-patch": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.1.tgz", - "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz", + "integrity": "sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==", "dev": true }, "node_modules/@sindresorhus/slugify": { @@ -1149,9 +1168,9 @@ } }, "node_modules/@tailwindcss/typography": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", - "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz", + "integrity": "sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==", "dependencies": { "lodash.castarray": "^4.4.0", "lodash.isplainobject": "^4.0.6", @@ -1163,11 +1182,11 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.0.1.tgz", - "integrity": "sha512-IFOFuRUTaiM/yibty9qQ9BfycQnYXIDHGP2+cU+0LrFFGNhVxCXSQnaY6wkX8uJVteFEBjUondX0Hmpp7TNcag==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.2.0.tgz", + "integrity": "sha512-OEdMByf2hEfDa6XDbGlZN8qO6bTjlNKqjM3im9JG+u3mCL8jALy0T/67oDI001raUUPh1Bdmfn4ZvPOV5knpcg==", "dependencies": { - "@tanstack/virtual-core": "3.0.0" + "@tanstack/virtual-core": "3.2.0" }, "funding": { "type": "github", @@ -1179,9 +1198,9 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.0.0.tgz", - "integrity": "sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.2.0.tgz", + "integrity": "sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -1220,42 +1239,16 @@ "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==" }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "optional": true, - "peer": true - }, - "node_modules/@types/react": { - "version": "18.2.47", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.47.tgz", - "integrity": "sha512-xquNkkOirwyCgoClNk85BjP+aqnIS+ckAJ8i37gAbDs14jfW/J23f2GItAf33oiUPQnqNMALiFeoM9Y5mbjpVQ==", - "optional": true, - "peer": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "optional": true, - "peer": true - }, "node_modules/@typescript-eslint/parser": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", - "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.18.1", - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/typescript-estree": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4" }, "engines": { @@ -1275,13 +1268,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", - "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1292,9 +1285,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", - "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1305,13 +1298,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", - "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1357,12 +1350,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", - "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -1401,9 +1394,9 @@ } }, "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dependencies": { "debug": "^4.3.4" }, @@ -1428,25 +1421,26 @@ } }, "node_modules/algoliasearch": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", - "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.2.tgz", + "integrity": "sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==", "peer": true, "dependencies": { - "@algolia/cache-browser-local-storage": "4.22.1", - "@algolia/cache-common": "4.22.1", - "@algolia/cache-in-memory": "4.22.1", - "@algolia/client-account": "4.22.1", - "@algolia/client-analytics": "4.22.1", - "@algolia/client-common": "4.22.1", - "@algolia/client-personalization": "4.22.1", - "@algolia/client-search": "4.22.1", - "@algolia/logger-common": "4.22.1", - "@algolia/logger-console": "4.22.1", - "@algolia/requester-browser-xhr": "4.22.1", - "@algolia/requester-common": "4.22.1", - "@algolia/requester-node-http": "4.22.1", - "@algolia/transporter": "4.22.1" + "@algolia/cache-browser-local-storage": "4.23.2", + "@algolia/cache-common": "4.23.2", + "@algolia/cache-in-memory": "4.23.2", + "@algolia/client-account": "4.23.2", + "@algolia/client-analytics": "4.23.2", + "@algolia/client-common": "4.23.2", + "@algolia/client-personalization": "4.23.2", + "@algolia/client-search": "4.23.2", + "@algolia/logger-common": "4.23.2", + "@algolia/logger-console": "4.23.2", + "@algolia/recommend": "4.23.2", + "@algolia/requester-browser-xhr": "4.23.2", + "@algolia/requester-common": "4.23.2", + "@algolia/requester-node-http": "4.23.2", + "@algolia/transporter": "4.23.2" } }, "node_modules/ansi-regex": { @@ -1508,28 +1502,32 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -1548,17 +1546,38 @@ "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1603,31 +1622,44 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.tosorted": { + "node_modules/array.prototype.toreversed": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -1643,24 +1675,15 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "funding": [ { "type": "opencollective", @@ -1676,9 +1699,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -1694,10 +1717,13 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -1715,11 +1741,11 @@ } }, "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -1774,11 +1800,14 @@ } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/brace-expansion": { @@ -1803,9 +1832,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "funding": [ { "type": "opencollective", @@ -1821,8 +1850,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, @@ -1850,14 +1879,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1881,9 +1915,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001581", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz", - "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==", + "version": "1.0.30001606", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz", + "integrity": "sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==", "funding": [ { "type": "opencollective", @@ -1916,15 +1950,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1937,6 +1965,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -2058,19 +2089,63 @@ "node": ">=4" } }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "optional": true, - "peer": true - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2094,17 +2169,20 @@ "dev": true }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -2142,9 +2220,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, "engines": { "node": ">=8" @@ -2198,9 +2276,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.627", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.627.tgz", - "integrity": "sha512-BPFdHKPzyGxYQpgiCoIGnkzlMlps3bRdnjeh3qd/Q2pSacL0YW81i4llqsTY/wNbN/Ztw++7HNfp8v4Rm8VDuA==" + "version": "1.4.728", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.728.tgz", + "integrity": "sha512-Ud1v7hJJYIqehlUJGqR6PF1Ek8l80zWwxA6nGxigBsGJ9f9M2fciHyrIiNMerSHSH3p+0/Ia7jIlnDkt41h5cw==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -2216,9 +2294,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2229,50 +2307,57 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -2281,37 +2366,73 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", "dev": true, "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", + "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -2344,9 +2465,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -2363,16 +2484,16 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2418,12 +2539,12 @@ } }, "node_modules/eslint-config-next": { - "version": "14.0.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.0.4.tgz", - "integrity": "sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.4.tgz", + "integrity": "sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "14.0.4", + "@next/eslint-plugin-next": "14.1.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -2489,9 +2610,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, "dependencies": { "debug": "^3.2.7" @@ -2606,27 +2727,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.17", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.10" }, "engines": { "node": ">=4" @@ -2834,9 +2957,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } @@ -2895,9 +3018,9 @@ } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/flexsearch": { @@ -2906,9 +3029,9 @@ "integrity": "sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==" }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -3028,14 +3151,15 @@ } }, "node_modules/gaxios": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.1.1.tgz", - "integrity": "sha512-bw8smrX+XlAoo9o1JAksBwX+hi/RG15J+NTSxmNPIclKC3ZVK6C2afwY8OSdRvOK0+ZLecUJYtj2MmjOt3Dm0w==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.4.0.tgz", + "integrity": "sha512-apAloYrY4dlBGlhauDAYSZveafb5U6+L9titing1wox6BvWM0TSXBp603zTrLpyLMGkrcFgohnUN150dFN/zOA==", "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "is-stream": "^2.0.0", - "node-fetch": "^2.6.9" + "node-fetch": "^2.6.9", + "uuid": "^9.0.1" }, "engines": { "node": ">=14" @@ -3054,28 +3178,33 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -3085,9 +3214,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -3097,20 +3226,21 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3127,14 +3257,36 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "type-fest": "^0.20.2" - }, + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { "node": ">=8" }, @@ -3178,9 +3330,9 @@ } }, "node_modules/google-auth-library": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.4.2.tgz", - "integrity": "sha512-rTLO4gjhqqo3WvYKL5IdtlCvRqeQ4hxUx/p4lObobY2xotFW3bCQC+Qf1N51CYOfiqfMecdMwW9RIo7dFWYjqw==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.7.0.tgz", + "integrity": "sha512-I/AvzBiUXDzLOy4iIZ2W+Zq33W4lcukQv1nl7C8WUA6SQwyQwUwu3waNmWNAvzds//FG8SZ+DnKnW/2k6mQS8A==", "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", @@ -3234,9 +3386,9 @@ "dev": true }, "node_modules/gtoken": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.0.1.tgz", - "integrity": "sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz", + "integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==", "dependencies": { "gaxios": "^6.0.0", "jws": "^4.0.0" @@ -3264,21 +3416,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -3300,12 +3452,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -3315,9 +3467,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -3331,9 +3483,9 @@ "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==" }, "node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -3343,9 +3495,9 @@ } }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -3393,12 +3545,12 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -3407,14 +3559,16 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3503,6 +3657,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -3573,18 +3742,21 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -3642,21 +3814,27 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3704,12 +3882,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -3719,10 +3897,13 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3740,13 +3921,16 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4001,15 +4185,11 @@ } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "engines": { - "node": ">=10" + "node": "14 || >=16.14" } }, "node_modules/memoize-one": { @@ -4124,11 +4304,11 @@ "dev": true }, "node_modules/next": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", - "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.4.tgz", + "integrity": "sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ==", "dependencies": { - "@next/env": "14.1.0", + "@next/env": "14.1.4", "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -4143,15 +4323,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.1.0", - "@next/swc-darwin-x64": "14.1.0", - "@next/swc-linux-arm64-gnu": "14.1.0", - "@next/swc-linux-arm64-musl": "14.1.0", - "@next/swc-linux-x64-gnu": "14.1.0", - "@next/swc-linux-x64-musl": "14.1.0", - "@next/swc-win32-arm64-msvc": "14.1.0", - "@next/swc-win32-ia32-msvc": "14.1.0", - "@next/swc-win32-x64-msvc": "14.1.0" + "@next/swc-darwin-arm64": "14.1.4", + "@next/swc-darwin-x64": "14.1.4", + "@next/swc-linux-arm64-gnu": "14.1.4", + "@next/swc-linux-arm64-musl": "14.1.4", + "@next/swc-linux-x64-gnu": "14.1.4", + "@next/swc-linux-x64-musl": "14.1.4", + "@next/swc-win32-arm64-msvc": "14.1.4", + "@next/swc-win32-ia32-msvc": "14.1.4", + "@next/swc-win32-x64-msvc": "14.1.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -4298,28 +4478,29 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4329,39 +4510,45 @@ } }, "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4470,11 +4657,11 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { @@ -4484,14 +4671,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -4533,10 +4712,19 @@ "node": ">= 6" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -4554,7 +4742,7 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -4629,11 +4817,14 @@ } }, "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", "engines": { "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/postcss-nested": { @@ -4655,9 +4846,9 @@ } }, "node_modules/postcss-nested/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -4693,9 +4884,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -4708,9 +4899,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz", - "integrity": "sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.13.tgz", + "integrity": "sha512-2tPWHCFNC+WRjAC4SIWQNSOdcL1NNkydXim8w7TDqlZi+/ulZYz2OouAI6qMtkggnPt7lGamboj6LcTMwcCvoQ==", "dev": true, "engines": { "node": ">=14.21.3" @@ -4720,6 +4911,7 @@ "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig-melody": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", @@ -4728,6 +4920,7 @@ "prettier-plugin-marko": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", "prettier-plugin-style-order": "*", "prettier-plugin-svelte": "*" }, @@ -4744,6 +4937,9 @@ "@trivago/prettier-plugin-sort-imports": { "optional": true }, + "@zackad/prettier-plugin-twig-melody": { + "optional": true + }, "prettier-plugin-astro": { "optional": true }, @@ -4765,13 +4961,13 @@ "prettier-plugin-organize-imports": { "optional": true }, - "prettier-plugin-style-order": { + "prettier-plugin-sort-imports": { "optional": true }, - "prettier-plugin-svelte": { + "prettier-plugin-style-order": { "optional": true }, - "prettier-plugin-twig-melody": { + "prettier-plugin-svelte": { "optional": true } } @@ -4892,15 +5088,16 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -4918,14 +5115,15 @@ "dev": true }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -4992,6 +5190,26 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -5015,13 +5233,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -5052,13 +5270,13 @@ ] }, "node_modules/safe-regex-test": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.1.tgz", - "integrity": "sha512-Y5NejJTTliTyY4H7sipGqY+RX5P87i3F7c4Rcepy72nq+mNLhIsD0W4c7kEmduMDQCSqtPsXPlSTsFhh2LQv+g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, "engines": { @@ -5083,9 +5301,9 @@ "peer": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5097,73 +5315,88 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/sharp": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz", - "integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.3.tgz", + "integrity": "sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==", "dev": true, "hasInstallScript": true, "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.2", - "semver": "^7.5.4" + "detect-libc": "^2.0.3", + "semver": "^7.6.0" }, "engines": { - "libvips": ">=8.15.0", + "libvips": ">=8.15.2", "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.1", - "@img/sharp-darwin-x64": "0.33.1", - "@img/sharp-libvips-darwin-arm64": "1.0.0", - "@img/sharp-libvips-darwin-x64": "1.0.0", - "@img/sharp-libvips-linux-arm": "1.0.0", - "@img/sharp-libvips-linux-arm64": "1.0.0", - "@img/sharp-libvips-linux-s390x": "1.0.0", - "@img/sharp-libvips-linux-x64": "1.0.0", - "@img/sharp-libvips-linuxmusl-arm64": "1.0.0", - "@img/sharp-libvips-linuxmusl-x64": "1.0.0", - "@img/sharp-linux-arm": "0.33.1", - "@img/sharp-linux-arm64": "0.33.1", - "@img/sharp-linux-s390x": "0.33.1", - "@img/sharp-linux-x64": "0.33.1", - "@img/sharp-linuxmusl-arm64": "0.33.1", - "@img/sharp-linuxmusl-x64": "0.33.1", - "@img/sharp-wasm32": "0.33.1", - "@img/sharp-win32-ia32": "0.33.1", - "@img/sharp-win32-x64": "0.33.1" + "@img/sharp-darwin-arm64": "0.33.3", + "@img/sharp-darwin-x64": "0.33.3", + "@img/sharp-libvips-darwin-arm64": "1.0.2", + "@img/sharp-libvips-darwin-x64": "1.0.2", + "@img/sharp-libvips-linux-arm": "1.0.2", + "@img/sharp-libvips-linux-arm64": "1.0.2", + "@img/sharp-libvips-linux-s390x": "1.0.2", + "@img/sharp-libvips-linux-x64": "1.0.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", + "@img/sharp-libvips-linuxmusl-x64": "1.0.2", + "@img/sharp-linux-arm": "0.33.3", + "@img/sharp-linux-arm64": "0.33.3", + "@img/sharp-linux-s390x": "0.33.3", + "@img/sharp-linux-x64": "0.33.3", + "@img/sharp-linuxmusl-arm64": "0.33.3", + "@img/sharp-linuxmusl-x64": "0.33.3", + "@img/sharp-wasm32": "0.33.3", + "@img/sharp-win32-ia32": "0.33.3", + "@img/sharp-win32-x64": "0.33.3" } }, "node_modules/shebang-command": { @@ -5186,14 +5419,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5237,9 +5474,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -5313,34 +5550,41 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5350,28 +5594,31 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5464,49 +5711,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/sucrase/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5531,9 +5735,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -5543,7 +5747,7 @@ "fast-glob": "^3.3.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.19.1", + "jiti": "^1.21.0", "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", @@ -5567,9 +5771,9 @@ } }, "node_modules/tailwindcss/node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -5629,12 +5833,12 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, "engines": { - "node": ">=16.13.0" + "node": ">=16" }, "peerDependencies": { "typescript": ">=4.2.0" @@ -5699,29 +5903,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -5731,16 +5936,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -5750,23 +5956,29 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", "dev": true, "peer": true, "bin": { @@ -5835,6 +6047,18 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -5906,31 +6130,34 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6039,9 +6266,12 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } diff --git a/public/archetypes/atrocity/archetype_atrocity_3515_a.png b/public/archetype/archetypes/atrocity/archetype_atrocity_3515_a.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_3515_a.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_3515_a.png diff --git a/public/archetypes/atrocity/archetype_atrocity_3515_b.png b/public/archetype/archetypes/atrocity/archetype_atrocity_3515_b.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_3515_b.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_3515_b.png diff --git a/public/archetypes/atrocity/archetype_atrocity_assembly_a.png b/public/archetype/archetypes/atrocity/archetype_atrocity_assembly_a.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_assembly_a.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_assembly_a.png diff --git a/public/archetypes/atrocity/archetype_atrocity_assembly_b.png b/public/archetype/archetypes/atrocity/archetype_atrocity_assembly_b.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_assembly_b.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_assembly_b.png diff --git a/public/archetypes/atrocity/archetype_atrocity_assembly_c.png b/public/archetype/archetypes/atrocity/archetype_atrocity_assembly_c.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_assembly_c.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_assembly_c.png diff --git a/public/archetypes/atrocity/archetype_atrocity_assembly_c2.png b/public/archetype/archetypes/atrocity/archetype_atrocity_assembly_c2.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_assembly_c2.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_assembly_c2.png diff --git a/public/archetypes/atrocity/archetype_atrocity_assembly_d.png b/public/archetype/archetypes/atrocity/archetype_atrocity_assembly_d.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_assembly_d.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_assembly_d.png diff --git a/public/archetypes/atrocity/archetype_atrocity_ducts_a.png b/public/archetype/archetypes/atrocity/archetype_atrocity_ducts_a.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_ducts_a.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_ducts_a.png diff --git a/public/archetypes/atrocity/archetype_atrocity_ducts_b.png b/public/archetype/archetypes/atrocity/archetype_atrocity_ducts_b.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_ducts_b.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_ducts_b.png diff --git a/public/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png b/public/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png diff --git a/public/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png b/public/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png similarity index 100% rename from public/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png rename to public/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png diff --git a/public/archetypes/breakneck/archetype_breakneck_assembly_a.png b/public/archetype/archetypes/breakneck/archetype_breakneck_assembly_a.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_assembly_a.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_assembly_a.png diff --git a/public/archetypes/breakneck/archetype_breakneck_assembly_b.png b/public/archetype/archetypes/breakneck/archetype_breakneck_assembly_b.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_assembly_b.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_assembly_b.png diff --git a/public/archetypes/breakneck/archetype_breakneck_assembly_c.png b/public/archetype/archetypes/breakneck/archetype_breakneck_assembly_c.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_assembly_c.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_assembly_c.png diff --git a/public/archetypes/breakneck/archetype_breakneck_assembly_c2.png b/public/archetype/archetypes/breakneck/archetype_breakneck_assembly_c2.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_assembly_c2.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_assembly_c2.png diff --git a/public/archetypes/breakneck/archetype_breakneck_assembly_d.png b/public/archetype/archetypes/breakneck/archetype_breakneck_assembly_d.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_assembly_d.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_assembly_d.png diff --git a/public/archetypes/breakneck/archetype_breakneck_cpap_a.png b/public/archetype/archetypes/breakneck/archetype_breakneck_cpap_a.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_cpap_a.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_cpap_a.png diff --git a/public/archetypes/breakneck/archetype_breakneck_cpap_b.png b/public/archetype/archetypes/breakneck/archetype_breakneck_cpap_b.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_cpap_b.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_cpap_b.png diff --git a/public/archetypes/breakneck/archetype_breakneck_top_a.png b/public/archetype/archetypes/breakneck/archetype_breakneck_top_a.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_top_a.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_top_a.png diff --git a/public/archetypes/breakneck/archetype_breakneck_top_b.png b/public/archetype/archetypes/breakneck/archetype_breakneck_top_b.png similarity index 100% rename from public/archetypes/breakneck/archetype_breakneck_top_b.png rename to public/archetype/archetypes/breakneck/archetype_breakneck_top_b.png diff --git a/public/archetypes/mjolnir/[h]_archetype_mjolnir.png b/public/archetype/archetypes/mjolnir/[h]_archetype_mjolnir.png similarity index 100% rename from public/archetypes/mjolnir/[h]_archetype_mjolnir.png rename to public/archetype/archetypes/mjolnir/[h]_archetype_mjolnir.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_5015_a.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_5015_a.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_5015_a.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_5015_a.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_5015_b.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_5015_b.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_5015_b.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_5015_b.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_assembly_a.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_a.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_assembly_a.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_a.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_assembly_b.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_b.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_assembly_b.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_b.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_assembly_c.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_c.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_assembly_c.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_c.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_assembly_d.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_d.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_assembly_d.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_d.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_assembly_e.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_e.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_assembly_e.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_e.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png diff --git a/public/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png b/public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png similarity index 100% rename from public/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png rename to public/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png diff --git a/public/atrocity.png b/public/archetype/atrocity.png similarity index 100% rename from public/atrocity.png rename to public/archetype/atrocity.png diff --git a/public/blackbird.png b/public/archetype/blackbird.png similarity index 100% rename from public/blackbird.png rename to public/archetype/blackbird.png diff --git a/public/breakneck.png b/public/archetype/breakneck.png similarity index 100% rename from public/breakneck.png rename to public/archetype/breakneck.png diff --git a/public/compiled/archetypes.png b/public/archetype/compiled/archetypes.png similarity index 100% rename from public/compiled/archetypes.png rename to public/archetype/compiled/archetypes.png diff --git a/public/compiled/archetypes_body_a.png b/public/archetype/compiled/archetypes_body_a.png similarity index 100% rename from public/compiled/archetypes_body_a.png rename to public/archetype/compiled/archetypes_body_a.png diff --git a/public/compiled/archetypes_body_b.png b/public/archetype/compiled/archetypes_body_b.png similarity index 100% rename from public/compiled/archetypes_body_b.png rename to public/archetype/compiled/archetypes_body_b.png diff --git a/public/compiled/archetypes_cover_a.png b/public/archetype/compiled/archetypes_cover_a.png similarity index 100% rename from public/compiled/archetypes_cover_a.png rename to public/archetype/compiled/archetypes_cover_a.png diff --git a/public/compiled/archetypes_cover_b.png b/public/archetype/compiled/archetypes_cover_b.png similarity index 100% rename from public/compiled/archetypes_cover_b.png rename to public/archetype/compiled/archetypes_cover_b.png diff --git a/public/compiled/hotends_a.png b/public/archetype/compiled/hotends_a.png similarity index 100% rename from public/compiled/hotends_a.png rename to public/archetype/compiled/hotends_a.png diff --git a/public/compiled/hotends_b.png b/public/archetype/compiled/hotends_b.png similarity index 100% rename from public/compiled/hotends_b.png rename to public/archetype/compiled/hotends_b.png diff --git a/public/compiled/probes_a.png b/public/archetype/compiled/probes_a.png similarity index 100% rename from public/compiled/probes_a.png rename to public/archetype/compiled/probes_a.png diff --git a/public/compiled/probes_b.png b/public/archetype/compiled/probes_b.png similarity index 100% rename from public/compiled/probes_b.png rename to public/archetype/compiled/probes_b.png diff --git a/public/core/[h]_core_carriage.png b/public/archetype/core/[h]_core_carriage.png similarity index 100% rename from public/core/[h]_core_carriage.png rename to public/archetype/core/[h]_core_carriage.png diff --git a/public/core/core_carriage_a.png b/public/archetype/core/core_carriage_a.png similarity index 100% rename from public/core/core_carriage_a.png rename to public/archetype/core/core_carriage_a.png diff --git a/public/core/core_carriage_belt_clips_a.png b/public/archetype/core/core_carriage_belt_clips_a.png similarity index 100% rename from public/core/core_carriage_belt_clips_a.png rename to public/archetype/core/core_carriage_belt_clips_a.png diff --git a/public/core/core_carriage_belt_clips_b.png b/public/archetype/core/core_carriage_belt_clips_b.png similarity index 100% rename from public/core/core_carriage_belt_clips_b.png rename to public/archetype/core/core_carriage_belt_clips_b.png diff --git a/public/core/core_carriage_belt_clips_c_m3x45.png b/public/archetype/core/core_carriage_belt_clips_c_m3x45.png similarity index 100% rename from public/core/core_carriage_belt_clips_c_m3x45.png rename to public/archetype/core/core_carriage_belt_clips_c_m3x45.png diff --git a/public/core/core_carriage_belt_clips_c_pins.png b/public/archetype/core/core_carriage_belt_clips_c_pins.png similarity index 100% rename from public/core/core_carriage_belt_clips_c_pins.png rename to public/archetype/core/core_carriage_belt_clips_c_pins.png diff --git a/public/core/core_carriage_belt_clips_d_m3x45.png b/public/archetype/core/core_carriage_belt_clips_d_m3x45.png similarity index 100% rename from public/core/core_carriage_belt_clips_d_m3x45.png rename to public/archetype/core/core_carriage_belt_clips_d_m3x45.png diff --git a/public/core/core_carriage_belt_clips_d_pins.png b/public/archetype/core/core_carriage_belt_clips_d_pins.png similarity index 100% rename from public/core/core_carriage_belt_clips_d_pins.png rename to public/archetype/core/core_carriage_belt_clips_d_pins.png diff --git a/public/core/core_carriage_belt_clips_tube_a.png b/public/archetype/core/core_carriage_belt_clips_tube_a.png similarity index 100% rename from public/core/core_carriage_belt_clips_tube_a.png rename to public/archetype/core/core_carriage_belt_clips_tube_a.png diff --git a/public/core/core_carriage_belt_clips_tube_b.png b/public/archetype/core/core_carriage_belt_clips_tube_b.png similarity index 100% rename from public/core/core_carriage_belt_clips_tube_b.png rename to public/archetype/core/core_carriage_belt_clips_tube_b.png diff --git a/public/core/core_carriage_m3x6_a.png b/public/archetype/core/core_carriage_m3x6_a.png similarity index 100% rename from public/core/core_carriage_m3x6_a.png rename to public/archetype/core/core_carriage_m3x6_a.png diff --git a/public/core/core_carriage_m3x6_b.png b/public/archetype/core/core_carriage_m3x6_b.png similarity index 100% rename from public/core/core_carriage_m3x6_b.png rename to public/archetype/core/core_carriage_m3x6_b.png diff --git a/public/core/core_carriage_rigid_mount_m3x16_a.png b/public/archetype/core/core_carriage_rigid_mount_m3x16_a.png similarity index 100% rename from public/core/core_carriage_rigid_mount_m3x16_a.png rename to public/archetype/core/core_carriage_rigid_mount_m3x16_a.png diff --git a/public/core/core_carriage_rigid_mount_m3x16_b.png b/public/archetype/core/core_carriage_rigid_mount_m3x16_b.png similarity index 100% rename from public/core/core_carriage_rigid_mount_m3x16_b.png rename to public/archetype/core/core_carriage_rigid_mount_m3x16_b.png diff --git a/public/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png b/public/archetype/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png similarity index 100% rename from public/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png rename to public/archetype/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png diff --git a/public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png b/public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png similarity index 100% rename from public/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png rename to public/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png diff --git a/public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png b/public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png similarity index 100% rename from public/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png rename to public/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png b/public/archetype/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png rename to public/archetype/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png diff --git a/public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png b/public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png similarity index 100% rename from public/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png rename to public/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png diff --git a/public/extruders/flat/bowden/extruder_flat_bowden_collet_a.png b/public/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_a.png similarity index 100% rename from public/extruders/flat/bowden/extruder_flat_bowden_collet_a.png rename to public/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_a.png diff --git a/public/extruders/flat/bowden/extruder_flat_bowden_collet_b.png b/public/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_b.png similarity index 100% rename from public/extruders/flat/bowden/extruder_flat_bowden_collet_b.png rename to public/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_b.png diff --git a/public/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png b/public/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png similarity index 100% rename from public/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png rename to public/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png diff --git a/public/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png b/public/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png similarity index 100% rename from public/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png rename to public/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png diff --git a/public/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png b/public/archetype/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png similarity index 100% rename from public/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png rename to public/archetype/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png diff --git a/public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png b/public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png similarity index 100% rename from public/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png rename to public/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png diff --git a/public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png b/public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png similarity index 100% rename from public/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png rename to public/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_a.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_a.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_a.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_a.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_b.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_b.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_b.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_b.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png diff --git a/public/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png b/public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png similarity index 100% rename from public/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png rename to public/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png diff --git a/public/hotend/goliath/hotend_goliath_2510_a.png b/public/archetype/hotend/goliath/hotend_goliath_2510_a.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_2510_a.png rename to public/archetype/hotend/goliath/hotend_goliath_2510_a.png diff --git a/public/hotend/goliath/hotend_goliath_2510_b.png b/public/archetype/hotend/goliath/hotend_goliath_2510_b.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_2510_b.png rename to public/archetype/hotend/goliath/hotend_goliath_2510_b.png diff --git a/public/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png b/public/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png rename to public/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png diff --git a/public/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png b/public/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png rename to public/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png diff --git a/public/hotend/goliath/hotend_goliath_a.png b/public/archetype/hotend/goliath/hotend_goliath_a.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_a.png rename to public/archetype/hotend/goliath/hotend_goliath_a.png diff --git a/public/hotend/goliath/hotend_goliath_b.png b/public/archetype/hotend/goliath/hotend_goliath_b.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_b.png rename to public/archetype/hotend/goliath/hotend_goliath_b.png diff --git a/public/hotend/goliath/hotend_goliath_carriage_a.png b/public/archetype/hotend/goliath/hotend_goliath_carriage_a.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_carriage_a.png rename to public/archetype/hotend/goliath/hotend_goliath_carriage_a.png diff --git a/public/hotend/goliath/hotend_goliath_carriage_b.png b/public/archetype/hotend/goliath/hotend_goliath_carriage_b.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_carriage_b.png rename to public/archetype/hotend/goliath/hotend_goliath_carriage_b.png diff --git a/public/hotend/goliath/hotend_goliath_m2.5x8_a.png b/public/archetype/hotend/goliath/hotend_goliath_m2.5x8_a.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_m2.5x8_a.png rename to public/archetype/hotend/goliath/hotend_goliath_m2.5x8_a.png diff --git a/public/hotend/goliath/hotend_goliath_m2.5x8_b.png b/public/archetype/hotend/goliath/hotend_goliath_m2.5x8_b.png similarity index 100% rename from public/hotend/goliath/hotend_goliath_m2.5x8_b.png rename to public/archetype/hotend/goliath/hotend_goliath_m2.5x8_b.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_long_a.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_long_a.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_long_a.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_long_a.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_long_b.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_long_b.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_long_b.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_long_b.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_a.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_a.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_a.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_a.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_b.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_b.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_b.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_m3x35_b.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_a.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_a.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_a.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_a.png diff --git a/public/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_b.png b/public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_b.png similarity index 100% rename from public/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_b.png rename to public/archetype/hotend/goliath/probe/hotend_goliath_probe_beacon_revd_b.png diff --git a/public/hotend/goliath/probe/klicky_pcb/hotend_goliath_probe_klicky_pbc_medium_b.png b/public/archetype/hotend/goliath/probe/klicky_pcb/hotend_goliath_probe_klicky_pbc_medium_b.png similarity index 100% rename from public/hotend/goliath/probe/klicky_pcb/hotend_goliath_probe_klicky_pbc_medium_b.png rename to public/archetype/hotend/goliath/probe/klicky_pcb/hotend_goliath_probe_klicky_pbc_medium_b.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_a.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_a.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_a.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_a.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_b.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_b.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_b.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_b.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png diff --git a/public/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png b/public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png similarity index 100% rename from public/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png rename to public/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x25_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_carriage_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_carriage_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_carriage_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_carriage_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_carriage_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_carriage_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_carriage_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_carriage_b.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png diff --git a/public/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png b/public/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png similarity index 100% rename from public/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png rename to public/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png diff --git a/public/mantis.png b/public/archetype/mantis.png similarity index 100% rename from public/mantis.png rename to public/archetype/mantis.png diff --git a/public/mjolnir.png b/public/archetype/mjolnir.png similarity index 100% rename from public/mjolnir.png rename to public/archetype/mjolnir.png diff --git a/public/videos/core_assemble.mp4 b/public/archetype/videos/core_assemble.mp4 similarity index 100% rename from public/videos/core_assemble.mp4 rename to public/archetype/videos/core_assemble.mp4 diff --git a/public/videos/core_heatsets_install.mp4 b/public/archetype/videos/core_heatsets_install.mp4 similarity index 100% rename from public/videos/core_heatsets_install.mp4 rename to public/archetype/videos/core_heatsets_install.mp4 diff --git a/public/videos/hotend_assy.mp4 b/public/archetype/videos/hotend_assy.mp4 similarity index 100% rename from public/videos/hotend_assy.mp4 rename to public/archetype/videos/hotend_assy.mp4 diff --git a/public/videos/hotend_assy_chube.mp4 b/public/archetype/videos/hotend_assy_chube.mp4 similarity index 100% rename from public/videos/hotend_assy_chube.mp4 rename to public/archetype/videos/hotend_assy_chube.mp4 diff --git a/public/videos/hotend_assy_goliath.mp4 b/public/archetype/videos/hotend_assy_goliath.mp4 similarity index 100% rename from public/videos/hotend_assy_goliath.mp4 rename to public/archetype/videos/hotend_assy_goliath.mp4 diff --git a/public/videos/probe_assy.mp4 b/public/archetype/videos/probe_assy.mp4 similarity index 100% rename from public/videos/probe_assy.mp4 rename to public/archetype/videos/probe_assy.mp4 diff --git a/public/zephyr.png b/public/archetype/zephyr.png similarity index 100% rename from public/zephyr.png rename to public/archetype/zephyr.png diff --git a/src/app/configurator/config.js b/src/app/configurator/archetype/config.js similarity index 100% rename from src/app/configurator/config.js rename to src/app/configurator/archetype/config.js diff --git a/src/app/configurator/page.js b/src/app/configurator/archetype/page.js similarity index 99% rename from src/app/configurator/page.js rename to src/app/configurator/archetype/page.js index fafca71..705f1ec 100644 --- a/src/app/configurator/page.js +++ b/src/app/configurator/archetype/page.js @@ -3,7 +3,7 @@ import { DocsHeader } from '@/components/DocsHeader'; import { Prose } from '@/components/Prose'; import { PrevNextLinks } from '@/components/PrevNextLinks'; -import { Archetype } from '@/app/configurator/config'; +import { Archetype } from '@/app/configurator/archetype/config'; import clsx from 'clsx'; import { Fragment, useEffect, useState } from 'react'; import { downloadZip } from 'client-zip'; diff --git a/src/app/configurator/trailhead/config.js b/src/app/configurator/trailhead/config.js new file mode 100644 index 0000000..39d9b81 --- /dev/null +++ b/src/app/configurator/trailhead/config.js @@ -0,0 +1,95 @@ +export const Trailhead = { + order: [ + 'rail', + ], + + components: { + carriage: { + label: 'Rail Size', + options: { + ninetwentytwentyplastic: { + label: '9MM 2020 extrusion', + files: { + generic: { + left_b: 'STLs/9mm/2020%209mm%20Trailhead%20-%20XY%20Joint%20-%20Left%20Bottom', + left_t: 'STLs/9mm/2020%209mm%20Trailhead%20-%20XY%20Joint%20-%20Left%20Top', + right_b: 'STLs/9mm/2020%209mm%20Trailhead%20-%20XY%20Joint%20-%20Right%20Bottom', + right_t: 'STLs/9mm/2020%209mm%20Trailhead%20-%20XY%20Joint%20-%20Right%20Top', + plate: '', + }, + } + }, + sixfifteenfifteenplastic: { + label: '6MM 1515 extrusion', + files: { + generic: { + left_b: 'STLs/6mm/1515 6mm Trailhead - XY Joint - Left Bottom', + left_t: 'STLs/6mm/1515 6mm Trailhead - XY Joint - Left Top', + right_b: 'STLs/6mm/1515 6mm Trailhead - XY Joint - Right Bottom', + right_t: 'STLs/6mm/1515 6mm Trailhead - XY Joint - Right Top', + plate: '', + }, + }, + }, + sixtwentytwentyplastic: { + label: '6mm 2020 extrusion', + files: { + generic: { + left_b: 'STLs/6mm/2020 6mm Trailhead - XY Joint - Left Bottom', + left_t: 'STLs/6mm/2020 6mm Trailhead - XY Joint - Left Top', + right_b: 'STLs/6mm/2020 6mm Trailhead - XY Joint - Right Bottom', + right_t: 'STLs/6mm/2020 6mm Trailhead - XY Joint - Right Top', + plate: '', + }, + }, + }, + }, + mods: { + plated_92020: { + label: '9mm 2020 extrusion Plated', + files: { + ninetwentytwentyplastic: { + generic: { + left_b: 'STLs/9mm/plated/2020 9mm Trailhead - XY Joint - Left Bottom - Plated', + left_t: 'STLs/9mm/plated/2020 9mm Trailhead - XY Joint - Left Top - Plated', + right_b: 'STLs/9mm/plated/2020 9mm Trailhead - XY Joint - Right Bottom - Plated', + right_t: 'STLs/9mm/plated/2020 9mm Trailhead - XY Joint - Right Top - Plated', + plate: 'DXF/trailhead_plate[x2].dxf', + }, + } + } + }, + plated_62020: { + label: '6mm 2020 extrusion Plated', + files: { + sixtwentytwentyplastic: { + generic: { + left_b: 'STLs/6mm/plated/2020-xyj-left-lower-plated', + left_t: 'STLs/6mm/plated/2020-xyj-left-upper-plated', + right_b: 'STLs/6mm/plated/2020-xyj-right-lower-plated', + right_t: 'STLs/6mm/plated/2020-xyj-right-upper-plated', + plate: 'DXF/trailhead_plate[x2].dxf', + }, + } + } + }, + plated_61515: { + label: '6mm 1515 extrusion Plated', + files: { + sixfifteenfifteenplastic: { + generic: { + left_b: 'STLs/6mm/plated/1515-xyj-left-lower-plated', + right_b: 'STLs/6mm/plated/1515-xyj-right-lower-plated', + left_t: '', + right_t: '', + plate: 'DXF/trailhead_plate[x2].dxf', + }, + } + } + }, + } + } + } +}; + +export default { Trailhead }; diff --git a/src/app/configurator/trailhead/page.js b/src/app/configurator/trailhead/page.js new file mode 100644 index 0000000..a2ed33c --- /dev/null +++ b/src/app/configurator/trailhead/page.js @@ -0,0 +1,247 @@ +'use client'; + +import { DocsHeader } from '@/components/DocsHeader'; +import { Prose } from '@/components/Prose'; +import { PrevNextLinks } from '@/components/PrevNextLinks'; +import { Trailhead } from '@/app/configurator/trailhead/config'; +import clsx from 'clsx'; +import { Fragment, useEffect, useState } from 'react'; +import { downloadZip } from 'client-zip'; + +const isset = (object, property) => Object.prototype.hasOwnProperty.call(object || {}, property) +// @todo just remove the numeric lengths and use the strings + +const BASE_URI = 'https://raw.githubusercontent.com/Armchair-Heavy-Industries/Trailhead-XY-Joints/main/' + + +const getSelectedFiles = (selections, mods) => { + const files = [] + + Object.keys(selections).forEach((type) => { + const definition = Trailhead.components[type].options[selections[type]]; + const selected = selections[type]; + + if (isset(definition.files, 'generic')) { + const generics = definition.files.generic + + // check for mods + Object.keys(definition.files.generic).forEach((component_type) => { + if (isset(mods, type) && mods[type] !== null && isset(Trailhead.components[type].mods[mods[type]].files[selected].generic, component_type)) { + generics[component_type] = Trailhead.components[type].mods[mods[type]].files[selected].generic[component_type] + } + }) + + // condense to just a list of strings + Object.keys(generics).forEach((key) => { + if (generics[key] !== '') { + files.push(generics[key]); + } + }); + } + }) + + return files; +} + +const downloadBlob = (blob, name) => { + const link = document.createElement('a'); + link.href = URL.createObjectURL(blob); + link.download = name; + link.click(); + link.remove(); + URL.revokeObjectURL(link.href); +}; + +const download = async (files) => { + const downloads = files.map((file) => { + const extension = file.split('.').pop(); + console.warn(extension); + if (extension === 'dxf') { + // Use a different fetch method for .dxf files + console.warn(`found dxf ${file}`); + return fetch(`${BASE_URI}/${file}`); + } else { + // Use the existing fetch method for .stl files + return fetch(`${BASE_URI}/${file}.stl`); + } + }); + const responses = await Promise.all(downloads); + + if (responses.some((res) => !res.ok)) { + throw new Error('Some files failed to download'); + } + + const blob = await downloadZip(responses).blob(); + downloadBlob(blob, 'trailhead.zip'); +} + +export default function Page() { + const [selections, setSelections] = useState({}); + const [mods, setMods] = useState({}); + + const defaultStateClass = 'bg-gray-700'; + const defaultStateHoverClass = 'hover:bg-gray-800'; + const selectedItemClass = 'bg-indigo-600'; + const disabledStateClass = 'bg-gray-400'; + + + + // remove/unselect invalid components + useEffect( + () => { + Object.keys(selections).forEach((type) => { + Object.keys(Trailhead.components[type].options).forEach((component_name) => { + const selector = document.querySelector(`#${component_name}`); + + if (selector && selector.disabled && selections[type] === component_name) { + delete selections[type]; + + setSelections(selections); + selector.classList.remove(selectedItemClass) + selector.classList.add(defaultStateClass) + } + }) + }) + }, + [selections] + ) + + // remove mods if irrelevant + useEffect( + () => { + Object.keys(selections).forEach((type) => { + Object.keys(Trailhead.components[type].mods).forEach((mod_name) => { + Object.keys(Trailhead.components[type].mods[mod_name].files).forEach((component_override) => { + if (selections[type] !== component_override) { + setMods((m) => { + delete m[type]; + + return m; + }) + } + }) + }) + }) + }, + [selections] + ) + + return ( + <> +
+
+ + + + {Object.keys(Trailhead.components).map((name) => ( +
+

{Trailhead.components[name].label}

+ +
+ {Object.keys(Trailhead.components[name].options).map((component_name) => ( + + ))} +
+ +
+ {Object.keys(Trailhead.components[name].mods).map((mod_name, idx) => ( + + {idx === 0 ? +
+ +
+ : null + } +
+ +
+
+ ))} +
+
+ ))} +
+
+ +
+ + +
+ + +
+ + ) +} diff --git a/src/app/docs/acknowledgements/page.md b/src/app/docs/archetype/acknowledgements/page.md similarity index 100% rename from src/app/docs/acknowledgements/page.md rename to src/app/docs/archetype/acknowledgements/page.md diff --git a/src/app/docs/components/core/page.md b/src/app/docs/archetype/components/core/page.md similarity index 54% rename from src/app/docs/components/core/page.md rename to src/app/docs/archetype/components/core/page.md index bfb184d..d1ee4b5 100644 --- a/src/app/docs/components/core/page.md +++ b/src/app/docs/archetype/components/core/page.md @@ -13,10 +13,10 @@ Prepare your left and right carriage blocks by first placing the heatsets as ill - 6x M3x5x4 Heatset Inserts ### Video Guide -{% video src="/videos/core_heatsets_install.mp4" /%} +{% video src="/archetype/videos/core_heatsets_install.mp4" /%} ### Step by Step -{% figure src="/core/[h]_core_carriage.png" /%} +{% figure src="/archetype/core/[h]_core_carriage.png" /%} --- @@ -28,21 +28,21 @@ Prepare your left and right carriage blocks by first placing the heatsets as ill - x2 M5 Washer ### Video Guide -{% video src="/videos/core_assemble.mp4" /%} +{% video src="/archetype/videos/core_assemble.mp4" /%} ### Step By Step Position the carriage blocks over the holes on the rail carriage. -{% figure src="/core/core_carriage_a.png" caption="Place blocks on the carriage and align the holes." /%} +{% figure src="/archetype/core/core_carriage_a.png" caption="Place blocks on the carriage and align the holes." /%} Insert the 4 M3x6 SHCS through the cores into the carriage. -{% figure src="/core/core_carriage_m3x6_a.png" /%} -{% figure src="/core/core_carriage_m3x6_b.png" /%} +{% figure src="/archetype/core/core_carriage_m3x6_a.png" /%} +{% figure src="/archetype/core/core_carriage_m3x6_b.png" /%} #### Optional Rigid Mounts Insert 2 M3x16 FHCS with M5 washers on the back to stabilize to the carriage. -{% figure src="/core/core_carriage_rigid_mount_m3x16_a.png" /%} -{% figure src="/core/core_carriage_rigid_mount_m3x16_b.png" /%} +{% figure src="/archetype/core/core_carriage_rigid_mount_m3x16_a.png" /%} +{% figure src="/archetype/core/core_carriage_rigid_mount_m3x16_b.png" /%} --- @@ -63,9 +63,9 @@ Your belts should be routed through your gantry at this point, now we're going t - Pull the belt back through the same hole in the clip. - Leave enough slack in the previous step, and slide the 4mm OD tubes through the opening of the loop and through the centre of the clip. -{% figure src="/core/core_carriage_belt_clips_tube_a.png" /%} -{% figure src="/core/core_carriage_belt_clips_tube_b.png" /%} -{% figure src="/core/core_carriage_belt_clips_a.png" /%} -{% figure src="/core/core_carriage_belt_clips_b.png" /%} -{% figure src="/core/core_carriage_belt_clips_c_pins.png" /%} -{% figure src="/core/core_carriage_belt_clips_d_pins.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_tube_a.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_tube_b.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_a.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_b.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_c_pins.png" /%} +{% figure src="/archetype/core/core_carriage_belt_clips_d_pins.png" /%} diff --git a/src/app/docs/archetype/components/ducts/atrocity/page.md b/src/app/docs/archetype/components/ducts/atrocity/page.md new file mode 100644 index 0000000..bf6cf08 --- /dev/null +++ b/src/app/docs/archetype/components/ducts/atrocity/page.md @@ -0,0 +1,35 @@ +--- +title: Armchair Engineering - Atrocity +--- + +## Overview + + +### BOM +- 2x 3515 Axial Fan +- 8x M3x25 SHCS + +### Video Guide + + +### Assembly + +#### Install the fans +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_ducts_a.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_ducts_b.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png" caption="M3x25 FHCS" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png" /%} + +#### Secure the ducts +Push the ducts against the rest of the assembly. + +The M3x35mm SHCS go into the top holes, and secure into the square nuts you installed earlier on the extruder block. +M3x20mm SHCS will go in the bottom two holes, securing to the heatsets. + +Atrocity ducts have a press-fit tab, that will insert into the probe spacer. + +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_assembly_a.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_assembly_b.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_assembly_c.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_assembly_c2.png" /%} +{% figure src="/archetype/archetypes/atrocity/archetype_atrocity_assembly_d.png" /%} diff --git a/src/app/docs/components/ducts/blackbird/page.md b/src/app/docs/archetype/components/ducts/blackbird/page.md similarity index 100% rename from src/app/docs/components/ducts/blackbird/page.md rename to src/app/docs/archetype/components/ducts/blackbird/page.md diff --git a/src/app/docs/components/ducts/breakneck/page.md b/src/app/docs/archetype/components/ducts/breakneck/page.md similarity index 100% rename from src/app/docs/components/ducts/breakneck/page.md rename to src/app/docs/archetype/components/ducts/breakneck/page.md diff --git a/src/app/docs/components/ducts/mantis/page.md b/src/app/docs/archetype/components/ducts/mantis/page.md similarity index 100% rename from src/app/docs/components/ducts/mantis/page.md rename to src/app/docs/archetype/components/ducts/mantis/page.md diff --git a/src/app/docs/archetype/components/ducts/mjolnir/page.md b/src/app/docs/archetype/components/ducts/mjolnir/page.md new file mode 100644 index 0000000..019e857 --- /dev/null +++ b/src/app/docs/archetype/components/ducts/mjolnir/page.md @@ -0,0 +1,97 @@ +--- +title: Armchair Engineering - Mjölnir +--- + +## Overview + + +### BOM +- 2x 5015 Blower Fan +- 2x M3x16 FHCS +- 2x M3x16 BHCS +- 4x M3 Heatset + +### Video Guide + + +### Assembly + +#### Heatsets +Install the heatsets into the blower fans. +{% figure src="/archetype/archetypes/mjolnir/[h]_archetype_mjolnir.png" /%} + +#### Install the fans +Hold the blowers in position, and secure to the duct with 2x M3x16 BHCS. +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_5015_a.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_5015_b.png" /%} + +FHCS are used to secure the fans on the outer part of the ducts for Y rail clearance. +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png" /%} + +BHCS secure the inner part of the blower to the duct. +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png" /%} + +#### Secure the ducts +Push the ducts against the rest of the assembly. + +The M3x35mm SHCS go into the top holes, and secure into the square nuts you installed earlier on the extruder block. +M3x20mm SHCS will go in the bottom two holes, securing to the heatsets. + +Mjölnir's ducts have a press-fit tab, that will insert into the probe spacer. + +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_a.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_b.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_c.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_d.png" /%} +{% figure src="/archetype/archetypes/mjolnir/archetype_mjolnir_assembly_e.png" /%} + +--- +title: Armchair Engineering - Mjölnir +--- + +## Overview + + +### BOM +- 2x 5015 Blower Fan +- 2x M3x16 FHCS +- 2x M3x16 BHCS +- 4x M3 Heatset + +### Video Guide + + +### Assembly + +#### Heatsets +Install the heatsets into the blower fans. +{% figure src="/archetypes/mjolnir/[h]_archetype_mjolnir.png" /%} + +#### Install the fans +Hold the blowers in position, and secure to the duct with 2x M3x16 BHCS. +{% figure src="/archetypes/mjolnir/archetype_mjolnir_5015_a.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_5015_b.png" /%} + +FHCS are used to secure the fans on the outer part of the ducts for Y rail clearance. +{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png" /%} + +BHCS secure the inner part of the blower to the duct. +{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png" /%} + +#### Secure the ducts +Push the ducts against the rest of the assembly. + +The M3x35mm SHCS go into the top holes, and secure into the square nuts you installed earlier on the extruder block. +M3x20mm SHCS will go in the bottom two holes, securing to the heatsets. + +Mjölnir's ducts have a press-fit tab, that will insert into the probe spacer. + +{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_a.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_b.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_c.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_d.png" /%} +{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_e.png" /%} diff --git a/src/app/docs/archetype/components/ducts/page.md b/src/app/docs/archetype/components/ducts/page.md new file mode 100644 index 0000000..cd9b042 --- /dev/null +++ b/src/app/docs/archetype/components/ducts/page.md @@ -0,0 +1,23 @@ +--- +title: Archetype Ducts +--- + +## BOM +You will find the individual requirements of each duct on their respective page. + +## Assembly + +### Video Guide + +--- + +## Extruder Specific Guides + +{% quick-links %} +{% quick-link title="Atrocity" icon="nozzle" href="/docs/archetype/components/ducts/atrocity" description="Dual 3515 Axial" /%} +{% quick-link title="Blackbird" icon="nozzle" href="/docs/archetype/components/ducts/blackbird" description="Dual 4010 Blower" /%} +{% quick-link title="Breakneck" icon="nozzle" href="/docs/archetype/components/ducts/breakneck" description="CPAP" /%} + +{% quick-link title="Mjolnir" icon="nozzle" href="/docs/archetype/components/ducts/mjolnir" description="Dual 5015 Blower" /%} +{% quick-link title="Zephyr" icon="nozzle" href="/docs/archetype/components/ducts/zephyr" description="Sheet Cooling - Follow Breakneck for now" /%} +{% quick-links /%} \ No newline at end of file diff --git a/src/app/docs/components/ducts/zephyr/page.md b/src/app/docs/archetype/components/ducts/zephyr/page.md similarity index 100% rename from src/app/docs/components/ducts/zephyr/page.md rename to src/app/docs/archetype/components/ducts/zephyr/page.md diff --git a/src/app/docs/archetype/components/extruders/bowden/page.md b/src/app/docs/archetype/components/extruders/bowden/page.md new file mode 100644 index 0000000..7183716 --- /dev/null +++ b/src/app/docs/archetype/components/extruders/bowden/page.md @@ -0,0 +1,27 @@ +--- +title: Bowden +--- + +## Overview + +### BOM + +- Bowden tube +- 1x Press-fit ECAS Fitting + +### Assembly + +#### Heatsets +None + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png" /%} +{% figure src="/archetype/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png" /%} + +#### Press-Fit ECAS Fitting +This collet is press fit. + +{% figure src="/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_a.png" /%} +{% figure src="/archetype/extruders/flat/bowden/extruder_flat_bowden_collet_b.png" /%} diff --git a/src/app/docs/archetype/components/extruders/orbiter2/page.md b/src/app/docs/archetype/components/extruders/orbiter2/page.md new file mode 100644 index 0000000..1716736 --- /dev/null +++ b/src/app/docs/archetype/components/extruders/orbiter2/page.md @@ -0,0 +1,38 @@ +--- +title: Orbiter Projects - Orbiter 2 +--- + +## Overview + +### BOM + +- Bowden tube +- 2x M3 Heatset +- 2x M3 Square Nuts +- 2x M3x16 BHCS + +### Assembly + +#### Heatsets +{% figure src="/archetype/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png" /%} + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png" /%} +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png" /%} + +#### Microbowden +{% partial file="microbowden.md" /%} + +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png" /%} +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png" /%} + +#### Securing to the block +Once you've measured, cut, and inserted your microbowden to fit the extruder **AND** your hotend, +you may secure the extruder to the block. + +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png" /%} +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png" /%} +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png" caption="M3x16 BHCS" /%} +{% figure src="/archetype/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png" /%} diff --git a/src/app/docs/archetype/components/extruders/page.md b/src/app/docs/archetype/components/extruders/page.md new file mode 100644 index 0000000..33e9f3a --- /dev/null +++ b/src/app/docs/archetype/components/extruders/page.md @@ -0,0 +1,11 @@ +--- +title: Extruders +--- + +{% quick-links %} +{% quick-link title="Bowden" icon="nozzle" href="/docs/archetype//components/extruders/bowden" description="Simple bowden tube connector for remote extruders" /%} +{% quick-link title="Orbiter 2" icon="nozzle" href="/docs/archetype//components/extruders/orbiter2" description="Orbiter Project - Orbiter 2" /%} +{% quick-link title="Sherpa Micro" icon="nozzle" href="/docs/archetype//components/extruders/sherpa_micro" description="Annex Engineering - Sherpa Micro" /%} +{% quick-link title="Sherpa Mini" icon="nozzle" href="/docs/archetype//components/extruders/sherpa_mini" description="Annex Engineering - Sherpa Mini" /%} +{% quick-link title="HextrudORT" icon="nozzle" href="/docs/archetype//components/extruders/vz_hextrudort" description="Mellow x VZ - HextrudORT" /%} +{% quick-links /%} diff --git a/src/app/docs/archetype/components/extruders/sherpa_micro/page.md b/src/app/docs/archetype/components/extruders/sherpa_micro/page.md new file mode 100644 index 0000000..8453799 --- /dev/null +++ b/src/app/docs/archetype/components/extruders/sherpa_micro/page.md @@ -0,0 +1,44 @@ +--- +title: Annex Engineering - Sherpa Micro +--- + +## Overview + +### BOM + +- Bowden tube +- 2x M3 Square Nuts +- 2x M3x16 BHCS +- 1x M3x30 BHCS + +### Assembly + +#### Heatsets + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png" /%} + +#### Microbowden +{% partial file="microbowden.md" /%} + +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png" /%} + +#### Securing to the block +Once you've measured, cut, and inserted your microbowden to fit the sherpa **AND** your hotend, +you may secure the extruder to the block. + +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png" caption="M3x16 BHCS" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png" /%} + +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png" caption="M3x30 BHCS" /%} +{% figure src="/archetype/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png" /%} + +### Optional Wire Routing +This block has a great way of tucking ugly wires from sight, by passing them through the hole in the centre. +Don't forget to utilise the zip-tie spots that are on the core-carriage. diff --git a/src/app/docs/archetype/components/extruders/sherpa_mini/page.md b/src/app/docs/archetype/components/extruders/sherpa_mini/page.md new file mode 100644 index 0000000..c47dd94 --- /dev/null +++ b/src/app/docs/archetype/components/extruders/sherpa_mini/page.md @@ -0,0 +1,41 @@ +--- +title: Annex Engineering - Sherpa Mini +--- + +## Overview + +{% callout type="warning" %} +This extruder is not compatible with Breakneck +{% /callout %} + +### BOM + +- 2x M3 Heatsets +- 3x M3 Square Nuts +- 2x M3x12 BHCS +- 1x M3x30 BHCS + +### Assembly + +#### Heatsets +{% figure src="/archetype/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png" /%} + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png" /%} + +#### Securing to the block +Once you've measured, cut, and inserted your microbowden to fit the sherpa **AND** your hotend, +you may secure the extruder to the block. + +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png" caption="M3x30 BHCS" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png" caption="M3x12 BHCS" /%} +{% figure src="/archetype/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png" /%} + diff --git a/src/app/docs/archetype/components/extruders/vz_hextrudort/page.md b/src/app/docs/archetype/components/extruders/vz_hextrudort/page.md new file mode 100644 index 0000000..6597c4e --- /dev/null +++ b/src/app/docs/archetype/components/extruders/vz_hextrudort/page.md @@ -0,0 +1,82 @@ +--- +title: Mellow x VZ - HextrudORT +--- + +## Overview +{% callout type="note" %} +This extruder is compatible with both Breakneck and Flat style mounts, it has been split into two sections. +{% /callout %} + +## Micro-bowden Mount + +### BOM + +- Bowden tube +- 2x M3 Square Nuts +- 2x M3x12 BHCS + +### Assembly + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png" /%} + +#### Microbowden +{% partial file="microbowden.md" /%} + +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png" /%} + +#### Securing to the block +Once you've measured, cut, and inserted your microbowden to fit the extruder **AND** your hotend, +you may secure the extruder to the block. + +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png" caption="M3x12 BHCS" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png" /%} + +--- + +## Flat Mount + +{% callout type="warning" %} +This variant is not compatible with Breakneck +{% /callout %} + +### BOM + +- 2x M3 Square Nuts +- 2x M3x8 SHCS + +### Assembly + +#### Square Nuts +{% partial file="square_nuts.md" /%} + +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png" /%} +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png" /%} + +#### Securing to the block +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png" /%} +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png" /%} +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png" caption="M3x8 SHCS" /%} +{% figure src="/archetype/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png" /%} + +--- + +## PCB Mounting + +### BOM + - 3x M3 Heatsets + - 1x M3x35 SHCS + +#### Heatsets +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png" /%} + +#### Installation +[//]: # (@todo assy is missing the top most screw) +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png" caption="M3x35 SHCS" /%} +{% figure src="/archetype/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png" /%} diff --git a/src/app/docs/components/hotends/chube/page.md b/src/app/docs/archetype/components/hotends/chube/page.md similarity index 79% rename from src/app/docs/components/hotends/chube/page.md rename to src/app/docs/archetype/components/hotends/chube/page.md index c80a305..87f394b 100644 --- a/src/app/docs/components/hotends/chube/page.md +++ b/src/app/docs/archetype/components/hotends/chube/page.md @@ -14,6 +14,6 @@ Currently Archetype only supports the Air version of this hotend. - 6x M3x12 SHCS ### Video Guide -{% video src="/videos/hotend_assy_chube.mp4" /%} +{% video src="/archetype/videos/hotend_assy_chube.mp4" /%} ### Step by Step diff --git a/src/app/docs/archetype/components/hotends/dragon_uhf/page.md b/src/app/docs/archetype/components/hotends/dragon_uhf/page.md new file mode 100644 index 0000000..c5df6ab --- /dev/null +++ b/src/app/docs/archetype/components/hotends/dragon_uhf/page.md @@ -0,0 +1,26 @@ +--- +title: Phaetus - Dragon UHF / SF / HF +--- + +## Overview + +{% callout type="warning" title="Dragon SF/HF" %} +If you're using the SF or HF Dragon, it requires a meltzone extender! +{% /callout %} + +### BOM + +- 1x Dragon UHF +- 4x M2.5x8 SHCS + +### Step by Step +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_a.png" caption="Slide the Dragon into the crevice." /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_b.png"/%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png" /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png" /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png" /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png" /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png" /%} +{% figure src="/archetype/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png" /%} diff --git a/src/app/docs/archetype/components/hotends/goliath/page.md b/src/app/docs/archetype/components/hotends/goliath/page.md new file mode 100644 index 0000000..8a06aa4 --- /dev/null +++ b/src/app/docs/archetype/components/hotends/goliath/page.md @@ -0,0 +1,29 @@ +--- +title: Mellow x VZ - Goliath +--- + +## Overview + +{% callout %} +You will need to carefully flex the metal heater wires, see examples below. +{% /callout %} + +### BOM + +- 1x Goliath Air or Water +- 4x M2.5x8 FHCS + +### Video Guide +{% video src="/archetype/videos/hotend_assy_goliath.mp4" /%} + +### Step by Step +{% figure src="/archetype/hotend/goliath/hotend_goliath_a.png" caption="Slide the Goliath into the crevice." /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_b.png"/%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_m2.5x8_b.png" /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_2510_a.png" /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_2510_b.png" /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png" /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_carriage_a.png" /%} +{% figure src="/archetype/hotend/goliath/hotend_goliath_carriage_b.png" /%} diff --git a/src/app/docs/archetype/components/hotends/page.md b/src/app/docs/archetype/components/hotends/page.md new file mode 100644 index 0000000..31a5264 --- /dev/null +++ b/src/app/docs/archetype/components/hotends/page.md @@ -0,0 +1,32 @@ +--- +title: Hotends +--- + +## General BOM + +Each hotend mount requires the following + +- 1x 2510 Axial Fan +- 4x M2.5x16 SHCS + +You will find the individual requirements of each hotend on their respective page. + +## Assembly +Most hotends are assembled the same, with the only variations typically being +the length of the screw securing the hotend to the mount. You may find links to +individual assembly instructions below, or use the video for generic assembly. + +### Video Guide +{% video src="/archetype/videos/hotend_assy.mp4" /%} + +--- + +## Hotend Specific Guides + +{% quick-links %} + {% quick-link title="Chube - Waterheater" icon="nozzle" href="/docs/archetype/components/hotends/chube" description="Chube - Waterheater" /%} + {% quick-link title="Goliath" icon="nozzle" href="/docs/archetype/components/hotends/goliath" description="VZ - Goliath" /%} + {% quick-link title="Dragon UHF" icon="nozzle" href="/docs/archetype/components/hotends/dragon_uhf" description="Phaetus - Dragon UHF/HF/SF" /%} + {% quick-link title="VolcoMosq" icon="nozzle" href="/docs/archetype/components/hotends/volcmosq" description="VolcoMosq / NF Crazy / Mosquito" /%} + {% quick-link title="Rapido" icon="nozzle" href="/docs/archetype/components/hotends/rapido_uhf" description="Phaetus - Rapido" /%} +{% quick-links /%} diff --git a/src/app/docs/archetype/components/hotends/rapido_uhf/page.md b/src/app/docs/archetype/components/hotends/rapido_uhf/page.md new file mode 100644 index 0000000..c5c914e --- /dev/null +++ b/src/app/docs/archetype/components/hotends/rapido_uhf/page.md @@ -0,0 +1,22 @@ +--- +title: Phaetus - Rapido +--- + +## Overview + +### BOM + +- 1x Rapido +- 4x M2.5x8 SHCS + +### Step by Step +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_a.png" caption="Slide the Rapido into the crevice." /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_b.png"/%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png" /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png" /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png" /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png" /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png" /%} +{% figure src="/archetype/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png" /%} diff --git a/src/app/docs/archetype/components/hotends/volcmosq/page.md b/src/app/docs/archetype/components/hotends/volcmosq/page.md new file mode 100644 index 0000000..62af910 --- /dev/null +++ b/src/app/docs/archetype/components/hotends/volcmosq/page.md @@ -0,0 +1,25 @@ +--- +title: VolcMosq / NF Crazy / Mosquito +--- + +## Overview +{% callout %} +These are the general instructions for any of the hotends that use a Slice Engineering Mosquito block +{% /callout %} + +### BOM + +- 1x VolcMosq / NF Crazy / Slice Engineering - Mosquito +- 2x M2.5x6 SHCS + +### Step by Step +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_a.png" caption="slide the VolcMosq into the crevice" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_b.png"/%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png" caption="Insert m2.5x6mm FHCS." /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_2510_a.png" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_2510_b.png" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_carriage_a.png" /%} +{% figure src="/archetype/hotend/volcmosq/hotend_volcmosq_carriage_b.png" /%} diff --git a/src/app/docs/components/probes/page.md b/src/app/docs/archetype/components/probes/page.md similarity index 67% rename from src/app/docs/components/probes/page.md rename to src/app/docs/archetype/components/probes/page.md index 8e2381e..c45f347 100644 --- a/src/app/docs/components/probes/page.md +++ b/src/app/docs/archetype/components/probes/page.md @@ -12,6 +12,6 @@ title: Probes Assembling the probes is extremely easy, follow the installation manual for your probe, then screw the probe into the mount and the core. -{% figure src="/compiled/probes_a.png" /%} -{% figure src="/compiled/probes_b.png" /%} +{% figure src="/archetype/compiled/probes_a.png" /%} +{% figure src="/archetype/compiled/probes_b.png" /%} diff --git a/src/app/docs/how-to-contribute/page.md b/src/app/docs/archetype/how-to-contribute/page.md similarity index 67% rename from src/app/docs/how-to-contribute/page.md rename to src/app/docs/archetype/how-to-contribute/page.md index bd33af8..43fe5f7 100644 --- a/src/app/docs/how-to-contribute/page.md +++ b/src/app/docs/archetype/how-to-contribute/page.md @@ -6,6 +6,6 @@ nextjs: description: Contributing to Archetype --- -If you'd like to get involved, join the [discord](https://github.com/Armchair-Heavy-Industries/Archetype) and head over to +If you'd like to get involved, join the [discord](https://discord.gg/armchairengineeringsux) and head over to the [#archetype-beta](https://discord.com/channels/1029426383614648421/1145450908575076482) channel under the user-projects category. diff --git a/src/app/docs/archetype/page.md b/src/app/docs/archetype/page.md new file mode 100644 index 0000000..5d265a1 --- /dev/null +++ b/src/app/docs/archetype/page.md @@ -0,0 +1,33 @@ +--- +title: Getting started +--- + +Configure your toolhead of choice {% .lead %} + +{% quick-links %} + {% quick-link title="Configurator" icon="presets" href="/configurator/archetype" description="Generate your parts list for printing" /%} +{% /quick-links %} + +Once you have chosen your desired configuration, follow the Installation guide below {% .lead %} + +{% quick-links %} + {% quick-link title="Installation" icon="installation" href="/docs/components/core" description="Step-by-step guides to installing your Archetype" /%} +{% /quick-links %} + +--- + +## Full BOM + +You can find the latest BOM [HERE](https://docs.google.com/spreadsheets/d/18x7pNYz53fPJomdPaFnqmAoJtb4nF-udBhEBqGI2xig/edit?usp=sharing) + +## Build Flow + +Assemble your Core onto your rail carriage. +Install probe module onto core. +Assemble extruder block, hotend block, and duct/fan assemblies. +Install all 3 at the same time. + + +{% quick-links %} + {% quick-link title="User Mods" icon="lightbulb" href="https://github.com/Armchair-Heavy-Industries/Armchair-Usermods/tree/main/files/Archetype" description="Looking for more Archetype? Check here for user creations/mods." /%} +{% /quick-links %} diff --git a/src/app/docs/components/ducts/atrocity/page.md b/src/app/docs/components/ducts/atrocity/page.md deleted file mode 100644 index a6a380a..0000000 --- a/src/app/docs/components/ducts/atrocity/page.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Armchair Engineering - Atrocity ---- - -## Overview - - -### BOM -- 2x 3515 Axial Fan -- 8x M3x25 SHCS - -### Video Guide - - -### Assembly - -#### Install the fans -{% figure src="/archetypes/atrocity/archetype_atrocity_ducts_a.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_ducts_b.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_ducts_m3x25_a.png" caption="M3x25 FHCS" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_ducts_m3x25_b.png" /%} - -#### Secure the ducts -Push the ducts against the rest of the assembly. - -The M3x35mm SHCS go into the top holes, and secure into the square nuts you installed earlier on the extruder block. -M3x20mm SHCS will go in the bottom two holes, securing to the heatsets. - -Atrocity ducts have a press-fit tab, that will insert into the probe spacer. - -{% figure src="/archetypes/atrocity/archetype_atrocity_assembly_a.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_assembly_b.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_assembly_c.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_assembly_c2.png" /%} -{% figure src="/archetypes/atrocity/archetype_atrocity_assembly_d.png" /%} diff --git a/src/app/docs/components/ducts/mjolnir/page.md b/src/app/docs/components/ducts/mjolnir/page.md deleted file mode 100644 index 1757e43..0000000 --- a/src/app/docs/components/ducts/mjolnir/page.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Armchair Engineering - Mjölnir ---- - -## Overview - - -### BOM -- 2x 5015 Blower Fan -- 2x M3x16 FHCS -- 2x M3x16 BHCS -- 4x M3 Heatset - -### Video Guide - - -### Assembly - -#### Heatsets -Install the heatsets into the blower fans. -{% figure src="/archetypes/mjolnir/[h]_archetype_mjolnir.png" /%} - -#### Install the fans -Hold the blowers in position, and secure to the duct with 2x M3x16 BHCS. -{% figure src="/archetypes/mjolnir/archetype_mjolnir_5015_a.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_5015_b.png" /%} - -FHCS are used to secure the fans on the outer part of the ducts for Y rail clearance. -{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_a.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_fhcs_b.png" /%} - -BHCS secure the inner part of the blower to the duct. -{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_a.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_m3x16_bhcs_b.png" /%} - -#### Secure the ducts -Push the ducts against the rest of the assembly. - -The M3x35mm SHCS go into the top holes, and secure into the square nuts you installed earlier on the extruder block. -M3x20mm SHCS will go in the bottom two holes, securing to the heatsets. - -Mjölnir's ducts have a press-fit tab, that will insert into the probe spacer. - -{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_a.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_b.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_c.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_d.png" /%} -{% figure src="/archetypes/mjolnir/archetype_mjolnir_assembly_e.png" /%} diff --git a/src/app/docs/components/ducts/page.md b/src/app/docs/components/ducts/page.md deleted file mode 100644 index f464aad..0000000 --- a/src/app/docs/components/ducts/page.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Archetype Ducts ---- - -## BOM -You will find the individual requirements of each duct on their respective page. - -## Assembly - -### Video Guide - ---- - -## Extruder Specific Guides - -{% quick-links %} -{% quick-link title="Atrocity" icon="nozzle" href="/docs/components/ducts/atrocity" description="Dual 3515 Axial" /%} -{% quick-link title="Blackbird" icon="nozzle" href="/docs/components/ducts/blackbird" description="Dual 4010 Blower" /%} -{% quick-link title="Breakneck" icon="nozzle" href="/docs/components/ducts/breakneck" description="CPAP" /%} - -{% quick-link title="Mjolnir" icon="nozzle" href="/docs/components/ducts/mjolnir" description="Dual 5015 Blower" /%} -{% quick-link title="Zephyr" icon="nozzle" href="/docs/components/ducts/zephyr" description="Sheet Cooling - Follow Breakneck for now" /%} -{% quick-links /%} diff --git a/src/app/docs/components/extruders/bowden/page.md b/src/app/docs/components/extruders/bowden/page.md deleted file mode 100644 index 4134d77..0000000 --- a/src/app/docs/components/extruders/bowden/page.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Bowden ---- - -## Overview - -### BOM - -- Bowden tube -- 1x Press-fit ECAS Fitting - -### Assembly - -#### Heatsets -None - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/flat/bowden/extruder_flat_bowden_square_nut_a.png" /%} -{% figure src="/extruders/flat/bowden/extruder_flat_bowden_square_nut_b.png" /%} - -#### Press-Fit ECAS Fitting -This collet is press fit. - -{% figure src="/extruders/flat/bowden/extruder_flat_bowden_collet_a.png" /%} -{% figure src="/extruders/flat/bowden/extruder_flat_bowden_collet_b.png" /%} diff --git a/src/app/docs/components/extruders/orbiter2/page.md b/src/app/docs/components/extruders/orbiter2/page.md deleted file mode 100644 index 055ba78..0000000 --- a/src/app/docs/components/extruders/orbiter2/page.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Orbiter Projects - Orbiter 2 ---- - -## Overview - -### BOM - -- Bowden tube -- 2x M3 Heatset -- 2x M3 Square Nuts -- 2x M3x16 BHCS - -### Assembly - -#### Heatsets -{% figure src="/extruders/breakneck/orbiter2/[h]_extruder_breakneck_orbiter2.png" /%} - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_a.png" /%} -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_square_nut_b.png" /%} - -#### Microbowden -{% partial file="microbowden.md" /%} - -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_a.png" /%} -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_bowden_b.png" /%} - -#### Securing to the block -Once you've measured, cut, and inserted your microbowden to fit the extruder **AND** your hotend, -you may secure the extruder to the block. - -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_a.png" /%} -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_b.png" /%} -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_a.png" caption="M3x16 BHCS" /%} -{% figure src="/extruders/breakneck/orbiter2/extruder_breakneck_orbiter2_m3x16_b.png" /%} diff --git a/src/app/docs/components/extruders/page.md b/src/app/docs/components/extruders/page.md deleted file mode 100644 index bd2ec69..0000000 --- a/src/app/docs/components/extruders/page.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Extruders ---- - -{% quick-links %} -{% quick-link title="Bowden" icon="nozzle" href="/docs/components/extruders/bowden" description="Simple bowden tube connector for remote extruders" /%} -{% quick-link title="Orbiter 2" icon="nozzle" href="/docs/components/extruders/orbiter2" description="Orbiter Project - Orbiter 2" /%} -{% quick-link title="Sherpa Micro" icon="nozzle" href="/docs/components/extruders/sherpa_micro" description="Annex Engineering - Sherpa Micro" /%} -{% quick-link title="Sherpa Mini" icon="nozzle" href="/docs/components/extruders/sherpa_mini" description="Annex Engineering - Sherpa Mini" /%} -{% quick-link title="HextrudORT" icon="nozzle" href="/docs/components/extruders/vz_hextrudort" description="Mellow x VZ - HextrudORT" /%} -{% quick-links /%} diff --git a/src/app/docs/components/extruders/sherpa_micro/page.md b/src/app/docs/components/extruders/sherpa_micro/page.md deleted file mode 100644 index ec2ac30..0000000 --- a/src/app/docs/components/extruders/sherpa_micro/page.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Annex Engineering - Sherpa Micro ---- - -## Overview - -### BOM - -- Bowden tube -- 2x M3 Square Nuts -- 2x M3x16 BHCS -- 1x M3x30 BHCS - -### Assembly - -#### Heatsets - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_a.png" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_square_nut_b.png" /%} - -#### Microbowden -{% partial file="microbowden.md" /%} - -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_a.png" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_bowden_b.png" /%} - -#### Securing to the block -Once you've measured, cut, and inserted your microbowden to fit the sherpa **AND** your hotend, -you may secure the extruder to the block. - -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_a.png" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_b.png" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_a.png" caption="M3x16 BHCS" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_m3x16_b.png" /%} - -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_a.png" caption="M3x30 BHCS" /%} -{% figure src="/extruders/breakneck/sherpa_micro/extruder_breakneck_sherpa_micro_kface_m3x30_b.png" /%} - -### Optional Wire Routing -This block has a great way of tucking ugly wires from sight, by passing them through the hole in the centre. -Don't forget to utilise the zip-tie spots that are on the core-carriage. diff --git a/src/app/docs/components/extruders/sherpa_mini/page.md b/src/app/docs/components/extruders/sherpa_mini/page.md deleted file mode 100644 index 0724696..0000000 --- a/src/app/docs/components/extruders/sherpa_mini/page.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Annex Engineering - Sherpa Mini ---- - -## Overview - -{% callout type="warning" %} -This extruder is not compatible with Breakneck -{% /callout %} - -### BOM - -- 2x M3 Heatsets -- 3x M3 Square Nuts -- 2x M3x12 BHCS -- 1x M3x30 BHCS - -### Assembly - -#### Heatsets -{% figure src="/extruders/flat/sherpa_mini/[h]_extruder_flat_sherpa_mini.png" /%} - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_a.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_b.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_c.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_square_nut_d.png" /%} - -#### Securing to the block -Once you've measured, cut, and inserted your microbowden to fit the sherpa **AND** your hotend, -you may secure the extruder to the block. - -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_a.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_b.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_a.png" caption="M3x30 BHCS" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x30_b.png" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_a.png" caption="M3x12 BHCS" /%} -{% figure src="/extruders/flat/sherpa_mini/extruder_flat_sherpa_mini_m3x12_b.png" /%} - diff --git a/src/app/docs/components/extruders/vz_hextrudort/page.md b/src/app/docs/components/extruders/vz_hextrudort/page.md deleted file mode 100644 index a3de9fe..0000000 --- a/src/app/docs/components/extruders/vz_hextrudort/page.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Mellow x VZ - HextrudORT ---- - -## Overview -{% callout type="note" %} -This extruder is compatible with both Breakneck and Flat style mounts, it has been split into two sections. -{% /callout %} - -## Micro-bowden Mount - -### BOM - -- Bowden tube -- 2x M3 Square Nuts -- 2x M3x12 BHCS - -### Assembly - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_a.png" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_square_nut_b.png" /%} - -#### Microbowden -{% partial file="microbowden.md" /%} - -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_a.png" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_bowden_b.png" /%} - -#### Securing to the block -Once you've measured, cut, and inserted your microbowden to fit the extruder **AND** your hotend, -you may secure the extruder to the block. - -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_a.png" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_b.png" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_a.png" caption="M3x12 BHCS" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_m3x12_b.png" /%} - ---- - -## Flat Mount - -{% callout type="warning" %} -This variant is not compatible with Breakneck -{% /callout %} - -### BOM - -- 2x M3 Square Nuts -- 2x M3x8 SHCS - -### Assembly - -#### Square Nuts -{% partial file="square_nuts.md" /%} - -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_a.png" /%} -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_square_nut_b.png" /%} - -#### Securing to the block -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_a.png" /%} -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_b.png" /%} -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_a.png" caption="M3x8 SHCS" /%} -{% figure src="/extruders/flat/vz_hextrudort/extruder_flat_vz_hextrudort_m3x8_b.png" /%} - ---- - -## PCB Mounting - -### BOM - - 3x M3 Heatsets - - 1x M3x35 SHCS - -#### Heatsets -{% figure src="/extruders/breakneck/vz_hextrudort/[h]_extruder_breakneck_vz_hextrudort_pcb.png" /%} - -#### Installation -[//]: # (@todo assy is missing the top most screw) -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_a.png" caption="M3x35 SHCS" /%} -{% figure src="/extruders/breakneck/vz_hextrudort/extruder_breakneck_vz_hextrudort_pcb_m3x35_b.png" /%} diff --git a/src/app/docs/components/hotends/dragon_uhf/page.md b/src/app/docs/components/hotends/dragon_uhf/page.md deleted file mode 100644 index 0b26bf0..0000000 --- a/src/app/docs/components/hotends/dragon_uhf/page.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Phaetus - Dragon UHF / SF / HF ---- - -## Overview - -{% callout type="warning" title="Dragon SF/HF" %} -If you're using the SF or HF Dragon, it requires a meltzone extender! -{% /callout %} - -### BOM - -- 1x Dragon UHF -- 4x M2.5x8 SHCS - -### Step by Step -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_a.png" caption="Slide the Dragon into the crevice." /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_b.png"/%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_m2.5x8_b.png" /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_2510_a.png" /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_2510_b.png" /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_2510_m2.5x16_b.png" /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_carriage_a.png" /%} -{% figure src="/hotend/dragon_uhf/hotend_dragon_uhf_carriage_b.png" /%} diff --git a/src/app/docs/components/hotends/goliath/page.md b/src/app/docs/components/hotends/goliath/page.md deleted file mode 100644 index 8973e51..0000000 --- a/src/app/docs/components/hotends/goliath/page.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Mellow x VZ - Goliath ---- - -## Overview - -{% callout %} -You will need to carefully flex the metal heater wires, see examples below. -{% /callout %} - -### BOM - -- 1x Goliath Air or Water -- 4x M2.5x8 FHCS - -### Video Guide -{% video src="/videos/hotend_assy_goliath.mp4" /%} - -### Step by Step -{% figure src="/hotend/goliath/hotend_goliath_a.png" caption="Slide the Goliath into the crevice." /%} -{% figure src="/hotend/goliath/hotend_goliath_b.png"/%} -{% figure src="/hotend/goliath/hotend_goliath_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} -{% figure src="/hotend/goliath/hotend_goliath_m2.5x8_b.png" /%} -{% figure src="/hotend/goliath/hotend_goliath_2510_a.png" /%} -{% figure src="/hotend/goliath/hotend_goliath_2510_b.png" /%} -{% figure src="/hotend/goliath/hotend_goliath_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} -{% figure src="/hotend/goliath/hotend_goliath_2510_m2.5x16_b.png" /%} -{% figure src="/hotend/goliath/hotend_goliath_carriage_a.png" /%} -{% figure src="/hotend/goliath/hotend_goliath_carriage_b.png" /%} diff --git a/src/app/docs/components/hotends/page.md b/src/app/docs/components/hotends/page.md deleted file mode 100644 index 0a7e4a9..0000000 --- a/src/app/docs/components/hotends/page.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Hotends ---- - -## General BOM - -Each hotend mount requires the following - -- 1x 2510 Axial Fan -- 4x M2.5x16 SHCS - -You will find the individual requirements of each hotend on their respective page. - -## Assembly -Most hotends are assembled the same, with the only variations typically being -the length of the screw securing the hotend to the mount. You may find links to -individual assembly instructions below, or use the video for generic assembly. - -### Video Guide -{% video src="/videos/hotend_assy.mp4" /%} - ---- - -## Hotend Specific Guides - -{% quick-links %} - {% quick-link title="Chube - Waterheater" icon="nozzle" href="/docs/components/hotends/chube" description="Chube - Waterheater" /%} - {% quick-link title="Goliath" icon="nozzle" href="/docs/components/hotends/goliath" description="VZ - Goliath" /%} - {% quick-link title="Dragon UHF" icon="nozzle" href="/docs/components/hotends/dragon_uhf" description="Phaetus - Dragon UHF/HF/SF" /%} - {% quick-link title="VolcoMosq" icon="nozzle" href="/docs/components/hotends/volcmosq" description="VolcoMosq / NF Crazy / Mosquito" /%} - {% quick-link title="Rapido" icon="nozzle" href="/docs/components/hotends/rapido_uhf" description="Phaetus - Rapido" /%} -{% quick-links /%} diff --git a/src/app/docs/components/hotends/rapido_uhf/page.md b/src/app/docs/components/hotends/rapido_uhf/page.md deleted file mode 100644 index d4d36de..0000000 --- a/src/app/docs/components/hotends/rapido_uhf/page.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Phaetus - Rapido ---- - -## Overview - -### BOM - -- 1x Rapido -- 4x M2.5x8 SHCS - -### Step by Step -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_a.png" caption="Slide the Rapido into the crevice." /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_b.png"/%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_a.png" caption="Insert m2.5x8mm FHCS." /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_m2.5x8_b.png" /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_2510_a.png" /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_2510_b.png" /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_2510_m2.5x16_b.png" /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_carriage_a.png" /%} -{% figure src="/hotend/rapido_uhf/hotend_rapido_uhf_carriage_b.png" /%} diff --git a/src/app/docs/components/hotends/volcmosq/page.md b/src/app/docs/components/hotends/volcmosq/page.md deleted file mode 100644 index e60ded6..0000000 --- a/src/app/docs/components/hotends/volcmosq/page.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: VolcMosq / NF Crazy / Mosquito ---- - -## Overview -{% callout %} -These are the general instructions for any of the hotends that use a Slice Engineering Mosquito block -{% /callout %} - -### BOM - -- 1x VolcMosq / NF Crazy / Slice Engineering - Mosquito -- 2x M2.5x6 SHCS - -### Step by Step -{% figure src="/hotend/volcmosq/hotend_volcmosq_a.png" caption="slide the VolcMosq into the crevice" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_b.png"/%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_m2.5x6_a.png" caption="Insert m2.5x6mm FHCS." /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_m2.5x6_b.png" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_2510_a.png" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_2510_b.png" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_a.png" caption="Secure with 4x m2.5x16 SHCS." /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_2510_m2.5x16_b.png" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_carriage_a.png" /%} -{% figure src="/hotend/volcmosq/hotend_volcmosq_carriage_b.png" /%} diff --git a/src/app/docs/trailhead/page.md b/src/app/docs/trailhead/page.md new file mode 100644 index 0000000..2208e57 --- /dev/null +++ b/src/app/docs/trailhead/page.md @@ -0,0 +1,9 @@ +--- +title: Trailhead +--- + + +{% quick-links %} + {% quick-link title="Github" icon="installation" href="https://github.com/Armchair-Heavy-Industries/Trailhead-XY-Joints" description="Modified XY joints for the Voron 2.4 and Trident" /%} + {% quick-link title="Configurator" icon="installation" href="/configurator/trailhead" description="Configure your Trailhead" /%} +{% /quick-links %} \ No newline at end of file diff --git a/src/app/page.md b/src/app/page.md index 2dfe0b2..ba11c6d 100644 --- a/src/app/page.md +++ b/src/app/page.md @@ -1,28 +1,25 @@ ---- -title: Getting started ---- - -Configure your toolhead of choice {% .lead %} +# Printers {% quick-links %} - {% quick-link title="Configurator" icon="presets" href="/configurator" description="Generate your parts list for printing" /%} + {% quick-link title="P-REXZ" icon="presets" href="https://github.com/Armchair-Heavy-Industries/P-REXZ" description="A Polar Printer, because why not?" /%} {% /quick-links %} -Once you have chosen your desired configuration, follow the Installation guide below {% .lead %} +# Toolheads {% quick-links %} - {% quick-link title="Installation" icon="installation" href="/docs/components/core" description="Step-by-step guides to installing your Archetype" /%} + {% quick-link title="Xol-Toolhead" icon="installation" href="https://github.com/Armchair-Heavy-Industries/Xol-Toolhead" description="Xol Toolhead" /%} + {% quick-link title="Archetype" icon="installation" href="/docs/archetype" description="You wanted fan options?" /%} {% /quick-links %} ---- - -## Full BOM +# Extruders -You can find the latest BOM [HERE](https://docs.google.com/spreadsheets/d/18x7pNYz53fPJomdPaFnqmAoJtb4nF-udBhEBqGI2xig/edit?usp=sharing) +{% quick-links %} + {% quick-link title="Escapement" icon="installation" href="https://github.com/Armchair-Heavy-Industries/Escapement" description="Gallileo 2 rehousing native fit for Archetype, Xol and others" /%} + {% quick-link title="Sharketype" icon="installation" href="https://github.com/Armchair-Heavy-Industries/Sharketype" description="A BMG based spur gear extruder designed to fit natively on the Archetype toolhead ecosystem" /%} +{% /quick-links %} -## Build Flow +# Mods -Assemble your Core onto your rail carriage. -Install probe module onto core. -Assemble extruder block, hotend block, and duct/fan assemblies. -Install all 3 at the same time. +{% quick-links %} + {% quick-link title="Trailhead" icon="presets" href="/docs/trailhead" description="Trailhead XY for your 2.4/Trident" /%} +{% /quick-links %} diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx index 8c930bb..e6b89b4 100644 --- a/src/components/Hero.jsx +++ b/src/components/Hero.jsx @@ -1,12 +1,4 @@ -import Image from 'next/image'; -import clsx from 'clsx'; - -// import atrocity from '../../public/atrocity.png'; -// import blackbird from '../../public/blackbird.png'; -// import breakneck from '../../public/breakneck.png'; -// import mantis from '../../public/mantis.png'; -// import mjolnir from '../../public/mjolnir.png'; -// import zephyr from '../../public/zephyr.png'; +import clsx from 'clsx' const gradient = `linear-gradient( 90deg, @@ -21,41 +13,35 @@ const gradient = `linear-gradient( hsl(42deg 100% 50%) 80%, hsl(51deg 100% 50%) 90%, hsl(60deg 100% 50%) 100% -)`; - +)` -export function Hero () { +export function ArmchairHero() { return (
-
-

Archetype

+
+

Armchair

- {/*
-
- Atrocity -
-
- Blackbird -
-
- Breakneck -
*/} - {/*
- Mantis -
*/} - {/*
- Mjölnir -
-
- Zephyr -
-
*/} -
+
+
+
+

Our Projects

+
+
+ ) +} +export function ArchetypeHero() { + return ( +
+
+

Archetype

-
+
+

You wanted fan options?

- ); + ) } diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx index cabb54b..c71af07 100644 --- a/src/components/Layout.jsx +++ b/src/components/Layout.jsx @@ -4,7 +4,7 @@ import { useEffect, useState } from 'react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import clsx from 'clsx'; -import { Hero } from '@/components/Hero'; +import { ArmchairHero, ArchetypeHero } from '@/components/Hero'; import { Logo } from '@/components/Logo'; import { MobileNavigation } from '@/components/MobileNavigation'; import { Navigation } from '@/components/Navigation'; @@ -73,7 +73,7 @@ function Header () {
- {isHomePage && } + {!isArcheType && } + {isArcheType && }
diff --git a/src/components/Navigation.jsx b/src/components/Navigation.jsx index d23f1b3..f08c6c2 100644 --- a/src/components/Navigation.jsx +++ b/src/components/Navigation.jsx @@ -1,14 +1,15 @@ -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; -import clsx from 'clsx'; -import { navigation } from '@/lib/navigation'; -import { Fragment } from 'react'; +import Link from 'next/link' +import { usePathname } from 'next/navigation' +import clsx from 'clsx' +import { navigation } from '@/lib/navigation' +import { Fragment } from 'react' -function NavigationLink ({ link, onLinkClick, active, dot }) { +function NavigationLink({ link, onLinkClick, active, dot, target}) { return ( {link.title} - ); + ) } -export function Navigation ({ className, onLinkClick }) { - let pathname = usePathname(); +export function Navigation({ className, onLinkClick }) { + let pathname = usePathname() return ( - ); + ) } diff --git a/src/lib/navigation.js b/src/lib/navigation.js index c77bc82..0c979af 100644 --- a/src/lib/navigation.js +++ b/src/lib/navigation.js @@ -1,110 +1,152 @@ export const navigation = [ { - title: 'Introduction', - links: [ - { title: 'Getting started', href: '/' }, - ], + title: 'Armchair Heavy Industries', + href: '#', + links: [{ title: 'Daily dose of atrocity', href: '/' }], }, { - title: 'Components', + title: 'Projects', links: [ - { title: 'Core', href: '/docs/components/core' }, - { title: 'Probes', href: '/docs/components/probes' }, { - title: 'Hotends', - href: '/docs/components/hotends', - links: [ - { - title: 'Chube', - href: '/docs/components/hotends/chube', - }, - { - title: 'Goliath', - href: '/docs/components/hotends/goliath', - }, - { - title: 'Dragon UHF', - href: '/docs/components/hotends/dragon_uhf', - }, - { - title: 'VolcMosq / NF Crazy / Mosquito', - href: '/docs/components/hotends/volcmosq', - }, - { - title: 'Rapido', - href: '/docs/components/hotends/rapido_uhf', - }, - ], + title: 'Xol Toolhead', + href: 'https://github.com/Armchair-Heavy-Industries/Xol-Toolhead', + target: '_blank', + }, + { + title: 'P-REXZ', + href: 'https://github.com/Armchair-Heavy-Industries/P-REXZ', + target: '_blank', + }, + { + title: 'Escapement', + href: 'https://github.com/Armchair-Heavy-Industries/Escapement', + target: '_blank', + }, + { + title: 'Sharketype', + href: 'https://github.com/Armchair-Heavy-Industries/Sharketype', + target: '_blank', }, { - title: 'Extruders', - href: '/docs/components/extruders', + title: 'Trailhead XY Joints', + href: '/docs/trailhead', links: [ { - title: 'Bowden', - href: '/docs/components/extruders/bowden', - }, - { - title: 'Orbiter 2', - href: '/docs/components/extruders/orbiter2', - }, - { - title: 'Sherpa Micro', - href: '/docs/components/extruders/sherpa_micro', - }, - { - title: 'Sherpa Mini', - href: '/docs/components/extruders/sherpa_mini', + title: 'Github', + href: 'https://github.com/Armchair-Heavy-Industries/Trailhead-XY-Joints', + target: '_blank', }, { - title: 'VZ HextrudORT', - href: '/docs/components/extruders/vz_hextrudort', + title: 'Configurator', + href: '/configurator/trailhead', }, ], }, { - title: 'Ducts', - href: '/docs/components/ducts', + title: 'Archetype', + href: '/docs/archetype', links: [ + { title: 'Core', href: '/docs/archetype/components/core' }, + { title: 'Probes', href: '/docs/archetype/components/probes' }, { - title: 'Atrocity', - href: '/docs/components/ducts/atrocity', + title: 'Hotends', + href: '/docs/archetype/components/hotends', + links: [ + { + title: 'Chube', + href: '/docs/archetype/components/hotends/chube', + }, + { + title: 'Goliath', + href: '/docs/archetype/components/hotends/goliath', + }, + { + title: 'Dragon UHF', + href: '/docs/archetype/components/hotends/dragon_uhf', + }, + { + title: 'VolcMosq / NF Crazy / Mosquito', + href: '/docs/archetype/components/hotends/volcmosq', + }, + { + title: 'Rapido', + href: '/docs/archetype/components/hotends/rapido_uhf', + }, + ], }, { - title: 'Blackbird', - href: '/docs/components/ducts/blackbird', + title: 'Extruders', + href: '/docs/archetype/components/extruders', + links: [ + { + title: 'Bowden', + href: '/docs/archetype/components/extruders/bowden', + }, + { + title: 'Orbiter 2', + href: '/docs/archetype/components/extruders/orbiter2', + }, + { + title: 'Sherpa Micro', + href: '/docs/archetype/components/extruders/sherpa_micro', + }, + { + title: 'Sherpa Mini', + href: '/docs/archetype/components/extruders/sherpa_mini', + }, + { + title: 'VZ HextrudORT', + href: '/docs/archetype/components/extruders/vz_hextrudort', + }, + ], }, { - title: 'Breakneck', - href: '/docs/components/ducts/breakneck', + title: 'Ducts', + href: '/docs/archetype/components/ducts', + links: [ + { + title: 'Atrocity', + href: '/docs/archetype/components/ducts/atrocity', + }, + { + title: 'Blackbird', + href: '/docs/archetype/components/ducts/blackbird', + }, + { + title: 'Breakneck', + href: '/docs/archetype/components/ducts/breakneck', + }, + // { + // title: 'Mantis', + // href: '/docs/archetype/components/ducts/mantis', + // }, + { + title: 'Mjölnir', + href: '/docs/archetype/components/ducts/mjolnir', + }, + // { + // title: 'Zephyr', + // href: '/docs/archetype/components/ducts/Zephyr', + // }, + ], }, - // { - // title: 'Mantis', - // href: '/docs/components/ducts/mantis', - // }, + { title: 'Configurator', href: '/configurator/archetype' }, { - title: 'Mjölnir', - href: '/docs/components/ducts/mjolnir', + title: 'Contributing', + href: '#', + links: [ + { + title: 'How to contribute', + href: '/docs/archetype/how-to-contribute', + }, + { + title: 'Acknowledgements', + href: '/docs/archetype/acknowledgements', + }, + ], }, - // { - // title: 'Zephyr', - // href: '/docs/components/ducts/Zephyr', - // }, ], }, ], }, - { - title: 'Configurator', - links: [ - { title: 'Configurator', href: '/configurator' } - ], - }, - { - title: 'Contributing', - links: [ - { title: 'How to contribute', href: '/docs/how-to-contribute' }, - { title: 'Acknowledgements', href: '/docs/acknowledgements' }, - ], - }, -]; +]