scrabble-solver 2.10.1 → 2.10.2

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.
Files changed (166) hide show
  1. package/lerna.json +1 -1
  2. package/package.json +19 -19
  3. package/packages/configs/package-lock.json +45 -0
  4. package/packages/configs/package.json +3 -3
  5. package/packages/constants/package-lock.json +13 -0
  6. package/packages/constants/package.json +1 -1
  7. package/packages/dictionaries/build/lib/createAsyncProxy.d.ts +1 -1
  8. package/packages/dictionaries/package-lock.json +2 -2
  9. package/packages/dictionaries/package.json +4 -4
  10. package/packages/logger/package-lock.json +8 -8
  11. package/packages/logger/package.json +1 -1
  12. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  13. package/packages/scrabble-solver/.next/build-manifest.json +19 -31
  14. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  15. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  16. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
  17. package/packages/scrabble-solver/.next/cache/webpack/client-development/0.pack +0 -0
  18. package/packages/scrabble-solver/.next/cache/webpack/client-development/1.pack +0 -0
  19. package/packages/scrabble-solver/.next/cache/webpack/client-development/2.pack +0 -0
  20. package/packages/scrabble-solver/.next/cache/webpack/client-development/3.pack +0 -0
  21. package/packages/scrabble-solver/.next/cache/webpack/client-development/4.pack +0 -0
  22. package/packages/scrabble-solver/.next/cache/webpack/client-development/index.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/client-development/index.pack.old +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  28. package/packages/scrabble-solver/.next/cache/webpack/server-development/0.pack +0 -0
  29. package/packages/scrabble-solver/.next/cache/webpack/server-development/10.pack_ +0 -0
  30. package/packages/scrabble-solver/.next/cache/webpack/server-development/5.pack_ +0 -0
  31. package/packages/scrabble-solver/.next/cache/webpack/server-development/8.pack_ +0 -0
  32. package/packages/scrabble-solver/.next/cache/webpack/server-development/index.pack +0 -0
  33. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  34. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  35. package/packages/scrabble-solver/.next/images-manifest.json +1 -1
  36. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  37. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  38. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  39. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  40. package/packages/scrabble-solver/.next/server/chunks/131.js +1399 -117
  41. package/packages/scrabble-solver/.next/server/chunks/{515.js → 176.js} +771 -679
  42. package/packages/scrabble-solver/.next/server/chunks/210.js +122 -0
  43. package/packages/scrabble-solver/.next/server/chunks/{939.js → 290.js} +3 -3
  44. package/packages/scrabble-solver/.next/server/chunks/44.js +33 -33
  45. package/packages/scrabble-solver/.next/server/chunks/50.js +5 -9
  46. package/packages/scrabble-solver/.next/server/chunks/{413.js → 579.js} +136 -87
  47. package/packages/scrabble-solver/.next/server/chunks/664.js +537 -350
  48. package/packages/scrabble-solver/.next/server/chunks/859.js +56 -23
  49. package/packages/scrabble-solver/.next/server/chunks/865.js +1 -1
  50. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  51. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/404.html +2 -2
  53. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  54. package/packages/scrabble-solver/.next/server/pages/500.html +2 -2
  55. package/packages/scrabble-solver/.next/server/pages/_app.js +23 -5
  56. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  57. package/packages/scrabble-solver/.next/server/pages/_document.js +2 -2
  58. package/packages/scrabble-solver/.next/server/pages/_error.js +206 -25
  59. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +10 -10
  61. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  62. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +10 -10
  63. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  64. package/packages/scrabble-solver/.next/server/pages/api/solve.js +14 -13
  65. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  66. package/packages/scrabble-solver/.next/server/pages/api/verify.js +10 -10
  67. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  68. package/packages/scrabble-solver/.next/server/pages/api/visit.js +3 -3
  69. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  70. package/packages/scrabble-solver/.next/server/pages/index.html +2 -2
  71. package/packages/scrabble-solver/.next/server/pages/index.js +44 -128
  72. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  73. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  74. package/packages/scrabble-solver/.next/server/pages-manifest.json +3 -3
  75. package/packages/scrabble-solver/.next/static/FjrbXpI5fkt4lmko-vL_7/_buildManifest.js +1 -0
  76. package/packages/scrabble-solver/.next/static/{hf94cues-LcXZRCpAzQ6w → FjrbXpI5fkt4lmko-vL_7}/_ssgManifest.js +0 -0
  77. package/packages/scrabble-solver/.next/static/chunks/361-d16f336a9752a55a.js +1 -0
  78. package/packages/scrabble-solver/.next/static/chunks/724-eb48df4d1ba3df8b.js +5 -0
  79. package/packages/scrabble-solver/.next/static/chunks/amp.js +720 -0
  80. package/packages/scrabble-solver/.next/static/chunks/framework-2c79e2a64abdb08b.js +33 -0
  81. package/packages/scrabble-solver/.next/static/chunks/main-f11614d8aa7ee555.js +1 -0
  82. package/packages/scrabble-solver/.next/static/chunks/main.js +1076 -0
  83. package/packages/scrabble-solver/.next/static/chunks/pages/404-24f9617eeb8d6dc1.js +1 -0
  84. package/packages/scrabble-solver/.next/static/chunks/pages/_app-959e495f0f221247.js +24 -0
  85. package/packages/scrabble-solver/.next/static/chunks/pages/_app.js +2121 -0
  86. package/packages/scrabble-solver/.next/static/chunks/pages/_error-8353112a01355ec2.js +1 -0
  87. package/packages/scrabble-solver/.next/static/chunks/pages/_error.js +28 -0
  88. package/packages/scrabble-solver/.next/static/chunks/pages/index-1e30dafa41bddb80.js +1 -0
  89. package/packages/scrabble-solver/.next/static/chunks/pages/index.js +5314 -0
  90. package/packages/scrabble-solver/.next/static/chunks/react-refresh.js +62 -0
  91. package/packages/scrabble-solver/.next/static/chunks/webpack-59c5c889f52620d6.js +1 -0
  92. package/packages/scrabble-solver/.next/static/chunks/webpack.js +1237 -0
  93. package/packages/scrabble-solver/.next/static/css/aafd07997120f1e4.css +1 -0
  94. package/packages/scrabble-solver/.next/static/css/c8d26240c04079b9.css +1 -0
  95. package/packages/scrabble-solver/.next/static/css/eb9d57f7103525ab.css +1 -0
  96. package/packages/scrabble-solver/.next/static/development/_buildManifest.js +1 -0
  97. package/packages/scrabble-solver/.next/static/development/_ssgManifest.js +1 -0
  98. package/packages/scrabble-solver/.next/static/webpack/fb4b50d5e70ee127.webpack.hot-update.json +1 -0
  99. package/packages/scrabble-solver/.next/static/webpack/pages/index.fb4b50d5e70ee127.hot-update.js +171 -0
  100. package/packages/scrabble-solver/.next/static/webpack/webpack.fb4b50d5e70ee127.hot-update.js +18 -0
  101. package/packages/scrabble-solver/.next/trace +52 -52
  102. package/packages/scrabble-solver/package-lock.json +1533 -1363
  103. package/packages/scrabble-solver/package.json +20 -20
  104. package/packages/scrabble-solver/public/og.png +0 -0
  105. package/packages/scrabble-solver/src/components/Board/Board.module.scss +1 -2
  106. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +2 -0
  107. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +65 -55
  108. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +9 -0
  109. package/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx +11 -2
  110. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +11 -1
  111. package/packages/scrabble-solver/src/components/Rack/RackTile.tsx +10 -1
  112. package/packages/scrabble-solver/src/components/RemainingTiles/Character.module.scss +0 -1
  113. package/packages/scrabble-solver/src/components/RemainingTiles/Character.tsx +1 -0
  114. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +85 -0
  115. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +75 -0
  116. package/packages/scrabble-solver/src/components/Solver/index.ts +1 -0
  117. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +51 -7
  118. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +3 -0
  119. package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +8 -1
  120. package/packages/scrabble-solver/src/components/index.ts +1 -0
  121. package/packages/scrabble-solver/src/hooks/index.ts +1 -0
  122. package/packages/scrabble-solver/src/hooks/useIsTouchDevice.ts +7 -0
  123. package/packages/scrabble-solver/src/icons/ExclamationSquareFill.svg +4 -0
  124. package/packages/scrabble-solver/src/icons/index.ts +1 -0
  125. package/packages/scrabble-solver/src/pages/index.module.scss +1 -75
  126. package/packages/scrabble-solver/src/pages/index.tsx +11 -73
  127. package/packages/scrabble-solver/src/parameters/index.ts +2 -0
  128. package/packages/scrabble-solver/src/service-worker/average.ts +9 -0
  129. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +46 -7
  130. package/packages/scrabble-solver/src/state/selectors.ts +20 -0
  131. package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +27 -0
  132. package/packages/scrabble-solver/src/styles/mixins.scss +6 -1
  133. package/packages/scrabble-solver/src/styles/variables.scss +6 -3
  134. package/packages/solver/package-lock.json +2 -2
  135. package/packages/solver/package.json +5 -5
  136. package/packages/solver/src/generatePattern.ts +1 -0
  137. package/packages/types/build/Board.js +5 -5
  138. package/packages/types/build/BoardJson.d.ts +1 -1
  139. package/packages/types/build/Cell.js +7 -7
  140. package/packages/types/build/Collision.d.ts +1 -1
  141. package/packages/types/build/CollisionJson.d.ts +1 -1
  142. package/packages/types/build/Config.js +3 -3
  143. package/packages/types/build/Result.d.ts +1 -1
  144. package/packages/types/build/Result.js +8 -8
  145. package/packages/types/build/Tile.js +4 -4
  146. package/packages/types/build/WordDefinition.js +6 -6
  147. package/packages/types/package-lock.json +28 -0
  148. package/packages/types/package.json +2 -2
  149. package/packages/word-definitions/package-lock.json +2 -2
  150. package/packages/word-definitions/package.json +2 -2
  151. package/packages/word-lists/package-lock.json +23 -20
  152. package/packages/word-lists/package.json +2 -2
  153. package/packages/scrabble-solver/.next/InjectManifest.js.nft.json +0 -1
  154. package/packages/scrabble-solver/.next/static/chunks/368-8b386c3106556f62.js +0 -1
  155. package/packages/scrabble-solver/.next/static/chunks/546-447e243fc9de2c59.js +0 -1
  156. package/packages/scrabble-solver/.next/static/chunks/framework-4556c45dd113b893.js +0 -1
  157. package/packages/scrabble-solver/.next/static/chunks/main-a75cf611e061d8f8.js +0 -1
  158. package/packages/scrabble-solver/.next/static/chunks/pages/404-932294135c3206dd.js +0 -1
  159. package/packages/scrabble-solver/.next/static/chunks/pages/_app-8f0df20f771045ed.js +0 -1
  160. package/packages/scrabble-solver/.next/static/chunks/pages/_error-a4ba2246ff8fb532.js +0 -1
  161. package/packages/scrabble-solver/.next/static/chunks/pages/index-8af7a9d7a2cd98a7.js +0 -1
  162. package/packages/scrabble-solver/.next/static/chunks/webpack-5752944655d749a0.js +0 -1
  163. package/packages/scrabble-solver/.next/static/css/6b1833fd19d3a74a.css +0 -1
  164. package/packages/scrabble-solver/.next/static/css/a6154e4ca046ca13.css +0 -1
  165. package/packages/scrabble-solver/.next/static/css/bad53af6f8616677.css +0 -1
  166. package/packages/scrabble-solver/.next/static/hf94cues-LcXZRCpAzQ6w/_buildManifest.js +0 -1
@@ -2,7 +2,7 @@ exports.id = 859;
2
2
  exports.ids = [859];
3
3
  exports.modules = {
4
4
 
5
- /***/ 23105:
5
+ /***/ 57081:
6
6
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7
7
 
8
8
  "use strict";
@@ -93,7 +93,7 @@ function getDocumentFiles(buildManifest, pathname, inAmpMode) {
93
93
  function getPolyfillScripts(context, props) {
94
94
  // polyfills.js has to be rendered as nomodule without async
95
95
  // It also has to be the first script to load
96
- const { assetPrefix , buildManifest , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin , } = context;
96
+ const { assetPrefix , buildManifest , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin } = context;
97
97
  return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(".js") && !polyfill.endsWith(".module.js")).map((polyfill)=>/*#__PURE__*/ _react.default.createElement("script", {
98
98
  key: polyfill,
99
99
  defer: !disableOptimizedLoading,
@@ -133,7 +133,7 @@ function AmpStyles({ styles }) {
133
133
  });
134
134
  }
135
135
  function getDynamicChunks(context, props, files) {
136
- const { dynamicImports , assetPrefix , isDevelopment , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin , } = context;
136
+ const { dynamicImports , assetPrefix , isDevelopment , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin } = context;
137
137
  return dynamicImports.map((file)=>{
138
138
  if (!file.endsWith(".js") || files.allFiles.includes(file)) return null;
139
139
  return /*#__PURE__*/ _react.default.createElement("script", {
@@ -148,7 +148,7 @@ function getDynamicChunks(context, props, files) {
148
148
  }
149
149
  function getScripts(context, props, files) {
150
150
  var ref;
151
- const { assetPrefix , buildManifest , isDevelopment , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin , } = context;
151
+ const { assetPrefix , buildManifest , isDevelopment , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin } = context;
152
152
  const normalScripts = files.allFiles.filter((file)=>file.endsWith(".js"));
153
153
  const lowPriorityScripts = (ref = buildManifest.lowPriorityFiles) == null ? void 0 : ref.filter((file)=>file.endsWith(".js"));
154
154
  return [
@@ -232,10 +232,9 @@ function getPreNextScripts(context, props) {
232
232
  const webWorkerScripts = getPreNextWorkerScripts(context, props);
233
233
  const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{
234
234
  const { strategy , ...scriptProps } = file;
235
- var _defer;
236
235
  return /*#__PURE__*/ _react.default.createElement("script", Object.assign({}, scriptProps, {
237
236
  key: scriptProps.src || index,
238
- defer: (_defer = scriptProps.defer) != null ? _defer : !disableOptimizedLoading,
237
+ defer: scriptProps.defer ?? !disableOptimizedLoading,
239
238
  nonce: props.nonce,
240
239
  "data-nscript": "beforeInteractive",
241
240
  crossOrigin: props.crossOrigin || crossOrigin
@@ -252,10 +251,44 @@ function getHeadHTMLProps(props) {
252
251
  function getAmpPath(ampPath, asPath) {
253
252
  return ampPath || `${asPath}${asPath.includes("?") ? "&" : "?"}amp=1`;
254
253
  }
254
+ function getFontLoaderLinks(fontLoaderManifest, dangerousAsPath, assetPrefix = "") {
255
+ if (!fontLoaderManifest) {
256
+ return {
257
+ preconnect: null,
258
+ preload: null
259
+ };
260
+ }
261
+ const appFontsEntry = fontLoaderManifest.pages["/_app"];
262
+ const pageFontsEntry = fontLoaderManifest.pages[dangerousAsPath];
263
+ const preloadedFontFiles = [
264
+ ...appFontsEntry ?? [],
265
+ ...pageFontsEntry ?? []
266
+ ];
267
+ // If no font files should preload but there's an entry for the path, add a preconnect tag.
268
+ const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));
269
+ return {
270
+ preconnect: preconnectToSelf ? /*#__PURE__*/ _react.default.createElement("link", {
271
+ rel: "preconnect",
272
+ href: "/",
273
+ crossOrigin: "anonymous"
274
+ }) : null,
275
+ preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{
276
+ const ext = /\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];
277
+ return /*#__PURE__*/ _react.default.createElement("link", {
278
+ key: fontFile,
279
+ rel: "preload",
280
+ href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,
281
+ as: "font",
282
+ type: `font/${ext}`,
283
+ crossOrigin: "anonymous"
284
+ });
285
+ }) : null
286
+ };
287
+ }
255
288
  class Head extends _react.default.Component {
256
289
  static contextType = _htmlContext.HtmlContext;
257
290
  getCssLinks(files) {
258
- const { assetPrefix , devOnlyCacheBusterQueryString , dynamicImports , crossOrigin , optimizeCss , optimizeFonts , } = this.context;
291
+ const { assetPrefix , devOnlyCacheBusterQueryString , dynamicImports , crossOrigin , optimizeCss , optimizeFonts } = this.context;
259
292
  const cssFiles = files.allFiles.filter((f)=>f.endsWith(".css"));
260
293
  const sharedFiles = new Set(files.sharedFiles);
261
294
  // Unmanaged files are CSS files that will be handled directly by the
@@ -298,7 +331,7 @@ class Head extends _react.default.Component {
298
331
  return cssLinkElements.length === 0 ? null : cssLinkElements;
299
332
  }
300
333
  getPreloadDynamicChunks() {
301
- const { dynamicImports , assetPrefix , devOnlyCacheBusterQueryString , crossOrigin , } = this.context;
334
+ const { dynamicImports , assetPrefix , devOnlyCacheBusterQueryString , crossOrigin } = this.context;
302
335
  return dynamicImports.map((file)=>{
303
336
  if (!file.endsWith(".js")) {
304
337
  return null;
@@ -315,7 +348,7 @@ class Head extends _react.default.Component {
315
348
  .filter(Boolean);
316
349
  }
317
350
  getPreloadMainLinks(files) {
318
- const { assetPrefix , devOnlyCacheBusterQueryString , scriptLoader , crossOrigin , } = this.context;
351
+ const { assetPrefix , devOnlyCacheBusterQueryString , scriptLoader , crossOrigin } = this.context;
319
352
  const preloadFiles = files.allFiles.filter((file)=>{
320
353
  return file.endsWith(".js");
321
354
  });
@@ -335,7 +368,7 @@ class Head extends _react.default.Component {
335
368
  href: `${assetPrefix}/_next/${encodeURI(file)}${devOnlyCacheBusterQueryString}`,
336
369
  as: "script",
337
370
  crossOrigin: this.props.crossOrigin || crossOrigin
338
- })),
371
+ }))
339
372
  ];
340
373
  }
341
374
  getBeforeInteractiveInlineScripts() {
@@ -386,17 +419,17 @@ class Head extends _react.default.Component {
386
419
  };
387
420
  return /*#__PURE__*/ _react.default.cloneElement(c, newProps);
388
421
  } else if (c == null ? void 0 : (ref3 = c.props) == null ? void 0 : ref3.children) {
389
- const newProps1 = {
422
+ const newProps = {
390
423
  ...c.props || {},
391
424
  children: this.makeStylesheetInert(c.props.children)
392
425
  };
393
- return /*#__PURE__*/ _react.default.cloneElement(c, newProps1);
426
+ return /*#__PURE__*/ _react.default.cloneElement(c, newProps);
394
427
  }
395
428
  return c;
396
429
  }).filter(Boolean);
397
430
  }
398
431
  render() {
399
- const { styles , ampPath , inAmpMode , hybridAmp , canonicalBase , __NEXT_DATA__ , dangerousAsPath , headTags , unstable_runtimeJS , unstable_JsPreload , disableOptimizedLoading , optimizeCss , optimizeFonts , } = this.context;
432
+ const { styles , ampPath , inAmpMode , hybridAmp , canonicalBase , __NEXT_DATA__ , dangerousAsPath , headTags , unstable_runtimeJS , unstable_JsPreload , disableOptimizedLoading , optimizeCss , optimizeFonts , assetPrefix , fontLoaderManifest } = this.context;
400
433
  const disableRuntimeJS = unstable_runtimeJS === false;
401
434
  const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;
402
435
  this.context.docComponentsRendered.Head = true;
@@ -457,7 +490,7 @@ class Head extends _react.default.Component {
457
490
  return child;
458
491
  });
459
492
  const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);
460
- var _nonce, _nonce1;
493
+ const fontLoaderLinks = getFontLoaderLinks(fontLoaderManifest, dangerousAsPath, assetPrefix);
461
494
  return /*#__PURE__*/ _react.default.createElement("head", Object.assign({}, getHeadHTMLProps(this.props)), this.context.isDevelopment && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("style", {
462
495
  "data-next-hide-fouc": true,
463
496
  "data-ampdevmode": true && inAmpMode ? "true" : undefined,
@@ -476,7 +509,7 @@ class Head extends _react.default.Component {
476
509
  content: _react.default.Children.count(head || []).toString()
477
510
  }), children, optimizeFonts && /*#__PURE__*/ _react.default.createElement("meta", {
478
511
  name: "next-font-preconnect"
479
- }), true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("meta", {
512
+ }), fontLoaderLinks.preconnect, fontLoaderLinks.preload, true && inAmpMode && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("meta", {
480
513
  name: "viewport",
481
514
  content: "width=device-width,minimum-scale=1,initial-scale=1"
482
515
  }), !hasCanonicalRel && /*#__PURE__*/ _react.default.createElement("link", {
@@ -505,9 +538,9 @@ class Head extends _react.default.Component {
505
538
  rel: "amphtml",
506
539
  href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)
507
540
  }), this.getBeforeInteractiveInlineScripts(), !optimizeCss && this.getCssLinks(files), !optimizeCss && /*#__PURE__*/ _react.default.createElement("noscript", {
508
- "data-n-css": (_nonce = this.props.nonce) != null ? _nonce : ""
541
+ "data-n-css": this.props.nonce ?? ""
509
542
  }), !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), optimizeCss && this.getCssLinks(files), optimizeCss && /*#__PURE__*/ _react.default.createElement("noscript", {
510
- "data-n-css": (_nonce1 = this.props.nonce) != null ? _nonce1 : ""
543
+ "data-n-css": this.props.nonce ?? ""
511
544
  }), this.context.isDevelopment && // this element is used to mount development styles so the
512
545
  // ordering matches production
513
546
  // (by default, style-loader injects at the bottom of <head />)
@@ -533,7 +566,7 @@ function handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {
533
566
  ],
534
567
  ...Array.isArray(bodyChildren) ? bodyChildren : [
535
568
  bodyChildren
536
- ],
569
+ ]
537
570
  ];
538
571
  _react.default.Children.forEach(combinedChildren, (child)=>{
539
572
  var ref;
@@ -544,7 +577,7 @@ function handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {
544
577
  scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([
545
578
  {
546
579
  ...child.props
547
- },
580
+ }
548
581
  ]);
549
582
  return;
550
583
  } else if ([
@@ -591,7 +624,7 @@ class NextScript extends _react.default.Component {
591
624
  }
592
625
  }
593
626
  render() {
594
- const { assetPrefix , inAmpMode , buildManifest , unstable_runtimeJS , docComponentsRendered , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin , } = this.context;
627
+ const { assetPrefix , inAmpMode , buildManifest , unstable_runtimeJS , docComponentsRendered , devOnlyCacheBusterQueryString , disableOptimizedLoading , crossOrigin } = this.context;
595
628
  const disableRuntimeJS = unstable_runtimeJS === false;
596
629
  docComponentsRendered.NextScript = true;
597
630
  if ( true && inAmpMode) {
@@ -601,7 +634,7 @@ class NextScript extends _react.default.Component {
601
634
  const ampDevFiles = [
602
635
  ...buildManifest.devFiles,
603
636
  ...buildManifest.polyfillFiles,
604
- ...buildManifest.ampDevFiles,
637
+ ...buildManifest.ampDevFiles
605
638
  ];
606
639
  return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, disableRuntimeJS ? null : /*#__PURE__*/ _react.default.createElement("script", {
607
640
  id: "__NEXT_DATA__",
@@ -640,7 +673,7 @@ class NextScript extends _react.default.Component {
640
673
  }
641
674
  exports.NextScript = NextScript;
642
675
  function Html(props) {
643
- const { inAmpMode , docComponentsRendered , locale , scriptLoader , __NEXT_DATA__ , } = (0, _react).useContext(_htmlContext.HtmlContext);
676
+ const { inAmpMode , docComponentsRendered , locale , scriptLoader , __NEXT_DATA__ } = (0, _react).useContext(_htmlContext.HtmlContext);
644
677
  docComponentsRendered.Html = true;
645
678
  handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);
646
679
  return /*#__PURE__*/ _react.default.createElement("html", Object.assign({}, props, {
@@ -741,7 +774,7 @@ Formats the given number using `Number#toLocaleString`.
741
774
  /***/ 56859:
742
775
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
743
776
 
744
- module.exports = __webpack_require__(23105)
777
+ module.exports = __webpack_require__(57081)
745
778
 
746
779
 
747
780
  /***/ })
@@ -8748,7 +8748,7 @@ module.exports = function () {
8748
8748
  if (!debug) {
8749
8749
  try {
8750
8750
  /* eslint global-require: off */
8751
- debug = __webpack_require__(96974)("follow-redirects");
8751
+ debug = __webpack_require__(92156)("follow-redirects");
8752
8752
  }
8753
8753
  catch (error) { /* */ }
8754
8754
  if (typeof debug !== "function") {
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/hf94cues-LcXZRCpAzQ6w/_buildManifest.js","static/hf94cues-LcXZRCpAzQ6w/_ssgManifest.js"],rootMainFiles:[],pages:{"/":["static/chunks/webpack-5752944655d749a0.js","static/chunks/framework-4556c45dd113b893.js","static/chunks/main-a75cf611e061d8f8.js","static/chunks/546-447e243fc9de2c59.js","static/css/a6154e4ca046ca13.css","static/chunks/368-8b386c3106556f62.js","static/css/6b1833fd19d3a74a.css","static/chunks/pages/index-8af7a9d7a2cd98a7.js"],"/404":["static/chunks/webpack-5752944655d749a0.js","static/chunks/framework-4556c45dd113b893.js","static/chunks/main-a75cf611e061d8f8.js","static/chunks/546-447e243fc9de2c59.js","static/css/a6154e4ca046ca13.css","static/chunks/368-8b386c3106556f62.js","static/chunks/pages/404-932294135c3206dd.js"],"/_app":["static/chunks/webpack-5752944655d749a0.js","static/chunks/framework-4556c45dd113b893.js","static/chunks/main-a75cf611e061d8f8.js","static/css/bad53af6f8616677.css","static/chunks/pages/_app-8f0df20f771045ed.js"],"/_error":["static/chunks/webpack-5752944655d749a0.js","static/chunks/framework-4556c45dd113b893.js","static/chunks/main-a75cf611e061d8f8.js","static/chunks/pages/_error-a4ba2246ff8fb532.js"]},ampFirstPages:[]};
1
+ self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":["static/chunks/react-refresh.js"],"ampDevFiles":["static/chunks/webpack.js","static/chunks/amp.js"],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":[],"pages":{"/":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/index.js"],"/_app":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_app.js"],"/_error":["static/chunks/webpack.js","static/chunks/main.js","static/chunks/pages/_error.js"]},"ampFirstPages":[]}
@@ -1 +1 @@
1
- self.__REACT_LOADABLE_MANIFEST={};
1
+ self.__REACT_LOADABLE_MANIFEST={}
@@ -1,5 +1,5 @@
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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; 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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><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"/><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/bad53af6f8616677.css" as="style"/><link rel="stylesheet" href="/_next/static/css/bad53af6f8616677.css" data-n-g=""/><link rel="preload" href="/_next/static/css/a6154e4ca046ca13.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a6154e4ca046ca13.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-5752944655d749a0.js" defer=""></script><script src="/_next/static/chunks/framework-4556c45dd113b893.js" defer=""></script><script src="/_next/static/chunks/main-a75cf611e061d8f8.js" defer=""></script><script src="/_next/static/chunks/pages/_app-8f0df20f771045ed.js" defer=""></script><script src="/_next/static/chunks/546-447e243fc9de2c59.js" defer=""></script><script src="/_next/static/chunks/368-8b386c3106556f62.js" defer=""></script><script src="/_next/static/chunks/pages/404-932294135c3206dd.js" defer=""></script><script src="/_next/static/hf94cues-LcXZRCpAzQ6w/_buildManifest.js" defer=""></script><script src="/_next/static/hf94cues-LcXZRCpAzQ6w/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="font-size:0">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__yhPFA"><a class="NotFound_link__a1OqI" href="/"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" role="img" class="NotFound_icon__zBP4O"><path 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" fill="currentColor"></path></svg><svg class="NotFound_tiles__Nxd8Z" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><style type="text/css">@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Open+Sans:wght@400;700&family=Vazirmatn:wght@300;400;700&family=Roboto+Mono&display=swap');
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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; 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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><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"/><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/eb9d57f7103525ab.css" as="style"/><link rel="stylesheet" href="/_next/static/css/eb9d57f7103525ab.css" data-n-g=""/><link rel="preload" href="/_next/static/css/c8d26240c04079b9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c8d26240c04079b9.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-59c5c889f52620d6.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-f11614d8aa7ee555.js" defer=""></script><script src="/_next/static/chunks/pages/_app-959e495f0f221247.js" defer=""></script><script src="/_next/static/chunks/724-eb48df4d1ba3df8b.js" defer=""></script><script src="/_next/static/chunks/361-d16f336a9752a55a.js" defer=""></script><script src="/_next/static/chunks/pages/404-24f9617eeb8d6dc1.js" defer=""></script><script src="/_next/static/FjrbXpI5fkt4lmko-vL_7/_buildManifest.js" defer=""></script><script src="/_next/static/FjrbXpI5fkt4lmko-vL_7/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="font-size:0">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__yhPFA"><a href="/"><a class="NotFound_link__a1OqI"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" class="NotFound_icon__zBP4O"><path 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" fill="currentColor"></path></svg><svg class="NotFound_tiles__Nxd8Z" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><style type="text/css">@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Open+Sans:wght@400;700&family=Vazirmatn:wght@300;400;700&family=Roboto+Mono&display=swap');
2
2
 
3
3
  text {
4
4
  font-family: 'Open Sans';
5
- }</style><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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":"hf94cues-LcXZRCpAzQ6w","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
5
+ }</style><g class="PlainTiles_tile__4eIjX" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" 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" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-family="Open Sans" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"FjrbXpI5fkt4lmko-vL_7","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/676.js","../chunks/664.js","../chunks/413.js","../chunks/515.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/redux/package.json","../../../node_modules/store2/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-use/package.json","../../../node_modules/react-window/package.json","../../../node_modules/react-popper/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/app-router-context.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/mitt.js","../../../node_modules/next/dist/shared/lib/router-context.js","../../../node_modules/next/dist/shared/lib/utils.js","../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","../../../node_modules/classnames/index.js","../../../node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","../../../node_modules/next/dist/shared/lib/router/utils/compare-states.js","../../../node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","../../../node_modules/next/dist/shared/lib/router/utils/format-url.js","../../../node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js","../../../node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-path.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","../../../node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","../../../node_modules/next/dist/shared/lib/router/utils/querystring.js","../../../node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","../../../node_modules/next/dist/shared/lib/router/utils/resolve-rewrites.js","../../../node_modules/next/dist/shared/lib/router/utils/route-matcher.js","../../../node_modules/next/dist/shared/lib/router/utils/route-regex.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/redux/lib/redux.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-use/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/react-popper/lib/cjs/index.js","../../../node_modules/@reduxjs/toolkit/dist/index.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/uuid/package.json","../../../node_modules/uuid/wrapper.mjs","../../../node_modules/uuid/dist/index.js","../../../node_modules/next/dist/client/remove-base-path.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/_extends.js","../../../node_modules/@swc/helpers/lib/_interop_require_default.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/lib/_async_to_generator.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/react-redux/lib/exports.js","../../../node_modules/react-portal/lib/PortalCompat.js","../../../node_modules/react-portal/lib/PortalWithState.js","../../../node_modules/react-use/lib/useAsync.js","../../../node_modules/react-use/lib/useAsyncRetry.js","../../../node_modules/react-use/lib/useAsyncFn.js","../../../node_modules/react-use/lib/useAudio.js","../../../node_modules/react-use/lib/useBattery.js","../../../node_modules/react-use/lib/useBeforeUnload.js","../../../node_modules/react-use/lib/useBoolean.js","../../../node_modules/react-use/lib/useClickAway.js","../../../node_modules/react-use/lib/useCookie.js","../../../node_modules/react-use/lib/useCopyToClipboard.js","../../../node_modules/react-use/lib/useCounter.js","../../../node_modules/react-use/lib/useCss.js","../../../node_modules/react-use/lib/useCustomCompareEffect.js","../../../node_modules/react-use/lib/useDebounce.js","../../../node_modules/react-use/lib/useDefault.js","../../../node_modules/react-use/lib/useDrop.js","../../../node_modules/react-use/lib/useDeepCompareEffect.js","../../../node_modules/react-use/lib/useDropArea.js","../../../node_modules/react-use/lib/useEffectOnce.js","../../../node_modules/react-use/lib/useEvent.js","../../../node_modules/react-use/lib/useEnsuredForwardedRef.js","../../../node_modules/react-use/lib/useError.js","../../../node_modules/react-use/lib/useFavicon.js","../../../node_modules/react-use/lib/useFullscreen.js","../../../node_modules/react-use/lib/useGeolocation.js","../../../node_modules/react-use/lib/useGetSet.js","../../../node_modules/react-use/lib/useGetSetState.js","../../../node_modules/react-use/lib/useHover.js","../../../node_modules/react-use/lib/useHarmonicIntervalFn.js","../../../node_modules/react-use/lib/useHoverDirty.js","../../../node_modules/react-use/lib/useIdle.js","../../../node_modules/react-use/lib/useIntersection.js","../../../node_modules/react-use/lib/useInterval.js","../../../node_modules/react-use/lib/useIsomorphicLayoutEffect.js","../../../node_modules/react-use/lib/useKey.js","../../../node_modules/react-use/lib/useKeyPress.js","../../../node_modules/react-use/lib/useKeyPressEvent.js","../../../node_modules/react-use/lib/useLatest.js","../../../node_modules/react-use/lib/useLifecycles.js","../../../node_modules/react-use/lib/useList.js","../../../node_modules/react-use/lib/useLocalStorage.js","../../../node_modules/react-use/lib/useLocation.js","../../../node_modules/react-use/lib/useLockBodyScroll.js","../../../node_modules/react-use/lib/useLogger.js","../../../node_modules/react-use/lib/useLongPress.js","../../../node_modules/react-use/lib/useMap.js","../../../node_modules/react-use/lib/useMedia.js","../../../node_modules/react-use/lib/useMediaDevices.js","../../../node_modules/react-use/lib/useMediatedState.js","../../../node_modules/react-use/lib/useMethods.js","../../../node_modules/react-use/lib/useMotion.js","../../../node_modules/react-use/lib/useMount.js","../../../node_modules/react-use/lib/useMountedState.js","../../../node_modules/react-use/lib/useMouse.js","../../../node_modules/react-use/lib/useMouseHovered.js","../../../node_modules/react-use/lib/useMouseWheel.js","../../../node_modules/react-use/lib/useNetworkState.js","../../../node_modules/react-use/lib/useNumber.js","../../../node_modules/react-use/lib/useObservable.js","../../../node_modules/react-use/lib/useOrientation.js","../../../node_modules/react-use/lib/usePageLeave.js","../../../node_modules/react-use/lib/usePermission.js","../../../node_modules/react-use/lib/usePrevious.js","../../../node_modules/react-use/lib/usePreviousDistinct.js","../../../node_modules/react-use/lib/usePromise.js","../../../node_modules/react-use/lib/useQueue.js","../../../node_modules/react-use/lib/useRaf.js","../../../node_modules/react-use/lib/useRafLoop.js","../../../node_modules/react-use/lib/useRafState.js","../../../node_modules/react-use/lib/useSearchParam.js","../../../node_modules/react-use/lib/useScratch.js","../../../node_modules/react-use/lib/useScroll.js","../../../node_modules/react-use/lib/useScrolling.js","../../../node_modules/react-use/lib/useSessionStorage.js","../../../node_modules/react-use/lib/useSetState.js","../../../node_modules/react-use/lib/useShallowCompareEffect.js","../../../node_modules/react-use/lib/useSize.js","../../../node_modules/react-use/lib/useSlider.js","../../../node_modules/react-use/lib/useSpeech.js","../../../node_modules/react-use/lib/useStartTyping.js","../../../node_modules/react-use/lib/useStateWithHistory.js","../../../node_modules/react-use/lib/useStateList.js","../../../node_modules/react-use/lib/useThrottle.js","../../../node_modules/react-use/lib/useThrottleFn.js","../../../node_modules/react-use/lib/useTimeout.js","../../../node_modules/react-use/lib/useTimeoutFn.js","../../../node_modules/react-use/lib/useTitle.js","../../../node_modules/react-use/lib/useToggle.js","../../../node_modules/react-use/lib/useTween.js","../../../node_modules/react-use/lib/useUnmount.js","../../../node_modules/react-use/lib/useUnmountPromise.js","../../../node_modules/react-use/lib/useUpdate.js","../../../node_modules/react-use/lib/useUpdateEffect.js","../../../node_modules/react-use/lib/useUpsert.js","../../../node_modules/react-use/lib/useVibrate.js","../../../node_modules/react-use/lib/useVideo.js","../../../node_modules/react-use/lib/useStateValidator.js","../../../node_modules/react-use/lib/useScrollbarWidth.js","../../../node_modules/react-use/lib/useMultiStateValidator.js","../../../node_modules/react-use/lib/useWindowScroll.js","../../../node_modules/react-use/lib/useWindowSize.js","../../../node_modules/react-use/lib/useMeasure.js","../../../node_modules/react-use/lib/usePinchZoom.js","../../../node_modules/react-use/lib/useRendersCount.js","../../../node_modules/react-use/lib/useFirstMountState.js","../../../node_modules/react-use/lib/useSet.js","../../../node_modules/react-use/lib/useHash.js","../../../node_modules/react-popper/lib/cjs/Popper.js","../../../node_modules/react-popper/lib/cjs/Manager.js","../../../node_modules/react-popper/lib/cjs/Reference.js","../../../node_modules/react-popper/lib/cjs/usePopper.js","../../../node_modules/react-redux/lib/utils/reactBatchedUpdates.js","../../../node_modules/react-redux/lib/utils/batch.js","../../../node_modules/react-redux/lib/components/connect.js","../../../node_modules/react-redux/lib/hooks/useSelector.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-use/lib/factory/createMemo.js","../../../node_modules/react-use/lib/factory/createReducerContext.js","../../../node_modules/react-use/lib/factory/createStateContext.js","../../../node_modules/react-use/lib/factory/createReducer.js","../../../node_modules/react-use/lib/factory/createBreakpoint.js","../../../node_modules/react-use/lib/factory/createGlobalState.js","../../../node_modules/uuid/dist/v1.js","../../../node_modules/uuid/dist/v3.js","../../../node_modules/uuid/dist/v4.js","../../../node_modules/uuid/dist/v5.js","../../../node_modules/uuid/dist/nil.js","../../../node_modules/uuid/dist/version.js","../../../node_modules/uuid/dist/validate.js","../../../node_modules/uuid/dist/stringify.js","../../../node_modules/uuid/dist/parse.js","../../../node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","../../../node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","../../../node_modules/next/dist/shared/lib/router/utils/add-locale.js","../../../node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","../../../node_modules/next/dist/shared/lib/router/utils/path-match.js","../../../node_modules/next/dist/shared/lib/router/utils/prepare-destination.js","../../../node_modules/next/dist/shared/lib/escape-regexp.js","../../../node_modules/react-dom/index.js","../../../node_modules/next/dist/client/has-base-path.js","../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../node_modules/uuid/dist/v35.js","../../../node_modules/uuid/dist/md5.js","../../../node_modules/uuid/dist/native.js","../../../node_modules/uuid/dist/rng.js","../../../node_modules/uuid/dist/sha1.js","../../../node_modules/uuid/dist/regex.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/hooks/useStore.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-use/lib/factory/createHTMLMediaHook.js","../../../node_modules/react-popper/lib/cjs/utils.js","../../../node_modules/react-use/lib/misc/util.js","../../../node_modules/react-use/lib/misc/isDeepEqual.js","../../../node_modules/react-use/lib/misc/hookState.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-url.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/react-redux/lib/utils/useSyncExternalStore.js","../../../node_modules/react-redux/lib/hooks/useReduxContext.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-modal/lib/components/ModalPortal.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/connect/selectorFactory.js","../../../node_modules/react-redux/lib/connect/mergeProps.js","../../../node_modules/react-redux/lib/connect/mapDispatchToProps.js","../../../node_modules/react-redux/lib/connect/mapStateToProps.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/memoize-one/package.json","../../../node_modules/memoize-one/dist/memoize-one.cjs.js","../../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/nano-css/addon/cssom.js","../../../node_modules/nano-css/addon/vcssom.js","../../../node_modules/nano-css/addon/vcssom/cssToTree.js","../../../node_modules/next/dist/compiled/path-to-regexp/index.js","../../../node_modules/react-redux/node_modules/@babel/runtime/package.json","../../../node_modules/react-redux/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/react-redux/node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/react-redux/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/react-use/lib/misc/parseTimeRanges.js","../../../node_modules/@redux-saga/core/effects/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-effects.cjs.js","../../../node_modules/use-sync-external-store/package.json","../../../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/classList.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/tslib/package.json","../../../node_modules/tslib/tslib.js","../../../node_modules/copy-to-clipboard/package.json","../../../node_modules/copy-to-clipboard/index.js","../../../node_modules/nano-css/package.json","../../../node_modules/nano-css/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/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/js-cookie/package.json","../../../node_modules/js-cookie/src/js.cookie.js","../../../node_modules/screenfull/package.json","../../../node_modules/screenfull/dist/screenfull.js","../../../node_modules/set-harmonic-interval/package.json","../../../node_modules/set-harmonic-interval/lib/index.js","../../../node_modules/throttle-debounce/package.json","../../../node_modules/throttle-debounce/cjs/index.js","../../../node_modules/react-universal-interface/package.json","../../../node_modules/react-universal-interface/lib/index.js","../../../node_modules/fast-shallow-equal/index.js","../../../node_modules/ts-easing/package.json","../../../node_modules/ts-easing/lib/index.js","../../../node_modules/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/react-fast-compare/package.json","../../../node_modules/react-fast-compare/index.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/@xobotyi/scrollbar-width/package.json","../../../node_modules/@xobotyi/scrollbar-width/dist/index.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/react-lifecycles-compat/package.json","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../node_modules/throttle-debounce/cjs/package.json","../../../node_modules/fast-shallow-equal/package.json","../../../node_modules/@popperjs/core/package.json","../../../node_modules/@popperjs/core/dist/cjs/popper.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/fast-deep-equal/react.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/react-modal/lib/helpers/tabbable.js","../../../node_modules/nano-css/addon/vcssom/removeRule.js","../../../node_modules/fast-deep-equal/package.json","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.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/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/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/nano-css/addon/__dev__/warnOnMissingDependencies.js","../../../node_modules/react-redux/lib/utils/isPlainObject.js","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/@redux-saga/core/dist/io-0d26a232.js","../../../node_modules/@redux-saga/core/dist/io-3da4d602.js","../../../node_modules/reselect/lib/defaultMemoize.js","../../../node_modules/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/react-universal-interface/lib/render.js","../../../node_modules/react-universal-interface/lib/createEnhancer.js","../../../node_modules/react-universal-interface/lib/hookToRenderProp.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/toggle-selection/package.json","../../../node_modules/toggle-selection/index.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/react-universal-interface/lib/addClassDecoratorSupport.js","../../../node_modules/@redux-saga/delay-p/package.json","../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.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/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/react-universal-interface/lib/wrapInStatefulComponent.js","../../../node_modules/object-assign/package.json","../../../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/210.js","../chunks/676.js","../chunks/664.js","../chunks/579.js","../chunks/176.js","../../package.json","../../../node_modules/classnames/package.json","../../../node_modules/react-redux/package.json","../../../node_modules/redux/package.json","../../../node_modules/store2/package.json","../../../node_modules/react-modal/package.json","../../../node_modules/react-portal/package.json","../../../node_modules/react-use/package.json","../../../node_modules/react-window/package.json","../../../node_modules/react-popper/package.json","../../../node_modules/@reduxjs/toolkit/package.json","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/app-router-context.js","../../../node_modules/next/dist/shared/lib/head-manager-context.js","../../../node_modules/next/dist/shared/lib/mitt.js","../../../node_modules/next/dist/shared/lib/router-context.js","../../../node_modules/next/dist/shared/lib/utils.js","../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js","../../../node_modules/classnames/index.js","../../../node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js","../../../node_modules/next/dist/shared/lib/router/utils/compare-states.js","../../../node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js","../../../node_modules/next/dist/shared/lib/router/utils/format-url.js","../../../node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js","../../../node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js","../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-path.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js","../../../node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js","../../../node_modules/next/dist/shared/lib/router/utils/querystring.js","../../../node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js","../../../node_modules/next/dist/shared/lib/router/utils/resolve-rewrites.js","../../../node_modules/next/dist/shared/lib/router/utils/route-matcher.js","../../../node_modules/next/dist/shared/lib/router/utils/route-regex.js","../../../node_modules/react-redux/lib/index.js","../../../node_modules/redux/lib/redux.js","../../../node_modules/store2/dist/store2.js","../../../node_modules/react-modal/lib/index.js","../../../node_modules/react-portal/lib/index.js","../../../node_modules/react-use/lib/index.js","../../../node_modules/react-window/dist/index.cjs.js","../../../node_modules/react-popper/lib/cjs/index.js","../../../node_modules/@reduxjs/toolkit/dist/index.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/uuid/package.json","../../../node_modules/uuid/wrapper.mjs","../../../node_modules/uuid/dist/index.js","../../../node_modules/react-dom/index.js","../../../node_modules/next/dist/client/remove-base-path.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/_async_to_generator.js","../../../node_modules/@swc/helpers/lib/_interop_require_wildcard.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/@swc/helpers/lib/_extends.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-popper/lib/cjs/Popper.js","../../../node_modules/react-popper/lib/cjs/Manager.js","../../../node_modules/react-popper/lib/cjs/Reference.js","../../../node_modules/react-popper/lib/cjs/usePopper.js","../../../node_modules/react-use/lib/useAsync.js","../../../node_modules/react-use/lib/useAsyncRetry.js","../../../node_modules/react-use/lib/useAudio.js","../../../node_modules/react-use/lib/useAsyncFn.js","../../../node_modules/react-use/lib/useBattery.js","../../../node_modules/react-use/lib/useBeforeUnload.js","../../../node_modules/react-use/lib/useBoolean.js","../../../node_modules/react-use/lib/useClickAway.js","../../../node_modules/react-use/lib/useCookie.js","../../../node_modules/react-use/lib/useCopyToClipboard.js","../../../node_modules/react-use/lib/useCounter.js","../../../node_modules/react-use/lib/useCss.js","../../../node_modules/react-use/lib/useCustomCompareEffect.js","../../../node_modules/react-use/lib/useDebounce.js","../../../node_modules/react-use/lib/useDeepCompareEffect.js","../../../node_modules/react-use/lib/useDefault.js","../../../node_modules/react-use/lib/useDrop.js","../../../node_modules/react-use/lib/useDropArea.js","../../../node_modules/react-use/lib/useEffectOnce.js","../../../node_modules/react-use/lib/useEnsuredForwardedRef.js","../../../node_modules/react-use/lib/useEvent.js","../../../node_modules/react-use/lib/useError.js","../../../node_modules/react-use/lib/useFavicon.js","../../../node_modules/react-use/lib/useFullscreen.js","../../../node_modules/react-use/lib/useGeolocation.js","../../../node_modules/react-use/lib/useGetSet.js","../../../node_modules/react-use/lib/useGetSetState.js","../../../node_modules/react-use/lib/useHarmonicIntervalFn.js","../../../node_modules/react-use/lib/useHover.js","../../../node_modules/react-use/lib/useHoverDirty.js","../../../node_modules/react-use/lib/useIdle.js","../../../node_modules/react-use/lib/useIntersection.js","../../../node_modules/react-use/lib/useInterval.js","../../../node_modules/react-use/lib/useIsomorphicLayoutEffect.js","../../../node_modules/react-use/lib/useKey.js","../../../node_modules/react-use/lib/useKeyPress.js","../../../node_modules/react-use/lib/useKeyPressEvent.js","../../../node_modules/react-use/lib/useLatest.js","../../../node_modules/react-use/lib/useLifecycles.js","../../../node_modules/react-use/lib/useList.js","../../../node_modules/react-use/lib/useLocation.js","../../../node_modules/react-use/lib/useLockBodyScroll.js","../../../node_modules/react-use/lib/useLocalStorage.js","../../../node_modules/react-use/lib/useLogger.js","../../../node_modules/react-use/lib/useLongPress.js","../../../node_modules/react-use/lib/useMap.js","../../../node_modules/react-use/lib/useMedia.js","../../../node_modules/react-use/lib/useMediaDevices.js","../../../node_modules/react-use/lib/useMediatedState.js","../../../node_modules/react-use/lib/useMethods.js","../../../node_modules/react-use/lib/useMotion.js","../../../node_modules/react-use/lib/useMount.js","../../../node_modules/react-use/lib/useMountedState.js","../../../node_modules/react-use/lib/useMouse.js","../../../node_modules/react-use/lib/useMouseHovered.js","../../../node_modules/react-use/lib/useMouseWheel.js","../../../node_modules/react-use/lib/useNetworkState.js","../../../node_modules/react-use/lib/useObservable.js","../../../node_modules/react-use/lib/useNumber.js","../../../node_modules/react-use/lib/useOrientation.js","../../../node_modules/react-use/lib/usePageLeave.js","../../../node_modules/react-use/lib/usePermission.js","../../../node_modules/react-use/lib/usePrevious.js","../../../node_modules/react-use/lib/usePreviousDistinct.js","../../../node_modules/react-use/lib/usePromise.js","../../../node_modules/react-use/lib/useQueue.js","../../../node_modules/react-use/lib/useRaf.js","../../../node_modules/react-use/lib/useRafLoop.js","../../../node_modules/react-use/lib/useRafState.js","../../../node_modules/react-use/lib/useSearchParam.js","../../../node_modules/react-use/lib/useScratch.js","../../../node_modules/react-use/lib/useScroll.js","../../../node_modules/react-use/lib/useScrolling.js","../../../node_modules/react-use/lib/useSessionStorage.js","../../../node_modules/react-use/lib/useSetState.js","../../../node_modules/react-use/lib/useShallowCompareEffect.js","../../../node_modules/react-use/lib/useSize.js","../../../node_modules/react-use/lib/useSlider.js","../../../node_modules/react-use/lib/useSpeech.js","../../../node_modules/react-use/lib/useStartTyping.js","../../../node_modules/react-use/lib/useStateWithHistory.js","../../../node_modules/react-use/lib/useStateList.js","../../../node_modules/react-use/lib/useThrottle.js","../../../node_modules/react-use/lib/useThrottleFn.js","../../../node_modules/react-use/lib/useTimeout.js","../../../node_modules/react-use/lib/useTimeoutFn.js","../../../node_modules/react-use/lib/useTitle.js","../../../node_modules/react-use/lib/useToggle.js","../../../node_modules/react-use/lib/useTween.js","../../../node_modules/react-use/lib/useUnmount.js","../../../node_modules/react-use/lib/useUnmountPromise.js","../../../node_modules/react-use/lib/useUpdate.js","../../../node_modules/react-use/lib/useUpdateEffect.js","../../../node_modules/react-use/lib/useUpsert.js","../../../node_modules/react-use/lib/useVibrate.js","../../../node_modules/react-use/lib/useVideo.js","../../../node_modules/react-use/lib/useStateValidator.js","../../../node_modules/react-use/lib/useScrollbarWidth.js","../../../node_modules/react-use/lib/useMultiStateValidator.js","../../../node_modules/react-use/lib/useWindowScroll.js","../../../node_modules/react-use/lib/useWindowSize.js","../../../node_modules/react-use/lib/useMeasure.js","../../../node_modules/react-use/lib/usePinchZoom.js","../../../node_modules/react-use/lib/useRendersCount.js","../../../node_modules/react-use/lib/useFirstMountState.js","../../../node_modules/react-use/lib/useSet.js","../../../node_modules/react-use/lib/useHash.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/react-use/lib/factory/createMemo.js","../../../node_modules/react-use/lib/factory/createReducerContext.js","../../../node_modules/react-use/lib/factory/createReducer.js","../../../node_modules/react-use/lib/factory/createStateContext.js","../../../node_modules/react-use/lib/factory/createBreakpoint.js","../../../node_modules/react-use/lib/factory/createGlobalState.js","../../../node_modules/uuid/dist/v1.js","../../../node_modules/uuid/dist/v3.js","../../../node_modules/uuid/dist/v4.js","../../../node_modules/uuid/dist/v5.js","../../../node_modules/uuid/dist/nil.js","../../../node_modules/uuid/dist/version.js","../../../node_modules/uuid/dist/validate.js","../../../node_modules/uuid/dist/stringify.js","../../../node_modules/uuid/dist/parse.js","../../../node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js","../../../node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js","../../../node_modules/next/dist/shared/lib/router/utils/add-locale.js","../../../node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js","../../../node_modules/next/dist/shared/lib/escape-regexp.js","../../../node_modules/next/dist/shared/lib/router/utils/prepare-destination.js","../../../node_modules/next/dist/shared/lib/router/utils/path-match.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/cjs/react-dom.development.js","../../../node_modules/next/dist/client/has-base-path.js","../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../node_modules/uuid/dist/rng.js","../../../node_modules/uuid/dist/v35.js","../../../node_modules/uuid/dist/md5.js","../../../node_modules/uuid/dist/sha1.js","../../../node_modules/uuid/dist/native.js","../../../node_modules/uuid/dist/regex.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/hooks/useStore.js","../../../node_modules/react-redux/lib/types.js","../../../node_modules/react-redux/lib/utils/shallowEqual.js","../../../node_modules/react-portal/lib/Portal.js","../../../node_modules/react-portal/lib/LegacyPortal.js","../../../node_modules/react-popper/lib/cjs/utils.js","../../../node_modules/react-use/lib/factory/createHTMLMediaHook.js","../../../node_modules/react-use/lib/misc/util.js","../../../node_modules/react-use/lib/misc/isDeepEqual.js","../../../node_modules/react-use/lib/misc/hookState.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-url.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/useIsomorphicLayoutEffect.js","../../../node_modules/react-redux/lib/utils/Subscription.js","../../../node_modules/react-redux/lib/utils/warning.js","../../../node_modules/@babel/runtime/package.json","../../../node_modules/@babel/runtime/helpers/objectSpread2.js","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.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/next/dist/shared/lib/router/utils/sorted-routes.js","../../../node_modules/@redux-saga/core/package.json","../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../node_modules/use-sync-external-store/shim/with-selector.js","../../../node_modules/nano-css/addon/cssom.js","../../../node_modules/nano-css/addon/vcssom.js","../../../node_modules/nano-css/addon/vcssom/cssToTree.js","../../../node_modules/next/dist/compiled/path-to-regexp/index.js","../../../node_modules/react-portal/lib/utils.js","../../../node_modules/react-use/lib/misc/parseTimeRanges.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/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.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/@babel/runtime/helpers/defineProperty.js","../../../node_modules/use-sync-external-store/package.json","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/prop-types/package.json","../../../node_modules/prop-types/index.js","../../../node_modules/copy-to-clipboard/package.json","../../../node_modules/copy-to-clipboard/index.js","../../../node_modules/tslib/package.json","../../../node_modules/tslib/tslib.js","../../../node_modules/nano-css/package.json","../../../node_modules/nano-css/index.js","../../../node_modules/reselect/package.json","../../../node_modules/reselect/lib/index.js","../../../node_modules/immer/package.json","../../../node_modules/immer/dist/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/warning/package.json","../../../node_modules/warning/warning.js","../../../node_modules/react-fast-compare/package.json","../../../node_modules/react-fast-compare/index.js","../../../node_modules/js-cookie/package.json","../../../node_modules/js-cookie/src/js.cookie.js","../../../node_modules/screenfull/package.json","../../../node_modules/screenfull/dist/screenfull.js","../../../node_modules/set-harmonic-interval/package.json","../../../node_modules/set-harmonic-interval/lib/index.js","../../../node_modules/react-universal-interface/package.json","../../../node_modules/react-universal-interface/lib/index.js","../../../node_modules/throttle-debounce/package.json","../../../node_modules/throttle-debounce/cjs/index.js","../../../node_modules/fast-shallow-equal/index.js","../../../node_modules/ts-easing/package.json","../../../node_modules/ts-easing/lib/index.js","../../../node_modules/react-redux/lib/connect/verifySubselectors.js","../../../node_modules/react-redux/lib/connect/wrapMapToProps.js","../../../node_modules/react-redux/lib/connect/invalidArgFactory.js","../../../node_modules/react-redux/lib/utils/bindActionCreators.js","../../../node_modules/react-redux/lib/utils/verifyPlainObject.js","../../../node_modules/@xobotyi/scrollbar-width/package.json","../../../node_modules/@xobotyi/scrollbar-width/dist/index.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/throttle-debounce/cjs/package.json","../../../node_modules/fast-shallow-equal/package.json","../../../node_modules/scheduler/package.json","../../../node_modules/scheduler/index.js","../../../node_modules/@popperjs/core/package.json","../../../node_modules/@popperjs/core/dist/cjs/popper.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/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/fast-deep-equal/react.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/nano-css/addon/vcssom/removeRule.js","../../../node_modules/fast-deep-equal/package.json","../../../node_modules/immer/dist/immer.cjs.production.min.js","../../../node_modules/immer/dist/immer.cjs.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/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/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/nano-css/addon/__dev__/warnOnMissingDependencies.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/exenv/package.json","../../../node_modules/exenv/index.js","../../../node_modules/react-universal-interface/lib/render.js","../../../node_modules/react-universal-interface/lib/createEnhancer.js","../../../node_modules/react-universal-interface/lib/hookToRenderProp.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/cjs/scheduler.development.js","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/toggle-selection/package.json","../../../node_modules/toggle-selection/index.js","../../../node_modules/react-is/package.json","../../../node_modules/react-is/index.js","../../../node_modules/react-universal-interface/lib/addClassDecoratorSupport.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/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/react-universal-interface/lib/wrapInStatefulComponent.js","../../../node_modules/object-assign/package.json","../../../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,4 +1,4 @@
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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; 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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><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"/><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/bad53af6f8616677.css" as="style"/><link rel="stylesheet" href="/_next/static/css/bad53af6f8616677.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-5752944655d749a0.js" defer=""></script><script src="/_next/static/chunks/framework-4556c45dd113b893.js" defer=""></script><script src="/_next/static/chunks/main-a75cf611e061d8f8.js" defer=""></script><script src="/_next/static/chunks/pages/_app-8f0df20f771045ed.js" defer=""></script><script src="/_next/static/chunks/pages/_error-a4ba2246ff8fb532.js" defer=""></script><script src="/_next/static/hf94cues-LcXZRCpAzQ6w/_buildManifest.js" defer=""></script><script src="/_next/static/hf94cues-LcXZRCpAzQ6w/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="font-size:0">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>
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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble,Solver,Open-source,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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; 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 and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><link crossorigin="anonymous" href="https://fonts.gstatic.com" rel="preconnect"/><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"/><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/eb9d57f7103525ab.css" as="style"/><link rel="stylesheet" href="/_next/static/css/eb9d57f7103525ab.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-59c5c889f52620d6.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-f11614d8aa7ee555.js" defer=""></script><script src="/_next/static/chunks/pages/_app-959e495f0f221247.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8353112a01355ec2.js" defer=""></script><script src="/_next/static/FjrbXpI5fkt4lmko-vL_7/_buildManifest.js" defer=""></script><script src="/_next/static/FjrbXpI5fkt4lmko-vL_7/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="font-size:0">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>
2
2
  body { margin: 0; color: #000; background: #fff; }
3
3
  .next-error-h1 {
4
4
  border-right: 1px solid rgba(0, 0, 0, .3);
@@ -9,4 +9,4 @@
9
9
  .next-error-h1 {
10
10
  border-right: 1px solid rgba(255, 255, 255, .3);
11
11
  }
12
- }</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">500</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:49px;margin:0;padding:0">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"hf94cues-LcXZRCpAzQ6w","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
12
+ }</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">500</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:49px;margin:0;padding:0">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"FjrbXpI5fkt4lmko-vL_7","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>