Created
January 10, 2022 16:52
-
-
Save jpluimers/8226cd975d58e66efe873736d33d3dc8 to your computer and use it in GitHub Desktop.
Source code from https://woordle.nl/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="nl"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> | |
<title>Woordle - Een dagelijks woordspelletje</title> | |
<meta name="description" content="Zes beurten om het woord te gokken. Elke dag een nieuwe puzzel."> | |
<!-- FB Meta Tags --> | |
<meta property="og:url" content="https://woordle.nl"> | |
<meta property="og:type" content="website"> | |
<meta property="og:title" content="Woordle - Een dagelijks woordspelletje"> | |
<meta property="og:description" content="Zes beurten om het woord te gokken. Elke dag een nieuwe puzzel."> | |
<meta property="og:image" content="https://woordle.nl/woordle_og_1200x630.png"> | |
<!-- Twitter Meta Tags --> | |
<meta name="twitter:card" content="summary_large_image"> | |
<meta property="twitter:domain" content="woordle.nl"> | |
<meta name="theme-color" content="#6aaa64" /> | |
<link rel="manifest" href="manifest.json" /> | |
<link href="woordle_logo_32x32.png" rel="icon shortcut" sizes="3232" /> | |
<link href="woordle_logo_192x192.png" rel="apple-touch-icon" /> | |
<style> | |
/* Global Styles & Colors */ | |
:root { | |
--green: #6aaa64; | |
--darkendGreen: #538d4e; | |
--yellow: #c9b458; | |
--darkendYellow: #b59f3b; | |
--lightGray: #d8d8d8; | |
--gray: #86888a; | |
--darkGray: #939598; | |
--white: #fff; | |
--black: #212121; | |
/* Colorblind colors */ | |
--orange: #f5793a; | |
--blue: #85c0f9; | |
font-family: 'Clear Sans', 'Helvetica Neue', Arial, sans-serif; | |
font-size: 16px; | |
--header-height: 50px; | |
--keyboard-height: 200px; | |
--game-max-width: 500px; | |
} | |
/* Light theme colors */ | |
:root { | |
--color-tone-1: #1a1a1b; | |
--color-tone-2: #787c7e; | |
--color-tone-3: #878a8c; | |
--color-tone-4: #d3d6da; | |
--color-tone-5: #edeff1; | |
--color-tone-6: #f6f7f8; | |
--color-tone-7: #ffffff; | |
--opacity-50: rgba(255, 255, 255, 0.5); | |
} | |
/* Dark Theme Colors */ | |
.nightmode { | |
--color-tone-1: #d7dadc; | |
--color-tone-2: #818384; | |
--color-tone-3: #565758; | |
--color-tone-4: #3a3a3c; | |
--color-tone-5: #272729; | |
--color-tone-6: #1a1a1b; | |
--color-tone-7: #121213; | |
--opacity-50: rgba(0, 0, 0, 0.5); | |
} | |
/* Constant colors and colors derived from theme */ | |
:root, | |
.nightmode { | |
--color-background: var(--color-tone-7); | |
} | |
:root { | |
--color-present: var(--yellow); | |
--color-correct: var(--green); | |
--color-absent: var(--color-tone-2); | |
--tile-text-color: var(--color-tone-7); | |
--key-text-color: var(--color-tone-1); | |
--key-evaluated-text-color: var(--color-tone-7); | |
--key-bg: var(--color-tone-4); | |
--key-bg-present: var(--color-present); | |
--key-bg-correct: var(--color-correct); | |
--key-bg-absent: var(--color-absent); | |
--modal-content-bg: var(--color-tone-7); | |
} | |
.nightmode { | |
--color-present: var(--darkendYellow); | |
--color-correct: var(--darkendGreen); | |
--color-absent: var(--color-tone-4); | |
--tile-text-color: var(--color-tone-1); | |
--key-text-color: var(--color-tone-1); | |
--key-evaluated-text-color: var(--color-tone-1); | |
--key-bg: var(--color-tone-2); | |
--key-bg-present: var(--color-present); | |
--key-bg-correct: var(--color-correct); | |
--key-bg-absent: var(--color-absent); | |
--modal-content-bg: var(--color-tone-7); | |
} | |
.colorblind { | |
--color-correct: var(--orange); | |
--color-present: var(--blue); | |
--tile-text-color: var(--white); | |
--key-bg-present: var(--color-present); | |
--key-bg-correct: var(--color-correct); | |
--key-bg-absent: var(--color-absent); | |
} | |
html { | |
height: 100%; | |
} | |
body { | |
height: 100%; | |
background-color: var(--color-background); | |
margin: 0; | |
padding: 0; | |
/* Prevent scrollbar appearing on page transition */ | |
overflow-y: hidden; | |
} | |
</style> | |
</head> | |
<body> | |
<script> | |
(function () { | |
// Defining the hash before the main bundle allows the bundle access window.hash | |
window.wordle = window.wordle || {}; | |
window.wordle.hash = 'db1931a8'; | |
})(); | |
</script> | |
<script src="main.db1931a8.js"></script> | |
<game-app></game-app> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
this.wordle = this.wordle || { | |
}, | |
this.wordle.bundle = function (e) { | |
'use strict'; | |
function a(e) { | |
return (a = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { | |
return typeof e | |
} | |
: function (e) { | |
return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e | |
}) (e) | |
} | |
function s(e, a) { | |
if (!(e instanceof a)) throw new TypeError('Cannot call a class as a function') | |
} | |
function t(e, a) { | |
for (var s = 0; s < a.length; s++) { | |
var t = a[s]; | |
t.enumerable = t.enumerable || !1, | |
t.configurable = !0, | |
'value' in t && (t.writable = !0), | |
Object.defineProperty(e, t.key, t) | |
} | |
} | |
function o(e, a, s) { | |
return a && t(e.prototype, a), | |
s && t(e, s), | |
e | |
} | |
function r(e, a, s) { | |
return a in e ? Object.defineProperty(e, a, { | |
value: s, | |
enumerable: !0, | |
configurable: !0, | |
writable: !0 | |
}) : e[a] = s, | |
e | |
} | |
function n(e, a) { | |
if ('function' != typeof a && null !== a) throw new TypeError('Super expression must either be null or a function'); | |
e.prototype = Object.create(a && a.prototype, { | |
constructor: { | |
value: e, | |
writable: !0, | |
configurable: !0 | |
} | |
}), | |
a && l(e, a) | |
} | |
function i(e) { | |
return (i = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { | |
return e.__proto__ || Object.getPrototypeOf(e) | |
}) (e) | |
} | |
function l(e, a) { | |
return (l = Object.setPrototypeOf || function (e, a) { | |
return e.__proto__ = a, | |
e | |
}) (e, a) | |
} | |
function d() { | |
if ('undefined' == typeof Reflect || !Reflect.construct) return !1; | |
if (Reflect.construct.sham) return !1; | |
if ('function' == typeof Proxy) return !0; | |
try { | |
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [ | |
], (function () { | |
}))), | |
!0 | |
} catch (e) { | |
return !1 | |
} | |
} | |
function u(e, a, s) { | |
return (u = d() ? Reflect.construct : function (e, a, s) { | |
var t = [ | |
null | |
]; | |
t.push.apply(t, a); | |
var o = new (Function.bind.apply(e, t)); | |
return s && l(o, s.prototype), | |
o | |
}).apply(null, arguments) | |
} | |
function c(e) { | |
var a = 'function' == typeof Map ? new Map : void 0; | |
return (c = function (e) { | |
if (null === e || (s = e, - 1 === Function.toString.call(s).indexOf('[native code]'))) return e; | |
var s; | |
if ('function' != typeof e) throw new TypeError('Super expression must either be null or a function'); | |
if (void 0 !== a) { | |
if (a.has(e)) return a.get(e); | |
a.set(e, t) | |
} | |
function t() { | |
return u(e, arguments, i(this).constructor) | |
} | |
return t.prototype = Object.create(e.prototype, { | |
constructor: { | |
value: t, | |
enumerable: !1, | |
writable: !0, | |
configurable: !0 | |
} | |
}), | |
l(t, e) | |
}) (e) | |
} | |
function p(e) { | |
if (void 0 === e) throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called'); | |
return e | |
} | |
function m(e, a) { | |
return !a || 'object' != typeof a && 'function' != typeof a ? p(e) : a | |
} | |
function h(e) { | |
var a = d(); | |
return function () { | |
var s, | |
t = i(e); | |
if (a) { | |
var o = i(this).constructor; | |
s = Reflect.construct(t, arguments, o) | |
} else s = t.apply(this, arguments); | |
return m(this, s) | |
} | |
} | |
function y(e, a) { | |
return function (e) { | |
if (Array.isArray(e)) return e | |
}(e) || function (e, a) { | |
var s = null == e ? null : 'undefined' != typeof Symbol && e[Symbol.iterator] || e['@@iterator']; | |
if (null == s) return; | |
var t, | |
o, | |
r = [ | |
], | |
n = !0, | |
i = !1; | |
try { | |
for (s = s.call(e); !(n = (t = s.next()).done) && (r.push(t.value), !a || r.length !== a); n = !0); | |
} catch (e) { | |
i = !0, | |
o = e | |
} finally { | |
try { | |
n || null == s.return || s.return() | |
} finally { | |
if (i) throw o | |
} | |
} | |
return r | |
}(e, a) || b(e, a) || function () { | |
throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.') | |
}() | |
} | |
function g(e) { | |
return function (e) { | |
if (Array.isArray(e)) return f(e) | |
}(e) || function (e) { | |
if ('undefined' != typeof Symbol && null != e[Symbol.iterator] || null != e['@@iterator']) return Array.from(e) | |
}(e) || b(e) || function () { | |
throw new TypeError('Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.') | |
}() | |
} | |
function b(e, a) { | |
if (e) { | |
if ('string' == typeof e) return f(e, a); | |
var s = Object.prototype.toString.call(e).slice(8, - 1); | |
return 'Object' === s && e.constructor && (s = e.constructor.name), | |
'Map' === s || 'Set' === s ? Array.from(e) : 'Arguments' === s || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s) ? f(e, a) : void 0 | |
} | |
} | |
function f(e, a) { | |
(null == a || a > e.length) && (a = e.length); | |
for (var s = 0, t = new Array(a); s < a; s++) t[s] = e[s]; | |
return t | |
} | |
var k = document.createElement('template'); | |
k.innerHTML = '\n<style>\n :host {\n display: inline-block;\n }\n .tile {\n width: 100%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n line-height: 2rem;\n font-weight: bold;\n vertical-align: middle;\n box-sizing: border-box;\n color: var(--tile-text-color);\n text-transform: uppercase;\n user-select: none;\n }\n .tile::before {\n content: \'\';\n display: inline-block;\n padding-bottom: 100%;\n }\n\n .tile[data-state=\'empty\'] {\n border: 2px solid var(--color-tone-4);\n }\n .tile[data-state=\'tbd\'] {\n background-color: var(--color-tone-7);\n border: 2px solid var(--color-tone-3);\n color: var(--color-tone-1);\n }\n .tile[data-state=\'correct\'] {\n background-color: var(--color-correct);\n }\n .tile[data-state=\'present\'] {\n background-color: var(--color-present);\n }\n .tile[data-state=\'absent\'] {\n background-color: var(--color-absent);\n }\n\n .tile[data-animation=\'pop\'] {\n animation-name: PopIn;\n animation-duration: 100ms;\n }\n\n @keyframes PopIn {\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n\n 40% {\n transform: scale(1.1);\n opacity: 1;\n }\n }\n .tile[data-animation=\'flip-in\'] {\n animation-name: FlipIn;\n animation-duration: 250ms;\n animation-timing-function: ease-in;\n }\n @keyframes FlipIn {\n 0% {\n transform: rotateX(0);\n }\n 100% {\n transform: rotateX(-90deg);\n }\n }\n .tile[data-animation=\'flip-out\'] {\n animation-name: FlipOut;\n animation-duration: 250ms;\n animation-timing-function: ease-in;\n }\n @keyframes FlipOut {\n 0% {\n transform: rotateX(-90deg);\n }\n 100% {\n transform: rotateX(0);\n }\n }\n</style>\n<div class="tile" data-state="empty" data-animation="idle"></div>\n'; | |
var v = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
r(p(e = a.call(this)), '_letter', ''), | |
r(p(e), '_state', 'empty'), | |
r(p(e), '_animation', 'idle'), | |
r(p(e), '_last', !1), | |
r(p(e), '_reveal', !1), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'last', | |
set: function (e) { | |
this._last = e | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(k.content.cloneNode(!0)), | |
this.$tile = this.shadowRoot.querySelector('.tile'), | |
this.$tile.addEventListener('animationend', (function (a) { | |
'PopIn' === a.animationName && (e._animation = 'idle'), | |
'FlipIn' === a.animationName && (e.$tile.dataset.state = e._state, e._animation = 'flip-out'), | |
'FlipOut' === a.animationName && (e._animation = 'idle', e._last && e.dispatchEvent(new CustomEvent('game-last-tile-revealed-in-row', { | |
bubbles: !0, | |
composed: !0 | |
}))), | |
e._render() | |
})), | |
this._render() | |
} | |
}, | |
{ | |
key: 'attributeChangedCallback', | |
value: function (e, a, s) { | |
switch (e) { | |
case 'letter': | |
if (s === a) break; | |
var t = 'null' === s ? '' : s; | |
this._letter = t, | |
this._state = t ? 'tbd' : 'empty', | |
this._animation = t ? 'pop' : 'idle'; | |
break; | |
case 'evaluation': | |
if (!s) break; | |
this._state = s; | |
break; | |
case 'reveal': | |
this._animation = 'flip-in', | |
this._reveal = !0 | |
} | |
this._render() | |
} | |
}, | |
{ | |
key: '_render', | |
value: function () { | |
this.$tile && (this.$tile.textContent = this._letter, [ | |
'empty', | |
'tbd' | |
].includes(this._state) && (this.$tile.dataset.state = this._state), (['empty', | |
'tbd'].includes(this._state) || this._reveal) && this.$tile.dataset.animation != this._animation && (this.$tile.dataset.animation = this._animation)) | |
} | |
} | |
], [ | |
{ | |
key: 'observedAttributes', | |
get: function () { | |
return ['letter', | |
'evaluation', | |
'reveal'] | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-tile', v); | |
var w = document.createElement('template'); | |
w.innerHTML = '\n <style>\n :host {\n display: block;\n }\n :host([invalid]){\n animation-name: Shake;\n animation-duration: 600ms;\n }\n .row {\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n grid-gap: 5px;\n }\n .win {\n animation-name: Bounce;\n animation-duration: 1000ms;\n }\n\n @keyframes Bounce {\n 0%, 20% {\n transform: translateY(0);\n }\n 40% {\n transform: translateY(-30px);\n }\n 50% {\n transform: translateY(5px);\n }\n 60% {\n transform: translateY(-15px);\n }\n 80% {\n transform: translateY(2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n @keyframes Shake {\n 10%,\n 90% {\n transform: translateX(-1px);\n }\n\n 20%,\n 80% {\n transform: translateX(2px);\n }\n\n 30%,\n 50%,\n 70% {\n transform: translateX(-4px);\n }\n\n 40%,\n 60% {\n transform: translateX(4px);\n }\n }\n </style>\n <div class="row"></div>\n'; | |
var x = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e._letters = '', | |
e._evaluation = [ | |
], | |
e._length, | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'evaluation', | |
get: function () { | |
return this._evaluation | |
}, | |
set: function (e) { | |
var a = this; | |
this._evaluation = e, | |
this.$tiles && this.$tiles.forEach((function (e, s) { | |
e.setAttribute('evaluation', a._evaluation[s]), | |
setTimeout((function () { | |
e.setAttribute('reveal', '') | |
}), 300 * s) | |
})) | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(w.content.cloneNode(!0)), | |
this.$row = this.shadowRoot.querySelector('.row'); | |
for (var a = function (a) { | |
var s = document.createElement('game-tile'), | |
t = e._letters[a]; | |
(t && s.setAttribute('letter', t), e._evaluation[a]) && (s.setAttribute('evaluation', e._evaluation[a]), setTimeout((function () { | |
s.setAttribute('reveal', '') | |
}), 100 * a)); | |
a === e._length - 1 && (s.last = !0), | |
e.$row.appendChild(s) | |
}, s = 0; s < this._length; s++) a(s); | |
this.$tiles = this.shadowRoot.querySelectorAll('game-tile'), | |
this.addEventListener('animationend', (function (a) { | |
'Shake' === a.animationName && e.removeAttribute('invalid') | |
})) | |
} | |
}, | |
{ | |
key: 'attributeChangedCallback', | |
value: function (e, a, s) { | |
switch (e) { | |
case 'letters': | |
this._letters = s || ''; | |
break; | |
case 'length': | |
this._length = parseInt(s, 10); | |
break; | |
case 'win': | |
if (null === s) { | |
this.$tiles.forEach((function (e) { | |
e.classList.remove('win') | |
})); | |
break | |
} | |
this.$tiles.forEach((function (e, a) { | |
e.classList.add('win'), | |
e.style.animationDelay = ''.concat(100 * a, 'ms') | |
})) | |
} | |
this._render() | |
} | |
}, | |
{ | |
key: '_render', | |
value: function () { | |
var e = this; | |
this.$row && this.$tiles.forEach((function (a, s) { | |
var t = e._letters[s]; | |
t ? a.setAttribute('letter', t) : a.removeAttribute('letter') | |
})) | |
} | |
} | |
], [ | |
{ | |
key: 'observedAttributes', | |
get: function () { | |
return ['letters', | |
'length', | |
'invalid', | |
'win'] | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-row', x); | |
var z = document.createElement('template'); | |
z.innerHTML = '\n <slot></slot>\n'; | |
var j = 'darkTheme', | |
S = 'colorBlindTheme', | |
_ = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
s(this, t), | |
r(p(e = a.call(this)), 'isDarkTheme', !1), | |
r(p(e), 'isColorBlindTheme', !1), | |
e.attachShadow({ | |
mode: 'open' | |
}); | |
var o = JSON.parse(window.localStorage.getItem(j)), | |
n = window.matchMedia('(prefers-color-scheme: dark)').matches, | |
i = JSON.parse(window.localStorage.getItem(S)); | |
return !0 === o || !1 === o ? e.setDarkTheme(o) : n && e.setDarkTheme(!0), | |
!0 !== i && !1 !== i || e.setColorBlindTheme(i), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'setDarkTheme', | |
value: function (e) { | |
var a = document.querySelector('body'); | |
e && !a.classList.contains('nightmode') ? a.classList.add('nightmode') : a.classList.remove('nightmode'), | |
this.isDarkTheme = e, | |
window.localStorage.setItem(j, JSON.stringify(e)) | |
} | |
}, | |
{ | |
key: 'setColorBlindTheme', | |
value: function (e) { | |
var a = document.querySelector('body'); | |
e && !a.classList.contains('colorblind') ? a.classList.add('colorblind') : a.classList.remove('colorblind'), | |
this.isColorBlindTheme = e, | |
window.localStorage.setItem(S, JSON.stringify(e)) | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(z.content.cloneNode(!0)), | |
this.shadowRoot.addEventListener('game-setting-change', (function (a) { | |
var s = a.detail, | |
t = s.name, | |
o = s.checked; | |
switch (t) { | |
case 'dark-theme': | |
return void e.setDarkTheme(o); | |
case 'color-blind-theme': | |
return void e.setColorBlindTheme(o) | |
} | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
function q(e, a) { | |
return e === a || e != e && a != a | |
} | |
function E(e, a) { | |
for (var s = e.length; s--; ) if (q(e[s][0], a)) return s; | |
return - 1 | |
} | |
customElements.define('game-theme-manager', _); | |
var A = Array.prototype.splice; | |
function L(e) { | |
var a = - 1, | |
s = null == e ? 0 : e.length; | |
for (this.clear(); ++a < s; ) { | |
var t = e[a]; | |
this.set(t[0], t[1]) | |
} | |
} | |
L.prototype.clear = function () { | |
this.__data__ = [ | |
], | |
this.size = 0 | |
}, | |
L.prototype.delete = function (e) { | |
var a = this.__data__, | |
s = E(a, e); | |
return !(s < 0) && (s == a.length - 1 ? a.pop() : A.call(a, s, 1), --this.size, !0) | |
}, | |
L.prototype.get = function (e) { | |
var a = this.__data__, | |
s = E(a, e); | |
return s < 0 ? void 0 : a[s][1] | |
}, | |
L.prototype.has = function (e) { | |
return E(this.__data__, e) > - 1 | |
}, | |
L.prototype.set = function (e, a) { | |
var s = this.__data__, | |
t = E(s, e); | |
return t < 0 ? (++this.size, s.push([e, | |
a])) : s[t][1] = a, | |
this | |
}; | |
var T = 'object' == ('undefined' == typeof global ? 'undefined' : a(global)) && global && global.Object === Object && global, | |
I = 'object' == ('undefined' == typeof self ? 'undefined' : a(self)) && self && self.Object === Object && self, | |
C = T || I || Function('return this') (), | |
M = C.Symbol, | |
O = Object.prototype, | |
R = O.hasOwnProperty, | |
$ = O.toString, | |
P = M ? M.toStringTag : void 0; | |
var N = Object.prototype.toString; | |
var H = M ? M.toStringTag : void 0; | |
function G(e) { | |
return null == e ? void 0 === e ? '[object Undefined]' : '[object Null]' : H && H in Object(e) ? function (e) { | |
var a = R.call(e, P), | |
s = e[P]; | |
try { | |
e[P] = void 0; | |
var t = !0 | |
} catch (e) { | |
} | |
var o = $.call(e); | |
return t && (a ? e[P] = s : delete e[P]), | |
o | |
}(e) : function (e) { | |
return N.call(e) | |
}(e) | |
} | |
function D(e) { | |
var s = a(e); | |
return null != e && ('object' == s || 'function' == s) | |
} | |
function B(e) { | |
if (!D(e)) return !1; | |
var a = G(e); | |
return '[object Function]' == a || '[object GeneratorFunction]' == a || '[object AsyncFunction]' == a || '[object Proxy]' == a | |
} | |
var F, | |
W = C['__core-js_shared__'], | |
Y = (F = /[^.]+$/.exec(W && W.keys && W.keys.IE_PROTO || '')) ? 'Symbol(src)_1.' + F : ''; | |
var J = Function.prototype.toString; | |
var U = /^\[object .+?Constructor\]$/, | |
X = Function.prototype, | |
K = Object.prototype, | |
V = X.toString, | |
Q = K.hasOwnProperty, | |
Z = RegExp('^' + V.call(Q).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); | |
function ee(e) { | |
return !(!D(e) || (a = e, Y && Y in a)) && (B(e) ? Z : U).test(function (e) { | |
if (null != e) { | |
try { | |
return J.call(e) | |
} catch (e) { | |
} | |
try { | |
return e + '' | |
} catch (e) { | |
} | |
} | |
return '' | |
}(e)); | |
var a | |
} | |
function ae(e, a) { | |
var s = function (e, a) { | |
return null == e ? void 0 : e[a] | |
}(e, a); | |
return ee(s) ? s : void 0 | |
} | |
var se = ae(C, 'Map'), | |
te = ae(Object, 'create'); | |
var oe = Object.prototype.hasOwnProperty; | |
var re = Object.prototype.hasOwnProperty; | |
function ne(e) { | |
var a = - 1, | |
s = null == e ? 0 : e.length; | |
for (this.clear(); ++a < s; ) { | |
var t = e[a]; | |
this.set(t[0], t[1]) | |
} | |
} | |
function ie(e, s) { | |
var t, | |
o, | |
r = e.__data__; | |
return ('string' == (o = a(t = s)) || 'number' == o || 'symbol' == o || 'boolean' == o ? '__proto__' !== t : null === t) ? r['string' == typeof s ? 'string' : 'hash'] : r.map | |
} | |
function le(e) { | |
var a = - 1, | |
s = null == e ? 0 : e.length; | |
for (this.clear(); ++a < s; ) { | |
var t = e[a]; | |
this.set(t[0], t[1]) | |
} | |
} | |
ne.prototype.clear = function () { | |
this.__data__ = te ? te(null) : { | |
}, | |
this.size = 0 | |
}, | |
ne.prototype.delete = function (e) { | |
var a = this.has(e) && delete this.__data__[e]; | |
return this.size -= a ? 1 : 0, | |
a | |
}, | |
ne.prototype.get = function (e) { | |
var a = this.__data__; | |
if (te) { | |
var s = a[e]; | |
return '__lodash_hash_undefined__' === s ? void 0 : s | |
} | |
return oe.call(a, e) ? a[e] : void 0 | |
}, | |
ne.prototype.has = function (e) { | |
var a = this.__data__; | |
return te ? void 0 !== a[e] : re.call(a, e) | |
}, | |
ne.prototype.set = function (e, a) { | |
var s = this.__data__; | |
return this.size += this.has(e) ? 0 : 1, | |
s[e] = te && void 0 === a ? '__lodash_hash_undefined__' : a, | |
this | |
}, | |
le.prototype.clear = function () { | |
this.size = 0, | |
this.__data__ = { | |
hash: new ne, | |
map: new (se || L), | |
string: new ne | |
} | |
}, | |
le.prototype.delete = function (e) { | |
var a = ie(this, e).delete(e); | |
return this.size -= a ? 1 : 0, | |
a | |
}, | |
le.prototype.get = function (e) { | |
return ie(this, e).get(e) | |
}, | |
le.prototype.has = function (e) { | |
return ie(this, e).has(e) | |
}, | |
le.prototype.set = function (e, a) { | |
var s = ie(this, e), | |
t = s.size; | |
return s.set(e, a), | |
this.size += s.size == t ? 0 : 1, | |
this | |
}; | |
function de(e) { | |
var a = this.__data__ = new L(e); | |
this.size = a.size | |
} | |
de.prototype.clear = function () { | |
this.__data__ = new L, | |
this.size = 0 | |
}, | |
de.prototype.delete = function (e) { | |
var a = this.__data__, | |
s = a.delete(e); | |
return this.size = a.size, | |
s | |
}, | |
de.prototype.get = function (e) { | |
return this.__data__.get(e) | |
}, | |
de.prototype.has = function (e) { | |
return this.__data__.has(e) | |
}, | |
de.prototype.set = function (e, a) { | |
var s = this.__data__; | |
if (s instanceof L) { | |
var t = s.__data__; | |
if (!se || t.length < 199) return t.push([e, | |
a]), | |
this.size = ++s.size, | |
this; | |
s = this.__data__ = new le(t) | |
} | |
return s.set(e, a), | |
this.size = s.size, | |
this | |
}; | |
var ue = function () { | |
try { | |
var e = ae(Object, 'defineProperty'); | |
return e({ | |
}, '', { | |
}), | |
e | |
} catch (e) { | |
} | |
}(); | |
function ce(e, a, s) { | |
'__proto__' == a && ue ? ue(e, a, { | |
configurable: !0, | |
enumerable: !0, | |
value: s, | |
writable: !0 | |
}) : e[a] = s | |
} | |
function pe(e, a, s) { | |
(void 0 !== s && !q(e[a], s) || void 0 === s && !(a in e)) && ce(e, a, s) | |
} | |
var me, | |
he = function (e, a, s) { | |
for (var t = - 1, o = Object(e), r = s(e), n = r.length; n--; ) { | |
var i = r[me ? n : ++t]; | |
if (!1 === a(o[i], i, o)) break | |
} | |
return e | |
}, | |
ye = 'object' == (void 0 === e ? 'undefined' : a(e)) && e && !e.nodeType && e, | |
ge = ye && 'object' == ('undefined' == typeof module ? 'undefined' : a(module)) && module && !module.nodeType && module, | |
be = ge && ge.exports === ye ? C.Buffer : void 0, | |
fe = be ? be.allocUnsafe : void 0; | |
var ke = C.Uint8Array; | |
function ve(e, a) { | |
var s, | |
t, | |
o = a ? (s = e.buffer, t = new s.constructor(s.byteLength), new ke(t).set(new ke(s)), t) : e.buffer; | |
return new e.constructor(o, e.byteOffset, e.length) | |
} | |
var we = Object.create, | |
xe = function () { | |
function e() { | |
} | |
return function (a) { | |
if (!D(a)) return { | |
}; | |
if (we) return we(a); | |
e.prototype = a; | |
var s = new e; | |
return e.prototype = void 0, | |
s | |
} | |
}(); | |
var ze, | |
je, | |
Se = (ze = Object.getPrototypeOf, je = Object, function (e) { | |
return ze(je(e)) | |
}), | |
_e = Object.prototype; | |
function qe(e) { | |
var a = e && e.constructor; | |
return e === ('function' == typeof a && a.prototype || _e) | |
} | |
function Ee(e) { | |
return null != e && 'object' == a(e) | |
} | |
function Ae(e) { | |
return Ee(e) && '[object Arguments]' == G(e) | |
} | |
var Le = Object.prototype, | |
Te = Le.hasOwnProperty, | |
Ie = Le.propertyIsEnumerable, | |
Ce = Ae(function () { | |
return arguments | |
}()) ? Ae : function (e) { | |
return Ee(e) && Te.call(e, 'callee') && !Ie.call(e, 'callee') | |
}, | |
Me = Array.isArray; | |
function Oe(e) { | |
return 'number' == typeof e && e > - 1 && e % 1 == 0 && e <= 9007199254740991 | |
} | |
function Re(e) { | |
return null != e && Oe(e.length) && !B(e) | |
} | |
var $e = 'object' == (void 0 === e ? 'undefined' : a(e)) && e && !e.nodeType && e, | |
Pe = $e && 'object' == ('undefined' == typeof module ? 'undefined' : a(module)) && module && !module.nodeType && module, | |
Ne = Pe && Pe.exports === $e ? C.Buffer : void 0, | |
He = (Ne ? Ne.isBuffer : void 0) || function () { | |
return !1 | |
}, | |
Ge = Function.prototype, | |
De = Object.prototype, | |
Be = Ge.toString, | |
Fe = De.hasOwnProperty, | |
We = Be.call(Object); | |
var Ye = { | |
}; | |
Ye['[object Float32Array]'] = Ye['[object Float64Array]'] = Ye['[object Int8Array]'] = Ye['[object Int16Array]'] = Ye['[object Int32Array]'] = Ye['[object Uint8Array]'] = Ye['[object Uint8ClampedArray]'] = Ye['[object Uint16Array]'] = Ye['[object Uint32Array]'] = !0, | |
Ye['[object Arguments]'] = Ye['[object Array]'] = Ye['[object ArrayBuffer]'] = Ye['[object Boolean]'] = Ye['[object DataView]'] = Ye['[object Date]'] = Ye['[object Error]'] = Ye['[object Function]'] = Ye['[object Map]'] = Ye['[object Number]'] = Ye['[object Object]'] = Ye['[object RegExp]'] = Ye['[object Set]'] = Ye['[object String]'] = Ye['[object WeakMap]'] = !1; | |
var Je = 'object' == (void 0 === e ? 'undefined' : a(e)) && e && !e.nodeType && e, | |
Ue = Je && 'object' == ('undefined' == typeof module ? 'undefined' : a(module)) && module && !module.nodeType && module, | |
Xe = Ue && Ue.exports === Je && T.process, | |
Ke = function () { | |
try { | |
var e = Ue && Ue.require && Ue.require('util').types; | |
return e || Xe && Xe.binding && Xe.binding('util') | |
} catch (e) { | |
} | |
}(), | |
Ve = Ke && Ke.isTypedArray, | |
Qe = Ve ? function (e) { | |
return function (a) { | |
return e(a) | |
} | |
}(Ve) : function (e) { | |
return Ee(e) && Oe(e.length) && !!Ye[G(e)] | |
}; | |
function Ze(e, a) { | |
if (('constructor' !== a || 'function' != typeof e[a]) && '__proto__' != a) return e[a] | |
} | |
var ea = Object.prototype.hasOwnProperty; | |
function aa(e, a, s) { | |
var t = e[a]; | |
ea.call(e, a) && q(t, s) && (void 0 !== s || a in e) || ce(e, a, s) | |
} | |
var sa = /^(?:0|[1-9]\d*)$/; | |
function ta(e, s) { | |
var t = a(e); | |
return !!(s = null == s ? 9007199254740991 : s) && ('number' == t || 'symbol' != t && sa.test(e)) && e > - 1 && e % 1 == 0 && e < s | |
} | |
var oa = Object.prototype.hasOwnProperty; | |
function ra(e, a) { | |
var s = Me(e), | |
t = !s && Ce(e), | |
o = !s && !t && He(e), | |
r = !s && !t && !o && Qe(e), | |
n = s || t || o || r, | |
i = n ? function (e, a) { | |
for (var s = - 1, t = Array(e); ++s < e; ) t[s] = a(s); | |
return t | |
}(e.length, String) : [ | |
], | |
l = i.length; | |
for (var d in e) !a && !oa.call(e, d) || n && ('length' == d || o && ('offset' == d || 'parent' == d) || r && ('buffer' == d || 'byteLength' == d || 'byteOffset' == d) || ta(d, l)) || i.push(d); | |
return i | |
} | |
var na = Object.prototype.hasOwnProperty; | |
function ia(e) { | |
if (!D(e)) return function (e) { | |
var a = [ | |
]; | |
if (null != e) for (var s in Object(e)) a.push(s); | |
return a | |
}(e); | |
var a = qe(e), | |
s = [ | |
]; | |
for (var t in e) ('constructor' != t || !a && na.call(e, t)) && s.push(t); | |
return s | |
} | |
function la(e) { | |
return Re(e) ? ra(e, !0) : ia(e) | |
} | |
function da(e) { | |
return function (e, a, s, t) { | |
var o = !s; | |
s || (s = { | |
}); | |
for (var r = - 1, n = a.length; ++r < n; ) { | |
var i = a[r], | |
l = t ? t(s[i], e[i], i, s, e) : void 0; | |
void 0 === l && (l = e[i]), | |
o ? ce(s, i, l) : aa(s, i, l) | |
} | |
return s | |
}(e, la(e)) | |
} | |
function ua(e, a, s, t, o, r, n) { | |
var i = Ze(e, s), | |
l = Ze(a, s), | |
d = n.get(l); | |
if (d) pe(e, s, d); | |
else { | |
var u, | |
c = r ? r(i, l, s + '', e, a, n) : void 0, | |
p = void 0 === c; | |
if (p) { | |
var m = Me(l), | |
h = !m && He(l), | |
y = !m && !h && Qe(l); | |
c = l, | |
m || h || y ? Me(i) ? c = i : Ee(u = i) && Re(u) ? c = function (e, a) { | |
var s = - 1, | |
t = e.length; | |
for (a || (a = Array(t)); ++s < t; ) a[s] = e[s]; | |
return a | |
}(i) : h ? (p = !1, c = function (e, a) { | |
if (a) return e.slice(); | |
var s = e.length, | |
t = fe ? fe(s) : new e.constructor(s); | |
return e.copy(t), | |
t | |
}(l, !0)) : y ? (p = !1, c = ve(l, !0)) : c = [ | |
] : function (e) { | |
if (!Ee(e) || '[object Object]' != G(e)) return !1; | |
var a = Se(e); | |
if (null === a) return !0; | |
var s = Fe.call(a, 'constructor') && a.constructor; | |
return 'function' == typeof s && s instanceof s && Be.call(s) == We | |
}(l) || Ce(l) ? (c = i, Ce(i) ? c = da(i) : D(i) && !B(i) || (c = function (e) { | |
return 'function' != typeof e.constructor || qe(e) ? { | |
} | |
: xe(Se(e)) | |
}(l))) : p = !1 | |
} | |
p && (n.set(l, c), o(c, l, t, r, n), n.delete(l)), | |
pe(e, s, c) | |
} | |
} | |
function ca(e, a, s, t, o) { | |
e !== a && he(a, (function (r, n) { | |
if (o || (o = new de), D(r)) ua(e, a, n, s, ca, t, o); | |
else { | |
var i = t ? t(Ze(e, n), r, n + '', e, a, o) : void 0; | |
void 0 === i && (i = r), | |
pe(e, n, i) | |
} | |
}), la) | |
} | |
function pa(e) { | |
return e | |
} | |
function ma(e, a, s) { | |
switch (s.length) { | |
case 0: | |
return e.call(a); | |
case 1: | |
return e.call(a, s[0]); | |
case 2: | |
return e.call(a, s[0], s[1]); | |
case 3: | |
return e.call(a, s[0], s[1], s[2]) | |
} | |
return e.apply(a, s) | |
} | |
var ha = Math.max; | |
var ya = ue ? function (e, a) { | |
return ue(e, 'toString', { | |
configurable: !0, | |
enumerable: !1, | |
value: (s = a, function () { | |
return s | |
}), | |
writable: !0 | |
}); | |
var s | |
} | |
: pa, | |
ga = Date.now; | |
var ba = function (e) { | |
var a = 0, | |
s = 0; | |
return function () { | |
var t = ga(), | |
o = 16 - (t - s); | |
if (s = t, o > 0) { | |
if (++a >= 800) return arguments[0] | |
} else a = 0; | |
return e.apply(void 0, arguments) | |
} | |
}(ya); | |
function fa(e, a) { | |
return ba(function (e, a, s) { | |
return a = ha(void 0 === a ? e.length - 1 : a, 0), | |
function () { | |
for (var t = arguments, o = - 1, r = ha(t.length - a, 0), n = Array(r); ++o < r; ) n[o] = t[a + o]; | |
o = - 1; | |
for (var i = Array(a + 1); ++o < a; ) i[o] = t[o]; | |
return i[a] = s(n), | |
ma(e, this, i) | |
} | |
}(e, a, pa), e + '') | |
} | |
var ka, | |
va = (ka = function (e, a, s) { | |
ca(e, a, s) | |
}, fa((function (e, s) { | |
var t = - 1, | |
o = s.length, | |
r = o > 1 ? s[o - 1] : void 0, | |
n = o > 2 ? s[2] : void 0; | |
for (r = ka.length > 3 && 'function' == typeof r ? (o--, r) : void 0, n && function (e, s, t) { | |
if (!D(t)) return !1; | |
var o = a(s); | |
return !!('number' == o ? Re(t) && ta(s, t.length) : 'string' == o && s in t) && q(t[s], e) | |
}(s[0], s[1], n) && (r = o < 3 ? void 0 : r, o = 1), e = Object(e); ++t < o; ) { | |
var i = s[t]; | |
i && ka(e, i, t, r) | |
} | |
return e | |
}))), | |
wa = 'gameState', | |
xa = { | |
boardState: null, | |
evaluations: null, | |
rowIndex: null, | |
solution: null, | |
gameStatus: null, | |
lastPlayedTs: null, | |
lastCompletedTs: null, | |
restoringFromLocalStorage: null, | |
hardMode: !1 | |
}; | |
function za() { | |
var e = window.localStorage.getItem(wa) || JSON.stringify(xa); | |
return JSON.parse(e) | |
} | |
function ja(e) { | |
var a = za(); | |
!function (e) { | |
window.localStorage.setItem(wa, JSON.stringify(e)) | |
}(va(a, e)) | |
} | |
var Sa = document.createElement('template'); | |
Sa.innerHTML = '\n <style>\n .setting {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--color-tone-4);\n padding: 16px 0;\n }\n\n a, a:visited {\n color: var(--color-tone-2);\n }\n\n .title {\n font-size: 18px;\n }\n .text {\n padding-right: 8px;\n }\n .description {\n font-size: 12px;\n color: var(--color-tone-2);\n }\n\n #footnote {\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 16px;\n color: var(--color-tone-2);\n font-size: 12px;\n text-align: right;\n }\n\n @media only screen and (min-device-width : 320px) and (max-device-width : 480px) {\n .setting {\n padding: 16px;\n }\n }\n\n </style>\n <div class="sections">\n <section>\n <div class="setting">\n <div class="text">\n <div class="title">Hard Mode</div>\n <div class="description">Any revealed hints must be used in subsequent guesses</div>\n </div>\n <div class="control">\n <game-switch id="hard-mode" name="hard-mode"></game-switch>\n </div>\n </div>\n <div class="setting">\n <div class="text">\n <div class="title">Dark Theme</div>\n </div>\n <div class="control">\n <game-switch id="dark-theme" name="dark-theme"></game-switch>\n </div>\n </div>\n <div class="setting">\n <div class="text">\n <div class="title">Color Blind Mode</div>\n <div class="description">High contrast colors</div>\n </div>\n <div class="control">\n <game-switch id="color-blind-theme" name="color-blind-theme"></game-switch>\n </div>\n </div>\n </section>\n\n <section>\n <div class="setting">\n <div class="text">\n <div class="title">Feedback</div><div class="description">Code en design van Josh Wardle, vertaling door <a href="https://twitter.com/pingiun_">yele</a></div>\n </div>\n <div class="control">\n <a href="mailto:wordle@powerlanguage.co.uk?subject=Feedback" title="wordle@powerlanguage.co.uk">Email</a>\n |\n <a href="https://twitter.com/intent/tweet?screen_name=powerlanguish" target="blank" title="@powerlanguish">Twitter</a>\n </div>\n </div>\n </section>\n </div>\n <div id="footnote">\n <div id="puzzle-number"></div>\n <div id="hash"></div>\n <div>\n'; | |
var _a = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
r(p(e = a.call(this)), 'gameApp', void 0), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e, | |
a = this; | |
this.shadowRoot.appendChild(Sa.content.cloneNode(!0)), | |
this.shadowRoot.querySelector('#hash').textContent = null === (e = window.wordle) || void 0 === e ? void 0 : e.hash, | |
this.shadowRoot.querySelector('#puzzle-number').textContent = '#'.concat(this.gameApp.dayOffset), | |
this.shadowRoot.addEventListener('game-switch-change', (function (e) { | |
e.stopPropagation(); | |
var s = e.detail, | |
t = s.name, | |
o = s.checked, | |
r = s.disabled; | |
a.dispatchEvent(new CustomEvent('game-setting-change', { | |
bubbles: !0, | |
composed: !0, | |
detail: { | |
name: t, | |
checked: o, | |
disabled: r | |
} | |
})), | |
a.render() | |
})), | |
this.render() | |
} | |
}, | |
{ | |
key: 'render', | |
value: function () { | |
var e = document.querySelector('body'); | |
e.classList.contains('nightmode') && this.shadowRoot.querySelector('#dark-theme').setAttribute('checked', ''), | |
e.classList.contains('colorblind') && this.shadowRoot.querySelector('#color-blind-theme').setAttribute('checked', ''); | |
var a = za(); | |
a.hardMode && this.shadowRoot.querySelector('#hard-mode').setAttribute('checked', ''), | |
a.hardMode || 'IN_PROGRESS' !== a.gameStatus || 0 === a.rowIndex || (this.shadowRoot.querySelector('#hard-mode').removeAttribute('checked'), this.shadowRoot.querySelector('#hard-mode').setAttribute('disabled', '')) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-settings', _a); | |
var qa = document.createElement('template'); | |
qa.innerHTML = '\n <style>\n .toast {\n position: relative;\n margin: 16px;\n background-color: var(--color-tone-1);\n color: var(--color-tone-7);\n padding: 16px;\n border: none;\n border-radius: 4px;\n opacity: 1;\n transition: opacity 300ms cubic-bezier(0.645, 0.045, 0.355, 1);\n font-weight: 700;\n }\n .win {\n background-color: var(--color-correct);\n color: var(--tile-text-color);\n }\n .fade {\n opacity: 0;\n }\n </style>\n <div class="toast"></div>\n'; | |
var Ea = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
r(p(e = a.call(this)), '_duration', void 0), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(qa.content.cloneNode(!0)); | |
var a = this.shadowRoot.querySelector('.toast'); | |
a.textContent = this.getAttribute('text'), | |
this._duration = this.getAttribute('duration') || 1000, | |
'Infinity' !== this._duration && setTimeout((function () { | |
a.classList.add('fade') | |
}), this._duration), | |
a.addEventListener('transitionend', (function (a) { | |
e.parentNode.removeChild(e) | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-toast', Ea); | |
var Aa = ['draag', | |
'palet', | |
'zakje', | |
'blaas', | |
'snede', | |
'tiara', | |
'acuut', | |
'vegen', | |
'wever', | |
'lotus', | |
'spelt', | |
'kunde', | |
'stamp', | |
'tarot', | |
'kater', | |
'zweet', | |
'gamer', | |
'egaal', | |
'dazen', | |
'korea', | |
'bever', | |
'plato', | |
'animo', | |
'zonet', | |
'karig', | |
'kweek', | |
'coupe', | |
'strik', | |
'serre', | |
'loser', | |
'sjeik', | |
'wreed', | |
'dorst', | |
'foton', | |
'havik', | |
'kampt', | |
'breng', | |
'drink', | |
'vries', | |
'lease', | |
'leunt', | |
'potje', | |
'zwemt', | |
'aders', | |
'waait', | |
'otter', | |
'slijm', | |
'sloep', | |
'donor', | |
'busje', | |
'lunch', | |
'garen', | |
'visum', | |
'rogge', | |
'idool', | |
'botst', | |
'pacht', | |
'troef', | |
'lepra', | |
'eicel', | |
'kassa', | |
'heute', | |
'drift', | |
'ester', | |
'loden', | |
'riekt', | |
'folie', | |
'linea', | |
'koord', | |
'nihil', | |
'woest', | |
'haver', | |
'getij', | |
'fotos', | |
'kraai', | |
'lanen', | |
'dozen', | |
'gebak', | |
'dagje', | |
'kazen', | |
'rozet', | |
'snoep', | |
'sinus', | |
'pinda', | |
'vezel', | |
'weven', | |
'abuis', | |
'inham', | |
'stern', | |
'adder', | |
'dunkt', | |
'peren', | |
'daten', | |
'kreet', | |
'pizza', | |
'deugt', | |
'wagon', | |
'khaki', | |
'arend', | |
'nobel', | |
'terra', | |
'gevat', | |
'plaag', | |
'opium', | |
'niche', | |
'stijf', | |
'rebel', | |
'pinot', | |
'rover', | |
'kleed', | |
'zalig', | |
'zucht', | |
'rotor', | |
'laken', | |
'koker', | |
'globe', | |
'meeuw', | |
'alien', | |
'sifon', | |
'ninja', | |
'roest', | |
'krijt', | |
'flyer', | |
'twist', | |
'cacao', | |
'smaad', | |
'stomp', | |
'hulde', | |
'kraag', | |
'lelie', | |
'jongs', | |
'emmer', | |
'keken', | |
'zwijn', | |
'riool', | |
'stout', | |
'alert', | |
'shock', | |
'notie', | |
'zeden', | |
'staaf', | |
'schub', | |
'pasta', | |
'doelt', | |
'polis', | |
'bizar', | |
'astma', | |
'ivoor', | |
'einen', | |
'pluim', | |
'baken', | |
'genot', | |
'aroma', | |
'deler', | |
'cloud', | |
'huwen', | |
'omweg', | |
'spoed', | |
'jasje', | |
'doorn', | |
'afzet', | |
'groef', | |
'akten', | |
'retro', | |
'klauw', | |
'kegel', | |
'akker', | |
'panda', | |
'kreek', | |
'rouge', | |
'scout', | |
'barst', | |
'kaars', | |
'talig', | |
'drost', | |
'linde', | |
'stunt', | |
'amber', | |
'folio', | |
'preek', | |
'breda', | |
'kloon', | |
'begaf', | |
'drang', | |
'debut', | |
'weide', | |
'hitje', | |
'kruid', | |
'frans', | |
'stoep', | |
'plint', | |
'bitje', | |
'fries', | |
'troep', | |
'tango', | |
'angel', | |
'taart', | |
'vuist', | |
'kruin', | |
'gunst', | |
'taboe', | |
'spoel', | |
'gebit', | |
'sober', | |
'lonen', | |
'jarig', | |
'sonde', | |
'stoet', | |
'peper', | |
'pupil', | |
'alarm', | |
'holte', | |
'schok', | |
'snaar', | |
'chips', | |
'omver', | |
'spook', | |
'asiel', | |
'schop', | |
'tiran', | |
'vloed', | |
'zenuw', | |
'korst', | |
'banjo', | |
'oogje', | |
'magma', | |
'steil', | |
'beige', | |
'haard', | |
'viola', | |
'slank', | |
'gekko', | |
'deugd', | |
'polka', | |
'truck', | |
'boren', | |
'dogma', | |
'koets', | |
'lobby', | |
'parel', | |
'prive', | |
'menig', | |
'kubus', | |
'poets', | |
'diner', | |
'immer', | |
'duwen', | |
'oraal', | |
'botje', | |
'worst', | |
'baton', | |
'schil', | |
'bruto', | |
'clown', | |
'beren', | |
'kudde', | |
'speer', | |
'cobra', | |
'turbo', | |
'bonen', | |
'dwang', | |
'racer', | |
'neven', | |
'baden', | |
'nevel', | |
'loods', | |
'saldo', | |
'psalm', | |
'tumor', | |
'kluis', | |
'hymne', | |
'ketel', | |
'netto', | |
'gewas', | |
'hecht', | |
'naald', | |
'emoji', | |
'balie', | |
'griep', | |
'schap', | |
'kolen', | |
'slurf', | |
'poker', | |
'rozen', | |
'loper', | |
'kraan', | |
'druif', | |
'zwaan', | |
'prent', | |
'boter', | |
'flauw', | |
'algen', | |
'voogd', | |
'blank', | |
'zadel', | |
'wijde', | |
'maagd', | |
'weren', | |
'flank', | |
'racen', | |
'manen', | |
'huren', | |
'zebra', | |
'beest', | |
'hekel', | |
'femme', | |
'kerst', | |
'quasi', | |
'sigma', | |
'stoot', | |
'sekte', | |
'swing', | |
'bloot', | |
'dosis', | |
'draai', | |
'revue', | |
'buigt', | |
'buste', | |
'gerst', | |
'split', | |
'azuur', | |
'teelt', | |
'hitte', | |
'baard', | |
'drukt', | |
'ophef', | |
'haaks', | |
'zusje', | |
'casus', | |
'vloek', | |
'genie', | |
'hamer', | |
'erven', | |
'strak', | |
'indie', | |
'tenue', | |
'stier', | |
'trant', | |
'urine', | |
'kaken', | |
'glans', | |
'laser', | |
'ernst', | |
'fulva', | |
'dezen', | |
'hofje', | |
'ionen', | |
'tarwe', | |
'zegen', | |
'tombe', | |
'brein', | |
'genen', | |
'eiken', | |
'disco', | |
'paden', | |
'haken', | |
'koken', | |
'joods', | |
'traag', | |
'marge', | |
'spier', | |
'etage', | |
'opzij', | |
'kapot', | |
'elpee', | |
'atoom', | |
'depot', | |
'stoom', | |
'omega', | |
'vecht', | |
'spion', | |
'modus', | |
'bruid', | |
'blijk', | |
'china', | |
'laden', | |
'opdat', | |
'dieet', | |
'besef', | |
'pauze', | |
'ovaal', | |
'gilde', | |
'theta', | |
'corps', | |
'palen', | |
'fjord', | |
'joint', | |
'tabak', | |
'roken', | |
'canon', | |
'vlieg', | |
'oogst', | |
'salon', | |
'kogel', | |
'daken', | |
'gemak', | |
'naakt', | |
'email', | |
'doodt', | |
'decor', | |
'motie', | |
'annex', | |
'fraai', | |
'slaaf', | |
'zonde', | |
'fiche', | |
'deken', | |
'lever', | |
'vinyl', | |
'blond', | |
'ritme', | |
'jager', | |
'appel', | |
'kloof', | |
'eiwit', | |
'bonus', | |
'poule', | |
'tenen', | |
'print', | |
'paars', | |
'gedoe', | |
'rente', | |
'larve', | |
'natie', | |
'stuur', | |
'steek', | |
'koren', | |
'broek', | |
'arena', | |
'enzym', | |
'degen', | |
'hevig', | |
'schot', | |
'trans', | |
'radar', | |
'toets', | |
'buren', | |
'zacht', | |
'atlas', | |
'trend', | |
'chaos', | |
'icoon', | |
'fonds', | |
'woede', | |
'party', | |
'raden', | |
'komma', | |
'kabel', | |
'snuit', | |
'zegel', | |
'minus', | |
'mythe', | |
'trots', | |
'spijt', | |
'magie', | |
'stoel', | |
'blind', | |
'shirt', | |
'garde', | |
'dwerg', | |
'audio', | |
'engel', | |
'anker', | |
'barok', | |
'draad', | |
'vacht', | |
'gebed', | |
'boete', | |
'plots', | |
'slaap', | |
'proef', | |
'bloei', | |
'blijf', | |
'afrit', | |
'fagot', | |
'jagen', | |
'afval', | |
'imago', | |
'knoop', | |
'claim', | |
'heide', | |
'rijst', | |
'klant', | |
'plank', | |
'manga', | |
'schat', | |
'voegt', | |
'haren', | |
'farao', | |
'delta', | |
'humor', | |
'stapt', | |
'sloop', | |
'haast', | |
'tsaar', | |
'sabel', | |
'dader', | |
'bende', | |
'drugs', | |
'flora', | |
'draak', | |
'essay', | |
'remix', | |
'graan', | |
'amper', | |
'super', | |
'maten', | |
'dwars', | |
'rugby', | |
'inval', | |
'kring', | |
'prooi', | |
'brood', | |
'benen', | |
'hobby', | |
'matig', | |
'focus', | |
'droom', | |
'lente', | |
'breuk', | |
'klank', | |
'mager', | |
'vrees', | |
'kanon', | |
'tocht', | |
'regen', | |
'keten', | |
'debat', | |
'tenor', | |
'fruit', | |
'droog', | |
'fauna', | |
'sluis', | |
'greep', | |
'korps', | |
'linie', | |
'borst', | |
'kolom', | |
'krans', | |
'wraak', | |
'forum', | |
'exact', | |
'ijzer', | |
'halte', | |
'nader', | |
'grijs', | |
'bocht', | |
'hielp', | |
'kiest', | |
'stage', | |
'slang', | |
'tante', | |
'grand', | |
'zoons', | |
'uniek', | |
'tempo', | |
'stuks', | |
'oever', | |
'fluit', | |
'sfeer', | |
'zocht', | |
'egels', | |
'vloer', | |
'tafel', | |
'geluk', | |
'maker', | |
'ramen', | |
'hoeve', | |
'nicht', | |
'beleg', | |
'ruzie', | |
'beton', | |
'kopie', | |
'vlees', | |
'promo', | |
'games', | |
'angst', | |
'raket', | |
'beurs', | |
'hoorn', | |
'koper', | |
'bijen', | |
'koers', | |
'leeuw', | |
'jacht', | |
'kwijt', | |
'varen', | |
'blues', | |
'hemel', | |
'zicht', | |
'kwaad', | |
'staal', | |
'godin', | |
'bruin', | |
'waard', | |
'intro', | |
'aldus', | |
'wagen', | |
'vocht', | |
'wacht', | |
'visie', | |
'drank', | |
'virus', | |
'straf', | |
'liter', | |
'vaart', | |
'flink', | |
'stopt', | |
'wiens', | |
'omzet', | |
'graad', | |
'feest', | |
'troon', | |
'enorm', | |
'kopen', | |
'bloem', | |
'inzet', | |
'bezet', | |
'wijst', | |
'noord', | |
'krijg', | |
'taken', | |
'opzet', | |
'alsof', | |
'elite', | |
'banen', | |
'fiets', | |
'smaak', | |
'firma', | |
'agent', | |
'spits', | |
'islam', | |
'kwart', | |
'poort', | |
'drama', | |
'thans', | |
'steeg', | |
'gezag', | |
'storm', | |
'kroon', | |
'geest', | |
'cello', | |
'serif', | |
'slaan', | |
'erbij', | |
'boord', | |
'vorst', | |
'vrede', | |
'onzin', | |
'wezen', | |
'motto', | |
'bloed', | |
'kamer', | |
'zover', | |
'klaar', | |
'bodem', | |
'villa', | |
'sluit', | |
'bevel', | |
'avond', | |
'voren', | |
'optie', | |
'dames', | |
'lezer', | |
'ouder', | |
'beurt', | |
'vloot', | |
'spoor', | |
'alias', | |
'bomen', | |
'hotel', | |
'vaker', | |
'plein', | |
'apart', | |
'allen', | |
'deden', | |
'groei', | |
'kruis', | |
'teken', | |
'drums', | |
'paard', | |
'trouw', | |
'gevel', | |
'brief', | |
'keuze', | |
'steen', | |
'abdij', | |
'viool', | |
'dicht', | |
'nogal', | |
'prima', | |
'moord', | |
'baron', | |
'zetel', | |
'nacht', | |
'tabel', | |
'heren', | |
'uilen', | |
'kroeg', | |
'fusie', | |
'opera', | |
'kader', | |
'gezin', | |
'regel', | |
'breed', | |
'lucht', | |
'trein', | |
'getal', | |
'plaat', | |
'brand', | |
'groet', | |
'zijde', | |
'massa', | |
'route', | |
'haven', | |
'video', | |
'zwaar', | |
'wegen', | |
'aarde', | |
'sloot', | |
'negen', | |
'keren', | |
'roood', | |
'spons', | |
'radio', | |
'thuis', | |
'deels', | |
'doden', | |
'halen', | |
'zwart', | |
'lezen', | |
'cover', | |
'steun', | |
'markt', | |
'kapel', | |
'actie', | |
'prins', | |
'krant', | |
'wonen', | |
'metro', | |
'beker', | |
'hoger', | |
'thema', | |
'coach', | |
'lopen', | |
'vroeg', | |
'gezet', | |
'jeugd', | |
'motor', | |
'orgel', | |
'molen', | |
'zomer', | |
'nabij', | |
'bezig', | |
'maand', | |
'roman', | |
'ieder', | |
'vogel', | |
'graag', | |
'circa', | |
'licht', | |
'bezit', | |
'macht', | |
'neemt', | |
'bleek', | |
'grens', | |
'juist', | |
'groen', | |
'hoofd', | |
'zeven', | |
'toren', | |
'blauw', | |
'kever', | |
'ploeg', | |
'graaf', | |
'kunst', | |
'prijs', | |
'kleur', | |
'regie', | |
'media', | |
'beeld', | |
'grond', | |
'helft', | |
'recht', | |
'reeks', | |
'broer', | |
'plant', | |
'klein', | |
'piano', | |
'zeker', | |
'talen', | |
'reden', | |
'sport', | |
'woord', | |
'winst', | |
'leger', | |
'buurt', | |
'sterk', | |
'naast', | |
'lemma', | |
'bijna', | |
'alles', | |
'vraag', | |
'meest', | |
'niets', | |
'delen', | |
'zodat', | |
'nodig', | |
'basis', | |
'enkel', | |
'ander', | |
'dagen', | |
'namen', | |
'goals', | |
'genus', | |
'nooit', | |
'heden', | |
'stijl', | |
'nieuw', | |
'schip', | |
'nemen', | |
'leden', | |
'extra', | |
'beter', | |
'geven', | |
'zelfs', | |
'start', | |
'geval', | |
'vrouw', | |
'bleef', | |
'shift', | |
'genre', | |
'zowel', | |
'brons', | |
'laten', | |
'boven', | |
'moest', | |
'stond', | |
'taxon', | |
'vader', | |
'robot', | |
'begon', | |
'einde', | |
'groot', | |
'groep', | |
'score', | |
'tekst', | |
'serie', | |
'leven', | |
'komen', | |
'wapen', | |
'begin', | |
'sinds', | |
'kaart', | |
'terug', | |
'samen', | |
'water', | |
'lijst', | |
'eigen', | |
'album', | |
'index', | |
'vanaf', | |
'maken', | |
'omdat', | |
'adres', | |
'meter', | |
'ronde', | |
'later', | |
'staan', | |
'zoals', | |
'links', | |
'regio', | |
'jaren', | |
'waren', | |
'tegen', | |
'label', | |
'april', | |
'maart', | |
'titel', | |
'onder', | |
'heeft', | |
'eerst', | |
'soort', | |
'datum', | |
'model', | |
'tonen', | |
'palet', | |
'zakje', | |
'blaas', | |
'snede', | |
'tiara', | |
'acuut', | |
'vegen', | |
'wever', | |
'lotus', | |
'spelt', | |
'kunde', | |
'stamp', | |
'tarot', | |
'kater', | |
'zweet', | |
'gamer', | |
'egaal', | |
'dazen', | |
'korea', | |
'bever', | |
'plato', | |
'animo', | |
'zonet', | |
'karig', | |
'kweek', | |
'coupe', | |
'strik', | |
'serre', | |
'loser', | |
'sjeik', | |
'wreed', | |
'dorst', | |
'foton', | |
'havik', | |
'kampt', | |
'breng', | |
'drink', | |
'vries', | |
'lease', | |
'leunt', | |
'potje', | |
'zwemt', | |
'aders', | |
'otter', | |
'slijm', | |
'sloep', | |
'donor', | |
'busje', | |
'lunch', | |
'garen', | |
'visum', | |
'rogge', | |
'idool', | |
'botst', | |
'pacht', | |
'troef', | |
'lepra', | |
'eicel', | |
'kassa', | |
'heute', | |
'drift', | |
'ester', | |
'loden', | |
'folie', | |
'linea', | |
'koord', | |
'nihil', | |
'woest', | |
'haver', | |
'getij', | |
'fotos', | |
'kraai', | |
'lanen', | |
'dozen', | |
'gebak', | |
'dagje', | |
'kazen', | |
'rozet', | |
'snoep', | |
'sinus', | |
'pinda', | |
'vezel', | |
'weven', | |
'abuis', | |
'inham', | |
'stern', | |
'adder', | |
'dunkt', | |
'peren', | |
'daten', | |
'kreet', | |
'pizza', | |
'wagon', | |
'khaki', | |
'arend', | |
'nobel', | |
'terra', | |
'gevat', | |
'plaag', | |
'opium', | |
'niche', | |
'stijf', | |
'rebel', | |
'pinot', | |
'rover', | |
'kleed', | |
'zalig', | |
'zucht', | |
'rotor', | |
'laken', | |
'koker', | |
'globe', | |
'meeuw', | |
'alien', | |
'sifon', | |
'ninja', | |
'roest', | |
'krijt', | |
'flyer', | |
'twist', | |
'cacao', | |
'smaad', | |
'stomp', | |
'hulde', | |
'kraag', | |
'lelie', | |
'jongs', | |
'emmer', | |
'keken', | |
'zwijn', | |
'riool', | |
'stout', | |
'alert', | |
'shock', | |
'notie', | |
'zeden', | |
'staaf', | |
'schub', | |
'pasta', | |
'polis', | |
'bizar', | |
'astma', | |
'ivoor', | |
'pluim', | |
'baken', | |
'genot', | |
'aroma', | |
'deler', | |
'cloud', | |
'huwen', | |
'omweg', | |
'spoed', | |
'jasje', | |
'doorn', | |
'afzet', | |
'groef', | |
'akten', | |
'retro', | |
'klauw', | |
'kegel', | |
'akker', | |
'panda', | |
'kreek', | |
'rouge', | |
'scout', | |
'barst', | |
'kaars', | |
'talig', | |
'drost', | |
'linde', | |
'stunt', | |
'amber', | |
'folio', | |
'preek', | |
'breda', | |
'kloon', | |
'begaf', | |
'drang', | |
'debut', | |
'weide', | |
'hitje', | |
'kruid', | |
'frans', | |
'stoep', | |
'plint', | |
'bitje', | |
'fries', | |
'troep', | |
'tango', | |
'angel', | |
'taart', | |
'vuist', | |
'kruin', | |
'gunst', | |
'taboe'], | |
La = ['aagje', | |
'aaide', | |
'aaien', | |
'aanga', | |
'aapje', | |
'aapte', | |
'aarde', | |
'aards', | |
'aardt', | |
'aasde', | |
'aasje', | |
'abaci', | |
'abaja', | |
'abces', | |
'abdij', | |
'abdis', | |
'abeel', | |
'abele', | |
'abten', | |
'abuis', | |
'acces', | |
'acres', | |
'acryl', | |
'actes', | |
'actie', | |
'actio', | |
'actor', | |
'actum', | |
'acute', | |
'acuut', | |
'addax', | |
'adder', | |
'adelt', | |
'ademt', | |
'adept', | |
'aders', | |
'adert', | |
'adieu', | |
'adios', | |
'adobe', | |
'adres', | |
'adult', | |
'aequo', | |
'afbad', | |
'afbak', | |
'afbek', | |
'afbel', | |
'afbet', | |
'afbid', | |
'afbik', | |
'afbod', | |
'afbol', | |
'afdak', | |
'afdam', | |
'afdek', | |
'afdoe', | |
'afdok', | |
'afdop', | |
'afduw', | |
'afeet', | |
'affix', | |
'afgaf', | |
'afgod', | |
'afhak', | |
'afhap', | |
'afhel', | |
'afhol', | |
'afijn', | |
'afkam', | |
'afkan', | |
'afkap', | |
'afkom', | |
'afkon', | |
'aflag', | |
'aflak', | |
'aflap', | |
'aflas', | |
'afleg', | |
'aflek', | |
'aflig', | |
'aflik', | |
'aflos', | |
'afmat', | |
'afmik', | |
'afnam', | |
'afoog', | |
'afpak', | |
'afpas', | |
'afpen', | |
'afpik', | |
'afren', | |
'afrij', | |
'afris', | |
'afrit', | |
'afrol', | |
'afros', | |
'afrot', | |
'afrui', | |
'afruk', | |
'afsla', | |
'afsol', | |
'afsop', | |
'afsta', | |
'aftak', | |
'aftap', | |
'aftar', | |
'aftel', | |
'aften', | |
'aftik', | |
'aftip', | |
'aftob', | |
'afton', | |
'aftop', | |
'aftyp', | |
'afval', | |
'afvel', | |
'afvis', | |
'afwas', | |
'afwen', | |
'afwis', | |
'afwon', | |
'afzag', | |
'afzak', | |
'afzat', | |
'afzeg', | |
'afzei', | |
'afzet', | |
'afzie', | |
'afzit', | |
'agaat', | |
'agame', | |
'agape', | |
'agave', | |
'ageer', | |
'agens', | |
'agent', | |
'agger', | |
'agiel', | |
'agoge', | |
'agoog', | |
'agora', | |
'ahorn', | |
'aioli', | |
'airco', | |
'ajour', | |
'ajuin', | |
'ajuus', | |
'akant', | |
'akela', | |
'akers', | |
'akker', | |
'aksen', | |
'akten', | |
'aktes', | |
'alaaf', | |
'alaam', | |
'alant', | |
'alarm', | |
'alben', | |
'album', | |
'aldra', | |
'aldus', | |
'aleer', | |
'alert', | |
'algen', | |
'alias', | |
'alibi', | |
'alien', | |
'alken', | |
'alkyn', | |
'allee', | |
'allen', | |
'aller', | |
'alles', | |
'almee', | |
'aloud', | |
'alpen', | |
'alras', | |
'alree', | |
'alsem', | |
'alsnu', | |
'alsof', | |
'alten', | |
'alter', | |
'aluin', | |
'alver', | |
'amahs', | |
'amant', | |
'amber', | |
'amice', | |
'amict', | |
'amigo', | |
'amine', | |
'amish', | |
'amorf', | |
'ampel', | |
'amper', | |
'ampex', | |
'ampul', | |
'amsoi', | |
'amuse', | |
'anaal', | |
'anale', | |
'ander', | |
'angel', | |
'angst', | |
'anijs', | |
'anima', | |
'anime', | |
'animo', | |
'anion', | |
'anita', | |
'anjer', | |
'anker', | |
'annex', | |
'anode', | |
'anten', | |
'aorta', | |
'apart', | |
'apert', | |
'apneu', | |
'appel', | |
'appen', | |
'appje', | |
'appte', | |
'april', | |
'apsis', | |
'arden', | |
'arena', | |
'arend', | |
'argon', | |
'argot', | |
'argus', | |
'aride', | |
'arken', | |
'armee', | |
'armen', | |
'armer', | |
'armoe', | |
'armst', | |
'aroma', | |
'aroom', | |
'array', | |
'arren', | |
'artes', | |
'asbak', | |
'asemt', | |
'asgat', | |
'asiel', | |
'askar', | |
'asman', | |
'aspic', | |
'aspot', | |
'assem', | |
'assen', | |
'asten', | |
'aster', | |
'astma', | |
'aston', | |
'asurn', | |
'atjar', | |
'atlas', | |
'atoom', | |
'atria', | |
'atten', | |
'audio', | |
'audit', | |
'avant', | |
'avers', | |
'aviso', | |
'avond', | |
'awara', | |
'awari', | |
'axels', | |
'azijn', | |
'azuki', | |
'azuur', | |
'baadt', | |
'baalt', | |
'baant', | |
'baard', | |
'baars', | |
'baart', | |
'baast', | |
'babes', | |
'baboe', | |
'babok', | |
'bacil', | |
'backs', | |
'backt', | |
'bacon', | |
'baden', | |
'bader', | |
'badge', | |
'badje', | |
'bagel', | |
'baggy', | |
'bagno', | |
'bahai', | |
'bahco', | |
'bajes', | |
'baken', | |
'baker', | |
'bakje', | |
'bakra', | |
'bakte', | |
'balba', | |
'balde', | |
'balen', | |
'balie', | |
'balkt', | |
'balsa', | |
'balts', | |
'bamba', | |
'bamis', | |
'banco', | |
'bande', | |
'bands', | |
'banen', | |
'banga', | |
'bange', | |
'banjo', | |
'bankt', | |
'bapao', | |
'barak', | |
'baren', | |
'baret', | |
'barok', | |
'baron', | |
'barre', | |
'barse', | |
'barst', | |
'basen', | |
'bases', | |
'baset', | |
'basic', | |
'basis', | |
'basso', | |
'basta', | |
'baste', | |
'batch', | |
'baten', | |
'batig', | |
'batik', | |
'batje', | |
'baton', | |
'batte', | |
'bauwt', | |
'bavet', | |
'bazel', | |
'bazen', | |
'bazig', | |
'bazin', | |
'beaam', | |
'beaat', | |
'beate', | |
'beats', | |
'bebop', | |
'bebos', | |
'bedam', | |
'bedde', | |
'bedek', | |
'bedel', | |
'beden', | |
'bedes', | |
'bedil', | |
'bedje', | |
'bedoe', | |
'bedot', | |
'beeft', | |
'beeld', | |
'beemd', | |
'beent', | |
'beert', | |
'beest', | |
'befte', | |
'begaf', | |
'begin', | |
'begon', | |
'behuw', | |
'beide', | |
'beidt', | |
'beien', | |
'beier', | |
'beige', | |
'beits', | |
'bejag', | |
'bekaf', | |
'bekak', | |
'bekap', | |
'beken', | |
'beker', | |
'bekje', | |
'bekom', | |
'bekte', | |
'belas', | |
'belde', | |
'beleg', | |
'belen', | |
'belet', | |
'belik', | |
'belle', | |
'bello', | |
'beman', | |
'bemat', | |
'bemin', | |
'benam', | |
'bench', | |
'bende', | |
'benen', | |
'benig', | |
'bente', | |
'bents', | |
'benul', | |
'benut', | |
'beoog', | |
'bepak', | |
'bepek', | |
'bepte', | |
'berde', | |
'beren', | |
'berge', | |
'bergt', | |
'beril', | |
'berin', | |
'berst', | |
'besef', | |
'besje', | |
'besla', | |
'besom', | |
'besta', | |
'beste', | |
'betel', | |
'beten', | |
'beter', | |
'beton', | |
'bette', | |
'beugt', | |
'beukt', | |
'beult', | |
'beunt', | |
'beurs', | |
'beurt', | |
'bevak', | |
'beval', | |
'bevat', | |
'bevek', | |
'bevel', | |
'beven', | |
'bever', | |
'bevis', | |
'bevit', | |
'bewal', | |
'bewas', | |
'bezag', | |
'bezak', | |
'bezat', | |
'bezem', | |
'bezet', | |
'bezie', | |
'bezig', | |
'bezin', | |
'bezit', | |
'bezon', | |
'bidet', | |
'bidon', | |
'biebs', | |
'biedt', | |
'biels', | |
'biest', | |
'biets', | |
'bigde', | |
'bigot', | |
'bijas', | |
'bijen', | |
'bijna', | |
'bijou', | |
'biken', | |
'biker', | |
'bikte', | |
'bilan', | |
'bilde', | |
'bilge', | |
'bindt', | |
'bingo', | |
'binst', | |
'biopt', | |
'bisam', | |
'biste', | |
'bitch', | |
'bitse', | |
'bitst', | |
'bivak', | |
'bizar', | |
'bizon', | |
'blaag', | |
'blaak', | |
'blaam', | |
'blaar', | |
'blaas', | |
'blaat', | |
'black', | |
'blaft', | |
'blank', | |
'blauw', | |
'bleef', | |
'bleek', | |
'blees', | |
'blein', | |
'bleke', | |
'blekt', | |
'bleue', | |
'blief', | |
'bliek', | |
'bliep', | |
'blies', | |
'blije', | |
'blijf', | |
'blijk', | |
'blikt', | |
'blind', | |
'blink', | |
'blits', | |
'blitz', | |
'block', | |
'blode', | |
'bloed', | |
'bloei', | |
'bloem', | |
'bloes', | |
'blogs', | |
'blogt', | |
'blokt', | |
'blond', | |
'blonk', | |
'bloos', | |
'bloot', | |
'blote', | |
'blouw', | |
'blowt', | |
'blues', | |
'bluft', | |
'blust', | |
'bluts', | |
'board', | |
'bobby', | |
'bobde', | |
'bocht', | |
'bodem', | |
'boden', | |
'bodes', | |
'boede', | |
'boeit', | |
'boekt', | |
'boent', | |
'boers', | |
'boert', | |
'boete', | |
'bofte', | |
'bogen', | |
'bogey', | |
'bogie', | |
'bokje', | |
'bokst', | |
'bokte', | |
'bolde', | |
'bolle', | |
'bolst', | |
'bolus', | |
'bomde', | |
'bomen', | |
'bomer', | |
'bomig', | |
'bomma', | |
'bompa', | |
'bonen', | |
'bongo', | |
'bonje', | |
'bonkt', | |
'bonne', | |
'bonst', | |
'bonte', | |
'bonus', | |
'bonze', | |
'boogt', | |
'boomt', | |
'boord', | |
'boort', | |
'boost', | |
'boots', | |
'borat', | |
'borax', | |
'boren', | |
'borgt', | |
'borst', | |
'bosje', | |
'boson', | |
'boste', | |
'bosui', | |
'botaf', | |
'botel', | |
'boten', | |
'boter', | |
'botje', | |
'botox', | |
'botst', | |
'botte', | |
'boude', | |
'boute', | |
'bouwt', | |
'boven', | |
'bowls', | |
'bowlt', | |
'boxen', | |
'boxer', | |
'bozer', | |
'bozig', | |
'braad', | |
'braaf', | |
'braai', | |
'braak', | |
'braam', | |
'brabo', | |
'brace', | |
'bralt', | |
'brand', | |
'brasa', | |
'brast', | |
'brave', | |
'bravo', | |
'break', | |
'brede', | |
'breed', | |
'breek', | |
'breel', | |
'breid', | |
'brein', | |
'breit', | |
'brems', | |
'breng', | |
'breuk', | |
'breve', | |
'brief', | |
'briek', | |
'bries', | |
'briet', | |
'brijn', | |
'brilt', | |
'brink', | |
'brits', | |
'brode', | |
'brodt', | |
'broed', | |
'broei', | |
'broek', | |
'broer', | |
'broes', | |
'broge', | |
'brokt', | |
'bromt', | |
'bronk', | |
'brons', | |
'brood', | |
'broom', | |
'broos', | |
'brost', | |
'brouw', | |
'broze', | |
'bruid', | |
'bruin', | |
'bruis', | |
'bruls', | |
'brult', | |
'brute', | |
'bruto', | |
'bruut', | |
'bucht', | |
'buddy', | |
'bufen', | |
'bugel', | |
'buggy', | |
'buide', | |
'buien', | |
'buigt', | |
'buiig', | |
'built', | |
'buist', | |
'bukte', | |
'bulkt', | |
'bully', | |
'bunny', | |
'buren', | |
'buret', | |
'burin', | |
'busbo', | |
'busje', | |
'buste', | |
'buten', | |
'butst', | |
'buurt', | |
'buxus', | |
'bytes', | |
'caban', | |
'cacao', | |
'cache', | |
'caddy', | |
'cadet', | |
'cadre', | |
'cajun', | |
'cakes', | |
'camee', | |
'camel', | |
'cameo', | |
'camjo', | |
'campo', | |
'camps', | |
'campy', | |
'candy', | |
'canon', | |
'canto', | |
'capes', | |
'caput', | |
'caret', | |
'carga', | |
'cargo', | |
'carne', | |
'carte', | |
'carve', | |
'casco', | |
'cases', | |
'casht', | |
'casts', | |
'casus', | |
'catch', | |
'cauda', | |
'causa', | |
'cavia', | |
'cedel', | |
'ceder', | |
'celen', | |
'cella', | |
'cello', | |
'cents', | |
'chant', | |
'chaos', | |
'chape', | |
'charm', | |
'chart', | |
'chats', | |
'chaud', | |
'cheat', | |
'check', | |
'cheek', | |
'chefs', | |
'chemo', | |
'chick', | |
'chijl', | |
'chili', | |
'chill', | |
'chimp', | |
'chino', | |
'chips', | |
'choco', | |
'choke', | |
'chole', | |
'chook', | |
'choro', | |
'chose', | |
'chris', | |
'chute', | |
'cider', | |
'cijns', | |
'cinch', | |
'circa', | |
'cirri', | |
'citer', | |
'civet', | |
'claim', | |
'clans', | |
'clark', | |
'clash', | |
'claus', | |
'clave', | |
'clean', | |
'click', | |
'clips', | |
'close', | |
'cloud', | |
'clous', | |
'clown', | |
'clubs', | |
'coach', | |
'cobra', | |
'cocci', | |
'cocon', | |
'codec', | |
'codes', | |
'codex', | |
'codon', | |
'cokes', | |
'colli', | |
'collo', | |
'colon', | |
'colts', | |
'combi', | |
'combo', | |
'comic', | |
'conga', | |
'conti', | |
'conto', | |
'conus', | |
'coole', | |
'cools', | |
'corgi', | |
'corps', | |
'corsa', | |
'corso', | |
'costa', | |
'couch', | |
'coupe', | |
'coups', | |
'coupt', | |
'cours', | |
'court', | |
'cover', | |
'coxen', | |
'crack', | |
'crank', | |
'crash', | |
'crawl', | |
'crazy', | |
'credo', | |
'creep', | |
'crews', | |
'crime', | |
'crisp', | |
'croon', | |
'cross', | |
'crost', | |
'crown', | |
'crude', | |
'crypt', | |
'culpa', | |
'cumul', | |
'cunet', | |
'cupje', | |
'curie', | |
'curry', | |
'curve', | |
'cyaan', | |
'cycli', | |
'cyste', | |
'daags', | |
'daagt', | |
'daalt', | |
'daast', | |
'dabde', | |
'dacht', | |
'dadel', | |
'daden', | |
'dader', | |
'dagen', | |
'dager', | |
'dagge', | |
'dagje', | |
'daisy', | |
'daken', | |
'dakje', | |
'dalai', | |
'dalem', | |
'dalen', | |
'daler', | |
'damar', | |
'damde', | |
'dames', | |
'dampt', | |
'dance', | |
'dandy', | |
'danig', | |
'dankt', | |
'danse', | |
'dansi', | |
'danst', | |
'darde', | |
'darts', | |
'daten', | |
'dates', | |
'datet', | |
'datje', | |
'datum', | |
'dauwt', | |
'daver', | |
'davit', | |
'dawet', | |
'dazen', | |
'deals', | |
'dealt', | |
'death', | |
'debat', | |
'debet', | |
'debug', | |
'decks', | |
'decor', | |
'deden', | |
'deels', | |
'deelt', | |
'deern', | |
'deert', | |
'degel', | |
'degen', | |
'deins', | |
'deint', | |
'deken', | |
'dekje', | |
'dekte', | |
'delen', | |
'deler', | |
'delft', | |
'delgt', | |
'delta', | |
'demon', | |
'dempt', | |
'denim', | |
'denke', | |
'denkt', | |
'dente', | |
'depot', | |
'depri', | |
'depte', | |
'derby', | |
'derde', | |
'deren', | |
'derft', | |
'derny', | |
'desem', | |
'desks', | |
'detox', | |
'deuce', | |
'deugd', | |
'deugt', | |
'deukt', | |
'deunt', | |
'dezen', | |
'dezer', | |
'dezes', | |
'dicht', | |
'dieet', | |
'dieft', | |
'diene', | |
'diens', | |
'dient', | |
'diepe', | |
'diept', | |
'diere', | |
'diets', | |
'dijde', | |
'dijen', | |
'dijkt', | |
'dikke', | |
'dikst', | |
'dikte', | |
'dildo', | |
'dille', | |
'dimde', | |
'dinar', | |
'diner', | |
'dingo', | |
'dingt', | |
'dinky', | |
'diode', | |
'dipje', | |
'dipte', | |
'disco', | |
'discs', | |
'disks', | |
'diste', | |
'ditje', | |
'divan', | |
'dixie', | |
'dixit', | |
'dizzy', | |
'djaks', | |
'djakt', | |
'djati', | |
'djinn', | |
'dobbe', | |
'doble', | |
'docht', | |
'doden', | |
'doder', | |
'doekt', | |
'doelt', | |
'doemt', | |
'doend', | |
'doffe', | |
'dofst', | |
'dofte', | |
'dogen', | |
'doges', | |
'dogla', | |
'dogma', | |
'doken', | |
'dokte', | |
'dolby', | |
'dolce', | |
'dolde', | |
'dolen', | |
'doler', | |
'dolik', | |
'dolle', | |
'dolly', | |
'dolma', | |
'dolst', | |
'dombo', | |
'domen', | |
'domig', | |
'domme', | |
'dompt', | |
'domst', | |
'donna', | |
'donor', | |
'donut', | |
'doods', | |
'doodt', | |
'dooft', | |
'dooie', | |
'dooit', | |
'doolt', | |
'doomt', | |
'doopt', | |
'doorn', | |
'dopen', | |
'doper', | |
'dopes', | |
'dopje', | |
'dopte', | |
'dorde', | |
'doren', | |
'dorps', | |
'dorre', | |
'dorst', | |
'doses', | |
'dosis', | |
'doste', | |
'dotje', | |
'doubt', | |
'douch', | |
'douwt', | |
'doven', | |
'dover', | |
'dovig', | |
'downs', | |
'dozen', | |
'draad', | |
'draaf', | |
'draag', | |
'draai', | |
'draak', | |
'draal', | |
'drain', | |
'drama', | |
'dramt', | |
'drang', | |
'drank', | |
'drast', | |
'draws', | |
'dreef', | |
'dregt', | |
'dreig', | |
'drein', | |
'drens', | |
'dreun', | |
'drieg', | |
'dries', | |
'drift', | |
'drijf', | |
'drilt', | |
'dring', | |
'drink', | |
'drive', | |
'droef', | |
'droeg', | |
'droes', | |
'droge', | |
'dromt', | |
'drone', | |
'drong', | |
'dronk', | |
'droog', | |
'droom', | |
'droop', | |
'droos', | |
'drops', | |
'dropt', | |
'drost', | |
'drugs', | |
'druif', | |
'druil', | |
'druip', | |
'druis', | |
'drukt', | |
'drums', | |
'drumt', | |
'drupt', | |
'druus', | |
'duaal', | |
'duale', | |
'dubde', | |
'dubio', | |
'ducht', | |
'duels', | |
'duffe', | |
'dufst', | |
'duidt', | |
'duikt', | |
'duimt', | |
'duist', | |
'duldt', | |
'dulia', | |
'dummy', | |
'dumps', | |
'dumpt', | |
'dunde', | |
'dunkt', | |
'dunne', | |
'dunst', | |
'dunte', | |
'dupes', | |
'duplo', | |
'duren', | |
'durft', | |
'dutje', | |
'dutte', | |
'duurs', | |
'duurt', | |
'duvel', | |
'duwde', | |
'duwen', | |
'duwer', | |
'dwaal', | |
'dwaas', | |
'dwang', | |
'dwars', | |
'dwaze', | |
'dweep', | |
'dweil', | |
'dwerg', | |
'dwing', | |
'dwong', | |
'dyade', | |
'dynes', | |
'dyogo', | |
'ebben', | |
'ebden', | |
'ebola', | |
'ecart', | |
'echec', | |
'echel', | |
'echie', | |
'echte', | |
'ecrue', | |
'edele', | |
'edels', | |
'edict', | |
'edoch', | |
'educt', | |
'eenre', | |
'eerde', | |
'eerst', | |
'effen', | |
'egaal', | |
'egale', | |
'egard', | |
'egden', | |
'egels', | |
'eggen', | |
'eggig', | |
'eiber', | |
'eicel', | |
'eider', | |
'eigen', | |
'eikel', | |
'eiken', | |
'eiker', | |
'einde', | |
'eindt', | |
'einze', | |
'eisen', | |
'eiser', | |
'eiste', | |
'eitje', | |
'eivol', | |
'eiwit', | |
'eject', | |
'eland', | |
'elect', | |
'elfde', | |
'elfen', | |
'elfje', | |
'elger', | |
'elite', | |
'ellen', | |
'eloge', | |
'elpee', | |
'elpen', | |
'elven', | |
'elzen', | |
'email', | |
'emelt', | |
'emirs', | |
'emmer', | |
'emmes', | |
'emoes', | |
'enden', | |
'enfin', | |
'engel', | |
'enger', | |
'engst', | |
'engte', | |
'enige', | |
'enkel', | |
'enken', | |
'enorm', | |
'enten', | |
'enter', | |
'entte', | |
'enzym', | |
'eonen', | |
'epiek', | |
'epoxy', | |
'eraan', | |
'erbij', | |
'erfde', | |
'erger', | |
'ergon', | |
'ergst', | |
'erica', | |
'erken', | |
'erker', | |
'ermee', | |
'ernst', | |
'ertoe', | |
'eruit', | |
'ervan', | |
'erven', | |
'espen', | |
'essay', | |
'essen', | |
'ester', | |
'etage', | |
'etend', | |
'eters', | |
'ether', | |
'ethos', | |
'ethyl', | |
'ethyn', | |
'etnie', | |
'etsen', | |
'etser', | |
'etste', | |
'etter', | |
'etude', | |
'etuis', | |
'euvel', | |
'euzie', | |
'event', | |
'evers', | |
'exact', | |
'exces', | |
'exoot', | |
'expat', | |
'extra', | |
'ezels', | |
'ezelt', | |
'faalt', | |
'fabel', | |
'facet', | |
'facie', | |
'facit', | |
'facta', | |
'facto', | |
'faden', | |
'fagot', | |
'faire', | |
'fairs', | |
'faken', | |
'faket', | |
'fakir', | |
'falen', | |
'falie', | |
'fancy', | |
'farad', | |
'farao', | |
'farce', | |
'farde', | |
'farms', | |
'fasen', | |
'fases', | |
'fatum', | |
'fatwa', | |
'fauna', | |
'faxen', | |
'faxte', | |
'fazen', | |
'feces', | |
'fecit', | |
'feeks', | |
'feest', | |
'feilt', | |
'feite', | |
'felle', | |
'felst', | |
'femel', | |
'femme', | |
'fenol', | |
'ferme', | |
'ferry', | |
'fezel', | |
'fiber', | |
'fiche', | |
'fichu', | |
'ficus', | |
'field', | |
'fielt', | |
'fiere', | |
'fiets', | |
'fijne', | |
'fijns', | |
'fikse', | |
'fikst', | |
'files', | |
'filet', | |
'films', | |
'filmt', | |
'fiool', | |
'firma', | |
'fitis', | |
'fitst', | |
'fitte', | |
'fixen', | |
'fixer', | |
'fixus', | |
'fjord', | |
'flair', | |
'flank', | |
'flans', | |
'flapt', | |
'flard', | |
'flash', | |
'flati', | |
'flats', | |
'flauw', | |
'fleem', | |
'fleer', | |
'flens', | |
'flest', | |
'flets', | |
'fleur', | |
'flexi', | |
'flier', | |
'flikt', | |
'flink', | |
'flint', | |
'flipt', | |
'flirt', | |
'flits', | |
'floep', | |
'floer', | |
'floot', | |
'flops', | |
'flopt', | |
'flora', | |
'floss', | |
'flost', | |
'fluim', | |
'fluit', | |
'fluks', | |
'fluor', | |
'flyer', | |
'fnuik', | |
'fobie', | |
'focus', | |
'foert', | |
'fokte', | |
'folie', | |
'folio', | |
'folky', | |
'folly', | |
'fonds', | |
'fonts', | |
'fopte', | |
'forel', | |
'foren', | |
'forma', | |
'forse', | |
'forst', | |
'forte', | |
'forti', | |
'forto', | |
'forum', | |
'fossa', | |
'foton', | |
'foute', | |
'fouts', | |
'foxen', | |
'foyer', | |
'fraai', | |
'frame', | |
'franc', | |
'frank', | |
'frase', | |
'frats', | |
'freak', | |
'frees', | |
'freon', | |
'frets', | |
'fries', | |
'friet', | |
'frigo', | |
'frijn', | |
'frist', | |
'frons', | |
'front', | |
'fruit', | |
'frust', | |
'fuift', | |
'fundi', | |
'fungi', | |
'funky', | |
'furie', | |
'fusee', | |
'fusie', | |
'futen', | |
'futon', | |
'fuzzy', | |
'fylum', | |
'fysio', | |
'gaand', | |
'gaans', | |
'gaapt', | |
'gaard', | |
'gaart', | |
'gabbe', | |
'gaden', | |
'gaffe', | |
'gagel', | |
'gages', | |
'gaine', | |
'gajes', | |
'gakte', | |
'galde', | |
'galei', | |
'galen', | |
'galmt', | |
'galon', | |
'galop', | |
'gamay', | |
'gamba', | |
'gamel', | |
'gamen', | |
'gamer', | |
'games', | |
'gamet', | |
'gamma', | |
'ganse', | |
'gapen', | |
'gaper', | |
'gapte', | |
'garde', | |
'garen', | |
'garft', | |
'garoe', | |
'garst', | |
'garve', | |
'gasla', | |
'gaste', | |
'gaten', | |
'gates', | |
'gauss', | |
'gaven', | |
'gaver', | |
'gazel', | |
'gazen', | |
'gazet', | |
'gazon', | |
'geard', | |
'gebak', | |
'gebal', | |
'gebat', | |
'gebbe', | |
'gebed', | |
'gebel', | |
'gebep', | |
'gebet', | |
'gebid', | |
'gebit', | |
'gebod', | |
'gebot', | |
'gedag', | |
'gedek', | |
'gedij', | |
'gedoe', | |
'gedut', | |
'geduw', | |
'geeft', | |
'geeks', | |
'geels', | |
'geelt', | |
'geers', | |
'geert', | |
'geest', | |
'geeuw', | |
'gefit', | |
'gegak', | |
'gegil', | |
'gehad', | |
'gehak', | |
'gehol', | |
'gehop', | |
'gehos', | |
'gehot', | |
'geide', | |
'geien', | |
'geile', | |
'geilt', | |
'gejat', | |
'gejij', | |
'gejou', | |
'gejut', | |
'gekap', | |
'gekat', | |
'gekef', | |
'gekir', | |
'gekit', | |
'gekke', | |
'gekko', | |
'gekst', | |
'gekte', | |
'gekus', | |
'gekut', | |
'gelag', | |
'gelal', | |
'gelat', | |
'gelde', | |
'geldt', | |
'gelee', | |
'gelei', | |
'gelek', | |
'gelen', | |
'geler', | |
'gelet', | |
'gelid', | |
'gelig', | |
'gelik', | |
'gelok', | |
'gelui', | |
'geluk', | |
'gelul', | |
'geluw', | |
'gemak', | |
'gemat', | |
'gemet', | |
'gemis', | |
'gemma', | |
'gemok', | |
'gemor', | |
'gemot', | |
'genas', | |
'genat', | |
'genen', | |
'gener', | |
'genet', | |
'genie', | |
'genot', | |
'genre', | |
'genst', | |
'genua', | |
'genus', | |
'genut', | |
'geode', | |
'geoha', | |
'gepak', | |
'gepas', | |
'gepen', | |
'gepit', | |
'gepot', | |
'gepuf', | |
'geput', | |
'geram', | |
'gerat', | |
'gered', | |
'gerei', | |
'gerel', | |
'gerem', | |
'geren', | |
'gerij', | |
'gerit', | |
'gerol', | |
'gerot', | |
'gerst', | |
'geruk', | |
'gesar', | |
'gesco', | |
'gesel', | |
'gesis', | |
'gesol', | |
'gespt', | |
'gesse', | |
'geste', | |
'getal', | |
'getij', | |
'getik', | |
'getob', | |
'getto', | |
'getut', | |
'geuit', | |
'geurt', | |
'geuze', | |
'geval', | |
'gevat', | |
'gevel', | |
'geven', | |
'gever', | |
'gevet', | |
'gevit', | |
'gevut', | |
'gewag', | |
'gewas', | |
'gewed', | |
'gewei', | |
'gewen', | |
'gewet', | |
'gewin', | |
'gewis', | |
'gewit', | |
'gewon', | |
'gezag', | |
'gezel', | |
'gezet', | |
'gezin', | |
'gezon', | |
'gibus', | |
'gidst', | |
'giert', | |
'gigue', | |
'gijle', | |
'gijns', | |
'gijpt', | |
'gilde', | |
'gilet', | |
'ginds', | |
'ginst', | |
'gipst', | |
'gipsy', | |
'giraf', | |
'gispt', | |
'gisse', | |
'giste', | |
'gladt', | |
'glans', | |
'gleed', | |
'gleis', | |
'gleuf', | |
'glijd', | |
'glimp', | |
'glimt', | |
'glipt', | |
'globe', | |
'gloed', | |
'gloei', | |
'glooi', | |
'gloop', | |
'gloor', | |
'gluip', | |
'gluur', | |
'gneis', | |
'gnoes', | |
'gnoom', | |
'gnuif', | |
'goals', | |
'goden', | |
'godin', | |
'goede', | |
'goeds', | |
'goeie', | |
'gogen', | |
'gogme', | |
'gojim', | |
'gojse', | |
'gokje', | |
'gokte', | |
'golem', | |
'golft', | |
'gomde', | |
'gomma', | |
'gongs', | |
'gonje', | |
'gonst', | |
'gooit', | |
'goors', | |
'gordt', | |
'gorig', | |
'goten', | |
'goths', | |
'gouda', | |
'gouwe', | |
'gozer', | |
'graad', | |
'graaf', | |
'graag', | |
'graai', | |
'graal', | |
'graan', | |
'graas', | |
'graat', | |
'graft', | |
'grage', | |
'grand', | |
'grapt', | |
'grata', | |
'grauw', | |
'grave', | |
'greed', | |
'green', | |
'greep', | |
'grein', | |
'grens', | |
'grief', | |
'griek', | |
'griel', | |
'grien', | |
'griep', | |
'gries', | |
'griet', | |
'grift', | |
'grijn', | |
'grijp', | |
'grijs', | |
'grill', | |
'grilt', | |
'grime', | |
'grimt', | |
'grind', | |
'grint', | |
'griot', | |
'grise', | |
'grist', | |
'groef', | |
'groei', | |
'groen', | |
'groep', | |
'groes', | |
'groet', | |
'grogs', | |
'grolt', | |
'gromt', | |
'grond', | |
'groos', | |
'groot', | |
'grote', | |
'grove', | |
'gruis', | |
'gruwt', | |
'guano', | |
'guave', | |
'gulle', | |
'gulpt', | |
'gulst', | |
'gumde', | |
'gummi', | |
'gunde', | |
'gunst', | |
'guppy', | |
'guste', | |
'gutst', | |
'gymde', | |
'gyros', | |
'haagt', | |
'haait', | |
'haaks', | |
'haakt', | |
'haalt', | |
'haard', | |
'haars', | |
'haart', | |
'haast', | |
'hacks', | |
'hackt', | |
'hadji', | |
'hagel', | |
'hagen', | |
'hager', | |
'haiku', | |
'haken', | |
'haker', | |
'hakje', | |
'hakte', | |
'halal', | |
'halen', | |
'haler', | |
'hallo', | |
'halls', | |
'halma', | |
'halst', | |
'halte', | |
'halve', | |
'hamam', | |
'hamas', | |
'hamei', | |
'hamel', | |
'hamen', | |
'hamer', | |
'hands', | |
'handt', | |
'handy', | |
'hanen', | |
'hangt', | |
'hanig', | |
'hapax', | |
'haper', | |
'hapje', | |
'happy', | |
'hapte', | |
'haram', | |
'harde', | |
'hards', | |
'hardt', | |
'harem', | |
'haren', | |
'harig', | |
'harkt', | |
'harpt', | |
'harre', | |
'harst', | |
'harte', | |
'haten', | |
'hater', | |
'haute', | |
'haven', | |
'haver', | |
'havik', | |
'hazen', | |
'heats', | |
'heavy', | |
'hecht', | |
'heden', | |
'heeft', | |
'heelt', | |
'heers', | |
'heest', | |
'heffe', | |
'hegge', | |
'hegje', | |
'heide', | |
'heien', | |
'heier', | |
'heiig', | |
'heisa', | |
'hekel', | |
'heken', | |
'hekje', | |
'hekst', | |
'helde', | |
'helen', | |
'heler', | |
'helft', | |
'helix', | |
'helle', | |
'helpe', | |
'helpt', | |
'helse', | |
'helst', | |
'hemde', | |
'hemel', | |
'hemen', | |
'henen', | |
'henna', | |
'henry', | |
'hepen', | |
'heren', | |
'herig', | |
'herik', | |
'herin', | |
'herop', | |
'heros', | |
'hertz', | |
'hesen', | |
'heser', | |
'hesje', | |
'heten', | |
'heter', | |
'hetze', | |
'heugt', | |
'heult', | |
'heuse', | |
'heust', | |
'hevea', | |
'hevel', | |
'heven', | |
'hevig', | |
'hiaat', | |
'hield', | |
'hielp', | |
'hielt', | |
'hieuw', | |
'highe', | |
'hihat', | |
'hijgt', | |
'hijst', | |
'hiken', | |
'hikte', | |
'hinde', | |
'hinkt', | |
'hints', | |
'hippe', | |
'hipst', | |
'hipte', | |
'hitje', | |
'hitst', | |
'hitte', | |
'hobby', | |
'hocus', | |
'hoede', | |
'hoedt', | |
'hoeft', | |
'hoeks', | |
'hoekt', | |
'hoela', | |
'hoera', | |
'hoeri', | |
'hoert', | |
'hoest', | |
'hoeve', | |
'hoezo', | |
'hofje', | |
'hogen', | |
'hoger', | |
'hokje', | |
'hokte', | |
'holde', | |
'holen', | |
'holes', | |
'holle', | |
'holst', | |
'holte', | |
'homes', | |
'honds', | |
'honen', | |
'honig', | |
'honkt', | |
'hoofd', | |
'hoofs', | |
'hoogt', | |
'hooit', | |
'hoolt', | |
'hoont', | |
'hoopt', | |
'hoorn', | |
'hoort', | |
'hoost', | |
'hopen', | |
'hopje', | |
'hopla', | |
'hoppa', | |
'hoppe', | |
'hopsa', | |
'hopte', | |
'horde', | |
'hordt', | |
'horen', | |
'horig', | |
'horst', | |
'hosta', | |
'hoste', | |
'hosts', | |
'hotel', | |
'hotst', | |
'hotte', | |
'houdt', | |
'house', | |
'houwt', | |
'hoven', | |
'hozen', | |
'https', | |
'huift', | |
'huilt', | |
'huist', | |
'huize', | |
'hukte', | |
'hulde', | |
'hulst', | |
'humde', | |
'humor', | |
'humus', | |
'hunne', | |
'hupse', | |
'hupst', | |
'hupte', | |
'huren', | |
'hurkt', | |
'husky', | |
'hutje', | |
'hutst', | |
'huurt', | |
'huwde', | |
'huwen', | |
'hydra', | |
'hyena', | |
'hyfen', | |
'hymen', | |
'hymne', | |
'hypen', | |
'hyper', | |
'hypes', | |
'hypet', | |
'hysop', | |
'hyven', | |
'iaden', | |
'icing', | |
'icoon', | |
'idiot', | |
'idool', | |
'iebel', | |
'ieder', | |
'iepen', | |
'ijdel', | |
'ijken', | |
'ijker', | |
'ijkte', | |
'ijlde', | |
'ijlen', | |
'ijler', | |
'ijlst', | |
'ijsco', | |
'ijsde', | |
'ijsje', | |
'ijver', | |
'ijzel', | |
'ijzen', | |
'ijzer', | |
'ijzig', | |
'ikken', | |
'image', | |
'imago', | |
'imams', | |
'imker', | |
'immer', | |
'immes', | |
'inbed', | |
'inbel', | |
'inbox', | |
'indam', | |
'indek', | |
'inden', | |
'index', | |
'indik', | |
'indom', | |
'indut', | |
'induw', | |
'ineen', | |
'inent', | |
'inert', | |
'infra', | |
'ingaf', | |
'ingot', | |
'inhak', | |
'inham', | |
'inhei', | |
'inkom', | |
'inkop', | |
'inlap', | |
'inlas', | |
'inlay', | |
'inleg', | |
'inlog', | |
'inlos', | |
'inmat', | |
'innam', | |
'innen', | |
'innig', | |
'inpak', | |
'inpek', | |
'inpik', | |
'input', | |
'inren', | |
'inrij', | |
'inrit', | |
'inrol', | |
'inruk', | |
'insla', | |
'insop', | |
'insta', | |
'insuf', | |
'intik', | |
'intro', | |
'intyp', | |
'inval', | |
'invet', | |
'invul', | |
'inwin', | |
'inwit', | |
'inwon', | |
'inzag', | |
'inzak', | |
'inzat', | |
'inzet', | |
'inzie', | |
'inzit', | |
'ionen', | |
'ippon', | |
'islam', | |
'ismen', | |
'ismes', | |
'issue', | |
'items', | |
'ivoor', | |
'jaagt', | |
'jaapt', | |
'jaars', | |
'jabot', | |
'jacht', | |
'jacks', | |
'jaden', | |
'jagen', | |
'jager', | |
'jajem', | |
'jalap', | |
'jalon', | |
'jambe', | |
'jamde', | |
'janet', | |
'jankt', | |
'janus', | |
'japen', | |
'japon', | |
'jaren', | |
'jarig', | |
'jasje', | |
'jaste', | |
'jatte', | |
'javel', | |
'jawel', | |
'jawls', | |
'jazzy', | |
'jeans', | |
'jeeps', | |
'jeint', | |
'jelui', | |
'jemig', | |
'jende', | |
'jetje', | |
'jeton', | |
'jeugd', | |
'jeukt', | |
'jeune', | |
'jicht', | |
'jihad', | |
'jijde', | |
'jijen', | |
'jingo', | |
'jiven', | |
'jobde', | |
'jodel', | |
'joden', | |
'jodin', | |
'joego', | |
'joelt', | |
'joept', | |
'jofel', | |
'jogde', | |
'joint', | |
'joken', | |
'joker', | |
'jokes', | |
'jokte', | |
'jolde', | |
'jolen', | |
'jolig', | |
'jonas', | |
'jonde', | |
'jonen', | |
'jonge', | |
'jongs', | |
'jongt', | |
'joods', | |
'jookt', | |
'joolt', | |
'jopen', | |
'joude', | |
'jouen', | |
'joule', | |
'jours', | |
'jouwe', | |
'jouwt', | |
'jozef', | |
'jubee', | |
'jubel', | |
'judas', | |
'judex', | |
'juich', | |
'juicy', | |
'juist', | |
'jukte', | |
'jumbo', | |
'junks', | |
'junta', | |
'juten', | |
'jutte', | |
'kaait', | |
'kaakt', | |
'kaamt', | |
'kaant', | |
'kaapt', | |
'kaard', | |
'kaars', | |
'kaart', | |
'kaast', | |
'kaats', | |
'kabas', | |
'kabel', | |
'kadee', | |
'kaden', | |
'kader', | |
'kades', | |
'kadet', | |
'kaffa', | |
'kafir', | |
'kafje', | |
'kagen', | |
'kagie', | |
'kajak', | |
'kakel', | |
'kaken', | |
'kaker', | |
'kakje', | |
'kakte', | |
'kalde', | |
'kalen', | |
'kaler', | |
'kalft', | |
'kalig', | |
'kalis', | |
'kalkt', | |
'kalle', | |
'kalme', | |
'kalot', | |
'kamde', | |
'kamen', | |
'kamer', | |
'kamig', | |
'kampt', | |
'kanen', | |
'kanis', | |
'kanji', | |
'kanon', | |
'kante', | |
'kapel', | |
'kapen', | |
'kaper', | |
'kapje', | |
'kapok', | |
'kapot', | |
'kappa', | |
'kapte', | |
'karaf', | |
'karde', | |
'karen', | |
'karet', | |
'karig', | |
'karma', | |
'karnt', | |
'karos', | |
'karot', | |
'karst', | |
'karts', | |
'kasba', | |
'kasje', | |
'kassa', | |
'kaste', | |
'kater', | |
'katje', | |
'katte', | |
'kauri', | |
'kauwt', | |
'kavel', | |
'kawai', | |
'kazak', | |
'kazen', | |
'kazer', | |
'kebab', | |
'kebon', | |
'keelt', | |
'keept', | |
'keert', | |
'keest', | |
'kefir', | |
'kefte', | |
'kegel', | |
'kegge', | |
'kegje', | |
'keien', | |
'keilt', | |
'keken', | |
'keker', | |
'kekke', | |
'kelen', | |
'kelim', | |
'kelly', | |
'kemel', | |
'kenau', | |
'kende', | |
'kendo', | |
'kenen', | |
'kepel', | |
'kepen', | |
'keper', | |
'kepie', | |
'kerel', | |
'keren', | |
'kerft', | |
'kerke', | |
'kerks', | |
'kerkt', | |
'kermt', | |
'kerst', | |
'ketch', | |
'ketel', | |
'keten', | |
'ketje', | |
'keton', | |
'ketst', | |
'keude', | |
'keuen', | |
'keure', | |
'keurs', | |
'keurt', | |
'keuze', | |
'kevel', | |
'keven', | |
'kever', | |
'kevie', | |
'keyen', | |
'kezen', | |
'kicks', | |
'kickt', | |
'kidde', | |
'kiekt', | |
'kielt', | |
'kiemt', | |
'kiene', | |
'kient', | |
'kiept', | |
'kiert', | |
'kiese', | |
'kiest', | |
'kieuw', | |
'kijft', | |
'kijkt', | |
'kikte', | |
'kilde', | |
'kille', | |
'kilst', | |
'kilte', | |
'kilts', | |
'kimde', | |
'kimme', | |
'kinds', | |
'kinky', | |
'kiosk', | |
'kipje', | |
'kipte', | |
'kirde', | |
'kiste', | |
'kiten', | |
'kitst', | |
'kitte', | |
'klaaf', | |
'klaag', | |
'klaar', | |
'klaas', | |
'kladt', | |
'klakt', | |
'klamp', | |
'klank', | |
'klant', | |
'klapt', | |
'klare', | |
'klats', | |
'klauw', | |
'kleed', | |
'kleef', | |
'klein', | |
'kleit', | |
'klemt', | |
'klept', | |
'klerk', | |
'klets', | |
'kleum', | |
'kleun', | |
'kleur', | |
'klief', | |
'kliek', | |
'klier', | |
'klijn', | |
'kliko', | |
'klikt', | |
'klimt', | |
'kling', | |
'klink', | |
'klist', | |
'kloef', | |
'kloek', | |
'kloet', | |
'klojo', | |
'klokt', | |
'klomp', | |
'klonk', | |
'klont', | |
'kloof', | |
'klooi', | |
'kloon', | |
'kloot', | |
'klopt', | |
'klost', | |
'klote', | |
'klots', | |
'klove', | |
'kluft', | |
'kluif', | |
'kluis', | |
'kluit', | |
'kluns', | |
'klust', | |
'kluts', | |
'kluun', | |
'kluut', | |
'knaag', | |
'knaak', | |
'knaap', | |
'knakt', | |
'knalt', | |
'knapt', | |
'knarp', | |
'knars', | |
'knauw', | |
'kneed', | |
'kneep', | |
'knelt', | |
'kneus', | |
'kniel', | |
'knier', | |
'knies', | |
'knijp', | |
'knikt', | |
'knipt', | |
'knoei', | |
'knoet', | |
'knokt', | |
'knook', | |
'knoop', | |
'knopt', | |
'knorf', | |
'knort', | |
'knots', | |
'knust', | |
'koala', | |
'kobbe', | |
'kocht', | |
'kodak', | |
'kodde', | |
'koekt', | |
'koele', | |
'koelt', | |
'koene', | |
'koers', | |
'koert', | |
'koest', | |
'koets', | |
'kogel', | |
'kogen', | |
'kogge', | |
'koine', | |
'koken', | |
'koker', | |
'koket', | |
'kokos', | |
'kolde', | |
'kolen', | |
'kolft', | |
'kolkt', | |
'kolom', | |
'kolos', | |
'komaf', | |
'komen', | |
'komma', | |
'komst', | |
'konen', | |
'kooit', | |
'kookt', | |
'koopt', | |
'koord', | |
'koost', | |
'kopal', | |
'kopen', | |
'koper', | |
'kopie', | |
'kopij', | |
'kopje', | |
'kopra', | |
'kopse', | |
'kopte', | |
'koran', | |
'korde', | |
'koren', | |
'korft', | |
'korps', | |
'korre', | |
'korst', | |
'korte', | |
'koste', | |
'koten', | |
'koter', | |
'kotje', | |
'kotst', | |
'koude', | |
'kouds', | |
'kouwe', | |
'kovel', | |
'koven', | |
'kozak', | |
'kozen', | |
'kraag', | |
'kraai', | |
'kraak', | |
'kraal', | |
'kraam', | |
'kraan', | |
'krabt', | |
'krach', | |
'krakt', | |
'kramp', | |
'kramt', | |
'krank', | |
'krans', | |
'krant', | |
'krapa', | |
'krast', | |
'krats', | |
'krauw', | |
'kreeg', | |
'kreek', | |
'krees', | |
'kreet', | |
'kreng', | |
'krent', | |
'krept', | |
'kreuk', | |
'kreun', | |
'kribt', | |
'kriek', | |
'kriel', | |
'krijg', | |
'krijn', | |
'krijs', | |
'krijt', | |
'krikt', | |
'krill', | |
'krimi', | |
'krimp', | |
'kring', | |
'krist', | |
'kroeg', | |
'kroel', | |
'kroep', | |
'kroes', | |
'krols', | |
'krolt', | |
'kromp', | |
'kromt', | |
'krook', | |
'kroon', | |
'kroop', | |
'kroos', | |
'kroot', | |
'kropt', | |
'kruch', | |
'kruid', | |
'kruif', | |
'kruik', | |
'kruim', | |
'kruin', | |
'kruip', | |
'kruis', | |
'kruit', | |
'krukt', | |
'krult', | |
'kubbe', | |
'kubus', | |
'kucht', | |
'kudde', | |
'kuier', | |
'kuift', | |
'kuilt', | |
'kuipt', | |
'kuise', | |
'kuist', | |
'kulas', | |
'kulde', | |
'kunde', | |
'kunne', | |
'kunst', | |
'kuras', | |
'kuren', | |
'kurkt', | |
'kusje', | |
'kuste', | |
'kutje', | |
'kuurt', | |
'kwaad', | |
'kwaak', | |
'kwaal', | |
'kwade', | |
'kwakt', | |
'kwant', | |
'kwark', | |
'kwart', | |
'kwast', | |
'kwats', | |
'kweek', | |
'kweel', | |
'kween', | |
'kweet', | |
'kwekt', | |
'kwelm', | |
'kwelt', | |
'kwets', | |
'kwiek', | |
'kwijl', | |
'kwijn', | |
'kwijt', | |
'kwint', | |
'kwips', | |
'kwist', | |
'laadt', | |
'laaft', | |
'laaie', | |
'laait', | |
'laakt', | |
'laars', | |
'laats', | |
'label', | |
'lacht', | |
'laden', | |
'lader', | |
'lades', | |
'laffe', | |
'lafst', | |
'lagen', | |
'lager', | |
'lakei', | |
'laken', | |
'lakse', | |
'lakst', | |
'lakte', | |
'lalde', | |
'lamel', | |
'lamet', | |
'lamme', | |
'lamst', | |
'lande', | |
'lands', | |
'landt', | |
'lanen', | |
'lange', | |
'langs', | |
'langt', | |
'lapel', | |
'lapis', | |
'lapje', | |
'lapte', | |
'laren', | |
'large', | |
'largo', | |
'larie', | |
'larve', | |
'laser', | |
'lasso', | |
'laste', | |
'latei', | |
'laten', | |
'later', | |
'latex', | |
'latin', | |
'latje', | |
'latte', | |
'latuw', | |
'laude', | |
'lauwe', | |
'lavas', | |
'laven', | |
'lavet', | |
'lazen', | |
'lazer', | |
'lease', | |
'lebbe', | |
'leden', | |
'leder', | |
'ledig', | |
'leeft', | |
'leegt', | |
'leekt', | |
'leemt', | |
'leent', | |
'leers', | |
'leert', | |
'leest', | |
'leeuw', | |
'legde', | |
'legen', | |
'leger', | |
'leges', | |
'legio', | |
'leidt', | |
'leien', | |
'leken', | |
'lekje', | |
'lekke', | |
'lekst', | |
'lekte', | |
'lelde', | |
'lelie', | |
'lemen', | |
'lemma', | |
'lende', | |
'lenen', | |
'lener', | |
'lengt', | |
'lenig', | |
'lenst', | |
'lente', | |
'lento', | |
'lenze', | |
'lepel', | |
'leper', | |
'lepra', | |
'lepte', | |
'leren', | |
'lesbo', | |
'lesje', | |
'leste', | |
'lette', | |
'leuke', | |
'leuks', | |
'leunt', | |
'leurt', | |
'leute', | |
'leuze', | |
'level', | |
'leven', | |
'lever', | |
'lezen', | |
'lezer', | |
'liaan', | |
'liane', | |
'libel', | |
'licet', | |
'licht', | |
'lidje', | |
'liefs', | |
'liegt', | |
'lieve', | |
'lijdt', | |
'lijft', | |
'lijkt', | |
'lijmt', | |
'lijnt', | |
'lijpe', | |
'lijst', | |
'lijve', | |
'liken', | |
'likes', | |
'likje', | |
'likte', | |
'lilde', | |
'liman', | |
'limbo', | |
'limes', | |
'limit', | |
'linde', | |
'linea', | |
'linie', | |
'linke', | |
'links', | |
'linkt', | |
'linze', | |
'lipje', | |
'lipte', | |
'lires', | |
'lispt', | |
'liter', | |
'litho', | |
'lives', | |
'lobby', | |
'lobje', | |
'locus', | |
'loden', | |
'loeft', | |
'loeit', | |
'loens', | |
'loert', | |
'lofts', | |
'logde', | |
'logee', | |
'logen', | |
'loges', | |
'logge', | |
'login', | |
'logos', | |
'logst', | |
'loipe', | |
'loken', | |
'loket', | |
'lokte', | |
'lokus', | |
'lolde', | |
'lolly', | |
'lomer', | |
'lomig', | |
'lompe', | |
'lonen', | |
'lonkt', | |
'loods', | |
'loodt', | |
'looft', | |
'loogt', | |
'looit', | |
'looms', | |
'loont', | |
'loops', | |
'loopt', | |
'loost', | |
'lopen', | |
'loper', | |
'lorde', | |
'lords', | |
'lorre', | |
'lorum', | |
'loser', | |
'losse', | |
'loste', | |
'loten', | |
'lotje', | |
'lotto', | |
'lotus', | |
'loven', | |
'lover', | |
'lozen', | |
'lozer', | |
'lubde', | |
'lucht', | |
'lucky', | |
'luide', | |
'luidt', | |
'luien', | |
'luier', | |
'luikt', | |
'luimt', | |
'luist', | |
'lukte', | |
'lulde', | |
'lullo', | |
'lumen', | |
'lumme', | |
'lunch', | |
'lunet', | |
'lunst', | |
'lupus', | |
'luren', | |
'lurex', | |
'lurkt', | |
'lusje', | |
'lutje', | |
'luwde', | |
'luwen', | |
'luwer', | |
'luwst', | |
'luwte', | |
'luxer', | |
'luxes', | |
'lycea', | |
'lycra', | |
'lymfe', | |
'lynch', | |
'lysis', | |
'lysol', | |
'maagd', | |
'maait', | |
'maakt', | |
'maalt', | |
'maand', | |
'maant', | |
'maart', | |
'maast', | |
'maats', | |
'macha', | |
'macho', | |
'macht', | |
'macro', | |
'madam', | |
'maden', | |
'mades', | |
'maffe', | |
'mafje', | |
'mafst', | |
'mafte', | |
'magen', | |
'mager', | |
'maggi', | |
'magie', | |
'magma', | |
'magot', | |
'mails', | |
'mailt', | |
'majem', | |
'major', | |
'makam', | |
'makel', | |
'maken', | |
'maker', | |
'makke', | |
'makst', | |
'malde', | |
'malen', | |
'maler', | |
'malie', | |
'malle', | |
'malls', | |
'malse', | |
'malst', | |
'malta', | |
'malus', | |
'malve', | |
'mamba', | |
'mambo', | |
'mamma', | |
'manco', | |
'mande', | |
'manen', | |
'maner', | |
'manga', | |
'mango', | |
'manie', | |
'manke', | |
'mankt', | |
'manna', | |
'manou', | |
'manse', | |
'manta', | |
'mapje', | |
'marde', | |
'maren', | |
'marge', | |
'markt', | |
'marlt', | |
'marot', | |
'maske', | |
'massa', | |
'masse', | |
'match', | |
'maten', | |
'mater', | |
'mates', | |
'matig', | |
'matje', | |
'matse', | |
'matst', | |
'matte', | |
'mauve', | |
'mauwt', | |
'maxim', | |
'mayor', | |
'mazel', | |
'mazen', | |
'meden', | |
'media', | |
'medio', | |
'medoc', | |
'meeat', | |
'meega', | |
'meelt', | |
'meent', | |
'meers', | |
'meert', | |
'meest', | |
'meeuw', | |
'meien', | |
'meier', | |
'mekka', | |
'mekte', | |
'melde', | |
'meldt', | |
'melen', | |
'melig', | |
'melis', | |
'melkt', | |
'meluw', | |
'memel', | |
'mende', | |
'menen', | |
'mengt', | |
'menie', | |
'menig', | |
'mensa', | |
'mepte', | |
'merci', | |
'merel', | |
'meren', | |
'merkt', | |
'mesje', | |
'meson', | |
'metal', | |
'meten', | |
'meter', | |
'metra', | |
'metro', | |
'metst', | |
'meukt', | |
'meurt', | |
'meute', | |
'mezen', | |
'mezzo', | |
'miauw', | |
'micro', | |
'miept', | |
'miert', | |
'miese', | |
'mijdt', | |
'mijne', | |
'mijns', | |
'mijnt', | |
'mikte', | |
'mikwa', | |
'mikwe', | |
'milde', | |
'mille', | |
'mimen', | |
'mimer', | |
'mimes', | |
'minde', | |
'mines', | |
'minks', | |
'minne', | |
'minor', | |
'minst', | |
'minus', | |
'mirre', | |
'mirte', | |
'misga', | |
'misse', | |
'miste', | |
'mitra', | |
'mitst', | |
'mixed', | |
'mixen', | |
'mixer', | |
'mixte', | |
'mocht', | |
'mocro', | |
'model', | |
'modem', | |
'modes', | |
'modus', | |
'moede', | |
'moeit', | |
'moeke', | |
'moert', | |
'moest', | |
'mofje', | |
'mogen', | |
'mogol', | |
'moker', | |
'mokka', | |
'mokte', | |
'molde', | |
'molen', | |
'molik', | |
'molmt', | |
'momde', | |
'monde', | |
'mondt', | |
'money', | |
'moogt', | |
'mooie', | |
'moois', | |
'moord', | |
'mopje', | |
'morde', | |
'morel', | |
'moren', | |
'mores', | |
'morse', | |
'morst', | |
'motel', | |
'moten', | |
'motet', | |
'motie', | |
'motje', | |
'motor', | |
'motse', | |
'motst', | |
'motte', | |
'motto', | |
'mount', | |
'moven', | |
'moves', | |
'movet', | |
'mudde', | |
'muffe', | |
'mufst', | |
'mufte', | |
'mugje', | |
'muien', | |
'muikt', | |
'muist', | |
'muite', | |
'mulat', | |
'mulch', | |
'mulle', | |
'mulst', | |
'mungo', | |
'muren', | |
'murwe', | |
'murwt', | |
'musea', | |
'music', | |
'musje', | |
'musts', | |
'muzak', | |
'muzen', | |
'mythe', | |
'naait', | |
'naakt', | |
'naald', | |
'naars', | |
'naast', | |
'nabij', | |
'nabob', | |
'nacho', | |
'nacht', | |
'nadar', | |
'nadat', | |
'naden', | |
'nader', | |
'nadir', | |
'nadoe', | |
'nafta', | |
'nagaf', | |
'nagel', | |
'naken', | |
'nakie', | |
'nakom', | |
'nalas', | |
'namat', | |
'namen', | |
'nanny', | |
'naoog', | |
'napje', | |
'nappa', | |
'narde', | |
'nasla', | |
'naste', | |
'natel', | |
'natie', | |
'natje', | |
'natst', | |
'natte', | |
'nauwe', | |
'navel', | |
'naven', | |
'nawee', | |
'nazag', | |
'nazat', | |
'nazeg', | |
'nazei', | |
'nazet', | |
'nazie', | |
'nazin', | |
'nazit', | |
'nebbe', | |
'nebje', | |
'necro', | |
'neder', | |
'neemt', | |
'negen', | |
'neger', | |
'negge', | |
'negus', | |
'neigt', | |
'nekje', | |
'nekte', | |
'nemen', | |
'nemer', | |
'nepen', | |
'neppe', | |
'nepte', | |
'nerds', | |
'neren', | |
'nerts', | |
'nesse', | |
'netel', | |
'neten', | |
'netje', | |
'netst', | |
'nette', | |
'netto', | |
'neukt', | |
'neust', | |
'nevel', | |
'neven', | |
'nexus', | |
'niche', | |
'nicht', | |
'niest', | |
'niets', | |
'nieuw', | |
'nihil', | |
'nijgt', | |
'nijpt', | |
'nikab', | |
'nikte', | |
'nimby', | |
'ninja', | |
'nipje', | |
'nipte', | |
'nisje', | |
'nixen', | |
'nobel', | |
'noden', | |
'nodig', | |
'noemt', | |
'noest', | |
'nogal', | |
'noirs', | |
'nokte', | |
'nolle', | |
'nomen', | |
'nonen', | |
'nonet', | |
'nonna', | |
'noodt', | |
'nooit', | |
'noopt', | |
'noord', | |
'nopen', | |
'nopte', | |
'noren', | |
'noria', | |
'norse', | |
'norst', | |
'noten', | |
'notie', | |
'novae', | |
'novum', | |
'nozem', | |
'nufje', | |
'nuken', | |
'nulde', | |
'nurks', | |
'nurse', | |
'nutst', | |
'nutte', | |
'nylon', | |
'oasen', | |
'oases', | |
'oasis', | |
'obees', | |
'obers', | |
'obese', | |
'oblie', | |
'obool', | |
'octet', | |
'oculi', | |
'odeur', | |
'odium', | |
'oefen', | |
'oehoe', | |
'oempa', | |
'oenen', | |
'oenig', | |
'oeros', | |
'oever', | |
'offer', | |
'ofwel', | |
'ogend', | |
'ogief', | |
'ohade', | |
'ohmse', | |
'ojief', | |
'okapi', | |
'oksel', | |
'olies', | |
'oliet', | |
'olijf', | |
'olijk', | |
'olmen', | |
'omarm', | |
'omber', | |
'omdat', | |
'omdoe', | |
'omduw', | |
'omega', | |
'omgaf', | |
'omhak', | |
'omhul', | |
'omina', | |
'omkat', | |
'omkom', | |
'omleg', | |
'omrij', | |
'omrit', | |
'omrol', | |
'omsla', | |
'omsta', | |
'omval', | |
'omvat', | |
'omver', | |
'omwal', | |
'omwas', | |
'omweg', | |
'omwip', | |
'omzag', | |
'omzeg', | |
'omzei', | |
'omzet', | |
'omzie', | |
'omzit', | |
'onder', | |
'oneer', | |
'onera', | |
'ongel', | |
'onkel', | |
'onmin', | |
'onnet', | |
'onnut', | |
'onpas', | |
'onsen', | |
'onsje', | |
'ontga', | |
'ontij', | |
'onwel', | |
'onwil', | |
'onwis', | |
'onzen', | |
'onzer', | |
'onzes', | |
'onzin', | |
'oogde', | |
'oogje', | |
'oogst', | |
'ooien', | |
'ootje', | |
'opaak', | |
'opaal', | |
'opake', | |
'opart', | |
'opbak', | |
'opbel', | |
'opbod', | |
'opdat', | |
'opdis', | |
'opdoe', | |
'opdof', | |
'opduw', | |
'opeen', | |
'opeet', | |
'opeis', | |
'opens', | |
'opent', | |
'opera', | |
'opfok', | |
'opgaf', | |
'ophad', | |
'opheb', | |
'ophef', | |
'opium', | |
'opjut', | |
'opkam', | |
'opkan', | |
'opkap', | |
'opkom', | |
'oplap', | |
'oplas', | |
'opleg', | |
'oplet', | |
'oplos', | |
'opmat', | |
'opnam', | |
'opoes', | |
'oppak', | |
'oppas', | |
'opper', | |
'oppik', | |
'oppor', | |
'oppot', | |
'oprek', | |
'oprij', | |
'opril', | |
'oprit', | |
'oprol', | |
'oprot', | |
'oprui', | |
'opruk', | |
'opsla', | |
'opsom', | |
'opsta', | |
'optas', | |
'optel', | |
'optie', | |
'optil', | |
'opval', | |
'opvat', | |
'opvis', | |
'opvul', | |
'opwas', | |
'opwek', | |
'opwel', | |
'opzag', | |
'opzak', | |
'opzat', | |
'opzeg', | |
'opzei', | |
'opzet', | |
'opzie', | |
'opzij', | |
'opzit', | |
'oraal', | |
'orale', | |
'orden', | |
'order', | |
'ordes', | |
'oreer', | |
'orgel', | |
'orgie', | |
'oribi', | |
'ossen', | |
'otium', | |
'otter', | |
'ouden', | |
'ouder', | |
'oudje', | |
'oudst', | |
'ounce', | |
'ouwel', | |
'ovaal', | |
'ovale', | |
'ovens', | |
'overs', | |
'oxers', | |
'oxide', | |
'paait', | |
'paalt', | |
'paaps', | |
'paard', | |
'paars', | |
'paart', | |
'pacen', | |
'pacet', | |
'pacht', | |
'packs', | |
'paddo', | |
'paddy', | |
'paden', | |
'padie', | |
'padje', | |
'paffe', | |
'pafte', | |
'pager', | |
'pages', | |
'pairs', | |
'pakje', | |
'pakte', | |
'palen', | |
'palet', | |
'palmt', | |
'palts', | |
'pampa', | |
'panda', | |
'pandt', | |
'panel', | |
'panen', | |
'pangi', | |
'pangs', | |
'panna', | |
'panne', | |
'panty', | |
'papen', | |
'paper', | |
'papil', | |
'papje', | |
'pappa', | |
'papte', | |
'parel', | |
'paren', | |
'pareo', | |
'paret', | |
'paria', | |
'parka', | |
'parse', | |
'party', | |
'parwa', | |
'pasar', | |
'pasja', | |
'pasje', | |
'passe', | |
'passt', | |
'pasta', | |
'paste', | |
'patat', | |
'patch', | |
'pater', | |
'patio', | |
'patst', | |
'paukt', | |
'pauze', | |
'pedel', | |
'pedis', | |
'peelt', | |
'peest', | |
'pegel', | |
'peies', | |
'peilt', | |
'peins', | |
'pekel', | |
'pekte', | |
'pelde', | |
'pelen', | |
'peluw', | |
'pence', | |
'pende', | |
'penen', | |
'penis', | |
'penny', | |
'peper', | |
'pepte', | |
'peren', | |
'perkt', | |
'perse', | |
'perst', | |
'pesto', | |
'peten', | |
'peter', | |
'petit', | |
'petje', | |
'petto', | |
'peurt', | |
'pezen', | |
'pezig', | |
'piais', | |
'piano', | |
'piece', | |
'piekt', | |
'piepa', | |
'piept', | |
'piert', | |
'piest', | |
'pijen', | |
'pijne', | |
'pijnt', | |
'pijpt', | |
'piket', | |
'pikje', | |
'pikol', | |
'pikte', | |
'pilav', | |
'pilde', | |
'pilot', | |
'pinas', | |
'pinda', | |
'pinde', | |
'pingo', | |
'pinkt', | |
'pioen', | |
'pions', | |
'pipet', | |
'pipse', | |
'pipst', | |
'piste', | |
'pitch', | |
'pitje', | |
'pitst', | |
'pitte', | |
'pixel', | |
'pizza', | |
'plaag', | |
'plaat', | |
'plagt', | |
'plaid', | |
'plakt', | |
'plane', | |
'plank', | |
'plano', | |
'plans', | |
'plant', | |
'plast', | |
'plats', | |
'plebs', | |
'pleeg', | |
'plees', | |
'pleet', | |
'plein', | |
'pleit', | |
'plekt', | |
'plemp', | |
'pleng', | |
'plens', | |
'plets', | |
'pleur', | |
'plint', | |
'ploeg', | |
'ploft', | |
'plomp', | |
'plons', | |
'plooi', | |
'ploos', | |
'ploot', | |
'plots', | |
'plugt', | |
'pluim', | |
'pluis', | |
'plukt', | |
'plume', | |
'plurk', | |
'pluut', | |
'pocht', | |
'pocus', | |
'podia', | |
'poefs', | |
'poeha', | |
'poema', | |
'poept', | |
'poert', | |
'poets', | |
'pofte', | |
'pogen', | |
'poger', | |
'poken', | |
'poker', | |
'pokte', | |
'polak', | |
'polen', | |
'polio', | |
'polis', | |
'polka', | |
'polls', | |
'polst', | |
'pompt', | |
'ponem', | |
'ponen', | |
'ponst', | |
'poogt', | |
'pooit', | |
'pookt', | |
'pools', | |
'poort', | |
'poost', | |
'popel', | |
'popen', | |
'popes', | |
'popje', | |
'poppy', | |
'porde', | |
'porem', | |
'porie', | |
'porno', | |
'porti', | |
'porto', | |
'posen', | |
'poses', | |
'poste', | |
'potas', | |
'poten', | |
'poter', | |
'potig', | |
'potje', | |
'potte', | |
'poule', | |
'pover', | |
'power', | |
'pozen', | |
'praai', | |
'praal', | |
'praam', | |
'praat', | |
'prach', | |
'prakt', | |
'prang', | |
'prauw', | |
'preek', | |
'prees', | |
'prefs', | |
'prent', | |
'prest', | |
'priel', | |
'priem', | |
'prijk', | |
'prijs', | |
'prikt', | |
'prima', | |
'prime', | |
'primo', | |
'prins', | |
'print', | |
'prion', | |
'prior', | |
'proef', | |
'profs', | |
'promo', | |
'pronk', | |
'pront', | |
'prooi', | |
'propt', | |
'prots', | |
'prove', | |
'provo', | |
'proxy', | |
'proza', | |
'pruik', | |
'pruil', | |
'pruim', | |
'prune', | |
'pruts', | |
'psalm', | |
'psych', | |
'puber', | |
'pubis', | |
'pucks', | |
'pufte', | |
'puien', | |
'puike', | |
'puilt', | |
'puimt', | |
'puist', | |
'pukje', | |
'pulkt', | |
'pulls', | |
'pulst', | |
'pumps', | |
'punch', | |
'punks', | |
'punky', | |
'pupil', | |
'puppy', | |
'puree', | |
'puren', | |
'pusht', | |
'puste', | |
'putje', | |
'putse', | |
'putst', | |
'putte', | |
'putti', | |
'putto', | |
'putts', | |
'puurs', | |
'puurt', | |
'pylon', | |
'pyrex', | |
'quads', | |
'quant', | |
'quark', | |
'quasi', | |
'qubit', | |
'query', | |
'queue', | |
'quilt', | |
'quizt', | |
'quoot', | |
'quorn', | |
'quota', | |
'quote', | |
'raadt', | |
'raagt', | |
'raait', | |
'raakt', | |
'raamt', | |
'raapt', | |
'raars', | |
'raast', | |
'rabat', | |
'rabbi', | |
'racen', | |
'racer', | |
'races', | |
'racet', | |
'radar', | |
'radde', | |
'raden', | |
'rader', | |
'radii', | |
'radio', | |
'radix', | |
'radja', | |
'radje', | |
'radon', | |
'radst', | |
'rafel', | |
'ragde', | |
'ragen', | |
'rages', | |
'raids', | |
'rails', | |
'rakel', | |
'raken', | |
'raker', | |
'raket', | |
'rakia', | |
'rally', | |
'rambo', | |
'ramde', | |
'ramee', | |
'ramen', | |
'rames', | |
'ramin', | |
'ramsj', | |
'rance', | |
'ranch', | |
'randt', | |
'range', | |
'ranja', | |
'ranke', | |
'rankt', | |
'ranse', | |
'ranst', | |
'ranze', | |
'rapen', | |
'rappe', | |
'rapst', | |
'rapte', | |
'rarae', | |
'raspt', | |
'rasse', | |
'rasta', | |
'ratel', | |
'raten', | |
'ratio', | |
'ratje', | |
'ratst', | |
'ratte', | |
'rauwe', | |
'raven', | |
'ravot', | |
'rayon', | |
'razen', | |
'reaal', | |
'reach', | |
'ready', | |
'realo', | |
'rebbe', | |
'rebel', | |
'rebus', | |
'reces', | |
'recht', | |
'recta', | |
'recto', | |
'recul', | |
'redde', | |
'reden', | |
'reder', | |
'redes', | |
'redox', | |
'reeds', | |
'reedt', | |
'reeft', | |
'reeks', | |
'reent', | |
'reept', | |
'reeuw', | |
'regde', | |
'regel', | |
'regen', | |
'regie', | |
'regio', | |
'reide', | |
'reien', | |
'reiki', | |
'reikt', | |
'reilt', | |
'reine', | |
'reins', | |
'reist', | |
'rekel', | |
'reken', | |
'rekje', | |
'rekke', | |
'rekte', | |
'relax', | |
'relde', | |
'relen', | |
'remde', | |
'remix', | |
'remme', | |
'rende', | |
'renen', | |
'renet', | |
'rente', | |
'repel', | |
'repen', | |
'reply', | |
'repro', | |
'repte', | |
'resem', | |
'reset', | |
'reten', | |
'retor', | |
'retro', | |
'reuen', | |
'reuma', | |
'reuze', | |
'reven', | |
'revue', | |
'rezen', | |
'rials', | |
'riant', | |
'ribbe', | |
'ribde', | |
'ribes', | |
'richt', | |
'rider', | |
'riekt', | |
'riemt', | |
'rigor', | |
'rijde', | |
'rijdt', | |
'rijen', | |
'rijer', | |
'rijft', | |
'rijgt', | |
'rijke', | |
'rijks', | |
'rijmt', | |
'rijns', | |
'rijpe', | |
'rijpt', | |
'rijst', | |
'rikte', | |
'rilde', | |
'rille', | |
'rilst', | |
'ringt', | |
'rinks', | |
'rinse', | |
'rinst', | |
'rioja', | |
'riool', | |
'ripte', | |
'risee', | |
'riste', | |
'riten', | |
'rites', | |
'ritje', | |
'ritme', | |
'ritst', | |
'ritte', | |
'ritus', | |
'rivet', | |
'riyal', | |
'robes', | |
'robot', | |
'rocks', | |
'rockt', | |
'rodel', | |
'roden', | |
'rodeo', | |
'roder', | |
'roede', | |
'roeit', | |
'roemt', | |
'roept', | |
'roers', | |
'roert', | |
'roest', | |
'rogge', | |
'rogje', | |
'roken', | |
'roker', | |
'rokje', | |
'rokte', | |
'rolde', | |
'roman', | |
'romen', | |
'romer', | |
'romig', | |
'ronde', | |
'rondo', | |
'rondt', | |
'ronin', | |
'ronkt', | |
'roods', | |
'rooft', | |
'rooie', | |
'rooit', | |
'rookt', | |
'rooms', | |
'roomt', | |
'roost', | |
'roots', | |
'ropij', | |
'ropte', | |
'rosse', | |
'roste', | |
'rotan', | |
'roten', | |
'rotje', | |
'rotor', | |
'rotst', | |
'rotte', | |
'rouge', | |
'route', | |
'rouwe', | |
'rouwt', | |
'rouxs', | |
'roven', | |
'rover', | |
'rowan', | |
'rozen', | |
'rozet', | |
'rozig', | |
'ruche', | |
'rugby', | |
'rugje', | |
'ruide', | |
'ruien', | |
'ruift', | |
'ruige', | |
'ruikt', | |
'ruilt', | |
'ruime', | |
'ruimt', | |
'ruist', | |
'rukte', | |
'rulle', | |
'rulst', | |
'rumba', | |
'runde', | |
'runen', | |
'ruste', | |
'ruwde', | |
'ruwen', | |
'ruwer', | |
'ruwst', | |
'ruwte', | |
'ruzie', | |
'saaie', | |
'saais', | |
'sabel', | |
'sabra', | |
'sacra', | |
'safer', | |
'safes', | |
'sagen', | |
'sajet', | |
'salam', | |
'saldi', | |
'saldo', | |
'salet', | |
'salie', | |
'salmi', | |
'salon', | |
'salsa', | |
'salto', | |
'salut', | |
'salvo', | |
'samba', | |
'sambo', | |
'samen', | |
'saoto', | |
'sapje', | |
'sappe', | |
'sarde', | |
'sarin', | |
'saste', | |
'satan', | |
'sater', | |
'sauna', | |
'saust', | |
'saven', | |
'savet', | |
'saxen', | |
'scala', | |
'scalp', | |
'scans', | |
'scant', | |
'scart', | |
'scene', | |
'schab', | |
'schaf', | |
'schal', | |
'schap', | |
'schar', | |
'schat', | |
'schee', | |
'scheg', | |
'schei', | |
'schel', | |
'schep', | |
'schik', | |
'schil', | |
'schim', | |
'schip', | |
'schob', | |
'schok', | |
'schol', | |
'schop', | |
'schor', | |
'schot', | |
'schro', | |
'schub', | |
'schud', | |
'schul', | |
'schup', | |
'schut', | |
'schuw', | |
'scifi', | |
'scone', | |
'scoop', | |
'scoor', | |
'scope', | |
'score', | |
'scout', | |
'scrip', | |
'scrol', | |
'scrub', | |
'scrum', | |
'scuba', | |
'sealt', | |
'secce', | |
'secco', | |
'sedan', | |
'seder', | |
'sedum', | |
'seint', | |
'seist', | |
'sekse', | |
'sekst', | |
'sekte', | |
'sepia', | |
'sepot', | |
'seraf', | |
'sereh', | |
'serge', | |
'serie', | |
'serre', | |
'serum', | |
'serve', | |
'servo', | |
'sesam', | |
'setje', | |
'sfeer', | |
'sfinx', | |
'shake', | |
'shaky', | |
'shawl', | |
'sheet', | |
'shell', | |
'shift', | |
'shirt', | |
'shock', | |
'shogi', | |
'shops', | |
'shopt', | |
'short', | |
'shots', | |
'shows', | |
'showt', | |
'showy', | |
'shoyu', | |
'shunt', | |
'sibbe', | |
'sicav', | |
'siena', | |
'siert', | |
'sifon', | |
'sigma', | |
'signa', | |
'sikhs', | |
'sikje', | |
'silex', | |
'simde', | |
'sinas', | |
'sinds', | |
'sinjo', | |
'sinus', | |
'sippe', | |
'sipst', | |
'sirih', | |
'sisal', | |
'sissy', | |
'siste', | |
'sitar', | |
'sites', | |
'sjaak', | |
'sjaal', | |
'sjahs', | |
'sjako', | |
'sjans', | |
'sjapt', | |
'sjees', | |
'sjeik', | |
'sjerp', | |
'sjiek', | |
'sjilp', | |
'sjirk', | |
'sjirp', | |
'sjoel', | |
'sjokt', | |
'sjort', | |
'sjouw', | |
'sjwas', | |
'skaat', | |
'skald', | |
'skate', | |
'skeet', | |
'skiet', | |
'skiff', | |
'skimt', | |
'skins', | |
'skunk', | |
'slaaf', | |
'slaag', | |
'slaak', | |
'slaan', | |
'slaap', | |
'slaat', | |
'slams', | |
'slang', | |
'slank', | |
'slapt', | |
'slash', | |
'slede', | |
'sleed', | |
'sleep', | |
'sleet', | |
'slemp', | |
'slenk', | |
'sleuf', | |
'sleur', | |
'slibt', | |
'slice', | |
'slick', | |
'sliep', | |
'slier', | |
'sliet', | |
'slijk', | |
'slijm', | |
'slijp', | |
'slijt', | |
'slikt', | |
'slims', | |
'slink', | |
'slips', | |
'slipt', | |
'slist', | |
'sloef', | |
'sloeg', | |
'sloep', | |
'sloft', | |
'slokt', | |
'slome', | |
'slomp', | |
'slonk', | |
'slons', | |
'sloof', | |
'slooi', | |
'slook', | |
'sloom', | |
'sloop', | |
'sloor', | |
'sloot', | |
'slorp', | |
'slots', | |
'sluif', | |
'sluik', | |
'sluip', | |
'sluis', | |
'sluit', | |
'slump', | |
'slums', | |
'slurf', | |
'slurp', | |
'sluwe', | |
'smaad', | |
'smaak', | |
'smaal', | |
'smack', | |
'smakt', | |
'small', | |
'smalt', | |
'smart', | |
'smash', | |
'smeed', | |
'smeek', | |
'smeer', | |
'smeet', | |
'smelt', | |
'smeue', | |
'smeul', | |
'smijt', | |
'smith', | |
'smoel', | |
'smoes', | |
'smokt', | |
'smolt', | |
'smook', | |
'smoor', | |
'smots', | |
'smous', | |
'smout', | |
'smukt', | |
'smult', | |
'smurf', | |
'snaai', | |
'snaak', | |
'snaar', | |
'snack', | |
'snakt', | |
'snapt', | |
'snars', | |
'snauw', | |
'snede', | |
'sneed', | |
'sneef', | |
'sneep', | |
'sneer', | |
'snees', | |
'snelt', | |
'snerk', | |
'snerp', | |
'snert', | |
'sneue', | |
'snibt', | |
'snijd', | |
'snikt', | |
'snobs', | |
'snode', | |
'snoef', | |
'snoei', | |
'snoek', | |
'snoep', | |
'snoer', | |
'snoes', | |
'snoet', | |
'snoge', | |
'snokt', | |
'snood', | |
'snoof', | |
'snoot', | |
'snork', | |
'snort', | |
'snuft', | |
'snuif', | |
'snuit', | |
'snurk', | |
'soaps', | |
'sober', | |
'soefi', | |
'soeks', | |
'soeps', | |
'soera', | |
'soesa', | |
'soest', | |
'softe', | |
'softs', | |
'sokje', | |
'solde', | |
'solen', | |
'solex', | |
'somde', | |
'somma', | |
'sonar', | |
'sonde', | |
'songs', | |
'soort', | |
'sopje', | |
'sopte', | |
'sores', | |
'sorry', | |
'sotto', | |
'sound', | |
'sozen', | |
'spaad', | |
'spaak', | |
'spaan', | |
'spaar', | |
'spaat', | |
'spade', | |
'spahi', | |
'spalk', | |
'spang', | |
'spant', | |
'spast', | |
'spats', | |
'speed', | |
'speek', | |
'speel', | |
'speen', | |
'speer', | |
'speet', | |
'spekt', | |
'speld', | |
'spelt', | |
'spert', | |
'speur', | |
'spied', | |
'spiek', | |
'spier', | |
'spies', | |
'spijk', | |
'spijl', | |
'spijs', | |
'spijt', | |
'spike', | |
'spilt', | |
'spina', | |
'spins', | |
'spint', | |
'spion', | |
'spits', | |
'split', | |
'spoed', | |
'spoel', | |
'spong', | |
'spons', | |
'spoog', | |
'spook', | |
'spoor', | |
'spoot', | |
'spore', | |
'sport', | |
'spots', | |
'spouw', | |
'sprak', | |
'spray', | |
'sprei', | |
'sprik', | |
'sprot', | |
'spruw', | |
'spuit', | |
'spurt', | |
'spuug', | |
'spuwt', | |
'squaw', | |
'staaf', | |
'staag', | |
'staak', | |
'staal', | |
'staan', | |
'staar', | |
'staat', | |
'stade', | |
'stads', | |
'stage', | |
'stalk', | |
'stalt', | |
'stamp', | |
'stamt', | |
'stand', | |
'stang', | |
'stank', | |
'stans', | |
'stapt', | |
'stars', | |
'start', | |
'state', | |
'statu', | |
'steak', | |
'stede', | |
'steef', | |
'steeg', | |
'steek', | |
'steel', | |
'steen', | |
'stege', | |
'steil', | |
'stekt', | |
'stele', | |
'stelp', | |
'stelt', | |
'stemt', | |
'steng', | |
'steno', | |
'stens', | |
'stent', | |
'steps', | |
'stept', | |
'sterf', | |
'sterk', | |
'stern', | |
'steun', | |
'steur', | |
'stick', | |
'stiel', | |
'stier', | |
'stiet', | |
'stift', | |
'stijf', | |
'stijg', | |
'stijl', | |
'stikt', | |
'stilt', | |
'stink', | |
'stins', | |
'stint', | |
'stipt', | |
'stock', | |
'stoei', | |
'stoel', | |
'stoep', | |
'stoer', | |
'stoet', | |
'stoft', | |
'stokt', | |
'stola', | |
'stolp', | |
'stolt', | |
'stoma', | |
'stomp', | |
'stoms', | |
'stond', | |
'stonk', | |
'stoof', | |
'stook', | |
'stool', | |
'stoom', | |
'stoop', | |
'stoor', | |
'stoot', | |
'stops', | |
'stopt', | |
'store', | |
'storm', | |
'stort', | |
'story', | |
'stout', | |
'stouw', | |
'straf', | |
'strak', | |
'stram', | |
'stras', | |
'strek', | |
'strem', | |
'stres', | |
'strik', | |
'strip', | |
'strop', | |
'stros', | |
'strot', | |
'study', | |
'stuff', | |
'stuft', | |
'stuif', | |
'stuik', | |
'stuip', | |
'stuit', | |
'stuks', | |
'stulp', | |
'stunt', | |
'stuur', | |
'stuwt', | |
'style', | |
'stylo', | |
'suave', | |
'suffe', | |
'sufst', | |
'sufte', | |
'suilt', | |
'suist', | |
'suite', | |
'sujet', | |
'sulde', | |
'sulky', | |
'sumak', | |
'summa', | |
'super', | |
'surah', | |
'surft', | |
'sushi', | |
'suste', | |
'swami', | |
'swaps', | |
'swing', | |
'swipi', | |
'sylfe', | |
'syrah', | |
'taaie', | |
'taakt', | |
'taalt', | |
'taant', | |
'taart', | |
'taats', | |
'tabak', | |
'tabee', | |
'tabel', | |
'tabla', | |
'taboe', | |
'tafel', | |
'tafia', | |
'tahin', | |
'tahoe', | |
'taiga', | |
'takel', | |
'taken', | |
'takje', | |
'takte', | |
'talen', | |
'talib', | |
'talie', | |
'talig', | |
'talmt', | |
'talon', | |
'talud', | |
'tamme', | |
'tampt', | |
'tamst', | |
'tandt', | |
'tanen', | |
'tanga', | |
'tange', | |
'tango', | |
'tanig', | |
'tanks', | |
'tankt', | |
'tante', | |
'tapas', | |
'tapen', | |
'tapes', | |
'tapet', | |
'tapir', | |
'tapse', | |
'tapte', | |
'tarde', | |
'tarnt', | |
'tarok', | |
'tarot', | |
'tarra', | |
'tarwe', | |
'taser', | |
'tasje', | |
'taste', | |
'tater', | |
'taupe', | |
'taxol', | |
'taxon', | |
'taxus', | |
'teams', | |
'teddy', | |
'teder', | |
'teelt', | |
'teems', | |
'teemt', | |
'teers', | |
'teert', | |
'teeuw', | |
'tegel', | |
'tegen', | |
'teint', | |
'teken', | |
'tekst', | |
'telco', | |
'telde', | |
'telen', | |
'teler', | |
'telex', | |
'teloh', | |
'temde', | |
'temen', | |
'temer', | |
'temet', | |
'tempo', | |
'tenen', | |
'tenge', | |
'tenor', | |
'tenue', | |
'tepel', | |
'teren', | |
'tergt', | |
'terig', | |
'terne', | |
'terra', | |
'terts', | |
'terug', | |
'tesla', | |
'tests', | |
'tetra', | |
'tetse', | |
'tetst', | |
'teute', | |
'teven', | |
'tezen', | |
'thans', | |
'thees', | |
'theet', | |
'thema', | |
'these', | |
'thuis', | |
'thuja', | |
'thyrs', | |
'tiaar', | |
'tiara', | |
'tibbe', | |
'ticje', | |
'tiend', | |
'tiens', | |
'tiert', | |
'tijde', | |
'tijds', | |
'tijen', | |
'tijgt', | |
'tikje', | |
'tikte', | |
'tilde', | |
'timen', | |
'timer', | |
'timet', | |
'tinas', | |
'tinkt', | |
'tinne', | |
'tinto', | |
'tipje', | |
'tipse', | |
'tipsy', | |
'tipte', | |
'tiran', | |
'tiras', | |
'titan', | |
'titel', | |
'titer', | |
'tjalk', | |
'tjerk', | |
'tjilp', | |
'tjirp', | |
'tjokt', | |
'toast', | |
'tobbe', | |
'tobde', | |
'tocht', | |
'toddy', | |
'toean', | |
'toeft', | |
'toega', | |
'toert', | |
'toets', | |
'toffe', | |
'tofoe', | |
'tofst', | |
'togen', | |
'toges', | |
'token', | |
'tokte', | |
'tolde', | |
'tolkt', | |
'tombe', | |
'tomen', | |
'tommy', | |
'tonde', | |
'tonen', | |
'toner', | |
'tonic', | |
'tonus', | |
'tooit', | |
'tools', | |
'toomt', | |
'toont', | |
'toorn', | |
'toost', | |
'topas', | |
'topic', | |
'topje', | |
'topoi', | |
'topos', | |
'topse', | |
'topte', | |
'toque', | |
'toren', | |
'tornt', | |
'toros', | |
'torso', | |
'torst', | |
'torus', | |
'toste', | |
'tosti', | |
'totem', | |
'toten', | |
'totok', | |
'touch', | |
'tours', | |
'tourt', | |
'touwt', | |
'tover', | |
'traaf', | |
'traag', | |
'traan', | |
'track', | |
'tract', | |
'trafo', | |
'trage', | |
'train', | |
'tramp', | |
'trams', | |
'tramt', | |
'trans', | |
'trant', | |
'trapt', | |
'trash', | |
'trast', | |
'trays', | |
'trede', | |
'treed', | |
'treef', | |
'treek', | |
'treem', | |
'trees', | |
'treft', | |
'treil', | |
'trein', | |
'trekt', | |
'trema', | |
'trend', | |
'trens', | |
'treur', | |
'trial', | |
'trias', | |
'trick', | |
'trien', | |
'triep', | |
'trijp', | |
'trijs', | |
'trike', | |
'trilt', | |
'trimt', | |
'trips', | |
'tript', | |
'trits', | |
'troef', | |
'troel', | |
'troep', | |
'tromp', | |
'tromt', | |
'tronk', | |
'troon', | |
'troop', | |
'trost', | |
'trots', | |
'trouw', | |
'truck', | |
'trucs', | |
'trust', | |
'tsaar', | |
'tsuba', | |
'tuben', | |
'tubes', | |
'tucht', | |
'tufte', | |
'tuide', | |
'tuien', | |
'tuier', | |
'tuigt', | |
'tuint', | |
'tuist', | |
'tukje', | |
'tukke', | |
'tukst', | |
'tukte', | |
'tulen', | |
'tumor', | |
'tunen', | |
'tuner', | |
'tunes', | |
'turbo', | |
'turen', | |
'turft', | |
'turkt', | |
'turnt', | |
'tuten', | |
'tutje', | |
'tutor', | |
'tutte', | |
'tutti', | |
'tuurt', | |
'tweak', | |
'tweed', | |
'tweet', | |
'twens', | |
'twijg', | |
'twijn', | |
'twint', | |
'twist', | |
'tyfus', | |
'typen', | |
'types', | |
'typte', | |
'uiers', | |
'uiige', | |
'uilen', | |
'uilig', | |
'uitat', | |
'uiten', | |
'uitga', | |
'uitje', | |
'uitte', | |
'uiver', | |
'ukjes', | |
'ukken', | |
'ukkie', | |
'ulaan', | |
'ulcus', | |
'ultra', | |
'unica', | |
'unief', | |
'uniek', | |
'unies', | |
'units', | |
'unzip', | |
'uppen', | |
'upper', | |
'uppie', | |
'uraan', | |
'urban', | |
'ureum', | |
'urine', | |
'urmde', | |
'urmen', | |
'urnen', | |
'uwent', | |
'uzelf', | |
'vaags', | |
'vaagt', | |
'vaalt', | |
'vaars', | |
'vaart', | |
'vaats', | |
'vacht', | |
'vacua', | |
'vadem', | |
'vader', | |
'vagen', | |
'vager', | |
'vaker', | |
'vakje', | |
'valer', | |
'valig', | |
'valse', | |
'valst', | |
'vamen', | |
'vamps', | |
'vanaf', | |
'vanen', | |
'vangt', | |
'vanop', | |
'varen', | |
'varia', | |
'vaste', | |
'vaten', | |
'vatte', | |
'vazal', | |
'vazen', | |
'vecht', | |
'vedel', | |
'veder', | |
'veegt', | |
'veelt', | |
'veert', | |
'veest', | |
'vegen', | |
'veger', | |
'veile', | |
'veils', | |
'veilt', | |
'veine', | |
'veins', | |
'velde', | |
'velen', | |
'veler', | |
'velum', | |
'vemen', | |
'venae', | |
'vendu', | |
'venen', | |
'venig', | |
'vents', | |
'veraf', | |
'veras', | |
'verba', | |
'veren', | |
'verft', | |
'verga', | |
'vergt', | |
'verre', | |
'versa', | |
'verse', | |
'verso', | |
'verst', | |
'verte', | |
'verve', | |
'veste', | |
'veten', | |
'veter', | |
'vetes', | |
'vetst', | |
'vette', | |
'vezel', | |
'vezen', | |
'video', | |
'vides', | |
'viert', | |
'viest', | |
'vieux', | |
'vieve', | |
'views', | |
'vieze', | |
'vijlt', | |
'vijst', | |
'vilde', | |
'villa', | |
'vindt', | |
'vinkt', | |
'vinyl', | |
'viola', | |
'viool', | |
'vipje', | |
'viral', | |
'virus', | |
'visie', | |
'visje', | |
'vista', | |
'viste', | |
'visum', | |
'vitae', | |
'vitse', | |
'vitte', | |
'vivat', | |
'vlaag', | |
'vlaai', | |
'vlaak', | |
'vlade', | |
'vlagt', | |
'vlakt', | |
'vlamt', | |
'vlast', | |
'vlees', | |
'vleet', | |
'vleit', | |
'vlekt', | |
'vlerk', | |
'vleug', | |
'vleze', | |
'vlied', | |
'vlieg', | |
'vliem', | |
'vlier', | |
'vlies', | |
'vliet', | |
'vlijm', | |
'vlijt', | |
'vloed', | |
'vloei', | |
'vloek', | |
'vloer', | |
'vlogs', | |
'vlokt', | |
'vlood', | |
'vloog', | |
'vlooi', | |
'vloot', | |
'vlouw', | |
'vocal', | |
'vocht', | |
'vodde', | |
'vodje', | |
'voedt', | |
'voege', | |
'voegt', | |
'voelt', | |
'voert', | |
'vogel', | |
'voile', | |
'volde', | |
'volgt', | |
'volks', | |
'volle', | |
'volop', | |
'volst', | |
'volta', | |
'volte', | |
'volts', | |
'vonkt', | |
'voogd', | |
'voois', | |
'voord', | |
'voorn', | |
'voort', | |
'voost', | |
'voren', | |
'vorig', | |
'vormt', | |
'vorst', | |
'votum', | |
'voute', | |
'vouwt', | |
'vozen', | |
'vozer', | |
'vraag', | |
'vraat', | |
'vrank', | |
'vrede', | |
'vrees', | |
'vreet', | |
'vreze', | |
'vries', | |
'vrije', | |
'vrijt', | |
'vrind', | |
'vroed', | |
'vroeg', | |
'vroem', | |
'vrome', | |
'vroom', | |
'vroon', | |
'vroor', | |
'vrouw', | |
'vucht', | |
'vuige', | |
'vuile', | |
'vuist', | |
'vulde', | |
'vulgo', | |
'vulva', | |
'vunst', | |
'vunze', | |
'vuren', | |
'vurig', | |
'vutte', | |
'vuurt', | |
'waadt', | |
'waagt', | |
'waait', | |
'waaks', | |
'waakt', | |
'waant', | |
'waard', | |
'waars', | |
'waart', | |
'wacht', | |
'waden', | |
'wafel', | |
'wagen', | |
'wagon', | |
'waken', | |
'waker', | |
'wakes', | |
'wakke', | |
'wakst', | |
'walde', | |
'walen', | |
'walgt', | |
'walkt', | |
'walmt', | |
'walst', | |
'wamde', | |
'wamen', | |
'wande', | |
'wanen', | |
'wanne', | |
'wants', | |
'wapen', | |
'warde', | |
'waren', | |
'warme', | |
'warms', | |
'warmt', | |
'wasco', | |
'wasem', | |
'washi', | |
'wasje', | |
'waste', | |
'water', | |
'watje', | |
'watts', | |
'wauwe', | |
'waven', | |
'waves', | |
'waxen', | |
'wazen', | |
'wazig', | |
'webbe', | |
'weber', | |
'weckt', | |
'wedde', | |
'weden', | |
'weder', | |
'weeft', | |
'weegs', | |
'weegt', | |
'weeks', | |
'weekt', | |
'weent', | |
'weeps', | |
'weerd', | |
'weert', | |
'weest', | |
'wegel', | |
'wegen', | |
'weger', | |
'wegga', | |
'wegge', | |
'wegje', | |
'weide', | |
'weids', | |
'weidt', | |
'weien', | |
'weken', | |
'weker', | |
'wekte', | |
'welde', | |
'welen', | |
'welft', | |
'welig', | |
'welke', | |
'welks', | |
'welkt', | |
'welnu', | |
'wemel', | |
'wende', | |
'wendt', | |
'wenen', | |
'wener', | |
'wenkt', | |
'wenst', | |
'wepel', | |
'weren', | |
'werft', | |
'werkt', | |
'werpt', | |
'werst', | |
'wessi', | |
'weten', | |
'wetje', | |
'wette', | |
'weven', | |
'wever', | |
'wezel', | |
'wezen', | |
'whist', | |
'white', | |
'wicca', | |
'wicht', | |
'wiedt', | |
'wiegt', | |
'wiekt', | |
'wielt', | |
'wieme', | |
'wiens', | |
'wierf', | |
'wierp', | |
'wiers', | |
'wigge', | |
'wigje', | |
'wijde', | |
'wijds', | |
'wijdt', | |
'wijkt', | |
'wijle', | |
'wijlt', | |
'wijst', | |
'wijze', | |
'wikke', | |
'wikte', | |
'wilde', | |
'wilds', | |
'wille', | |
'winch', | |
'winde', | |
'windt', | |
'winst', | |
'winti', | |
'wipte', | |
'wisse', | |
'wiste', | |
'witje', | |
'witst', | |
'witte', | |
'wodka', | |
'woede', | |
'woedt', | |
'woelt', | |
'woerd', | |
'woest', | |
'wogen', | |
'wokte', | |
'wonde', | |
'wondt', | |
'wonen', | |
'woont', | |
'woord', | |
'wordt', | |
'worgt', | |
'worst', | |
'wraak', | |
'wrake', | |
'wrang', | |
'wraps', | |
'wrede', | |
'wreed', | |
'wreef', | |
'wreek', | |
'wrens', | |
'wrijf', | |
'wrikt', | |
'wring', | |
'wroeg', | |
'wroet', | |
'wrokt', | |
'wrong', | |
'wufte', | |
'wuien', | |
'wuift', | |
'wulps', | |
'wurgt', | |
'wurmt', | |
'xenon', | |
'xeres', | |
'xerox', | |
'yanks', | |
'yards', | |
'yelde', | |
'yells', | |
'yield', | |
'yuans', | |
'yucca', | |
'zaagt', | |
'zaait', | |
'zaaks', | |
'zacht', | |
'zadel', | |
'zaden', | |
'zagen', | |
'zager', | |
'zaken', | |
'zakje', | |
'zakte', | |
'zalen', | |
'zalft', | |
'zalig', | |
'zambo', | |
'zamel', | |
'zandt', | |
'zanik', | |
'zapte', | |
'zaten', | |
'zatst', | |
'zatte', | |
'zavel', | |
'zeboe', | |
'zebra', | |
'zeden', | |
'zedig', | |
'zeeft', | |
'zeelt', | |
'zeemt', | |
'zeept', | |
'zegde', | |
'zegel', | |
'zegen', | |
'zeges', | |
'zegge', | |
'zegje', | |
'zeide', | |
'zeikt', | |
'zeilt', | |
'zeken', | |
'zeker', | |
'zelen', | |
'zelfs', | |
'zelve', | |
'zemel', | |
'zemen', | |
'zemig', | |
'zendt', | |
'zenen', | |
'zengt', | |
'zenig', | |
'zenit', | |
'zenuw', | |
'zepen', | |
'zeper', | |
'zepig', | |
'zerpe', | |
'zesde', | |
'zesje', | |
'zeste', | |
'zetel', | |
'zetje', | |
'zette', | |
'zeult', | |
'zeurt', | |
'zeven', | |
'zever', | |
'zicht', | |
'ziedt', | |
'zieke', | |
'ziekt', | |
'ziele', | |
'ziend', | |
'ziens', | |
'ziezo', | |
'zijde', | |
'zijgt', | |
'zijig', | |
'zijnd', | |
'zijne', | |
'zijns', | |
'zilte', | |
'zinde', | |
'zingt', | |
'zinkt', | |
'zipte', | |
'zitje', | |
'zloty', | |
'zoals', | |
'zocht', | |
'zodat', | |
'zoden', | |
'zodra', | |
'zoeft', | |
'zoekt', | |
'zoele', | |
'zoemt', | |
'zoent', | |
'zoete', | |
'zoets', | |
'zogen', | |
'zolen', | |
'zomen', | |
'zomer', | |
'zomin', | |
'zonde', | |
'zonen', | |
'zones', | |
'zonet', | |
'zoogt', | |
'zoolt', | |
'zoomt', | |
'zoons', | |
'zopas', | |
'zopen', | |
'zopie', | |
'zorgt', | |
'zotje', | |
'zotst', | |
'zotte', | |
'zoude', | |
'zoudt', | |
'zoute', | |
'zover', | |
'zowat', | |
'zowel', | |
'zucht', | |
'zuigt', | |
'zuipt', | |
'zulke', | |
'zulks', | |
'zulle', | |
'zulte', | |
'zumba', | |
'zuren', | |
'zurig', | |
'zusje', | |
'zuurt', | |
'zwaai', | |
'zwaan', | |
'zwaar', | |
'zwade', | |
'zwakt', | |
'zwalk', | |
'zwalp', | |
'zwamp', | |
'zwamt', | |
'zwang', | |
'zwans', | |
'zware', | |
'zwart', | |
'zweed', | |
'zweef', | |
'zweeg', | |
'zweel', | |
'zweem', | |
'zweep', | |
'zweer', | |
'zweet', | |
'zwelg', | |
'zwelt', | |
'zwemt', | |
'zwenk', | |
'zwerf', | |
'zwerk', | |
'zwerm', | |
'zwets', | |
'zwiep', | |
'zwier', | |
'zwijg', | |
'zwijm', | |
'zwijn', | |
'zwikt', | |
'zwilk', | |
'zwing', | |
'zwoeg', | |
'zwoel', | |
'zwoer', | |
'zwolg', | |
'zwoor', 'lingo'], | |
Ta = 'present', | |
Ia = 'correct', | |
Ca = 'absent'; | |
var Ma = { | |
unknown: 0, | |
absent: 1, | |
present: 2, | |
correct: 3 | |
}; | |
function Oa(e, a) { | |
var s = { | |
}; | |
return e.forEach((function (e, t) { | |
if (a[t]) for (var o = 0; o < e.length; o++) { | |
var r = e[o], | |
n = a[t][o], | |
i = s[r] || 'unknown'; | |
Ma[n] > Ma[i] && (s[r] = n) | |
} | |
})), | |
s | |
} | |
var Ra = new Date(2021, 5, 19, 0, 0, 0, 0); | |
function $a(e, a) { | |
var s = new Date(e), | |
t = new Date(a).setHours(0, 0, 0, 0) - s.setHours(0, 0, 0, 0); | |
return Math.floor(t / 86400000) | |
} | |
function Pa(e) { | |
var a, | |
s = Na(e); | |
return a = s % Aa.length, | |
Aa[a] | |
} | |
function Na(e) { | |
return $a(Ra, e) | |
} | |
var Ha, | |
Ga = 'abcdefghijklmnopqrstuvwxyz'; | |
function Da() { | |
dataLayer.push(arguments) | |
} | |
window.dataLayer = window.dataLayer || [ | |
], | |
Da('js', new Date); | |
Da('config', 'G-2SSGMHY3NP', { | |
app_version: null === (Ha = window.wordle) || void 0 === Ha ? void 0 : Ha.hash, | |
debug_mode: !1 | |
}); | |
var Ba = [ | |
].concat(g(Ga.split('').slice(13)), g(Ga.split('').slice(0, 13))); | |
function Fa(e) { | |
for (var a = '', s = 0; s < e.length; s++) { | |
var t = Ga.indexOf(e[s]); | |
a += t >= 0 ? Ba[t] : '_' | |
} | |
return a | |
} | |
var Wa = 'statistics', | |
Ya = 'fail', | |
Ja = { | |
currentStreak: 0, | |
maxStreak: 0, | |
guesses: r({ | |
1: 0, | |
2: 0, | |
3: 0, | |
4: 0, | |
5: 0, | |
6: 0 | |
}, Ya, 0), | |
winPercentage: 0, | |
gamesPlayed: 0, | |
gamesWon: 0, | |
averageGuesses: 0 | |
}; | |
function Ua() { | |
var e = window.localStorage.getItem(Wa) || JSON.stringify(Ja); | |
return JSON.parse(e) | |
} | |
function Xa(e) { | |
var a = e.isWin, | |
s = e.isStreak, | |
t = e.numGuesses, | |
o = Ua(); | |
a ? (o.guesses[t] += 1, s ? o.currentStreak += 1 : o.currentStreak = 1) : (o.currentStreak = 0, o.guesses.fail += 1), | |
o.maxStreak = Math.max(o.currentStreak, o.maxStreak), | |
o.gamesPlayed += 1, | |
o.gamesWon += a ? 1 : 0, | |
o.winPercentage = Math.round(o.gamesWon / o.gamesPlayed * 100), | |
o.averageGuesses = Math.round(Object.entries(o.guesses).reduce((function (e, a) { | |
var s = y(a, 2), | |
t = s[0], | |
o = s[1]; | |
return t !== Ya ? e += t * o : e | |
}), 0) / o.gamesWon), | |
function (e) { | |
window.localStorage.setItem(Wa, JSON.stringify(e)) | |
}(o) | |
} | |
var Ka = document.createElement('template'); | |
Ka.innerHTML = '\n <style>\n .toaster {\n position: absolute;\n top: 10%;\n left: 50%;\n transform: translate(-50%, 0);\n pointer-events: none;\n width: fit-content;\n }\n #game-toaster {\n z-index: '.concat(1000, ';\n }\n #system-toaster {\n z-index: ').concat(4000, ';\n }\n\n #game {\n width: 100%;\n max-width: var(--game-max-width);\n margin: 0 auto;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: var(--header-height);\n color: var(--color-tone-1);\n border-bottom: 1px solid var(--color-tone-4);\n }\n header .title {\n font-weight: 700;\n font-size: 36px;\n letter-spacing: 0.2rem;\n text-transform: uppercase;\n text-align: center;\n }\n\n #board-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 1;\n overflow: hidden;\n }\n #board {\n display: grid;\n grid-template-rows: repeat(6, 1fr);\n grid-gap: 5px;\n padding:10px;\n box-sizing: border-box;\n }\n button.icon {\n background: none;\n border: none;\n cursor: pointer;\n }\n #debug-tools {\n position: absolute;\n bottom: 0;\n }\n\n </style>\n <game-theme-manager>\n <div id="game">\n <header>\n <div class="menu">\n <button id="help" class="icon">\n <game-icon icon="help"></game-icon>\n </button>\n </div>\n <div class="title">\n WOORDLE\n </div>\n <div class="menu">\n <button id="settings" class="icon">\n <game-icon icon="settings"></game-icon>\n </button>\n </div>\n </header>\n <div id="board-container">\n <div id="board"></div>\n </div>\n <game-keyboard></game-keyboard>\n <game-modal></game-modal>\n <game-page></game-page>\n <div class="toaster" id="game-toaster"></div>\n <div class="toaster" id="system-toaster"></div>\n </div>\n </game-theme-manager>\n <div id="debug-tools"></div>\n'); | |
var Va = document.createElement('template'); | |
Va.innerHTML = '\n<button id="reveal">reveal</button>\n<button id="shake">shake</button>\n<button id="bounce">bounce</button>\n<button id="toast">toast</button>\n<button id="modal">modal</button>\n'; | |
var Qa = 'IN_PROGRESS', | |
Za = 'WIN', | |
es = 'FAIL', | |
as = [ | |
'Genius', | |
'Magnificent', | |
'Impressive', | |
'Splendid', | |
'Great', | |
'Nice' | |
], | |
ss = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
s(this, t), | |
r(p(e = a.call(this)), 'tileIndex', 0), | |
r(p(e), 'rowIndex', 0), | |
r(p(e), 'solution', void 0), | |
r(p(e), 'boardState', void 0), | |
r(p(e), 'evaluations', void 0), | |
r(p(e), 'canInput', !0), | |
r(p(e), 'gameStatus', Qa), | |
r(p(e), 'letterEvaluations', { | |
}), | |
r(p(e), '$board', void 0), | |
r(p(e), '$keyboard', void 0), | |
r(p(e), '$game', void 0), | |
r(p(e), 'today', void 0), | |
r(p(e), 'lastPlayedTs', void 0), | |
r(p(e), 'lastCompletedTs', void 0), | |
r(p(e), 'hardMode', void 0), | |
r(p(e), 'dayOffset', void 0), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e.today = new Date; | |
var o = za(); | |
return e.lastPlayedTs = o.lastPlayedTs, | |
!e.lastPlayedTs || $a(new Date(e.lastPlayedTs), e.today) >= 1 ? (e.boardState = new Array(6).fill(''), e.evaluations = new Array(6).fill(null), e.solution = Pa(e.today), e.dayOffset = Na(e.today), e.lastCompletedTs = o.lastCompletedTs, e.hardMode = o.hardMode, e.restoringFromLocalStorage = !1, ja({ | |
rowIndex: e.rowIndex, | |
boardState: e.boardState, | |
evaluations: e.evaluations, | |
solution: e.solution, | |
gameStatus: e.gameStatus | |
}), Da('event', 'level_start', { | |
level_name: Fa(e.solution) | |
})) : (e.boardState = o.boardState, e.evaluations = o.evaluations, e.rowIndex = o.rowIndex, e.solution = o.solution, e.dayOffset = Na(e.today), e.letterEvaluations = Oa(e.boardState, e.evaluations), e.gameStatus = o.gameStatus, e.lastCompletedTs = o.lastCompletedTs, e.hardMode = o.hardMode, e.gameStatus !== Qa && (e.canInput = !1), e.restoringFromLocalStorage = !0), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'evaluateRow', | |
value: function () { | |
if (5 === this.tileIndex && !(this.rowIndex >= 6)) { | |
var e, | |
a = this.$board.querySelectorAll('game-row') [this.rowIndex], | |
s = this.boardState[this.rowIndex]; | |
if (e = s, !La.includes(e) && !Aa.includes(e)) return a.setAttribute('invalid', ''), | |
void this.addToast('Geen bekend woord'); | |
if (this.hardMode) { | |
var t = function (e, a, s) { | |
if (!e || !a || !s) return { | |
validGuess: !0 | |
}; | |
for (var t = 0; t < s.length; t++) if (s[t] === Ia && e[t] !== a[t]) return { | |
validGuess: !1, | |
errorMessage: ''.concat((o = t + 1, r = void 0, n = void 0, r = [ | |
'th', | |
'st', | |
'nd', | |
'rd' | |
], n = o % 100, o + (r[(n - 20) % 10] || r[n] || r[0])), ' letter moet dit zijn: ').concat(a[t].toUpperCase()) | |
}; | |
for (var o, r, n, i = { | |
}, l = 0; l < s.length; l++) [Ia, | |
Ta].includes(s[l]) && (i[a[l]] ? i[a[l]] += 1 : i[a[l]] = 1); | |
var d = e.split('').reduce((function (e, a) { | |
return e[a] ? e[a] += 1 : e[a] = 1, | |
e | |
}), { | |
}); | |
for (var u in i) if ((d[u] || 0) < i[u]) return { | |
validGuess: !1, | |
errorMessage: 'Gok moet dit bevatten: '.concat(u.toUpperCase()) | |
}; | |
return { | |
validGuess: !0 | |
} | |
}(s, this.boardState[this.rowIndex - 1], this.evaluations[this.rowIndex - 1]), | |
o = t.validGuess, | |
r = t.errorMessage; | |
if (!o) return a.setAttribute('invalid', ''), | |
void this.addToast(r || 'Dit kan niet in hard mode') | |
} | |
var n = function (e, a) { | |
for (var s = Array(a.length).fill(Ca), t = Array(a.length).fill(!0), o = Array(a.length).fill(!0), r = 0; r < e.length; r++) e[r] === a[r] && o[r] && (s[r] = Ia, t[r] = !1, o[r] = !1); | |
for (var n = 0; n < e.length; n++) { | |
var i = e[n]; | |
if (t[n]) for (var l = 0; l < a.length; l++) { | |
var d = a[l]; | |
if (o[l] && i === d) { | |
s[n] = Ta, | |
o[l] = !1; | |
break | |
} | |
} | |
} | |
return s | |
}(s, this.solution); | |
this.evaluations[this.rowIndex] = n, | |
this.letterEvaluations = Oa(this.boardState, this.evaluations), | |
a.evaluation = this.evaluations[this.rowIndex], | |
this.rowIndex += 1; | |
var i = this.rowIndex >= 6, | |
l = n.every((function (e) { | |
return 'correct' === e | |
})); | |
if (i || l) Xa({ | |
isWin: l, | |
isStreak: !!this.lastCompletedTs && 1 === $a(new Date(this.lastCompletedTs), new Date), | |
numGuesses: this.rowIndex | |
}), | |
ja({ | |
lastCompletedTs: Date.now() | |
}), | |
this.gameStatus = l ? Za : es, | |
Da('event', 'level_end', { | |
level_name: Fa(this.solution), | |
num_guesses: this.rowIndex, | |
success: l | |
}); | |
this.tileIndex = 0, | |
this.canInput = !1, | |
ja({ | |
rowIndex: this.rowIndex, | |
boardState: this.boardState, | |
evaluations: this.evaluations, | |
solution: this.solution, | |
gameStatus: this.gameStatus, | |
lastPlayedTs: Date.now() | |
}) | |
} | |
} | |
}, | |
{ | |
key: 'addLetter', | |
value: function (e) { | |
this.gameStatus === Qa && (this.canInput && (this.tileIndex >= 5 || (this.boardState[this.rowIndex] += e, this.$board.querySelectorAll('game-row') [this.rowIndex].setAttribute('letters', this.boardState[this.rowIndex]), this.tileIndex += 1))) | |
} | |
}, | |
{ | |
key: 'removeLetter', | |
value: function () { | |
if (this.gameStatus === Qa && this.canInput && !(this.tileIndex <= 0)) { | |
this.boardState[this.rowIndex] = this.boardState[this.rowIndex].slice(0, this.boardState[this.rowIndex].length - 1); | |
var e = this.$board.querySelectorAll('game-row') [this.rowIndex]; | |
this.boardState[this.rowIndex] ? e.setAttribute('letters', this.boardState[this.rowIndex]) : e.removeAttribute('letters'), | |
e.removeAttribute('invalid'), | |
this.tileIndex -= 1 | |
} | |
} | |
}, | |
{ | |
key: 'submitGuess', | |
value: function () { | |
if (this.gameStatus === Qa && this.canInput) { | |
if (5 !== this.tileIndex) return this.$board.querySelectorAll('game-row') [this.rowIndex].setAttribute('invalid', ''), | |
void this.addToast('Not enough letters'); | |
this.evaluateRow() | |
} | |
} | |
}, | |
{ | |
key: 'addToast', | |
value: function (e, a) { | |
var s = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], | |
t = document.createElement('game-toast'); | |
t.setAttribute('text', e), | |
a && t.setAttribute('duration', a), | |
s ? this.shadowRoot.querySelector('#system-toaster').prepend(t) : this.shadowRoot.querySelector('#game-toaster').prepend(t) | |
} | |
}, | |
{ | |
key: 'sizeBoard', | |
value: function () { | |
var e = this.shadowRoot.querySelector('#board-container'), | |
a = Math.min(Math.floor(e.clientHeight * (5 / 6)), 350), | |
s = 6 * Math.floor(a / 5); | |
this.$board.style.width = ''.concat(a, 'px'), | |
this.$board.style.height = ''.concat(s, 'px') | |
} | |
}, | |
{ | |
key: 'showStatsModal', | |
value: function () { | |
var e = this.$game.querySelector('game-modal'), | |
a = document.createElement('game-stats'); | |
this.gameStatus === Za && this.rowIndex <= 6 && a.setAttribute('highlight-guess', this.rowIndex), | |
a.gameApp = this, | |
e.appendChild(a), | |
e.setAttribute('open', '') | |
} | |
}, | |
{ | |
key: 'showHelpModal', | |
value: function () { | |
var e = this.$game.querySelector('game-modal'); | |
e.appendChild(document.createElement('game-help')), | |
e.setAttribute('open', '') | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(Ka.content.cloneNode(!0)), | |
this.$game = this.shadowRoot.querySelector('#game'), | |
this.$board = this.shadowRoot.querySelector('#board'), | |
this.$keyboard = this.shadowRoot.querySelector('game-keyboard'), | |
this.sizeBoard(), | |
this.lastPlayedTs || setTimeout((function () { | |
return e.showHelpModal() | |
}), 100); | |
for (var a = 0; a < 6; a++) { | |
var s = document.createElement('game-row'); | |
s.setAttribute('letters', this.boardState[a]), | |
s.setAttribute('length', 5), | |
this.evaluations[a] && (s.evaluation = this.evaluations[a]), | |
this.$board.appendChild(s) | |
} | |
this.$game.addEventListener('game-key-press', (function (a) { | |
var s = a.detail.key; | |
'←' === s || 'Backspace' === s ? e.removeLetter() : '↵' === s || 'Enter' === s ? e.submitGuess() : Ga.includes(s.toLowerCase()) && e.addLetter(s.toLowerCase()) | |
})), | |
this.$game.addEventListener('game-last-tile-revealed-in-row', (function (a) { | |
e.$keyboard.letterEvaluations = e.letterEvaluations, | |
e.rowIndex < 6 && (e.canInput = !0); | |
var s = e.$board.querySelectorAll('game-row') [e.rowIndex - 1]; | |
(a.path || a.composedPath && a.composedPath()).includes(s) && ([Za, | |
es].includes(e.gameStatus) && (e.restoringFromLocalStorage ? e.showStatsModal() : (e.gameStatus === Za && (s.setAttribute('win', ''), e.addToast(as[e.rowIndex - 1], 2000)), e.gameStatus === es && e.addToast(e.solution.toUpperCase(), 1 / 0), setTimeout((function () { | |
e.showStatsModal() | |
}), 2500))), e.restoringFromLocalStorage = !1) | |
})), | |
this.shadowRoot.addEventListener('game-setting-change', (function (a) { | |
var s = a.detail, | |
t = s.name, | |
o = s.checked, | |
r = s.disabled; | |
switch (t) { | |
case 'hard-mode': | |
return void (r ? e.addToast('Hard mode can only be enabled at the start of a round', 1500, !0) : (e.hardMode = o, ja({ | |
hardMode: o | |
}))) | |
} | |
})), | |
this.shadowRoot.getElementById('settings').addEventListener('click', (function (a) { | |
var s = e.$game.querySelector('game-page'), | |
t = document.createTextNode('Settings'); | |
s.appendChild(t); | |
var o = document.createElement('game-settings'); | |
o.setAttribute('slot', 'content'), | |
o.gameApp = e, | |
s.appendChild(o), | |
s.setAttribute('open', '') | |
})), | |
this.shadowRoot.getElementById('help').addEventListener('click', (function (a) { | |
var s = e.$game.querySelector('game-page'), | |
t = document.createTextNode('Instructies'); | |
s.appendChild(t); | |
var o = document.createElement('game-help'); | |
o.setAttribute('page', ''), | |
o.setAttribute('slot', 'content'), | |
s.appendChild(o), | |
s.setAttribute('open', '') | |
})), | |
window.addEventListener('resize', this.sizeBoard.bind(this)) | |
} | |
}, | |
{ | |
key: 'disconnectedCallback', | |
value: function () { | |
} | |
}, | |
{ | |
key: 'debugTools', | |
value: function () { | |
var e = this; | |
this.shadowRoot.getElementById('debug-tools').appendChild(Va.content.cloneNode(!0)), | |
this.shadowRoot.getElementById('toast').addEventListener('click', (function (a) { | |
e.addToast('hello world') | |
})), | |
this.shadowRoot.getElementById('modal').addEventListener('click', (function (a) { | |
var s = e.$game.querySelector('game-modal'); | |
s.textContent = 'hello plz', | |
s.setAttribute('open', '') | |
})), | |
this.shadowRoot.getElementById('reveal').addEventListener('click', (function () { | |
e.evaluateRow() | |
})), | |
this.shadowRoot.getElementById('shake').addEventListener('click', (function () { | |
e.$board.querySelectorAll('game-row') [e.rowIndex].setAttribute('invalid', '') | |
})), | |
this.shadowRoot.getElementById('bounce').addEventListener('click', (function () { | |
var a = e.$board.querySelectorAll('game-row') [e.rowIndex - 1]; | |
'' === a.getAttribute('win') ? a.removeAttribute('win') : a.setAttribute('win', '') | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-app', ss); | |
var ts = document.createElement('template'); | |
ts.innerHTML = '\n <style>\n .overlay {\n display: none;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n justify-content: center;\n align-items: center;\n background-color: var(--opacity-50);\n z-index: '.concat(3000, ';\n }\n\n :host([open]) .overlay {\n display: flex;\n }\n\n .content {\n position: relative;\n border-radius: 8px;\n border: 1px solid var(--color-tone-6);\n background-color: var(--modal-content-bg);\n color: var(--color-tone-1);\n box-shadow: 0 4px 23px 0 rgba(0, 0, 0, 0.2);\n width: 90%;\n max-height: 90%;\n overflow-y: auto;\n animation: SlideIn 200ms;\n max-width: var(--game-max-width);\n padding: 16px;\n box-sizing: border-box;\n }\n\n .content.closing {\n animation: SlideOut 200ms;\n }\n\n .close-icon {\n width: 24px;\n height: 24px;\n position: absolute;\n top: 16px;\n right: 16px;\n }\n\n game-icon {\n position: fixed;\n user-select: none;\n cursor: pointer;\n }\n\n @keyframes SlideIn {\n 0% {\n transform: translateY(30px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0px);\n opacity: 1;\n }\n }\n @keyframes SlideOut {\n 0% {\n transform: translateY(0px);\n opacity: 1;\n }\n 90% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n transform: translateY(60px);\n }\n }\n </style>\n <div class="overlay">\n <div class="content">\n <slot></slot>\n <div class="close-icon">\n <game-icon icon="close"></game-icon>\n </div>\n </div>\n </div>\n'); | |
var os = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(ts.content.cloneNode(!0)), | |
this.addEventListener('click', (function (a) { | |
e.shadowRoot.querySelector('.content').classList.add('closing') | |
})), | |
this.shadowRoot.addEventListener('animationend', (function (a) { | |
'SlideOut' === a.animationName && (e.shadowRoot.querySelector('.content').classList.remove('closing'), e.removeChild(e.firstChild), e.removeAttribute('open')) | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-modal', os); | |
var rs = document.createElement('template'); | |
rs.innerHTML = '\n <style>\n :host {\n height: var(--keyboard-height);\n }\n #keyboard {\n margin: 0 8px;\n user-select: none;\n }\n \n .row {\n display: flex;\n width: 100%;\n margin: 0 auto 8px;\n /* https://stackoverflow.com/questions/46167604/ios-html-disable-double-tap-to-zoom */\n touch-action: manipulation;\n }\n \n button {\n font-family: inherit;\n font-weight: bold;\n border: 0;\n padding: 0;\n margin: 0 6px 0 0;\n height: 58px;\n border-radius: 4px;\n cursor: pointer;\n user-select: none;\n background-color: var(--key-bg);\n color: var(--key-text-color);\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: uppercase;\n -webkit-tap-highlight-color: rgba(0,0,0,0.3);\n }\n\n button:focus {\n outline: none;\n }\n\n button.fade {\n transition: background-color 0.1s ease, color 0.1s ease;\n }\n \n button:last-of-type {\n margin: 0;\n }\n \n .half {\n flex: 0.5;\n }\n \n .one {\n flex: 1;\n }\n\n .one-and-a-half {\n flex: 1.5;\n font-size: 12px;\n }\n \n .two {\n flex: 2;\n }\n\n button[data-state=\'correct\'] {\n background-color: var(--key-bg-correct);\n color: var(--key-evaluated-text-color);\n }\n\n button[data-state=\'present\'] {\n background-color: var(--key-bg-present);\n color: var(--key-evaluated-text-color);\n }\n\n button[data-state=\'absent\'] {\n background-color: var(--key-bg-absent);\n color: var(--key-evaluated-text-color);\n }\n\n </style>\n <div id="keyboard"></div>\n'; | |
var ns = document.createElement('template'); | |
ns.innerHTML = '\n <button>key</button>\n'; | |
var is = document.createElement('template'); | |
is.innerHTML = '\n <div class="spacer"></div>\n'; | |
var ls = [ | |
['q', | |
'w', | |
'e', | |
'r', | |
't', | |
'y', | |
'u', | |
'i', | |
'o', | |
'p'], | |
[ | |
'-', | |
'a', | |
's', | |
'd', | |
'f', | |
'g', | |
'h', | |
'j', | |
'k', | |
'l', | |
'-' | |
], | |
[ | |
'↵', | |
'z', | |
'x', | |
'c', | |
'v', | |
'b', | |
'n', | |
'm', | |
'←' | |
] | |
], | |
ds = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
r(p(e = a.call(this)), '_letterEvaluations', { | |
}), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'letterEvaluations', | |
set: function (e) { | |
this._letterEvaluations = e, | |
this._render() | |
} | |
}, | |
{ | |
key: 'dispatchKeyPressEvent', | |
value: function (e) { | |
this.dispatchEvent(new CustomEvent('game-key-press', { | |
bubbles: !0, | |
composed: !0, | |
detail: { | |
key: e | |
} | |
})) | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(rs.content.cloneNode(!0)), | |
this.$keyboard = this.shadowRoot.getElementById('keyboard'), | |
this.$keyboard.addEventListener('click', (function (a) { | |
var s = a.target.closest('button'); | |
s && e.$keyboard.contains(s) && e.dispatchKeyPressEvent(s.dataset.key) | |
})), | |
window.addEventListener('keydown', (function (a) { | |
if (!0 !== a.repeat) { | |
var s = a.key, | |
t = a.metaKey, | |
o = a.ctrlKey; | |
t || o || (Ga.includes(s.toLowerCase()) || 'Backspace' === s || 'Enter' === s) && e.dispatchKeyPressEvent(s) | |
} | |
})), | |
this.$keyboard.addEventListener('transitionend', (function (a) { | |
var s = a.target.closest('button'); | |
s && e.$keyboard.contains(s) && s.classList.remove('fade') | |
})), | |
ls.forEach((function (a) { | |
var s = document.createElement('div'); | |
s.classList.add('row'), | |
a.forEach((function (e) { | |
var a; | |
if (e >= 'a' && e <= 'z' || '←' === e || '↵' === e) { | |
if ((a = ns.content.cloneNode(!0).firstElementChild).dataset.key = e, a.textContent = e, '←' === e) { | |
var t = document.createElement('game-icon'); | |
t.setAttribute('icon', 'backspace'), | |
a.textContent = '', | |
a.appendChild(t), | |
a.classList.add('one-and-a-half') | |
} | |
'↵' == e && (a.textContent = 'enter', a.classList.add('one-and-a-half')) | |
} else (a = is.content.cloneNode(!0).firstElementChild).classList.add(1 === e.length ? 'half' : 'one'); | |
s.appendChild(a) | |
})), | |
e.$keyboard.appendChild(s) | |
})), | |
this._render() | |
} | |
}, | |
{ | |
key: '_render', | |
value: function () { | |
for (var e in this._letterEvaluations) { | |
var a = this.$keyboard.querySelector('[data-key="'.concat(e, '"]')); | |
a.dataset.state = this._letterEvaluations[e], | |
a.classList.add('fade') | |
} | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
function us(e, a, s) { | |
try { | |
if (o = navigator.userAgent || navigator.vendor || window.opera, (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(o) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(o.substr(0, 4))) && void 0 !== navigator.share && navigator.canShare && navigator.canShare(e)) navigator.share(e); | |
else { | |
var t = document.createElement('textarea'); | |
t.textContent = e.text, | |
document.body.appendChild(t), | |
t.select(), | |
document.execCommand('copy'), | |
document.body.removeChild(t), | |
a() | |
} | |
} catch (e) { | |
s() | |
} | |
var o | |
} | |
customElements.define('game-keyboard', ds); | |
var cs = document.createElement('template'); | |
cs.innerHTML = '\n <style>\n .container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px 0; \n }\n h1 {\n font-weight: 700;\n font-size: 16px;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n text-align: center;\n margin-bottom: 10px;\n }\n \n #statistics {\n display: flex;\n margin-bottom: \n }\n\n .statistic-container {\n flex: 1;\n }\n\n .statistic-container .statistic {\n font-size: 36px;\n font-weight: 400;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n letter-spacing: 0.05em;\n font-variant-numeric: proportional-nums;\n }\n\n .statistic.timer {\n font-variant-numeric: initial;\n }\n\n .statistic-container .label {\n font-size: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n\n #guess-distribution {\n width: 80%;\n }\n\n .graph-container {\n width: 100%;\n height: 20px;\n display: flex;\n align-items: center;\n padding-bottom: 4px;\n font-size: 14px;\n line-height: 20px;\n }\n\n .graph-container .graph {\n width: 100%;\n height: 100%;\n padding-left: 4px;\n }\n\n .graph-container .graph .graph-bar {\n height: 100%;\n /* Assume no wins */\n width: 0%;\n position: relative;\n background-color: var(--color-absent);\n display: flex;\n justify-content: center;\n }\n\n .graph-container .graph .graph-bar.highlight {\n background-color: var(--color-correct);\n }\n\n .graph-container .graph .graph-bar.align-right {\n justify-content: flex-end;\n padding-right: 8px;\n }\n\n .graph-container .graph .num-guesses {\n font-weight: bold;\n color: var(--tile-text-color);\n }\n\n #statistics,\n #guess-distribution {\n padding-bottom: 10px;\n }\n\n .footer {\n display: flex;\n width: 100%;\n }\n\n .countdown {\n border-right: 1px solid var(--color-tone-1);\n padding-right: 12px;\n width: 50%;\n }\n\n .share {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 12px;\n width: 50%;\n }\n\n button#share-button {\n background-color: var(--key-bg-correct);\n color: var(--key-evaluated-text-color);\n font-family: inherit;\n font-weight: bold;\n border-radius: 4px;\n cursor: pointer;\n border: none;\n user-select: none;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: uppercase;\n -webkit-tap-highlight-color: rgba(0,0,0,0.3);\n width: 80%;\n font-size: 20px;\n height: 52px;\n -webkit-filter: brightness(100%);\n }\n button#share-button:hover {\n opacity: 0.9;\n }\n button#share-button game-icon {\n width: 24px;\n height: 24px;\n padding-left: 8px;\n }\n </style>\n\n <div class="container">\n <h1>Statistiek</h1>\n <div id="statistics"></div>\n <h1>Gok verdeling</h1>\n <div id="guess-distribution"></div>\n <div class="footer">\n <div class="countdown">\n <h1>Volgende WOORDLE</h1>\n <div id="timer">\n <div class="statistic-container">\n <div class="statistic timer">\n <countdown-timer></countdown-timer>\n </div>\n </div>\n </div>\n </div>\n <div class="share">\n <button id="share-button">\n Delen <game-icon icon="share"></game-icon>\n </button>\n </div>\n </div>\n<div><p>Kan je niet wachten op de volgende WOORDLE? Probeer ook de <a href="https://www.powerlanguage.co.uk/wordle/">originele WORDLE</a> (in het Engels)!</p></div> </div>\n'; | |
var ps = document.createElement('template'); | |
ps.innerHTML = '\n <div class="statistic-container">\n <div class="statistic"></div>\n <div class="label"></div>\n </div>\n'; | |
var ms = document.createElement('template'); | |
ms.innerHTML = '\n <div class="graph-container">\n <div class="guess"></div>\n <div class="graph">\n <div class="graph-bar">\n <div class="num-guesses">\n </div>\n </div>\n </div>\n </div>\n'; | |
var hs = { | |
currentStreak: 'Huidige Reeks', | |
maxStreak: 'Max Reeks', | |
winPercentage: 'Win %', | |
gamesPlayed: 'Gespeeld', | |
gamesWon: 'Gewonnen', | |
averageGuesses: 'Gem. Gokken' | |
}, | |
ys = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
r(p(e = a.call(this)), 'stats', { | |
}), | |
r(p(e), 'gameApp', void 0), | |
e.attachShadow({ | |
mode: 'open' | |
}), | |
e.stats = Ua(), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(cs.content.cloneNode(!0)); | |
for (var a = this.shadowRoot.getElementById('statistics'), s = this.shadowRoot.getElementById('guess-distribution'), t = Math.max.apply(Math, g(Object.values(this.stats.guesses))), o = 1; o < Object.keys(this.stats.guesses).length; o++) { | |
var r = o, | |
n = this.stats.guesses[o], | |
i = ms.content.cloneNode(!0), | |
l = Math.max(7, Math.round(n / t * 100)); | |
i.querySelector('.guess').textContent = r; | |
var d = i.querySelector('.graph-bar'); | |
if (d.style.width = ''.concat(l, '%'), 'number' == typeof n) { | |
i.querySelector('.num-guesses').textContent = n, | |
n > 0 && d.classList.add('align-right'); | |
var u = parseInt(this.getAttribute('highlight-guess'), 10); | |
u && o === u && d.classList.add('highlight') | |
} | |
s.appendChild(i) | |
} | |
[ | |
'gamesPlayed', | |
'winPercentage', | |
'currentStreak', | |
'maxStreak' | |
].forEach((function (s) { | |
var t = hs[s], | |
o = e.stats[s], | |
r = ps.content.cloneNode(!0); | |
r.querySelector('.label').textContent = t, | |
r.querySelector('.statistic').textContent = o, | |
a.appendChild(r) | |
})), | |
this.shadowRoot.querySelector('button#share-button').addEventListener('click', (function (a) { | |
a.preventDefault(), | |
a.stopPropagation(); | |
us(function (e) { | |
var a = e.evaluations, | |
s = e.dayOffset, | |
t = e.rowIndex, | |
o = e.isHardMode, | |
r = e.isWin, | |
n = JSON.parse(window.localStorage.getItem(j)), | |
i = JSON.parse(window.localStorage.getItem(S)), | |
l = 'Woordle '.concat(s); | |
l += ' '.concat(r ? t : 'X', '/').concat(6), | |
o && (l += '*'); | |
var d = ''; | |
return a.forEach((function (e) { | |
e && (e.forEach((function (e) { | |
if (e) { | |
var a = ''; | |
switch (e) { | |
case Ia: | |
a = function (e) { | |
return e ? '🟧' : '🟩' | |
}(i); | |
break; | |
case Ta: | |
a = function (e) { | |
return e ? '🟦' : '🟨' | |
}(i); | |
break; | |
case Ca: | |
a = function (e) { | |
return e ? '⬛' : '⬜' | |
}(n) | |
} | |
d += a | |
} | |
})), d += '\n') | |
})), | |
{ | |
text: ''.concat(l, '\n\n').concat(d.trimEnd()) | |
} | |
}({ | |
evaluations: e.gameApp.evaluations, | |
dayOffset: e.gameApp.dayOffset, | |
rowIndex: e.gameApp.rowIndex, | |
isHardMode: e.gameApp.hardMode, | |
isWin: e.gameApp.gameStatus === Za | |
}), (function () { | |
e.gameApp.addToast('Copied results to clipboard', 2000, !0) | |
}), (function () { | |
e.gameApp.addToast('Share failed', 2000, !0) | |
})) | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-stats', ys); | |
var gs = document.createElement('template'); | |
gs.innerHTML = '\n <style>\n :host {\n }\n .container {\n display: flex;\n justify-content: space-between;\n }\n .switch {\n height: 20px;\n width: 32px;\n vertical-align: middle;\n /* not quite right */\n background: var(--color-tone-3);\n border-radius: 999px;\n display: block;\n position: relative;\n }\n .knob {\n display: block;\n position: absolute;\n left: 2px;\n top: 2px;\n height: calc(100% - 4px);\n width: 50%;\n border-radius: 8px;\n background: var(--white);\n transform: translateX(0);\n transition: transform 0.3s;\n }\n :host([checked]) .switch {\n background: var(--color-correct);\n }\n :host([checked]) .knob {\n transform: translateX(calc(100% - 4px));\n }\n :host([disabled]) .switch {\n opacity: 0.5;\n }\n </style>\n <div class="container">\n <label><slot></slot></label>\n <div class="switch">\n <span class="knob"></div>\n </div>\n </div>\n'; | |
var bs = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(gs.content.cloneNode(!0)), | |
this.shadowRoot.querySelector('.container').addEventListener('click', (function (a) { | |
a.stopPropagation(), | |
e.hasAttribute('checked') ? e.removeAttribute('checked') : e.setAttribute('checked', ''), | |
e.dispatchEvent(new CustomEvent('game-switch-change', { | |
bubbles: !0, | |
composed: !0, | |
detail: { | |
name: e.getAttribute('name'), | |
checked: e.hasAttribute('checked'), | |
disabled: e.hasAttribute('disabled') | |
} | |
})) | |
})) | |
} | |
} | |
], [ | |
{ | |
key: 'observedAttributes', | |
get: function () { | |
return ['checked'] | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-switch', bs); | |
var fs = document.createElement('template'); | |
fs.innerHTML = '\n <style>\n .instructions {\n font-size: 14px;\n color: var(--color-tone-1)\n }\n\n .examples {\n border-bottom: 1px solid var(--color-tone-4);\n border-top: 1px solid var(--color-tone-4);\n }\n\n .example {\n margin-top: 24px;\n margin-bottom: 24px;\n }\n\n game-tile {\n width: 40px;\n height: 40px;\n }\n\n :host([page]) section {\n padding: 16px;\n padding-top: 0px;\n }\n\n </style>\n <section>\n <div class="instructions">\n <p>Gok het <strong>WOORDLE</strong> in 6 keer.</p>\n <p>Na elke gok zullen de kleuren van de vakjes aangeven hoe dichtbij je was.</p>\n <div class="examples">\n <div class="example">\n <div class="row">\n <game-tile letter="w" evaluation="correct" reveal></game-tile>\n <game-tile letter="o"></game-tile>\n <game-tile letter="o"></game-tile>\n <game-tile letter="r"></game-tile>\n <game-tile letter="d"></game-tile>\n </div>\n <p>De letter <strong>W</strong> zit op de juiste plek in het woord.</p>\n </div>\n <div class="example">\n <div class="row">\n <game-tile letter="p"></game-tile>\n <game-tile letter="u" evaluation="present" reveal></game-tile>\n <game-tile letter="p"></game-tile>\n <game-tile letter="i"></game-tile>\n <game-tile letter="l"></game-tile>\n </div>\n <p>De letter <strong>U</strong> zit in het woord maar op een andere plek.</p>\n </div>\n <div class="example">\n <div class="row">\n <game-tile letter="t"></game-tile>\n <game-tile letter="r"></game-tile>\n <game-tile letter="o"></game-tile>\n <game-tile letter="e" evaluation="absent" reveal></game-tile>\n <game-tile letter="p"></game-tile>\n </div>\n <p>De letter <strong>E</strong> zit helemaal niet in het woord.</p>\n </div>\n </div>\n <p><strong>Elke dag komt er een nieuwe WOORDLE beschikbaar!<strong></p><p>WORDLE is a game by <a href="https://twitter.com/powerlanguish">Josh Wardle</a>, the original can be found here: <a href="https://www.powerlanguage.co.uk/wordle/">www.powerlanguage.co.uk/wordle</a>. This version was translated by <a href="https://twitter.com/pingiun_">yele</a>.</p>\n </div>\n </section>\n'; | |
var ks = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
this.shadowRoot.appendChild(fs.content.cloneNode(!0)) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-help', ks); | |
var vs = document.createElement('template'); | |
vs.innerHTML = '\n <style>\n .overlay {\n display: none;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n justify-content: center;\n background-color: var(--color-background);\n animation: SlideIn 100ms linear;\n z-index: '.concat(2000, ';\n }\n\n :host([open]) .overlay {\n display: flex;\n }\n\n .content {\n position: relative;\n color: var(--color-tone-1);\n padding: 0 32px;\n max-width: var(--game-max-width);\n width: 100%;\n overflow-y: auto;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .content-container {\n height: 100%;\n }\n\n .overlay.closing {\n animation: SlideOut 150ms linear;\n }\n\n header {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n }\n\n h1 {\n font-weight: 700;\n font-size: 16px;\n letter-spacing: 0.5px;\n text-transform: uppercase;\n text-align: center;\n margin-bottom: 10px;\n }\n\n game-icon {\n position: absolute;\n right: 0;\n user-select: none;\n cursor: pointer;\n }\n\n @media only screen and (min-device-width : 320px) and (max-device-width : 480px) {\n .content {\n max-width: 100%;\n padding: 0;\n }\n game-icon {\n padding: 0 16px;\n }\n }\n\n @keyframes SlideIn {\n 0% {\n transform: translateY(30px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0px);\n opacity: 1;\n }\n }\n @keyframes SlideOut {\n 0% {\n transform: translateY(0px);\n opacity: 1;\n }\n 90% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n transform: translateY(60px);\n }\n }\n </style>\n <div class="overlay">\n <div class="content">\n <header>\n <h1><slot></slot></h1>\n <game-icon icon="close"></game-icon>\n </header>\n <div class="content-container">\n <slot name="content"></slot>\n </div>\n </div>\n </div>\n'); | |
var ws = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(vs.content.cloneNode(!0)), | |
this.shadowRoot.querySelector('game-icon').addEventListener('click', (function (a) { | |
e.shadowRoot.querySelector('.overlay').classList.add('closing') | |
})), | |
this.shadowRoot.addEventListener('animationend', (function (a) { | |
'SlideOut' === a.animationName && (e.shadowRoot.querySelector('.overlay').classList.remove('closing'), Array.from(e.childNodes).forEach((function (a) { | |
e.removeChild(a) | |
})), e.removeAttribute('open')) | |
})) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-page', ws); | |
var xs = document.createElement('template'); | |
xs.innerHTML = '\n <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">\n <path fill=var(--color-tone-3) />\n </svg>\n'; | |
var zs = { | |
help: 'M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z', | |
settings: 'M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z', | |
backspace: 'M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z', | |
close: 'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z', | |
share: 'M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92zM18 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm12 7.02c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z' | |
}, | |
js = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
return s(this, t), | |
(e = a.call(this)).attachShadow({ | |
mode: 'open' | |
}), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
this.shadowRoot.appendChild(xs.content.cloneNode(!0)); | |
var e = this.getAttribute('icon'); | |
this.shadowRoot.querySelector('path').setAttribute('d', zs[e]), | |
'backspace' === e && this.shadowRoot.querySelector('path').setAttribute('fill', 'var(--color-tone-1)'), | |
'share' === e && this.shadowRoot.querySelector('path').setAttribute('fill', 'var(--white)') | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
customElements.define('game-icon', js); | |
var Ss = document.createElement('template'); | |
Ss.innerHTML = '\n <div id="timer"></div>\n'; | |
var _s = 60000, | |
qs = 3600000, | |
Es = function (e) { | |
n(t, e); | |
var a = h(t); | |
function t() { | |
var e; | |
s(this, t), | |
r(p(e = a.call(this)), 'targetEpochMS', void 0), | |
r(p(e), 'intervalId', void 0), | |
r(p(e), '$timer', void 0), | |
e.attachShadow({ | |
mode: 'open' | |
}); | |
var o = new Date; | |
return o.setDate(o.getDate() + 1), | |
o.setHours(0, 0, 0, 0), | |
e.targetEpochMS = o.getTime(), | |
e | |
} | |
return o(t, [ | |
{ | |
key: 'padDigit', | |
value: function (e) { | |
return e.toString().padStart(2, '0') | |
} | |
}, | |
{ | |
key: 'updateTimer', | |
value: function () { | |
var e = (new Date).getTime(), | |
a = Math.floor(this.targetEpochMS - e), | |
s = Math.floor(a % 86400000 / qs), | |
t = Math.floor(a % qs / _s), | |
o = Math.floor(a % _s / 1000), | |
r = ''.concat(this.padDigit(s), ':').concat(this.padDigit(t), ':').concat(this.padDigit(o)); | |
this.$timer.textContent = r | |
} | |
}, | |
{ | |
key: 'connectedCallback', | |
value: function () { | |
var e = this; | |
this.shadowRoot.appendChild(Ss.content.cloneNode(!0)), | |
this.$timer = this.shadowRoot.querySelector('#timer'), | |
this.intervalId = setInterval((function () { | |
e.updateTimer() | |
}), 200) | |
} | |
} | |
]), | |
t | |
}(c(HTMLElement)); | |
return customElements.define('countdown-timer', Es), | |
e.CountdownTimer = Es, | |
e.GameApp = ss, | |
e.GameHelp = ks, | |
e.GameIcon = js, | |
e.GameKeyboard = ds, | |
e.GameModal = os, | |
e.GamePage = ws, | |
e.GameRow = x, | |
e.GameSettings = _a, | |
e.GameStats = ys, | |
e.GameSwitch = bs, | |
e.GameThemeManager = _, | |
e.GameTile = v, | |
e.GameToast = Ea, | |
Object.defineProperty(e, '__esModule', { | |
value: !0 | |
}), | |
e | |
}({ | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"short_name": "Woordle", | |
"name": "Woordle", | |
"icons": [ | |
{ | |
"src": "woordle_logo_48x48.png", | |
"type": "image/png", | |
"sizes": "48x48" | |
}, | |
{ | |
"src": "woordle_logo_72x72.png", | |
"type": "image/png", | |
"sizes": "72x72" | |
}, | |
{ | |
"src": "woordle_logo_96x96.png", | |
"type": "image/png", | |
"sizes": "96x96" | |
}, | |
{ | |
"src": "woordle_logo_144x144.png", | |
"type": "image/png", | |
"sizes": "144x144" | |
}, | |
{ | |
"src": "woordle_logo_168x168.png", | |
"type": "image/png", | |
"sizes": "168x168" | |
}, | |
{ | |
"src": "woordle_logo_192x192.png", | |
"type": "image/png", | |
"sizes": "192x192" | |
}, | |
{ | |
"src": "woordle_logo_512x512.png", | |
"type": "image/png", | |
"sizes": "512x512" | |
} | |
], | |
"start_url": "https://woordle.nl", | |
"background_color": "#6aaa64", | |
"display": "standalone", | |
"theme_color": "#6aaa64", | |
"description": "Een dagelijks woordspelletje" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment