@scrabble-solver/scrabble-solver 2.12.1 → 2.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +14 -14
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/131.js +478 -106
- package/.next/server/chunks/277.js +1202 -1013
- package/.next/server/chunks/44.js +36 -6
- package/.next/server/chunks/675.js +35 -13
- package/.next/server/chunks/859.js +21 -4
- package/.next/server/chunks/865.js +478 -106
- package/.next/server/chunks/911.js +894 -773
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +3 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +4 -2
- package/.next/server/pages/api/solve.js +51 -20
- package/.next/server/pages/api/verify.js +8 -5
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +55 -65
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/chunks/{framework-2c5cac93e8c637b5.js → framework-2c29dc3cd933590b.js} +2 -2
- package/.next/static/chunks/main-4dcb7f9b52833aba.js +1 -0
- package/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +32 -0
- package/.next/static/chunks/pages/index-82b2939158c7729f.js +1 -0
- package/.next/static/css/4e8b47fe382a8a8f.css +2 -0
- package/.next/static/css/cfae5256f1689f57.css +1 -0
- package/.next/static/{_yG9K-PD5kWT_p4sMdCSV → wNIKOJJzkMSJYb2nOL21o}/_buildManifest.js +1 -1
- package/.next/trace +51 -52
- package/package.json +14 -14
- package/src/components/Board/Board.module.scss +33 -0
- package/src/components/Board/Board.tsx +3 -0
- package/src/components/Board/BoardPure.tsx +25 -1
- package/src/components/Board/components/Cell/Cell.module.scss +4 -12
- package/src/components/Board/components/Cell/Cell.tsx +4 -0
- package/src/components/Board/components/InputPrompt/InputPrompt.tsx +1 -0
- package/src/components/Board/hooks/useBackgroundImage.tsx +24 -6
- package/src/components/PlainTiles/lib/createPlainTile.ts +4 -4
- package/src/components/Rack/components/InputPrompt/InputPrompt.tsx +1 -0
- package/src/components/Radio/Radio.module.scss +4 -0
- package/src/components/Radio/Radio.tsx +1 -0
- package/src/components/SeoMessage/SeoMessage.tsx +3 -3
- package/src/hooks/useAppLayout.ts +1 -2
- package/src/hooks/useLocalStorage.ts +5 -5
- package/src/i18n/constants.ts +31 -61
- package/src/lib/extractCharacters.test.ts +3 -3
- package/src/lib/extractCharactersByCase.test.ts +3 -3
- package/src/lib/getCellSize.ts +2 -2
- package/src/modals/MenuModal/MenuModal.module.scss +0 -1
- package/src/modals/MenuModal/MenuModal.tsx +3 -3
- package/src/modals/SettingsModal/SettingsModal.tsx +7 -3
- package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +16 -7
- package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -4
- package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +8 -8
- package/src/pages/_app.tsx +3 -1
- package/src/pages/api/dictionary/[locale]/[word].ts +6 -3
- package/src/pages/api/solve.ts +11 -7
- package/src/pages/api/verify.ts +11 -7
- package/src/pages/index.module.scss +0 -1
- package/src/parameters/index.ts +4 -6
- package/src/sdk/solve.ts +3 -3
- package/src/sdk/verify.ts +3 -3
- package/src/service-worker/routeSolveRequests.ts +3 -3
- package/src/state/localStorage.ts +6 -6
- package/src/state/sagas.ts +18 -7
- package/src/state/selectors.ts +10 -10
- package/src/state/slices/boardInitialState.ts +3 -3
- package/src/state/slices/boardSlice.ts +20 -6
- package/src/state/slices/settingsInitialState.ts +3 -4
- package/src/state/slices/settingsSlice.ts +5 -5
- package/src/styles/variables.scss +0 -9
- package/.next/static/chunks/main-0ecb9ccfcb6c9b24.js +0 -1
- package/.next/static/chunks/pages/_app-bea4539a6b8042de.js +0 -32
- package/.next/static/chunks/pages/index-4e8566409753e1c3.js +0 -1
- package/.next/static/css/58053f9594647860.css +0 -2
- package/.next/static/css/60e8258da7362a1a.css +0 -1
- package/src/i18n/i18n.module.scss +0 -27
- package/src/modals/SettingsModal/components/ConfigSetting/options.ts +0 -19
- package/src/modals/SettingsModal/components/ConfigSetting/types.ts +0 -9
- package/src/modals/SettingsModal/components/InputModeSetting/types.ts +0 -7
- package/src/modals/SettingsModal/components/LocaleSetting/types.ts +0 -9
- /package/.next/static/{_yG9K-PD5kWT_p4sMdCSV → wNIKOJJzkMSJYb2nOL21o}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js","static/wNIKOJJzkMSJYb2nOL21o/_ssgManifest.js"],rootMainFiles:[],pages:{"/":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/cfae5256f1689f57.css","static/chunks/pages/index-82b2939158c7729f.js"],"/404":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/404-b4b5ce15153d4825.js"],"/_app":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/css/4e8b47fe382a8a8f.css","static/chunks/pages/_app-e7f3d1c9c09c8f91.js"],"/_error":["static/chunks/webpack-6ef43a8d4a395f49.js","static/chunks/framework-2c29dc3cd933590b.js","static/chunks/main-4dcb7f9b52833aba.js","static/chunks/pages/_error-54de1933a164a1ff.js"]},ampFirstPages:[]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/404-b4b5ce15153d4825.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__yhPFA"><a class="NotFound_link__a1OqI" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="NotFound_icon__zBP4O"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z"></path></svg><svg class="NotFound_tiles__Nxd8Z" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"wNIKOJJzkMSJYb2nOL21o","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/package.json","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../node_modules/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../node_modules/include-media-query-builder/build/constants.js","../../../node_modules/include-media-query-builder/build/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/object-assign/index.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
|
|
1
|
+
{"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/package.json","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../node_modules/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../node_modules/include-media-query-builder/build/constants.js","../../../node_modules/include-media-query-builder/build/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/_error-54de1933a164a1ff.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">500</h1><div style="display:inline-block;text-align:left"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wNIKOJJzkMSJYb2nOL21o","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -32,11 +32,13 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([comp
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
const DESCRIPTION = // eslint-disable-next-line max-len
|
|
35
|
-
"Scrabble Solver 2 - Free and open-source analysis tool for Scrabble
|
|
35
|
+
"Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish.";
|
|
36
36
|
const KEYWORDS = [
|
|
37
37
|
"Scrabble Solver",
|
|
38
38
|
"Scrabble",
|
|
39
39
|
"Solver",
|
|
40
|
+
"Super Scrabble",
|
|
41
|
+
"Super Scrabble Solver",
|
|
40
42
|
"Board",
|
|
41
43
|
"Open-source",
|
|
42
44
|
"Open",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/head.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/package.json","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../node_modules/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/next/dist/shared/lib/head.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../node_modules/include-media-query-builder/build/constants.js","../../../node_modules/include-media-query-builder/build/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/@swc/helpers/lib/_extends.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/object-assign/index.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
|
|
1
|
+
{"version":1,"files":["../webpack-runtime.js","../chunks/636.js","../chunks/675.js","../chunks/277.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/include-media-query-builder/package.json","../../../node_modules/react-cool-onclickoutside/package.json","../../../node_modules/react-highlight-words/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/react-window/package.json","../../../node_modules/store2/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/amp-context.js","../../../node_modules/next/dist/shared/lib/amp-mode.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/image-blur-svg.js","../../../node_modules/next/dist/shared/lib/image-config-context.js","../../../node_modules/next/dist/shared/lib/image-config.js","../../../node_modules/next/dist/shared/lib/side-effect.js","../../../node_modules/next/dist/shared/lib/utils/warn-once.js","../../../node_modules/classnames/index.js","../../../node_modules/include-media-query-builder/build/index.js","../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../node_modules/react-highlight-words/dist/main.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/@reduxjs/toolkit/dist/index.js","../../../node_modules/next/dist/shared/lib/image-loader.js","../../../node_modules/next/head.js","../../../node_modules/next/package.json","../../../node_modules/react/package.json","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react-dom/package.json","../../../node_modules/react-dom/client.js","../../../node_modules/redux-saga/package.json","../../../node_modules/redux-saga/import-condition-proxy.mjs","../../../node_modules/redux-saga/dist/redux-saga-core-npm-proxy.cjs.js","../../../node_modules/@floating-ui/react/package.json","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../node_modules/react-dom/server.node.js","../../../node_modules/react-dom/server.js","../../../node_modules/next/dist/shared/lib/head.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.production.min.js","../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/redux-saga/effects/package.json","../../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.cjs.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../node_modules/include-media-query-builder/build/constants.js","../../../node_modules/include-media-query-builder/build/isOperator.js","../../../node_modules/include-media-query-builder/build/isSize.js","../../../node_modules/include-media-query-builder/build/types.js","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/@swc/helpers/lib/_extends.js","../../../node_modules/next/dist/shared/lib/match-remote-pattern.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../node_modules/react-dom/cjs/react-dom-server.node.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../node_modules/react-redux/lib/components/Provider.js","../../../node_modules/react-redux/lib/components/Context.js","../../../node_modules/react-redux/lib/hooks/useDispatch.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-redux/lib/hooks/useStore.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-redux/lib/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/@floating-ui/react-dom/package.json","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../node_modules/tabbable/package.json","../../../node_modules/tabbable/dist/index.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/aria-hidden/package.json","../../../node_modules/aria-hidden/dist/es5/index.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/next/dist/compiled/micromatch/package.json","../../../node_modules/next/dist/compiled/micromatch/index.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/redux-thunk/package.json","../../../node_modules/redux-thunk/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/redux/package.json","../../../node_modules/redux/lib/redux.js","../../../node_modules/react-redux/node_modules/react-is/package.json","../../../node_modules/react-redux/node_modules/react-is/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.dev.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.prod.cjs.js","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.dev.cjs.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/hoist-non-react-statics/package.json","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.development.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/@redux-saga/core/dist/io-a03c6210.js","../../../node_modules/@redux-saga/core/dist/io-d39dbb58.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@floating-ui/dom/package.json","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@redux-saga/symbols/package.json","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../node_modules/@redux-saga/is/package.json","../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../node_modules/@redux-saga/deferred/package.json","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/object-assign/index.js","../../../node_modules/object-assign/package.json","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@floating-ui/core/package.json","../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../package.json","../../../src/i18n/de.json","../../../src/i18n/en.json","../../../src/i18n/es.json","../../../src/i18n/fa.json","../../../src/i18n/fr.json","../../../src/i18n/pl.json"]}
|
|
@@ -143,7 +143,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
const MAXIMUM_COLLISIONS_COUNT = _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.
|
|
146
|
+
const MAXIMUM_COLLISIONS_COUNT = Object.values(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.games).reduce((result, game)=>Math.max(result, game.maximumCharactersCount), 0);
|
|
147
147
|
const MAXIMUM_WORDS_COUNT = MAXIMUM_COLLISIONS_COUNT + 1;
|
|
148
148
|
const dictionary = async (request, response)=>{
|
|
149
149
|
const meta = (0,api__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(request);
|
|
@@ -448,7 +448,9 @@ const normalizeQuotes = (definition) => definition.replace(/\."/g, '".');
|
|
|
448
448
|
const normalizeMarkers = (definition) => definition.replace(/^\(\d+\.\d+\)\s+/g, '');
|
|
449
449
|
const normalizeTrailingSymbols = (definition) => definition.trim().replace(/:$/, '');
|
|
450
450
|
const normalizeLeadingSymbols = (definition) => definition.trim().replace(/^:/, '');
|
|
451
|
-
|
|
451
|
+
/**
|
|
452
|
+
* @see https://stackoverflow.com/a/40732368
|
|
453
|
+
*/
|
|
452
454
|
const normalizeNonWords = (definition) => (/[\w\u0621-\u064A]+/.test(definition) ? definition : '');
|
|
453
455
|
const normalizeCommas = (definition) => {
|
|
454
456
|
return definition
|
|
@@ -244,9 +244,11 @@ const COLOR_BONUS_CHARACTER_3 = "#dde4f6";
|
|
|
244
244
|
const COLOR_BONUS_CHARACTER_5 = "#fbe0d4";
|
|
245
245
|
const COLOR_BONUS_CHARACTER_MULTIPLIER_2 = "#b8d5ed";
|
|
246
246
|
const COLOR_BONUS_CHARACTER_MULTIPLIER_3 = "#86aed1";
|
|
247
|
+
const COLOR_BONUS_CHARACTER_MULTIPLIER_4 = "#3477b2";
|
|
247
248
|
const COLOR_BONUS_START = "#b284b8";
|
|
248
249
|
const COLOR_BONUS_WORD_MULTIPLIER_2 = "#fbc997";
|
|
249
250
|
const COLOR_BONUS_WORD_MULTIPLIER_3 = "#f19393";
|
|
251
|
+
const COLOR_BONUS_WORD_MULTIPLIER_4 = "#ed5e5e";
|
|
250
252
|
const COLOR_FILTERED = "#444";
|
|
251
253
|
const COLOR_BONUS_CHARACTER = {
|
|
252
254
|
1: COLOR_BONUS_CHARACTER_1,
|
|
@@ -256,11 +258,13 @@ const COLOR_BONUS_CHARACTER = {
|
|
|
256
258
|
};
|
|
257
259
|
const COLOR_BONUS_CHARACTER_MULTIPLIER = {
|
|
258
260
|
2: COLOR_BONUS_CHARACTER_MULTIPLIER_2,
|
|
259
|
-
3: COLOR_BONUS_CHARACTER_MULTIPLIER_3
|
|
261
|
+
3: COLOR_BONUS_CHARACTER_MULTIPLIER_3,
|
|
262
|
+
4: COLOR_BONUS_CHARACTER_MULTIPLIER_4
|
|
260
263
|
};
|
|
261
264
|
const COLOR_BONUS_WORD = {
|
|
262
265
|
2: COLOR_BONUS_WORD_MULTIPLIER_2,
|
|
263
|
-
3: COLOR_BONUS_WORD_MULTIPLIER_3
|
|
266
|
+
3: COLOR_BONUS_WORD_MULTIPLIER_3,
|
|
267
|
+
4: COLOR_BONUS_WORD_MULTIPLIER_4
|
|
264
268
|
};
|
|
265
269
|
const SPACING_XS = 2;
|
|
266
270
|
const SPACING_S = 5;
|
|
@@ -274,11 +278,6 @@ const parameters_BOARD_CELL_BORDER_WIDTH = 1;
|
|
|
274
278
|
const parameters_BOARD_TILE_FONT_SIZE_MIN = 14;
|
|
275
279
|
const parameters_BOARD_TILE_FONT_SIZE_POINTS_MIN = 10;
|
|
276
280
|
const parameters_BOARD_TILE_SIZE_MAX = 64;
|
|
277
|
-
/**
|
|
278
|
-
* 20 - fits all board tiles without horizontal scrollbar on 360px viewport width (font-size: 14px)
|
|
279
|
-
* 21 - fits all board tiles without horizontal scrollbar on 375px viewport width (font-size: 14px)
|
|
280
|
-
* 26 - tiles start to look good (font-size: 16px)
|
|
281
|
-
*/ const parameters_BOARD_TILE_SIZE_MIN = 20;
|
|
282
281
|
const BORDER_COLOR = "#cdcdcd";
|
|
283
282
|
const BORDER_COLOR_LIGHT = "#d9d9d9";
|
|
284
283
|
const BORDER_RADIUS = 5;
|
|
@@ -345,7 +344,7 @@ const getCellSize = (config, width, height)=>{
|
|
|
345
344
|
const maxWidth = (width - BOARD_CELL_BORDER_WIDTH) / config.boardWidth - BOARD_CELL_BORDER_WIDTH;
|
|
346
345
|
const maxHeight = (height - BOARD_CELL_BORDER_WIDTH) / config.boardHeight - BOARD_CELL_BORDER_WIDTH;
|
|
347
346
|
const cellSize = Math.min(maxWidth, maxHeight);
|
|
348
|
-
return Math.floor(Math.min(
|
|
347
|
+
return Math.floor(Math.min(cellSize, BOARD_TILE_SIZE_MAX));
|
|
349
348
|
};
|
|
350
349
|
/* harmony default export */ const lib_getCellSize = ((/* unused pure expression or super */ null && (getCellSize)));
|
|
351
350
|
|
|
@@ -632,7 +631,7 @@ const solve = async (request, response)=>{
|
|
|
632
631
|
boardBlanksCount: board.getBlanksCount(),
|
|
633
632
|
boardTilesCount: board.getTilesCount(),
|
|
634
633
|
characters: characters.join(""),
|
|
635
|
-
|
|
634
|
+
game: request.body.game,
|
|
636
635
|
locale
|
|
637
636
|
}
|
|
638
637
|
});
|
|
@@ -656,17 +655,20 @@ const solve = async (request, response)=>{
|
|
|
656
655
|
}
|
|
657
656
|
};
|
|
658
657
|
const parseRequest = (request)=>{
|
|
659
|
-
const { board: boardJson , characters ,
|
|
658
|
+
const { board: boardJson , characters , game , locale } = request.body;
|
|
660
659
|
if (!(0,types_build.isLocale)(locale)) {
|
|
661
660
|
throw new Error('Invalid "locale" parameter');
|
|
662
661
|
}
|
|
663
|
-
if (!(0,
|
|
664
|
-
throw new Error('Invalid "
|
|
662
|
+
if (!(0,types_build.isGame)(game)) {
|
|
663
|
+
throw new Error('Invalid "game" parameter');
|
|
665
664
|
}
|
|
666
665
|
if (!lib_isStringArray(characters) || characters.length === 0) {
|
|
667
666
|
throw new Error('Invalid "characters" parameter');
|
|
668
667
|
}
|
|
669
|
-
|
|
668
|
+
if (!(0,build.hasConfig)(game, locale)) {
|
|
669
|
+
throw new Error(`No game "${game}" in "${locale}"`);
|
|
670
|
+
}
|
|
671
|
+
const config = (0,build.getConfig)(game, locale);
|
|
670
672
|
for (const character of characters){
|
|
671
673
|
if (!(0,isCharacterValid/* default */.Z)(character)) {
|
|
672
674
|
throw new Error('Invalid "characters" parameter');
|
|
@@ -695,6 +697,29 @@ const config = {
|
|
|
695
697
|
/* harmony default export */ const api_solve = (solve);
|
|
696
698
|
|
|
697
699
|
|
|
700
|
+
/***/ }),
|
|
701
|
+
|
|
702
|
+
/***/ 53904:
|
|
703
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
707
|
+
const areDigraphsValid = (config, pattern) => {
|
|
708
|
+
const { twoCharacterTiles } = config;
|
|
709
|
+
const { cells } = pattern;
|
|
710
|
+
for (let index = 0; index < cells.length - 1; ++index) {
|
|
711
|
+
const current = cells[index];
|
|
712
|
+
const next = cells[index + 1];
|
|
713
|
+
const digraphCandidate = current.tile.character + next.tile.character;
|
|
714
|
+
if (twoCharacterTiles.includes(digraphCandidate)) {
|
|
715
|
+
return false;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
return true;
|
|
719
|
+
};
|
|
720
|
+
exports["default"] = areDigraphsValid;
|
|
721
|
+
|
|
722
|
+
|
|
698
723
|
/***/ }),
|
|
699
724
|
|
|
700
725
|
/***/ 83594:
|
|
@@ -779,7 +804,7 @@ exports["default"] = generateEndIndices;
|
|
|
779
804
|
|
|
780
805
|
/***/ }),
|
|
781
806
|
|
|
782
|
-
/***/
|
|
807
|
+
/***/ 99004:
|
|
783
808
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
784
809
|
|
|
785
810
|
|
|
@@ -841,7 +866,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
841
866
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
842
867
|
};
|
|
843
868
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
844
|
-
const generateHorizontalPatterns_1 = __importDefault(__webpack_require__(
|
|
869
|
+
const generateHorizontalPatterns_1 = __importDefault(__webpack_require__(99004));
|
|
845
870
|
const generateVerticalPatterns_1 = __importDefault(__webpack_require__(75069));
|
|
846
871
|
const generatePatterns = (config, board) => {
|
|
847
872
|
const horizontalPatterns = (0, generateHorizontalPatterns_1.default)(config, board);
|
|
@@ -944,11 +969,11 @@ exports["default"] = getCellsScore;
|
|
|
944
969
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
945
970
|
const getPatternHash = (pattern) => {
|
|
946
971
|
return pattern.cells
|
|
972
|
+
.filter((cell) => cell.isEmpty)
|
|
947
973
|
.map((cell) => {
|
|
948
974
|
const blank = cell.tile.isBlank ? '!' : '';
|
|
949
975
|
const tile = cell.tile.character + blank;
|
|
950
|
-
|
|
951
|
-
return cell.x + ',' + cell.y + ',' + tile;
|
|
976
|
+
return [cell.x, cell.y, tile].join(',');
|
|
952
977
|
})
|
|
953
978
|
.join('-');
|
|
954
979
|
};
|
|
@@ -1013,12 +1038,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
1013
1038
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1014
1039
|
};
|
|
1015
1040
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1016
|
-
exports.solve = exports.getUniquePatterns = exports.getPatternScore = exports.getPatternHash = exports.getCellsScore = exports.generateVerticalPatterns = exports.generateVectors = exports.generateStartIndices = exports.generatePatterns = exports.generatePattern = exports.generateHorizontalPatterns = exports.generateEndIndices = exports.fillPattern = void 0;
|
|
1041
|
+
exports.solve = exports.getUniquePatterns = exports.getPatternScore = exports.getPatternHash = exports.getCellsScore = exports.generateVerticalPatterns = exports.generateVectors = exports.generateStartIndices = exports.generatePatterns = exports.generatePattern = exports.generateHorizontalPatterns = exports.generateEndIndices = exports.fillPattern = exports.areDigraphsValid = void 0;
|
|
1042
|
+
var areDigraphsValid_1 = __webpack_require__(53904);
|
|
1043
|
+
Object.defineProperty(exports, "areDigraphsValid", ({ enumerable: true, get: function () { return __importDefault(areDigraphsValid_1).default; } }));
|
|
1017
1044
|
var fillPattern_1 = __webpack_require__(83594);
|
|
1018
1045
|
Object.defineProperty(exports, "fillPattern", ({ enumerable: true, get: function () { return __importDefault(fillPattern_1).default; } }));
|
|
1019
1046
|
var generateEndIndices_1 = __webpack_require__(50856);
|
|
1020
1047
|
Object.defineProperty(exports, "generateEndIndices", ({ enumerable: true, get: function () { return __importDefault(generateEndIndices_1).default; } }));
|
|
1021
|
-
var generateHorizontalPatterns_1 = __webpack_require__(
|
|
1048
|
+
var generateHorizontalPatterns_1 = __webpack_require__(99004);
|
|
1022
1049
|
Object.defineProperty(exports, "generateHorizontalPatterns", ({ enumerable: true, get: function () { return __importDefault(generateHorizontalPatterns_1).default; } }));
|
|
1023
1050
|
var generatePattern_1 = __webpack_require__(87984);
|
|
1024
1051
|
Object.defineProperty(exports, "generatePattern", ({ enumerable: true, get: function () { return __importDefault(generatePattern_1).default; } }));
|
|
@@ -1052,6 +1079,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
1052
1079
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1053
1080
|
};
|
|
1054
1081
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1082
|
+
const areDigraphsValid_1 = __importDefault(__webpack_require__(53904));
|
|
1055
1083
|
const fillPattern_1 = __importDefault(__webpack_require__(83594));
|
|
1056
1084
|
const generatePatterns_1 = __importDefault(__webpack_require__(29480));
|
|
1057
1085
|
const getPatternScore_1 = __importDefault(__webpack_require__(94808));
|
|
@@ -1059,7 +1087,10 @@ const getUniquePatterns_1 = __importDefault(__webpack_require__(55555));
|
|
|
1059
1087
|
const solve = (trie, config, board, tiles) => {
|
|
1060
1088
|
const patterns = (0, generatePatterns_1.default)(config, board);
|
|
1061
1089
|
const filledPatterns = patterns.flatMap((pattern) => (0, fillPattern_1.default)(trie, config, pattern, tiles));
|
|
1062
|
-
const
|
|
1090
|
+
const validPatterns = config.twoCharacterTiles.length > 0
|
|
1091
|
+
? filledPatterns.filter((pattern) => (0, areDigraphsValid_1.default)(config, pattern))
|
|
1092
|
+
: filledPatterns;
|
|
1093
|
+
const uniquePatterns = (0, getUniquePatterns_1.default)(validPatterns);
|
|
1063
1094
|
const results = uniquePatterns.map((pattern, index) => ({
|
|
1064
1095
|
cells: pattern.cells.map((cell) => cell.toJson()),
|
|
1065
1096
|
collisions: pattern.getCollisions().map((collision) => collision.cells.map((cell) => cell.toJson())),
|
|
@@ -149,7 +149,7 @@ const verify = async (request, response)=>{
|
|
|
149
149
|
board: board.toString(),
|
|
150
150
|
boardBlanksCount: board.getBlanksCount(),
|
|
151
151
|
boardTilesCount: board.getTilesCount(),
|
|
152
|
-
|
|
152
|
+
game: request.body.game,
|
|
153
153
|
locale
|
|
154
154
|
}
|
|
155
155
|
});
|
|
@@ -174,14 +174,17 @@ const verify = async (request, response)=>{
|
|
|
174
174
|
}
|
|
175
175
|
};
|
|
176
176
|
const parseRequest = (request)=>{
|
|
177
|
-
const { board: boardJson ,
|
|
177
|
+
const { board: boardJson , game , locale } = request.body;
|
|
178
178
|
if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isLocale)(locale)) {
|
|
179
179
|
throw new Error('Invalid "locale" parameter');
|
|
180
180
|
}
|
|
181
|
-
if (!(0,
|
|
182
|
-
throw new Error('Invalid "
|
|
181
|
+
if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isGame)(game)) {
|
|
182
|
+
throw new Error('Invalid "game" parameter');
|
|
183
183
|
}
|
|
184
|
-
|
|
184
|
+
if (!(0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.hasConfig)(game, locale)) {
|
|
185
|
+
throw new Error(`No game "${game}" in "${locale}"`);
|
|
186
|
+
}
|
|
187
|
+
const config = (0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.getConfig)(game, locale);
|
|
185
188
|
if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isBoardJson)(boardJson) || !(0,api__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(boardJson, config)) {
|
|
186
189
|
throw new Error('Invalid "board" parameter');
|
|
187
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><link rel="preload" href="/_next/static/css/cfae5256f1689f57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cfae5256f1689f57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js" defer=""></script><script src="/_next/static/chunks/pages/index-82b2939158c7729f.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_buildManifest.js" defer=""></script><script src="/_next/static/wNIKOJJzkMSJYb2nOL21o/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.12.2"},"__N_SSG":true},"page":"/","query":{},"buildId":"wNIKOJJzkMSJYb2nOL21o","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
|