@scrabble-solver/scrabble-solver 2.16.7 → 2.17.0

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 (115) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +13 -13
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  14. package/.next/diagnostics/framework.json +1 -1
  15. package/.next/next-server.js.nft.json +1 -1
  16. package/.next/prerender-manifest.json +4 -4
  17. package/.next/required-server-files.js +3 -2
  18. package/.next/required-server-files.json +3 -2
  19. package/.next/routes-manifest.json +1 -1
  20. package/.next/server/chunks/129.js +1 -0
  21. package/.next/server/chunks/30.js +1 -1
  22. package/.next/server/chunks/392.js +1 -1
  23. package/.next/server/chunks/671.js +1 -1
  24. package/.next/server/chunks/712.js +1 -1
  25. package/.next/server/chunks/785.js +1 -0
  26. package/.next/server/chunks/791.js +1 -1
  27. package/.next/server/middleware-build-manifest.js +1 -1
  28. package/.next/server/pages/404.html +1 -1
  29. package/.next/server/pages/500.html +1 -1
  30. package/.next/server/pages/_app.js +1 -1
  31. package/.next/server/pages/_app.js.nft.json +1 -1
  32. package/.next/server/pages/_error.js +1 -1
  33. package/.next/server/pages/_error.js.nft.json +1 -1
  34. package/.next/server/pages/api/dictionary/[locale]/[word].js +1 -1
  35. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  36. package/.next/server/pages/api/dictionary/[locale].js +1 -1
  37. package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  38. package/.next/server/pages/api/solve.js +1 -1
  39. package/.next/server/pages/api/solve.js.nft.json +1 -1
  40. package/.next/server/pages/api/verify.js +1 -1
  41. package/.next/server/pages/api/verify.js.nft.json +1 -1
  42. package/.next/server/pages/index.html +1 -1
  43. package/.next/server/pages/index.js +1 -1
  44. package/.next/server/pages/index.js.nft.json +1 -1
  45. package/.next/server/pages/index.json +1 -1
  46. package/.next/server/pages/not-found.html +1 -1
  47. package/.next/server/pages/not-found.js.nft.json +1 -1
  48. package/.next/server/pages-manifest.json +1 -1
  49. package/.next/server/webpack-runtime.js +1 -1
  50. package/.next/static/{vYpMmuC_yEurZGcyGVnLf → OLE8_ZInlGH7ENU0NIOpf}/_buildManifest.js +1 -1
  51. package/.next/static/chunks/583.7a46807be14c377e.js +1 -0
  52. package/.next/static/chunks/830.661816bf0de8c2f1.js +1 -0
  53. package/.next/static/chunks/{main-852475ca502b4e49.js → main-5b999f3f24ebfa84.js} +2 -2
  54. package/.next/static/chunks/pages/_app-7024e7a27ffbb2fa.js +7 -0
  55. package/.next/static/chunks/pages/{index-ec0f6aeeaf7be227.js → index-8b398b0a5d870773.js} +1 -1
  56. package/.next/static/chunks/webpack-3943d624bbb47a64.js +1 -0
  57. package/.next/static/css/aedeaada218d7280.css +2 -0
  58. package/.next/trace +21 -21
  59. package/.next/trace-build +1 -1
  60. package/next.config.js +0 -6
  61. package/package.json +11 -11
  62. package/src/components/Board/components/Cell/Cell.tsx +4 -1
  63. package/src/components/Board/hooks/useGrid.ts +17 -6
  64. package/src/components/Dictionary/Dictionary.module.scss +7 -22
  65. package/src/components/Dictionary/Dictionary.tsx +1 -8
  66. package/src/components/Results/Result.tsx +0 -3
  67. package/src/components/Results/Results.module.scss +0 -1
  68. package/src/components/Results/Results.tsx +10 -2
  69. package/src/components/Results/types.ts +3 -3
  70. package/src/components/Solver/Solver.tsx +4 -3
  71. package/src/components/Tooltip/useTooltip.ts +1 -1
  72. package/src/pages/api/dictionary/[locale]/[word].ts +2 -2
  73. package/src/pages/api/dictionary/[locale]/index.ts +80 -3
  74. package/src/pages/api/solve.ts +2 -2
  75. package/src/pages/api/verify.ts +12 -3
  76. package/src/sdk/solve.ts +13 -7
  77. package/src/sdk/verify.ts +12 -6
  78. package/src/service-worker/appShell.test.ts +86 -0
  79. package/src/service-worker/appShell.ts +39 -0
  80. package/src/service-worker/index.ts +4 -5
  81. package/src/serviceWorkerManager.ts +1 -18
  82. package/src/solver-worker/client.test.ts +151 -0
  83. package/src/solver-worker/client.ts +106 -0
  84. package/src/solver-worker/dictionaries/constants.ts +9 -0
  85. package/src/solver-worker/dictionaries/getDictionary.ts +21 -0
  86. package/src/solver-worker/dictionaries/index.ts +2 -0
  87. package/src/solver-worker/dictionaries/revalidateDictionary.test.ts +199 -0
  88. package/src/solver-worker/dictionaries/revalidateDictionary.ts +86 -0
  89. package/src/solver-worker/dictionaries/revalidatedAt.ts +43 -0
  90. package/src/solver-worker/getGaddag.test.ts +109 -0
  91. package/src/solver-worker/getGaddag.ts +62 -0
  92. package/src/solver-worker/index.ts +1 -0
  93. package/src/solver-worker/index.worker.ts +124 -0
  94. package/src/solver-worker/messages.ts +20 -0
  95. package/src/state/index.ts +1 -0
  96. package/src/state/sagas.ts +19 -9
  97. package/src/state/useTypedStore.ts +6 -0
  98. package/src/types/api.ts +1 -2
  99. package/tsconfig.json +4 -0
  100. package/tsconfig.tsbuildinfo +1 -1
  101. package/.next/static/chunks/pages/_app-a5bbe02710f13d05.js +0 -7
  102. package/.next/static/chunks/webpack-1a7a166b34ed8d24.js +0 -1
  103. package/.next/static/css/0af35adb4bab56f0.css +0 -2
  104. package/src/sdk/getDictionary.ts +0 -9
  105. package/src/service-worker/average.ts +0 -7
  106. package/src/service-worker/dictionaries/constants.ts +0 -5
  107. package/src/service-worker/dictionaries/getDictionary.ts +0 -20
  108. package/src/service-worker/dictionaries/index.ts +0 -2
  109. package/src/service-worker/dictionaries/revalidateDictionary.ts +0 -33
  110. package/src/service-worker/getTrie.ts +0 -24
  111. package/src/service-worker/routeSolveRequests.ts +0 -91
  112. package/src/service-worker/routeVerifyRequests.ts +0 -37
  113. /package/.next/static/{vYpMmuC_yEurZGcyGVnLf → OLE8_ZInlGH7ENU0NIOpf}/_ssgManifest.js +0 -0
  114. /package/src/{service-worker → solver-worker}/dictionaries/expirationManager.ts +0 -0
  115. /package/src/{service-worker → solver-worker}/dictionaries/getDictionaryUrl.ts +0 -0
@@ -1 +1 @@
1
- (()=>{var a={};a.id=332,a.ids=[220,332],a.modules={653:(a,b,c)=>{"use strict";c.d(b,{$:()=>d});let d=a=>{if("always"===a)return"always";if("never"===a)return"never";throw Error(`"${a}" is not valid. Should be "always" or "never"`)}},2818:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L5:()=>j.L,NO:()=>i.N,Om:()=>k.O,Qj:()=>h.Q,Uj:()=>g.U,jn:()=>f.j,wU:()=>e.w});var e=c(88888),f=c(39129),g=c(48444),h=c(28468),i=c(35505),j=c(8843),k=c(60624),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},3892:a=>{"use strict";a.exports=require("classnames")},5625:a=>{a.exports={option:"ConfigSetting_option__pvmMK",label:"ConfigSetting_label__CeZI1"}},8615:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>r});var e=c(8732),f=c(57472),g=c(3892),h=c.n(g),i=c(82015),j=c(14062),k=c(22620),l=c(16438),m=c(96768),n=c(77233),o=c(67073),p=c.n(o),q=a([j,k,n]);[j,k,n]=q.then?(await q)():q;let r=({tile:a})=>{let b=(0,j.useDispatch)(),c=(0,n.N4)(n.JV),d=(0,n.N4)(n.Rv),{direction:g}=l.x[c],{character:o,count:q,usedCount:r}=a;if(void 0===q)throw Error("Remaining tiles not supported for this config");let s=q-r,t=(0,n.N4)(a=>(0,n.fy)(a,o)),u="ltr"===g?s:q,v="ltr"===g?q:s,w=r>0,x=w&&d===o,y=(0,i.useCallback)(()=>{w&&b(n.wq.actions.set(o))},[o,b,w]),z=(0,i.useCallback)(()=>{b(n.wq.actions.clear())},[b]);return(0,i.useEffect)(()=>()=>{b(n.wq.actions.clear())},[b]),(0,e.jsxs)("div",{className:h()(p().character,{[p().finished]:s<=0,[p().overused]:s<0,[p().unused]:!w}),"data-testid":o===f.BLANK?"remaining-tile-blank":`remaining-tile-${o}`,onMouseEnter:y,onMouseLeave:z,children:[(0,e.jsx)(k.FA,{"aria-label":o,character:o,className:p().tile,disabled:!0,highlighted:x,isBlank:o===f.BLANK,isValid:s>=0,points:t,raised:!0,size:m.AM}),(0,e.jsx)(k.ke,{className:p().remaining,max:q,style:{width:m.AM},value:s}),(0,e.jsxs)("div",{className:p().count,children:[u.toLocaleString(c)," / ",v.toLocaleString(c)]})]})};d()}catch(a){d(a)}})},8732:a=>{"use strict";a.exports=require("react/jsx-runtime")},8843:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>e.L});var e=c(63901),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},9573:a=>{a.exports={option:"RemoveCellFiltersSetting_option__gZXNh",label:"RemoveCellFiltersSetting_label__FF1HC"}},10915:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O:()=>m});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(653),j=c(9573),k=c.n(j),l=a([f,g,h]);[f,g,h]=l.then?(await l)():l;let m=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),j=(0,h.N4)(h.yI),l=[{label:d("settings.removeCellFilters.always"),value:"always"},{label:d("settings.removeCellFilters.never"),value:"never"}],m=a=>{let b=(0,i.$)(a.target.value);c(h.sI.actions.changeRemoveCellFilters(b))};return(0,e.jsx)("div",{className:a,children:l.map(a=>(0,e.jsx)(g.sx,{checked:j===a.value,className:k().option,disabled:b,name:"removeCellFilters",value:a.value,onChange:m,children:(0,e.jsx)("div",{className:k().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},12395:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>l});var e=c(8732),f=c(82015),g=c(22620),h=c(77233),i=c(31571),j=c.n(i),k=a([g,h]);[g,h]=k.then?(await k)():k;let l=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,h.WD)();return(0,e.jsx)(g.aF,{className:a,isOpen:b,title:d("dictionary"),onClose:c,children:(0,e.jsxs)("div",{className:j().content,children:[(0,e.jsx)(g.bT,{className:j().dictionary}),(0,e.jsx)(g.$s,{className:j().dictionaryInput})]})})});d()}catch(a){d(a)}})},14062:a=>{"use strict";a.exports=import("react-redux")},16215:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(8732),f=c(82015),g=c(14062),h=c(71048),i=c(22620),j=c(54100),k=c(77233),l=c(36355),m=c.n(l),n=a([g,h,i,k]);[g,h,i,k]=n.then?(await n)():n;let o=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,g.useDispatch)(),l=(0,k.WD)(),{showResultsInModal:n}=(0,h.r)(),o=(0,k.N4)(k.To),p=(0,k.N4)(k.jt),q=o?o.findIndex(a=>a.id===p?.id):-1,r=(0,f.useMemo)(()=>({onClick:a=>{a===p?c():d(k.NQ.actions.changeResultCandidate(a))}}),[d,c,p]);return(0,f.useEffect)(()=>{b&&!n&&c()},[b,c,n]),(0,e.jsx)(i.aF,{className:a,footer:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.$n,{"aria-label":l("results.insert"),disabled:!p,Icon:j.Jl,tooltip:l("results.insert"),variant:"primary",onClick:()=>{p&&d(k.NQ.actions.applyResult(p)),c()},children:l("results.insert")}),(0,e.jsx)(i.$n,{"aria-label":l("results.preview"),disabled:!p,Icon:j.fy,tooltip:l("results.preview"),onClick:()=>{c()},children:l("results.preview")})]}),isOpen:b,title:l("results"),onClose:c,children:(0,e.jsxs)("div",{className:m().content,children:[(0,e.jsx)(i.nB,{callbacks:r,className:m().results,highlightedIndex:-1===q?void 0:q}),(0,e.jsx)(i.bT,{className:m().dictionary})]})})});d()}catch(a){d(a)}})},16873:a=>{a.exports={option:"LocaleSetting_option__3uVpq",label:"LocaleSetting_label__VqJH9",flag:"LocaleSetting_flag__cnMgQ"}},18314:a=>{"use strict";a.exports=import("redux-saga/effects")},22326:a=>{"use strict";a.exports=require("react-dom")},22864:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{config:()=>q,default:()=>m,getServerSideProps:()=>p,getStaticPaths:()=>o,getStaticProps:()=>n,handler:()=>y,reportWebVitals:()=>r,routeModule:()=>x,unstable_getServerProps:()=>v,unstable_getServerSideProps:()=>w,unstable_getStaticParams:()=>u,unstable_getStaticPaths:()=>t,unstable_getStaticProps:()=>s});var e=c(62636),f=c(44850),g=c(83410),h=c(91024),i=c(5712),j=c(41132),k=c(66104),l=a([i,j]);[i,j]=l.then?(await l)():l;let m=(0,g.M)(j,"default"),n=(0,g.M)(j,"getStaticProps"),o=(0,g.M)(j,"getStaticPaths"),p=(0,g.M)(j,"getServerSideProps"),q=(0,g.M)(j,"config"),r=(0,g.M)(j,"reportWebVitals"),s=(0,g.M)(j,"unstable_getStaticProps"),t=(0,g.M)(j,"unstable_getStaticPaths"),u=(0,g.M)(j,"unstable_getStaticParams"),v=(0,g.M)(j,"unstable_getServerProps"),w=(0,g.M)(j,"unstable_getServerSideProps"),x=new e.PagesRouteModule({definition:{kind:f.RouteKind.PAGES,page:"/index",pathname:"/",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:i.default,Document:h.default},userland:j}),y=(0,k.U)({srcPage:"/index",config:q,userland:j,routeModule:x,getStaticPaths:o,getStaticProps:n,getServerSideProps:p});d()}catch(a){d(a)}})},23301:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(75243);let e=a=>{if("left"===a||"right"===a)return a;if(a===d.M)return null;throw Error(`"${a}" is not valid. Should be "left", "right", or "${d.M}"`)}},23655:a=>{a.exports={option:"ShowCoordinatesSetting_option__teifi",label:"ShowCoordinatesSetting_label__h0REI"}},27406:a=>{a.exports={nav:"index_nav__oayCy",navContent:"index_navContent__puCTa",navLogo:"index_navLogo__iI_za",logoContainer:"index_logoContainer__YyxQp",logo:"index_logo__jZUto",solver:"index_solver__wz8VS"}},27770:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>e.K});var e=c(66478),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28468:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>e.Q});var e=c(62087),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28623:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>e.J});var e=c(34403),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>n});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(31709),j=c.n(i),k=c(75243),l=c(23301),m=a([f,g,h]);[f,g,h]=m.then?(await m)():m;let n=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.up),m=[{label:d("settings.autoGroupTiles.null"),value:k.M},{label:d("settings.autoGroupTiles.left"),value:"left"},{label:d("settings.autoGroupTiles.right"),value:"right"}],n=a=>{let b=(0,l.$)(a.target.value);c(h.sI.actions.changeAutoGroupTiles(b))};return(0,e.jsx)("div",{className:a,children:m.map(a=>(0,e.jsx)(g.sx,{checked:i===(0,l.$)(a.value),className:j().option,disabled:b,name:"autoGroupTiles",value:a.value,onChange:n,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},29021:a=>{"use strict";a.exports=require("fs")},31571:a=>{a.exports={content:"DictionaryModal_content___jXD2",dictionary:"DictionaryModal_dictionary__Eu9Sx",dictionaryInput:"DictionaryModal_dictionaryInput__CKiX5"}},31709:a=>{a.exports={option:"AutoGroupTilesSetting_option__dp8CH",label:"AutoGroupTilesSetting_label__MIKlN"}},33873:a=>{"use strict";a.exports=require("path")},34403:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>k});var e=c(8732),f=c(82015),g=c(22620),h=c(77233),i=c(55862),j=a([g,h]);[g,h]=j.then?(await j)():j;let k=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,h.WD)(),f=(0,h.N4)(h.zg);return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:d("keyMap"),onClose:c,children:[(0,e.jsxs)(g.aF.Section,{label:d("keyMap.board-and-rack"),title:d("keyMap.board-and-rack"),children:[(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.navigate"),mapping:[(0,e.jsx)(g.TG,{},"arrows")]}),(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.remove-tile"),mapping:[(0,e.jsx)(g.A_,{},"del"),(0,e.jsx)(g.Er,{},"backspace")]}),(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.submit"),mapping:[(0,e.jsx)(g.xy,{},"del")]}),f.twoCharacterTiles.length>0&&(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.insert-two-letter-tile"),mapping:[[(0,e.jsx)(g.cx,{},"ctrl"),(0,e.jsx)(e.Fragment,{children:f.twoCharacterTiles.map(([a])=>(0,e.jsx)(g.Uz,{children:a.toUpperCase()},a))})]]})]}),(0,e.jsxs)(g.aF.Section,{label:d("keyMap.board"),title:d("keyMap.board"),children:[(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-direction"),mapping:[(0,e.jsx)(g.TG,{},"arrows")]}),(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-blank"),mapping:[(0,e.jsx)(g.$x,{},"space")]}),(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-cell-filter"),mapping:[[(0,e.jsx)(g.cx,{},"ctrl"),(0,e.jsx)(g.Uz,{children:"G"},"g")]]})]}),(0,e.jsx)(g.aF.Section,{label:d("keyMap.rack"),title:d("keyMap.rack"),children:(0,e.jsx)(i.X,{description:d("keyMap.rack.insert-blank"),mapping:[(0,e.jsx)(g.$x,{},"space")]})})]})});d()}catch(a){d(a)}})},35505:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>e.N});var e=c(59163),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},36355:a=>{a.exports={content:"ResultsModal_content__vzX7N",results:"ResultsModal_results__FDN3k",dictionary:"ResultsModal_dictionary__o3cpd"}},38747:a=>{"use strict";a.exports=import("use-debounce")},38849:a=>{"use strict";a.exports=import("@floating-ui/react")},39129:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{j:()=>e.j});var e=c(39539),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},39539:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{j:()=>o});var e=c(8732),f=c(97616),g=c(82015),h=c(14062),i=c(22620),j=c(77233),k=c(5625),l=c.n(k),m=c(84632),n=a([h,i,j]);[h,i,j]=n.then?(await n)():n;let o=({className:a,disabled:b})=>{let c=(0,h.useDispatch)(),d=(0,j.N4)(j.Vv),k=(0,j.N4)(j.JV),n=(0,g.useMemo)(()=>(0,m.$)(k),[k]),o=a=>{(0,f.isGame)(a.target.value)&&c(j.sI.actions.changeGame(a.target.value))};return(0,e.jsx)("div",{className:a,children:n.map(a=>(0,e.jsx)(i.sx,{checked:d===a.value,className:l().option,disabled:b||a.disabled,name:"game",value:a.value,onChange:o,children:(0,e.jsx)("div",{className:l().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},40361:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},41132:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>A,getStaticProps:()=>y});var e=c(8732),f=c(97616),g=c(79646),h=c(29021),i=c.n(h),j=c(33873),k=c.n(j),l=c(82015),m=c(63131),n=c.n(m),o=c(14062),p=c(22620),q=c(83338),r=c(16438),s=c(90618),t=c(66528),u=c(77233),v=c(27406),w=c.n(v),x=a([o,p,q,s,u]);[o,p,q,s,u]=x.then?(await x)():x,n().setAppElement("#__next");let y=async()=>{let a=await z(),b=(0,g.execSync)("git rev-parse HEAD").toString().trim();return{props:{version:a,buildSha:b}}},z=async()=>{let a=k().resolve(process.cwd(),"package.json"),b=await i().promises.readFile(a,"utf-8"),c=JSON.parse(b);if(!(0,f.isObject)(c)||!("version"in c)||"string"!=typeof c.version)throw Error("Invalid package.json");return`v${c.version}`},A=({version:a})=>{let b=(0,o.useDispatch)(),c=(0,u.N4)(u.zg),d=(0,u.N4)(u.JV),[f,g]=(0,l.useState)(!1),[h,i]=(0,l.useState)({dictionary:!1,keyMap:!1,menu:!1,remainingTiles:!1,results:!1,settings:!1,words:!1}),j=(0,l.useCallback)(a=>{i(b=>({...b,...a}))},[]),k=(0,l.useCallback)(()=>b((0,u.cL)()),[b]),m=(0,l.useCallback)(()=>j({dictionary:!0}),[j]),n=(0,l.useCallback)(()=>j({keyMap:!0}),[j]),v=(0,l.useCallback)(()=>j({menu:!0}),[j]),x=(0,l.useCallback)(()=>j({remainingTiles:!0}),[j]),y=(0,l.useCallback)(()=>j({results:!0}),[j]),z=(0,l.useCallback)(()=>j({settings:!0}),[j]),A=(0,l.useCallback)(()=>j({words:!0}),[j]),B=(0,l.useCallback)(()=>j({dictionary:!1}),[j]),C=(0,l.useCallback)(()=>j({keyMap:!1}),[j]),D=(0,l.useCallback)(()=>j({menu:!1}),[j]),E=(0,l.useCallback)(()=>j({remainingTiles:!1}),[j]),F=(0,l.useCallback)(()=>j({results:!1}),[j]),G=(0,l.useCallback)(()=>j({settings:!1}),[j]),H=(0,l.useCallback)(()=>j({words:!1}),[j]);return((0,q.jH)(r.x[d].direction),(0,q.ok)(d),(0,q.Mj)(),(0,q.Su)(()=>{(0,t.L)(),g(!0),b((0,u.n_)())}),f)?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("nav",{className:w().nav,children:(0,e.jsxs)("div",{className:w().navContent,children:[(0,e.jsx)("div",{className:w().navLogo,children:(0,e.jsx)("a",{className:w().logoContainer,href:"/",title:a,children:(0,e.jsx)(p.gu,{className:w().logo})})}),(0,e.jsx)(p.tf,{onClear:k,onShowKeyMap:n,onShowMenu:v,onShowRemainingTiles:x,onShowSettings:z,onShowWords:A})]})}),(0,e.jsx)("main",{children:(0,e.jsx)(p.Ox,{className:w().solver,onShowResults:y})}),(0,e.jsx)(s.fo,{isOpen:h.menu,onClose:D,onShowDictionary:m,onShowRemainingTiles:x,onShowSettings:z,onShowWords:A}),(0,e.jsx)(s.bB,{isOpen:h.settings,onClose:G}),(0,e.jsx)(s.JT,{isOpen:h.keyMap,onClose:C}),(0,e.jsx)(s.J5,{isOpen:h.words,onClose:H}),c.supportsRemainingTiles&&(0,e.jsx)(s.xG,{isOpen:h.remainingTiles,onClose:E}),(0,e.jsx)(s.Ym,{isOpen:h.results,onClose:F}),(0,e.jsx)(s._z,{isOpen:h.dictionary,onClose:B})]}):null};d()}catch(a){d(a)}})},42968:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>e._});var e=c(12395),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},44468:a=>{"use strict";a.exports=require("react-dom/server")},44546:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>e.Y});var e=c(16215),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},48444:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{U:()=>e.U});var e=c(87863),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},48849:(a,b,c)=>{"use strict";c.d(b,{$:()=>d});let d=a=>{if("keyboard"===a)return"keyboard";if("touchscreen"===a)return"touchscreen";throw Error(`"${a}" is not valid. Should be "keyboard" or "touchscreen"`)}},52742:a=>{"use strict";a.exports=require("include-media-query-builder")},55862:(a,b,c)=>{"use strict";c.d(b,{X:()=>j});var d=c(8732),e=c(3892),f=c.n(e),g=c(82015),h=c(58871),i=c.n(h);let j=({className:a,description:b,mapping:c})=>(0,d.jsxs)("div",{className:f()(i().mapping,a),children:[(0,d.jsx)("h3",{className:i().description,children:b}),(0,d.jsx)("div",{className:i().keys,children:c.map((a,b)=>(0,d.jsxs)(g.Fragment,{children:[(0,d.jsx)("div",{className:i().group,children:Array.isArray(a)?(0,d.jsxs)(d.Fragment,{children:[a[0],(0,d.jsx)("span",{className:i().plus,children:"+"}),a[1]]}):a}),c.length>1&&b<c.length-1&&(0,d.jsx)("span",{className:i().slash,children:"/"})]},b))})]})},58871:a=>{a.exports={mapping:"Mapping_mapping__Ua6wj",description:"Mapping_description__nSNia",keys:"Mapping_keys__KmIcZ",group:"Mapping_group__MlkmV",slash:"Mapping_slash__hulS4",plus:"Mapping_plus__KE_ml"}},58961:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>e.J});var e=c(63229),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},59163:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>p});var e=c(8732),f=c(3892),g=c.n(f),h=c(14062),i=c(22620),j=c(16438),k=c(77233),l=c(16873),m=c.n(l),n=a([h,i,k]);[h,i,k]=n.then?(await n)():n;let o=Object.values(j.x).sort((a,b)=>a.name.localeCompare(b.name)),p=({className:a,disabled:b})=>{let c=(0,h.useDispatch)(),d=(0,k.N4)(k.JV),f=a=>{let b=a.target.value;c(k.sI.actions.changeLocale(b))};return(0,e.jsx)("div",{className:a,children:o.map(({Icon:c,...h})=>(0,e.jsx)(i.sx,{checked:d===h.locale,className:g()(m().option,a,{[m().checked]:d===h.locale}),disabled:b,name:"locale",value:h.locale,onChange:f,children:(0,e.jsxs)("span",{className:m().label,children:[(0,e.jsx)(c,{"aria-hidden":"true",className:m().flag,role:"img"}),(0,e.jsx)("span",{children:h.label})]})},h.locale))})};d()}catch(a){d(a)}})},60624:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O:()=>e.O});var e=c(10915),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},61925:a=>{a.exports={option:"HighlightUnreachableCellsSetting_option__czzk8",label:"HighlightUnreachableCellsSetting_label__bs1CA"}},62072:a=>{"use strict";a.exports=require("react-cool-onclickoutside")},62087:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>m});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(87101),j=c.n(i),k=c(48849),l=a([f,g,h]);[f,g,h]=l.then?(await l)():l;let m=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.QN),l=[{label:d("settings.inputMode.keyboard"),value:"keyboard"},{label:d("settings.inputMode.touchscreen"),value:"touchscreen"}],m=a=>{let b=(0,k.$)(a.target.value);c(h.sI.actions.changeInputMode(b))};return(0,e.jsx)("div",{className:a,children:l.map(a=>(0,e.jsx)(g.sx,{checked:i===a.value,className:j().option,disabled:b,name:"inputMode",value:a.value,onChange:m,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},62483:a=>{a.exports={button:"MenuModal_button__x3zTR",settings:"MenuModal_settings__XE_P3",settingsLabel:"MenuModal_settingsLabel__xYRLv",flag:"MenuModal_flag__NGaHf"}},63074:a=>{"use strict";a.exports=require("react-highlight-words")},63131:a=>{"use strict";a.exports=require("react-modal")},63229:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>o});var e=c(8732),f=c(3892),g=c.n(f),h=c(82015),i=c(22620),j=c(54100),k=c(77233),l=c(66661),m=c.n(l),n=a([i,k]);[i,k]=n.then?(await n)():n;let o=(0,h.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,k.WD)(),f=(0,k.N4)(k.JV),h=(0,k.N4)(k.X7),l=(0,k.N4)(k.G$);return(0,e.jsxs)(i.aF,{className:a,isOpen:b,title:d("words"),onClose:c,children:[(0,e.jsx)(i.aF.Section,{label:d("words.invalid"),title:(0,e.jsxs)("span",{className:m().title,children:[(0,e.jsx)("span",{children:d("words.invalid")}),(0,e.jsx)(i.Ex,{className:m().badge,children:h.length.toLocaleString(f)})]}),children:h.map((a,b)=>(0,e.jsxs)("div",{className:m().word,children:[(0,e.jsx)(j.FB,{"aria-hidden":"true",className:g()(m().icon,m().invalid),role:"img"})," ",a]},b))}),(0,e.jsx)(i.aF.Section,{label:d("words.valid"),title:(0,e.jsxs)("span",{className:m().title,children:[(0,e.jsx)("span",{children:d("words.valid")}),(0,e.jsx)(i.Ex,{className:m().badge,children:l.length.toLocaleString(f)})]}),children:l.map((a,b)=>(0,e.jsxs)("div",{className:m().word,children:[(0,e.jsx)(j.Jl,{"aria-hidden":"true",className:g()(m().icon,m().valid),role:"img"})," ",a]},b))})]})});d()}catch(a){d(a)}})},63705:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{b:()=>e.b});var e=c(65431),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},63901:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>l});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(23655),j=c.n(i),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let l=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.hN),k=[{label:d("settings.showCoordinates.hidden"),value:"hidden"},{label:d("settings.showCoordinates.original"),value:"original"},{label:d("settings.showCoordinates.alternative"),value:"alternative"}],l=a=>{let b=a.target.value;c(h.sI.actions.changeShowCoordinates(b))};return(0,e.jsx)("div",{className:a,children:k.map(a=>(0,e.jsx)(g.sx,{checked:String(i)===a.value,className:j().option,disabled:b,name:"showCoordinates",value:a.value,onChange:l,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},65431:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{b:()=>l});var e=c(8732),f=c(82015),g=c(22620),h=c(83338),i=c(77233),j=c(2818),k=a([g,h,i,j]);[g,h,i,j]=k.then?(await k)():k;let l=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,i.WD)(),f=(0,h.Ju)();return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:d("settings"),onClose:c,children:[(0,e.jsx)(g.aF.Section,{label:d("settings.game"),title:d("settings.game"),children:(0,e.jsx)(j.jn,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.language"),title:d("settings.language"),children:(0,e.jsx)(j.NO,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.showCoordinates"),title:d("settings.showCoordinates"),children:(0,e.jsx)(j.L5,{disabled:!b})}),!f&&(0,e.jsx)(g.aF.Section,{label:d("settings.inputMode"),title:d("settings.inputMode"),children:(0,e.jsx)(j.Qj,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.autoGroupTiles"),title:d("settings.autoGroupTiles"),children:(0,e.jsx)(j.wU,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.removeCellFilters"),title:d("settings.removeCellFilters"),children:(0,e.jsx)(j.Om,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.highlightUnreachableCells"),title:d("settings.highlightUnreachableCells"),children:(0,e.jsx)(j.Uj,{disabled:!b})})]})});d()}catch(a){d(a)}})},66478:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>e.K});var e=c(8615),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},66528:(a,b,c)=>{"use strict";c.d(b,{L:()=>f});let d=require("workbox-window"),e=null,f=async()=>{globalThis.navigator&&"serviceWorker"in globalThis.navigator&&(e=new d.Workbox("/service-worker.js"),await e.register({immediate:!0}))}},66605:a=>{"use strict";a.exports=require("transliteration")},66661:a=>{a.exports={title:"WordsModal_title__UGHtI",badge:"WordsModal_badge__Ay_8V",word:"WordsModal_word__sCI06",invalid:"WordsModal_invalid__jgYeh",valid:"WordsModal_valid__JW5lM",icon:"WordsModal_icon___HWi4"}},67073:a=>{a.exports={character:"Character_character__Xry5W",finished:"Character_finished__Ee5Eu",overused:"Character_overused__WV6tJ",tile:"Character_tile__Ledy0",remaining:"Character_remaining__DFxBl",count:"Character_count__Bl6_O",unused:"Character_unused___qpnr"}},68455:a=>{"use strict";a.exports=import("redux-saga")},69198:a=>{"use strict";a.exports=import("@reduxjs/toolkit")},69311:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>e.f});var e=c(85427),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},70987:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>i});var e=c(69198),f=c(77233),g=c(72752),h=a([e,f]);[e,f]=h.then?(await h)():h;let i=(0,e.createSelector)([f.um],g.k);d()}catch(a){d(a)}})},72752:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});var d=c(57472);let e=a=>{let b=a.filter(f),c=a.filter(g),d=a.filter(j),e=[];e.push({remainingCount:k(c),tiles:c,translationKey:"common.vowels",totalCount:l(c)}),e.push({remainingCount:k(b),tiles:b,translationKey:"common.consonants",totalCount:l(b)}),e.push({remainingCount:k(d),tiles:d,translationKey:"common.tiles",totalCount:l(d)});let m=a.filter(h),n=a.filter(i);return e.push({remainingCount:k(m),tiles:m,translationKey:"common.two-letter-tiles",totalCount:l(m)}),e.push({remainingCount:k(n),tiles:n,translationKey:"common.blanks",totalCount:l(n)}),e.filter(({totalCount:a})=>a>0)},f=a=>d.CONSONANTS.includes(a.character),g=a=>d.VOWELS.includes(a.character),h=a=>2===a.character.length,i=a=>a.character===d.BLANK,j=a=>!f(a)&&!g(a)&&!i(a)&&!h(a),k=a=>a.reduce((a,{count:b,usedCount:c})=>void 0===b?a:a+b-c,0),l=a=>a.reduce((a,{count:b})=>void 0===b?a:a+b,0)},75243:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d="null"},79646:a=>{"use strict";a.exports=require("child_process")},82015:a=>{"use strict";a.exports=require("react")},82251:a=>{a.exports={title:"RemainingTilesModal_title__4rcbk",content:"RemainingTilesModal_content__NrmXd",badge:"RemainingTilesModal_badge__vZkrc",character:"RemainingTilesModal_character__16pGR"}},84632:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(38454);let e=a=>{let b=Object.values(d.games),c=Object.values(d.languages);return b.map(b=>{let e=c.find(c=>c.game===b.game&&c.locale===a);return{disabled:!(0,d.hasConfig)(b.game,a),label:e?.config.name??b.name,value:b.game}})}},84641:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>e.x});var e=c(88443),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},85427:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>o});var e=c(8732),f=c(82015),g=c(22620),h=c(16438),i=c(54100),j=c(96768),k=c(77233),l=c(62483),m=c.n(l),n=a([g,k]);[g,k]=n.then?(await n)():n;let o=(0,f.memo)(({className:a,isOpen:b,onClose:c,onShowDictionary:d,onShowRemainingTiles:f,onShowSettings:l,onShowWords:n})=>{let o=(0,k.WD)(),p=(0,k.N4)(k.JV),{Icon:q}=h.x[p];return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:o("menu"),onClose:c,children:[(0,e.jsx)(g.$n,{"aria-label":o("remaining-tiles"),className:m().button,Icon:i.LK,wide:!0,onClick:f,children:o("remaining-tiles")}),(0,e.jsx)(g.$n,{"aria-label":o("words"),className:m().button,Icon:i.Pv,wide:!0,onClick:n,children:o("words")}),(0,e.jsx)(g.$n,{"aria-label":o("dictionary"),className:m().button,Icon:i.rl,wide:!0,onClick:d,children:o("dictionary")}),(0,e.jsx)(g.$n.Link,{"aria-label":o("github"),className:m().button,href:j.g,Icon:i.Cp,rel:"noopener noreferrer",target:"_blank",wide:!0,children:o("github")}),(0,e.jsx)(g.$n,{"aria-label":o("settings"),className:m().button,Icon:i.mg,wide:!0,onClick:l,children:(0,e.jsxs)("div",{className:m().settings,children:[(0,e.jsx)("div",{className:m().settingsLabel,children:o("settings")}),(0,e.jsx)(q,{"aria-hidden":"true",className:m().flag,role:"img"})]})})]})});d()}catch(a){d(a)}})},87101:a=>{a.exports={option:"InputModeSetting_option__9tdaY",label:"InputModeSetting_label__al6kL"}},87863:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{U:()=>l});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(61925),j=c.n(i),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let l=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.u_),k=[{label:d("common.off"),value:"off"},{label:d("common.on"),value:"on"}],l=a=>{c(h.sI.actions.changeHighlightUnreachableCells("on"===a.target.value))};return(0,e.jsx)("div",{className:a,children:k.map(a=>(0,e.jsx)(g.sx,{checked:(i?"on":"off")===a.value,className:j().option,disabled:b,name:"highlightUnreachableCells",value:a.value,onChange:l,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},88443:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>q});var e=c(8732),f=c(82015),g=c(22620),h=c(16438),i=c(75396),j=c(96768),k=c(77233),l=c(27770),m=c(82251),n=c.n(m),o=c(70987),p=a([g,k,l,o]);[g,k,l,o]=p.then?(await p)():p;let q=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,k.WD)(),f=(0,k.N4)(k.JV),m=(0,k.N4)(o.g),{tileFontSize:p}=(0,i.HS)(j.AM),{direction:q}=h.x[f];return(0,e.jsx)(g.aF,{className:a,isOpen:b,title:d("remaining-tiles"),onClose:c,children:m.map(({remainingCount:a,tiles:b,translationKey:c,totalCount:h})=>(0,e.jsx)(g.aF.Section,{label:d(c),title:(0,e.jsxs)("span",{className:n().title,children:[(0,e.jsx)("span",{children:d(c)}),(0,e.jsxs)(g.Ex,{className:n().badge,children:[("ltr"===q?a:h).toLocaleString(f)," / ",("ltr"===q?h:a).toLocaleString(f)]})]}),children:(0,e.jsx)("div",{className:n().content,style:{fontSize:p},children:b.map(a=>(0,e.jsx)("div",{className:n().character,children:(0,e.jsx)(l.K,{tile:a})},a.character))})},c))})});d()}catch(a){d(a)}})},88888:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>e.w});var e=c(28999),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},90618:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J5:()=>k.J,JT:()=>f.J,Ym:()=>i.Y,_z:()=>e._,bB:()=>j.b,fo:()=>g.f,xG:()=>h.x});var e=c(42968),f=c(28623),g=c(69311),h=c(84641),i=c(44546),j=c(63705),k=c(58961),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},90998:a=>{"use strict";a.exports=require("react-window")},91024:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(8732),e=c(6030),f=c.n(e);class g extends f(){render(){return(0,d.jsxs)(e.Html,{lang:"en",children:[(0,d.jsxs)(e.Head,{children:[(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"icons/favicon.svg"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.Main,{}),(0,d.jsx)(e.NextScript,{})]})]})}}let h=g},96481:a=>{"use strict";a.exports=require("store2")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,318,791,712],()=>b(b.s=22864));module.exports=c})();
1
+ (()=>{var a={};a.id=332,a.ids=[220,332],a.modules={653:(a,b,c)=>{"use strict";c.d(b,{$:()=>d});let d=a=>{if("always"===a)return"always";if("never"===a)return"never";throw Error(`"${a}" is not valid. Should be "always" or "never"`)}},2818:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L5:()=>j.L,NO:()=>i.N,Om:()=>k.O,Qj:()=>h.Q,Uj:()=>g.U,jn:()=>f.j,wU:()=>e.w});var e=c(88888),f=c(39129),g=c(48444),h=c(28468),i=c(35505),j=c(8843),k=c(60624),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},3892:a=>{"use strict";a.exports=require("classnames")},5625:a=>{a.exports={option:"ConfigSetting_option__pvmMK",label:"ConfigSetting_label__CeZI1"}},8615:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>r});var e=c(8732),f=c(57472),g=c(3892),h=c.n(g),i=c(82015),j=c(14062),k=c(22620),l=c(16438),m=c(96768),n=c(77233),o=c(67073),p=c.n(o),q=a([j,k,n]);[j,k,n]=q.then?(await q)():q;let r=({tile:a})=>{let b=(0,j.useDispatch)(),c=(0,n.N4)(n.JV),d=(0,n.N4)(n.Rv),{direction:g}=l.x[c],{character:o,count:q,usedCount:r}=a;if(void 0===q)throw Error("Remaining tiles not supported for this config");let s=q-r,t=(0,n.N4)(a=>(0,n.fy)(a,o)),u="ltr"===g?s:q,v="ltr"===g?q:s,w=r>0,x=w&&d===o,y=(0,i.useCallback)(()=>{w&&b(n.wq.actions.set(o))},[o,b,w]),z=(0,i.useCallback)(()=>{b(n.wq.actions.clear())},[b]);return(0,i.useEffect)(()=>()=>{b(n.wq.actions.clear())},[b]),(0,e.jsxs)("div",{className:h()(p().character,{[p().finished]:s<=0,[p().overused]:s<0,[p().unused]:!w}),"data-testid":o===f.BLANK?"remaining-tile-blank":`remaining-tile-${o}`,onMouseEnter:y,onMouseLeave:z,children:[(0,e.jsx)(k.FA,{"aria-label":o,character:o,className:p().tile,disabled:!0,highlighted:x,isBlank:o===f.BLANK,isValid:s>=0,points:t,raised:!0,size:m.AM}),(0,e.jsx)(k.ke,{className:p().remaining,max:q,style:{width:m.AM},value:s}),(0,e.jsxs)("div",{className:p().count,children:[u.toLocaleString(c)," / ",v.toLocaleString(c)]})]})};d()}catch(a){d(a)}})},8732:a=>{"use strict";a.exports=require("react/jsx-runtime")},8843:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>e.L});var e=c(63901),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},9573:a=>{a.exports={option:"RemoveCellFiltersSetting_option__gZXNh",label:"RemoveCellFiltersSetting_label__FF1HC"}},10915:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O:()=>m});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(653),j=c(9573),k=c.n(j),l=a([f,g,h]);[f,g,h]=l.then?(await l)():l;let m=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),j=(0,h.N4)(h.yI),l=[{label:d("settings.removeCellFilters.always"),value:"always"},{label:d("settings.removeCellFilters.never"),value:"never"}],m=a=>{let b=(0,i.$)(a.target.value);c(h.sI.actions.changeRemoveCellFilters(b))};return(0,e.jsx)("div",{className:a,children:l.map(a=>(0,e.jsx)(g.sx,{checked:j===a.value,className:k().option,disabled:b,name:"removeCellFilters",value:a.value,onChange:m,children:(0,e.jsx)("div",{className:k().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},12395:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>l});var e=c(8732),f=c(82015),g=c(22620),h=c(77233),i=c(31571),j=c.n(i),k=a([g,h]);[g,h]=k.then?(await k)():k;let l=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,h.WD)();return(0,e.jsx)(g.aF,{className:a,isOpen:b,title:d("dictionary"),onClose:c,children:(0,e.jsxs)("div",{className:j().content,children:[(0,e.jsx)(g.bT,{className:j().dictionary}),(0,e.jsx)(g.$s,{className:j().dictionaryInput})]})})});d()}catch(a){d(a)}})},14062:a=>{"use strict";a.exports=import("react-redux")},16215:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>o});var e=c(8732),f=c(82015),g=c(14062),h=c(71048),i=c(22620),j=c(54100),k=c(77233),l=c(36355),m=c.n(l),n=a([g,h,i,k]);[g,h,i,k]=n.then?(await n)():n;let o=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,g.useDispatch)(),l=(0,k.WD)(),{showResultsInModal:n}=(0,h.r)(),o=(0,k.N4)(k.To),p=(0,k.N4)(k.jt),q=o?o.findIndex(a=>a.id===p?.id):-1,r=(0,f.useMemo)(()=>({onClick:a=>{a===p?c():d(k.NQ.actions.changeResultCandidate(a))}}),[d,c,p]);return(0,f.useEffect)(()=>{b&&!n&&c()},[b,c,n]),(0,e.jsx)(i.aF,{className:a,footer:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i.$n,{"aria-label":l("results.insert"),disabled:!p,Icon:j.Jl,tooltip:l("results.insert"),variant:"primary",onClick:()=>{p&&d(k.NQ.actions.applyResult(p)),c()},children:l("results.insert")}),(0,e.jsx)(i.$n,{"aria-label":l("results.preview"),disabled:!p,Icon:j.fy,tooltip:l("results.preview"),onClick:()=>{c()},children:l("results.preview")})]}),isOpen:b,title:l("results"),onClose:c,children:(0,e.jsxs)("div",{className:m().content,children:[(0,e.jsx)(i.nB,{callbacks:r,className:m().results,highlightedIndex:-1===q?void 0:q}),(0,e.jsx)(i.bT,{className:m().dictionary})]})})});d()}catch(a){d(a)}})},16873:a=>{a.exports={option:"LocaleSetting_option__3uVpq",label:"LocaleSetting_label__VqJH9",flag:"LocaleSetting_flag__cnMgQ"}},18314:a=>{"use strict";a.exports=import("redux-saga/effects")},22326:a=>{"use strict";a.exports=require("react-dom")},22864:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{config:()=>q,default:()=>m,getServerSideProps:()=>p,getStaticPaths:()=>o,getStaticProps:()=>n,handler:()=>y,reportWebVitals:()=>r,routeModule:()=>x,unstable_getServerProps:()=>v,unstable_getServerSideProps:()=>w,unstable_getStaticParams:()=>u,unstable_getStaticPaths:()=>t,unstable_getStaticProps:()=>s});var e=c(62636),f=c(44850),g=c(83410),h=c(91024),i=c(5712),j=c(41132),k=c(66104),l=a([i,j]);[i,j]=l.then?(await l)():l;let m=(0,g.M)(j,"default"),n=(0,g.M)(j,"getStaticProps"),o=(0,g.M)(j,"getStaticPaths"),p=(0,g.M)(j,"getServerSideProps"),q=(0,g.M)(j,"config"),r=(0,g.M)(j,"reportWebVitals"),s=(0,g.M)(j,"unstable_getStaticProps"),t=(0,g.M)(j,"unstable_getStaticPaths"),u=(0,g.M)(j,"unstable_getStaticParams"),v=(0,g.M)(j,"unstable_getServerProps"),w=(0,g.M)(j,"unstable_getServerSideProps"),x=new e.PagesRouteModule({definition:{kind:f.RouteKind.PAGES,page:"/index",pathname:"/",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:i.default,Document:h.default},userland:j}),y=(0,k.U)({srcPage:"/index",config:q,userland:j,routeModule:x,getStaticPaths:o,getStaticProps:n,getServerSideProps:p});d()}catch(a){d(a)}})},23301:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(75243);let e=a=>{if("left"===a||"right"===a)return a;if(a===d.M)return null;throw Error(`"${a}" is not valid. Should be "left", "right", or "${d.M}"`)}},23655:a=>{a.exports={option:"ShowCoordinatesSetting_option__teifi",label:"ShowCoordinatesSetting_label__h0REI"}},27406:a=>{a.exports={nav:"index_nav__oayCy",navContent:"index_navContent__puCTa",navLogo:"index_navLogo__iI_za",logoContainer:"index_logoContainer__YyxQp",logo:"index_logo__jZUto",solver:"index_solver__wz8VS"}},27770:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>e.K});var e=c(66478),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28468:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>e.Q});var e=c(62087),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28623:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>e.J});var e=c(34403),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},28999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>n});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(31709),j=c.n(i),k=c(75243),l=c(23301),m=a([f,g,h]);[f,g,h]=m.then?(await m)():m;let n=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.up),m=[{label:d("settings.autoGroupTiles.null"),value:k.M},{label:d("settings.autoGroupTiles.left"),value:"left"},{label:d("settings.autoGroupTiles.right"),value:"right"}],n=a=>{let b=(0,l.$)(a.target.value);c(h.sI.actions.changeAutoGroupTiles(b))};return(0,e.jsx)("div",{className:a,children:m.map(a=>(0,e.jsx)(g.sx,{checked:i===(0,l.$)(a.value),className:j().option,disabled:b,name:"autoGroupTiles",value:a.value,onChange:n,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},29021:a=>{"use strict";a.exports=require("fs")},31571:a=>{a.exports={content:"DictionaryModal_content___jXD2",dictionary:"DictionaryModal_dictionary__Eu9Sx",dictionaryInput:"DictionaryModal_dictionaryInput__CKiX5"}},31709:a=>{a.exports={option:"AutoGroupTilesSetting_option__dp8CH",label:"AutoGroupTilesSetting_label__MIKlN"}},33873:a=>{"use strict";a.exports=require("path")},34403:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>k});var e=c(8732),f=c(82015),g=c(22620),h=c(77233),i=c(55862),j=a([g,h]);[g,h]=j.then?(await j)():j;let k=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,h.WD)(),f=(0,h.N4)(h.zg);return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:d("keyMap"),onClose:c,children:[(0,e.jsxs)(g.aF.Section,{label:d("keyMap.board-and-rack"),title:d("keyMap.board-and-rack"),children:[(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.navigate"),mapping:[(0,e.jsx)(g.TG,{},"arrows")]}),(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.remove-tile"),mapping:[(0,e.jsx)(g.A_,{},"del"),(0,e.jsx)(g.Er,{},"backspace")]}),(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.submit"),mapping:[(0,e.jsx)(g.xy,{},"del")]}),f.twoCharacterTiles.length>0&&(0,e.jsx)(i.X,{description:d("keyMap.board-and-rack.insert-two-letter-tile"),mapping:[[(0,e.jsx)(g.cx,{},"ctrl"),(0,e.jsx)(e.Fragment,{children:f.twoCharacterTiles.map(([a])=>(0,e.jsx)(g.Uz,{children:a.toUpperCase()},a))})]]})]}),(0,e.jsxs)(g.aF.Section,{label:d("keyMap.board"),title:d("keyMap.board"),children:[(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-direction"),mapping:[(0,e.jsx)(g.TG,{},"arrows")]}),(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-blank"),mapping:[(0,e.jsx)(g.$x,{},"space")]}),(0,e.jsx)(i.X,{description:d("keyMap.board.toggle-cell-filter"),mapping:[[(0,e.jsx)(g.cx,{},"ctrl"),(0,e.jsx)(g.Uz,{children:"G"},"g")]]})]}),(0,e.jsx)(g.aF.Section,{label:d("keyMap.rack"),title:d("keyMap.rack"),children:(0,e.jsx)(i.X,{description:d("keyMap.rack.insert-blank"),mapping:[(0,e.jsx)(g.$x,{},"space")]})})]})});d()}catch(a){d(a)}})},35505:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>e.N});var e=c(59163),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},36355:a=>{a.exports={content:"ResultsModal_content__vzX7N",results:"ResultsModal_results__FDN3k",dictionary:"ResultsModal_dictionary__o3cpd"}},38747:a=>{"use strict";a.exports=import("use-debounce")},38849:a=>{"use strict";a.exports=import("@floating-ui/react")},39129:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{j:()=>e.j});var e=c(39539),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},39539:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{j:()=>o});var e=c(8732),f=c(97616),g=c(82015),h=c(14062),i=c(22620),j=c(77233),k=c(5625),l=c.n(k),m=c(84632),n=a([h,i,j]);[h,i,j]=n.then?(await n)():n;let o=({className:a,disabled:b})=>{let c=(0,h.useDispatch)(),d=(0,j.N4)(j.Vv),k=(0,j.N4)(j.JV),n=(0,g.useMemo)(()=>(0,m.$)(k),[k]),o=a=>{(0,f.isGame)(a.target.value)&&c(j.sI.actions.changeGame(a.target.value))};return(0,e.jsx)("div",{className:a,children:n.map(a=>(0,e.jsx)(i.sx,{checked:d===a.value,className:l().option,disabled:b||a.disabled,name:"game",value:a.value,onChange:o,children:(0,e.jsx)("div",{className:l().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},40361:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},41132:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>A,getStaticProps:()=>y});var e=c(8732),f=c(97616),g=c(79646),h=c(29021),i=c.n(h),j=c(33873),k=c.n(j),l=c(82015),m=c(63131),n=c.n(m),o=c(14062),p=c(22620),q=c(83338),r=c(16438),s=c(90618),t=c(66528),u=c(77233),v=c(27406),w=c.n(v),x=a([o,p,q,s,u]);[o,p,q,s,u]=x.then?(await x)():x,n().setAppElement("#__next");let y=async()=>{let a=await z(),b=(0,g.execSync)("git rev-parse HEAD").toString().trim();return{props:{version:a,buildSha:b}}},z=async()=>{let a=k().resolve(process.cwd(),"package.json"),b=await i().promises.readFile(a,"utf-8"),c=JSON.parse(b);if(!(0,f.isObject)(c)||!("version"in c)||"string"!=typeof c.version)throw Error("Invalid package.json");return`v${c.version}`},A=({version:a})=>{let b=(0,o.useDispatch)(),c=(0,u.N4)(u.zg),d=(0,u.N4)(u.JV),[f,g]=(0,l.useState)(!1),[h,i]=(0,l.useState)({dictionary:!1,keyMap:!1,menu:!1,remainingTiles:!1,results:!1,settings:!1,words:!1}),j=(0,l.useCallback)(a=>{i(b=>({...b,...a}))},[]),k=(0,l.useCallback)(()=>b((0,u.cL)()),[b]),m=(0,l.useCallback)(()=>j({dictionary:!0}),[j]),n=(0,l.useCallback)(()=>j({keyMap:!0}),[j]),v=(0,l.useCallback)(()=>j({menu:!0}),[j]),x=(0,l.useCallback)(()=>j({remainingTiles:!0}),[j]),y=(0,l.useCallback)(()=>j({results:!0}),[j]),z=(0,l.useCallback)(()=>j({settings:!0}),[j]),A=(0,l.useCallback)(()=>j({words:!0}),[j]),B=(0,l.useCallback)(()=>j({dictionary:!1}),[j]),C=(0,l.useCallback)(()=>j({keyMap:!1}),[j]),D=(0,l.useCallback)(()=>j({menu:!1}),[j]),E=(0,l.useCallback)(()=>j({remainingTiles:!1}),[j]),F=(0,l.useCallback)(()=>j({results:!1}),[j]),G=(0,l.useCallback)(()=>j({settings:!1}),[j]),H=(0,l.useCallback)(()=>j({words:!1}),[j]);return((0,q.jH)(r.x[d].direction),(0,q.ok)(d),(0,q.Mj)(),(0,q.Su)(()=>{(0,t.L)(),g(!0),b((0,u.n_)())}),f)?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("nav",{className:w().nav,children:(0,e.jsxs)("div",{className:w().navContent,children:[(0,e.jsx)("div",{className:w().navLogo,children:(0,e.jsx)("a",{className:w().logoContainer,href:"/",title:a,children:(0,e.jsx)(p.gu,{className:w().logo})})}),(0,e.jsx)(p.tf,{onClear:k,onShowKeyMap:n,onShowMenu:v,onShowRemainingTiles:x,onShowSettings:z,onShowWords:A})]})}),(0,e.jsx)("main",{children:(0,e.jsx)(p.Ox,{className:w().solver,onShowResults:y})}),(0,e.jsx)(s.fo,{isOpen:h.menu,onClose:D,onShowDictionary:m,onShowRemainingTiles:x,onShowSettings:z,onShowWords:A}),(0,e.jsx)(s.bB,{isOpen:h.settings,onClose:G}),(0,e.jsx)(s.JT,{isOpen:h.keyMap,onClose:C}),(0,e.jsx)(s.J5,{isOpen:h.words,onClose:H}),c.supportsRemainingTiles&&(0,e.jsx)(s.xG,{isOpen:h.remainingTiles,onClose:E}),(0,e.jsx)(s.Ym,{isOpen:h.results,onClose:F}),(0,e.jsx)(s._z,{isOpen:h.dictionary,onClose:B})]}):null};d()}catch(a){d(a)}})},42968:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>e._});var e=c(12395),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},44468:a=>{"use strict";a.exports=require("react-dom/server")},44546:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>e.Y});var e=c(16215),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},48444:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{U:()=>e.U});var e=c(87863),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},48849:(a,b,c)=>{"use strict";c.d(b,{$:()=>d});let d=a=>{if("keyboard"===a)return"keyboard";if("touchscreen"===a)return"touchscreen";throw Error(`"${a}" is not valid. Should be "keyboard" or "touchscreen"`)}},52742:a=>{"use strict";a.exports=require("include-media-query-builder")},55862:(a,b,c)=>{"use strict";c.d(b,{X:()=>j});var d=c(8732),e=c(3892),f=c.n(e),g=c(82015),h=c(58871),i=c.n(h);let j=({className:a,description:b,mapping:c})=>(0,d.jsxs)("div",{className:f()(i().mapping,a),children:[(0,d.jsx)("h3",{className:i().description,children:b}),(0,d.jsx)("div",{className:i().keys,children:c.map((a,b)=>(0,d.jsxs)(g.Fragment,{children:[(0,d.jsx)("div",{className:i().group,children:Array.isArray(a)?(0,d.jsxs)(d.Fragment,{children:[a[0],(0,d.jsx)("span",{className:i().plus,children:"+"}),a[1]]}):a}),c.length>1&&b<c.length-1&&(0,d.jsx)("span",{className:i().slash,children:"/"})]},b))})]})},58871:a=>{a.exports={mapping:"Mapping_mapping__Ua6wj",description:"Mapping_description__nSNia",keys:"Mapping_keys__KmIcZ",group:"Mapping_group__MlkmV",slash:"Mapping_slash__hulS4",plus:"Mapping_plus__KE_ml"}},58961:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>e.J});var e=c(63229),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},59163:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>p});var e=c(8732),f=c(3892),g=c.n(f),h=c(14062),i=c(22620),j=c(16438),k=c(77233),l=c(16873),m=c.n(l),n=a([h,i,k]);[h,i,k]=n.then?(await n)():n;let o=Object.values(j.x).sort((a,b)=>a.name.localeCompare(b.name)),p=({className:a,disabled:b})=>{let c=(0,h.useDispatch)(),d=(0,k.N4)(k.JV),f=a=>{let b=a.target.value;c(k.sI.actions.changeLocale(b))};return(0,e.jsx)("div",{className:a,children:o.map(({Icon:c,...h})=>(0,e.jsx)(i.sx,{checked:d===h.locale,className:g()(m().option,a,{[m().checked]:d===h.locale}),disabled:b,name:"locale",value:h.locale,onChange:f,children:(0,e.jsxs)("span",{className:m().label,children:[(0,e.jsx)(c,{"aria-hidden":"true",className:m().flag,role:"img"}),(0,e.jsx)("span",{children:h.label})]})},h.locale))})};d()}catch(a){d(a)}})},60624:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O:()=>e.O});var e=c(10915),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},61925:a=>{a.exports={option:"HighlightUnreachableCellsSetting_option__czzk8",label:"HighlightUnreachableCellsSetting_label__bs1CA"}},62072:a=>{"use strict";a.exports=require("react-cool-onclickoutside")},62087:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>m});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(87101),j=c.n(i),k=c(48849),l=a([f,g,h]);[f,g,h]=l.then?(await l)():l;let m=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.QN),l=[{label:d("settings.inputMode.keyboard"),value:"keyboard"},{label:d("settings.inputMode.touchscreen"),value:"touchscreen"}],m=a=>{let b=(0,k.$)(a.target.value);c(h.sI.actions.changeInputMode(b))};return(0,e.jsx)("div",{className:a,children:l.map(a=>(0,e.jsx)(g.sx,{checked:i===a.value,className:j().option,disabled:b,name:"inputMode",value:a.value,onChange:m,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},62483:a=>{a.exports={button:"MenuModal_button__x3zTR",settings:"MenuModal_settings__XE_P3",settingsLabel:"MenuModal_settingsLabel__xYRLv",flag:"MenuModal_flag__NGaHf"}},63074:a=>{"use strict";a.exports=require("react-highlight-words")},63131:a=>{"use strict";a.exports=require("react-modal")},63229:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>o});var e=c(8732),f=c(3892),g=c.n(f),h=c(82015),i=c(22620),j=c(54100),k=c(77233),l=c(66661),m=c.n(l),n=a([i,k]);[i,k]=n.then?(await n)():n;let o=(0,h.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,k.WD)(),f=(0,k.N4)(k.JV),h=(0,k.N4)(k.X7),l=(0,k.N4)(k.G$);return(0,e.jsxs)(i.aF,{className:a,isOpen:b,title:d("words"),onClose:c,children:[(0,e.jsx)(i.aF.Section,{label:d("words.invalid"),title:(0,e.jsxs)("span",{className:m().title,children:[(0,e.jsx)("span",{children:d("words.invalid")}),(0,e.jsx)(i.Ex,{className:m().badge,children:h.length.toLocaleString(f)})]}),children:h.map((a,b)=>(0,e.jsxs)("div",{className:m().word,children:[(0,e.jsx)(j.FB,{"aria-hidden":"true",className:g()(m().icon,m().invalid),role:"img"})," ",a]},b))}),(0,e.jsx)(i.aF.Section,{label:d("words.valid"),title:(0,e.jsxs)("span",{className:m().title,children:[(0,e.jsx)("span",{children:d("words.valid")}),(0,e.jsx)(i.Ex,{className:m().badge,children:l.length.toLocaleString(f)})]}),children:l.map((a,b)=>(0,e.jsxs)("div",{className:m().word,children:[(0,e.jsx)(j.Jl,{"aria-hidden":"true",className:g()(m().icon,m().valid),role:"img"})," ",a]},b))})]})});d()}catch(a){d(a)}})},63705:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{b:()=>e.b});var e=c(65431),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},63901:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>l});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(23655),j=c.n(i),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let l=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.hN),k=[{label:d("settings.showCoordinates.hidden"),value:"hidden"},{label:d("settings.showCoordinates.original"),value:"original"},{label:d("settings.showCoordinates.alternative"),value:"alternative"}],l=a=>{let b=a.target.value;c(h.sI.actions.changeShowCoordinates(b))};return(0,e.jsx)("div",{className:a,children:k.map(a=>(0,e.jsx)(g.sx,{checked:String(i)===a.value,className:j().option,disabled:b,name:"showCoordinates",value:a.value,onChange:l,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},65431:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{b:()=>l});var e=c(8732),f=c(82015),g=c(22620),h=c(83338),i=c(77233),j=c(2818),k=a([g,h,i,j]);[g,h,i,j]=k.then?(await k)():k;let l=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,i.WD)(),f=(0,h.Ju)();return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:d("settings"),onClose:c,children:[(0,e.jsx)(g.aF.Section,{label:d("settings.game"),title:d("settings.game"),children:(0,e.jsx)(j.jn,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.language"),title:d("settings.language"),children:(0,e.jsx)(j.NO,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.showCoordinates"),title:d("settings.showCoordinates"),children:(0,e.jsx)(j.L5,{disabled:!b})}),!f&&(0,e.jsx)(g.aF.Section,{label:d("settings.inputMode"),title:d("settings.inputMode"),children:(0,e.jsx)(j.Qj,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.autoGroupTiles"),title:d("settings.autoGroupTiles"),children:(0,e.jsx)(j.wU,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.removeCellFilters"),title:d("settings.removeCellFilters"),children:(0,e.jsx)(j.Om,{disabled:!b})}),(0,e.jsx)(g.aF.Section,{label:d("settings.highlightUnreachableCells"),title:d("settings.highlightUnreachableCells"),children:(0,e.jsx)(j.Uj,{disabled:!b})})]})});d()}catch(a){d(a)}})},66478:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{K:()=>e.K});var e=c(8615),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},66528:(a,b,c)=>{"use strict";c.d(b,{L:()=>e});let d=require("workbox-window"),e=async()=>{globalThis.navigator&&"serviceWorker"in globalThis.navigator&&await new d.Workbox("/service-worker.js").register({immediate:!0})}},66605:a=>{"use strict";a.exports=require("transliteration")},66661:a=>{a.exports={title:"WordsModal_title__UGHtI",badge:"WordsModal_badge__Ay_8V",word:"WordsModal_word__sCI06",invalid:"WordsModal_invalid__jgYeh",valid:"WordsModal_valid__JW5lM",icon:"WordsModal_icon___HWi4"}},67073:a=>{a.exports={character:"Character_character__Xry5W",finished:"Character_finished__Ee5Eu",overused:"Character_overused__WV6tJ",tile:"Character_tile__Ledy0",remaining:"Character_remaining__DFxBl",count:"Character_count__Bl6_O",unused:"Character_unused___qpnr"}},68455:a=>{"use strict";a.exports=import("redux-saga")},69198:a=>{"use strict";a.exports=import("@reduxjs/toolkit")},69311:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>e.f});var e=c(85427),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},70987:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>i});var e=c(69198),f=c(77233),g=c(72752),h=a([e,f]);[e,f]=h.then?(await h)():h;let i=(0,e.createSelector)([f.um],g.k);d()}catch(a){d(a)}})},72752:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});var d=c(57472);let e=a=>{let b=a.filter(f),c=a.filter(g),d=a.filter(j),e=[];e.push({remainingCount:k(c),tiles:c,translationKey:"common.vowels",totalCount:l(c)}),e.push({remainingCount:k(b),tiles:b,translationKey:"common.consonants",totalCount:l(b)}),e.push({remainingCount:k(d),tiles:d,translationKey:"common.tiles",totalCount:l(d)});let m=a.filter(h),n=a.filter(i);return e.push({remainingCount:k(m),tiles:m,translationKey:"common.two-letter-tiles",totalCount:l(m)}),e.push({remainingCount:k(n),tiles:n,translationKey:"common.blanks",totalCount:l(n)}),e.filter(({totalCount:a})=>a>0)},f=a=>d.CONSONANTS.includes(a.character),g=a=>d.VOWELS.includes(a.character),h=a=>2===a.character.length,i=a=>a.character===d.BLANK,j=a=>!f(a)&&!g(a)&&!i(a)&&!h(a),k=a=>a.reduce((a,{count:b,usedCount:c})=>void 0===b?a:a+b-c,0),l=a=>a.reduce((a,{count:b})=>void 0===b?a:a+b,0)},75243:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d="null"},79646:a=>{"use strict";a.exports=require("child_process")},82015:a=>{"use strict";a.exports=require("react")},82251:a=>{a.exports={title:"RemainingTilesModal_title__4rcbk",content:"RemainingTilesModal_content__NrmXd",badge:"RemainingTilesModal_badge__vZkrc",character:"RemainingTilesModal_character__16pGR"}},84632:(a,b,c)=>{"use strict";c.d(b,{$:()=>e});var d=c(38454);let e=a=>{let b=Object.values(d.games),c=Object.values(d.languages);return b.map(b=>{let e=c.find(c=>c.game===b.game&&c.locale===a);return{disabled:!(0,d.hasConfig)(b.game,a),label:e?.config.name??b.name,value:b.game}})}},84641:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>e.x});var e=c(88443),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},85427:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>o});var e=c(8732),f=c(82015),g=c(22620),h=c(16438),i=c(54100),j=c(96768),k=c(77233),l=c(62483),m=c.n(l),n=a([g,k]);[g,k]=n.then?(await n)():n;let o=(0,f.memo)(({className:a,isOpen:b,onClose:c,onShowDictionary:d,onShowRemainingTiles:f,onShowSettings:l,onShowWords:n})=>{let o=(0,k.WD)(),p=(0,k.N4)(k.JV),{Icon:q}=h.x[p];return(0,e.jsxs)(g.aF,{className:a,isOpen:b,title:o("menu"),onClose:c,children:[(0,e.jsx)(g.$n,{"aria-label":o("remaining-tiles"),className:m().button,Icon:i.LK,wide:!0,onClick:f,children:o("remaining-tiles")}),(0,e.jsx)(g.$n,{"aria-label":o("words"),className:m().button,Icon:i.Pv,wide:!0,onClick:n,children:o("words")}),(0,e.jsx)(g.$n,{"aria-label":o("dictionary"),className:m().button,Icon:i.rl,wide:!0,onClick:d,children:o("dictionary")}),(0,e.jsx)(g.$n.Link,{"aria-label":o("github"),className:m().button,href:j.g,Icon:i.Cp,rel:"noopener noreferrer",target:"_blank",wide:!0,children:o("github")}),(0,e.jsx)(g.$n,{"aria-label":o("settings"),className:m().button,Icon:i.mg,wide:!0,onClick:l,children:(0,e.jsxs)("div",{className:m().settings,children:[(0,e.jsx)("div",{className:m().settingsLabel,children:o("settings")}),(0,e.jsx)(q,{"aria-hidden":"true",className:m().flag,role:"img"})]})})]})});d()}catch(a){d(a)}})},87101:a=>{a.exports={option:"InputModeSetting_option__9tdaY",label:"InputModeSetting_label__al6kL"}},87863:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{U:()=>l});var e=c(8732),f=c(14062),g=c(22620),h=c(77233),i=c(61925),j=c.n(i),k=a([f,g,h]);[f,g,h]=k.then?(await k)():k;let l=({className:a,disabled:b})=>{let c=(0,f.useDispatch)(),d=(0,h.WD)(),i=(0,h.N4)(h.u_),k=[{label:d("common.off"),value:"off"},{label:d("common.on"),value:"on"}],l=a=>{c(h.sI.actions.changeHighlightUnreachableCells("on"===a.target.value))};return(0,e.jsx)("div",{className:a,children:k.map(a=>(0,e.jsx)(g.sx,{checked:(i?"on":"off")===a.value,className:j().option,disabled:b,name:"highlightUnreachableCells",value:a.value,onChange:l,children:(0,e.jsx)("div",{className:j().label,children:a.label})},a.value))})};d()}catch(a){d(a)}})},88443:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>q});var e=c(8732),f=c(82015),g=c(22620),h=c(16438),i=c(75396),j=c(96768),k=c(77233),l=c(27770),m=c(82251),n=c.n(m),o=c(70987),p=a([g,k,l,o]);[g,k,l,o]=p.then?(await p)():p;let q=(0,f.memo)(({className:a,isOpen:b,onClose:c})=>{let d=(0,k.WD)(),f=(0,k.N4)(k.JV),m=(0,k.N4)(o.g),{tileFontSize:p}=(0,i.HS)(j.AM),{direction:q}=h.x[f];return(0,e.jsx)(g.aF,{className:a,isOpen:b,title:d("remaining-tiles"),onClose:c,children:m.map(({remainingCount:a,tiles:b,translationKey:c,totalCount:h})=>(0,e.jsx)(g.aF.Section,{label:d(c),title:(0,e.jsxs)("span",{className:n().title,children:[(0,e.jsx)("span",{children:d(c)}),(0,e.jsxs)(g.Ex,{className:n().badge,children:[("ltr"===q?a:h).toLocaleString(f)," / ",("ltr"===q?h:a).toLocaleString(f)]})]}),children:(0,e.jsx)("div",{className:n().content,style:{fontSize:p},children:b.map(a=>(0,e.jsx)("div",{className:n().character,children:(0,e.jsx)(l.K,{tile:a})},a.character))})},c))})});d()}catch(a){d(a)}})},88888:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>e.w});var e=c(28999),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},90618:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J5:()=>k.J,JT:()=>f.J,Ym:()=>i.Y,_z:()=>e._,bB:()=>j.b,fo:()=>g.f,xG:()=>h.x});var e=c(42968),f=c(28623),g=c(69311),h=c(84641),i=c(44546),j=c(63705),k=c(58961),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},90998:a=>{"use strict";a.exports=require("react-window")},91024:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(8732),e=c(6030),f=c.n(e);class g extends f(){render(){return(0,d.jsxs)(e.Html,{lang:"en",children:[(0,d.jsxs)(e.Head,{children:[(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"icons/favicon.svg"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.Main,{}),(0,d.jsx)(e.NextScript,{})]})]})}}let h=g},96481:a=>{"use strict";a.exports=require("store2")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,318,791,785,712],()=>b(b.s=22864));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../../node_modules/@babel/runtime/package.json","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../../../node_modules/@floating-ui/core/package.json","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../../../node_modules/@floating-ui/dom/package.json","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../../../node_modules/@floating-ui/react-dom/package.json","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../../../node_modules/@floating-ui/react/package.json","../../../../../node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js","../../../../../node_modules/@floating-ui/react/utils/package.json","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js","../../../../../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js","../../../../../node_modules/@floating-ui/utils/dom/package.json","../../../../../node_modules/@floating-ui/utils/package.json","../../../../../node_modules/@redux-saga/core/dist/io-0e463701.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../../../node_modules/@redux-saga/core/effects/dist/redux-saga-core-effects.cjs.js","../../../../../node_modules/@redux-saga/core/effects/package.json","../../../../../node_modules/@redux-saga/core/package.json","../../../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../../../node_modules/@redux-saga/deferred/package.json","../../../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../../../node_modules/@redux-saga/delay-p/package.json","../../../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../../../node_modules/@redux-saga/is/package.json","../../../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../../../node_modules/@redux-saga/symbols/package.json","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/index.js","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","../../../../../node_modules/@reduxjs/toolkit/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/classnames/index.js","../../../../../node_modules/classnames/package.json","../../../../../node_modules/client-only/index.js","../../../../../node_modules/client-only/package.json","../../../../../node_modules/exenv/index.js","../../../../../node_modules/exenv/package.json","../../../../../node_modules/immer/dist/cjs/immer.cjs.development.js","../../../../../node_modules/immer/dist/cjs/immer.cjs.production.js","../../../../../node_modules/immer/dist/cjs/index.js","../../../../../node_modules/immer/dist/immer.mjs","../../../../../node_modules/immer/package.json","../../../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../../../node_modules/include-media-query-builder/build/constants.js","../../../../../node_modules/include-media-query-builder/build/index.js","../../../../../node_modules/include-media-query-builder/build/isOperator.js","../../../../../node_modules/include-media-query-builder/build/isSize.js","../../../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../../../node_modules/include-media-query-builder/build/types.js","../../../../../node_modules/include-media-query-builder/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/object-assign/index.js","../../../../../node_modules/object-assign/package.json","../../../../../node_modules/prop-types/checkPropTypes.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/prop-types/lib/has.js","../../../../../node_modules/prop-types/package.json","../../../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../../../node_modules/react-cool-onclickoutside/package.json","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom.development.js","../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js","../../../../../node_modules/react-dom/package.json","../../../../../node_modules/react-dom/server.browser.js","../../../../../node_modules/react-dom/server.edge.js","../../../../../node_modules/react-dom/server.js","../../../../../node_modules/react-dom/server.node.js","../../../../../node_modules/react-highlight-words/dist/main.js","../../../../../node_modules/react-highlight-words/package.json","../../../../../node_modules/react-is/cjs/react-is.development.js","../../../../../node_modules/react-is/cjs/react-is.production.min.js","../../../../../node_modules/react-is/index.js","../../../../../node_modules/react-is/package.json","../../../../../node_modules/react-lifecycles-compat/package.json","../../../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../../../node_modules/react-modal/lib/components/Modal.js","../../../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../../../node_modules/react-modal/lib/helpers/classList.js","../../../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../../../node_modules/react-modal/lib/index.js","../../../../../node_modules/react-modal/package.json","../../../../../node_modules/react-redux/dist/cjs/index.js","../../../../../node_modules/react-redux/dist/cjs/react-redux.development.cjs","../../../../../node_modules/react-redux/dist/cjs/react-redux.production.min.cjs","../../../../../node_modules/react-redux/dist/react-redux.mjs","../../../../../node_modules/react-redux/package.json","../../../../../node_modules/react-window/dist/react-window.cjs","../../../../../node_modules/react-window/package.json","../../../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/jsx-runtime.js","../../../../../node_modules/react/package.json","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.default.js","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.js","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.mjs","../../../../../node_modules/redux-saga/effects/dist/redux-saga-effects.cjs.js","../../../../../node_modules/redux-saga/effects/dist/redux-saga-effects.cjs.mjs","../../../../../node_modules/redux-saga/effects/package.json","../../../../../node_modules/redux-saga/package.json","../../../../../node_modules/redux-thunk/dist/cjs/redux-thunk.cjs","../../../../../node_modules/redux-thunk/dist/redux-thunk.mjs","../../../../../node_modules/redux-thunk/package.json","../../../../../node_modules/redux/dist/cjs/redux.cjs","../../../../../node_modules/redux/dist/redux.mjs","../../../../../node_modules/redux/package.json","../../../../../node_modules/reselect/dist/cjs/index.js","../../../../../node_modules/reselect/dist/cjs/reselect.development.cjs","../../../../../node_modules/reselect/dist/cjs/reselect.production.min.cjs","../../../../../node_modules/reselect/dist/reselect.mjs","../../../../../node_modules/reselect/package.json","../../../../../node_modules/store2/dist/store2.js","../../../../../node_modules/store2/package.json","../../../../../node_modules/styled-jsx/dist/index/index.js","../../../../../node_modules/styled-jsx/index.js","../../../../../node_modules/styled-jsx/package.json","../../../../../node_modules/tabbable/dist/index.js","../../../../../node_modules/tabbable/package.json","../../../../../node_modules/transliteration/dist/node/src/node/index.js","../../../../../node_modules/transliteration/package.json","../../../../../node_modules/use-debounce/dist/index.js","../../../../../node_modules/use-debounce/dist/index.mjs","../../../../../node_modules/use-debounce/package.json","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../../../../../node_modules/use-sync-external-store/package.json","../../../../../node_modules/use-sync-external-store/with-selector.js","../../../../../node_modules/warning/package.json","../../../../../node_modules/warning/warning.js","../../../../../node_modules/workbox-window/build/workbox-window.prod.umd.js","../../../../../node_modules/workbox-window/package.json","../../../../../package.json","../../../../configs/build/games/crossplay.js","../../../../configs/build/games/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/index.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/index.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../configs/package.json","../../../../constants/build/index.js","../../../../constants/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/index.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/package.json","../../../package.json","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../package.json","../chunks/30.js","../chunks/318.js","../chunks/712.js","../chunks/791.js","../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../../node_modules/@babel/runtime/package.json","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.umd.js","../../../../../node_modules/@floating-ui/core/package.json","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js","../../../../../node_modules/@floating-ui/dom/package.json","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js","../../../../../node_modules/@floating-ui/react-dom/package.json","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.umd.js","../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../../../node_modules/@floating-ui/react/package.json","../../../../../node_modules/@floating-ui/react/utils/floating-ui.react.utils.umd.js","../../../../../node_modules/@floating-ui/react/utils/package.json","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js","../../../../../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js","../../../../../node_modules/@floating-ui/utils/dom/package.json","../../../../../node_modules/@floating-ui/utils/package.json","../../../../../node_modules/@redux-saga/core/dist/io-0e463701.cjs.js","../../../../../node_modules/@redux-saga/core/dist/redux-saga-core.cjs.js","../../../../../node_modules/@redux-saga/core/effects/dist/redux-saga-core-effects.cjs.js","../../../../../node_modules/@redux-saga/core/effects/package.json","../../../../../node_modules/@redux-saga/core/package.json","../../../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.cjs.js","../../../../../node_modules/@redux-saga/deferred/package.json","../../../../../node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.cjs.js","../../../../../node_modules/@redux-saga/delay-p/package.json","../../../../../node_modules/@redux-saga/is/dist/redux-saga-is.cjs.js","../../../../../node_modules/@redux-saga/is/package.json","../../../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.cjs.js","../../../../../node_modules/@redux-saga/symbols/package.json","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/index.js","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs","../../../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs","../../../../../node_modules/@reduxjs/toolkit/package.json","../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/classnames/index.js","../../../../../node_modules/classnames/package.json","../../../../../node_modules/client-only/index.js","../../../../../node_modules/client-only/package.json","../../../../../node_modules/exenv/index.js","../../../../../node_modules/exenv/package.json","../../../../../node_modules/immer/dist/cjs/immer.cjs.development.js","../../../../../node_modules/immer/dist/cjs/immer.cjs.production.js","../../../../../node_modules/immer/dist/cjs/index.js","../../../../../node_modules/immer/dist/immer.mjs","../../../../../node_modules/immer/package.json","../../../../../node_modules/include-media-query-builder/build/buildMediaQuery.js","../../../../../node_modules/include-media-query-builder/build/buildParsedQuery.js","../../../../../node_modules/include-media-query-builder/build/constants.js","../../../../../node_modules/include-media-query-builder/build/index.js","../../../../../node_modules/include-media-query-builder/build/isOperator.js","../../../../../node_modules/include-media-query-builder/build/isSize.js","../../../../../node_modules/include-media-query-builder/build/parseQuery.js","../../../../../node_modules/include-media-query-builder/build/types.js","../../../../../node_modules/include-media-query-builder/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/object-assign/index.js","../../../../../node_modules/object-assign/package.json","../../../../../node_modules/prop-types/checkPropTypes.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/prop-types/lib/has.js","../../../../../node_modules/prop-types/package.json","../../../../../node_modules/react-cool-onclickoutside/dist/index.js","../../../../../node_modules/react-cool-onclickoutside/package.json","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.browser.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.edge.production.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.development.js","../../../../../node_modules/react-dom/cjs/react-dom-server.node.production.js","../../../../../node_modules/react-dom/cjs/react-dom.development.js","../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js","../../../../../node_modules/react-dom/package.json","../../../../../node_modules/react-dom/server.browser.js","../../../../../node_modules/react-dom/server.edge.js","../../../../../node_modules/react-dom/server.js","../../../../../node_modules/react-dom/server.node.js","../../../../../node_modules/react-highlight-words/dist/main.js","../../../../../node_modules/react-highlight-words/package.json","../../../../../node_modules/react-is/cjs/react-is.development.js","../../../../../node_modules/react-is/cjs/react-is.production.min.js","../../../../../node_modules/react-is/index.js","../../../../../node_modules/react-is/package.json","../../../../../node_modules/react-lifecycles-compat/package.json","../../../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.cjs.js","../../../../../node_modules/react-modal/lib/components/Modal.js","../../../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../../../node_modules/react-modal/lib/helpers/classList.js","../../../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../../../node_modules/react-modal/lib/index.js","../../../../../node_modules/react-modal/package.json","../../../../../node_modules/react-redux/dist/cjs/index.js","../../../../../node_modules/react-redux/dist/cjs/react-redux.development.cjs","../../../../../node_modules/react-redux/dist/cjs/react-redux.production.min.cjs","../../../../../node_modules/react-redux/dist/react-redux.mjs","../../../../../node_modules/react-redux/package.json","../../../../../node_modules/react-window/dist/react-window.cjs","../../../../../node_modules/react-window/package.json","../../../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/jsx-runtime.js","../../../../../node_modules/react/package.json","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.default.js","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.js","../../../../../node_modules/redux-saga/dist/redux-saga.cjs.mjs","../../../../../node_modules/redux-saga/effects/dist/redux-saga-effects.cjs.js","../../../../../node_modules/redux-saga/effects/dist/redux-saga-effects.cjs.mjs","../../../../../node_modules/redux-saga/effects/package.json","../../../../../node_modules/redux-saga/package.json","../../../../../node_modules/redux-thunk/dist/cjs/redux-thunk.cjs","../../../../../node_modules/redux-thunk/dist/redux-thunk.mjs","../../../../../node_modules/redux-thunk/package.json","../../../../../node_modules/redux/dist/cjs/redux.cjs","../../../../../node_modules/redux/dist/redux.mjs","../../../../../node_modules/redux/package.json","../../../../../node_modules/reselect/dist/cjs/index.js","../../../../../node_modules/reselect/dist/cjs/reselect.development.cjs","../../../../../node_modules/reselect/dist/cjs/reselect.production.min.cjs","../../../../../node_modules/reselect/dist/reselect.mjs","../../../../../node_modules/reselect/package.json","../../../../../node_modules/store2/dist/store2.js","../../../../../node_modules/store2/package.json","../../../../../node_modules/styled-jsx/dist/index/index.js","../../../../../node_modules/styled-jsx/index.js","../../../../../node_modules/styled-jsx/package.json","../../../../../node_modules/tabbable/dist/index.js","../../../../../node_modules/tabbable/package.json","../../../../../node_modules/transliteration/dist/node/src/node/index.js","../../../../../node_modules/transliteration/package.json","../../../../../node_modules/use-debounce/dist/index.js","../../../../../node_modules/use-debounce/dist/index.mjs","../../../../../node_modules/use-debounce/package.json","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js","../../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js","../../../../../node_modules/use-sync-external-store/package.json","../../../../../node_modules/use-sync-external-store/with-selector.js","../../../../../node_modules/warning/package.json","../../../../../node_modules/warning/warning.js","../../../../../node_modules/workbox-window/build/workbox-window.prod.umd.js","../../../../../node_modules/workbox-window/package.json","../../../../../package.json","../../../../configs/build/games/crossplay.js","../../../../configs/build/games/index.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/index.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/index.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../configs/package.json","../../../../constants/build/index.js","../../../../constants/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/Game.js","../../../../types/build/Locale.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/index.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/build/readResultCells.js","../../../../types/package.json","../../../package.json","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../src/solver-worker/index.worker.ts","../../package.json","../chunks/30.js","../chunks/318.js","../chunks/712.js","../chunks/785.js","../chunks/791.js","../webpack-runtime.js"]}
@@ -1 +1 @@
1
- {"pageProps":{"version":"v2.16.7","buildSha":"3d9bed2fd4c0100041c8a225a730d6ca2ebaea5a"},"__N_SSG":true}
1
+ {"pageProps":{"version":"v2.17.0","buildSha":"ec4d0e801b656120399dda9e66cbf92d58140ffa"},"__N_SSG":true}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><title data-next-head="">Scrabble Solver 2</title><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Crossplay,NYT Crossplay,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/0af35adb4bab56f0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0af35adb4bab56f0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-1a7a166b34ed8d24.js" defer=""></script><script src="/_next/static/chunks/framework-3cf15b8041c59dd3.js" defer=""></script><script src="/_next/static/chunks/main-852475ca502b4e49.js" defer=""></script><script src="/_next/static/chunks/pages/_app-a5bbe02710f13d05.js" defer=""></script><script src="/_next/static/chunks/pages/not-found-9e076427bad69d90.js" defer=""></script><script src="/_next/static/vYpMmuC_yEurZGcyGVnLf/_buildManifest.js" defer=""></script><script src="/_next/static/vYpMmuC_yEurZGcyGVnLf/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__WN02P"><a class="NotFound_link__MEAuF" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" class="NotFound_icon__UWN1j" role="img"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"></path></svg><svg class="NotFound_tiles__TCY86" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/not-found","query":{},"buildId":"vYpMmuC_yEurZGcyGVnLf","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><title data-next-head="">Scrabble Solver 2</title><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Crossplay,NYT Crossplay,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/aedeaada218d7280.css" as="style"/><link rel="stylesheet" href="/_next/static/css/aedeaada218d7280.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-3943d624bbb47a64.js" defer=""></script><script src="/_next/static/chunks/framework-3cf15b8041c59dd3.js" defer=""></script><script src="/_next/static/chunks/main-5b999f3f24ebfa84.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7024e7a27ffbb2fa.js" defer=""></script><script src="/_next/static/chunks/pages/not-found-9e076427bad69d90.js" defer=""></script><script src="/_next/static/OLE8_ZInlGH7ENU0NIOpf/_buildManifest.js" defer=""></script><script src="/_next/static/OLE8_ZInlGH7ENU0NIOpf/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__WN02P"><a class="NotFound_link__MEAuF" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" class="NotFound_icon__UWN1j" role="img"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"></path></svg><svg class="NotFound_tiles__TCY86" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile___NJSM" fill="#222" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/not-found","query":{},"buildId":"OLE8_ZInlGH7ENU0NIOpf","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/30.js","../chunks/318.js","../chunks/791.js","../chunks/712.js","../../../../types/build/index.js","../../../package.json","../../../../configs/build/index.js","../../../../constants/build/index.js","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../../types/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/FinalPattern.js","../../../../types/build/Game.js","../../../../types/build/HorizontalPattern.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/build/Locale.js","../../../../types/build/Pattern.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/VerticalPattern.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../configs/package.json","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/games/index.js","../../../../configs/build/languages/index.js","../../../../configs/build/games/crossplay.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../constants/package.json","../../../../../package.json"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/30.js","../chunks/318.js","../chunks/791.js","../chunks/785.js","../chunks/712.js","../../../../types/build/index.js","../../../package.json","../../../../configs/build/index.js","../../../../constants/build/index.js","../../../src/i18n/languages/english.json","../../../src/i18n/languages/french.json","../../../src/i18n/languages/german.json","../../../src/i18n/languages/persian.json","../../../src/i18n/languages/polish.json","../../../src/i18n/languages/romanian.json","../../../src/i18n/languages/spanish.json","../../../src/i18n/languages/turkish.json","../../../src/solver-worker/index.worker.ts","../../../../types/package.json","../../../../types/build/Bingo.js","../../../../types/build/Board.js","../../../../types/build/BoardJson.js","../../../../types/build/Bonus.js","../../../../types/build/Cell.js","../../../../types/build/CellJson.js","../../../../types/build/CharacterBonus.js","../../../../types/build/Config.js","../../../../types/build/Game.js","../../../../types/build/isError.js","../../../../types/build/isObject.js","../../../../types/build/Locale.js","../../../../types/build/Result.js","../../../../types/build/Tile.js","../../../../types/build/TileJson.js","../../../../types/build/WordBonus.js","../../../../types/build/WordDefinition.js","../../../../types/build/readResultCells.js","../../../../configs/package.json","../../../../configs/build/getConfig.js","../../../../configs/build/hasConfig.js","../../../../configs/build/games/index.js","../../../../configs/build/languages/index.js","../../../../configs/build/games/crossplay.js","../../../../configs/build/games/kelimelik.js","../../../../configs/build/games/letterLeague.js","../../../../configs/build/games/literaki.js","../../../../configs/build/games/scrabble.js","../../../../configs/build/games/scrabbleDuel.js","../../../../configs/build/games/superScrabble.js","../../../../configs/build/languages/english.js","../../../../configs/build/languages/german.js","../../../../configs/build/languages/french.js","../../../../configs/build/languages/persian.js","../../../../configs/build/languages/polish.js","../../../../configs/build/languages/romanian.js","../../../../configs/build/languages/spanish.js","../../../../configs/build/languages/turkish.js","../../../../constants/package.json","../../../../../package.json"]}
@@ -6,8 +6,8 @@
6
6
  "/api/verify": "pages/api/verify.js",
7
7
  "/api/visit": "pages/api/visit.js",
8
8
  "/not-found": "pages/not-found.html",
9
- "/api/dictionary/[locale]": "pages/api/dictionary/[locale].js",
10
9
  "/api/solve": "pages/api/solve.js",
11
10
  "/": "pages/index.js",
11
+ "/api/dictionary/[locale]": "pages/api/dictionary/[locale].js",
12
12
  "/404": "pages/404.html"
13
13
  }
@@ -1 +1 @@
1
- (()=>{"use strict";var a,b,c,d,e,f,g={},h={};function i(a){var b=h[a];if(void 0!==b)return b.exports;var c=h[a]={exports:{}},d=!0;try{g[a].call(c.exports,c,c.exports,i),d=!1}finally{d&&delete h[a]}return c.exports}i.m=g,a="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",b="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",c="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",d=a=>{a&&a.d<1&&(a.d=1,a.forEach(a=>a.r--),a.forEach(a=>a.r--?a.r++:a()))},i.a=(e,f,g)=>{g&&((h=[]).d=-1);var h,i,j,k,l=new Set,m=e.exports,n=new Promise((a,b)=>{k=b,j=a});n[b]=m,n[a]=a=>(h&&a(h),l.forEach(a),n.catch(a=>{})),e.exports=n,f(e=>{i=e.map(e=>{if(null!==e&&"object"==typeof e){if(e[a])return e;if(e.then){var f=[];f.d=0,e.then(a=>{g[b]=a,d(f)},a=>{g[c]=a,d(f)});var g={};return g[a]=a=>a(f),g}}var h={};return h[a]=a=>{},h[b]=e,h});var f,g=()=>i.map(a=>{if(a[c])throw a[c];return a[b]}),j=new Promise(b=>{(f=()=>b(g)).r=0;var c=a=>a!==h&&!l.has(a)&&(l.add(a),a&&!a.d&&(f.r++,a.push(f)));i.map(b=>b[a](c))});return f.r?j:g()},a=>(a?k(n[c]=a):j(m),d(h))),h&&h.d<0&&(h.d=0)},i.n=a=>{var b=a&&a.__esModule?()=>a.default:()=>a;return i.d(b,{a:b}),b},i.d=(a,b)=>{for(var c in b)i.o(b,c)&&!i.o(a,c)&&Object.defineProperty(a,c,{enumerable:!0,get:b[c]})},i.f={},i.e=a=>Promise.all(Object.keys(i.f).reduce((b,c)=>(i.f[c](a,b),b),[])),i.u=a=>""+a+".js",i.o=(a,b)=>Object.prototype.hasOwnProperty.call(a,b),i.r=a=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},i.X=(a,b,c)=>{var d=b;c||(b=a,c=()=>i(i.s=d)),b.map(i.e,i);var e=c();return void 0===e?a:e},e={311:1},f=a=>{var b=a.modules,c=a.ids,d=a.runtime;for(var f in b)i.o(b,f)&&(i.m[f]=b[f]);d&&d(i);for(var g=0;g<c.length;g++)e[c[g]]=1},i.f.require=(a,b)=>{e[a]||(311!=a?f(require("./chunks/"+i.u(a))):e[a]=1)},module.exports=i,i.C=f})();
1
+ (()=>{"use strict";var a,b,c,d,e,f,g={},h={};function i(a){var b=h[a];if(void 0!==b)return b.exports;var c=h[a]={exports:{}},d=!0;try{g[a].call(c.exports,c,c.exports,i),d=!1}finally{d&&delete h[a]}return c.exports}i.m=g,a="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",b="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",c="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",d=a=>{a&&a.d<1&&(a.d=1,a.forEach(a=>a.r--),a.forEach(a=>a.r--?a.r++:a()))},i.a=(e,f,g)=>{g&&((h=[]).d=-1);var h,i,j,k,l=new Set,m=e.exports,n=new Promise((a,b)=>{k=b,j=a});n[b]=m,n[a]=a=>(h&&a(h),l.forEach(a),n.catch(a=>{})),e.exports=n,f(e=>{i=e.map(e=>{if(null!==e&&"object"==typeof e){if(e[a])return e;if(e.then){var f=[];f.d=0,e.then(a=>{g[b]=a,d(f)},a=>{g[c]=a,d(f)});var g={};return g[a]=a=>a(f),g}}var h={};return h[a]=a=>{},h[b]=e,h});var f,g=()=>i.map(a=>{if(a[c])throw a[c];return a[b]}),j=new Promise(b=>{(f=()=>b(g)).r=0;var c=a=>a!==h&&!l.has(a)&&(l.add(a),a&&!a.d&&(f.r++,a.push(f)));i.map(b=>b[a](c))});return f.r?j:g()},a=>(a?k(n[c]=a):j(m),d(h))),h&&h.d<0&&(h.d=0)},i.n=a=>{var b=a&&a.__esModule?()=>a.default:()=>a;return i.d(b,{a:b}),b},i.d=(a,b)=>{for(var c in b)i.o(b,c)&&!i.o(a,c)&&Object.defineProperty(a,c,{enumerable:!0,get:b[c]})},i.f={},i.e=a=>Promise.all(Object.keys(i.f).reduce((b,c)=>(i.f[c](a,b),b),[])),i.u=a=>""+a+".js",i.o=(a,b)=>Object.prototype.hasOwnProperty.call(a,b),i.r=a=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},i.X=(a,b,c)=>{var d=b;c||(b=a,c=()=>i(i.s=d)),b.map(i.e,i);var e=c();return void 0===e?a:e},i.p="/_next/",i.b=require("url").pathToFileURL(__dirname+"/./chunks/"),e={311:1},f=a=>{var b=a.modules,c=a.ids,d=a.runtime;for(var f in b)i.o(b,f)&&(i.m[f]=b[f]);d&&d(i);for(var g=0;g<c.length;g++)e[c[g]]=1},i.f.require=(a,b)=>{e[a]||(311!=a?f(require("./chunks/"+i.u(a))):e[a]=1)},module.exports=i,i.C=f})();
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:e,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:e,bitArray:[]},"/":["static/css/a78e04fe95452380.css","static/chunks/pages/index-ec0f6aeeaf7be227.js"],"/_error":["static/chunks/pages/_error-afeda7c5231b6c3c.js"],"/not-found":["static/chunks/pages/not-found-9e076427bad69d90.js"],sortedPages:["/","/_app","/_error","/not-found"]}}(NaN),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
1
+ self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:e,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:e,bitArray:[]},"/":["static/css/a78e04fe95452380.css","static/chunks/pages/index-8b398b0a5d870773.js"],"/_error":["static/chunks/pages/_error-afeda7c5231b6c3c.js"],"/not-found":["static/chunks/pages/not-found-9e076427bad69d90.js"],sortedPages:["/","/_app","/_error","/not-found"]}}(NaN),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[583],{6040:()=>{try{self["workbox:expiration:7.4.0"]&&_()}catch(e){}},6583:(e,t,n)=>{let r,s,i;n.d(t,{A:()=>y}),n(6677);let a=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,u=new WeakMap,h={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return o.get(e);if("objectStoreNames"===t)return e.objectStoreNames||c.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return l(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function l(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{t(l(e.result)),r()},i=()=>{n(e.error),r()};e.addEventListener("success",s),e.addEventListener("error",i)})).then(t=>{t instanceof IDBCursor&&a.set(t,e)}).catch(()=>{}),u.set(t,e),t}if(d.has(e))return d.get(e);let t=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(s||(s=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(p(this),t),l(a.get(this))}:function(...t){return l(e.apply(p(this),t))}:function(t,...n){let r=e.call(p(this),t,...n);return c.set(r,t.sort?t.sort():[t]),l(r)};return e instanceof IDBTransaction&&function(e){if(o.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{t(),r()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});o.set(e,t)}(e),(r||(r=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,h):e}(e);return t!==e&&(d.set(e,t),u.set(t,e)),t}let p=e=>u.get(e),m=["get","getKey","getAll","getAllKeys","count"],f=["put","add","delete","clear"],g=new Map;function w(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(g.get(t))return g.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,s=f.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(s||m.includes(n)))return;let i=async function(e,...t){let i=this.transaction(e,s?"readwrite":"readonly"),a=i.store;return r&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),s&&i.done]))[0]};return g.set(t,i),i}h={...i=h,get:(e,t,n)=>w(e,t)||i.get(e,t,n),has:(e,t)=>!!w(e,t)||i.has(e,t)},n(6040);let b="cache-entries",D=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class x{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(b,{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 n=indexedDB.deleteDatabase(e);t&&n.addEventListener("blocked",e=>t(e.oldVersion,e)),l(n).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){let n={url:e=D(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(b,"readwrite",{durability:"relaxed"});await r.store.put(n),await r.done}async getTimestamp(e){let t=await this.getDb(),n=await t.get(b,this._getId(e));return null==n?void 0:n.timestamp}async expireEntries(e,t){let n=await this.getDb(),r=await n.transaction(b).store.index("timestamp").openCursor(null,"prev"),s=[],i=0;for(;r;){let n=r.value;n.cacheName===this._cacheName&&(e&&n.timestamp<e||t&&i>=t?s.push(r.value):i++),r=await r.continue()}let a=[];for(let e of s)await n.delete(b,e.id),a.push(e.url);return a}_getId(e){return this._cacheName+"|"+D(e)}async getDb(){return this._db||(this._db=await function(e,{blocked:t,upgrade:n,blocking:r,terminated:s}={}){let i=indexedDB.open(e,1),a=l(i);return n&&i.addEventListener("upgradeneeded",e=>{n(l(i.result),e.oldVersion,e.newVersion,l(i.transaction),e)}),t&&i.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),a.then(e=>{s&&e.addEventListener("close",()=>s()),r&&e.addEventListener("versionchange",e=>r(e.oldVersion,e.newVersion,e))}).catch(()=>{}),a}("workbox-expiration",{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class y{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 x(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),n=await self.caches.open(this._cacheName);for(let e of t)await n.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,this.expireEntries().then(()=>{}))}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),n=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<n}}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}"u">typeof registration&&registration.scope},6677:()=>{try{self["workbox:core:7.4.0"]&&_()}catch(e){}}}]);