Commit 
							
							·
						
						8ca3c3b
	
1
								Parent(s):
							
							f42fa3f
								
update to use the flux panorama lora
Browse files- package-lock.json +155 -280
- src/app/engine/getPanoramaFlux.ts +9 -6
- src/app/generate/page.tsx +17 -2
- src/lib/fuseEdges.ts +86 -0
    	
        package-lock.json
    CHANGED
    
    | @@ -214,26 +214,6 @@ | |
| 214 | 
             
                    "url": "https://opencollective.com/eslint"
         | 
| 215 | 
             
                  }
         | 
| 216 | 
             
                },
         | 
| 217 | 
            -
                "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
         | 
| 218 | 
            -
                  "version": "1.1.11",
         | 
| 219 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 220 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 221 | 
            -
                  "dependencies": {
         | 
| 222 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 223 | 
            -
                    "concat-map": "0.0.1"
         | 
| 224 | 
            -
                  }
         | 
| 225 | 
            -
                },
         | 
| 226 | 
            -
                "node_modules/@eslint/eslintrc/node_modules/minimatch": {
         | 
| 227 | 
            -
                  "version": "3.1.2",
         | 
| 228 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 229 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 230 | 
            -
                  "dependencies": {
         | 
| 231 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 232 | 
            -
                  },
         | 
| 233 | 
            -
                  "engines": {
         | 
| 234 | 
            -
                    "node": "*"
         | 
| 235 | 
            -
                  }
         | 
| 236 | 
            -
                },
         | 
| 237 | 
             
                "node_modules/@eslint/js": {
         | 
| 238 | 
             
                  "version": "8.57.0",
         | 
| 239 | 
             
                  "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
         | 
| @@ -307,9 +287,9 @@ | |
| 307 | 
             
                  }
         | 
| 308 | 
             
                },
         | 
| 309 | 
             
                "node_modules/@huggingface/tasks": {
         | 
| 310 | 
            -
                  "version": "0.11. | 
| 311 | 
            -
                  "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11. | 
| 312 | 
            -
                  "integrity": "sha512- | 
| 313 | 
             
                },
         | 
| 314 | 
             
                "node_modules/@humanwhocodes/config-array": {
         | 
| 315 | 
             
                  "version": "0.11.14",
         | 
| @@ -325,26 +305,6 @@ | |
| 325 | 
             
                    "node": ">=10.10.0"
         | 
| 326 | 
             
                  }
         | 
| 327 | 
             
                },
         | 
| 328 | 
            -
                "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
         | 
| 329 | 
            -
                  "version": "1.1.11",
         | 
| 330 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 331 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 332 | 
            -
                  "dependencies": {
         | 
| 333 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 334 | 
            -
                    "concat-map": "0.0.1"
         | 
| 335 | 
            -
                  }
         | 
| 336 | 
            -
                },
         | 
| 337 | 
            -
                "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
         | 
| 338 | 
            -
                  "version": "3.1.2",
         | 
| 339 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 340 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 341 | 
            -
                  "dependencies": {
         | 
| 342 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 343 | 
            -
                  },
         | 
| 344 | 
            -
                  "engines": {
         | 
| 345 | 
            -
                    "node": "*"
         | 
| 346 | 
            -
                  }
         | 
| 347 | 
            -
                },
         | 
| 348 | 
             
                "node_modules/@humanwhocodes/module-importer": {
         | 
| 349 | 
             
                  "version": "1.0.1",
         | 
| 350 | 
             
                  "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
         | 
| @@ -830,11 +790,42 @@ | |
| 830 | 
             
                  }
         | 
| 831 | 
             
                },
         | 
| 832 | 
             
                "node_modules/@inquirer/core/node_modules/@types/node": {
         | 
| 833 | 
            -
                  "version": "22. | 
| 834 | 
            -
                  "resolved": "https://registry.npmjs.org/@types/node/-/node-22. | 
| 835 | 
            -
                  "integrity": "sha512- | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 836 | 
             
                  "dependencies": {
         | 
| 837 | 
            -
                    " | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 838 | 
             
                  }
         | 
| 839 | 
             
                },
         | 
| 840 | 
             
                "node_modules/@inquirer/figures": {
         | 
| @@ -883,17 +874,6 @@ | |
| 883 | 
             
                    "url": "https://github.com/chalk/ansi-regex?sponsor=1"
         | 
| 884 | 
             
                  }
         | 
| 885 | 
             
                },
         | 
| 886 | 
            -
                "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
         | 
| 887 | 
            -
                  "version": "6.2.1",
         | 
| 888 | 
            -
                  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
         | 
| 889 | 
            -
                  "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
         | 
| 890 | 
            -
                  "engines": {
         | 
| 891 | 
            -
                    "node": ">=12"
         | 
| 892 | 
            -
                  },
         | 
| 893 | 
            -
                  "funding": {
         | 
| 894 | 
            -
                    "url": "https://github.com/chalk/ansi-styles?sponsor=1"
         | 
| 895 | 
            -
                  }
         | 
| 896 | 
            -
                },
         | 
| 897 | 
             
                "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
         | 
| 898 | 
             
                  "version": "7.1.0",
         | 
| 899 | 
             
                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
         | 
| @@ -908,22 +888,6 @@ | |
| 908 | 
             
                    "url": "https://github.com/chalk/strip-ansi?sponsor=1"
         | 
| 909 | 
             
                  }
         | 
| 910 | 
             
                },
         | 
| 911 | 
            -
                "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
         | 
| 912 | 
            -
                  "version": "8.1.0",
         | 
| 913 | 
            -
                  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
         | 
| 914 | 
            -
                  "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         | 
| 915 | 
            -
                  "dependencies": {
         | 
| 916 | 
            -
                    "ansi-styles": "^6.1.0",
         | 
| 917 | 
            -
                    "string-width": "^5.0.1",
         | 
| 918 | 
            -
                    "strip-ansi": "^7.0.1"
         | 
| 919 | 
            -
                  },
         | 
| 920 | 
            -
                  "engines": {
         | 
| 921 | 
            -
                    "node": ">=12"
         | 
| 922 | 
            -
                  },
         | 
| 923 | 
            -
                  "funding": {
         | 
| 924 | 
            -
                    "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
         | 
| 925 | 
            -
                  }
         | 
| 926 | 
            -
                },
         | 
| 927 | 
             
                "node_modules/@jridgewell/gen-mapping": {
         | 
| 928 | 
             
                  "version": "0.3.5",
         | 
| 929 | 
             
                  "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
         | 
| @@ -996,44 +960,6 @@ | |
| 996 | 
             
                    "glob": "10.3.10"
         | 
| 997 | 
             
                  }
         | 
| 998 | 
             
                },
         | 
| 999 | 
            -
                "node_modules/@next/eslint-plugin-next/node_modules/glob": {
         | 
| 1000 | 
            -
                  "version": "10.3.10",
         | 
| 1001 | 
            -
                  "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
         | 
| 1002 | 
            -
                  "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
         | 
| 1003 | 
            -
                  "dependencies": {
         | 
| 1004 | 
            -
                    "foreground-child": "^3.1.0",
         | 
| 1005 | 
            -
                    "jackspeak": "^2.3.5",
         | 
| 1006 | 
            -
                    "minimatch": "^9.0.1",
         | 
| 1007 | 
            -
                    "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
         | 
| 1008 | 
            -
                    "path-scurry": "^1.10.1"
         | 
| 1009 | 
            -
                  },
         | 
| 1010 | 
            -
                  "bin": {
         | 
| 1011 | 
            -
                    "glob": "dist/esm/bin.mjs"
         | 
| 1012 | 
            -
                  },
         | 
| 1013 | 
            -
                  "engines": {
         | 
| 1014 | 
            -
                    "node": ">=16 || 14 >=14.17"
         | 
| 1015 | 
            -
                  },
         | 
| 1016 | 
            -
                  "funding": {
         | 
| 1017 | 
            -
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 1018 | 
            -
                  }
         | 
| 1019 | 
            -
                },
         | 
| 1020 | 
            -
                "node_modules/@next/eslint-plugin-next/node_modules/jackspeak": {
         | 
| 1021 | 
            -
                  "version": "2.3.6",
         | 
| 1022 | 
            -
                  "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
         | 
| 1023 | 
            -
                  "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
         | 
| 1024 | 
            -
                  "dependencies": {
         | 
| 1025 | 
            -
                    "@isaacs/cliui": "^8.0.2"
         | 
| 1026 | 
            -
                  },
         | 
| 1027 | 
            -
                  "engines": {
         | 
| 1028 | 
            -
                    "node": ">=14"
         | 
| 1029 | 
            -
                  },
         | 
| 1030 | 
            -
                  "funding": {
         | 
| 1031 | 
            -
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 1032 | 
            -
                  },
         | 
| 1033 | 
            -
                  "optionalDependencies": {
         | 
| 1034 | 
            -
                    "@pkgjs/parseargs": "^0.11.0"
         | 
| 1035 | 
            -
                  }
         | 
| 1036 | 
            -
                },
         | 
| 1037 | 
             
                "node_modules/@next/swc-darwin-arm64": {
         | 
| 1038 | 
             
                  "version": "14.2.5",
         | 
| 1039 | 
             
                  "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz",
         | 
| @@ -2545,6 +2471,14 @@ | |
| 2545 | 
             
                    }
         | 
| 2546 | 
             
                  }
         | 
| 2547 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 2548 | 
             
                "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
         | 
| 2549 | 
             
                  "version": "9.0.3",
         | 
| 2550 | 
             
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
         | 
| @@ -2956,11 +2890,12 @@ | |
| 2956 | 
             
                  }
         | 
| 2957 | 
             
                },
         | 
| 2958 | 
             
                "node_modules/brace-expansion": {
         | 
| 2959 | 
            -
                  "version": " | 
| 2960 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion- | 
| 2961 | 
            -
                  "integrity": "sha512- | 
| 2962 | 
             
                  "dependencies": {
         | 
| 2963 | 
            -
                    "balanced-match": "^1.0.0"
         | 
|  | |
| 2964 | 
             
                  }
         | 
| 2965 | 
             
                },
         | 
| 2966 | 
             
                "node_modules/braces": {
         | 
| @@ -3681,9 +3616,9 @@ | |
| 3681 | 
             
                  "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
         | 
| 3682 | 
             
                },
         | 
| 3683 | 
             
                "node_modules/electron-to-chromium": {
         | 
| 3684 | 
            -
                  "version": "1.5. | 
| 3685 | 
            -
                  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5. | 
| 3686 | 
            -
                  "integrity": "sha512- | 
| 3687 | 
             
                },
         | 
| 3688 | 
             
                "node_modules/emoji-regex": {
         | 
| 3689 | 
             
                  "version": "9.2.2",
         | 
| @@ -4065,15 +4000,6 @@ | |
| 4065 | 
             
                    "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
         | 
| 4066 | 
             
                  }
         | 
| 4067 | 
             
                },
         | 
| 4068 | 
            -
                "node_modules/eslint-plugin-import/node_modules/brace-expansion": {
         | 
| 4069 | 
            -
                  "version": "1.1.11",
         | 
| 4070 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 4071 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 4072 | 
            -
                  "dependencies": {
         | 
| 4073 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 4074 | 
            -
                    "concat-map": "0.0.1"
         | 
| 4075 | 
            -
                  }
         | 
| 4076 | 
            -
                },
         | 
| 4077 | 
             
                "node_modules/eslint-plugin-import/node_modules/debug": {
         | 
| 4078 | 
             
                  "version": "3.2.7",
         | 
| 4079 | 
             
                  "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
         | 
| @@ -4093,17 +4019,6 @@ | |
| 4093 | 
             
                    "node": ">=0.10.0"
         | 
| 4094 | 
             
                  }
         | 
| 4095 | 
             
                },
         | 
| 4096 | 
            -
                "node_modules/eslint-plugin-import/node_modules/minimatch": {
         | 
| 4097 | 
            -
                  "version": "3.1.2",
         | 
| 4098 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 4099 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 4100 | 
            -
                  "dependencies": {
         | 
| 4101 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 4102 | 
            -
                  },
         | 
| 4103 | 
            -
                  "engines": {
         | 
| 4104 | 
            -
                    "node": "*"
         | 
| 4105 | 
            -
                  }
         | 
| 4106 | 
            -
                },
         | 
| 4107 | 
             
                "node_modules/eslint-plugin-import/node_modules/semver": {
         | 
| 4108 | 
             
                  "version": "6.3.1",
         | 
| 4109 | 
             
                  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
         | 
| @@ -4141,26 +4056,6 @@ | |
| 4141 | 
             
                    "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
         | 
| 4142 | 
             
                  }
         | 
| 4143 | 
             
                },
         | 
| 4144 | 
            -
                "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": {
         | 
| 4145 | 
            -
                  "version": "1.1.11",
         | 
| 4146 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 4147 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 4148 | 
            -
                  "dependencies": {
         | 
| 4149 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 4150 | 
            -
                    "concat-map": "0.0.1"
         | 
| 4151 | 
            -
                  }
         | 
| 4152 | 
            -
                },
         | 
| 4153 | 
            -
                "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": {
         | 
| 4154 | 
            -
                  "version": "3.1.2",
         | 
| 4155 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 4156 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 4157 | 
            -
                  "dependencies": {
         | 
| 4158 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 4159 | 
            -
                  },
         | 
| 4160 | 
            -
                  "engines": {
         | 
| 4161 | 
            -
                    "node": "*"
         | 
| 4162 | 
            -
                  }
         | 
| 4163 | 
            -
                },
         | 
| 4164 | 
             
                "node_modules/eslint-plugin-react": {
         | 
| 4165 | 
             
                  "version": "7.35.0",
         | 
| 4166 | 
             
                  "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz",
         | 
| @@ -4203,15 +4098,6 @@ | |
| 4203 | 
             
                    "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
         | 
| 4204 | 
             
                  }
         | 
| 4205 | 
             
                },
         | 
| 4206 | 
            -
                "node_modules/eslint-plugin-react/node_modules/brace-expansion": {
         | 
| 4207 | 
            -
                  "version": "1.1.11",
         | 
| 4208 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 4209 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 4210 | 
            -
                  "dependencies": {
         | 
| 4211 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 4212 | 
            -
                    "concat-map": "0.0.1"
         | 
| 4213 | 
            -
                  }
         | 
| 4214 | 
            -
                },
         | 
| 4215 | 
             
                "node_modules/eslint-plugin-react/node_modules/doctrine": {
         | 
| 4216 | 
             
                  "version": "2.1.0",
         | 
| 4217 | 
             
                  "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
         | 
| @@ -4223,17 +4109,6 @@ | |
| 4223 | 
             
                    "node": ">=0.10.0"
         | 
| 4224 | 
             
                  }
         | 
| 4225 | 
             
                },
         | 
| 4226 | 
            -
                "node_modules/eslint-plugin-react/node_modules/minimatch": {
         | 
| 4227 | 
            -
                  "version": "3.1.2",
         | 
| 4228 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 4229 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 4230 | 
            -
                  "dependencies": {
         | 
| 4231 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 4232 | 
            -
                  },
         | 
| 4233 | 
            -
                  "engines": {
         | 
| 4234 | 
            -
                    "node": "*"
         | 
| 4235 | 
            -
                  }
         | 
| 4236 | 
            -
                },
         | 
| 4237 | 
             
                "node_modules/eslint-plugin-react/node_modules/resolve": {
         | 
| 4238 | 
             
                  "version": "2.0.0-next.5",
         | 
| 4239 | 
             
                  "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
         | 
| @@ -4284,26 +4159,6 @@ | |
| 4284 | 
             
                    "url": "https://opencollective.com/eslint"
         | 
| 4285 | 
             
                  }
         | 
| 4286 | 
             
                },
         | 
| 4287 | 
            -
                "node_modules/eslint/node_modules/brace-expansion": {
         | 
| 4288 | 
            -
                  "version": "1.1.11",
         | 
| 4289 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 4290 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 4291 | 
            -
                  "dependencies": {
         | 
| 4292 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 4293 | 
            -
                    "concat-map": "0.0.1"
         | 
| 4294 | 
            -
                  }
         | 
| 4295 | 
            -
                },
         | 
| 4296 | 
            -
                "node_modules/eslint/node_modules/minimatch": {
         | 
| 4297 | 
            -
                  "version": "3.1.2",
         | 
| 4298 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 4299 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 4300 | 
            -
                  "dependencies": {
         | 
| 4301 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 4302 | 
            -
                  },
         | 
| 4303 | 
            -
                  "engines": {
         | 
| 4304 | 
            -
                    "node": "*"
         | 
| 4305 | 
            -
                  }
         | 
| 4306 | 
            -
                },
         | 
| 4307 | 
             
                "node_modules/espree": {
         | 
| 4308 | 
             
                  "version": "9.6.1",
         | 
| 4309 | 
             
                  "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
         | 
| @@ -4628,20 +4483,22 @@ | |
| 4628 | 
             
                  }
         | 
| 4629 | 
             
                },
         | 
| 4630 | 
             
                "node_modules/glob": {
         | 
| 4631 | 
            -
                  "version": "10. | 
| 4632 | 
            -
                  "resolved": "https://registry.npmjs.org/glob/-/glob-10. | 
| 4633 | 
            -
                  "integrity": "sha512- | 
| 4634 | 
             
                  "dependencies": {
         | 
| 4635 | 
             
                    "foreground-child": "^3.1.0",
         | 
| 4636 | 
            -
                    "jackspeak": "^3. | 
| 4637 | 
            -
                    "minimatch": "^9.0. | 
| 4638 | 
            -
                    "minipass": "^7. | 
| 4639 | 
            -
                    " | 
| 4640 | 
            -
                    "path-scurry": "^1.11.1"
         | 
| 4641 | 
             
                  },
         | 
| 4642 | 
             
                  "bin": {
         | 
| 4643 | 
             
                    "glob": "dist/esm/bin.mjs"
         | 
| 4644 | 
             
                  },
         | 
|  | |
|  | |
|  | |
| 4645 | 
             
                  "funding": {
         | 
| 4646 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 4647 | 
             
                  }
         | 
| @@ -4657,6 +4514,28 @@ | |
| 4657 | 
             
                    "node": ">=10.13.0"
         | 
| 4658 | 
             
                  }
         | 
| 4659 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4660 | 
             
                "node_modules/globals": {
         | 
| 4661 | 
             
                  "version": "13.24.0",
         | 
| 4662 | 
             
                  "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
         | 
| @@ -4671,17 +4550,6 @@ | |
| 4671 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 4672 | 
             
                  }
         | 
| 4673 | 
             
                },
         | 
| 4674 | 
            -
                "node_modules/globals/node_modules/type-fest": {
         | 
| 4675 | 
            -
                  "version": "0.20.2",
         | 
| 4676 | 
            -
                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
         | 
| 4677 | 
            -
                  "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
         | 
| 4678 | 
            -
                  "engines": {
         | 
| 4679 | 
            -
                    "node": ">=10"
         | 
| 4680 | 
            -
                  },
         | 
| 4681 | 
            -
                  "funding": {
         | 
| 4682 | 
            -
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 4683 | 
            -
                  }
         | 
| 4684 | 
            -
                },
         | 
| 4685 | 
             
                "node_modules/globalthis": {
         | 
| 4686 | 
             
                  "version": "1.0.4",
         | 
| 4687 | 
             
                  "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
         | 
| @@ -5281,12 +5149,15 @@ | |
| 5281 | 
             
                  }
         | 
| 5282 | 
             
                },
         | 
| 5283 | 
             
                "node_modules/jackspeak": {
         | 
| 5284 | 
            -
                  "version": "3. | 
| 5285 | 
            -
                  "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3. | 
| 5286 | 
            -
                  "integrity": "sha512- | 
| 5287 | 
             
                  "dependencies": {
         | 
| 5288 | 
             
                    "@isaacs/cliui": "^8.0.2"
         | 
| 5289 | 
             
                  },
         | 
|  | |
|  | |
|  | |
| 5290 | 
             
                  "funding": {
         | 
| 5291 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 5292 | 
             
                  },
         | 
| @@ -5476,17 +5347,14 @@ | |
| 5476 | 
             
                  }
         | 
| 5477 | 
             
                },
         | 
| 5478 | 
             
                "node_modules/minimatch": {
         | 
| 5479 | 
            -
                  "version": " | 
| 5480 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch- | 
| 5481 | 
            -
                  "integrity": "sha512- | 
| 5482 | 
             
                  "dependencies": {
         | 
| 5483 | 
            -
                    "brace-expansion": "^ | 
| 5484 | 
             
                  },
         | 
| 5485 | 
             
                  "engines": {
         | 
| 5486 | 
            -
                    "node": " | 
| 5487 | 
            -
                  },
         | 
| 5488 | 
            -
                  "funding": {
         | 
| 5489 | 
            -
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 5490 | 
             
                  }
         | 
| 5491 | 
             
                },
         | 
| 5492 | 
             
                "node_modules/minimist": {
         | 
| @@ -5557,6 +5425,17 @@ | |
| 5557 | 
             
                  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
         | 
| 5558 | 
             
                  "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="
         | 
| 5559 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 5560 | 
             
                "node_modules/mute-stream": {
         | 
| 5561 | 
             
                  "version": "1.0.0",
         | 
| 5562 | 
             
                  "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
         | 
| @@ -5887,11 +5766,6 @@ | |
| 5887 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 5888 | 
             
                  }
         | 
| 5889 | 
             
                },
         | 
| 5890 | 
            -
                "node_modules/package-json-from-dist": {
         | 
| 5891 | 
            -
                  "version": "1.0.0",
         | 
| 5892 | 
            -
                  "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
         | 
| 5893 | 
            -
                  "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
         | 
| 5894 | 
            -
                },
         | 
| 5895 | 
             
                "node_modules/parent-module": {
         | 
| 5896 | 
             
                  "version": "1.0.1",
         | 
| 5897 | 
             
                  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
         | 
| @@ -6588,15 +6462,6 @@ | |
| 6588 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 6589 | 
             
                  }
         | 
| 6590 | 
             
                },
         | 
| 6591 | 
            -
                "node_modules/rimraf/node_modules/brace-expansion": {
         | 
| 6592 | 
            -
                  "version": "1.1.11",
         | 
| 6593 | 
            -
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 6594 | 
            -
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 6595 | 
            -
                  "dependencies": {
         | 
| 6596 | 
            -
                    "balanced-match": "^1.0.0",
         | 
| 6597 | 
            -
                    "concat-map": "0.0.1"
         | 
| 6598 | 
            -
                  }
         | 
| 6599 | 
            -
                },
         | 
| 6600 | 
             
                "node_modules/rimraf/node_modules/glob": {
         | 
| 6601 | 
             
                  "version": "7.2.3",
         | 
| 6602 | 
             
                  "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
         | 
| @@ -6617,17 +6482,6 @@ | |
| 6617 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 6618 | 
             
                  }
         | 
| 6619 | 
             
                },
         | 
| 6620 | 
            -
                "node_modules/rimraf/node_modules/minimatch": {
         | 
| 6621 | 
            -
                  "version": "3.1.2",
         | 
| 6622 | 
            -
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 6623 | 
            -
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 6624 | 
            -
                  "dependencies": {
         | 
| 6625 | 
            -
                    "brace-expansion": "^1.1.7"
         | 
| 6626 | 
            -
                  },
         | 
| 6627 | 
            -
                  "engines": {
         | 
| 6628 | 
            -
                    "node": "*"
         | 
| 6629 | 
            -
                  }
         | 
| 6630 | 
            -
                },
         | 
| 6631 | 
             
                "node_modules/run-parallel": {
         | 
| 6632 | 
             
                  "version": "1.2.0",
         | 
| 6633 | 
             
                  "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
         | 
| @@ -7419,11 +7273,11 @@ | |
| 7419 | 
             
                  }
         | 
| 7420 | 
             
                },
         | 
| 7421 | 
             
                "node_modules/type-fest": {
         | 
| 7422 | 
            -
                  "version": " | 
| 7423 | 
            -
                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest- | 
| 7424 | 
            -
                  "integrity": "sha512- | 
| 7425 | 
             
                  "engines": {
         | 
| 7426 | 
            -
                    "node": ">= | 
| 7427 | 
             
                  },
         | 
| 7428 | 
             
                  "funding": {
         | 
| 7429 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| @@ -7525,9 +7379,9 @@ | |
| 7525 | 
             
                  }
         | 
| 7526 | 
             
                },
         | 
| 7527 | 
             
                "node_modules/undici-types": {
         | 
| 7528 | 
            -
                  "version": "6. | 
| 7529 | 
            -
                  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6. | 
| 7530 | 
            -
                  "integrity": "sha512- | 
| 7531 | 
             
                },
         | 
| 7532 | 
             
                "node_modules/universalify": {
         | 
| 7533 | 
             
                  "version": "0.2.0",
         | 
| @@ -7752,16 +7606,19 @@ | |
| 7752 | 
             
                  }
         | 
| 7753 | 
             
                },
         | 
| 7754 | 
             
                "node_modules/wrap-ansi": {
         | 
| 7755 | 
            -
                  "version": " | 
| 7756 | 
            -
                  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi- | 
| 7757 | 
            -
                  "integrity": "sha512- | 
| 7758 | 
             
                  "dependencies": {
         | 
| 7759 | 
            -
                    "ansi-styles": "^ | 
| 7760 | 
            -
                    "string-width": "^ | 
| 7761 | 
            -
                    "strip-ansi": "^ | 
| 7762 | 
             
                  },
         | 
| 7763 | 
             
                  "engines": {
         | 
| 7764 | 
            -
                    "node": ">= | 
|  | |
|  | |
|  | |
| 7765 | 
             
                  }
         | 
| 7766 | 
             
                },
         | 
| 7767 | 
             
                "node_modules/wrap-ansi-cjs": {
         | 
| @@ -7799,22 +7656,40 @@ | |
| 7799 | 
             
                    "node": ">=8"
         | 
| 7800 | 
             
                  }
         | 
| 7801 | 
             
                },
         | 
| 7802 | 
            -
                "node_modules/wrap-ansi/node_modules/ | 
| 7803 | 
            -
                  "version": " | 
| 7804 | 
            -
                  "resolved": "https://registry.npmjs.org/ | 
| 7805 | 
            -
                  "integrity": "sha512- | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 7806 | 
             
                },
         | 
| 7807 | 
            -
                "node_modules/wrap-ansi/node_modules/ | 
| 7808 | 
            -
                  "version": " | 
| 7809 | 
            -
                  "resolved": "https://registry.npmjs.org/ | 
| 7810 | 
            -
                  "integrity": "sha512- | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 7811 | 
             
                  "dependencies": {
         | 
| 7812 | 
            -
                    " | 
| 7813 | 
            -
                    "is-fullwidth-code-point": "^3.0.0",
         | 
| 7814 | 
            -
                    "strip-ansi": "^6.0.1"
         | 
| 7815 | 
             
                  },
         | 
| 7816 | 
             
                  "engines": {
         | 
| 7817 | 
            -
                    "node": ">= | 
|  | |
|  | |
|  | |
| 7818 | 
             
                  }
         | 
| 7819 | 
             
                },
         | 
| 7820 | 
             
                "node_modules/wrappy": {
         | 
|  | |
| 214 | 
             
                    "url": "https://opencollective.com/eslint"
         | 
| 215 | 
             
                  }
         | 
| 216 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 217 | 
             
                "node_modules/@eslint/js": {
         | 
| 218 | 
             
                  "version": "8.57.0",
         | 
| 219 | 
             
                  "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
         | 
|  | |
| 287 | 
             
                  }
         | 
| 288 | 
             
                },
         | 
| 289 | 
             
                "node_modules/@huggingface/tasks": {
         | 
| 290 | 
            +
                  "version": "0.11.10",
         | 
| 291 | 
            +
                  "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.10.tgz",
         | 
| 292 | 
            +
                  "integrity": "sha512-Dbc5xMTjFyo+6SkDnQ7conDXYY7Pd6GA5DVUxqEmLoIMqNNHsC0VkidDdMooSCmBUb456VuZhwrCaPhqyg7stA=="
         | 
| 293 | 
             
                },
         | 
| 294 | 
             
                "node_modules/@humanwhocodes/config-array": {
         | 
| 295 | 
             
                  "version": "0.11.14",
         | 
|  | |
| 305 | 
             
                    "node": ">=10.10.0"
         | 
| 306 | 
             
                  }
         | 
| 307 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 308 | 
             
                "node_modules/@humanwhocodes/module-importer": {
         | 
| 309 | 
             
                  "version": "1.0.1",
         | 
| 310 | 
             
                  "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
         | 
|  | |
| 790 | 
             
                  }
         | 
| 791 | 
             
                },
         | 
| 792 | 
             
                "node_modules/@inquirer/core/node_modules/@types/node": {
         | 
| 793 | 
            +
                  "version": "22.3.0",
         | 
| 794 | 
            +
                  "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz",
         | 
| 795 | 
            +
                  "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==",
         | 
| 796 | 
            +
                  "dependencies": {
         | 
| 797 | 
            +
                    "undici-types": "~6.18.2"
         | 
| 798 | 
            +
                  }
         | 
| 799 | 
            +
                },
         | 
| 800 | 
            +
                "node_modules/@inquirer/core/node_modules/emoji-regex": {
         | 
| 801 | 
            +
                  "version": "8.0.0",
         | 
| 802 | 
            +
                  "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
         | 
| 803 | 
            +
                  "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
         | 
| 804 | 
            +
                },
         | 
| 805 | 
            +
                "node_modules/@inquirer/core/node_modules/string-width": {
         | 
| 806 | 
            +
                  "version": "4.2.3",
         | 
| 807 | 
            +
                  "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
         | 
| 808 | 
            +
                  "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
         | 
| 809 | 
             
                  "dependencies": {
         | 
| 810 | 
            +
                    "emoji-regex": "^8.0.0",
         | 
| 811 | 
            +
                    "is-fullwidth-code-point": "^3.0.0",
         | 
| 812 | 
            +
                    "strip-ansi": "^6.0.1"
         | 
| 813 | 
            +
                  },
         | 
| 814 | 
            +
                  "engines": {
         | 
| 815 | 
            +
                    "node": ">=8"
         | 
| 816 | 
            +
                  }
         | 
| 817 | 
            +
                },
         | 
| 818 | 
            +
                "node_modules/@inquirer/core/node_modules/wrap-ansi": {
         | 
| 819 | 
            +
                  "version": "6.2.0",
         | 
| 820 | 
            +
                  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
         | 
| 821 | 
            +
                  "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
         | 
| 822 | 
            +
                  "dependencies": {
         | 
| 823 | 
            +
                    "ansi-styles": "^4.0.0",
         | 
| 824 | 
            +
                    "string-width": "^4.1.0",
         | 
| 825 | 
            +
                    "strip-ansi": "^6.0.0"
         | 
| 826 | 
            +
                  },
         | 
| 827 | 
            +
                  "engines": {
         | 
| 828 | 
            +
                    "node": ">=8"
         | 
| 829 | 
             
                  }
         | 
| 830 | 
             
                },
         | 
| 831 | 
             
                "node_modules/@inquirer/figures": {
         | 
|  | |
| 874 | 
             
                    "url": "https://github.com/chalk/ansi-regex?sponsor=1"
         | 
| 875 | 
             
                  }
         | 
| 876 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 877 | 
             
                "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
         | 
| 878 | 
             
                  "version": "7.1.0",
         | 
| 879 | 
             
                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
         | 
|  | |
| 888 | 
             
                    "url": "https://github.com/chalk/strip-ansi?sponsor=1"
         | 
| 889 | 
             
                  }
         | 
| 890 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 891 | 
             
                "node_modules/@jridgewell/gen-mapping": {
         | 
| 892 | 
             
                  "version": "0.3.5",
         | 
| 893 | 
             
                  "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
         | 
|  | |
| 960 | 
             
                    "glob": "10.3.10"
         | 
| 961 | 
             
                  }
         | 
| 962 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 963 | 
             
                "node_modules/@next/swc-darwin-arm64": {
         | 
| 964 | 
             
                  "version": "14.2.5",
         | 
| 965 | 
             
                  "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz",
         | 
|  | |
| 2471 | 
             
                    }
         | 
| 2472 | 
             
                  }
         | 
| 2473 | 
             
                },
         | 
| 2474 | 
            +
                "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
         | 
| 2475 | 
            +
                  "version": "2.0.1",
         | 
| 2476 | 
            +
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
         | 
| 2477 | 
            +
                  "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
         | 
| 2478 | 
            +
                  "dependencies": {
         | 
| 2479 | 
            +
                    "balanced-match": "^1.0.0"
         | 
| 2480 | 
            +
                  }
         | 
| 2481 | 
            +
                },
         | 
| 2482 | 
             
                "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
         | 
| 2483 | 
             
                  "version": "9.0.3",
         | 
| 2484 | 
             
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
         | 
|  | |
| 2890 | 
             
                  }
         | 
| 2891 | 
             
                },
         | 
| 2892 | 
             
                "node_modules/brace-expansion": {
         | 
| 2893 | 
            +
                  "version": "1.1.11",
         | 
| 2894 | 
            +
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
         | 
| 2895 | 
            +
                  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
         | 
| 2896 | 
             
                  "dependencies": {
         | 
| 2897 | 
            +
                    "balanced-match": "^1.0.0",
         | 
| 2898 | 
            +
                    "concat-map": "0.0.1"
         | 
| 2899 | 
             
                  }
         | 
| 2900 | 
             
                },
         | 
| 2901 | 
             
                "node_modules/braces": {
         | 
|  | |
| 3616 | 
             
                  "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
         | 
| 3617 | 
             
                },
         | 
| 3618 | 
             
                "node_modules/electron-to-chromium": {
         | 
| 3619 | 
            +
                  "version": "1.5.8",
         | 
| 3620 | 
            +
                  "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz",
         | 
| 3621 | 
            +
                  "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A=="
         | 
| 3622 | 
             
                },
         | 
| 3623 | 
             
                "node_modules/emoji-regex": {
         | 
| 3624 | 
             
                  "version": "9.2.2",
         | 
|  | |
| 4000 | 
             
                    "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
         | 
| 4001 | 
             
                  }
         | 
| 4002 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4003 | 
             
                "node_modules/eslint-plugin-import/node_modules/debug": {
         | 
| 4004 | 
             
                  "version": "3.2.7",
         | 
| 4005 | 
             
                  "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
         | 
|  | |
| 4019 | 
             
                    "node": ">=0.10.0"
         | 
| 4020 | 
             
                  }
         | 
| 4021 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4022 | 
             
                "node_modules/eslint-plugin-import/node_modules/semver": {
         | 
| 4023 | 
             
                  "version": "6.3.1",
         | 
| 4024 | 
             
                  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
         | 
|  | |
| 4056 | 
             
                    "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
         | 
| 4057 | 
             
                  }
         | 
| 4058 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4059 | 
             
                "node_modules/eslint-plugin-react": {
         | 
| 4060 | 
             
                  "version": "7.35.0",
         | 
| 4061 | 
             
                  "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz",
         | 
|  | |
| 4098 | 
             
                    "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
         | 
| 4099 | 
             
                  }
         | 
| 4100 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4101 | 
             
                "node_modules/eslint-plugin-react/node_modules/doctrine": {
         | 
| 4102 | 
             
                  "version": "2.1.0",
         | 
| 4103 | 
             
                  "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
         | 
|  | |
| 4109 | 
             
                    "node": ">=0.10.0"
         | 
| 4110 | 
             
                  }
         | 
| 4111 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4112 | 
             
                "node_modules/eslint-plugin-react/node_modules/resolve": {
         | 
| 4113 | 
             
                  "version": "2.0.0-next.5",
         | 
| 4114 | 
             
                  "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
         | 
|  | |
| 4159 | 
             
                    "url": "https://opencollective.com/eslint"
         | 
| 4160 | 
             
                  }
         | 
| 4161 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4162 | 
             
                "node_modules/espree": {
         | 
| 4163 | 
             
                  "version": "9.6.1",
         | 
| 4164 | 
             
                  "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
         | 
|  | |
| 4483 | 
             
                  }
         | 
| 4484 | 
             
                },
         | 
| 4485 | 
             
                "node_modules/glob": {
         | 
| 4486 | 
            +
                  "version": "10.3.10",
         | 
| 4487 | 
            +
                  "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
         | 
| 4488 | 
            +
                  "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
         | 
| 4489 | 
             
                  "dependencies": {
         | 
| 4490 | 
             
                    "foreground-child": "^3.1.0",
         | 
| 4491 | 
            +
                    "jackspeak": "^2.3.5",
         | 
| 4492 | 
            +
                    "minimatch": "^9.0.1",
         | 
| 4493 | 
            +
                    "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
         | 
| 4494 | 
            +
                    "path-scurry": "^1.10.1"
         | 
|  | |
| 4495 | 
             
                  },
         | 
| 4496 | 
             
                  "bin": {
         | 
| 4497 | 
             
                    "glob": "dist/esm/bin.mjs"
         | 
| 4498 | 
             
                  },
         | 
| 4499 | 
            +
                  "engines": {
         | 
| 4500 | 
            +
                    "node": ">=16 || 14 >=14.17"
         | 
| 4501 | 
            +
                  },
         | 
| 4502 | 
             
                  "funding": {
         | 
| 4503 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 4504 | 
             
                  }
         | 
|  | |
| 4514 | 
             
                    "node": ">=10.13.0"
         | 
| 4515 | 
             
                  }
         | 
| 4516 | 
             
                },
         | 
| 4517 | 
            +
                "node_modules/glob/node_modules/brace-expansion": {
         | 
| 4518 | 
            +
                  "version": "2.0.1",
         | 
| 4519 | 
            +
                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
         | 
| 4520 | 
            +
                  "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
         | 
| 4521 | 
            +
                  "dependencies": {
         | 
| 4522 | 
            +
                    "balanced-match": "^1.0.0"
         | 
| 4523 | 
            +
                  }
         | 
| 4524 | 
            +
                },
         | 
| 4525 | 
            +
                "node_modules/glob/node_modules/minimatch": {
         | 
| 4526 | 
            +
                  "version": "9.0.5",
         | 
| 4527 | 
            +
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
         | 
| 4528 | 
            +
                  "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
         | 
| 4529 | 
            +
                  "dependencies": {
         | 
| 4530 | 
            +
                    "brace-expansion": "^2.0.1"
         | 
| 4531 | 
            +
                  },
         | 
| 4532 | 
            +
                  "engines": {
         | 
| 4533 | 
            +
                    "node": ">=16 || 14 >=14.17"
         | 
| 4534 | 
            +
                  },
         | 
| 4535 | 
            +
                  "funding": {
         | 
| 4536 | 
            +
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 4537 | 
            +
                  }
         | 
| 4538 | 
            +
                },
         | 
| 4539 | 
             
                "node_modules/globals": {
         | 
| 4540 | 
             
                  "version": "13.24.0",
         | 
| 4541 | 
             
                  "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
         | 
|  | |
| 4550 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 4551 | 
             
                  }
         | 
| 4552 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 4553 | 
             
                "node_modules/globalthis": {
         | 
| 4554 | 
             
                  "version": "1.0.4",
         | 
| 4555 | 
             
                  "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
         | 
|  | |
| 5149 | 
             
                  }
         | 
| 5150 | 
             
                },
         | 
| 5151 | 
             
                "node_modules/jackspeak": {
         | 
| 5152 | 
            +
                  "version": "2.3.6",
         | 
| 5153 | 
            +
                  "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
         | 
| 5154 | 
            +
                  "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
         | 
| 5155 | 
             
                  "dependencies": {
         | 
| 5156 | 
             
                    "@isaacs/cliui": "^8.0.2"
         | 
| 5157 | 
             
                  },
         | 
| 5158 | 
            +
                  "engines": {
         | 
| 5159 | 
            +
                    "node": ">=14"
         | 
| 5160 | 
            +
                  },
         | 
| 5161 | 
             
                  "funding": {
         | 
| 5162 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 5163 | 
             
                  },
         | 
|  | |
| 5347 | 
             
                  }
         | 
| 5348 | 
             
                },
         | 
| 5349 | 
             
                "node_modules/minimatch": {
         | 
| 5350 | 
            +
                  "version": "3.1.2",
         | 
| 5351 | 
            +
                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
         | 
| 5352 | 
            +
                  "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
         | 
| 5353 | 
             
                  "dependencies": {
         | 
| 5354 | 
            +
                    "brace-expansion": "^1.1.7"
         | 
| 5355 | 
             
                  },
         | 
| 5356 | 
             
                  "engines": {
         | 
| 5357 | 
            +
                    "node": "*"
         | 
|  | |
|  | |
|  | |
| 5358 | 
             
                  }
         | 
| 5359 | 
             
                },
         | 
| 5360 | 
             
                "node_modules/minimist": {
         | 
|  | |
| 5425 | 
             
                  "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
         | 
| 5426 | 
             
                  "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="
         | 
| 5427 | 
             
                },
         | 
| 5428 | 
            +
                "node_modules/msw/node_modules/type-fest": {
         | 
| 5429 | 
            +
                  "version": "4.24.0",
         | 
| 5430 | 
            +
                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.24.0.tgz",
         | 
| 5431 | 
            +
                  "integrity": "sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==",
         | 
| 5432 | 
            +
                  "engines": {
         | 
| 5433 | 
            +
                    "node": ">=16"
         | 
| 5434 | 
            +
                  },
         | 
| 5435 | 
            +
                  "funding": {
         | 
| 5436 | 
            +
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 5437 | 
            +
                  }
         | 
| 5438 | 
            +
                },
         | 
| 5439 | 
             
                "node_modules/mute-stream": {
         | 
| 5440 | 
             
                  "version": "1.0.0",
         | 
| 5441 | 
             
                  "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
         | 
|  | |
| 5766 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
| 5767 | 
             
                  }
         | 
| 5768 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 5769 | 
             
                "node_modules/parent-module": {
         | 
| 5770 | 
             
                  "version": "1.0.1",
         | 
| 5771 | 
             
                  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
         | 
|  | |
| 6462 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 6463 | 
             
                  }
         | 
| 6464 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 6465 | 
             
                "node_modules/rimraf/node_modules/glob": {
         | 
| 6466 | 
             
                  "version": "7.2.3",
         | 
| 6467 | 
             
                  "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
         | 
|  | |
| 6482 | 
             
                    "url": "https://github.com/sponsors/isaacs"
         | 
| 6483 | 
             
                  }
         | 
| 6484 | 
             
                },
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 6485 | 
             
                "node_modules/run-parallel": {
         | 
| 6486 | 
             
                  "version": "1.2.0",
         | 
| 6487 | 
             
                  "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
         | 
|  | |
| 7273 | 
             
                  }
         | 
| 7274 | 
             
                },
         | 
| 7275 | 
             
                "node_modules/type-fest": {
         | 
| 7276 | 
            +
                  "version": "0.20.2",
         | 
| 7277 | 
            +
                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
         | 
| 7278 | 
            +
                  "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
         | 
| 7279 | 
             
                  "engines": {
         | 
| 7280 | 
            +
                    "node": ">=10"
         | 
| 7281 | 
             
                  },
         | 
| 7282 | 
             
                  "funding": {
         | 
| 7283 | 
             
                    "url": "https://github.com/sponsors/sindresorhus"
         | 
|  | |
| 7379 | 
             
                  }
         | 
| 7380 | 
             
                },
         | 
| 7381 | 
             
                "node_modules/undici-types": {
         | 
| 7382 | 
            +
                  "version": "6.18.2",
         | 
| 7383 | 
            +
                  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz",
         | 
| 7384 | 
            +
                  "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ=="
         | 
| 7385 | 
             
                },
         | 
| 7386 | 
             
                "node_modules/universalify": {
         | 
| 7387 | 
             
                  "version": "0.2.0",
         | 
|  | |
| 7606 | 
             
                  }
         | 
| 7607 | 
             
                },
         | 
| 7608 | 
             
                "node_modules/wrap-ansi": {
         | 
| 7609 | 
            +
                  "version": "8.1.0",
         | 
| 7610 | 
            +
                  "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
         | 
| 7611 | 
            +
                  "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
         | 
| 7612 | 
             
                  "dependencies": {
         | 
| 7613 | 
            +
                    "ansi-styles": "^6.1.0",
         | 
| 7614 | 
            +
                    "string-width": "^5.0.1",
         | 
| 7615 | 
            +
                    "strip-ansi": "^7.0.1"
         | 
| 7616 | 
             
                  },
         | 
| 7617 | 
             
                  "engines": {
         | 
| 7618 | 
            +
                    "node": ">=12"
         | 
| 7619 | 
            +
                  },
         | 
| 7620 | 
            +
                  "funding": {
         | 
| 7621 | 
            +
                    "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
         | 
| 7622 | 
             
                  }
         | 
| 7623 | 
             
                },
         | 
| 7624 | 
             
                "node_modules/wrap-ansi-cjs": {
         | 
|  | |
| 7656 | 
             
                    "node": ">=8"
         | 
| 7657 | 
             
                  }
         | 
| 7658 | 
             
                },
         | 
| 7659 | 
            +
                "node_modules/wrap-ansi/node_modules/ansi-regex": {
         | 
| 7660 | 
            +
                  "version": "6.0.1",
         | 
| 7661 | 
            +
                  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
         | 
| 7662 | 
            +
                  "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
         | 
| 7663 | 
            +
                  "engines": {
         | 
| 7664 | 
            +
                    "node": ">=12"
         | 
| 7665 | 
            +
                  },
         | 
| 7666 | 
            +
                  "funding": {
         | 
| 7667 | 
            +
                    "url": "https://github.com/chalk/ansi-regex?sponsor=1"
         | 
| 7668 | 
            +
                  }
         | 
| 7669 | 
             
                },
         | 
| 7670 | 
            +
                "node_modules/wrap-ansi/node_modules/ansi-styles": {
         | 
| 7671 | 
            +
                  "version": "6.2.1",
         | 
| 7672 | 
            +
                  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
         | 
| 7673 | 
            +
                  "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
         | 
| 7674 | 
            +
                  "engines": {
         | 
| 7675 | 
            +
                    "node": ">=12"
         | 
| 7676 | 
            +
                  },
         | 
| 7677 | 
            +
                  "funding": {
         | 
| 7678 | 
            +
                    "url": "https://github.com/chalk/ansi-styles?sponsor=1"
         | 
| 7679 | 
            +
                  }
         | 
| 7680 | 
            +
                },
         | 
| 7681 | 
            +
                "node_modules/wrap-ansi/node_modules/strip-ansi": {
         | 
| 7682 | 
            +
                  "version": "7.1.0",
         | 
| 7683 | 
            +
                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
         | 
| 7684 | 
            +
                  "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
         | 
| 7685 | 
             
                  "dependencies": {
         | 
| 7686 | 
            +
                    "ansi-regex": "^6.0.1"
         | 
|  | |
|  | |
| 7687 | 
             
                  },
         | 
| 7688 | 
             
                  "engines": {
         | 
| 7689 | 
            +
                    "node": ">=12"
         | 
| 7690 | 
            +
                  },
         | 
| 7691 | 
            +
                  "funding": {
         | 
| 7692 | 
            +
                    "url": "https://github.com/chalk/strip-ansi?sponsor=1"
         | 
| 7693 | 
             
                  }
         | 
| 7694 | 
             
                },
         | 
| 7695 | 
             
                "node_modules/wrappy": {
         | 
    	
        src/app/engine/getPanoramaFlux.ts
    CHANGED
    
    | @@ -6,8 +6,12 @@ import { filterOutBadWords } from "./censorship" | |
| 6 |  | 
| 7 | 
             
            export async function getPanoramaFlux({
         | 
| 8 | 
             
              prompt,
         | 
|  | |
|  | |
| 9 | 
             
            }: {
         | 
| 10 | 
             
              prompt: string
         | 
|  | |
|  | |
| 11 | 
             
            }): Promise<string> {
         | 
| 12 | 
             
              if (!prompt) {
         | 
| 13 | 
             
                console.error(`cannot call the rendering API without a prompt, aborting..`)
         | 
| @@ -15,10 +19,10 @@ export async function getPanoramaFlux({ | |
| 15 | 
             
              }
         | 
| 16 |  | 
| 17 | 
             
              prompt = [
         | 
| 18 | 
            -
                ` | 
|  | |
| 19 | 
             
                `highly detailed`,
         | 
| 20 | 
             
                `intricate details`,
         | 
| 21 | 
            -
                filterOutBadWords(prompt)
         | 
| 22 | 
             
              ].join(', ')
         | 
| 23 |  | 
| 24 |  | 
| @@ -29,12 +33,11 @@ export async function getPanoramaFlux({ | |
| 29 | 
             
              )
         | 
| 30 |  | 
| 31 | 
             
              const blob: Blob = await hf.textToImage({
         | 
| 32 | 
            -
                model: " | 
| 33 | 
             
                inputs: prompt,
         | 
| 34 | 
             
                parameters: {
         | 
| 35 | 
            -
                   | 
| 36 | 
            -
                   | 
| 37 | 
            -
              
         | 
| 38 | 
             
                  // this triggers the following exception:
         | 
| 39 | 
             
                  // Error: __call__() got an unexpected keyword argument 'negative_prompt'
         | 
| 40 | 
             
                  // negative_prompt: request.prompts.image.negative || '',
         | 
|  | |
| 6 |  | 
| 7 | 
             
            export async function getPanoramaFlux({
         | 
| 8 | 
             
              prompt,
         | 
| 9 | 
            +
              width,
         | 
| 10 | 
            +
              height,
         | 
| 11 | 
             
            }: {
         | 
| 12 | 
             
              prompt: string
         | 
| 13 | 
            +
              width: number
         | 
| 14 | 
            +
              height: number
         | 
| 15 | 
             
            }): Promise<string> {
         | 
| 16 | 
             
              if (!prompt) {
         | 
| 17 | 
             
                console.error(`cannot call the rendering API without a prompt, aborting..`)
         | 
|  | |
| 19 | 
             
              }
         | 
| 20 |  | 
| 21 | 
             
              prompt = [
         | 
| 22 | 
            +
                `HDRI panoramic view of TOK`,
         | 
| 23 | 
            +
                filterOutBadWords(prompt),
         | 
| 24 | 
             
                `highly detailed`,
         | 
| 25 | 
             
                `intricate details`,
         | 
|  | |
| 26 | 
             
              ].join(', ')
         | 
| 27 |  | 
| 28 |  | 
|  | |
| 33 | 
             
              )
         | 
| 34 |  | 
| 35 | 
             
              const blob: Blob = await hf.textToImage({
         | 
| 36 | 
            +
                model: "jbilcke-hf/flux-dev-panorama-lora-2",
         | 
| 37 | 
             
                inputs: prompt,
         | 
| 38 | 
             
                parameters: {
         | 
| 39 | 
            +
                  width,
         | 
| 40 | 
            +
                  height,
         | 
|  | |
| 41 | 
             
                  // this triggers the following exception:
         | 
| 42 | 
             
                  // Error: __call__() got an unexpected keyword argument 'negative_prompt'
         | 
| 43 | 
             
                  // negative_prompt: request.prompts.image.negative || '',
         | 
    	
        src/app/generate/page.tsx
    CHANGED
    
    | @@ -9,9 +9,10 @@ import { fonts } from "@/lib/fonts" | |
| 9 | 
             
            import { useStore } from "../store"
         | 
| 10 | 
             
            import { BottomBar } from "../interface/bottom-bar"
         | 
| 11 | 
             
            import { SphericalImage } from "../interface/spherical-image"
         | 
| 12 | 
            -
            import {  | 
| 13 | 
             
            import { getPost } from "../engine/community"
         | 
| 14 | 
             
            import { useSearchParams } from "next/navigation"
         | 
|  | |
| 15 |  | 
| 16 | 
             
            function PageContent() {
         | 
| 17 | 
             
              const searchParams = useSearchParams()
         | 
| @@ -36,7 +37,21 @@ function PageContent() { | |
| 36 |  | 
| 37 | 
             
                startTransition(async () => {
         | 
| 38 | 
             
                  try {
         | 
| 39 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 40 | 
             
                    if (assetUrl) {
         | 
| 41 | 
             
                      setAssetUrl(assetUrl)
         | 
| 42 | 
             
                      setLoading(false)
         | 
|  | |
| 9 | 
             
            import { useStore } from "../store"
         | 
| 10 | 
             
            import { BottomBar } from "../interface/bottom-bar"
         | 
| 11 | 
             
            import { SphericalImage } from "../interface/spherical-image"
         | 
| 12 | 
            +
            import { getPanoramaFlux } from "../engine/getPanoramaFlux"
         | 
| 13 | 
             
            import { getPost } from "../engine/community"
         | 
| 14 | 
             
            import { useSearchParams } from "next/navigation"
         | 
| 15 | 
            +
            import { fuseEdges } from "@/lib/fuseEdges"
         | 
| 16 |  | 
| 17 | 
             
            function PageContent() {
         | 
| 18 | 
             
              const searchParams = useSearchParams()
         | 
|  | |
| 37 |  | 
| 38 | 
             
                startTransition(async () => {
         | 
| 39 | 
             
                  try {
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                    //width: 2048,
         | 
| 42 | 
            +
                     //height: 1024,
         | 
| 43 | 
            +
                    const width = 1600
         | 
| 44 | 
            +
                    const height = 640
         | 
| 45 | 
            +
              
         | 
| 46 | 
            +
                    const rawAssetUrl = await getPanoramaFlux({ prompt, width, height })
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                    const assetUrl = await fuseEdges({
         | 
| 49 | 
            +
                      base64DataUriInput: rawAssetUrl,
         | 
| 50 | 
            +
                      inputWidth: width,
         | 
| 51 | 
            +
                      inputHeight: height,
         | 
| 52 | 
            +
                      outputWidth: width - 32
         | 
| 53 | 
            +
                    })
         | 
| 54 | 
            +
             | 
| 55 | 
             
                    if (assetUrl) {
         | 
| 56 | 
             
                      setAssetUrl(assetUrl)
         | 
| 57 | 
             
                      setLoading(false)
         | 
    	
        src/lib/fuseEdges.ts
    ADDED
    
    | @@ -0,0 +1,86 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            export async function fuseEdges({
         | 
| 2 | 
            +
              base64DataUriInput,
         | 
| 3 | 
            +
              inputWidth,
         | 
| 4 | 
            +
              inputHeight,
         | 
| 5 | 
            +
              outputWidth
         | 
| 6 | 
            +
            }: {
         | 
| 7 | 
            +
              base64DataUriInput: string;
         | 
| 8 | 
            +
              inputWidth: number;
         | 
| 9 | 
            +
              inputHeight: number;
         | 
| 10 | 
            +
              outputWidth: number;
         | 
| 11 | 
            +
            }): Promise<string> {
         | 
| 12 | 
            +
              return new Promise((resolve, reject) => {
         | 
| 13 | 
            +
                const img1 = new Image();
         | 
| 14 | 
            +
                const img2 = new Image();
         | 
| 15 | 
            +
                
         | 
| 16 | 
            +
                img1.onload = () => {
         | 
| 17 | 
            +
                  img2.src = base64DataUriInput; // Load the same image for the second edge
         | 
| 18 | 
            +
                  img2.onload = () => {
         | 
| 19 | 
            +
                    const transitionWidth = inputWidth - outputWidth;
         | 
| 20 | 
            +
                    const canvas = document.createElement('canvas');
         | 
| 21 | 
            +
                    canvas.width = outputWidth;
         | 
| 22 | 
            +
                    canvas.height = inputHeight;
         | 
| 23 | 
            +
                    const ctx = canvas.getContext('2d', { willReadFrequently: true });
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                    if (!ctx) {
         | 
| 26 | 
            +
                      reject(new Error('Unable to get 2D context'));
         | 
| 27 | 
            +
                      return;
         | 
| 28 | 
            +
                    }
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                    // Draw the right part of the first image onto the canvas
         | 
| 31 | 
            +
                    ctx.drawImage(img1, transitionWidth, 0, outputWidth, inputHeight, 0, 0, outputWidth, inputHeight);
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                    // Get the image data for the output
         | 
| 34 | 
            +
                    const outputImageData = ctx.getImageData(0, 0, outputWidth, inputHeight);
         | 
| 35 | 
            +
                    const outputData = outputImageData.data;
         | 
| 36 | 
            +
                    
         | 
| 37 | 
            +
                    // Draw the left part of the second image
         | 
| 38 | 
            +
                    ctx.drawImage(img2, 0, 0, transitionWidth, inputHeight, outputWidth - transitionWidth, 0, transitionWidth, inputHeight);
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                    // Get the left edge image data from the second image
         | 
| 41 | 
            +
                    const leftEdgeImageData = ctx.getImageData(outputWidth - transitionWidth, 0, transitionWidth, inputHeight);
         | 
| 42 | 
            +
                    const leftEdgeData = leftEdgeImageData.data;
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                    // Helper function for smoothstep
         | 
| 45 | 
            +
                    const smoothstep = (edge0: number, edge1: number, x: number): number => {
         | 
| 46 | 
            +
                      const t = Math.max(0, Math.min(1, (x - edge0) / (edge1 - edge0)));
         | 
| 47 | 
            +
                      return t * t * (3 - 2 * t);
         | 
| 48 | 
            +
                    };
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                    // Blend the edges
         | 
| 51 | 
            +
                    for (let y = 0; y < inputHeight; y++) {
         | 
| 52 | 
            +
                      for (let x = 0; x < transitionWidth; x++) {
         | 
| 53 | 
            +
                        const outputIndex = (y * outputWidth + (outputWidth - transitionWidth + x)) * 4;
         | 
| 54 | 
            +
                        const leftEdgeIndex = (y * transitionWidth + x) * 4;
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                        const blendFactor = smoothstep(0, transitionWidth - 1, x);
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                        for (let i = 0; i < 4; i++) {
         | 
| 59 | 
            +
                          const outputPixel = outputData[outputIndex + i];
         | 
| 60 | 
            +
                          const leftEdgePixel = leftEdgeData[leftEdgeIndex + i];
         | 
| 61 | 
            +
                          
         | 
| 62 | 
            +
                          outputData[outputIndex + i] = Math.round(outputPixel * (1 - blendFactor) + leftEdgePixel * blendFactor);
         | 
| 63 | 
            +
                        }
         | 
| 64 | 
            +
                      }
         | 
| 65 | 
            +
                    }
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                    // Put the modified image data back to the canvas
         | 
| 68 | 
            +
                    ctx.putImageData(outputImageData, 0, 0);
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                    // Convert canvas to base64 data URI
         | 
| 71 | 
            +
                    const resultDataUri = canvas.toDataURL('image/jpeg');
         | 
| 72 | 
            +
                    resolve(resultDataUri);
         | 
| 73 | 
            +
                  };
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  img2.onerror = () => {
         | 
| 76 | 
            +
                    reject(new Error('Failed to load second image'));
         | 
| 77 | 
            +
                  };
         | 
| 78 | 
            +
                };
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                img1.onerror = () => {
         | 
| 81 | 
            +
                  reject(new Error('Failed to load image'));
         | 
| 82 | 
            +
                };
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                img1.src = base64DataUriInput; // Start loading the first image
         | 
| 85 | 
            +
              });
         | 
| 86 | 
            +
            }
         | 
