parent
							
								
									318fb6efb9
								
							
						
					
					
						commit
						6fbff77e92
					
				| @ -35,6 +35,7 @@ | ||||
|     "release": "node ./scripts/release.mjs" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@huggingface/transformers": "3.0.0-alpha.14", | ||||
|     "@it-tools/bip39": "^0.0.4", | ||||
|     "@it-tools/oggen": "^1.3.0", | ||||
|     "@sindresorhus/slugify": "^2.2.1", | ||||
| @ -90,6 +91,7 @@ | ||||
|     "uuid": "^9.0.0", | ||||
|     "vue": "^3.3.4", | ||||
|     "vue-i18n": "^9.9.1", | ||||
|     "vue-mathjax-next": "^0.0.6", | ||||
|     "vue-router": "^4.1.6", | ||||
|     "vue-tsc": "^1.8.1", | ||||
|     "xml-formatter": "^3.3.2", | ||||
|  | ||||
							
								
								
									
										588
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										588
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @ -5,6 +5,9 @@ settings: | ||||
|   excludeLinksFromLockfile: false | ||||
| 
 | ||||
| dependencies: | ||||
|   '@huggingface/transformers': | ||||
|     specifier: 3.0.0-alpha.14 | ||||
|     version: 3.0.0-alpha.14 | ||||
|   '@it-tools/bip39': | ||||
|     specifier: ^0.0.4 | ||||
|     version: 0.0.4 | ||||
| @ -170,6 +173,9 @@ dependencies: | ||||
|   vue-i18n: | ||||
|     specifier: ^9.9.1 | ||||
|     version: 9.9.1(vue@3.3.4) | ||||
|   vue-mathjax-next: | ||||
|     specifier: ^0.0.6 | ||||
|     version: 0.0.6 | ||||
|   vue-router: | ||||
|     specifier: ^4.1.6 | ||||
|     version: 4.1.6(vue@3.3.4) | ||||
| @ -1920,6 +1926,14 @@ packages: | ||||
|       vue: 3.3.4 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@emnapi/runtime@1.2.0: | ||||
|     resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       tslib: 2.5.0 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@emotion/hash@0.8.0: | ||||
|     resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} | ||||
|     dev: false | ||||
| @ -2159,6 +2173,20 @@ packages: | ||||
|     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | ||||
|     dev: true | ||||
| 
 | ||||
|   /@huggingface/jinja@0.3.0: | ||||
|     resolution: {integrity: sha512-GLJzso0M07ZncFkrJMIXVU4os6GFbPocD4g8fMQPMGJubf48FtGOsUORH2rtFdXPIPelz8SLBMn8ZRmOTwXm9Q==} | ||||
|     engines: {node: '>=18'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@huggingface/transformers@3.0.0-alpha.14: | ||||
|     resolution: {integrity: sha512-yRTKOP+xcZqHtlr7WiMWrV+E+XvqfiVLF4wZAlD1ozf0O5LPXKdkd8bfxFogd5d1kDxPlEdCLCJ3l8ZTNfqRyA==} | ||||
|     dependencies: | ||||
|       '@huggingface/jinja': 0.3.0 | ||||
|       onnxruntime-node: 1.19.0 | ||||
|       onnxruntime-web: 1.20.0-dev.20240827-1d059b8702 | ||||
|       sharp: 0.33.5 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@humanwhocodes/config-array@0.11.10: | ||||
|     resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} | ||||
|     engines: {node: '>=10.10.0'} | ||||
| @ -2215,6 +2243,186 @@ packages: | ||||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /@img/sharp-darwin-arm64@0.33.5: | ||||
|     resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [arm64] | ||||
|     os: [darwin] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-darwin-arm64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-darwin-x64@0.33.5: | ||||
|     resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [x64] | ||||
|     os: [darwin] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-darwin-x64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-darwin-arm64@1.0.4: | ||||
|     resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} | ||||
|     cpu: [arm64] | ||||
|     os: [darwin] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-darwin-x64@1.0.4: | ||||
|     resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} | ||||
|     cpu: [x64] | ||||
|     os: [darwin] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linux-arm64@1.0.4: | ||||
|     resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} | ||||
|     cpu: [arm64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linux-arm@1.0.5: | ||||
|     resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} | ||||
|     cpu: [arm] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linux-s390x@1.0.4: | ||||
|     resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} | ||||
|     cpu: [s390x] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linux-x64@1.0.4: | ||||
|     resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} | ||||
|     cpu: [x64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linuxmusl-arm64@1.0.4: | ||||
|     resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} | ||||
|     cpu: [arm64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-libvips-linuxmusl-x64@1.0.4: | ||||
|     resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} | ||||
|     cpu: [x64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linux-arm64@0.33.5: | ||||
|     resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [arm64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linux-arm64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linux-arm@0.33.5: | ||||
|     resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [arm] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linux-arm': 1.0.5 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linux-s390x@0.33.5: | ||||
|     resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [s390x] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linux-s390x': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linux-x64@0.33.5: | ||||
|     resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [x64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linux-x64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linuxmusl-arm64@0.33.5: | ||||
|     resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [arm64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-linuxmusl-x64@0.33.5: | ||||
|     resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [x64] | ||||
|     os: [linux] | ||||
|     requiresBuild: true | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-libvips-linuxmusl-x64': 1.0.4 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-wasm32@0.33.5: | ||||
|     resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [wasm32] | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       '@emnapi/runtime': 1.2.0 | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-win32-ia32@0.33.5: | ||||
|     resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [ia32] | ||||
|     os: [win32] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@img/sharp-win32-x64@0.33.5: | ||||
|     resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     cpu: [x64] | ||||
|     os: [win32] | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@intlify/bundle-utils@7.5.0(vue-i18n@9.9.1): | ||||
|     resolution: {integrity: sha512-6DymqusddBQ8kVtVBsVFFF7arNfIhuLacOmmsqayT2vl427j9m0VX12mMC+cgoVIodSpRfzYPaPTdPuJq7mK0Q==} | ||||
|     engines: {node: '>= 14.16'} | ||||
| @ -2291,6 +2499,25 @@ packages: | ||||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /@isaacs/cliui@8.0.2: | ||||
|     resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} | ||||
|     engines: {node: '>=12'} | ||||
|     dependencies: | ||||
|       string-width: 5.1.2 | ||||
|       string-width-cjs: /string-width@4.2.3 | ||||
|       strip-ansi: 7.1.0 | ||||
|       strip-ansi-cjs: /strip-ansi@6.0.1 | ||||
|       wrap-ansi: 8.1.0 | ||||
|       wrap-ansi-cjs: /wrap-ansi@7.0.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@isaacs/fs-minipass@4.0.1: | ||||
|     resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} | ||||
|     engines: {node: '>=18.0.0'} | ||||
|     dependencies: | ||||
|       minipass: 7.1.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@it-tools/bip39@0.0.4: | ||||
|     resolution: {integrity: sha512-0PWO7VKi6VALiFcm8z2WgxzSZ5wAko0OctBZ0I5+jjtSIXm3t1d54yrrHfgFOZDTyMpCXi638oLpzqexcfRtbA==} | ||||
|     dependencies: | ||||
| @ -2444,6 +2671,13 @@ packages: | ||||
|       '@nodelib/fs.scandir': 2.1.5 | ||||
|       fastq: 1.15.0 | ||||
| 
 | ||||
|   /@pkgjs/parseargs@0.11.0: | ||||
|     resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} | ||||
|     engines: {node: '>=14'} | ||||
|     requiresBuild: true | ||||
|     dev: false | ||||
|     optional: true | ||||
| 
 | ||||
|   /@pkgr/utils@2.3.1: | ||||
|     resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} | ||||
|     engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} | ||||
| @ -2474,6 +2708,49 @@ packages: | ||||
|     resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/aspromise@1.1.2: | ||||
|     resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/base64@1.1.2: | ||||
|     resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/codegen@2.0.4: | ||||
|     resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/eventemitter@1.1.0: | ||||
|     resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/fetch@1.1.0: | ||||
|     resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} | ||||
|     dependencies: | ||||
|       '@protobufjs/aspromise': 1.1.2 | ||||
|       '@protobufjs/inquire': 1.1.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/float@1.0.2: | ||||
|     resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/inquire@1.1.0: | ||||
|     resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/path@1.1.2: | ||||
|     resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/pool@1.1.0: | ||||
|     resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@protobufjs/utf8@1.1.0: | ||||
|     resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /@remirror/core-constants@2.0.1: | ||||
|     resolution: {integrity: sha512-ZR4aihtnnT9lMbhh5DEbsriJRlukRXmLZe7HmM+6ufJNNUDoazc75UX26xbgQlNUqgAqMcUdGFAnPc1JwgAdLQ==} | ||||
|     dependencies: | ||||
| @ -3014,7 +3291,6 @@ packages: | ||||
|     resolution: {integrity: sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ==} | ||||
|     dependencies: | ||||
|       undici-types: 5.26.5 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@types/normalize-package-data@2.4.1: | ||||
|     resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} | ||||
| @ -3360,7 +3636,7 @@ packages: | ||||
|     dependencies: | ||||
|       '@unhead/dom': 0.5.1 | ||||
|       '@unhead/schema': 0.5.1 | ||||
|       '@vueuse/shared': 10.11.1(vue@3.3.4) | ||||
|       '@vueuse/shared': 11.0.3(vue@3.3.4) | ||||
|       unhead: 0.5.1 | ||||
|       vue: 3.3.4 | ||||
|     transitivePeerDependencies: | ||||
| @ -3993,19 +4269,19 @@ packages: | ||||
|       - vue | ||||
|     dev: false | ||||
| 
 | ||||
|   /@vueuse/shared@10.11.1(vue@3.3.4): | ||||
|     resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} | ||||
|   /@vueuse/shared@10.3.0(vue@3.3.4): | ||||
|     resolution: {integrity: sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==} | ||||
|     dependencies: | ||||
|       vue-demi: 0.14.10(vue@3.3.4) | ||||
|       vue-demi: 0.14.5(vue@3.3.4) | ||||
|     transitivePeerDependencies: | ||||
|       - '@vue/composition-api' | ||||
|       - vue | ||||
|     dev: false | ||||
| 
 | ||||
|   /@vueuse/shared@10.3.0(vue@3.3.4): | ||||
|     resolution: {integrity: sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==} | ||||
|   /@vueuse/shared@11.0.3(vue@3.3.4): | ||||
|     resolution: {integrity: sha512-0rY2m6HS5t27n/Vp5cTDsKTlNnimCqsbh/fmT2LgE+aaU42EMfXo8+bNX91W9I7DDmxfuACXMmrd7d79JxkqWA==} | ||||
|     dependencies: | ||||
|       vue-demi: 0.14.5(vue@3.3.4) | ||||
|       vue-demi: 0.14.10(vue@3.3.4) | ||||
|     transitivePeerDependencies: | ||||
|       - '@vue/composition-api' | ||||
|       - vue | ||||
| @ -4087,6 +4363,11 @@ packages: | ||||
|     resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} | ||||
|     engines: {node: '>=8'} | ||||
| 
 | ||||
|   /ansi-regex@6.0.1: | ||||
|     resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} | ||||
|     engines: {node: '>=12'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /ansi-styles@3.2.1: | ||||
|     resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} | ||||
|     engines: {node: '>=4'} | ||||
| @ -4104,6 +4385,11 @@ packages: | ||||
|     engines: {node: '>=10'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /ansi-styles@6.2.1: | ||||
|     resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} | ||||
|     engines: {node: '>=12'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /anymatch@3.1.3: | ||||
|     resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} | ||||
|     engines: {node: '>= 8'} | ||||
| @ -4467,6 +4753,11 @@ packages: | ||||
|     optionalDependencies: | ||||
|       fsevents: 2.3.3 | ||||
| 
 | ||||
|   /chownr@3.0.0: | ||||
|     resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} | ||||
|     engines: {node: '>=18'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /ci-info@3.8.0: | ||||
|     resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} | ||||
|     engines: {node: '>=8'} | ||||
| @ -4521,6 +4812,21 @@ packages: | ||||
|   /color-name@1.1.4: | ||||
|     resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} | ||||
| 
 | ||||
|   /color-string@1.9.1: | ||||
|     resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} | ||||
|     dependencies: | ||||
|       color-name: 1.1.4 | ||||
|       simple-swizzle: 0.2.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /color@4.2.3: | ||||
|     resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} | ||||
|     engines: {node: '>=12.5.0'} | ||||
|     dependencies: | ||||
|       color-convert: 2.0.1 | ||||
|       color-string: 1.9.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /colord@2.9.3: | ||||
|     resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} | ||||
|     dev: false | ||||
| @ -4645,7 +4951,6 @@ packages: | ||||
|       path-key: 3.1.1 | ||||
|       shebang-command: 2.0.0 | ||||
|       which: 2.0.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /crypto-js@4.1.1: | ||||
|     resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} | ||||
| @ -4866,6 +5171,11 @@ packages: | ||||
|     resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /detect-libc@2.0.3: | ||||
|     resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} | ||||
|     engines: {node: '>=8'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /diff-sequences@29.4.3: | ||||
|     resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} | ||||
|     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} | ||||
| @ -4955,6 +5265,10 @@ packages: | ||||
|     resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /eastasianwidth@0.2.0: | ||||
|     resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /editorconfig@0.15.3: | ||||
|     resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} | ||||
|     dependencies: | ||||
| @ -4993,6 +5307,10 @@ packages: | ||||
|     resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /emoji-regex@9.2.2: | ||||
|     resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /emojilib@3.0.10: | ||||
|     resolution: {integrity: sha512-VQtCRroFykPTJaoEBEGFg5tI+rEluabjuaVDDbSftDtiRJ5GuqRG/LGV1mmDzkJP4bh5rzuEBOafMN68/YXQcQ==} | ||||
|     dev: false | ||||
| @ -5664,6 +5982,10 @@ packages: | ||||
|       rimraf: 3.0.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /flatbuffers@1.12.0: | ||||
|     resolution: {integrity: sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /flatted@3.2.7: | ||||
|     resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} | ||||
|     dev: true | ||||
| @ -5678,6 +6000,14 @@ packages: | ||||
|       is-callable: 1.2.7 | ||||
|     dev: true | ||||
| 
 | ||||
|   /foreground-child@3.3.0: | ||||
|     resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} | ||||
|     engines: {node: '>=14'} | ||||
|     dependencies: | ||||
|       cross-spawn: 7.0.3 | ||||
|       signal-exit: 4.1.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /form-data@4.0.0: | ||||
|     resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} | ||||
|     engines: {node: '>= 6'} | ||||
| @ -5840,6 +6170,18 @@ packages: | ||||
|       is-glob: 4.0.3 | ||||
|     dev: true | ||||
| 
 | ||||
|   /glob@10.4.5: | ||||
|     resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       foreground-child: 3.3.0 | ||||
|       jackspeak: 3.4.3 | ||||
|       minimatch: 9.0.5 | ||||
|       minipass: 7.1.2 | ||||
|       package-json-from-dist: 1.0.0 | ||||
|       path-scurry: 1.11.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /glob@7.2.3: | ||||
|     resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} | ||||
|     dependencies: | ||||
| @ -5934,6 +6276,10 @@ packages: | ||||
|       strip-bom-string: 1.0.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /guid-typescript@1.0.9: | ||||
|     resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /gzip-size@6.0.0: | ||||
|     resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} | ||||
|     engines: {node: '>=10'} | ||||
| @ -6223,6 +6569,10 @@ packages: | ||||
|     resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /is-arrayish@0.3.2: | ||||
|     resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /is-bigint@1.0.4: | ||||
|     resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} | ||||
|     dependencies: | ||||
| @ -6451,13 +6801,20 @@ packages: | ||||
| 
 | ||||
|   /isexe@2.0.0: | ||||
|     resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /isobject@3.0.1: | ||||
|     resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} | ||||
|     engines: {node: '>=0.10.0'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /jackspeak@3.4.3: | ||||
|     resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} | ||||
|     dependencies: | ||||
|       '@isaacs/cliui': 8.0.2 | ||||
|     optionalDependencies: | ||||
|       '@pkgjs/parseargs': 0.11.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /jake@10.8.7: | ||||
|     resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} | ||||
|     engines: {node: '>=10'} | ||||
| @ -6732,6 +7089,10 @@ packages: | ||||
|       is-unicode-supported: 0.1.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /long@5.2.3: | ||||
|     resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /loupe@2.3.6: | ||||
|     resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} | ||||
|     dependencies: | ||||
| @ -6754,6 +7115,10 @@ packages: | ||||
|       tslib: 2.5.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /lru-cache@10.4.3: | ||||
|     resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /lru-cache@4.1.5: | ||||
|     resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} | ||||
|     dependencies: | ||||
| @ -6942,10 +7307,36 @@ packages: | ||||
|     dependencies: | ||||
|       brace-expansion: 2.0.1 | ||||
| 
 | ||||
|   /minimatch@9.0.5: | ||||
|     resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} | ||||
|     engines: {node: '>=16 || 14 >=14.17'} | ||||
|     dependencies: | ||||
|       brace-expansion: 2.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /minimist@1.2.8: | ||||
|     resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /minipass@7.1.2: | ||||
|     resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} | ||||
|     engines: {node: '>=16 || 14 >=14.17'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /minizlib@3.0.1: | ||||
|     resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} | ||||
|     engines: {node: '>= 18'} | ||||
|     dependencies: | ||||
|       minipass: 7.1.2 | ||||
|       rimraf: 5.0.10 | ||||
|     dev: false | ||||
| 
 | ||||
|   /mkdirp@3.0.1: | ||||
|     resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} | ||||
|     engines: {node: '>=10'} | ||||
|     hasBin: true | ||||
|     dev: false | ||||
| 
 | ||||
|   /mlly@1.4.0: | ||||
|     resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} | ||||
|     dependencies: | ||||
| @ -7182,6 +7573,34 @@ packages: | ||||
|       mimic-fn: 2.1.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /onnxruntime-common@1.19.0: | ||||
|     resolution: {integrity: sha512-Oo16UIJ/xLOtZDVGcL4bL8EP8MiNFztyBmR3pB14D+cl/UCpOgHHzEk0MADSmYXQ0FgyEegPXtOFcJqhq1YRsw==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /onnxruntime-common@1.20.0-dev.20240827-5d54dc1462: | ||||
|     resolution: {integrity: sha512-oR+xPRD64OI+w9nRLXQi9rEXYZ5W9BhqVi688sUTreU9J6pK182JYblmHjvapCg+Tta6MbkAsr3T1NZHM3tB1g==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /onnxruntime-node@1.19.0: | ||||
|     resolution: {integrity: sha512-JivYcrZ9H9YPpHnP+5rTVTJjzuD+ZB0TsB0//e2La0ViYNG0hmTvnwFgmRoes6F7E1PyVMpyRftmcl9pnIWsnw==} | ||||
|     os: [win32, darwin, linux] | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       onnxruntime-common: 1.19.0 | ||||
|       tar: 7.4.3 | ||||
|     dev: false | ||||
| 
 | ||||
|   /onnxruntime-web@1.20.0-dev.20240827-1d059b8702: | ||||
|     resolution: {integrity: sha512-v1t3TgnOmyzA1lGcUiqp6kZDv7QxO+yJI00vHp8lyjgBrnxkLY+6fqFZpBfm81AH5sRaCdG+HsOmb5Y37TIAyw==} | ||||
|     dependencies: | ||||
|       flatbuffers: 1.12.0 | ||||
|       guid-typescript: 1.0.9 | ||||
|       long: 5.2.3 | ||||
|       onnxruntime-common: 1.20.0-dev.20240827-5d54dc1462 | ||||
|       platform: 1.3.6 | ||||
|       protobufjs: 7.4.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /open@8.4.2: | ||||
|     resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} | ||||
|     engines: {node: '>=12'} | ||||
| @ -7263,6 +7682,10 @@ packages: | ||||
|     resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} | ||||
|     engines: {node: '>=6'} | ||||
| 
 | ||||
|   /package-json-from-dist@1.0.0: | ||||
|     resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /param-case@2.1.1: | ||||
|     resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} | ||||
|     dependencies: | ||||
| @ -7353,12 +7776,19 @@ packages: | ||||
|   /path-key@3.1.1: | ||||
|     resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} | ||||
|     engines: {node: '>=8'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /path-parse@1.0.7: | ||||
|     resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /path-scurry@1.11.1: | ||||
|     resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} | ||||
|     engines: {node: '>=16 || 14 >=14.18'} | ||||
|     dependencies: | ||||
|       lru-cache: 10.4.3 | ||||
|       minipass: 7.1.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /path-type@4.0.0: | ||||
|     resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} | ||||
|     engines: {node: '>=8'} | ||||
| @ -7428,6 +7858,10 @@ packages: | ||||
|       mlly: 1.4.2 | ||||
|       pathe: 1.1.1 | ||||
| 
 | ||||
|   /platform@1.3.6: | ||||
|     resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /plausible-tracker@0.3.8: | ||||
|     resolution: {integrity: sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==} | ||||
|     engines: {node: '>=10'} | ||||
| @ -7661,6 +8095,25 @@ packages: | ||||
|     resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /protobufjs@7.4.0: | ||||
|     resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} | ||||
|     engines: {node: '>=12.0.0'} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       '@protobufjs/aspromise': 1.1.2 | ||||
|       '@protobufjs/base64': 1.1.2 | ||||
|       '@protobufjs/codegen': 2.0.4 | ||||
|       '@protobufjs/eventemitter': 1.1.0 | ||||
|       '@protobufjs/fetch': 1.1.0 | ||||
|       '@protobufjs/float': 1.0.2 | ||||
|       '@protobufjs/inquire': 1.1.0 | ||||
|       '@protobufjs/path': 1.1.2 | ||||
|       '@protobufjs/pool': 1.1.0 | ||||
|       '@protobufjs/utf8': 1.1.0 | ||||
|       '@types/node': 18.18.8 | ||||
|       long: 5.2.3 | ||||
|     dev: false | ||||
| 
 | ||||
|   /prr@1.0.1: | ||||
|     resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} | ||||
|     requiresBuild: true | ||||
| @ -7901,6 +8354,13 @@ packages: | ||||
|       glob: 7.2.3 | ||||
|     dev: true | ||||
| 
 | ||||
|   /rimraf@5.0.10: | ||||
|     resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       glob: 10.4.5 | ||||
|     dev: false | ||||
| 
 | ||||
|   /rollup-plugin-terser@7.0.2(rollup@2.79.1): | ||||
|     resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} | ||||
|     deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser | ||||
| @ -8022,6 +8482,12 @@ packages: | ||||
|       lru-cache: 6.0.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /semver@7.6.3: | ||||
|     resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} | ||||
|     engines: {node: '>=10'} | ||||
|     hasBin: true | ||||
|     dev: false | ||||
| 
 | ||||
|   /sentence-case@2.1.1: | ||||
|     resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} | ||||
|     dependencies: | ||||
| @ -8074,17 +8540,45 @@ packages: | ||||
|       is-primitive: 3.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /sharp@0.33.5: | ||||
|     resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} | ||||
|     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       color: 4.2.3 | ||||
|       detect-libc: 2.0.3 | ||||
|       semver: 7.6.3 | ||||
|     optionalDependencies: | ||||
|       '@img/sharp-darwin-arm64': 0.33.5 | ||||
|       '@img/sharp-darwin-x64': 0.33.5 | ||||
|       '@img/sharp-libvips-darwin-arm64': 1.0.4 | ||||
|       '@img/sharp-libvips-darwin-x64': 1.0.4 | ||||
|       '@img/sharp-libvips-linux-arm': 1.0.5 | ||||
|       '@img/sharp-libvips-linux-arm64': 1.0.4 | ||||
|       '@img/sharp-libvips-linux-s390x': 1.0.4 | ||||
|       '@img/sharp-libvips-linux-x64': 1.0.4 | ||||
|       '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 | ||||
|       '@img/sharp-libvips-linuxmusl-x64': 1.0.4 | ||||
|       '@img/sharp-linux-arm': 0.33.5 | ||||
|       '@img/sharp-linux-arm64': 0.33.5 | ||||
|       '@img/sharp-linux-s390x': 0.33.5 | ||||
|       '@img/sharp-linux-x64': 0.33.5 | ||||
|       '@img/sharp-linuxmusl-arm64': 0.33.5 | ||||
|       '@img/sharp-linuxmusl-x64': 0.33.5 | ||||
|       '@img/sharp-wasm32': 0.33.5 | ||||
|       '@img/sharp-win32-ia32': 0.33.5 | ||||
|       '@img/sharp-win32-x64': 0.33.5 | ||||
|     dev: false | ||||
| 
 | ||||
|   /shebang-command@2.0.0: | ||||
|     resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} | ||||
|     engines: {node: '>=8'} | ||||
|     dependencies: | ||||
|       shebang-regex: 3.0.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /shebang-regex@3.0.0: | ||||
|     resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} | ||||
|     engines: {node: '>=8'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /side-channel@1.0.4: | ||||
|     resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} | ||||
| @ -8106,6 +8600,17 @@ packages: | ||||
|     resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /signal-exit@4.1.0: | ||||
|     resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} | ||||
|     engines: {node: '>=14'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /simple-swizzle@0.2.2: | ||||
|     resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} | ||||
|     dependencies: | ||||
|       is-arrayish: 0.3.2 | ||||
|     dev: false | ||||
| 
 | ||||
|   /sirv@2.0.3: | ||||
|     resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} | ||||
|     engines: {node: '>= 10'} | ||||
| @ -8238,6 +8743,15 @@ packages: | ||||
|       strip-ansi: 6.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /string-width@5.1.2: | ||||
|     resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} | ||||
|     engines: {node: '>=12'} | ||||
|     dependencies: | ||||
|       eastasianwidth: 0.2.0 | ||||
|       emoji-regex: 9.2.2 | ||||
|       strip-ansi: 7.1.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /string.prototype.matchall@4.0.10: | ||||
|     resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} | ||||
|     dependencies: | ||||
| @ -8298,6 +8812,13 @@ packages: | ||||
|     dependencies: | ||||
|       ansi-regex: 5.0.1 | ||||
| 
 | ||||
|   /strip-ansi@7.1.0: | ||||
|     resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} | ||||
|     engines: {node: '>=12'} | ||||
|     dependencies: | ||||
|       ansi-regex: 6.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /strip-bom-string@1.0.0: | ||||
|     resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} | ||||
|     engines: {node: '>=0.10.0'} | ||||
| @ -8383,6 +8904,18 @@ packages: | ||||
|       tslib: 2.5.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /tar@7.4.3: | ||||
|     resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} | ||||
|     engines: {node: '>=18'} | ||||
|     dependencies: | ||||
|       '@isaacs/fs-minipass': 4.0.1 | ||||
|       chownr: 3.0.0 | ||||
|       minipass: 7.1.2 | ||||
|       minizlib: 3.0.1 | ||||
|       mkdirp: 3.0.1 | ||||
|       yallist: 5.0.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /temp-dir@2.0.0: | ||||
|     resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} | ||||
|     engines: {node: '>=8'} | ||||
| @ -8657,7 +9190,6 @@ packages: | ||||
| 
 | ||||
|   /undici-types@5.26.5: | ||||
|     resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /unhead@0.5.1: | ||||
|     resolution: {integrity: sha512-5ZZ0wNRWWdY8+YEg3sX4IXr5r2duc1JslUyfHX1rAGBsaJ62IJRxI6DmgZqSEN0yfqYclCZenxNG+rmWjPKFQw==} | ||||
| @ -9218,6 +9750,10 @@ packages: | ||||
|       '@vue/devtools-api': 6.5.0 | ||||
|       vue: 3.3.4 | ||||
| 
 | ||||
|   /vue-mathjax-next@0.0.6: | ||||
|     resolution: {integrity: sha512-H4nZ8t31TmBJgiR6pHrOGz+RWhlw34d0yhD8fi8CnXoGOydGFreNH/Crd/9Jfd2IMSu/I0AC3ymT9D09JRMIrw==} | ||||
|     dev: false | ||||
| 
 | ||||
|   /vue-router@4.1.6(vue@3.3.4): | ||||
|     resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} | ||||
|     peerDependencies: | ||||
| @ -9370,7 +9906,6 @@ packages: | ||||
|     engines: {node: '>= 8'} | ||||
|     dependencies: | ||||
|       isexe: 2.0.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /which@3.0.0: | ||||
|     resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} | ||||
| @ -9543,6 +10078,24 @@ packages: | ||||
|       strip-ansi: 6.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /wrap-ansi@7.0.0: | ||||
|     resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       ansi-styles: 4.3.0 | ||||
|       string-width: 4.2.3 | ||||
|       strip-ansi: 6.0.1 | ||||
|     dev: false | ||||
| 
 | ||||
|   /wrap-ansi@8.1.0: | ||||
|     resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} | ||||
|     engines: {node: '>=12'} | ||||
|     dependencies: | ||||
|       ansi-styles: 6.2.1 | ||||
|       string-width: 5.1.2 | ||||
|       strip-ansi: 7.1.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /wrappy@1.0.2: | ||||
|     resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} | ||||
| 
 | ||||
| @ -9601,6 +10154,11 @@ packages: | ||||
|   /yallist@4.0.0: | ||||
|     resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} | ||||
| 
 | ||||
|   /yallist@5.0.0: | ||||
|     resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} | ||||
|     engines: {node: '>=18'} | ||||
|     dev: false | ||||
| 
 | ||||
|   /yaml-eslint-parser@1.2.2: | ||||
|     resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} | ||||
|     engines: {node: ^14.17.0 || >=16.0.0} | ||||
|  | ||||
| @ -2,6 +2,7 @@ import { tool as base64FileConverter } from './base64-file-converter'; | ||||
| import { tool as base64StringConverter } from './base64-string-converter'; | ||||
| import { tool as basicAuthGenerator } from './basic-auth-generator'; | ||||
| import { tool as emailNormalizer } from './email-normalizer'; | ||||
| import { tool as mathOcr } from './math-ocr'; | ||||
| 
 | ||||
| import { tool as asciiTextDrawer } from './ascii-text-drawer'; | ||||
| 
 | ||||
| @ -162,7 +163,12 @@ export const toolsByCategory: ToolCategory[] = [ | ||||
|   }, | ||||
|   { | ||||
|     name: 'Math', | ||||
|     components: [mathEvaluator, etaCalculator, percentageCalculator], | ||||
|     components: [ | ||||
|       mathEvaluator, | ||||
|       etaCalculator, | ||||
|       percentageCalculator, | ||||
|       mathOcr, | ||||
|     ], | ||||
|   }, | ||||
|   { | ||||
|     name: 'Measurement', | ||||
|  | ||||
							
								
								
									
										12
									
								
								src/tools/math-ocr/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/tools/math-ocr/index.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| import { MathSymbols } from '@vicons/tabler'; | ||||
| import { defineTool } from '../tool'; | ||||
| 
 | ||||
| export const tool = defineTool({ | ||||
|   name: 'Math OCR', | ||||
|   path: '/math-ocr', | ||||
|   description: 'Convert Math Formula images to Latex', | ||||
|   keywords: ['math', 'ocr', 'latex', 'formula', 'image'], | ||||
|   component: () => import('./math-ocr.vue'), | ||||
|   icon: MathSymbols, | ||||
|   createdAt: new Date('2024-08-15'), | ||||
| }); | ||||
							
								
								
									
										97
									
								
								src/tools/math-ocr/math-ocr.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								src/tools/math-ocr/math-ocr.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,97 @@ | ||||
| <script setup lang="ts"> | ||||
| import type { Ref } from 'vue'; | ||||
| import { pipeline } from '@huggingface/transformers'; | ||||
| import VueMathjax from 'vue-mathjax-next'; | ||||
| import { useScriptTag } from '@vueuse/core'; | ||||
| import TextareaCopyable from '@/components/TextareaCopyable.vue'; | ||||
| 
 | ||||
| useScriptTag('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS_HTML'); | ||||
| 
 | ||||
| const ocrInProgress = ref(false); | ||||
| const fileInput = ref() as Ref<File>; | ||||
| const latexResult = computedAsync(async () => { | ||||
|   try { | ||||
|     return (await ocr(fileInput.value)); | ||||
|   } | ||||
|   catch (e: any) { | ||||
|     return e.toString(); | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| async function onUpload(file: File) { | ||||
|   if (file) { | ||||
|     fileInput.value = file; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function toBase64(file: File) { | ||||
|   return new Promise<string>((resolve, reject) => { | ||||
|     const reader = new FileReader(); | ||||
|     reader.readAsDataURL(file); | ||||
|     reader.onload = () => resolve(reader.result?.toString() ?? ''); | ||||
|     reader.onerror = error => reject(error); | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| type TexifyResult = Array<{ generated_text: string }>; | ||||
| 
 | ||||
| async function ocr(file: File) { | ||||
|   if (!file) { | ||||
|     return ''; | ||||
|   } | ||||
|   ocrInProgress.value = true; | ||||
| 
 | ||||
|   const imgBase64 = await toBase64(file); | ||||
| 
 | ||||
|   const pipe = await pipeline('image-to-text', 'Xenova/texify'); | ||||
|   const out: TexifyResult = (await pipe(imgBase64, { max_new_tokens: 384 })) as TexifyResult; | ||||
| 
 | ||||
|   ocrInProgress.value = false; | ||||
|   return out.map(t => t.generated_text).join('\n'); | ||||
| }; | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
|   <div style="max-width: 600px;"> | ||||
|     <c-alert type="warning" mb-2> | ||||
|       NB: processing is done in your browser, so be patient, processing can take a while | ||||
|       <br> | ||||
|       This tool required internet connection (to access models) | ||||
|     </c-alert> | ||||
| 
 | ||||
|     <c-file-upload | ||||
|       title="Drag and drop a Image here, or click to select a file" | ||||
|       paste-image | ||||
|       @file-upload="onUpload" | ||||
|     /> | ||||
| 
 | ||||
|     <n-divider /> | ||||
| 
 | ||||
|     <div> | ||||
|       <h3>Latex Result</h3> | ||||
|       <TextareaCopyable | ||||
|         v-if="!ocrInProgress" | ||||
|         v-model:value="latexResult" | ||||
|         :word-wrap="true" mb-2 | ||||
|       /> | ||||
| 
 | ||||
|       <div style="text-align: center"> | ||||
|         <VueMathjax | ||||
|           v-if="!ocrInProgress" | ||||
|           :formula="latexResult" | ||||
|         /> | ||||
|       </div> | ||||
| 
 | ||||
|       <n-spin | ||||
|         v-if="ocrInProgress" | ||||
|         size="small" | ||||
|       /> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <style lang="less" scoped> | ||||
| ::v-deep(.n-upload-trigger) { | ||||
|   width: 100%; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										3
									
								
								src/tools/math-ocr/vue-mathjax-next.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/tools/math-ocr/vue-mathjax-next.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| declare module "vue-mathjax-next" { | ||||
|      | ||||
| } | ||||
| @ -5,10 +5,12 @@ const props = withDefaults(defineProps<{ | ||||
|   multiple?: boolean | ||||
|   accept?: string | ||||
|   title?: string | ||||
|   pasteImage?: boolean | ||||
| }>(), { | ||||
|   multiple: false, | ||||
|   accept: undefined, | ||||
|   title: 'Drag and drop files here, or click to select files', | ||||
|   pasteImage: false, | ||||
| }); | ||||
| 
 | ||||
| const emit = defineEmits<{ | ||||
| @ -16,11 +18,31 @@ const emit = defineEmits<{ | ||||
|   (event: 'fileUpload', file: File): void | ||||
| }>(); | ||||
| 
 | ||||
| const { multiple } = toRefs(props); | ||||
| const { multiple, pasteImage } = toRefs(props); | ||||
| 
 | ||||
| const isOverDropZone = ref(false); | ||||
| 
 | ||||
| function toBase64(file: File) { | ||||
|   return new Promise<string>((resolve, reject) => { | ||||
|     const reader = new FileReader(); | ||||
|     reader.readAsDataURL(file); | ||||
|     reader.onload = () => resolve(reader.result?.toString() ?? ''); | ||||
|     reader.onerror = error => reject(error); | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| const fileInput = ref<HTMLInputElement | null>(null); | ||||
| const imgPreview = ref<HTMLImageElement | null>(null); | ||||
| async function handlePreview(image: File) { | ||||
|   if (imgPreview.value) { | ||||
|     imgPreview.value.src = await toBase64(image); | ||||
|   } | ||||
| } | ||||
| function clearPreview() { | ||||
|   if (imgPreview.value) { | ||||
|     imgPreview.value.src = ''; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function triggerFileInput() { | ||||
|   fileInput.value?.click(); | ||||
| @ -39,7 +61,30 @@ function handleDrop(event: DragEvent) { | ||||
|   handleUpload(files); | ||||
| } | ||||
| 
 | ||||
| function handleUpload(files: FileList | null | undefined) { | ||||
| async function onPasteImage(evt: ClipboardEvent) { | ||||
|   if (!pasteImage.value) { | ||||
|     return false; | ||||
|   } | ||||
| 
 | ||||
|   const items = evt.clipboardData?.items; | ||||
|   if (!items) { | ||||
|     return false; | ||||
|   } | ||||
|   for (let i = 0; i < items.length; i++) { | ||||
|     if (items[i].type.includes('image')) { | ||||
|       const imageFile = items[i].getAsFile(); | ||||
|       if (imageFile) { | ||||
|         await handlePreview(imageFile); | ||||
|         emit('fileUpload', imageFile); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| async function handleUpload(files: FileList | null | undefined) { | ||||
|   clearPreview(); | ||||
| 
 | ||||
|   if (_.isNil(files) || _.isEmpty(files)) { | ||||
|     return; | ||||
|   } | ||||
| @ -49,6 +94,7 @@ function handleUpload(files: FileList | null | undefined) { | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|   await handlePreview(files[0]); | ||||
|   emit('fileUpload', files[0]); | ||||
| } | ||||
| </script> | ||||
| @ -60,6 +106,7 @@ function handleUpload(files: FileList | null | undefined) { | ||||
|       'border-primary border-opacity-100': isOverDropZone, | ||||
|     }" | ||||
|     @click="triggerFileInput" | ||||
|     @paste.prevent="onPasteImage" | ||||
|     @drop.prevent="handleDrop" | ||||
|     @dragover.prevent | ||||
|     @dragenter="isOverDropZone = true" | ||||
| @ -73,6 +120,7 @@ function handleUpload(files: FileList | null | undefined) { | ||||
|       :accept="accept" | ||||
|       @change="handleFileInput" | ||||
|     > | ||||
| 
 | ||||
|     <slot> | ||||
|       <span op-70> | ||||
|         {{ title }} | ||||
| @ -90,6 +138,22 @@ function handleUpload(files: FileList | null | undefined) { | ||||
|       <c-button> | ||||
|         Browse files | ||||
|       </c-button> | ||||
| 
 | ||||
|       <div v-if="pasteImage"> | ||||
|         <!-- separator --> | ||||
|         <div my-4 w-full flex items-center justify-center op-70> | ||||
|           <div class="h-1px max-w-100px flex-1 bg-gray-300 op-50" /> | ||||
|           <div class="mx-2 text-gray-400"> | ||||
|             or | ||||
|           </div> | ||||
|           <div class="h-1px max-w-100px flex-1 bg-gray-300 op-50" /> | ||||
|         </div> | ||||
| 
 | ||||
|         <p>Paste an image from clipboard</p> | ||||
|       </div> | ||||
|     </slot> | ||||
|     <div mt-2> | ||||
|       <img ref="imgPreview" width="150"> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user