Compare commits
3 Commits
760bfc474a
...
hackathon-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83a0c96d95 | ||
|
|
7895f41602 | ||
|
|
04dd5b2173 |
8
app/lang/ht.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"atividades":
|
||||||
|
{
|
||||||
|
"aspirador": {
|
||||||
|
"nome": "Faz 1: Liy Dwat la"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
app/lang/pt.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"atividades":
|
||||||
|
{
|
||||||
|
"aspirador": {
|
||||||
|
"nome": "Fase 1: A Linha Reta"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -80,7 +80,6 @@
|
|||||||
"phaser": "^3.90.0",
|
"phaser": "^3.90.0",
|
||||||
"phaser3-rex-plugins": "^1.80.16",
|
"phaser3-rex-plugins": "^1.80.16",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"react": "^19.2.0",
|
|
||||||
"react-confetti": "^6.4.0",
|
"react-confetti": "^6.4.0",
|
||||||
"react-dom": "^19.2.0",
|
"react-dom": "^19.2.0",
|
||||||
"react-resizable-panels": "^3.0.6",
|
"react-resizable-panels": "^3.0.6",
|
||||||
|
|||||||
285
app/pnpm-lock.yaml
generated
@@ -40,7 +40,7 @@ importers:
|
|||||||
version: 3.9.1
|
version: 3.9.1
|
||||||
'@uiw/react-codemirror':
|
'@uiw/react-codemirror':
|
||||||
specifier: 4.25.9
|
specifier: 4.25.9
|
||||||
version: 4.25.9(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.41.0)(codemirror@6.0.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 4.25.9(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.41.0)(codemirror@6.0.2)(react-dom@19.2.0)
|
||||||
acorn:
|
acorn:
|
||||||
specifier: ^8.15.0
|
specifier: ^8.15.0
|
||||||
version: 8.15.0
|
version: 8.15.0
|
||||||
@@ -58,7 +58,7 @@ importers:
|
|||||||
version: 0.546.0
|
version: 0.546.0
|
||||||
lucide-react:
|
lucide-react:
|
||||||
specifier: ^0.546.0
|
specifier: ^0.546.0
|
||||||
version: 0.546.0(react@19.2.0)
|
version: 0.546.0
|
||||||
phaser:
|
phaser:
|
||||||
specifier: ^3.90.0
|
specifier: ^3.90.0
|
||||||
version: 3.90.0
|
version: 3.90.0
|
||||||
@@ -68,24 +68,21 @@ importers:
|
|||||||
prop-types:
|
prop-types:
|
||||||
specifier: ^15.8.1
|
specifier: ^15.8.1
|
||||||
version: 15.8.1
|
version: 15.8.1
|
||||||
react:
|
|
||||||
specifier: ^19.2.0
|
|
||||||
version: 19.2.0
|
|
||||||
react-confetti:
|
react-confetti:
|
||||||
specifier: ^6.4.0
|
specifier: ^6.4.0
|
||||||
version: 6.4.0(react@19.2.0)
|
version: 6.4.0
|
||||||
react-dom:
|
react-dom:
|
||||||
specifier: ^19.2.0
|
specifier: ^19.2.0
|
||||||
version: 19.2.0(react@19.2.0)
|
version: 19.2.0
|
||||||
react-resizable-panels:
|
react-resizable-panels:
|
||||||
specifier: ^3.0.6
|
specifier: ^3.0.6
|
||||||
version: 3.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 3.0.6(react-dom@19.2.0)
|
||||||
react-router-dom:
|
react-router-dom:
|
||||||
specifier: ^7.9.4
|
specifier: ^7.9.4
|
||||||
version: 7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 7.9.4(react-dom@19.2.0)
|
||||||
react-shepherd:
|
react-shepherd:
|
||||||
specifier: ^6.1.9
|
specifier: ^6.1.9
|
||||||
version: 6.1.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
version: 6.1.9(react-dom@19.2.0)(typescript@5.9.3)
|
||||||
sentiment:
|
sentiment:
|
||||||
specifier: ^5.0.2
|
specifier: ^5.0.2
|
||||||
version: 5.0.2
|
version: 5.0.2
|
||||||
@@ -107,7 +104,7 @@ importers:
|
|||||||
version: 6.9.1
|
version: 6.9.1
|
||||||
'@testing-library/react':
|
'@testing-library/react':
|
||||||
specifier: ^16.3.1
|
specifier: ^16.3.1
|
||||||
version: 16.3.1(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 16.3.1(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0)
|
||||||
'@testing-library/user-event':
|
'@testing-library/user-event':
|
||||||
specifier: ^14.6.1
|
specifier: ^14.6.1
|
||||||
version: 14.6.1(@testing-library/dom@10.4.1)
|
version: 14.6.1(@testing-library/dom@10.4.1)
|
||||||
@@ -229,18 +226,10 @@ packages:
|
|||||||
'@asamuzakjp/nwsapi@2.3.9':
|
'@asamuzakjp/nwsapi@2.3.9':
|
||||||
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
|
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
|
||||||
|
|
||||||
'@babel/code-frame@7.27.1':
|
|
||||||
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/code-frame@7.29.0':
|
'@babel/code-frame@7.29.0':
|
||||||
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
|
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/compat-data@7.28.4':
|
|
||||||
resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/compat-data@7.29.3':
|
'@babel/compat-data@7.29.3':
|
||||||
resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==}
|
resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -249,10 +238,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
|
resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/generator@7.28.3':
|
|
||||||
resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/generator@7.29.1':
|
'@babel/generator@7.29.1':
|
||||||
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
|
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -261,10 +246,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
|
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/helper-compilation-targets@7.27.2':
|
|
||||||
resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/helper-compilation-targets@7.28.6':
|
'@babel/helper-compilation-targets@7.28.6':
|
||||||
resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
|
resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -294,20 +275,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==}
|
resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/helper-module-imports@7.27.1':
|
|
||||||
resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/helper-module-imports@7.28.6':
|
'@babel/helper-module-imports@7.28.6':
|
||||||
resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
|
resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/helper-module-transforms@7.28.3':
|
|
||||||
resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.0.0
|
|
||||||
|
|
||||||
'@babel/helper-module-transforms@7.28.6':
|
'@babel/helper-module-transforms@7.28.6':
|
||||||
resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
|
resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -769,18 +740,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
|
resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/template@7.27.2':
|
|
||||||
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/template@7.28.6':
|
'@babel/template@7.28.6':
|
||||||
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
|
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@babel/traverse@7.28.4':
|
|
||||||
resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
|
|
||||||
'@babel/traverse@7.29.0':
|
'@babel/traverse@7.29.0':
|
||||||
resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
|
resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -1177,78 +1140,92 @@ packages:
|
|||||||
resolution: {integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==}
|
resolution: {integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.3':
|
'@img/sharp-libvips-linux-arm@1.2.3':
|
||||||
resolution: {integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==}
|
resolution: {integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.3':
|
'@img/sharp-libvips-linux-ppc64@1.2.3':
|
||||||
resolution: {integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==}
|
resolution: {integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.3':
|
'@img/sharp-libvips-linux-s390x@1.2.3':
|
||||||
resolution: {integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==}
|
resolution: {integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.2.3':
|
'@img/sharp-libvips-linux-x64@1.2.3':
|
||||||
resolution: {integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==}
|
resolution: {integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
|
||||||
resolution: {integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==}
|
resolution: {integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
|
||||||
resolution: {integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==}
|
resolution: {integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.4':
|
'@img/sharp-linux-arm64@0.34.4':
|
||||||
resolution: {integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==}
|
resolution: {integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.34.4':
|
'@img/sharp-linux-arm@0.34.4':
|
||||||
resolution: {integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==}
|
resolution: {integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-ppc64@0.34.4':
|
'@img/sharp-linux-ppc64@0.34.4':
|
||||||
resolution: {integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==}
|
resolution: {integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.34.4':
|
'@img/sharp-linux-s390x@0.34.4':
|
||||||
resolution: {integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==}
|
resolution: {integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.34.4':
|
'@img/sharp-linux-x64@0.34.4':
|
||||||
resolution: {integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==}
|
resolution: {integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.34.4':
|
'@img/sharp-linuxmusl-arm64@0.34.4':
|
||||||
resolution: {integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==}
|
resolution: {integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.34.4':
|
'@img/sharp-linuxmusl-x64@0.34.4':
|
||||||
resolution: {integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==}
|
resolution: {integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.34.4':
|
'@img/sharp-wasm32@0.34.4':
|
||||||
resolution: {integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==}
|
resolution: {integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==}
|
||||||
@@ -1462,121 +1439,145 @@ packages:
|
|||||||
resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
|
resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-gnueabihf@4.60.3':
|
'@rollup/rollup-linux-arm-gnueabihf@4.60.3':
|
||||||
resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==}
|
resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-musleabihf@4.52.5':
|
'@rollup/rollup-linux-arm-musleabihf@4.52.5':
|
||||||
resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
|
resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm-musleabihf@4.60.3':
|
'@rollup/rollup-linux-arm-musleabihf@4.60.3':
|
||||||
resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==}
|
resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-gnu@4.52.5':
|
'@rollup/rollup-linux-arm64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
|
resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-gnu@4.60.3':
|
'@rollup/rollup-linux-arm64-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==}
|
resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-musl@4.52.5':
|
'@rollup/rollup-linux-arm64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
|
resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-arm64-musl@4.60.3':
|
'@rollup/rollup-linux-arm64-musl@4.60.3':
|
||||||
resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==}
|
resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-gnu@4.52.5':
|
'@rollup/rollup-linux-loong64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
|
resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-gnu@4.60.3':
|
'@rollup/rollup-linux-loong64-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==}
|
resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-loong64-musl@4.60.3':
|
'@rollup/rollup-linux-loong64-musl@4.60.3':
|
||||||
resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==}
|
resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==}
|
||||||
cpu: [loong64]
|
cpu: [loong64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-gnu@4.52.5':
|
'@rollup/rollup-linux-ppc64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
|
resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-gnu@4.60.3':
|
'@rollup/rollup-linux-ppc64-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==}
|
resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-ppc64-musl@4.60.3':
|
'@rollup/rollup-linux-ppc64-musl@4.60.3':
|
||||||
resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==}
|
resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-gnu@4.52.5':
|
'@rollup/rollup-linux-riscv64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
|
resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-gnu@4.60.3':
|
'@rollup/rollup-linux-riscv64-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==}
|
resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-musl@4.52.5':
|
'@rollup/rollup-linux-riscv64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
|
resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-riscv64-musl@4.60.3':
|
'@rollup/rollup-linux-riscv64-musl@4.60.3':
|
||||||
resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==}
|
resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-s390x-gnu@4.52.5':
|
'@rollup/rollup-linux-s390x-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
|
resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-s390x-gnu@4.60.3':
|
'@rollup/rollup-linux-s390x-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==}
|
resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-gnu@4.52.5':
|
'@rollup/rollup-linux-x64-gnu@4.52.5':
|
||||||
resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
|
resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-gnu@4.60.3':
|
'@rollup/rollup-linux-x64-gnu@4.60.3':
|
||||||
resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==}
|
resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-musl@4.52.5':
|
'@rollup/rollup-linux-x64-musl@4.52.5':
|
||||||
resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
|
resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-linux-x64-musl@4.60.3':
|
'@rollup/rollup-linux-x64-musl@4.60.3':
|
||||||
resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==}
|
resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
'@rollup/rollup-openbsd-x64@4.60.3':
|
'@rollup/rollup-openbsd-x64@4.60.3':
|
||||||
resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==}
|
resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==}
|
||||||
@@ -1687,15 +1688,19 @@ packages:
|
|||||||
|
|
||||||
'@tsparticles/basic@3.9.1':
|
'@tsparticles/basic@3.9.1':
|
||||||
resolution: {integrity: sha512-ijr2dHMx0IQHqhKW3qA8tfwrR2XYbbWYdaJMQuBo2CkwBVIhZ76U+H20Y492j/NXpd1FUnt2aC0l4CEVGVGdeQ==}
|
resolution: {integrity: sha512-ijr2dHMx0IQHqhKW3qA8tfwrR2XYbbWYdaJMQuBo2CkwBVIhZ76U+H20Y492j/NXpd1FUnt2aC0l4CEVGVGdeQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/confetti@3.9.1':
|
'@tsparticles/confetti@3.9.1':
|
||||||
resolution: {integrity: sha512-S0Q6iBqQvcCaOzmnddmh41RHeLwzSdkLq8hU3Ryokmb9eqoS9MQdYz2tjUHHdTap+YLPlp64SZ15sC4C9ulFbA==}
|
resolution: {integrity: sha512-S0Q6iBqQvcCaOzmnddmh41RHeLwzSdkLq8hU3Ryokmb9eqoS9MQdYz2tjUHHdTap+YLPlp64SZ15sC4C9ulFbA==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/engine@3.9.1':
|
'@tsparticles/engine@3.9.1':
|
||||||
resolution: {integrity: sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==}
|
resolution: {integrity: sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/move-base@3.9.1':
|
'@tsparticles/move-base@3.9.1':
|
||||||
resolution: {integrity: sha512-X4huBS27d8srpxwOxliWPUt+NtCwY+8q/cx1DvQxyqmTA8VFCGpcHNwtqiN+9JicgzOvSuaORVqUgwlsc7h4pQ==}
|
resolution: {integrity: sha512-X4huBS27d8srpxwOxliWPUt+NtCwY+8q/cx1DvQxyqmTA8VFCGpcHNwtqiN+9JicgzOvSuaORVqUgwlsc7h4pQ==}
|
||||||
|
deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/plugin-move
|
||||||
|
|
||||||
'@tsparticles/plugin-emitters@3.9.1':
|
'@tsparticles/plugin-emitters@3.9.1':
|
||||||
resolution: {integrity: sha512-h7opR8SoFWBmVHceDLJUerLENaPfkJSh2zQYvzmLj2L+V3VLS1QDgty+4QZVeZfqNROmgQw2eLFA5El1E0sqqw==}
|
resolution: {integrity: sha512-h7opR8SoFWBmVHceDLJUerLENaPfkJSh2zQYvzmLj2L+V3VLS1QDgty+4QZVeZfqNROmgQw2eLFA5El1E0sqqw==}
|
||||||
@@ -1705,63 +1710,83 @@ packages:
|
|||||||
|
|
||||||
'@tsparticles/plugin-hsl-color@3.9.1':
|
'@tsparticles/plugin-hsl-color@3.9.1':
|
||||||
resolution: {integrity: sha512-jJd1iGgRwX6eeNjc1zUXiJivaqC5UE+SC2A3/NtHwwoQrkfxGWmRHOsVyLnOBRcCPgBp/FpdDe6DIDjCMO715w==}
|
resolution: {integrity: sha512-jJd1iGgRwX6eeNjc1zUXiJivaqC5UE+SC2A3/NtHwwoQrkfxGWmRHOsVyLnOBRcCPgBp/FpdDe6DIDjCMO715w==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/plugin-motion@3.9.1':
|
'@tsparticles/plugin-motion@3.9.1':
|
||||||
resolution: {integrity: sha512-I/356NHCiMUgFzWjAHYKO7YvBqKtHSktIPgTRruqlruyrAcwzjkT55ZQ1K5EcJLWETkF1bfG2VpJBRu8ksf9mw==}
|
resolution: {integrity: sha512-I/356NHCiMUgFzWjAHYKO7YvBqKtHSktIPgTRruqlruyrAcwzjkT55ZQ1K5EcJLWETkF1bfG2VpJBRu8ksf9mw==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/plugin-rgb-color@3.9.1':
|
'@tsparticles/plugin-rgb-color@3.9.1':
|
||||||
resolution: {integrity: sha512-SBxk7f1KBfXeTnnklbE2Hx4jBgh6I6HOtxb+Os1gTp0oaghZOkWcCD2dP4QbUu7fVNCMOcApPoMNC8RTFcy9wQ==}
|
resolution: {integrity: sha512-SBxk7f1KBfXeTnnklbE2Hx4jBgh6I6HOtxb+Os1gTp0oaghZOkWcCD2dP4QbUu7fVNCMOcApPoMNC8RTFcy9wQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-cards@3.9.1':
|
'@tsparticles/shape-cards@3.9.1':
|
||||||
resolution: {integrity: sha512-/tQtGh6xC3UmKU2WO7VM5RoAnsvFvPkXcCJJHAQ6AIyWUKVWBrVuewF0ZbJQlNhWCEW/aqE199LuDAewqYAQ5A==}
|
resolution: {integrity: sha512-/tQtGh6xC3UmKU2WO7VM5RoAnsvFvPkXcCJJHAQ6AIyWUKVWBrVuewF0ZbJQlNhWCEW/aqE199LuDAewqYAQ5A==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-circle@3.9.1':
|
'@tsparticles/shape-circle@3.9.1':
|
||||||
resolution: {integrity: sha512-DqZFLjbuhVn99WJ+A9ajz9YON72RtCcvubzq6qfjFmtwAK7frvQeb6iDTp6Ze9FUipluxVZWVRG4vWTxi2B+/g==}
|
resolution: {integrity: sha512-DqZFLjbuhVn99WJ+A9ajz9YON72RtCcvubzq6qfjFmtwAK7frvQeb6iDTp6Ze9FUipluxVZWVRG4vWTxi2B+/g==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-emoji@3.9.1':
|
'@tsparticles/shape-emoji@3.9.1':
|
||||||
resolution: {integrity: sha512-ifvY63usuT+hipgVHb8gelBHSeF6ryPnMxAAEC1RGHhhXfpSRWMtE6ybr+pSsYU52M3G9+TF84v91pSwNrb9ZQ==}
|
resolution: {integrity: sha512-ifvY63usuT+hipgVHb8gelBHSeF6ryPnMxAAEC1RGHhhXfpSRWMtE6ybr+pSsYU52M3G9+TF84v91pSwNrb9ZQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-heart@3.9.1':
|
'@tsparticles/shape-heart@3.9.1':
|
||||||
resolution: {integrity: sha512-h1aYiBVCUAJ14zyK792EuX0332Hus6OgYy/4dk6PhfgdFTQaHk+FzGJjw+jEB8vpxOYtWeysT9uoofPZeDrqBQ==}
|
resolution: {integrity: sha512-h1aYiBVCUAJ14zyK792EuX0332Hus6OgYy/4dk6PhfgdFTQaHk+FzGJjw+jEB8vpxOYtWeysT9uoofPZeDrqBQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-image@3.9.1':
|
'@tsparticles/shape-image@3.9.1':
|
||||||
resolution: {integrity: sha512-fCA5eme8VF3oX8yNVUA0l2SLDKuiZObkijb0z3Ky0qj1HUEVlAuEMhhNDNB9E2iELTrWEix9z7BFMePp2CC7AA==}
|
resolution: {integrity: sha512-fCA5eme8VF3oX8yNVUA0l2SLDKuiZObkijb0z3Ky0qj1HUEVlAuEMhhNDNB9E2iELTrWEix9z7BFMePp2CC7AA==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-polygon@3.9.1':
|
'@tsparticles/shape-polygon@3.9.1':
|
||||||
resolution: {integrity: sha512-dA77PgZdoLwxnliH6XQM/zF0r4jhT01pw5y7XTeTqws++hg4rTLV9255k6R6eUqKq0FPSW1/WBsBIl7q/MmrqQ==}
|
resolution: {integrity: sha512-dA77PgZdoLwxnliH6XQM/zF0r4jhT01pw5y7XTeTqws++hg4rTLV9255k6R6eUqKq0FPSW1/WBsBIl7q/MmrqQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-square@3.9.1':
|
'@tsparticles/shape-square@3.9.1':
|
||||||
resolution: {integrity: sha512-DKGkDnRyZrAm7T2ipqNezJahSWs6xd9O5LQLe5vjrYm1qGwrFxJiQaAdlb00UNrexz1/SA7bEoIg4XKaFa7qhQ==}
|
resolution: {integrity: sha512-DKGkDnRyZrAm7T2ipqNezJahSWs6xd9O5LQLe5vjrYm1qGwrFxJiQaAdlb00UNrexz1/SA7bEoIg4XKaFa7qhQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/shape-star@3.9.1':
|
'@tsparticles/shape-star@3.9.1':
|
||||||
resolution: {integrity: sha512-kdMJpi8cdeb6vGrZVSxTG0JIjCwIenggqk0EYeKAwtOGZFBgL7eHhF2F6uu1oq8cJAbXPujEoabnLsz6mW8XaA==}
|
resolution: {integrity: sha512-kdMJpi8cdeb6vGrZVSxTG0JIjCwIenggqk0EYeKAwtOGZFBgL7eHhF2F6uu1oq8cJAbXPujEoabnLsz6mW8XaA==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-color@3.9.1':
|
'@tsparticles/updater-color@3.9.1':
|
||||||
resolution: {integrity: sha512-XGWdscrgEMA8L5E7exsE0f8/2zHKIqnTrZymcyuFBw2DCB6BIV+5z6qaNStpxrhq3DbIxxhqqcybqeOo7+Alpg==}
|
resolution: {integrity: sha512-XGWdscrgEMA8L5E7exsE0f8/2zHKIqnTrZymcyuFBw2DCB6BIV+5z6qaNStpxrhq3DbIxxhqqcybqeOo7+Alpg==}
|
||||||
|
deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/updater-paint
|
||||||
|
|
||||||
'@tsparticles/updater-life@3.9.1':
|
'@tsparticles/updater-life@3.9.1':
|
||||||
resolution: {integrity: sha512-Oi8aF2RIwMMsjssUkCB6t3PRpENHjdZf6cX92WNfAuqXtQphr3OMAkYFJFWkvyPFK22AVy3p/cFt6KE5zXxwAA==}
|
resolution: {integrity: sha512-Oi8aF2RIwMMsjssUkCB6t3PRpENHjdZf6cX92WNfAuqXtQphr3OMAkYFJFWkvyPFK22AVy3p/cFt6KE5zXxwAA==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-opacity@3.9.1':
|
'@tsparticles/updater-opacity@3.9.1':
|
||||||
resolution: {integrity: sha512-w778LQuRZJ+IoWzeRdrGykPYSSaTeWfBvLZ2XwYEkh/Ss961InOxZKIpcS6i5Kp/Zfw0fS1ZAuqeHwuj///Osw==}
|
resolution: {integrity: sha512-w778LQuRZJ+IoWzeRdrGykPYSSaTeWfBvLZ2XwYEkh/Ss961InOxZKIpcS6i5Kp/Zfw0fS1ZAuqeHwuj///Osw==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-out-modes@3.9.1':
|
'@tsparticles/updater-out-modes@3.9.1':
|
||||||
resolution: {integrity: sha512-cKQEkAwbru+hhKF+GTsfbOvuBbx2DSB25CxOdhtW2wRvDBoCnngNdLw91rs+0Cex4tgEeibkebrIKFDDE6kELg==}
|
resolution: {integrity: sha512-cKQEkAwbru+hhKF+GTsfbOvuBbx2DSB25CxOdhtW2wRvDBoCnngNdLw91rs+0Cex4tgEeibkebrIKFDDE6kELg==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-roll@3.9.1':
|
'@tsparticles/updater-roll@3.9.1':
|
||||||
resolution: {integrity: sha512-zl4JeM3gUBJ0uttmIsond3lrZ3f3AkItFeS0Lhj/7jiCKfUoRyyOMrcBk8R1AhW7lI+7ko1iBs3jhO0jnxz9vg==}
|
resolution: {integrity: sha512-zl4JeM3gUBJ0uttmIsond3lrZ3f3AkItFeS0Lhj/7jiCKfUoRyyOMrcBk8R1AhW7lI+7ko1iBs3jhO0jnxz9vg==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-rotate@3.9.1':
|
'@tsparticles/updater-rotate@3.9.1':
|
||||||
resolution: {integrity: sha512-9BfKaGfp28JN82MF2qs6Ae/lJr9EColMfMTHqSKljblwbpVDHte4umuwKl3VjbRt87WD9MGtla66NTUYl+WxuQ==}
|
resolution: {integrity: sha512-9BfKaGfp28JN82MF2qs6Ae/lJr9EColMfMTHqSKljblwbpVDHte4umuwKl3VjbRt87WD9MGtla66NTUYl+WxuQ==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-size@3.9.1':
|
'@tsparticles/updater-size@3.9.1':
|
||||||
resolution: {integrity: sha512-3NSVs0O2ApNKZXfd+y/zNhTXSFeG1Pw4peI8e6z/q5+XLbmue9oiEwoPy/tQLaark3oNj3JU7Q903ZijPyXSzw==}
|
resolution: {integrity: sha512-3NSVs0O2ApNKZXfd+y/zNhTXSFeG1Pw4peI8e6z/q5+XLbmue9oiEwoPy/tQLaark3oNj3JU7Q903ZijPyXSzw==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-tilt@3.9.1':
|
'@tsparticles/updater-tilt@3.9.1':
|
||||||
resolution: {integrity: sha512-PB2yaoyXRmSk4iIVgjtRrzOxXMK9mjeAQHIJGtT4faq46Z8cbIIEFgjTwqrUV8qOrNg/h4sm5NE/s0qsTYjp1Q==}
|
resolution: {integrity: sha512-PB2yaoyXRmSk4iIVgjtRrzOxXMK9mjeAQHIJGtT4faq46Z8cbIIEFgjTwqrUV8qOrNg/h4sm5NE/s0qsTYjp1Q==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@tsparticles/updater-wobble@3.9.1':
|
'@tsparticles/updater-wobble@3.9.1':
|
||||||
resolution: {integrity: sha512-c99Ogy9q4QWO+zsDXol0UnpUwZiY2UucFb8ltuDv9AlbGUeprygoub8jhgT5pEDv+GdzWOJGSgq7rfgv9cHBrg==}
|
resolution: {integrity: sha512-c99Ogy9q4QWO+zsDXol0UnpUwZiY2UucFb8ltuDv9AlbGUeprygoub8jhgT5pEDv+GdzWOJGSgq7rfgv9cHBrg==}
|
||||||
|
deprecated: Please update to version 4.1.1
|
||||||
|
|
||||||
'@types/aria-query@5.0.4':
|
'@types/aria-query@5.0.4':
|
||||||
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
|
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
|
||||||
@@ -2894,6 +2919,7 @@ packages:
|
|||||||
|
|
||||||
glob@10.4.5:
|
glob@10.4.5:
|
||||||
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
|
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
|
||||||
|
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
glob@11.1.0:
|
glob@11.1.0:
|
||||||
@@ -2904,7 +2930,7 @@ packages:
|
|||||||
|
|
||||||
glob@7.2.3:
|
glob@7.2.3:
|
||||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||||
deprecated: Glob versions prior to v9 are no longer supported
|
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
|
||||||
|
|
||||||
global-agent@3.0.0:
|
global-agent@3.0.0:
|
||||||
resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==}
|
resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==}
|
||||||
@@ -3365,24 +3391,28 @@ packages:
|
|||||||
engines: {node: '>= 12.0.0'}
|
engines: {node: '>= 12.0.0'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
lightningcss-linux-arm64-musl@1.30.1:
|
lightningcss-linux-arm64-musl@1.30.1:
|
||||||
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
|
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
|
||||||
engines: {node: '>= 12.0.0'}
|
engines: {node: '>= 12.0.0'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
lightningcss-linux-x64-gnu@1.30.1:
|
lightningcss-linux-x64-gnu@1.30.1:
|
||||||
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
|
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
|
||||||
engines: {node: '>= 12.0.0'}
|
engines: {node: '>= 12.0.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [glibc]
|
||||||
|
|
||||||
lightningcss-linux-x64-musl@1.30.1:
|
lightningcss-linux-x64-musl@1.30.1:
|
||||||
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
|
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
|
||||||
engines: {node: '>= 12.0.0'}
|
engines: {node: '>= 12.0.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
libc: [musl]
|
||||||
|
|
||||||
lightningcss-win32-arm64-msvc@1.30.1:
|
lightningcss-win32-arm64-msvc@1.30.1:
|
||||||
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
|
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
|
||||||
@@ -3962,10 +3992,6 @@ packages:
|
|||||||
react-dom: ^18.2.0
|
react-dom: ^18.2.0
|
||||||
typescript: ^5.0.0
|
typescript: ^5.0.0
|
||||||
|
|
||||||
react@19.2.0:
|
|
||||||
resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
|
|
||||||
engines: {node: '>=0.10.0'}
|
|
||||||
|
|
||||||
read-binary-file-arch@1.0.6:
|
read-binary-file-arch@1.0.6:
|
||||||
resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==}
|
resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -4736,6 +4762,7 @@ packages:
|
|||||||
whatwg-encoding@3.1.1:
|
whatwg-encoding@3.1.1:
|
||||||
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
|
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
|
||||||
|
|
||||||
whatwg-mimetype@4.0.0:
|
whatwg-mimetype@4.0.0:
|
||||||
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
|
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
|
||||||
@@ -4967,33 +4994,25 @@ snapshots:
|
|||||||
|
|
||||||
'@asamuzakjp/nwsapi@2.3.9': {}
|
'@asamuzakjp/nwsapi@2.3.9': {}
|
||||||
|
|
||||||
'@babel/code-frame@7.27.1':
|
|
||||||
dependencies:
|
|
||||||
'@babel/helper-validator-identifier': 7.27.1
|
|
||||||
js-tokens: 4.0.0
|
|
||||||
picocolors: 1.1.1
|
|
||||||
|
|
||||||
'@babel/code-frame@7.29.0':
|
'@babel/code-frame@7.29.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-validator-identifier': 7.28.5
|
'@babel/helper-validator-identifier': 7.28.5
|
||||||
js-tokens: 4.0.0
|
js-tokens: 4.0.0
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
|
|
||||||
'@babel/compat-data@7.28.4': {}
|
|
||||||
|
|
||||||
'@babel/compat-data@7.29.3': {}
|
'@babel/compat-data@7.29.3': {}
|
||||||
|
|
||||||
'@babel/core@7.28.4':
|
'@babel/core@7.28.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.27.1
|
'@babel/code-frame': 7.29.0
|
||||||
'@babel/generator': 7.28.3
|
'@babel/generator': 7.29.1
|
||||||
'@babel/helper-compilation-targets': 7.27.2
|
'@babel/helper-compilation-targets': 7.28.6
|
||||||
'@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
|
'@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.4)
|
||||||
'@babel/helpers': 7.28.4
|
'@babel/helpers': 7.28.4
|
||||||
'@babel/parser': 7.28.4
|
'@babel/parser': 7.29.0
|
||||||
'@babel/template': 7.27.2
|
'@babel/template': 7.28.6
|
||||||
'@babel/traverse': 7.28.4
|
'@babel/traverse': 7.29.0
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
'@jridgewell/remapping': 2.3.5
|
'@jridgewell/remapping': 2.3.5
|
||||||
convert-source-map: 2.0.0
|
convert-source-map: 2.0.0
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
@@ -5003,14 +5022,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@babel/generator@7.28.3':
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.28.4
|
|
||||||
'@babel/types': 7.28.4
|
|
||||||
'@jridgewell/gen-mapping': 0.3.13
|
|
||||||
'@jridgewell/trace-mapping': 0.3.31
|
|
||||||
jsesc: 3.1.0
|
|
||||||
|
|
||||||
'@babel/generator@7.29.1':
|
'@babel/generator@7.29.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.29.0
|
'@babel/parser': 7.29.0
|
||||||
@@ -5023,19 +5034,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@babel/types': 7.29.0
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@babel/helper-compilation-targets@7.27.2':
|
|
||||||
dependencies:
|
|
||||||
'@babel/compat-data': 7.28.4
|
|
||||||
'@babel/helper-validator-option': 7.27.1
|
|
||||||
browserslist: 4.26.3
|
|
||||||
lru-cache: 5.1.1
|
|
||||||
semver: 6.3.1
|
|
||||||
|
|
||||||
'@babel/helper-compilation-targets@7.28.6':
|
'@babel/helper-compilation-targets@7.28.6':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/compat-data': 7.29.3
|
'@babel/compat-data': 7.29.3
|
||||||
'@babel/helper-validator-option': 7.27.1
|
'@babel/helper-validator-option': 7.27.1
|
||||||
browserslist: 4.26.3
|
browserslist: 4.28.2
|
||||||
lru-cache: 5.1.1
|
lru-cache: 5.1.1
|
||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
|
|
||||||
@@ -5079,13 +5082,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@babel/helper-module-imports@7.27.1':
|
|
||||||
dependencies:
|
|
||||||
'@babel/traverse': 7.28.4
|
|
||||||
'@babel/types': 7.28.4
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@babel/helper-module-imports@7.28.6':
|
'@babel/helper-module-imports@7.28.6':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/traverse': 7.29.0
|
'@babel/traverse': 7.29.0
|
||||||
@@ -5093,15 +5089,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
|
|
||||||
dependencies:
|
|
||||||
'@babel/core': 7.28.4
|
|
||||||
'@babel/helper-module-imports': 7.27.1
|
|
||||||
'@babel/helper-validator-identifier': 7.27.1
|
|
||||||
'@babel/traverse': 7.28.4
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@babel/helper-module-transforms@7.28.6(@babel/core@7.28.4)':
|
'@babel/helper-module-transforms@7.28.6(@babel/core@7.28.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
@@ -5124,7 +5111,7 @@ snapshots:
|
|||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/helper-annotate-as-pure': 7.27.3
|
'@babel/helper-annotate-as-pure': 7.27.3
|
||||||
'@babel/helper-wrap-function': 7.28.6
|
'@babel/helper-wrap-function': 7.28.6
|
||||||
'@babel/traverse': 7.28.4
|
'@babel/traverse': 7.29.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -5139,7 +5126,7 @@ snapshots:
|
|||||||
|
|
||||||
'@babel/helper-skip-transparent-expression-wrappers@7.27.1':
|
'@babel/helper-skip-transparent-expression-wrappers@7.27.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/traverse': 7.28.4
|
'@babel/traverse': 7.29.0
|
||||||
'@babel/types': 7.29.0
|
'@babel/types': 7.29.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -5162,8 +5149,8 @@ snapshots:
|
|||||||
|
|
||||||
'@babel/helpers@7.28.4':
|
'@babel/helpers@7.28.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/template': 7.27.2
|
'@babel/template': 7.28.6
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@babel/parser@7.28.4':
|
'@babel/parser@7.28.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5364,7 +5351,7 @@ snapshots:
|
|||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/helper-compilation-targets': 7.28.6
|
'@babel/helper-compilation-targets': 7.28.6
|
||||||
'@babel/helper-plugin-utils': 7.28.6
|
'@babel/helper-plugin-utils': 7.28.6
|
||||||
'@babel/traverse': 7.28.4
|
'@babel/traverse': 7.29.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -5391,7 +5378,7 @@ snapshots:
|
|||||||
'@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)':
|
'@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
|
'@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.4)
|
||||||
'@babel/helper-plugin-utils': 7.28.6
|
'@babel/helper-plugin-utils': 7.28.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -5417,7 +5404,7 @@ snapshots:
|
|||||||
'@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)':
|
'@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
|
'@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.4)
|
||||||
'@babel/helper-plugin-utils': 7.28.6
|
'@babel/helper-plugin-utils': 7.28.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -5665,30 +5652,12 @@ snapshots:
|
|||||||
|
|
||||||
'@babel/runtime@7.28.4': {}
|
'@babel/runtime@7.28.4': {}
|
||||||
|
|
||||||
'@babel/template@7.27.2':
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.27.1
|
|
||||||
'@babel/parser': 7.28.4
|
|
||||||
'@babel/types': 7.28.4
|
|
||||||
|
|
||||||
'@babel/template@7.28.6':
|
'@babel/template@7.28.6':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.29.0
|
'@babel/code-frame': 7.29.0
|
||||||
'@babel/parser': 7.29.0
|
'@babel/parser': 7.29.0
|
||||||
'@babel/types': 7.29.0
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@babel/traverse@7.28.4':
|
|
||||||
dependencies:
|
|
||||||
'@babel/code-frame': 7.27.1
|
|
||||||
'@babel/generator': 7.28.3
|
|
||||||
'@babel/helper-globals': 7.28.0
|
|
||||||
'@babel/parser': 7.28.4
|
|
||||||
'@babel/template': 7.27.2
|
|
||||||
'@babel/types': 7.28.4
|
|
||||||
debug: 4.4.3
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@babel/traverse@7.29.0':
|
'@babel/traverse@7.29.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.29.0
|
'@babel/code-frame': 7.29.0
|
||||||
@@ -5865,7 +5834,7 @@ snapshots:
|
|||||||
fs-extra: 10.1.0
|
fs-extra: 10.1.0
|
||||||
isbinaryfile: 4.0.10
|
isbinaryfile: 4.0.10
|
||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
plist: 3.1.0
|
plist: 3.1.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -5888,7 +5857,7 @@ snapshots:
|
|||||||
dir-compare: 4.2.0
|
dir-compare: 4.2.0
|
||||||
fs-extra: 11.3.4
|
fs-extra: 11.3.4
|
||||||
minimatch: 9.0.5
|
minimatch: 9.0.5
|
||||||
plist: 3.1.0
|
plist: 3.1.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -6238,7 +6207,7 @@ snapshots:
|
|||||||
'@rollup/plugin-babel@6.1.0(@babel/core@7.28.4)(@types/babel__core@7.20.5)(rollup@4.60.3)':
|
'@rollup/plugin-babel@6.1.0(@babel/core@7.28.4)(@types/babel__core@7.20.5)(rollup@4.60.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/helper-module-imports': 7.27.1
|
'@babel/helper-module-imports': 7.28.6
|
||||||
'@rollup/pluginutils': 5.3.0(rollup@4.60.3)
|
'@rollup/pluginutils': 5.3.0(rollup@4.60.3)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/babel__core': 7.20.5
|
'@types/babel__core': 7.20.5
|
||||||
@@ -6252,7 +6221,7 @@ snapshots:
|
|||||||
'@types/resolve': 1.20.2
|
'@types/resolve': 1.20.2
|
||||||
deepmerge: 4.3.1
|
deepmerge: 4.3.1
|
||||||
is-module: 1.0.0
|
is-module: 1.0.0
|
||||||
resolve: 1.22.10
|
resolve: 1.22.12
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
rollup: 4.60.3
|
rollup: 4.60.3
|
||||||
|
|
||||||
@@ -6455,12 +6424,11 @@ snapshots:
|
|||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
redent: 3.0.0
|
redent: 3.0.0
|
||||||
|
|
||||||
'@testing-library/react@16.3.1(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
|
'@testing-library/react@16.3.1(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@testing-library/dom': 10.4.1
|
'@testing-library/dom': 10.4.1
|
||||||
react: 19.2.0
|
react-dom: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.2
|
||||||
'@types/react-dom': 19.2.2(@types/react@19.2.2)
|
'@types/react-dom': 19.2.2(@types/react@19.2.2)
|
||||||
@@ -6606,24 +6574,24 @@ snapshots:
|
|||||||
|
|
||||||
'@types/babel__core@7.20.5':
|
'@types/babel__core@7.20.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.28.4
|
'@babel/parser': 7.29.0
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
'@types/babel__generator': 7.27.0
|
'@types/babel__generator': 7.27.0
|
||||||
'@types/babel__template': 7.4.4
|
'@types/babel__template': 7.4.4
|
||||||
'@types/babel__traverse': 7.28.0
|
'@types/babel__traverse': 7.28.0
|
||||||
|
|
||||||
'@types/babel__generator@7.27.0':
|
'@types/babel__generator@7.27.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@types/babel__template@7.4.4':
|
'@types/babel__template@7.4.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.28.4
|
'@babel/parser': 7.29.0
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@types/babel__traverse@7.28.0':
|
'@types/babel__traverse@7.28.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/types': 7.28.4
|
'@babel/types': 7.29.0
|
||||||
|
|
||||||
'@types/cacheable-request@6.0.3':
|
'@types/cacheable-request@6.0.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -6703,7 +6671,7 @@ snapshots:
|
|||||||
'@codemirror/state': 6.6.0
|
'@codemirror/state': 6.6.0
|
||||||
'@codemirror/view': 6.41.0
|
'@codemirror/view': 6.41.0
|
||||||
|
|
||||||
'@uiw/react-codemirror@4.25.9(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.41.0)(codemirror@6.0.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
|
'@uiw/react-codemirror@4.25.9(@babel/runtime@7.28.4)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.41.0)(codemirror@6.0.2)(react-dom@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@codemirror/commands': 6.10.3
|
'@codemirror/commands': 6.10.3
|
||||||
@@ -6712,8 +6680,7 @@ snapshots:
|
|||||||
'@codemirror/view': 6.41.0
|
'@codemirror/view': 6.41.0
|
||||||
'@uiw/codemirror-extensions-basic-setup': 4.25.9(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/view@6.41.0)
|
'@uiw/codemirror-extensions-basic-setup': 4.25.9(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.0)(@codemirror/search@6.5.11)(@codemirror/state@6.6.0)(@codemirror/view@6.41.0)
|
||||||
codemirror: 6.0.2
|
codemirror: 6.0.2
|
||||||
react: 19.2.0
|
react-dom: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@codemirror/autocomplete'
|
- '@codemirror/autocomplete'
|
||||||
- '@codemirror/language'
|
- '@codemirror/language'
|
||||||
@@ -6807,8 +6774,7 @@ snapshots:
|
|||||||
|
|
||||||
'@xmldom/xmldom@0.8.13': {}
|
'@xmldom/xmldom@0.8.13': {}
|
||||||
|
|
||||||
'@xmldom/xmldom@0.9.10':
|
'@xmldom/xmldom@0.9.10': {}
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@zeit/schemas@2.36.0': {}
|
'@zeit/schemas@2.36.0': {}
|
||||||
|
|
||||||
@@ -8561,9 +8527,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
yallist: 4.0.0
|
yallist: 4.0.0
|
||||||
|
|
||||||
lucide-react@0.546.0(react@19.2.0):
|
lucide-react@0.546.0: {}
|
||||||
dependencies:
|
|
||||||
react: 19.2.0
|
|
||||||
|
|
||||||
lucide@0.546.0: {}
|
lucide@0.546.0: {}
|
||||||
|
|
||||||
@@ -8867,7 +8831,6 @@ snapshots:
|
|||||||
'@xmldom/xmldom': 0.9.10
|
'@xmldom/xmldom': 0.9.10
|
||||||
base64-js: 1.5.1
|
base64-js: 1.5.1
|
||||||
xmlbuilder: 15.1.1
|
xmlbuilder: 15.1.1
|
||||||
optional: true
|
|
||||||
|
|
||||||
possible-typed-array-names@1.1.0: {}
|
possible-typed-array-names@1.1.0: {}
|
||||||
|
|
||||||
@@ -8974,14 +8937,12 @@ snapshots:
|
|||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
strip-json-comments: 2.0.1
|
strip-json-comments: 2.0.1
|
||||||
|
|
||||||
react-confetti@6.4.0(react@19.2.0):
|
react-confetti@6.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
|
||||||
tween-functions: 1.2.0
|
tween-functions: 1.2.0
|
||||||
|
|
||||||
react-dom@19.2.0(react@19.2.0):
|
react-dom@19.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
|
||||||
scheduler: 0.27.0
|
scheduler: 0.27.0
|
||||||
|
|
||||||
react-is@16.13.1: {}
|
react-is@16.13.1: {}
|
||||||
@@ -8990,34 +8951,28 @@ snapshots:
|
|||||||
|
|
||||||
react-refresh@0.17.0: {}
|
react-refresh@0.17.0: {}
|
||||||
|
|
||||||
react-resizable-panels@3.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
|
react-resizable-panels@3.0.6(react-dom@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
react-dom: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
|
||||||
|
|
||||||
react-router-dom@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
|
react-router-dom@7.9.4(react-dom@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
react-dom: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-router: 7.9.4(react-dom@19.2.0)
|
||||||
react-router: 7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
|
||||||
|
|
||||||
react-router@7.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
|
react-router@7.9.4(react-dom@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
cookie: 1.0.2
|
cookie: 1.0.2
|
||||||
react: 19.2.0
|
|
||||||
set-cookie-parser: 2.7.1
|
set-cookie-parser: 2.7.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0
|
||||||
|
|
||||||
react-shepherd@6.1.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3):
|
react-shepherd@6.1.9(react-dom@19.2.0)(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
react-dom: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
|
||||||
shepherd.js: 14.5.1
|
shepherd.js: 14.5.1
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
|
|
||||||
react@19.2.0: {}
|
|
||||||
|
|
||||||
read-binary-file-arch@1.0.6:
|
read-binary-file-arch@1.0.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
|
|||||||
@@ -6,11 +6,13 @@
|
|||||||
|
|
||||||
import { lazy, Suspense, useEffect } from "react";
|
import { lazy, Suspense, useEffect } from "react";
|
||||||
import { HashRouter as Router, Routes, Route, useLocation } from "react-router-dom";
|
import { HashRouter as Router, Routes, Route, useLocation } from "react-router-dom";
|
||||||
|
import { IntlProvider } from 'react-intl';
|
||||||
import "./App.css";
|
import "./App.css";
|
||||||
import HomePage from "./pages/HomePage/HomePage";
|
import HomePage from "./pages/HomePage/HomePage";
|
||||||
import LabPython from "./pages/LabPython/LabPython";
|
import LabPython from "./pages/LabPython/LabPython";
|
||||||
import ScrollToTop from "./components/ScrollToTop";
|
import ScrollToTop from "./components/ScrollToTop";
|
||||||
import { trackPageView } from "./services/plausible";
|
import { trackPageView } from "./services/plausible";
|
||||||
|
import { getLocalizedMessages } from "./services/localizedMessages";
|
||||||
|
|
||||||
const Playground = lazy(() => import("./pages/Playground/Playground"));
|
const Playground = lazy(() => import("./pages/Playground/Playground"));
|
||||||
const About = lazy(() => import("./pages/About/About"));
|
const About = lazy(() => import("./pages/About/About"));
|
||||||
@@ -116,10 +118,16 @@ function AppRoutes() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
|
const locale = 'ht';
|
||||||
|
const translatedMessages = getLocalizedMessages(locale);
|
||||||
|
// TODO: fazer botão
|
||||||
|
window.localStorage.setItem("locale", 'ht');
|
||||||
return (
|
return (
|
||||||
<Router>
|
<Router>
|
||||||
<Suspense fallback={<LoadingFallback />}>
|
<Suspense fallback={<LoadingFallback />}>
|
||||||
|
<IntlProvider messages={translatedMessages} locale={locale} defaultLocale="pt">
|
||||||
<AppRoutes />
|
<AppRoutes />
|
||||||
|
</IntlProvider>
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</Router>
|
</Router>
|
||||||
);
|
);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 315 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 302 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 284 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 261 KiB |
@@ -42,7 +42,7 @@ export const gameConfig = {
|
|||||||
// ==========================================
|
// ==========================================
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
nome: "Fase 1: A Linha Reta",
|
nome: "$atividades.aspirador.nome",
|
||||||
descricao: "Use o bloco 'Enquanto houver sujeira' e o comando 'Mover' para ligá-lo.",
|
descricao: "Use o bloco 'Enquanto houver sujeira' e o comando 'Mover' para ligá-lo.",
|
||||||
timeout: 10,
|
timeout: 10,
|
||||||
maxBlocks: 3,
|
maxBlocks: 3,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
|
import { translate } from "../../services/localizedMessages";
|
||||||
|
|
||||||
function obterDificuldade(dadosFase) {
|
function obterDificuldade(dadosFase) {
|
||||||
// Usa a dificuldade da fase, se existir, senão calcula pelo número
|
// Usa a dificuldade da fase, se existir, senão calcula pelo número
|
||||||
@@ -40,7 +41,7 @@ function GameFaseInfo({ phaseData = {}, phaseNumber }) {
|
|||||||
{/* Título/Subtítulo */}
|
{/* Título/Subtítulo */}
|
||||||
<div className="flex-1 min-w-0 px-3 lg:px-5">
|
<div className="flex-1 min-w-0 px-3 lg:px-5">
|
||||||
<h3 className="text-base lg:text-2xl font-semibold text-gray-800 truncate">
|
<h3 className="text-base lg:text-2xl font-semibold text-gray-800 truncate">
|
||||||
{phaseData.nome}
|
{translate(phaseData.nome)}
|
||||||
</h3>
|
</h3>
|
||||||
{phaseData.descricao && (
|
{phaseData.descricao && (
|
||||||
<p className="text-base lg:text-lg text-gray-600 leading-tight whitespace-pre-wrap mt-1 pr-12 lg:pr-0">
|
<p className="text-base lg:text-lg text-gray-600 leading-tight whitespace-pre-wrap mt-1 pr-12 lg:pr-0">
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
* @module pages.HomePage.HomePage
|
* @module pages.HomePage.HomePage
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useEffect } from "react";
|
|
||||||
import capicodaUrl from "@/vendor/capicoda/capicoda.js?url";
|
|
||||||
import Navbar from "../../components/Navbar";
|
import Navbar from "../../components/Navbar";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import Hero from "./Hero";
|
import Hero from "./Hero";
|
||||||
@@ -18,23 +16,6 @@ import StudentsMaterials from "./StudentsMaterials";
|
|||||||
import TeachersMaterials from "./TeachersMaterials";
|
import TeachersMaterials from "./TeachersMaterials";
|
||||||
|
|
||||||
const HomePage = () => {
|
const HomePage = () => {
|
||||||
// Mascote Capicoda: injetado apenas na página inicial. O widget é um script
|
|
||||||
// autocontido que se anexa ao body; na saída da home removemos o script e o
|
|
||||||
// nó raiz (#dcs-root) para não vazar para outras rotas.
|
|
||||||
useEffect(() => {
|
|
||||||
// Estamos dentro do próprio DECODA: o widget esconde os links "Acessar o DECODA".
|
|
||||||
window.CAPICODA_ON_DECODA = true;
|
|
||||||
const script = document.createElement("script");
|
|
||||||
script.src = capicodaUrl;
|
|
||||||
script.defer = true;
|
|
||||||
document.body.appendChild(script);
|
|
||||||
return () => {
|
|
||||||
script.remove();
|
|
||||||
const root = document.getElementById("dcs-root");
|
|
||||||
if (root) root.remove();
|
|
||||||
};
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen">
|
<div className="min-h-screen">
|
||||||
{/* Navegação */}
|
{/* Navegação */}
|
||||||
|
|||||||
29
app/src/services/localizedMessages.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import ht from "./../../lang/ht.json";
|
||||||
|
import pt from "./../../lang/pt.json";
|
||||||
|
export function getLocalizedMessages(locale) {
|
||||||
|
console.log('localized import json');
|
||||||
|
return {
|
||||||
|
ht,
|
||||||
|
pt
|
||||||
|
}[locale];
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getUserLocale() {
|
||||||
|
return getLocalizedMessages(window.localStorage.getItem('locale') ?? 'pt');
|
||||||
|
}
|
||||||
|
|
||||||
|
const accessObject = (path, object) => {
|
||||||
|
return path.split('.').reduce((o, i) => o[i], object);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function translate(message) {
|
||||||
|
if (message.match(/^\$/)) {
|
||||||
|
const result = accessObject(message.substr(1), getUserLocale());
|
||||||
|
if(result) {
|
||||||
|
return result;
|
||||||
|
} else {
|
||||||
|
console.error(`path ${message} not found on lang`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
135
app/src/vendor/capicoda/README.md
vendored
@@ -1,135 +0,0 @@
|
|||||||
# Capicoda 🚩🦫
|
|
||||||
|
|
||||||
A **capivara comunista** do Núcleo de Tecnologia do MTST. Um widget de chat que
|
|
||||||
aparece na página do Núcleo, conversa com quem visita, identifica se a pessoa é
|
|
||||||
desenvolvedora e a direciona para **contribuir com o [DECODA](https://git.mtst.tec.br/educacao/decoda/)**.
|
|
||||||
|
|
||||||
Projeto do hackathon do Núcleo de Tecnologia do MTST.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ O que é
|
|
||||||
|
|
||||||
- Balão de chat no canto inferior direito de qualquer site.
|
|
||||||
- Conversa por **roteiro fixo** (botões) — sem IA, sem backend, sem build.
|
|
||||||
- Faz a triagem do visitante (**dev / aprendiz / curiosx**) e entrega o caminho
|
|
||||||
certo: repositório, como rodar localmente, como abrir um PR, ou como ajudar
|
|
||||||
sem programar.
|
|
||||||
- Um único arquivo: **`capicoda.js`** (CSS, SVG da capivara e diálogo embutidos).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Rodar o demo
|
|
||||||
|
|
||||||
Não precisa instalar nada. Na pasta do projeto:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 -m http.server 8000
|
|
||||||
```
|
|
||||||
|
|
||||||
Abra **http://localhost:8000/demo.html** e clique no balão da capivara.
|
|
||||||
|
|
||||||
> Também dá pra só abrir o `demo.html` direto no navegador (duplo clique).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔌 Embutir em outro site
|
|
||||||
|
|
||||||
Copie `capicoda.js` para o site e adicione **uma linha** antes do `</body>`:
|
|
||||||
|
|
||||||
```html
|
|
||||||
<script src="capicoda.js" defer></script>
|
|
||||||
```
|
|
||||||
|
|
||||||
Pronto — o balão se injeta sozinho. Não conflita com o CSS da página (tudo é
|
|
||||||
prefixado com `dcs-` e isolado num `#dcs-root`).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 💬 Editar a conversa
|
|
||||||
|
|
||||||
Toda a conversa vive no objeto **`TREE`** no topo do `capicoda.js`. Cada nó:
|
|
||||||
|
|
||||||
```js
|
|
||||||
nome_do_no: {
|
|
||||||
msg: "Texto do balão", // ou um array de balões em sequência
|
|
||||||
options: [
|
|
||||||
{ label: "Botão A", next: "outro_no" }, // navega para outro nó
|
|
||||||
{ label: "Abrir repo", url: URLS.repo }, // abre um link em nova aba
|
|
||||||
{ label: "Destaque", next: "x", primary: true } // botão em vermelho cheio
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Os links reais ficam no objeto `URLS` (repo, página do DECODA, página do Núcleo).
|
|
||||||
|
|
||||||
### Mapa do roteiro
|
|
||||||
|
|
||||||
```
|
|
||||||
start ──┬─ Bora! ───────────────► qualifica
|
|
||||||
└─ O que é o DECODA? ───► oque_decoda ──► qualifica
|
|
||||||
|
|
||||||
qualifica ─┬─ Sou dev ──────► area ─┬─ Front/JS ──► cta_front
|
|
||||||
│ ├─ Back/DevOps ► cta_infra
|
|
||||||
│ └─ Full/outra ─► cta_geral
|
|
||||||
├─ Tô aprendendo ► aprendiz
|
|
||||||
└─ Só curiosx ───► curioso
|
|
||||||
|
|
||||||
cta_* ─┬─ Ver repositório (link)
|
|
||||||
├─ Como rodar localmente ► setup
|
|
||||||
├─ Como mandar um PR ─────► fluxo_pr
|
|
||||||
└─ Voltar ao início ──────► start
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🦫 Poses da capivara (imagens)
|
|
||||||
|
|
||||||
O mascote é uma imagem grande (≈190px) que **substitui o botão** e **troca de pose**
|
|
||||||
conforme o estado da conversa. As 4 poses vivem embutidas como data URI (WebP) no
|
|
||||||
`capicoda.js`, então o widget continua autocontido (1 tag de script).
|
|
||||||
|
|
||||||
| Pose | Quando | Nós do diálogo |
|
|
||||||
|------|--------|----------------|
|
|
||||||
| `start` | acenando, no início | `start` |
|
|
||||||
| `prof` | explicando | `oque_decoda`, `setup`, `fluxo_pr` |
|
|
||||||
| `anot` | pedindo respostas | `qualifica`, `area` |
|
|
||||||
| `end` | encerrando | `cta_*`, `aprendiz`, `curioso` |
|
|
||||||
|
|
||||||
O mapa nó→pose é o objeto **`NODE_IMG`** no topo do `capicoda.js` (fácil de ajustar).
|
|
||||||
Todas as imagens têm o mesmo canvas (768×768), então a capivara não muda de tamanho
|
|
||||||
nem se desloca ao trocar de pose.
|
|
||||||
|
|
||||||
### Regenerar as imagens
|
|
||||||
|
|
||||||
As fontes são `app/src/assets/capicoda_{start,prof,anot,end}.jpeg`. Para remover o
|
|
||||||
fundo e reembutir no widget:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 scripts/build_images.py # requer Pillow
|
|
||||||
```
|
|
||||||
|
|
||||||
O script remove o fundo (flood-fill a partir das bordas), salva os PNGs transparentes
|
|
||||||
em `app/src/assets/capicoda_*.png` e reescreve o bloco `IMGS` entre os marcadores
|
|
||||||
`/* __IMAGES_START__ */ … /* __IMAGES_END__ */`. **Não edite o `IMGS` à mão.**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎨 Identidade
|
|
||||||
|
|
||||||
Capivara marrom de boina verde com estrela vermelha. Paleta MTST (vermelho `#c1121f`).
|
|
||||||
Tom acolhedor e militante-bem-humorado. Fallback: SVG inline desenhado à mão, usado se
|
|
||||||
as imagens não carregarem.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔮 Próximos passos (fora do escopo do hackathon)
|
|
||||||
|
|
||||||
- Modo IA opcional (Claude API) para conversa livre.
|
|
||||||
- Captura de contato de quem quer contribuir (onboarding → mutirão).
|
|
||||||
- Puxar "good first issues" dinamicamente da aba de Issues do repositório.
|
|
||||||
- Integração na página real do Núcleo e/ou sobre o app DECODA.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Desenvolvido com ✊ para o DECODA · Núcleo de Tecnologia do MTST
|
|
||||||
399
app/src/vendor/capicoda/capicoda.js
vendored
69
app/src/vendor/capicoda/demo.html
vendored
@@ -1,69 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="pt-BR">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Capicoda — demo · Núcleo de Tecnologia do MTST</title>
|
|
||||||
<style>
|
|
||||||
:root { --vermelho: #c1121f; }
|
|
||||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
||||||
body {
|
|
||||||
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
||||||
color: #1d1d1f; line-height: 1.6; background: #faf6f1;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
background: var(--vermelho); color: #fff; padding: 18px 24px;
|
|
||||||
display: flex; align-items: center; gap: 12px;
|
|
||||||
}
|
|
||||||
header .star { font-size: 26px; }
|
|
||||||
header h1 { font-size: 19px; font-weight: 700; }
|
|
||||||
.hero {
|
|
||||||
max-width: 760px; margin: 0 auto; padding: 64px 24px 40px; text-align: center;
|
|
||||||
}
|
|
||||||
.hero h2 { font-size: 38px; line-height: 1.2; margin-bottom: 16px; }
|
|
||||||
.hero h2 span { color: var(--vermelho); }
|
|
||||||
.hero p { font-size: 18px; color: #4a4a4a; max-width: 560px; margin: 0 auto; }
|
|
||||||
.grid {
|
|
||||||
max-width: 760px; margin: 0 auto; padding: 24px; display: grid;
|
|
||||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px;
|
|
||||||
}
|
|
||||||
.card { background: #fff; border: 1px solid #eee; border-radius: 14px; padding: 20px; }
|
|
||||||
.card h3 { font-size: 16px; margin-bottom: 6px; }
|
|
||||||
.card p { font-size: 14px; color: #555; }
|
|
||||||
.hint {
|
|
||||||
max-width: 760px; margin: 12px auto 80px; padding: 16px 20px; border-radius: 12px;
|
|
||||||
background: #fff3cd; border: 1px solid #ffe69c; color: #664d03; font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
footer { text-align: center; padding: 24px; color: #999; font-size: 13px; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<span class="star">🚩</span>
|
|
||||||
<h1>Núcleo de Tecnologia · MTST</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<section class="hero">
|
|
||||||
<h2>Aprenda a programar com o <span>DECODA</span></h2>
|
|
||||||
<p>Plataforma educacional do MTST: lógica de programação através de jogos
|
|
||||||
e blocos visuais. Tecnologia como ferramenta de transformação social.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="grid">
|
|
||||||
<div class="card"><h3>🎮 Jogos</h3><p>Atividades interativas para aprender programação na prática.</p></div>
|
|
||||||
<div class="card"><h3>🧩 Blocos visuais</h3><p>Programação arrastar-e-soltar com Blockly, sem decorar sintaxe.</p></div>
|
|
||||||
<div class="card"><h3>🆓 Livre e gratuito</h3><p>100% gratuito, sem cadastro, código aberto.</p></div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="hint">
|
|
||||||
👉 Página de demonstração. O balão da capivara <b>Capicoda</b> aparece no
|
|
||||||
canto inferior direito — clique pra conversar.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer>Demo do mascote Capicoda · hackathon do Núcleo de Tecnologia do MTST</footer>
|
|
||||||
|
|
||||||
<!-- É só isto que precisa ir na página real do Núcleo: -->
|
|
||||||
<script src="capicoda.js" defer></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
152
app/src/vendor/capicoda/scripts/build_images.py
vendored
@@ -1,152 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
"""
|
|
||||||
Capicoda — processamento das imagens do mascote.
|
|
||||||
|
|
||||||
Para cada pose (capicoda_<estado>.jpeg em app/src/assets):
|
|
||||||
1. Remove o fundo branco (flood-fill a partir das bordas sobre a máscara de
|
|
||||||
pixels claros — preserva os brancos INTERNOS, cercados pelo contorno escuro:
|
|
||||||
olhos, papel do caderno, brilho dos óculos).
|
|
||||||
2. Salva um PNG transparente em alta (canvas quadrado preservado — todas as
|
|
||||||
poses ficam do MESMO tamanho, então a capivara não "pula" ao trocar).
|
|
||||||
3. Gera uma versão reduzida (EMB x EMB), codifica em base64 (WebP se suportado,
|
|
||||||
senão PNG) e injeta o mapa `IMGS` no capicoda.js entre os marcadores
|
|
||||||
/* __IMAGES_START__ */ ... /* __IMAGES_END__ */.
|
|
||||||
|
|
||||||
Uso: python3 scripts/build_images.py
|
|
||||||
Requisitos: Pillow.
|
|
||||||
"""
|
|
||||||
import base64
|
|
||||||
import io
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
from collections import deque
|
|
||||||
|
|
||||||
from PIL import Image, features
|
|
||||||
|
|
||||||
HERE = os.path.dirname(os.path.abspath(__file__))
|
|
||||||
CAPICODA_DIR = os.path.normpath(os.path.join(HERE, ".."))
|
|
||||||
ASSETS = os.path.normpath(os.path.join(HERE, "..", "..", "..", "assets"))
|
|
||||||
CAPICODA_JS = os.path.join(CAPICODA_DIR, "capicoda.js")
|
|
||||||
|
|
||||||
STATES = ["start", "prof", "anot", "end"]
|
|
||||||
WORK = 768 # resolução de processamento/saída do PNG (quadrado, uniforme)
|
|
||||||
EMB = 384 # resolução embutida no JS
|
|
||||||
LIGHT = 190 # canal mínimo p/ considerar um pixel "claro" (fundo/sombra)
|
|
||||||
|
|
||||||
|
|
||||||
def remove_bg(img):
|
|
||||||
"""Torna transparente o fundo claro conectado às bordas."""
|
|
||||||
img = img.convert("RGBA").resize((WORK, WORK), Image.LANCZOS)
|
|
||||||
w, h = img.size
|
|
||||||
px = img.load()
|
|
||||||
|
|
||||||
# 1) máscara de pixels "claros" (fundo branco + sombra clara)
|
|
||||||
light = bytearray(w * h)
|
|
||||||
for y in range(h):
|
|
||||||
row = y * w
|
|
||||||
for x in range(w):
|
|
||||||
r, g, b, _ = px[x, y]
|
|
||||||
if r >= LIGHT and g >= LIGHT and b >= LIGHT:
|
|
||||||
light[row + x] = 1
|
|
||||||
|
|
||||||
# 2) BFS a partir dos pixels claros da borda -> só o fundo EXTERNO
|
|
||||||
visited = bytearray(w * h)
|
|
||||||
dq = deque()
|
|
||||||
|
|
||||||
def seed(x, y):
|
|
||||||
i = y * w + x
|
|
||||||
if light[i] and not visited[i]:
|
|
||||||
visited[i] = 1
|
|
||||||
dq.append((x, y))
|
|
||||||
|
|
||||||
for x in range(w):
|
|
||||||
seed(x, 0)
|
|
||||||
seed(x, h - 1)
|
|
||||||
for y in range(h):
|
|
||||||
seed(0, y)
|
|
||||||
seed(w - 1, y)
|
|
||||||
|
|
||||||
while dq:
|
|
||||||
x, y = dq.popleft()
|
|
||||||
if x > 0:
|
|
||||||
seed(x - 1, y)
|
|
||||||
if x < w - 1:
|
|
||||||
seed(x + 1, y)
|
|
||||||
if y > 0:
|
|
||||||
seed(x, y - 1)
|
|
||||||
if y < h - 1:
|
|
||||||
seed(x, y + 1)
|
|
||||||
|
|
||||||
# 3) zera o alpha do fundo externo
|
|
||||||
cleared = 0
|
|
||||||
for y in range(h):
|
|
||||||
row = y * w
|
|
||||||
for x in range(w):
|
|
||||||
if visited[row + x]:
|
|
||||||
r, g, b, _ = px[x, y]
|
|
||||||
px[x, y] = (r, g, b, 0)
|
|
||||||
cleared += 1
|
|
||||||
return img, cleared
|
|
||||||
|
|
||||||
|
|
||||||
def data_uri(img):
|
|
||||||
"""Reduz para EMB e devolve (data_uri, mime, n_bytes)."""
|
|
||||||
small = img.resize((EMB, EMB), Image.LANCZOS)
|
|
||||||
buf = io.BytesIO()
|
|
||||||
if features.check("webp"):
|
|
||||||
small.save(buf, format="WEBP", quality=90, method=6)
|
|
||||||
mime = "image/webp"
|
|
||||||
else:
|
|
||||||
small.save(buf, format="PNG", optimize=True)
|
|
||||||
mime = "image/png"
|
|
||||||
raw = buf.getvalue()
|
|
||||||
b64 = base64.b64encode(raw).decode("ascii")
|
|
||||||
return "data:%s;base64,%s" % (mime, b64), mime, len(raw)
|
|
||||||
|
|
||||||
|
|
||||||
def patch_js(uris):
|
|
||||||
with open(CAPICODA_JS, "r", encoding="utf-8") as f:
|
|
||||||
src = f.read()
|
|
||||||
lines = [' var IMGS = {']
|
|
||||||
for s in STATES:
|
|
||||||
lines.append(' %s: "%s",' % (s, uris[s]))
|
|
||||||
lines.append(' };')
|
|
||||||
block = "/* __IMAGES_START__ */\n" + "\n".join(lines) + "\n /* __IMAGES_END__ */"
|
|
||||||
new, n = re.subn(
|
|
||||||
r"/\* __IMAGES_START__ \*/.*?/\* __IMAGES_END__ \*/",
|
|
||||||
lambda _: block,
|
|
||||||
src,
|
|
||||||
flags=re.S,
|
|
||||||
)
|
|
||||||
if n != 1:
|
|
||||||
raise SystemExit("ERRO: marcadores __IMAGES_START/END__ não encontrados (n=%d)" % n)
|
|
||||||
with open(CAPICODA_JS, "w", encoding="utf-8") as f:
|
|
||||||
f.write(new)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
uris = {}
|
|
||||||
total = 0
|
|
||||||
for s in STATES:
|
|
||||||
src = os.path.join(ASSETS, "capicoda_%s.jpeg" % s)
|
|
||||||
if not os.path.exists(src):
|
|
||||||
raise SystemExit("ERRO: não encontrei %s" % src)
|
|
||||||
img = Image.open(src)
|
|
||||||
out, cleared = remove_bg(img)
|
|
||||||
|
|
||||||
png_path = os.path.join(ASSETS, "capicoda_%s.png" % s)
|
|
||||||
out.save(png_path, format="PNG", optimize=True)
|
|
||||||
|
|
||||||
uri, mime, nbytes = data_uri(out)
|
|
||||||
uris[s] = uri
|
|
||||||
total += nbytes
|
|
||||||
print(" %-6s -> %s (fundo: %d px) | embutido %s %d KB"
|
|
||||||
% (s, os.path.basename(png_path), cleared, mime, nbytes // 1024))
|
|
||||||
|
|
||||||
patch_js(uris)
|
|
||||||
print("PNGs transparentes (%dx%d) em %s" % (WORK, WORK, ASSETS))
|
|
||||||
print("IMGS embutido no capicoda.js — total embutido: %d KB" % (total // 1024))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||