scrabble-solver 2.15.4 → 2.15.5

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 (61) hide show
  1. package/.nx/workspace-data/file-map.json +409 -409
  2. package/.nx/workspace-data/lockfile.hash +1 -1
  3. package/.nx/workspace-data/nx_files.nxt +0 -0
  4. package/.nx/workspace-data/parsed-lock-file.json +75 -65
  5. package/.nx/workspace-data/project-graph.json +77 -67
  6. package/cypress/e2e/bugs/363-dictionary-input-unique-words.ts +41 -0
  7. package/cypress/e2e/bugs.spec.cy.ts +1 -0
  8. package/lerna.json +1 -1
  9. package/package.json +6 -6
  10. package/packages/configs/package.json +3 -3
  11. package/packages/constants/package.json +1 -1
  12. package/packages/dictionaries/package.json +4 -4
  13. package/packages/logger/package.json +1 -1
  14. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  15. package/packages/scrabble-solver/.next/build-manifest.json +5 -5
  16. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  17. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  18. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  19. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  20. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  21. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  22. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  28. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  29. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  30. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  31. package/packages/scrabble-solver/.next/server/chunks/67.js +1 -1
  32. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  33. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  34. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  35. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  36. package/packages/scrabble-solver/.next/server/pages/index.js +1 -1
  37. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  38. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  39. package/packages/scrabble-solver/.next/static/{ySzTsF3RIcISdWO2C2H3Z → _5S9YxXzM3OLRGGJe0qQv}/_buildManifest.js +1 -1
  40. package/packages/scrabble-solver/.next/static/chunks/pages/_app-c960503f8645e1de.js +1 -0
  41. package/packages/scrabble-solver/.next/static/chunks/pages/index-817f862d5980cebe.js +1 -0
  42. package/packages/scrabble-solver/.next/static/css/a7aa574f03b29f75.css +2 -0
  43. package/packages/scrabble-solver/.next/trace +23 -23
  44. package/packages/scrabble-solver/package.json +9 -9
  45. package/packages/scrabble-solver/public/service-worker.js +1 -1
  46. package/packages/scrabble-solver/src/components/Board/Board.tsx +1 -0
  47. package/packages/scrabble-solver/src/components/Button/Button.module.scss +16 -1
  48. package/packages/scrabble-solver/src/components/Button/Button.tsx +3 -0
  49. package/packages/scrabble-solver/src/components/Button/Link.tsx +3 -0
  50. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +14 -20
  51. package/packages/scrabble-solver/src/components/Radio/Radio.tsx +3 -1
  52. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +11 -3
  53. package/packages/scrabble-solver/src/state/sagas.ts +3 -1
  54. package/packages/solver/package.json +5 -5
  55. package/packages/types/package.json +2 -2
  56. package/packages/word-definitions/package.json +2 -2
  57. package/packages/word-lists/package.json +2 -2
  58. package/packages/scrabble-solver/.next/static/chunks/pages/_app-fb5bb6aa71eaaa4e.js +0 -1
  59. package/packages/scrabble-solver/.next/static/chunks/pages/index-6ef7d0f12c9321e2.js +0 -1
  60. package/packages/scrabble-solver/.next/static/css/35b36298aba4ccad.css +0 -2
  61. /package/packages/scrabble-solver/.next/static/{ySzTsF3RIcISdWO2C2H3Z → _5S9YxXzM3OLRGGJe0qQv}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/scrabble-solver",
3
- "version": "2.15.4",
3
+ "version": "2.15.5",
4
4
  "description": "Scrabble Solver 2 - App",
5
5
  "engines": {
6
6
  "node": ">=16"
@@ -30,13 +30,13 @@
30
30
  "@floating-ui/react": "^0.26.25",
31
31
  "@kamilmielnik/trie": "^3.1.0",
32
32
  "@reduxjs/toolkit": "^2.3.0",
33
- "@scrabble-solver/configs": "^2.15.4",
34
- "@scrabble-solver/constants": "^2.15.4",
35
- "@scrabble-solver/dictionaries": "^2.15.4",
36
- "@scrabble-solver/logger": "^2.15.4",
37
- "@scrabble-solver/solver": "^2.15.4",
38
- "@scrabble-solver/types": "^2.15.4",
39
- "@scrabble-solver/word-definitions": "^2.15.4",
33
+ "@scrabble-solver/configs": "^2.15.5",
34
+ "@scrabble-solver/constants": "^2.15.5",
35
+ "@scrabble-solver/dictionaries": "^2.15.5",
36
+ "@scrabble-solver/logger": "^2.15.5",
37
+ "@scrabble-solver/solver": "^2.15.5",
38
+ "@scrabble-solver/types": "^2.15.5",
39
+ "@scrabble-solver/word-definitions": "^2.15.5",
40
40
  "classnames": "^2.5.1",
41
41
  "env-cmd": "^10.1.0",
42
42
  "include-media": "^2.0.0",
@@ -71,7 +71,7 @@
71
71
  "@types/react-window": "^1.8.8",
72
72
  "@types/redux": "^3.6.31",
73
73
  "@types/redux-saga": "^0.10.5",
74
- "sass": "^1.80.3"
74
+ "sass": "^1.80.4"
75
75
  },
76
76
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
77
77
  }
@@ -1,2 +1,2 @@
1
1
  (()=>{"use strict";var e={2242:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Trie=void 0;let c=r(6770);class a{static deserialize(e){return new a((0,c.deserialize)(e))}static fromArray(e){return new a((0,c.fromArray)(e))}root;constructor(e={}){this.root=e}add(e){return(0,c.add)(this.root,e)}find(e){return(0,c.find)(this.root,e)}has(e){return(0,c.has)(this.root,e)}hasPrefix(e){return(0,c.hasPrefix)(this.root,e)}remove(e){return(0,c.remove)(this.root,e)}serialize(){return(0,c.serialize)(this.root)}toArray(e){return(0,c.toArray)(this.root,e)}traverse(e,t){return(0,c.traverse)(this.root,e,t)}}t.Trie=a},4521:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OPEN_PARENS=t.CLOSE_PARENS=void 0,t.CLOSE_PARENS=")",t.OPEN_PARENS="("},7194:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(2242),t),a(r(4521),t),a(r(6770),t)},6565:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0,t.add=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];r[c]||(r[c]={}),r=r[c]}return r.wordEnd=!0,r}},1565:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deserialize=void 0;let c=r(4521);t.deserialize=e=>{let t=[],r={},a=1;for(;a<e.length-1;){let i=e[a],o=e[a+1];if(++a,i===c.CLOSE_PARENS){let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e}else if(o===c.CLOSE_PARENS){r[i]={wordEnd:!0};let e=t.pop();if(!e)throw Error(`Syntax error: misplaced "${c.CLOSE_PARENS}"`);r=e,++a}else if(o===c.OPEN_PARENS){t.push(r);let e=r[i]||{};r[i]=e,r=e,++a}else r[i]={wordEnd:!0}}return r}},6325:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.find=void 0,t.find=(e,t)=>{let r=e;for(let e=0;e<t.length;++e){let c=t[e];if(!r[c])return;r=r[c]}return r}},7999:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fromArray=void 0;let c=r(6565);t.fromArray=e=>{let t={};return e.forEach(e=>(0,c.add)(t,e)),t}},8516:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.has=void 0;let c=r(6325);t.has=(e,t)=>{let r=(0,c.find)(e,t);return!!r?.wordEnd}},2464:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.hasPrefix=void 0;let c=r(6325);t.hasPrefix=(e,t)=>{let r=(0,c.find)(e,t);return!!r&&Object.keys(r).length>0}},6770:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(6565),t),a(r(1565),t),a(r(8516),t),a(r(2464),t),a(r(6325),t),a(r(7999),t),a(r(4484),t),a(r(4513),t),a(r(7994),t),a(r(5367),t),a(r(9230),t)},4484:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nodeKeyComparator=void 0,t.nodeKeyComparator=(e,t)=>"wordEnd"===e?-1:"wordEnd"===t?1:e.localeCompare(t)},4513:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.remove=void 0,t.remove=(e,r)=>{if(0===r.length)return!!e.wordEnd&&(delete e.wordEnd,!0);let c=r[0],a=e[c];return!!(a&&(0,t.remove)(a,r.substring(1)))&&(0===Object.keys(a).length&&delete e[c],!0)}},7994:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=void 0;let c=r(4521),a=(e,t)=>{let r=Object.keys(e).filter(e=>1===e.length),i=r.length>0,o="";return e.wordEnd&&(o+=t),i&&(o+=t,o+=c.OPEN_PARENS,o+=r.map(t=>a(e[t],t)).join(""),o+=c.CLOSE_PARENS),o};t.serialize=e=>a(e,"")},5367:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toArray=void 0;let c=r(9230);t.toArray=(e,t)=>{let r=[];return(0,c.traverse)(e,e=>{r.push(e)},t),r}},9230:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.traverse=void 0;let c=r(4484);t.traverse=(e,t,r={})=>{let a=[],i=0,o=e,l=r.prefix||"";for(;a.length>0||o;){for(;o;){let e=Object.keys(o);if(i>=e.length)o=void 0;else{let n=(r.sort?e.sort(c.nodeKeyComparator):e)[i];if("wordEnd"===n)++i;else if(a.push({keyIndex:i,node:o}),i=0,o=o[n],l+=n,(!r.wordsOnly||o.wordEnd)&&t({node:o,prefix:l}))return}}if(a.length>0){let e=a.pop();i=e.keyIndex+1,o=e.node,l=l.slice(0,-1)}}}},8081:()=>{try{self["workbox:core:7.0.0"]&&_()}catch(e){}},3485:()=>{try{self["workbox:expiration:7.0.0"]&&_()}catch(e){}},5248:()=>{try{self["workbox:precaching:7.0.0"]&&_()}catch(e){}},4492:()=>{try{self["workbox:routing:7.0.0"]&&_()}catch(e){}},8154:()=>{try{self["workbox:strategies:7.0.0"]&&_()}catch(e){}},4928:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(9994),t),a(r(1078),t),a(r(1128),t),a(r(4454),t)},9994:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.kelimelik=void 0;let c=r(7618),a=r(4046);t.kelimelik={bingoScore:30,blankScore:0,blanksCount:2,boardSize:15,game:a.Game.Kelimelik,name:"Kelimelik",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:2,type:c.BONUS_WORD,x:7,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:2,type:c.BONUS_WORD,x:2,y:7},{multiplier:2,type:c.BONUS_WORD,x:12,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:10},{multiplier:3,type:c.BONUS_CHARACTER,x:10,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:2,type:c.BONUS_WORD,x:7,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14}]}},1078:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.literaki=void 0;let c=r(7618),a=r(4046);t.literaki={bingoScore:50,blankScore:0,blanksCount:2,boardSize:15,game:a.Game.Literaki,name:"Literaki",rackSize:7,bonuses:[{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:c.BONUS_WORD,x:2,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:c.BONUS_WORD,x:12,y:0},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:0},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:1},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:1},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:1},{multiplier:3,type:c.BONUS_WORD,x:0,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:2},{multiplier:2,type:c.BONUS_WORD,x:5,y:2},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:2},{multiplier:3,type:c.BONUS_WORD,x:14,y:2},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:3},{multiplier:2,type:c.BONUS_WORD,x:10,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:3},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:3,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:4},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:4},{multiplier:2,type:c.BONUS_WORD,x:11,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:4},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:c.BONUS_WORD,x:2,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:5},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:5},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:5},{multiplier:2,type:c.BONUS_WORD,x:12,y:5},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:5},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:6},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:2,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:5,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:7},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:9,y:7},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:12,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:7},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:1,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:3,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:11,y:8},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:13,y:8},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:4,y:9},{multiplier:3,score:3,type:c.BONUS_CHARACTER,x:7,y:9},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:10,y:9},{multiplier:2,type:c.BONUS_WORD,x:12,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:14,y:9},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:1,y:10},{multiplier:2,type:c.BONUS_WORD,x:3,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:5,y:10},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:9,y:10},{multiplier:2,type:c.BONUS_WORD,x:11,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:13,y:10},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:2,y:11},{multiplier:2,type:c.BONUS_WORD,x:4,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:6,y:11},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:8,y:11},{multiplier:2,type:c.BONUS_WORD,x:10,y:11},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:12,y:11},{multiplier:3,type:c.BONUS_WORD,x:0,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:3,y:12},{multiplier:2,type:c.BONUS_WORD,x:5,y:12},{multiplier:3,score:1,type:c.BONUS_CHARACTER,x:7,y:12},{multiplier:2,type:c.BONUS_WORD,x:9,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:11,y:12},{multiplier:3,type:c.BONUS_WORD,x:14,y:12},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:4,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:6,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:8,y:13},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:10,y:13},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:c.BONUS_WORD,x:2,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:5,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:7,y:14},{multiplier:3,score:2,type:c.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:c.BONUS_WORD,x:12,y:14},{multiplier:3,score:5,type:c.BONUS_CHARACTER,x:14,y:14}]}},1128:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrabble=void 0;let c=r(7618),a=r(4046);t.scrabble={bingoScore:50,blankScore:0,blanksCount:2,boardSize:15,game:a.Game.Scrabble,name:"Scrabble",rackSize:7,bonuses:[{multiplier:3,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:0},{multiplier:3,type:c.BONUS_WORD,x:14,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:1},{multiplier:2,type:c.BONUS_WORD,x:13,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:c.BONUS_WORD,x:12,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:2,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:3},{multiplier:2,type:c.BONUS_WORD,x:11,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:2,type:c.BONUS_WORD,x:10,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:7},{multiplier:3,type:c.BONUS_WORD,x:14,y:7},{multiplier:2,type:c.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:3,type:c.BONUS_CHARACTER,x:13,y:9},{multiplier:2,type:c.BONUS_WORD,x:4,y:10},{multiplier:2,type:c.BONUS_WORD,x:10,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:11},{multiplier:2,type:c.BONUS_WORD,x:3,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:7,y:11},{multiplier:2,type:c.BONUS_WORD,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:11},{multiplier:2,type:c.BONUS_WORD,x:2,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:c.BONUS_WORD,x:12,y:12},{multiplier:2,type:c.BONUS_WORD,x:1,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:5,y:13},{multiplier:3,type:c.BONUS_CHARACTER,x:9,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:0,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:3,type:c.BONUS_WORD,x:7,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:14},{multiplier:3,type:c.BONUS_WORD,x:14,y:14}]}},4454:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.superScrabble=void 0;let c=r(7618),a=r(4046);t.superScrabble={bingoScore:50,blankScore:0,blanksCount:4,boardSize:21,game:a.Game.SuperScrabble,name:"Super Scrabble",rackSize:7,bonuses:[{multiplier:4,type:c.BONUS_WORD,x:0,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:c.BONUS_WORD,x:7,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:0},{multiplier:3,type:c.BONUS_WORD,x:13,y:0},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:0},{multiplier:4,type:c.BONUS_WORD,x:20,y:0},{multiplier:2,type:c.BONUS_WORD,x:1,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:1},{multiplier:2,type:c.BONUS_WORD,x:8,y:1},{multiplier:2,type:c.BONUS_WORD,x:12,y:1},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:1},{multiplier:2,type:c.BONUS_WORD,x:19,y:1},{multiplier:2,type:c.BONUS_WORD,x:2,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:2},{multiplier:2,type:c.BONUS_WORD,x:9,y:2},{multiplier:2,type:c.BONUS_WORD,x:11,y:2},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:2},{multiplier:2,type:c.BONUS_WORD,x:18,y:2},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:3},{multiplier:3,type:c.BONUS_WORD,x:3,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:3},{multiplier:3,type:c.BONUS_WORD,x:10,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:3},{multiplier:3,type:c.BONUS_WORD,x:17,y:3},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:3},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:c.BONUS_WORD,x:4,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:c.BONUS_WORD,x:16,y:4},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:4},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:5},{multiplier:2,type:c.BONUS_WORD,x:5,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:5},{multiplier:2,type:c.BONUS_WORD,x:15,y:5},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:5},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:6},{multiplier:2,type:c.BONUS_WORD,x:6,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:c.BONUS_WORD,x:14,y:6},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:6},{multiplier:3,type:c.BONUS_WORD,x:0,y:7},{multiplier:2,type:c.BONUS_WORD,x:7,y:7},{multiplier:2,type:c.BONUS_WORD,x:13,y:7},{multiplier:3,type:c.BONUS_WORD,x:20,y:7},{multiplier:2,type:c.BONUS_WORD,x:1,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:8},{multiplier:2,type:c.BONUS_WORD,x:19,y:8},{multiplier:2,type:c.BONUS_WORD,x:2,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:9},{multiplier:2,type:c.BONUS_WORD,x:18,y:9},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:10},{multiplier:3,type:c.BONUS_WORD,x:3,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:10},{multiplier:3,type:c.BONUS_WORD,x:17,y:10},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:10},{multiplier:2,type:c.BONUS_WORD,x:2,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:5,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:c.BONUS_CHARACTER,x:15,y:11},{multiplier:2,type:c.BONUS_WORD,x:18,y:11},{multiplier:2,type:c.BONUS_WORD,x:1,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:12},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:12},{multiplier:2,type:c.BONUS_WORD,x:19,y:12},{multiplier:3,type:c.BONUS_WORD,x:0,y:13},{multiplier:2,type:c.BONUS_WORD,x:7,y:13},{multiplier:2,type:c.BONUS_WORD,x:13,y:13},{multiplier:3,type:c.BONUS_WORD,x:20,y:13},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:14},{multiplier:2,type:c.BONUS_WORD,x:6,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:14},{multiplier:2,type:c.BONUS_WORD,x:14,y:14},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:14},{multiplier:4,type:c.BONUS_CHARACTER,x:2,y:15},{multiplier:2,type:c.BONUS_WORD,x:5,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:9,y:15},{multiplier:2,type:c.BONUS_CHARACTER,x:11,y:15},{multiplier:2,type:c.BONUS_WORD,x:15,y:15},{multiplier:4,type:c.BONUS_CHARACTER,x:18,y:15},{multiplier:3,type:c.BONUS_CHARACTER,x:1,y:16},{multiplier:2,type:c.BONUS_WORD,x:4,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:8,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:12,y:16},{multiplier:2,type:c.BONUS_WORD,x:16,y:16},{multiplier:3,type:c.BONUS_CHARACTER,x:19,y:16},{multiplier:2,type:c.BONUS_CHARACTER,x:0,y:17},{multiplier:3,type:c.BONUS_WORD,x:3,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:6,y:17},{multiplier:3,type:c.BONUS_WORD,x:10,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:14,y:17},{multiplier:3,type:c.BONUS_WORD,x:17,y:17},{multiplier:2,type:c.BONUS_CHARACTER,x:20,y:17},{multiplier:2,type:c.BONUS_WORD,x:2,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:5,y:18},{multiplier:2,type:c.BONUS_WORD,x:9,y:18},{multiplier:2,type:c.BONUS_WORD,x:11,y:18},{multiplier:4,type:c.BONUS_CHARACTER,x:15,y:18},{multiplier:2,type:c.BONUS_WORD,x:18,y:18},{multiplier:2,type:c.BONUS_WORD,x:1,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:4,y:19},{multiplier:2,type:c.BONUS_WORD,x:8,y:19},{multiplier:2,type:c.BONUS_WORD,x:12,y:19},{multiplier:3,type:c.BONUS_CHARACTER,x:16,y:19},{multiplier:2,type:c.BONUS_WORD,x:19,y:19},{multiplier:4,type:c.BONUS_WORD,x:0,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:3,y:20},{multiplier:3,type:c.BONUS_WORD,x:7,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:10,y:20},{multiplier:3,type:c.BONUS_WORD,x:13,y:20},{multiplier:2,type:c.BONUS_CHARACTER,x:17,y:20},{multiplier:4,type:c.BONUS_WORD,x:20,y:20}]}},7079:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=void 0;let o=i(r(6078));t.getConfig=(e,t)=>{let r=Object.values(o).find(r=>r.game===e&&r.locale===t);if(void 0===r)throw Error(`No game "${e}" in "${t}"`);return r}},6908:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.hasConfig=void 0;let o=i(r(6078));t.hasConfig=(e,t)=>Object.values(o).some(r=>r.game===e&&r.locale===t)},9418:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.languages=t.games=t.hasConfig=t.getConfig=void 0;let o=i(r(4928));t.games=o;let l=i(r(6078));t.languages=l;var n=r(7079);Object.defineProperty(t,"getConfig",{enumerable:!0,get:function(){return n.getConfig}});var s=r(6908);Object.defineProperty(t,"hasConfig",{enumerable:!0,get:function(){return s.hasConfig}})},3505:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.englishUsLiteraki=t.englishUsSuperScrabble=t.englishUsScrabble=t.englishGbLiteraki=t.englishGbSuperScrabble=t.englishGbScrabble=void 0;let c=r(4046),a=r(4928);t.englishGbScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_GB,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishGbLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_GB,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabble=new c.Config({...a.scrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.EN_US,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishUsLiteraki=new c.Config({...a.literaki,locale:c.Locale.EN_US,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]})},1882:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.frenchScrabble=void 0;let c=r(4046),a=r(4928);t.frenchScrabble=new c.Config({...a.scrabble,locale:c.Locale.FR_FR,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:3,score:2},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:8,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:10},{character:"l",count:5,score:1},{character:"m",count:3,score:2},{character:"n",count:6,score:1},{character:"o",count:6,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:8},{character:"r",count:6,score:1},{character:"s",count:6,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:4},{character:"w",count:1,score:10},{character:"x",count:1,score:10},{character:"y",count:1,score:10},{character:"z",count:1,score:10}]})},5183:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.germanScrabble=void 0;let c=r(4046),a=r(4928);t.germanScrabble=new c.Config({...a.scrabble,locale:c.Locale.DE_DE,tiles:[{character:"a",count:5,score:1},{character:"\xe4",count:1,score:6},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"d",count:4,score:1},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:4,score:2},{character:"i",count:6,score:1},{character:"j",count:1,score:6},{character:"k",count:2,score:4},{character:"l",count:3,score:2},{character:"m",count:4,score:3},{character:"n",count:9,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:8},{character:"p",count:1,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:7,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"\xfc",count:1,score:6},{character:"v",count:1,score:6},{character:"w",count:1,score:3},{character:"x",count:1,score:8},{character:"y",count:1,score:10},{character:"z",count:1,score:3}]})},6078:function(e,t,r){var c=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,a)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||c(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(3505),t),a(r(5183),t),a(r(1882),t),a(r(9939),t),a(r(8128),t),a(r(8312),t),a(r(4456),t),a(r(9636),t)},9939:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.persianScrabble=void 0;let c=r(4046),a=r(4928);t.persianScrabble=new c.Config({...a.scrabble,locale:c.Locale.FA_IR,tiles:[{character:"ا",count:12,score:1},{character:"ب",count:4,score:1},{character:"پ",count:1,score:6},{character:"ت",count:4,score:1},{character:"ث",count:1,score:10},{character:"ج",count:2,score:5},{character:"چ",count:1,score:6},{character:"ح",count:1,score:6},{character:"خ",count:2,score:5},{character:"د",count:6,score:1},{character:"ذ",count:1,score:10},{character:"ر",count:7,score:1},{character:"ز",count:3,score:4},{character:"ژ",count:1,score:10},{character:"س",count:3,score:2},{character:"ش",count:3,score:3},{character:"ص",count:1,score:6},{character:"ض",count:1,score:8},{character:"ط",count:1,score:8},{character:"ظ",count:1,score:10},{character:"ع",count:2,score:5},{character:"غ",count:1,score:8},{character:"ف",count:2,score:4},{character:"ق",count:2,score:5},{character:"ک",count:3,score:3},{character:"گ",count:2,score:4},{character:"ل",count:3,score:2},{character:"م",count:5,score:1},{character:"ن",count:6,score:1},{character:"و",count:5,score:1},{character:"ه",count:5,score:1},{character:"ی",count:8,score:1}]})},8128:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.polishLiteraki=t.polishScrabble=void 0;let c=r(4046),a=r(4928);t.polishScrabble=new c.Config({...a.scrabble,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:6},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:7},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:9},{character:"ż",count:1,score:5}]}),t.polishLiteraki=new c.Config({...a.literaki,locale:c.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:5},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:5},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:5},{character:"ż",count:1,score:5}]})},8312:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.romanianSuperScrabble=t.romanianScrabble=void 0;let c=r(4046),a=r(4928);t.romanianScrabble=new c.Config({...a.scrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:11,score:1},{character:"b",count:2,score:9},{character:"c",count:5,score:1},{character:"d",count:4,score:2},{character:"e",count:9,score:1},{character:"f",count:2,score:8},{character:"g",count:2,score:9},{character:"h",count:1,score:10},{character:"i",count:10,score:1},{character:"j",count:1,score:10},{character:"l",count:4,score:1},{character:"m",count:3,score:4},{character:"n",count:6,score:1},{character:"o",count:5,score:1},{character:"p",count:4,score:2},{character:"r",count:7,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:8},{character:"x",count:1,score:10},{character:"z",count:1,score:10}]}),t.romanianSuperScrabble=new c.Config({...a.superScrabble,locale:c.Locale.RO_RO,tiles:[{character:"a",count:22,score:1},{character:"b",count:4,score:9},{character:"c",count:10,score:1},{character:"d",count:8,score:2},{character:"e",count:18,score:1},{character:"f",count:4,score:8},{character:"g",count:4,score:9},{character:"h",count:2,score:10},{character:"i",count:20,score:1},{character:"j",count:2,score:10},{character:"l",count:8,score:1},{character:"m",count:6,score:4},{character:"n",count:12,score:1},{character:"o",count:10,score:1},{character:"p",count:8,score:2},{character:"r",count:14,score:1},{character:"s",count:10,score:1},{character:"t",count:14,score:1},{character:"u",count:12,score:1},{character:"v",count:4,score:8},{character:"x",count:2,score:10},{character:"z",count:2,score:10}]})},4456:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.spanishScrabble=void 0;let c=r(4046),a=r(4928);t.spanishScrabble=new c.Config({...a.scrabble,locale:c.Locale.ES_ES,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:4,score:3},{character:"ch",count:1,score:5},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:1,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:6,score:1},{character:"j",count:1,score:8},{character:"ll",count:1,score:8},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:5,score:1},{character:"\xf1",count:1,score:8},{character:"o",count:9,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:5},{character:"r",count:5,score:1},{character:"rr",count:1,score:8},{character:"s",count:6,score:1},{character:"t",count:4,score:1},{character:"u",count:5,score:1},{character:"v",count:1,score:4},{character:"x",count:1,score:8},{character:"y",count:1,score:4},{character:"z",count:1,score:10}]})},9636:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.turkishScrabble=t.turkishKelimelik=void 0;let c=r(4046),a=r(4928);t.turkishKelimelik=new c.Config({...a.kelimelik,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]}),t.turkishScrabble=new c.Config({...a.scrabble,locale:c.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]})},7618:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VOWELS=t.CONSONANTS=t.NO_BONUS=t.EMPTY_CELL=t.BONUS_WORD=t.BONUS_CHARACTER=t.BLANK=t.COMMA_LATIN=t.COMMA_ARABIC=void 0,t.COMMA_ARABIC="،",t.COMMA_LATIN=",",t.BLANK=" ",t.BONUS_CHARACTER="BONUS_CHARACTER",t.BONUS_WORD="BONUS_WORD",t.EMPTY_CELL=" ",t.NO_BONUS={characterMultiplier:1,wordMultiplier:1},t.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),t.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},3300:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{let{twoCharacterTiles:r}=e,{cells:c}=t;for(let e=0;e<c.length-1;++e){let t=c[e],a=c[e+1],i=t.tile.character+a.tile.character;if(r.includes(i))return!1}return!0}},882:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fillPatternRecursive=void 0;let c=r(7618),a=r(4046);t.fillPatternRecursive=(e,r,i,o,l,n)=>{let s=o.getIndexOfFirstCellWithoutTile();if(-1===s){r.has(l)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone()));return}for(let u=0;u<n.length;++u){let h=n[u],p=o.cells[s].tile;o.cells[s].tile=h;let y=o.getIndexOfFirstCellWithoutTile(),d=l.indexOf(c.EMPTY_CELL),f=l.substring(0,d),m=l.substring(d+1);for(let c of h.isBlank?i.alphabet:[h.character]){let l=f+c,s=l+m;h.character=c,-1===y?r.has(s)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new a.FinalPattern(o.clone())):r.hasPrefix(l)&&(n.splice(u,1),(0,t.fillPatternRecursive)(e,r,i,o,s,n),n.splice(u,0,h))}o.cells[s].tile=p}},t.default=(e,r,c,a)=>{if(c.getEmptyCellsCount()>a.length)return[];let i=[];return(0,t.fillPatternRecursive)(i,e,r,c,c.toString(),a),i}},7413:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{if(0===e.length)return[];let r=[];for(let c=t+1;c<e.length-1;++c)e[c+1].hasTile()||r.push(c);return r.push(e.length-1),r}},2178:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(4046),i=c(r(6767)),o=c(r(592));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getRow(e),vectorsCount:e.boardSize}).flatMap(r=>(0,i.default)({board:t,config:e,PatternModel:a.HorizontalPattern,cells:r}))},6767:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(7413)),i=c(r(4447));t.default=({board:e,cells:t,config:r,PatternModel:c})=>(0,i.default)(t).flatMap(i=>{let o=(0,a.default)(t,i),l=[];for(let a of o){let o=new c(e,t.slice(i,a+1));o.canBePlaced(r)&&l.push(o)}return l})},1728:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(2178)),i=c(r(7283));t.default=(e,t)=>{let r=(0,a.default)(e,t),c=(0,i.default)(e,t);return r.concat(c)}},4447:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{if(0===e.length)return[];let t=[0];for(let r=1;r<e.length-1;++r)e[r-1].hasTile()||t.push(r);return t}},592:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=({getNthVector:e,vectorsCount:t})=>Array.from({length:t},(t,r)=>e(r))},7283:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(4046),i=c(r(6767)),o=c(r(592));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getColumn(e),vectorsCount:e.boardSize}).flatMap(r=>(0,i.default)({board:t,config:e,PatternModel:a.VerticalPattern,cells:r}))},5228:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let c=r(7618);t.default=(e,t)=>{let r=t.reduce(({multiplier:t,score:r},a)=>{let i=e.getCellBonus(a),{characterMultiplier:o,wordMultiplier:l}=i&&i.canApply(e,a)?i.value:c.NO_BONUS,n=e.pointsMap[a.tile.character]||0;return{multiplier:t*l,score:r+(a.tile.isBlank?e.blankScore:n)*o}},{multiplier:1,score:0});return r.score*r.multiplier}},3884:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>e.cells.filter(e=>e.isEmpty).map(e=>{let t=e.tile.isBlank?"!":"",r=e.tile.character+t;return[e.x,e.y,r].join(",")}).join("-")},5414:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(5228));t.default=(e,t)=>{let r=t.getEmptyCellsCount()===e.rackSize?e.bingoScore:0;return t.getCollisions().reduce((t,r)=>t+(0,a.default)(e,r.cells),(0,a.default)(e,t.cells))+r}},2814:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(3884));t.default=e=>{let t=new Set,r=[];for(let c of e){let e=(0,a.default)(c);t.has(e)||(t.add(e),r.push(c))}return r}},3585:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.solve=t.getUniquePatterns=t.getPatternScore=t.getPatternHash=t.getCellsScore=t.generateVerticalPatterns=t.generateVectors=t.generateStartIndices=t.generatePatterns=t.generatePattern=t.generateHorizontalPatterns=t.generateEndIndices=t.fillPattern=t.areDigraphsValid=void 0;var a=r(3300);Object.defineProperty(t,"areDigraphsValid",{enumerable:!0,get:function(){return c(a).default}});var i=r(882);Object.defineProperty(t,"fillPattern",{enumerable:!0,get:function(){return c(i).default}});var o=r(7413);Object.defineProperty(t,"generateEndIndices",{enumerable:!0,get:function(){return c(o).default}});var l=r(2178);Object.defineProperty(t,"generateHorizontalPatterns",{enumerable:!0,get:function(){return c(l).default}});var n=r(6767);Object.defineProperty(t,"generatePattern",{enumerable:!0,get:function(){return c(n).default}});var s=r(1728);Object.defineProperty(t,"generatePatterns",{enumerable:!0,get:function(){return c(s).default}});var u=r(4447);Object.defineProperty(t,"generateStartIndices",{enumerable:!0,get:function(){return c(u).default}});var h=r(592);Object.defineProperty(t,"generateVectors",{enumerable:!0,get:function(){return c(h).default}});var p=r(7283);Object.defineProperty(t,"generateVerticalPatterns",{enumerable:!0,get:function(){return c(p).default}});var y=r(5228);Object.defineProperty(t,"getCellsScore",{enumerable:!0,get:function(){return c(y).default}});var d=r(3884);Object.defineProperty(t,"getPatternHash",{enumerable:!0,get:function(){return c(d).default}});var f=r(5414);Object.defineProperty(t,"getPatternScore",{enumerable:!0,get:function(){return c(f).default}});var m=r(2814);Object.defineProperty(t,"getUniquePatterns",{enumerable:!0,get:function(){return c(m).default}});var O=r(6569);Object.defineProperty(t,"solve",{enumerable:!0,get:function(){return c(O).default}})},6569:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(3300)),i=c(r(882)),o=c(r(1728)),l=c(r(5414)),n=c(r(2814));t.default=(e,t,r,c)=>{let s=(0,o.default)(t,r).flatMap(r=>(0,i.default)(e,t,r,c)),u=t.twoCharacterTiles.length>0?s.filter(e=>(0,a.default)(t,e)):s;return(0,n.default)(u).map((e,r)=>({cells:e.cells.map(e=>e.toJson()),collisions:e.getCollisions().map(e=>e.cells.map(e=>e.toJson())),id:r,points:(0,l.default)(t,e)}))}},559:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(7618),i=c(r(2251)),o=c(r(5275));class l{static create(e){return l.fromStringArray(Array(e).fill(Array(e).fill(" ").join("")))}static fromJson(e){return new l({rows:e.map(e=>e.map(i.default.fromJson))})}static fromStringArray(e){return new l({rows:e.map((e,t)=>e.split("").map((e,r)=>new i.default({isEmpty:!e||e===a.EMPTY_CELL,tile:e===a.EMPTY_CELL?o.default.Null:new o.default({character:e}),x:r,y:t})))})}constructor({rows:e}){this.rows=e,this.columnsCount=e[0].length,this.rowsCount=e.length}get center(){let e=Math.floor(this.columnsCount/2),t=Math.floor(this.rowsCount/2);return this.rows[t][e]}clone(){return new l({rows:this.rows.map(e=>e.map(e=>e.clone()))})}collides(e){return this.collidesUp(e)||this.collidesDown(e)||this.collidesLeft(e)||this.collidesRight(e)}collidesDown({x:e,y:t}){return t<this.rowsCount-1&&!this.rows[t+1][e].isEmpty}collidesLeft({x:e,y:t}){return e>0&&!this.rows[t][e-1].isEmpty}collidesRight({x:e,y:t}){return e<this.columnsCount-1&&!this.rows[t][e+1].isEmpty}collidesUp({x:e,y:t}){return t>0&&!this.rows[t-1][e].isEmpty}equals(e){return this.columnsCount===e.columnsCount&&this.rowsCount===e.rowsCount&&this.rows.every((t,r)=>t.every((t,c)=>t.equals(e.rows[r][c])))}getBlanksCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+(t.tile.isBlank?1:0),0),0)}getColumn(e){return this.rows.map(t=>t[e])}getRow(e){return this.rows[e]}getTilesCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+(t.hasTile()?1:0),0),0)}getWords(){let e=[];for(let t=0;t<this.columnsCount;++t){let r=[];for(let e=0;e<this.rowsCount;++e)r.push(this.rows[e][t]);e.push(r)}let t=new l({rows:e});return this.toString().split("\n").concat(t.toString().split("\n")).flatMap(e=>e.replaceAll(/\s+/g,a.EMPTY_CELL).split(" ")).filter(e=>e.length>1)}isEmpty(){return this.rows.every(e=>e.every(({isEmpty:e})=>e))}toJson(){return this.rows.map(e=>e.map(e=>e.toJson()))}toString(){return this.rows.map(e=>e.map(String).join("")).join("\n")}updateCell(e,t,r){this.rows[t][e]=r(this.rows[t][e])}updateRow(e,t){this.rows[e]=t(this.rows[e])}}t.default=l},6936:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isBoardJson=void 0;let c=r(9819);t.isBoardJson=e=>{if(!Array.isArray(e))return!1;for(let t of e){if(!Array.isArray(e))return!1;for(let e of t)if(!(0,c.isCellJson)(e))return!1}return!0}},7706:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{constructor({multiplier:e,score:t,x:r,y:c}){this.multiplier=e,this.score=t,this.x=r,this.y=c}canApply(e,t){return t.isEmpty&&this.matchesCellCoordinates(t)}matchesCellCoordinates(e){return this.x===e.x&&this.y===e.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}t.default=r},2251:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(5275));class i{static fromJson(e){return new i({isEmpty:e.isEmpty,tile:a.default.fromJson(e.tile),x:e.x,y:e.y})}constructor({isEmpty:e=!0,tile:t=a.default.Null,x:r,y:c}){this.isEmpty=e,this.tile=t,this.x=r,this.y=c}clone(){return new i({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(e){return this.x===e.x&&this.y===e.y&&this.isEmpty===e.isEmpty&&this.tile.equals(e.tile)}hasTile(){return this.tile!==a.default.Null}isCandidate(){return this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}t.default=i},9819:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isCellJson=void 0;let a=c(r(4814)),i=r(214);t.isCellJson=e=>(0,a.default)(e)&&"boolean"==typeof e.isEmpty&&((0,i.isTileJson)(e.tile)||null===e.tile)&&"number"==typeof e.x&&"number"==typeof e.y},9582:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(7618),i=c(r(7706));class o extends i.default{constructor(){super(...arguments),this.type=a.BONUS_CHARACTER}canApply(e,t){return super.canApply(e,t)&&this.matchesCellTileScore(e,t)}matchesCellTileScore(e,t){return void 0===this.score||this.score===e.pointsMap[t.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}t.default=o},8433:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(7618),i=c(r(9582)),o=c(r(8627));class l{static fromJson(e){return new l(e)}constructor(e){this.bonuses=n(e),this.config=e,this.pointsMap=u(this.config)}get alphabet(){return s(this.config)}get bingoScore(){return this.config.bingoScore}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardSize(){return this.config.boardSize}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(e=>2===e.character.length).map(e=>e.character)}getCellBonus(e){return this.bonuses.find(t=>t.matchesCellCoordinates(e))}getCellBonusValue(e){return this.getCellBonus(e)?.value||a.NO_BONUS}getCharacterPoints(e){return null===e?void 0:e===a.BLANK?this.blankScore:this.pointsMap[e]}getTwoCharacterTileByPrefix(e){if(1===e.length)return this.twoCharacterTiles.find(t=>t.startsWith(e))}getTilePoints(e){if(null!==e)return e.isBlank?this.blankScore:this.getCharacterPoints(e.character)}hasCharacter(e){return e in this.pointsMap}isTwoCharacterTilePrefix(e){return void 0!==this.getTwoCharacterTileByPrefix(e)}get rackSize(){return this.config.rackSize}get tiles(){return this.config.tiles}toJson(){return this.config}}let n=e=>e.bonuses.map(e=>{if(e.type===a.BONUS_CHARACTER)return new i.default(e);if(e.type===a.BONUS_WORD)return new o.default(e);throw Error(`Unsupported Bonus type: "${e.type}"`)}),s=e=>e.tiles.map(({character:e})=>e),u=e=>e.tiles.reduce((e,{character:t,score:r})=>({...e,[t]:r}),{});t.default=l},5905:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(3207));class i extends a.default{constructor(e){super(e.board,e.cells),this.collisions=e.getCollisions()}getCollisions(){return this.collisions}}t.default=i},2815:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isGame=void 0,function(e){e.Kelimelik="kelimelik",e.Literaki="literaki",e.Scrabble="scrabble",e.SuperScrabble="super-scrabble"}(r||(r={}));let c=Object.values(r);t.isGame=e=>c.includes(e),t.default=r},9594:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(3207));class i extends a.default{clone(){return new i(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesUp(e)||this.board.collidesDown(e))).forEach(t=>{let r=this.board.getColumn(t.x),c=t.y-1;for(;c>=0&&r[c].hasTile();)--c;let i=r.slice(c+1,t.y);for(c=t.y+1;c<r.length&&r[c].hasTile();)++c;let o=r.slice(t.y+1,c),l=[...i,t,...o];if(l.length>1){let t=new a.default(this.board,l);e.push(t)}}),e}}t.default=i},6634:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.isLocale=void 0,function(e){e.DE_DE="de-DE",e.EN_GB="en-GB",e.EN_US="en-US",e.ES_ES="es-ES",e.FA_IR="fa-IR",e.FR_FR="fr-FR",e.PL_PL="pl-PL",e.RO_RO="ro-RO",e.TR_TR="tr-TR"}(r||(r={}));let c=Object.values(r);t.isLocale=e=>c.includes(e),t.default=r},3207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.board=e,this.cells=t}canBePlaced(e){let t=this.getEmptyCellsCount();return t>=1&&t<=e.rackSize&&(this.hasAtLeast1NonEmptyCell()||this.collides()||this.goesThroughBoardCenter()&&this.board.isEmpty())}clone(){return new r(this.board,this.cells.map(e=>e.clone()))}collides(){return this.cells.some(e=>e.isEmpty&&this.board.collides(e))}getIndexOfFirstCellWithoutTile(){return this.cells.findIndex(e=>!e.hasTile())}getEmptyCellsCount(){return this.cells.filter(e=>e.isEmpty).length}goesThroughBoardCenter(){return this.cells.some(e=>e.x===this.board.center.x&&e.y===this.board.center.y&&e.isEmpty)}hasAtLeast1EmptyCell(){return this.cells.some(e=>e.isEmpty)}hasAtLeast1NonEmptyCell(){return this.cells.some(e=>!e.isEmpty)}getCollisions(){return[]}toJson(){return{cells:this.cells.map(e=>e.toJson()),collisions:this.getCollisions().map(e=>e.toJson()),word:this.toString()}}toString(){return this.cells.reduce((e,t)=>e+t.toString(),"")}}t.default=r},91:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(7618),i=c(r(2251));class o{static fromJson(e){return new o({id:e.id,cells:e.cells.map(i.default.fromJson),collisions:e.collisions.map(e=>e.map(i.default.fromJson)),points:e.points})}constructor({cells:e,id:t,collisions:r,points:c}){let a=h(e);this.blanksCount=l(a).length,this.cells=e,this.collisions=r,this.consonantsCount=n(a).length,this.id=t,this.length=e.length,this.points=c,this.pointsRatio=u(a,c),this.tiles=a,this.tilesCount=a.length,this.vowelsCount=s(a).length,this.word=p(e),this.words=y(e,r),this.wordsCount=1+this.collisions.length}toJson(){return{cells:this.cells.map(e=>e.toJson()),id:this.id,collisions:this.collisions.map(e=>e.map(e=>e.toJson())),points:this.points}}}let l=e=>e.filter(({isBlank:e})=>e),n=e=>e.filter(d),s=e=>e.filter(f),u=(e,t)=>t/e.length,h=e=>e.filter(({isEmpty:e})=>e).map(({tile:e})=>e),p=e=>e.reduce((e,t)=>e+t.toString(),""),y=(e,t)=>[e,...t].map(p),d=({character:e,isBlank:t})=>a.CONSONANTS.includes(e)&&!t,f=({character:e,isBlank:t})=>a.VOWELS.includes(e)&&!t;t.default=o},5275:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let c=r(7618);class a{static fromJson(e){return e?new a({character:e.character,isBlank:e.isBlank}):a.Null}constructor({character:e,isBlank:t=!1}){this.character=e,this.isBlank=t}clone(){return new a({character:this.character,isBlank:this.isBlank})}equals(e){return this.character===e.character&&this.isBlank===e.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}a.Null=Object.freeze({character:c.EMPTY_CELL,isBlank:!1,clone:()=>a.Null,equals:e=>e===a.Null,toJson:()=>null,toString:()=>c.EMPTY_CELL}),t.default=a},214:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isTileJson=void 0;let a=c(r(4814));t.isTileJson=e=>(0,a.default)(e)&&"string"==typeof e.character&&"boolean"==typeof e.isBlank},5168:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(3207));class i extends a.default{clone(){return new i(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesLeft(e)||this.board.collidesRight(e))).forEach(t=>{let r=this.board.getRow(t.y),c=t.x-1;for(;c>=0&&r[c].hasTile();)--c;let i=r.slice(c+1,t.x);for(c=t.x+1;c<r.length&&r[c].hasTile();)++c;let o=r.slice(t.x+1,c),l=[...i,t,...o];if(l.length>1){let t=new a.default(this.board,l);e.push(t)}}),e}}t.default=i},8627:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=r(7618),i=c(r(7706));class o extends i.default{constructor(){super(...arguments),this.type=a.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}t.default=o},1560:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r{static fromJson(e){return e?new r({definitions:e.definitions,exists:e.exists,isAllowed:e.isAllowed,word:e.word}):r.Null}constructor({definitions:e,exists:t,isAllowed:r,word:c}){this.definitions=e,this.exists=t,this.isAllowed=r,this.word=c}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}r.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null}),t.default=r},4046:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=t.isError=t.WordDefinition=t.WordBonus=t.VerticalPattern=t.isTileJson=t.Tile=t.Result=t.Pattern=t.isLocale=t.Locale=t.HorizontalPattern=t.isGame=t.Game=t.FinalPattern=t.Config=t.CharacterBonus=t.isCellJson=t.Cell=t.Bonus=t.isBoardJson=t.Board=void 0;var a=r(559);Object.defineProperty(t,"Board",{enumerable:!0,get:function(){return c(a).default}});var i=r(6936);Object.defineProperty(t,"isBoardJson",{enumerable:!0,get:function(){return i.isBoardJson}});var o=r(7706);Object.defineProperty(t,"Bonus",{enumerable:!0,get:function(){return c(o).default}});var l=r(2251);Object.defineProperty(t,"Cell",{enumerable:!0,get:function(){return c(l).default}});var n=r(9819);Object.defineProperty(t,"isCellJson",{enumerable:!0,get:function(){return n.isCellJson}});var s=r(9582);Object.defineProperty(t,"CharacterBonus",{enumerable:!0,get:function(){return c(s).default}});var u=r(8433);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return c(u).default}});var h=r(5905);Object.defineProperty(t,"FinalPattern",{enumerable:!0,get:function(){return c(h).default}});var p=r(2815);Object.defineProperty(t,"Game",{enumerable:!0,get:function(){return c(p).default}}),Object.defineProperty(t,"isGame",{enumerable:!0,get:function(){return p.isGame}});var y=r(9594);Object.defineProperty(t,"HorizontalPattern",{enumerable:!0,get:function(){return c(y).default}});var d=r(6634);Object.defineProperty(t,"Locale",{enumerable:!0,get:function(){return c(d).default}}),Object.defineProperty(t,"isLocale",{enumerable:!0,get:function(){return d.isLocale}});var f=r(3207);Object.defineProperty(t,"Pattern",{enumerable:!0,get:function(){return c(f).default}});var m=r(91);Object.defineProperty(t,"Result",{enumerable:!0,get:function(){return c(m).default}});var O=r(5275);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return c(O).default}});var R=r(214);Object.defineProperty(t,"isTileJson",{enumerable:!0,get:function(){return R.isTileJson}});var C=r(5168);Object.defineProperty(t,"VerticalPattern",{enumerable:!0,get:function(){return c(C).default}});var g=r(8627);Object.defineProperty(t,"WordBonus",{enumerable:!0,get:function(){return c(g).default}});var S=r(1560);Object.defineProperty(t,"WordDefinition",{enumerable:!0,get:function(){return c(S).default}});var A=r(6255);Object.defineProperty(t,"isError",{enumerable:!0,get:function(){return c(A).default}});var b=r(4814);Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c(b).default}})},6255:function(e,t,r){var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let a=c(r(4814));t.default=e=>!!(0,a.default)(e)&&"string"==typeof e.message},4814:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>"object"==typeof e&&null!==e}},t={};function r(c){var a=t[c];if(void 0!==a)return a.exports;var i=t[c]={exports:{}},o=!0;try{e[c].call(i.exports,i,i.exports,r),o=!1}finally{o&&delete t[c]}return i.exports}(()=>{let e,t,c,a,i;r(8081);let o=(e,...t)=>{let r=e;return t.length>0&&(r+=` :: ${JSON.stringify(t)}`),r};class l extends Error{constructor(e,t){super(o(e,t)),this.name=e,this.details=t}}let n={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},s=e=>[n.prefix,e,n.suffix].filter(e=>e&&e.length>0).join("-"),u={getPrecacheName:e=>e||s(n.precache),getRuntimeName:e=>e||s(n.runtime)};function h(e,t){let r=t();return e.waitUntil(r),r}r(5248);class p{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:r})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;r?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return r}}}class y{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let r=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return r?new Request(r,{headers:e.headers}):e},this._precacheController=e}}async function d(t,r){let c=null;if(t.url&&(c=new URL(t.url).origin),c!==self.location.origin)throw new l("cross-origin-copy-response",{origin:c});let a=t.clone(),i={headers:new Headers(a.headers),status:a.status,statusText:a.statusText},o=r?r(i):i,n=!function(){if(void 0===e){let t=new Response("");if("body"in t)try{new Response(t.body),e=!0}catch(t){e=!1}e=!1}return e}()?await a.blob():a.body;return new Response(n,o)}let f=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),"");function m(e,t){let r=new URL(e);for(let e of t)r.searchParams.delete(e);return r.href}async function O(e,t,r,c){let a=m(t.url,r);if(t.url===a)return e.match(t,c);let i=Object.assign(Object.assign({},c),{ignoreSearch:!0});for(let o of(await e.keys(t,i)))if(a===m(o.url,r))return e.match(o,c)}class R{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}let C=new Set;async function g(){for(let e of C)await e()}function S(e){return"string"==typeof e?new Request(e):e}r(8154);class A{constructor(e,t){for(let r of(this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new R,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map,this._plugins))this._pluginStateMap.set(r,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,r=S(e);if("navigate"===r.mode&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let c=this.hasCallback("fetchDidFail")?r.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))r=await e({request:r.clone(),event:t})}catch(e){if(e instanceof Error)throw new l("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let a=r.clone();try{let e;for(let c of(e=await fetch(r,"navigate"===r.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await c({event:t,request:a,response:e});return e}catch(e){throw c&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:c.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),r=t.clone();return this.waitUntil(this.cachePut(e,r)),t}async cacheMatch(e){let t;let r=S(e),{cacheName:c,matchOptions:a}=this._strategy,i=await this.getCacheKey(r,"read"),o=Object.assign(Object.assign({},a),{cacheName:c});for(let e of(t=await caches.match(i,o),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:c,matchOptions:a,cachedResponse:t,request:i,event:this.event})||void 0;return t}async cachePut(e,t){let r=S(e);await new Promise(e=>setTimeout(e,0));let c=await this.getCacheKey(r,"write");if(!t)throw new l("cache-put-with-no-response",{url:f(c.url)});let a=await this._ensureResponseSafeToCache(t);if(!a)return!1;let{cacheName:i,matchOptions:o}=this._strategy,n=await self.caches.open(i),s=this.hasCallback("cacheDidUpdate"),u=s?await O(n,c.clone(),["__WB_REVISION__"],o):null;try{await n.put(c,s?a.clone():a)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await g(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:i,oldResponse:u,newResponse:a.clone(),request:c,event:this.event});return!0}async getCacheKey(e,t){let r=`${e.url} | ${t}`;if(!this._cacheKeys[r]){let c=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))c=S(await e({mode:t,request:c,event:this.event,params:this.params}));this._cacheKeys[r]=c}return this._cacheKeys[r]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let r of this.iterateCallbacks(e))await r(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if("function"==typeof t[e]){let r=this._pluginStateMap.get(t),c=c=>{let a=Object.assign(Object.assign({},c),{state:r});return t[e](a)};yield c}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,r=!1;for(let e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,r=!0,!t)break;return!r&&t&&200!==t.status&&(t=void 0),t}}class b{constructor(e={}){this.cacheName=u.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,r="string"==typeof e.request?new Request(e.request):e.request,c=new A(this,{event:t,request:r,params:"params"in e?e.params:void 0}),a=this._getResponse(c,r,t),i=this._awaitComplete(a,c,r,t);return[a,i]}async _getResponse(e,t,r){let c;await e.runCallbacks("handlerWillStart",{event:r,request:t});try{if(!(c=await this._handle(t,e))||"error"===c.type)throw new l("no-response",{url:t.url})}catch(a){if(a instanceof Error){for(let i of e.iterateCallbacks("handlerDidError"))if(c=await i({error:a,event:r,request:t}))break}if(c);else throw a}for(let a of e.iterateCallbacks("handlerWillRespond"))c=await a({event:r,request:t,response:c});return c}async _awaitComplete(e,t,r,c){let a,i;try{a=await e}catch(e){}try{await t.runCallbacks("handlerDidRespond",{event:c,request:r,response:a}),await t.doneWaiting()}catch(e){e instanceof Error&&(i=e)}if(await t.runCallbacks("handlerDidComplete",{event:c,request:r,response:a,error:i}),t.destroy(),i)throw i}}class x extends b{constructor(e={}){e.cacheName=u.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(x.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let r;let c=t.params||{};if(this._fallbackToNetwork){let a=c.integrity,i=e.integrity,o=!i||i===a;r=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?i||a:void 0})),a&&o&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,r.clone()))}else throw new l("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return r}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let r=await t.fetch(e);if(!await t.cachePut(e,r.clone()))throw new l("bad-precaching-response",{url:e.url,status:r.status});return r}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(let[r,c]of this.plugins.entries())c!==x.copyRedirectedCacheableResponsesPlugin&&(c===x.defaultPrecacheCacheabilityPlugin&&(e=r),c.cacheWillUpdate&&t++);0===t?this.plugins.push(x.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}x.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},x.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await d(e):e};class N{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:r=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new x({cacheName:u.getPrecacheName(e),plugins:[...t,new y({precacheController:this})],fallbackToNetwork:r}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){let t=[];for(let r of e){"string"==typeof r?t.push(r):r&&void 0===r.revision&&t.push(r.url);let{cacheKey:e,url:c}=function(e){if(!e)throw new l("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:r}=e;if(!r)throw new l("add-to-cache-list-unexpected-type",{entry:e});if(!t){let e=new URL(r,location.href);return{cacheKey:e.href,url:e.href}}let c=new URL(r,location.href),a=new URL(r,location.href);return c.searchParams.set("__WB_REVISION__",t),{cacheKey:c.href,url:a.href}}(r),a="string"!=typeof r&&r.revision?"reload":"default";if(this._urlsToCacheKeys.has(c)&&this._urlsToCacheKeys.get(c)!==e)throw new l("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(c),secondEntry:e});if("string"!=typeof r&&r.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==r.integrity)throw new l("add-to-cache-list-conflicting-integrities",{url:c});this._cacheKeysToIntegrities.set(e,r.integrity)}this._urlsToCacheKeys.set(c,e),this._urlsToCacheModes.set(c,a),t.length>0&&console.warn(`Workbox is precaching URLs without revision info: ${t.join(", ")}
2
- This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}}install(e){return h(e,async()=>{let t=new p;for(let[r,c]of(this.strategy.plugins.push(t),this._urlsToCacheKeys)){let t=this._cacheKeysToIntegrities.get(c),a=this._urlsToCacheModes.get(r),i=new Request(r,{integrity:t,cache:a,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:i,event:e}))}let{updatedURLs:r,notUpdatedURLs:c}=t;return{updatedURLs:r,notUpdatedURLs:c}})}activate(e){return h(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),r=new Set(this._urlsToCacheKeys.values()),c=[];for(let a of t)r.has(a.url)||(await e.delete(a),c.push(a.url));return{deletedURLs:c}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new l("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let B=()=>(t||(t=new N),t);r(4492);let U=e=>e&&"object"==typeof e?e:{handle:e};class E{constructor(e,t,r="GET"){this.handler=U(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=U(e)}}class w extends E{constructor(e,t,r){super(({url:t})=>{let r=e.exec(t.href);if(r&&(t.origin===location.origin||0===r.index))return r.slice(1)},t,r)}}class v{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{let{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(t=>{"string"==typeof t&&(t=[t]);let r=new Request(...t);return this.handleRequest({request:r,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){let r;let c=new URL(e.url,location.href);if(!c.protocol.startsWith("http"))return;let a=c.origin===location.origin,{params:i,route:o}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:c}),l=o&&o.handler,n=e.method;if(!l&&this._defaultHandlerMap.has(n)&&(l=this._defaultHandlerMap.get(n)),!l)return;try{r=l.handle({url:c,request:e,event:t,params:i})}catch(e){r=Promise.reject(e)}let s=o&&o.catchHandler;return r instanceof Promise&&(this._catchHandler||s)&&(r=r.catch(async r=>{if(s)try{return await s.handle({url:c,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:c,request:e,event:t});throw r})),r}findMatchingRoute({url:e,sameOrigin:t,request:r,event:c}){for(let a of this._routes.get(r.method)||[]){let i;let o=a.match({url:e,sameOrigin:t,request:r,event:c});if(o)return Array.isArray(i=o)&&0===i.length?i=void 0:o.constructor===Object&&0===Object.keys(o).length?i=void 0:"boolean"==typeof o&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,U(e))}setCatchHandler(e){this._catchHandler=U(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new l("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new l("unregister-route-route-not-registered")}}let T=()=>(c||((c=new v).addFetchListener(),c.addCacheListener()),c);function P(e,t,r){let c;if("string"==typeof e){let a=new URL(e,location.href);c=new E(({url:e})=>e.href===a.href,t,r)}else if(e instanceof RegExp)c=new w(e,t,r);else if("function"==typeof e)c=new E(e,t,r);else if(e instanceof E)c=e;else throw new l("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return T().registerRoute(c),c}class D extends E{constructor(e,t){super(({request:r})=>{let c=e.getURLsToCacheKeys();for(let a of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:r="index.html",cleanURLs:c=!0,urlManipulation:a}={}){let i=new URL(e,location.href);i.hash="",yield i.href;let o=function(e,t=[]){for(let r of[...e.searchParams.keys()])t.some(e=>e.test(r))&&e.searchParams.delete(r);return e}(i,t);if(yield o.href,r&&o.pathname.endsWith("/")){let e=new URL(o.href);e.pathname+=r,yield e.href}if(c){let e=new URL(o.href);e.pathname+=".html",yield e.href}if(a)for(let e of a({url:i}))yield e.href}(r.url,t)){let t=c.get(a);if(t){let r=e.getIntegrityForCacheKey(t);return{cacheKey:t,integrity:r}}}},e.strategy)}}let H="-precache-",j=async(e,t=H)=>{let r=(await self.caches.keys()).filter(r=>r.includes(t)&&r.includes(self.registration.scope)&&r!==e);return await Promise.all(r.map(e=>self.caches.delete(e))),r};var M=r(9418),W=r(7618),k=r(3585),L=r(4046);let I=e=>0===e.length?0:e.reduce((e,t)=>e+t,0)/e.length,q="dictionary-api-cache",K=(e,t)=>t.some(t=>e instanceof t),J=new WeakMap,z=new WeakMap,F=new WeakMap,G=new WeakMap,V=new WeakMap,$={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||F.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Y(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Y(e){var t;if(e instanceof IDBRequest)return function(e){let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(Y(e.result)),c()},i=()=>{r(e.error),c()};e.addEventListener("success",a),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&J.set(t,e)}).catch(()=>{}),V.set(t,e),t}(e);if(G.has(e))return G.get(e);let r="function"==typeof(t=e)?t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(i||(i=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Q(this),e),Y(J.get(this))}:function(...e){return Y(t.apply(Q(this),e))}:function(e,...r){let c=t.call(Q(this),e,...r);return F.set(c,e.sort?e.sort():[e]),Y(c)}:(t instanceof IDBTransaction&&function(e){if(z.has(e))return;let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),c()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),c()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});z.set(e,t)}(t),K(t,a||(a=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(t,$):t;return r!==e&&(G.set(e,r),V.set(r,e)),r}let Q=e=>V.get(e),X=["get","getKey","getAll","getAllKeys","count"],Z=["put","add","delete","clear"],ee=new Map;function et(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(ee.get(t))return ee.get(t);let r=t.replace(/FromIndex$/,""),c=t!==r,a=Z.includes(r);if(!(r in(c?IDBIndex:IDBObjectStore).prototype)||!(a||X.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,a?"readwrite":"readonly"),o=i.store;return c&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),a&&i.done]))[0]};return ee.set(t,i),i}$=(e=>({...e,get:(t,r,c)=>et(t,r)||e.get(t,r,c),has:(t,r)=>!!et(t,r)||e.has(t,r)}))($),r(3485);let er="cache-entries",ec=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class ea{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(er,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),Y(r).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){let r={url:e=ec(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},c=(await this.getDb()).transaction(er,"readwrite",{durability:"relaxed"});await c.store.put(r),await c.done}async getTimestamp(e){let t=await this.getDb(),r=await t.get(er,this._getId(e));return null==r?void 0:r.timestamp}async expireEntries(e,t){let r=await this.getDb(),c=await r.transaction(er).store.index("timestamp").openCursor(null,"prev"),a=[],i=0;for(;c;){let r=c.value;r.cacheName===this._cacheName&&(e&&r.timestamp<e||t&&i>=t?a.push(c.value):i++),c=await c.continue()}let o=[];for(let e of a)await r.delete(er,e.id),o.push(e.url);return o}_getId(e){return this._cacheName+"|"+ec(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:r,upgrade:c,blocking:a,terminated:i}={}){let o=indexedDB.open(e,1),l=Y(o);return c&&o.addEventListener("upgradeneeded",e=>{c(Y(o.result),e.oldVersion,e.newVersion,Y(o.transaction),e)}),r&&o.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),l.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),l}("workbox-expiration",0,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class ei{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ea(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(let e of t)await r.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,function(e){e.then(()=>{})}(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;{let t=await this._timestampModel.getTimestamp(e),r=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<r}}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}let eo=new ei(q,{maxAgeSeconds:86400}),el=e=>"/api/dictionary/".concat(e),en=async e=>{await eo.expireEntries();let t=el(e),r=await caches.open(q),c=await r.match(t);if(void 0!==c)return await c.clone().text()},es={},eu=async e=>{let t;if(es[e]instanceof Promise)return;let r=el(e),c=fetch(r);es[e]=c;try{if(!(t=await c).ok)throw es[e]=void 0,Error("HTTP ".concat(t.status,": ").concat(t.statusText));let a=await caches.open(q);await a.put(r,t.clone()),await eo.updateTimestamp(r)}finally{es[e]=void 0}};var eh=r(7194);let ep={},ey=async e=>{let t=await en(e);if(void 0===t)return;let r=ep[e];if(void 0===r||r.dictionary!==t){let r=eh.Trie.deserialize(t);return ep[e]={dictionary:t,trie:r},r}return r.trie},ed={"Content-Type":"application/json; charset=utf-8"},ef=[],e_=[],em=()=>{if(ef.length<5||e_.length<5)return;let e=Math.min(ef.length,e_.length),t=ef.slice(0,e).sort().slice(1,-1),r=e_.slice(0,e).sort().slice(1,-1);return I(t)>I(r)},eO={"Content-Type":"application/json; charset=utf-8"};self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",()=>{self.clients.claim()}),self.addEventListener("activate",e=>{let t=u.getPrecacheName();e.waitUntil(j(t).then(e=>{}))}),function(e,t){var r;B().precache(e),r=void 0,P(new D(B(),r))}([{'revision':null,'url':'/_next/static/chunks/framework-f09231abc7b3626e.js'},{'revision':null,'url':'/_next/static/chunks/main-6e8e32bd2f4e331c.js'},{'revision':null,'url':'/_next/static/chunks/pages/404-f6889310c253b0bd.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-fb5bb6aa71eaaa4e.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-3e47b8dbcedf0fd0.js'},{'revision':null,'url':'/_next/static/chunks/pages/index-6ef7d0f12c9321e2.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-a2ab570fe85c6bb6.js'},{'revision':null,'url':'/_next/static/css/35b36298aba4ccad.css'},{'revision':null,'url':'/_next/static/css/6682db14f926d4c7.css'},{'revision':'e84b89fc3cbfd24872c3df6c1d5abd94','url':'/_next/static/ySzTsF3RIcISdWO2C2H3Z/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/ySzTsF3RIcISdWO2C2H3Z/_ssgManifest.js'}]),P(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/solve"===t.pathname},async e=>{let{request:t}=e,{board:r,characters:c,game:a,locale:i}=await t.clone().json(),o=async e=>{let t=(0,M.getConfig)(a,i),o=c.map(e=>new L.Tile({character:e,isBlank:e===W.BLANK}));return new Response(JSON.stringify((0,k.solve)(e,t,L.Board.fromJson(r),o)),{headers:ed})},l=()=>fetch(t),n=await ey(i);if(n&&void 0===em()){let e=await Promise.race([(async()=>{let e=Date.now(),t=await o(n);return ef.push(Date.now()-e),t})(),(async()=>{let e=Date.now(),t=await l();return e_.push(Date.now()-e),t})()]);return eu(i),e}let s=n&&!em()?()=>o(n):()=>l(),u=await s();return eu(i),u},"POST"),P(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/verify"===t.pathname},async e=>{let{request:t}=e,{board:r,locale:c}=await t.clone().json(),a=await ey(c);if(!a){let e=await fetch(t);return eu(c),e}let i=L.Board.fromJson(r).getWords().sort((e,t)=>e.localeCompare(t,c));return new Response(JSON.stringify({invalidWords:i.filter(e=>!a.has(e)),validWords:i.filter(e=>a.has(e))}),{headers:eO})},"POST")})()})();
2
+ This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}}install(e){return h(e,async()=>{let t=new p;for(let[r,c]of(this.strategy.plugins.push(t),this._urlsToCacheKeys)){let t=this._cacheKeysToIntegrities.get(c),a=this._urlsToCacheModes.get(r),i=new Request(r,{integrity:t,cache:a,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:i,event:e}))}let{updatedURLs:r,notUpdatedURLs:c}=t;return{updatedURLs:r,notUpdatedURLs:c}})}activate(e){return h(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),r=new Set(this._urlsToCacheKeys.values()),c=[];for(let a of t)r.has(a.url)||(await e.delete(a),c.push(a.url));return{deletedURLs:c}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,r=this.getCacheKeyForURL(t);if(r)return(await self.caches.open(this.strategy.cacheName)).match(r)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new l("non-precached-url",{url:e});return r=>(r.request=new Request(e),r.params=Object.assign({cacheKey:t},r.params),this.strategy.handle(r))}}let B=()=>(t||(t=new N),t);r(4492);let U=e=>e&&"object"==typeof e?e:{handle:e};class E{constructor(e,t,r="GET"){this.handler=U(t),this.match=e,this.method=r}setCatchHandler(e){this.catchHandler=U(e)}}class w extends E{constructor(e,t,r){super(({url:t})=>{let r=e.exec(t.href);if(r&&(t.origin===location.origin||0===r.index))return r.slice(1)},t,r)}}class v{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{let{request:t}=e,r=this.handleRequest({request:t,event:e});r&&e.respondWith(r)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,r=Promise.all(t.urlsToCache.map(t=>{"string"==typeof t&&(t=[t]);let r=new Request(...t);return this.handleRequest({request:r,event:e})}));e.waitUntil(r),e.ports&&e.ports[0]&&r.then(()=>e.ports[0].postMessage(!0))}})}handleRequest({request:e,event:t}){let r;let c=new URL(e.url,location.href);if(!c.protocol.startsWith("http"))return;let a=c.origin===location.origin,{params:i,route:o}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:c}),l=o&&o.handler,n=e.method;if(!l&&this._defaultHandlerMap.has(n)&&(l=this._defaultHandlerMap.get(n)),!l)return;try{r=l.handle({url:c,request:e,event:t,params:i})}catch(e){r=Promise.reject(e)}let s=o&&o.catchHandler;return r instanceof Promise&&(this._catchHandler||s)&&(r=r.catch(async r=>{if(s)try{return await s.handle({url:c,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:c,request:e,event:t});throw r})),r}findMatchingRoute({url:e,sameOrigin:t,request:r,event:c}){for(let a of this._routes.get(r.method)||[]){let i;let o=a.match({url:e,sameOrigin:t,request:r,event:c});if(o)return Array.isArray(i=o)&&0===i.length?i=void 0:o.constructor===Object&&0===Object.keys(o).length?i=void 0:"boolean"==typeof o&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,U(e))}setCatchHandler(e){this._catchHandler=U(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new l("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new l("unregister-route-route-not-registered")}}let T=()=>(c||((c=new v).addFetchListener(),c.addCacheListener()),c);function P(e,t,r){let c;if("string"==typeof e){let a=new URL(e,location.href);c=new E(({url:e})=>e.href===a.href,t,r)}else if(e instanceof RegExp)c=new w(e,t,r);else if("function"==typeof e)c=new E(e,t,r);else if(e instanceof E)c=e;else throw new l("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return T().registerRoute(c),c}class D extends E{constructor(e,t){super(({request:r})=>{let c=e.getURLsToCacheKeys();for(let a of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:r="index.html",cleanURLs:c=!0,urlManipulation:a}={}){let i=new URL(e,location.href);i.hash="",yield i.href;let o=function(e,t=[]){for(let r of[...e.searchParams.keys()])t.some(e=>e.test(r))&&e.searchParams.delete(r);return e}(i,t);if(yield o.href,r&&o.pathname.endsWith("/")){let e=new URL(o.href);e.pathname+=r,yield e.href}if(c){let e=new URL(o.href);e.pathname+=".html",yield e.href}if(a)for(let e of a({url:i}))yield e.href}(r.url,t)){let t=c.get(a);if(t){let r=e.getIntegrityForCacheKey(t);return{cacheKey:t,integrity:r}}}},e.strategy)}}let H="-precache-",j=async(e,t=H)=>{let r=(await self.caches.keys()).filter(r=>r.includes(t)&&r.includes(self.registration.scope)&&r!==e);return await Promise.all(r.map(e=>self.caches.delete(e))),r};var M=r(9418),W=r(7618),k=r(3585),L=r(4046);let I=e=>0===e.length?0:e.reduce((e,t)=>e+t,0)/e.length,q="dictionary-api-cache",K=(e,t)=>t.some(t=>e instanceof t),J=new WeakMap,z=new WeakMap,F=new WeakMap,G=new WeakMap,V=new WeakMap,$={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||F.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Y(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Y(e){var t;if(e instanceof IDBRequest)return function(e){let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(Y(e.result)),c()},i=()=>{r(e.error),c()};e.addEventListener("success",a),e.addEventListener("error",i)});return t.then(t=>{t instanceof IDBCursor&&J.set(t,e)}).catch(()=>{}),V.set(t,e),t}(e);if(G.has(e))return G.get(e);let r="function"==typeof(t=e)?t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(i||(i=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Q(this),e),Y(J.get(this))}:function(...e){return Y(t.apply(Q(this),e))}:function(e,...r){let c=t.call(Q(this),e,...r);return F.set(c,e.sort?e.sort():[e]),Y(c)}:(t instanceof IDBTransaction&&function(e){if(z.has(e))return;let t=new Promise((t,r)=>{let c=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),c()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),c()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});z.set(e,t)}(t),K(t,a||(a=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(t,$):t;return r!==e&&(G.set(e,r),V.set(r,e)),r}let Q=e=>V.get(e),X=["get","getKey","getAll","getAllKeys","count"],Z=["put","add","delete","clear"],ee=new Map;function et(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(ee.get(t))return ee.get(t);let r=t.replace(/FromIndex$/,""),c=t!==r,a=Z.includes(r);if(!(r in(c?IDBIndex:IDBObjectStore).prototype)||!(a||X.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,a?"readwrite":"readonly"),o=i.store;return c&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),a&&i.done]))[0]};return ee.set(t,i),i}$=(e=>({...e,get:(t,r,c)=>et(t,r)||e.get(t,r,c),has:(t,r)=>!!et(t,r)||e.has(t,r)}))($),r(3485);let er="cache-entries",ec=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class ea{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(er,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let r=indexedDB.deleteDatabase(e);t&&r.addEventListener("blocked",e=>t(e.oldVersion,e)),Y(r).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){let r={url:e=ec(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},c=(await this.getDb()).transaction(er,"readwrite",{durability:"relaxed"});await c.store.put(r),await c.done}async getTimestamp(e){let t=await this.getDb(),r=await t.get(er,this._getId(e));return null==r?void 0:r.timestamp}async expireEntries(e,t){let r=await this.getDb(),c=await r.transaction(er).store.index("timestamp").openCursor(null,"prev"),a=[],i=0;for(;c;){let r=c.value;r.cacheName===this._cacheName&&(e&&r.timestamp<e||t&&i>=t?a.push(c.value):i++),c=await c.continue()}let o=[];for(let e of a)await r.delete(er,e.id),o.push(e.url);return o}_getId(e){return this._cacheName+"|"+ec(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:r,upgrade:c,blocking:a,terminated:i}={}){let o=indexedDB.open(e,1),l=Y(o);return c&&o.addEventListener("upgradeneeded",e=>{c(Y(o.result),e.oldVersion,e.newVersion,Y(o.transaction),e)}),r&&o.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),l.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),l}("workbox-expiration",0,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class ei{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ea(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),r=await self.caches.open(this._cacheName);for(let e of t)await r.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,function(e){e.then(()=>{})}(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;{let t=await this._timestampModel.getTimestamp(e),r=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<r}}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}let eo=new ei(q,{maxAgeSeconds:86400}),el=e=>"/api/dictionary/".concat(e),en=async e=>{await eo.expireEntries();let t=el(e),r=await caches.open(q),c=await r.match(t);if(void 0!==c)return await c.clone().text()},es={},eu=async e=>{let t;if(es[e]instanceof Promise)return;let r=el(e),c=fetch(r);es[e]=c;try{if(!(t=await c).ok)throw es[e]=void 0,Error("HTTP ".concat(t.status,": ").concat(t.statusText));let a=await caches.open(q);await a.put(r,t.clone()),await eo.updateTimestamp(r)}finally{es[e]=void 0}};var eh=r(7194);let ep={},ey=async e=>{let t=await en(e);if(void 0===t)return;let r=ep[e];if(void 0===r||r.dictionary!==t){let r=eh.Trie.deserialize(t);return ep[e]={dictionary:t,trie:r},r}return r.trie},ed={"Content-Type":"application/json; charset=utf-8"},ef=[],e_=[],em=()=>{if(ef.length<5||e_.length<5)return;let e=Math.min(ef.length,e_.length),t=ef.slice(0,e).sort().slice(1,-1),r=e_.slice(0,e).sort().slice(1,-1);return I(t)>I(r)},eO={"Content-Type":"application/json; charset=utf-8"};self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",()=>{self.clients.claim()}),self.addEventListener("activate",e=>{let t=u.getPrecacheName();e.waitUntil(j(t).then(e=>{}))}),function(e,t){var r;B().precache(e),r=void 0,P(new D(B(),r))}([{'revision':'2d3ace5addeebb0be3c5e2721a596202','url':'/_next/static/_5S9YxXzM3OLRGGJe0qQv/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/_5S9YxXzM3OLRGGJe0qQv/_ssgManifest.js'},{'revision':null,'url':'/_next/static/chunks/framework-f09231abc7b3626e.js'},{'revision':null,'url':'/_next/static/chunks/main-6e8e32bd2f4e331c.js'},{'revision':null,'url':'/_next/static/chunks/pages/404-f6889310c253b0bd.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-c960503f8645e1de.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-3e47b8dbcedf0fd0.js'},{'revision':null,'url':'/_next/static/chunks/pages/index-817f862d5980cebe.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-a2ab570fe85c6bb6.js'},{'revision':null,'url':'/_next/static/css/6682db14f926d4c7.css'},{'revision':null,'url':'/_next/static/css/a7aa574f03b29f75.css'}]),P(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/solve"===t.pathname},async e=>{let{request:t}=e,{board:r,characters:c,game:a,locale:i}=await t.clone().json(),o=async e=>{let t=(0,M.getConfig)(a,i),o=c.map(e=>new L.Tile({character:e,isBlank:e===W.BLANK}));return new Response(JSON.stringify((0,k.solve)(e,t,L.Board.fromJson(r),o)),{headers:ed})},l=()=>fetch(t),n=await ey(i);if(n&&void 0===em()){let e=await Promise.race([(async()=>{let e=Date.now(),t=await o(n);return ef.push(Date.now()-e),t})(),(async()=>{let e=Date.now(),t=await l();return e_.push(Date.now()-e),t})()]);return eu(i),e}let s=n&&!em()?()=>o(n):()=>l(),u=await s();return eu(i),u},"POST"),P(e=>{let{url:t}=e;return t.origin===location.origin&&"/api/verify"===t.pathname},async e=>{let{request:t}=e,{board:r,locale:c}=await t.clone().json(),a=await ey(c);if(!a){let e=await fetch(t);return eu(c),e}let i=L.Board.fromJson(r).getWords().sort((e,t)=>e.localeCompare(t,c));return new Response(JSON.stringify({invalidWords:i.filter(e=>!a.has(e)),validWords:i.filter(e=>a.has(e))}),{headers:eO})},"POST")})()})();
@@ -178,6 +178,7 @@ const Board: FunctionComponent<Props> = ({ className }) => {
178
178
  position: floatingFocus.strategy,
179
179
  top: floatingFocus.y + cellSize,
180
180
  left: floatingFocus.x,
181
+ display: floatingFocus.isPositioned ? 'block' : 'none',
181
182
  width: cellSize,
182
183
  height: cellSize,
183
184
  opacity: hasFocus ? 1 : 0,
@@ -60,8 +60,13 @@
60
60
  .content {
61
61
  display: flex;
62
62
  align-items: center;
63
+ justify-content: center;
63
64
  gap: var(--spacing--l);
64
65
  line-height: var(--button--icon--size);
66
+
67
+ @include media('<l') {
68
+ gap: var(--spacing--m);
69
+ }
65
70
  }
66
71
 
67
72
  .icon {
@@ -74,8 +79,18 @@
74
79
  .label {
75
80
  @include ellipsis;
76
81
 
77
- flex: 1;
78
82
  font-size: var(--font--size--h3);
79
83
  transition: var(--transition);
80
84
  text-align: start;
81
85
  }
86
+
87
+ .wide {
88
+ .content {
89
+ justify-content: normal;
90
+ gap: var(--spacing--l);
91
+ }
92
+
93
+ .label {
94
+ flex: 1;
95
+ }
96
+ }
@@ -12,6 +12,7 @@ interface Props extends ButtonHTMLAttributes<HTMLButtonElement> {
12
12
  iconClassName?: string;
13
13
  tooltip?: ReactNode;
14
14
  variant?: 'default' | 'primary';
15
+ wide?: boolean;
15
16
  }
16
17
 
17
18
  const Button: FunctionComponent<Props> = ({
@@ -21,6 +22,7 @@ const Button: FunctionComponent<Props> = ({
21
22
  iconClassName,
22
23
  tooltip,
23
24
  variant = 'default',
25
+ wide,
24
26
  ...props
25
27
  }) => {
26
28
  return (
@@ -29,6 +31,7 @@ const Button: FunctionComponent<Props> = ({
29
31
  className={classNames(styles.button, className, {
30
32
  [styles.default]: variant === 'default',
31
33
  [styles.primary]: variant === 'primary',
34
+ [styles.wide]: wide,
32
35
  })}
33
36
  type="button"
34
37
  {...props}
@@ -12,6 +12,7 @@ interface Props extends AnchorHTMLAttributes<HTMLAnchorElement> {
12
12
  iconClassName?: string;
13
13
  tooltip?: ReactNode;
14
14
  variant?: 'default' | 'primary';
15
+ wide?: boolean;
15
16
  }
16
17
 
17
18
  const Link: FunctionComponent<Props> = ({
@@ -21,6 +22,7 @@ const Link: FunctionComponent<Props> = ({
21
22
  iconClassName,
22
23
  tooltip,
23
24
  variant = 'default',
25
+ wide,
24
26
  ...props
25
27
  }) => {
26
28
  return (
@@ -29,6 +31,7 @@ const Link: FunctionComponent<Props> = ({
29
31
  className={classNames(styles.button, className, {
30
32
  [styles.default]: variant === 'default',
31
33
  [styles.primary]: variant === 'primary',
34
+ [styles.wide]: wide,
32
35
  })}
33
36
  {...props}
34
37
  >
@@ -16,10 +16,8 @@ $radio-box-size: $radio-size + 2 * $radio-inner-border;
16
16
  cursor: pointer;
17
17
 
18
18
  &.checked {
19
- .icon {
20
- &::after {
21
- background-color: var(--color--primary);
22
- }
19
+ .iconContent {
20
+ background-color: var(--color--primary);
23
21
  }
24
22
  }
25
23
 
@@ -40,28 +38,24 @@ $radio-box-size: $radio-size + 2 * $radio-inner-border;
40
38
  }
41
39
 
42
40
  .icon {
41
+ display: flex;
42
+ justify-content: center;
43
+ align-items: center;
43
44
  flex: 0 0 auto;
44
- position: relative;
45
45
  width: $radio-box-size;
46
46
  height: $radio-box-size;
47
- border-radius: 50%;
48
47
  border: $radio-inner-border solid var(--color--primary);
49
- pointer-events: none;
50
-
51
- &::after {
52
- content: ' ';
53
- position: absolute;
54
- top: 50%;
55
- left: 50%;
56
- transform: translate(-50%, -50%);
57
- width: $radio-inner-size;
58
- height: $radio-inner-size;
59
- background-color: transparent;
60
- border-radius: 50%;
61
- transition: var(--transition);
62
- }
48
+ border-radius: 50%;
63
49
  }
64
50
 
65
51
  .content {
66
52
  flex: 1;
67
53
  }
54
+
55
+ .iconContent {
56
+ width: $radio-inner-size;
57
+ height: $radio-inner-size;
58
+ background-color: transparent;
59
+ border-radius: 50%;
60
+ transition: var(--transition);
61
+ }
@@ -30,7 +30,9 @@ const Radio: FunctionComponent<Props> = ({ checked, children, className, disable
30
30
  onChange={onChange}
31
31
  />
32
32
 
33
- <div aria-hidden="true" className={styles.icon} role="img" />
33
+ <div aria-hidden="true" className={styles.icon} role="img">
34
+ <div className={styles.iconContent} />
35
+ </div>
34
36
 
35
37
  <div className={styles.content}>{children}</div>
36
38
  </label>
@@ -37,16 +37,23 @@ const MenuModal: FunctionComponent<Props> = ({
37
37
  aria-label={translate('remaining-tiles')}
38
38
  className={styles.button}
39
39
  Icon={Sack}
40
+ wide
40
41
  onClick={onShowRemainingTiles}
41
42
  >
42
43
  {translate('remaining-tiles')}
43
44
  </Button>
44
45
 
45
- <Button aria-label={translate('words')} className={styles.button} Icon={CardChecklist} onClick={onShowWords}>
46
+ <Button aria-label={translate('words')} className={styles.button} Icon={CardChecklist} wide onClick={onShowWords}>
46
47
  {translate('words')}
47
48
  </Button>
48
49
 
49
- <Button aria-label={translate('dictionary')} className={styles.button} Icon={BookHalf} onClick={onShowDictionary}>
50
+ <Button
51
+ aria-label={translate('dictionary')}
52
+ className={styles.button}
53
+ Icon={BookHalf}
54
+ wide
55
+ onClick={onShowDictionary}
56
+ >
50
57
  {translate('dictionary')}
51
58
  </Button>
52
59
 
@@ -57,11 +64,12 @@ const MenuModal: FunctionComponent<Props> = ({
57
64
  Icon={Github}
58
65
  rel="noopener noreferrer"
59
66
  target="_blank"
67
+ wide
60
68
  >
61
69
  {translate('github')}
62
70
  </Button.Link>
63
71
 
64
- <Button aria-label={translate('settings')} className={styles.button} Icon={Cog} onClick={onShowSettings}>
72
+ <Button aria-label={translate('settings')} className={styles.button} Icon={Cog} wide onClick={onShowSettings}>
65
73
  <div className={styles.settings}>
66
74
  <div className={styles.settingsLabel}>{translate('settings')}</div>
67
75
  <Icon aria-hidden="true" className={styles.flag} role="img" />
@@ -167,7 +167,9 @@ function* onLocaleChange({ payload: locale }: PayloadAction<Locale>): AnyGenerat
167
167
  function* onResultCandidateChange({ payload: result }: PayloadAction<Result | null>): AnyGenerator {
168
168
  if (result) {
169
169
  const locale: Locale = yield select(selectLocale);
170
- yield put(dictionarySlice.actions.changeInput(result.words.join(LOCALE_FEATURES[locale].separator)));
170
+ const uniqueWords = Array.from(new Set(result.words));
171
+ const input = uniqueWords.join(LOCALE_FEATURES[locale].separator);
172
+ yield put(dictionarySlice.actions.changeInput(input));
171
173
  yield put(dictionarySlice.actions.submit());
172
174
  }
173
175
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/solver",
3
- "version": "2.15.4",
3
+ "version": "2.15.5",
4
4
  "description": "Scrabble Solver 2 - Solver",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@kamilmielnik/trie": "^3.1.0",
27
- "@scrabble-solver/types": "^2.15.4"
27
+ "@scrabble-solver/types": "^2.15.5"
28
28
  },
29
29
  "devDependencies": {
30
- "@scrabble-solver/configs": "^2.15.4",
31
- "@scrabble-solver/constants": "^2.15.4",
32
- "@scrabble-solver/dictionaries": "^2.15.4"
30
+ "@scrabble-solver/configs": "^2.15.5",
31
+ "@scrabble-solver/constants": "^2.15.5",
32
+ "@scrabble-solver/dictionaries": "^2.15.5"
33
33
  },
34
34
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
35
35
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/types",
3
- "version": "2.15.4",
3
+ "version": "2.15.5",
4
4
  "description": "Scrabble Solver 2 - Types",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "clean": "rimraf build/"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/constants": "^2.15.4"
26
+ "@scrabble-solver/constants": "^2.15.5"
27
27
  },
28
28
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
29
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.15.4",
3
+ "version": "2.15.5",
4
4
  "description": "Scrabble Solver 2 - Word definitions",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "clean": "rimraf build/"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/types": "^2.15.4",
26
+ "@scrabble-solver/types": "^2.15.5",
27
27
  "cheerio": "^1.0.0",
28
28
  "follow-redirects": "^1.15.9",
29
29
  "striptags": "^3.2.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-lists",
3
- "version": "2.15.4",
3
+ "version": "2.15.5",
4
4
  "description": "Scrabble Solver 2 - Word lists",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "clean": "rimraf build/"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/types": "^2.15.4",
26
+ "@scrabble-solver/types": "^2.15.5",
27
27
  "cheerio": "^1.0.0",
28
28
  "follow-redirects": "^1.15.9",
29
29
  "latinize": "^1.0.0",