diff --git a/js/svelte/spa-ssr/.gitignore b/js/svelte/spa-ssr/.gitignore
new file mode 100644
index 0000000..79518f7
--- /dev/null
+++ b/js/svelte/spa-ssr/.gitignore
@@ -0,0 +1,21 @@
+node_modules
+
+# Output
+.output
+.vercel
+/.svelte-kit
+/build
+
+# OS
+.DS_Store
+Thumbs.db
+
+# Env
+.env
+.env.*
+!.env.example
+!.env.test
+
+# Vite
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/js/svelte/spa-ssr/.npmrc b/js/svelte/spa-ssr/.npmrc
new file mode 100644
index 0000000..b6f27f1
--- /dev/null
+++ b/js/svelte/spa-ssr/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/js/svelte/spa-ssr/README.md b/js/svelte/spa-ssr/README.md
new file mode 100644
index 0000000..5ce6766
--- /dev/null
+++ b/js/svelte/spa-ssr/README.md
@@ -0,0 +1,38 @@
+# create-svelte
+
+Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
+
+```bash
+# create a new project in the current directory
+npm create svelte@latest
+
+# create a new project in my-app
+npm create svelte@latest my-app
+```
+
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+
+## Building
+
+To create a production version of your app:
+
+```bash
+npm run build
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/js/svelte/spa-ssr/package-lock.json b/js/svelte/spa-ssr/package-lock.json
new file mode 100644
index 0000000..e5c630e
--- /dev/null
+++ b/js/svelte/spa-ssr/package-lock.json
@@ -0,0 +1,2009 @@
+{
+ "name": "spa-ssr",
+ "version": "0.0.1",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "spa-ssr",
+ "version": "0.0.1",
+ "devDependencies": {
+ "@fontsource/fira-mono": "^4.5.10",
+ "@neoconfetti/svelte": "^1.0.0",
+ "@sveltejs/adapter-node": "^5.2.0",
+ "@sveltejs/kit": "^2.0.0",
+ "@sveltejs/vite-plugin-svelte": "^3.0.0",
+ "svelte": "^4.2.7",
+ "vite": "^5.0.3"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@fontsource/fira-mono": {
+ "version": "4.5.10",
+ "resolved": "https://registry.npmjs.org/@fontsource/fira-mono/-/fira-mono-4.5.10.tgz",
+ "integrity": "sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==",
+ "dev": true
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@neoconfetti/svelte": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@neoconfetti/svelte/-/svelte-1.0.0.tgz",
+ "integrity": "sha512-SmksyaJAdSlMa9cTidVSIqYo1qti+WTsviNDwgjNVm+KQ3DRP2Df9umDIzC4vCcpEYY+chQe0i2IKnLw03AT8Q==",
+ "dev": true
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.25",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
+ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-commonjs": {
+ "version": "26.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz",
+ "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "commondir": "^1.0.1",
+ "estree-walker": "^2.0.2",
+ "glob": "^10.4.1",
+ "is-reference": "1.2.1",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=16.0.0 || 14 >= 14.17"
+ },
+ "peerDependencies": {
+ "rollup": "^2.68.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@rollup/plugin-json": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz",
+ "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "15.2.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
+ "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
+ "deepmerge": "^4.2.2",
+ "is-builtin-module": "^3.2.1",
+ "is-module": "^1.0.0",
+ "resolve": "^1.22.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.78.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
+ "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz",
+ "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz",
+ "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz",
+ "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz",
+ "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz",
+ "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz",
+ "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz",
+ "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz",
+ "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz",
+ "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz",
+ "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz",
+ "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz",
+ "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz",
+ "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz",
+ "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz",
+ "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz",
+ "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@sveltejs/adapter-node": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.0.tgz",
+ "integrity": "sha512-HVZoei2078XSyPmvdTHE03VXDUD0ytTvMuMHMQP0j6zX4nPDpCcKrgvU7baEblMeCCMdM/shQvstFxOJPQKlUQ==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/plugin-commonjs": "^26.0.1",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^15.2.3",
+ "rollup": "^4.9.5"
+ },
+ "peerDependencies": {
+ "@sveltejs/kit": "^2.4.0"
+ }
+ },
+ "node_modules/@sveltejs/kit": {
+ "version": "2.5.18",
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.18.tgz",
+ "integrity": "sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@types/cookie": "^0.6.0",
+ "cookie": "^0.6.0",
+ "devalue": "^5.0.0",
+ "esm-env": "^1.0.0",
+ "import-meta-resolve": "^4.1.0",
+ "kleur": "^4.1.5",
+ "magic-string": "^0.30.5",
+ "mrmime": "^2.0.0",
+ "sade": "^1.8.1",
+ "set-cookie-parser": "^2.6.0",
+ "sirv": "^2.0.4",
+ "tiny-glob": "^0.2.9"
+ },
+ "bin": {
+ "svelte-kit": "svelte-kit.js"
+ },
+ "engines": {
+ "node": ">=18.13"
+ },
+ "peerDependencies": {
+ "@sveltejs/vite-plugin-svelte": "^3.0.0",
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
+ "vite": "^5.0.3"
+ }
+ },
+ "node_modules/@sveltejs/vite-plugin-svelte": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz",
+ "integrity": "sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==",
+ "dev": true,
+ "dependencies": {
+ "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0",
+ "debug": "^4.3.4",
+ "deepmerge": "^4.3.1",
+ "kleur": "^4.1.5",
+ "magic-string": "^0.30.10",
+ "svelte-hmr": "^0.16.0",
+ "vitefu": "^0.2.5"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20"
+ },
+ "peerDependencies": {
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
+ "vite": "^5.0.0"
+ }
+ },
+ "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz",
+ "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20"
+ },
+ "peerDependencies": {
+ "@sveltejs/vite-plugin-svelte": "^3.0.0",
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
+ "vite": "^5.0.0"
+ }
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+ "dev": true
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+ "dev": true
+ },
+ "node_modules/acorn": {
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/code-red": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
+ "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@types/estree": "^1.0.1",
+ "acorn": "^8.10.0",
+ "estree-walker": "^3.0.3",
+ "periscopic": "^3.1.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+ "dev": true
+ },
+ "node_modules/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
+ "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/devalue": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz",
+ "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==",
+ "dev": true
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/esm-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz",
+ "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==",
+ "dev": true
+ },
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
+ "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/globalyzer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
+ "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
+ "dev": true
+ },
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/import-meta-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
+ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-builtin-module": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+ "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
+ "dev": true,
+ "dependencies": {
+ "builtin-modules": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
+ "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+ "dev": true
+ },
+ "node_modules/is-reference": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
+ "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/locate-character": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.10",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+ "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/mri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mrmime": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+ "dev": true
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/periscopic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
+ "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^3.0.0",
+ "is-reference": "^3.0.0"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.40",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
+ "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.1",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz",
+ "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.19.1",
+ "@rollup/rollup-android-arm64": "4.19.1",
+ "@rollup/rollup-darwin-arm64": "4.19.1",
+ "@rollup/rollup-darwin-x64": "4.19.1",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.19.1",
+ "@rollup/rollup-linux-arm-musleabihf": "4.19.1",
+ "@rollup/rollup-linux-arm64-gnu": "4.19.1",
+ "@rollup/rollup-linux-arm64-musl": "4.19.1",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1",
+ "@rollup/rollup-linux-riscv64-gnu": "4.19.1",
+ "@rollup/rollup-linux-s390x-gnu": "4.19.1",
+ "@rollup/rollup-linux-x64-gnu": "4.19.1",
+ "@rollup/rollup-linux-x64-musl": "4.19.1",
+ "@rollup/rollup-win32-arm64-msvc": "4.19.1",
+ "@rollup/rollup-win32-ia32-msvc": "4.19.1",
+ "@rollup/rollup-win32-x64-msvc": "4.19.1",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/sade": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dev": true,
+ "dependencies": {
+ "mri": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/set-cookie-parser": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
+ "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==",
+ "dev": true
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/sirv": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
+ "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
+ "dev": true,
+ "dependencies": {
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svelte": {
+ "version": "4.2.18",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz",
+ "integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/estree": "^1.0.1",
+ "acorn": "^8.9.0",
+ "aria-query": "^5.3.0",
+ "axobject-query": "^4.0.0",
+ "code-red": "^1.0.3",
+ "css-tree": "^2.3.1",
+ "estree-walker": "^3.0.3",
+ "is-reference": "^3.0.1",
+ "locate-character": "^3.0.0",
+ "magic-string": "^0.30.4",
+ "periscopic": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/svelte-hmr": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
+ "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20 || ^14.13.1 || >= 16"
+ },
+ "peerDependencies": {
+ "svelte": "^3.19.0 || ^4.0.0"
+ }
+ },
+ "node_modules/tiny-glob": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
+ "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
+ "dev": true,
+ "dependencies": {
+ "globalyzer": "0.1.0",
+ "globrex": "^0.1.2"
+ }
+ },
+ "node_modules/totalist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz",
+ "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.39",
+ "rollup": "^4.13.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitefu": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
+ "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
+ "dev": true,
+ "peerDependencies": {
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ }
+ }
+}
diff --git a/js/svelte/spa-ssr/package.json b/js/svelte/spa-ssr/package.json
new file mode 100644
index 0000000..7442bf8
--- /dev/null
+++ b/js/svelte/spa-ssr/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "spa-ssr",
+ "version": "0.0.1",
+ "scripts": {
+ "dev": "vite dev",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "@fontsource/fira-mono": "^4.5.10",
+ "@neoconfetti/svelte": "^1.0.0",
+ "@sveltejs/adapter-node": "^5.2.0",
+ "@sveltejs/kit": "^2.0.0",
+ "@sveltejs/vite-plugin-svelte": "^3.0.0",
+ "svelte": "^4.2.7",
+ "vite": "^5.0.3"
+ },
+ "type": "module"
+}
diff --git a/js/svelte/spa-ssr/src/app.css b/js/svelte/spa-ssr/src/app.css
new file mode 100644
index 0000000..1441d94
--- /dev/null
+++ b/js/svelte/spa-ssr/src/app.css
@@ -0,0 +1,107 @@
+@import '@fontsource/fira-mono';
+
+:root {
+ --font-body: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ --font-mono: 'Fira Mono', monospace;
+ --color-bg-0: rgb(202, 216, 228);
+ --color-bg-1: hsl(209, 36%, 86%);
+ --color-bg-2: hsl(224, 44%, 95%);
+ --color-theme-1: #ff3e00;
+ --color-theme-2: #4075a6;
+ --color-text: rgba(0, 0, 0, 0.7);
+ --column-width: 42rem;
+ --column-margin-top: 4rem;
+ font-family: var(--font-body);
+ color: var(--color-text);
+}
+
+body {
+ min-height: 100vh;
+ margin: 0;
+ background-attachment: fixed;
+ background-color: var(--color-bg-1);
+ background-size: 100vw 100vh;
+ background-image: radial-gradient(
+ 50% 50% at 50% 50%,
+ rgba(255, 255, 255, 0.75) 0%,
+ rgba(255, 255, 255, 0) 100%
+ ),
+ linear-gradient(180deg, var(--color-bg-0) 0%, var(--color-bg-1) 15%, var(--color-bg-2) 50%);
+}
+
+h1,
+h2,
+p {
+ font-weight: 400;
+}
+
+p {
+ line-height: 1.5;
+}
+
+a {
+ color: var(--color-theme-1);
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+h1 {
+ font-size: 2rem;
+ text-align: center;
+}
+
+h2 {
+ font-size: 1rem;
+}
+
+pre {
+ font-size: 16px;
+ font-family: var(--font-mono);
+ background-color: rgba(255, 255, 255, 0.45);
+ border-radius: 3px;
+ box-shadow: 2px 2px 6px rgb(255 255 255 / 25%);
+ padding: 0.5em;
+ overflow-x: auto;
+ color: var(--color-text);
+}
+
+.text-column {
+ display: flex;
+ max-width: 48rem;
+ flex: 0.6;
+ flex-direction: column;
+ justify-content: center;
+ margin: 0 auto;
+}
+
+input,
+button {
+ font-size: inherit;
+ font-family: inherit;
+}
+
+button:focus:not(:focus-visible) {
+ outline: none;
+}
+
+@media (min-width: 720px) {
+ h1 {
+ font-size: 2.4rem;
+ }
+}
+
+.visually-hidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: auto;
+ margin: 0;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+ white-space: nowrap;
+}
diff --git a/js/svelte/spa-ssr/src/app.html b/js/svelte/spa-ssr/src/app.html
new file mode 100644
index 0000000..77a5ff5
--- /dev/null
+++ b/js/svelte/spa-ssr/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/js/svelte/spa-ssr/src/lib/images/github.svg b/js/svelte/spa-ssr/src/lib/images/github.svg
new file mode 100644
index 0000000..bc5d249
--- /dev/null
+++ b/js/svelte/spa-ssr/src/lib/images/github.svg
@@ -0,0 +1,16 @@
+
+
+
+
\ No newline at end of file
diff --git a/js/svelte/spa-ssr/src/lib/images/svelte-logo.svg b/js/svelte/spa-ssr/src/lib/images/svelte-logo.svg
new file mode 100644
index 0000000..49492a8
--- /dev/null
+++ b/js/svelte/spa-ssr/src/lib/images/svelte-logo.svg
@@ -0,0 +1 @@
+svelte-logo
\ No newline at end of file
diff --git a/js/svelte/spa-ssr/src/lib/images/svelte-welcome.png b/js/svelte/spa-ssr/src/lib/images/svelte-welcome.png
new file mode 100644
index 0000000..fe7d2d6
Binary files /dev/null and b/js/svelte/spa-ssr/src/lib/images/svelte-welcome.png differ
diff --git a/js/svelte/spa-ssr/src/lib/images/svelte-welcome.webp b/js/svelte/spa-ssr/src/lib/images/svelte-welcome.webp
new file mode 100644
index 0000000..6ec1a28
Binary files /dev/null and b/js/svelte/spa-ssr/src/lib/images/svelte-welcome.webp differ
diff --git a/js/svelte/spa-ssr/src/routes/+layout.server.js b/js/svelte/spa-ssr/src/routes/+layout.server.js
new file mode 100644
index 0000000..94ac251
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/+layout.server.js
@@ -0,0 +1,8 @@
+export const ssr = false;
+
+export const load = () => {
+ return {
+ data: Math.random(),
+ test: 'bueroganjkgasnjkdgl'
+ }
+}
diff --git a/js/svelte/spa-ssr/src/routes/+layout.svelte b/js/svelte/spa-ssr/src/routes/+layout.svelte
new file mode 100644
index 0000000..ccc5c9f
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/+layout.svelte
@@ -0,0 +1,53 @@
+
+
+
+
+
diff --git a/js/svelte/spa-ssr/src/routes/+page.js b/js/svelte/spa-ssr/src/routes/+page.js
new file mode 100644
index 0000000..a72419a
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/+page.js
@@ -0,0 +1,3 @@
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/js/svelte/spa-ssr/src/routes/+page.svelte b/js/svelte/spa-ssr/src/routes/+page.svelte
new file mode 100644
index 0000000..97201ef
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/+page.svelte
@@ -0,0 +1,59 @@
+
+
+
+ Home
+
+
+
+
+
+
+
+
+
+
+
+
+ to your new SvelteKit app
+
+
+
+ try editing src/routes/+page.svelte
+
+
+
+
+
+
diff --git a/js/svelte/spa-ssr/src/routes/Counter.svelte b/js/svelte/spa-ssr/src/routes/Counter.svelte
new file mode 100644
index 0000000..69a5b2a
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/Counter.svelte
@@ -0,0 +1,102 @@
+
+
+
+
(count -= 1)} aria-label="Decrease the counter by one">
+
+
+
+
+
+
+
+ {Math.floor($displayed_count + 1)}
+ {Math.floor($displayed_count)}
+
+
+
+
(count += 1)} aria-label="Increase the counter by one">
+
+
+
+
+
+
+
diff --git a/js/svelte/spa-ssr/src/routes/Header.svelte b/js/svelte/spa-ssr/src/routes/Header.svelte
new file mode 100644
index 0000000..368b721
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/Header.svelte
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/svelte/spa-ssr/src/routes/about/+page.js b/js/svelte/spa-ssr/src/routes/about/+page.js
new file mode 100644
index 0000000..e739ef4
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/about/+page.js
@@ -0,0 +1,9 @@
+import { dev } from '$app/environment';
+
+// we don't need any JS on this page, though we'll load
+// it in dev so that we get hot module replacement
+export const csr = dev;
+
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/js/svelte/spa-ssr/src/routes/about/+page.svelte b/js/svelte/spa-ssr/src/routes/about/+page.svelte
new file mode 100644
index 0000000..7f7946d
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/about/+page.svelte
@@ -0,0 +1,26 @@
+
+ About
+
+
+
+
+
About this app
+
+
+ This is a SvelteKit app. You can make your own by typing the
+ following into your command line and following the prompts:
+
+
+
npm create svelte@latest
+
+
+ The page you're looking at is purely static HTML, with no client-side interactivity needed.
+ Because of that, we don't need to load any JavaScript. Try viewing the page's source, or opening
+ the devtools network panel and reloading.
+
+
+
+ The Sverdle page illustrates SvelteKit's data loading and form handling. Try
+ using it with JavaScript disabled!
+
+
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/+page.server.js b/js/svelte/spa-ssr/src/routes/sverdle/+page.server.js
new file mode 100644
index 0000000..4b66954
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/+page.server.js
@@ -0,0 +1,68 @@
+import { fail } from '@sveltejs/kit';
+import { Game } from './game';
+
+export const load = ({ cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ return {
+ /**
+ * The player's guessed words so far
+ */
+ guesses: game.guesses,
+
+ /**
+ * An array of strings like '__x_c' corresponding to the guesses, where 'x' means
+ * an exact match, and 'c' means a close match (right letter, wrong place)
+ */
+ answers: game.answers,
+
+ /**
+ * The correct answer, revealed if the game is over
+ */
+ answer: game.answers.length >= 6 ? game.answer : null
+ };
+};
+
+export const actions = {
+ /**
+ * Modify game state in reaction to a keypress. If client-side JavaScript
+ * is available, this will happen in the browser instead of here
+ */
+ update: async ({ request, cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ const data = await request.formData();
+ const key = data.get('key');
+
+ const i = game.answers.length;
+
+ if (key === 'backspace') {
+ game.guesses[i] = game.guesses[i].slice(0, -1);
+ } else {
+ game.guesses[i] += key;
+ }
+
+ cookies.set('sverdle', game.toString(), { path: '/' });
+ },
+
+ /**
+ * Modify game state in reaction to a guessed word. This logic always runs on
+ * the server, so that people can't cheat by peeking at the JavaScript
+ */
+ enter: async ({ request, cookies }) => {
+ const game = new Game(cookies.get('sverdle'));
+
+ const data = await request.formData();
+ const guess = (data.getAll('guess'));
+
+ if (!game.enter(guess)) {
+ return fail(400, { badGuess: true });
+ }
+
+ cookies.set('sverdle', game.toString(), { path: '/' });
+ },
+
+ restart: async ({ cookies }) => {
+ cookies.delete('sverdle', { path: '/' });
+ }
+};
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/+page.svelte b/js/svelte/spa-ssr/src/routes/sverdle/+page.svelte
new file mode 100644
index 0000000..bf281e2
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/+page.svelte
@@ -0,0 +1,409 @@
+
+
+
+
+
+ Sverdle
+
+
+
+Sverdle
+
+
+
+{#if won}
+
+{/if}
+
+
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/game.js b/js/svelte/spa-ssr/src/routes/sverdle/game.js
new file mode 100644
index 0000000..5313f60
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/game.js
@@ -0,0 +1,70 @@
+import { words, allowed } from './words.server';
+
+export class Game {
+ /**
+ * Create a game object from the player's cookie, or initialise a new game
+ */
+ constructor(serialized = undefined) {
+ if (serialized) {
+ const [index, guesses, answers] = serialized.split('-');
+
+ this.index = +index;
+ this.guesses = guesses ? guesses.split(' ') : [];
+ this.answers = answers ? answers.split(' ') : [];
+ } else {
+ this.index = Math.floor(Math.random() * words.length);
+ this.guesses = ['', '', '', '', '', ''];
+ this.answers = ([]);
+ }
+
+ this.answer = words[this.index];
+ }
+
+ /**
+ * Update game state based on a guess of a five-letter word. Returns
+ * true if the guess was valid, false otherwise
+ */
+ enter(letters) {
+ const word = letters.join('');
+ const valid = allowed.has(word);
+
+ if (!valid) return false;
+
+ this.guesses[this.answers.length] = word;
+
+ const available = Array.from(this.answer);
+ const answer = Array(5).fill('_');
+
+ // first, find exact matches
+ for (let i = 0; i < 5; i += 1) {
+ if (letters[i] === available[i]) {
+ answer[i] = 'x';
+ available[i] = ' ';
+ }
+ }
+
+ // then find close matches (this has to happen
+ // in a second step, otherwise an early close
+ // match can prevent a later exact match)
+ for (let i = 0; i < 5; i += 1) {
+ if (answer[i] === '_') {
+ const index = available.indexOf(letters[i]);
+ if (index !== -1) {
+ answer[i] = 'c';
+ available[index] = ' ';
+ }
+ }
+ }
+
+ this.answers.push(answer.join(''));
+
+ return true;
+ }
+
+ /**
+ * Serialize game state so it can be set as a cookie
+ */
+ toString() {
+ return `${this.index}-${this.guesses.join(' ')}-${this.answers.join(' ')}`;
+ }
+}
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.js b/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.js
new file mode 100644
index 0000000..e739ef4
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.js
@@ -0,0 +1,9 @@
+import { dev } from '$app/environment';
+
+// we don't need any JS on this page, though we'll load
+// it in dev so that we get hot module replacement
+export const csr = dev;
+
+// since there's no dynamic data here, we can prerender
+// it so that it gets served as a static asset in production
+export const prerender = true;
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.svelte b/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.svelte
new file mode 100644
index 0000000..e8e2cec
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/how-to-play/+page.svelte
@@ -0,0 +1,95 @@
+
+ How to play Sverdle
+
+
+
+
+
How to play Sverdle
+
+
+ Sverdle is a clone of Wordle , the
+ word guessing game. To play, enter a five-letter English word. For example:
+
+
+
+ r
+ i
+ t
+ z
+ y
+
+
+
+ The y is in the right place. r and
+ t
+ are the right letters, but in the wrong place. The other letters are wrong, and can be discarded.
+ Let's make another guess:
+
+
+
+ p
+ a
+ r
+ t
+ y
+
+
+
This time we guessed right! You have six guesses to get the word.
+
+
+ Unlike the original Wordle, Sverdle runs on the server instead of in the browser, making it
+ impossible to cheat. It uses <form>
and cookies to submit data, meaning you can
+ even play with JavaScript disabled!
+
+
+
+
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/reduced-motion.js b/js/svelte/spa-ssr/src/routes/sverdle/reduced-motion.js
new file mode 100644
index 0000000..175edb2
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/reduced-motion.js
@@ -0,0 +1,23 @@
+import { readable } from 'svelte/store';
+import { browser } from '$app/environment';
+
+const reduced_motion_query = '(prefers-reduced-motion: reduce)';
+
+const get_initial_motion_preference = () => {
+ if (!browser) return false;
+ return window.matchMedia(reduced_motion_query).matches;
+};
+
+export const reduced_motion = readable(get_initial_motion_preference(), (set) => {
+ if (browser) {
+ const set_reduced_motion = (event) => {
+ set(event.matches);
+ };
+ const media_query_list = window.matchMedia(reduced_motion_query);
+ media_query_list.addEventListener('change', set_reduced_motion);
+
+ return () => {
+ media_query_list.removeEventListener('change', set_reduced_motion);
+ };
+ }
+});
diff --git a/js/svelte/spa-ssr/src/routes/sverdle/words.server.js b/js/svelte/spa-ssr/src/routes/sverdle/words.server.js
new file mode 100644
index 0000000..56082a3
--- /dev/null
+++ b/js/svelte/spa-ssr/src/routes/sverdle/words.server.js
@@ -0,0 +1,12980 @@
+/** The list of possible words */
+export const words = [
+ 'aback',
+ 'abase',
+ 'abate',
+ 'abbey',
+ 'abbot',
+ 'abhor',
+ 'abide',
+ 'abled',
+ 'abode',
+ 'abort',
+ 'about',
+ 'above',
+ 'abuse',
+ 'abyss',
+ 'acorn',
+ 'acrid',
+ 'actor',
+ 'acute',
+ 'adage',
+ 'adapt',
+ 'adept',
+ 'admin',
+ 'admit',
+ 'adobe',
+ 'adopt',
+ 'adore',
+ 'adorn',
+ 'adult',
+ 'affix',
+ 'afire',
+ 'afoot',
+ 'afoul',
+ 'after',
+ 'again',
+ 'agape',
+ 'agate',
+ 'agent',
+ 'agile',
+ 'aging',
+ 'aglow',
+ 'agony',
+ 'agora',
+ 'agree',
+ 'ahead',
+ 'aider',
+ 'aisle',
+ 'alarm',
+ 'album',
+ 'alert',
+ 'algae',
+ 'alibi',
+ 'alien',
+ 'align',
+ 'alike',
+ 'alive',
+ 'allay',
+ 'alley',
+ 'allot',
+ 'allow',
+ 'alloy',
+ 'aloft',
+ 'alone',
+ 'along',
+ 'aloof',
+ 'aloud',
+ 'alpha',
+ 'altar',
+ 'alter',
+ 'amass',
+ 'amaze',
+ 'amber',
+ 'amble',
+ 'amend',
+ 'amiss',
+ 'amity',
+ 'among',
+ 'ample',
+ 'amply',
+ 'amuse',
+ 'angel',
+ 'anger',
+ 'angle',
+ 'angry',
+ 'angst',
+ 'anime',
+ 'ankle',
+ 'annex',
+ 'annoy',
+ 'annul',
+ 'anode',
+ 'antic',
+ 'anvil',
+ 'aorta',
+ 'apart',
+ 'aphid',
+ 'aping',
+ 'apnea',
+ 'apple',
+ 'apply',
+ 'apron',
+ 'aptly',
+ 'arbor',
+ 'ardor',
+ 'arena',
+ 'argue',
+ 'arise',
+ 'armor',
+ 'aroma',
+ 'arose',
+ 'array',
+ 'arrow',
+ 'arson',
+ 'artsy',
+ 'ascot',
+ 'ashen',
+ 'aside',
+ 'askew',
+ 'assay',
+ 'asset',
+ 'atoll',
+ 'atone',
+ 'attic',
+ 'audio',
+ 'audit',
+ 'augur',
+ 'aunty',
+ 'avail',
+ 'avert',
+ 'avian',
+ 'avoid',
+ 'await',
+ 'awake',
+ 'award',
+ 'aware',
+ 'awash',
+ 'awful',
+ 'awoke',
+ 'axial',
+ 'axiom',
+ 'axion',
+ 'azure',
+ 'bacon',
+ 'badge',
+ 'badly',
+ 'bagel',
+ 'baggy',
+ 'baker',
+ 'baler',
+ 'balmy',
+ 'banal',
+ 'banjo',
+ 'barge',
+ 'baron',
+ 'basal',
+ 'basic',
+ 'basil',
+ 'basin',
+ 'basis',
+ 'baste',
+ 'batch',
+ 'bathe',
+ 'baton',
+ 'batty',
+ 'bawdy',
+ 'bayou',
+ 'beach',
+ 'beady',
+ 'beard',
+ 'beast',
+ 'beech',
+ 'beefy',
+ 'befit',
+ 'began',
+ 'begat',
+ 'beget',
+ 'begin',
+ 'begun',
+ 'being',
+ 'belch',
+ 'belie',
+ 'belle',
+ 'belly',
+ 'below',
+ 'bench',
+ 'beret',
+ 'berry',
+ 'berth',
+ 'beset',
+ 'betel',
+ 'bevel',
+ 'bezel',
+ 'bible',
+ 'bicep',
+ 'biddy',
+ 'bigot',
+ 'bilge',
+ 'billy',
+ 'binge',
+ 'bingo',
+ 'biome',
+ 'birch',
+ 'birth',
+ 'bison',
+ 'bitty',
+ 'black',
+ 'blade',
+ 'blame',
+ 'bland',
+ 'blank',
+ 'blare',
+ 'blast',
+ 'blaze',
+ 'bleak',
+ 'bleat',
+ 'bleed',
+ 'bleep',
+ 'blend',
+ 'bless',
+ 'blimp',
+ 'blind',
+ 'blink',
+ 'bliss',
+ 'blitz',
+ 'bloat',
+ 'block',
+ 'bloke',
+ 'blond',
+ 'blood',
+ 'bloom',
+ 'blown',
+ 'bluer',
+ 'bluff',
+ 'blunt',
+ 'blurb',
+ 'blurt',
+ 'blush',
+ 'board',
+ 'boast',
+ 'bobby',
+ 'boney',
+ 'bongo',
+ 'bonus',
+ 'booby',
+ 'boost',
+ 'booth',
+ 'booty',
+ 'booze',
+ 'boozy',
+ 'borax',
+ 'borne',
+ 'bosom',
+ 'bossy',
+ 'botch',
+ 'bough',
+ 'boule',
+ 'bound',
+ 'bowel',
+ 'boxer',
+ 'brace',
+ 'braid',
+ 'brain',
+ 'brake',
+ 'brand',
+ 'brash',
+ 'brass',
+ 'brave',
+ 'bravo',
+ 'brawl',
+ 'brawn',
+ 'bread',
+ 'break',
+ 'breed',
+ 'briar',
+ 'bribe',
+ 'brick',
+ 'bride',
+ 'brief',
+ 'brine',
+ 'bring',
+ 'brink',
+ 'briny',
+ 'brisk',
+ 'broad',
+ 'broil',
+ 'broke',
+ 'brood',
+ 'brook',
+ 'broom',
+ 'broth',
+ 'brown',
+ 'brunt',
+ 'brush',
+ 'brute',
+ 'buddy',
+ 'budge',
+ 'buggy',
+ 'bugle',
+ 'build',
+ 'built',
+ 'bulge',
+ 'bulky',
+ 'bully',
+ 'bunch',
+ 'bunny',
+ 'burly',
+ 'burnt',
+ 'burst',
+ 'bused',
+ 'bushy',
+ 'butch',
+ 'butte',
+ 'buxom',
+ 'buyer',
+ 'bylaw',
+ 'cabal',
+ 'cabby',
+ 'cabin',
+ 'cable',
+ 'cacao',
+ 'cache',
+ 'cacti',
+ 'caddy',
+ 'cadet',
+ 'cagey',
+ 'cairn',
+ 'camel',
+ 'cameo',
+ 'canal',
+ 'candy',
+ 'canny',
+ 'canoe',
+ 'canon',
+ 'caper',
+ 'caput',
+ 'carat',
+ 'cargo',
+ 'carol',
+ 'carry',
+ 'carve',
+ 'caste',
+ 'catch',
+ 'cater',
+ 'catty',
+ 'caulk',
+ 'cause',
+ 'cavil',
+ 'cease',
+ 'cedar',
+ 'cello',
+ 'chafe',
+ 'chaff',
+ 'chain',
+ 'chair',
+ 'chalk',
+ 'champ',
+ 'chant',
+ 'chaos',
+ 'chard',
+ 'charm',
+ 'chart',
+ 'chase',
+ 'chasm',
+ 'cheap',
+ 'cheat',
+ 'check',
+ 'cheek',
+ 'cheer',
+ 'chess',
+ 'chest',
+ 'chick',
+ 'chide',
+ 'chief',
+ 'child',
+ 'chili',
+ 'chill',
+ 'chime',
+ 'china',
+ 'chirp',
+ 'chock',
+ 'choir',
+ 'choke',
+ 'chord',
+ 'chore',
+ 'chose',
+ 'chuck',
+ 'chump',
+ 'chunk',
+ 'churn',
+ 'chute',
+ 'cider',
+ 'cigar',
+ 'cinch',
+ 'circa',
+ 'civic',
+ 'civil',
+ 'clack',
+ 'claim',
+ 'clamp',
+ 'clang',
+ 'clank',
+ 'clash',
+ 'clasp',
+ 'class',
+ 'clean',
+ 'clear',
+ 'cleat',
+ 'cleft',
+ 'clerk',
+ 'click',
+ 'cliff',
+ 'climb',
+ 'cling',
+ 'clink',
+ 'cloak',
+ 'clock',
+ 'clone',
+ 'close',
+ 'cloth',
+ 'cloud',
+ 'clout',
+ 'clove',
+ 'clown',
+ 'cluck',
+ 'clued',
+ 'clump',
+ 'clung',
+ 'coach',
+ 'coast',
+ 'cobra',
+ 'cocoa',
+ 'colon',
+ 'color',
+ 'comet',
+ 'comfy',
+ 'comic',
+ 'comma',
+ 'conch',
+ 'condo',
+ 'conic',
+ 'copse',
+ 'coral',
+ 'corer',
+ 'corny',
+ 'couch',
+ 'cough',
+ 'could',
+ 'count',
+ 'coupe',
+ 'court',
+ 'coven',
+ 'cover',
+ 'covet',
+ 'covey',
+ 'cower',
+ 'coyly',
+ 'crack',
+ 'craft',
+ 'cramp',
+ 'crane',
+ 'crank',
+ 'crash',
+ 'crass',
+ 'crate',
+ 'crave',
+ 'crawl',
+ 'craze',
+ 'crazy',
+ 'creak',
+ 'cream',
+ 'credo',
+ 'creed',
+ 'creek',
+ 'creep',
+ 'creme',
+ 'crepe',
+ 'crept',
+ 'cress',
+ 'crest',
+ 'crick',
+ 'cried',
+ 'crier',
+ 'crime',
+ 'crimp',
+ 'crisp',
+ 'croak',
+ 'crock',
+ 'crone',
+ 'crony',
+ 'crook',
+ 'cross',
+ 'croup',
+ 'crowd',
+ 'crown',
+ 'crude',
+ 'cruel',
+ 'crumb',
+ 'crump',
+ 'crush',
+ 'crust',
+ 'crypt',
+ 'cubic',
+ 'cumin',
+ 'curio',
+ 'curly',
+ 'curry',
+ 'curse',
+ 'curve',
+ 'curvy',
+ 'cutie',
+ 'cyber',
+ 'cycle',
+ 'cynic',
+ 'daddy',
+ 'daily',
+ 'dairy',
+ 'daisy',
+ 'dally',
+ 'dance',
+ 'dandy',
+ 'datum',
+ 'daunt',
+ 'dealt',
+ 'death',
+ 'debar',
+ 'debit',
+ 'debug',
+ 'debut',
+ 'decal',
+ 'decay',
+ 'decor',
+ 'decoy',
+ 'decry',
+ 'defer',
+ 'deign',
+ 'deity',
+ 'delay',
+ 'delta',
+ 'delve',
+ 'demon',
+ 'demur',
+ 'denim',
+ 'dense',
+ 'depot',
+ 'depth',
+ 'derby',
+ 'deter',
+ 'detox',
+ 'deuce',
+ 'devil',
+ 'diary',
+ 'dicey',
+ 'digit',
+ 'dilly',
+ 'dimly',
+ 'diner',
+ 'dingo',
+ 'dingy',
+ 'diode',
+ 'dirge',
+ 'dirty',
+ 'disco',
+ 'ditch',
+ 'ditto',
+ 'ditty',
+ 'diver',
+ 'dizzy',
+ 'dodge',
+ 'dodgy',
+ 'dogma',
+ 'doing',
+ 'dolly',
+ 'donor',
+ 'donut',
+ 'dopey',
+ 'doubt',
+ 'dough',
+ 'dowdy',
+ 'dowel',
+ 'downy',
+ 'dowry',
+ 'dozen',
+ 'draft',
+ 'drain',
+ 'drake',
+ 'drama',
+ 'drank',
+ 'drape',
+ 'drawl',
+ 'drawn',
+ 'dread',
+ 'dream',
+ 'dress',
+ 'dried',
+ 'drier',
+ 'drift',
+ 'drill',
+ 'drink',
+ 'drive',
+ 'droit',
+ 'droll',
+ 'drone',
+ 'drool',
+ 'droop',
+ 'dross',
+ 'drove',
+ 'drown',
+ 'druid',
+ 'drunk',
+ 'dryer',
+ 'dryly',
+ 'duchy',
+ 'dully',
+ 'dummy',
+ 'dumpy',
+ 'dunce',
+ 'dusky',
+ 'dusty',
+ 'dutch',
+ 'duvet',
+ 'dwarf',
+ 'dwell',
+ 'dwelt',
+ 'dying',
+ 'eager',
+ 'eagle',
+ 'early',
+ 'earth',
+ 'easel',
+ 'eaten',
+ 'eater',
+ 'ebony',
+ 'eclat',
+ 'edict',
+ 'edify',
+ 'eerie',
+ 'egret',
+ 'eight',
+ 'eject',
+ 'eking',
+ 'elate',
+ 'elbow',
+ 'elder',
+ 'elect',
+ 'elegy',
+ 'elfin',
+ 'elide',
+ 'elite',
+ 'elope',
+ 'elude',
+ 'email',
+ 'embed',
+ 'ember',
+ 'emcee',
+ 'empty',
+ 'enact',
+ 'endow',
+ 'enema',
+ 'enemy',
+ 'enjoy',
+ 'ennui',
+ 'ensue',
+ 'enter',
+ 'entry',
+ 'envoy',
+ 'epoch',
+ 'epoxy',
+ 'equal',
+ 'equip',
+ 'erase',
+ 'erect',
+ 'erode',
+ 'error',
+ 'erupt',
+ 'essay',
+ 'ester',
+ 'ether',
+ 'ethic',
+ 'ethos',
+ 'etude',
+ 'evade',
+ 'event',
+ 'every',
+ 'evict',
+ 'evoke',
+ 'exact',
+ 'exalt',
+ 'excel',
+ 'exert',
+ 'exile',
+ 'exist',
+ 'expel',
+ 'extol',
+ 'extra',
+ 'exult',
+ 'eying',
+ 'fable',
+ 'facet',
+ 'faint',
+ 'fairy',
+ 'faith',
+ 'false',
+ 'fancy',
+ 'fanny',
+ 'farce',
+ 'fatal',
+ 'fatty',
+ 'fault',
+ 'fauna',
+ 'favor',
+ 'feast',
+ 'fecal',
+ 'feign',
+ 'fella',
+ 'felon',
+ 'femme',
+ 'femur',
+ 'fence',
+ 'feral',
+ 'ferry',
+ 'fetal',
+ 'fetch',
+ 'fetid',
+ 'fetus',
+ 'fever',
+ 'fewer',
+ 'fiber',
+ 'fibre',
+ 'ficus',
+ 'field',
+ 'fiend',
+ 'fiery',
+ 'fifth',
+ 'fifty',
+ 'fight',
+ 'filer',
+ 'filet',
+ 'filly',
+ 'filmy',
+ 'filth',
+ 'final',
+ 'finch',
+ 'finer',
+ 'first',
+ 'fishy',
+ 'fixer',
+ 'fizzy',
+ 'fjord',
+ 'flack',
+ 'flail',
+ 'flair',
+ 'flake',
+ 'flaky',
+ 'flame',
+ 'flank',
+ 'flare',
+ 'flash',
+ 'flask',
+ 'fleck',
+ 'fleet',
+ 'flesh',
+ 'flick',
+ 'flier',
+ 'fling',
+ 'flint',
+ 'flirt',
+ 'float',
+ 'flock',
+ 'flood',
+ 'floor',
+ 'flora',
+ 'floss',
+ 'flour',
+ 'flout',
+ 'flown',
+ 'fluff',
+ 'fluid',
+ 'fluke',
+ 'flume',
+ 'flung',
+ 'flunk',
+ 'flush',
+ 'flute',
+ 'flyer',
+ 'foamy',
+ 'focal',
+ 'focus',
+ 'foggy',
+ 'foist',
+ 'folio',
+ 'folly',
+ 'foray',
+ 'force',
+ 'forge',
+ 'forgo',
+ 'forte',
+ 'forth',
+ 'forty',
+ 'forum',
+ 'found',
+ 'foyer',
+ 'frail',
+ 'frame',
+ 'frank',
+ 'fraud',
+ 'freak',
+ 'freed',
+ 'freer',
+ 'fresh',
+ 'friar',
+ 'fried',
+ 'frill',
+ 'frisk',
+ 'fritz',
+ 'frock',
+ 'frond',
+ 'front',
+ 'frost',
+ 'froth',
+ 'frown',
+ 'froze',
+ 'fruit',
+ 'fudge',
+ 'fugue',
+ 'fully',
+ 'fungi',
+ 'funky',
+ 'funny',
+ 'furor',
+ 'furry',
+ 'fussy',
+ 'fuzzy',
+ 'gaffe',
+ 'gaily',
+ 'gamer',
+ 'gamma',
+ 'gamut',
+ 'gassy',
+ 'gaudy',
+ 'gauge',
+ 'gaunt',
+ 'gauze',
+ 'gavel',
+ 'gawky',
+ 'gayer',
+ 'gayly',
+ 'gazer',
+ 'gecko',
+ 'geeky',
+ 'geese',
+ 'genie',
+ 'genre',
+ 'ghost',
+ 'ghoul',
+ 'giant',
+ 'giddy',
+ 'gipsy',
+ 'girly',
+ 'girth',
+ 'given',
+ 'giver',
+ 'glade',
+ 'gland',
+ 'glare',
+ 'glass',
+ 'glaze',
+ 'gleam',
+ 'glean',
+ 'glide',
+ 'glint',
+ 'gloat',
+ 'globe',
+ 'gloom',
+ 'glory',
+ 'gloss',
+ 'glove',
+ 'glyph',
+ 'gnash',
+ 'gnome',
+ 'godly',
+ 'going',
+ 'golem',
+ 'golly',
+ 'gonad',
+ 'goner',
+ 'goody',
+ 'gooey',
+ 'goofy',
+ 'goose',
+ 'gorge',
+ 'gouge',
+ 'gourd',
+ 'grace',
+ 'grade',
+ 'graft',
+ 'grail',
+ 'grain',
+ 'grand',
+ 'grant',
+ 'grape',
+ 'graph',
+ 'grasp',
+ 'grass',
+ 'grate',
+ 'grave',
+ 'gravy',
+ 'graze',
+ 'great',
+ 'greed',
+ 'green',
+ 'greet',
+ 'grief',
+ 'grill',
+ 'grime',
+ 'grimy',
+ 'grind',
+ 'gripe',
+ 'groan',
+ 'groin',
+ 'groom',
+ 'grope',
+ 'gross',
+ 'group',
+ 'grout',
+ 'grove',
+ 'growl',
+ 'grown',
+ 'gruel',
+ 'gruff',
+ 'grunt',
+ 'guard',
+ 'guava',
+ 'guess',
+ 'guest',
+ 'guide',
+ 'guild',
+ 'guile',
+ 'guilt',
+ 'guise',
+ 'gulch',
+ 'gully',
+ 'gumbo',
+ 'gummy',
+ 'guppy',
+ 'gusto',
+ 'gusty',
+ 'gypsy',
+ 'habit',
+ 'hairy',
+ 'halve',
+ 'handy',
+ 'happy',
+ 'hardy',
+ 'harem',
+ 'harpy',
+ 'harry',
+ 'harsh',
+ 'haste',
+ 'hasty',
+ 'hatch',
+ 'hater',
+ 'haunt',
+ 'haute',
+ 'haven',
+ 'havoc',
+ 'hazel',
+ 'heady',
+ 'heard',
+ 'heart',
+ 'heath',
+ 'heave',
+ 'heavy',
+ 'hedge',
+ 'hefty',
+ 'heist',
+ 'helix',
+ 'hello',
+ 'hence',
+ 'heron',
+ 'hilly',
+ 'hinge',
+ 'hippo',
+ 'hippy',
+ 'hitch',
+ 'hoard',
+ 'hobby',
+ 'hoist',
+ 'holly',
+ 'homer',
+ 'honey',
+ 'honor',
+ 'horde',
+ 'horny',
+ 'horse',
+ 'hotel',
+ 'hotly',
+ 'hound',
+ 'house',
+ 'hovel',
+ 'hover',
+ 'howdy',
+ 'human',
+ 'humid',
+ 'humor',
+ 'humph',
+ 'humus',
+ 'hunch',
+ 'hunky',
+ 'hurry',
+ 'husky',
+ 'hussy',
+ 'hutch',
+ 'hydro',
+ 'hyena',
+ 'hymen',
+ 'hyper',
+ 'icily',
+ 'icing',
+ 'ideal',
+ 'idiom',
+ 'idiot',
+ 'idler',
+ 'idyll',
+ 'igloo',
+ 'iliac',
+ 'image',
+ 'imbue',
+ 'impel',
+ 'imply',
+ 'inane',
+ 'inbox',
+ 'incur',
+ 'index',
+ 'inept',
+ 'inert',
+ 'infer',
+ 'ingot',
+ 'inlay',
+ 'inlet',
+ 'inner',
+ 'input',
+ 'inter',
+ 'intro',
+ 'ionic',
+ 'irate',
+ 'irony',
+ 'islet',
+ 'issue',
+ 'itchy',
+ 'ivory',
+ 'jaunt',
+ 'jazzy',
+ 'jelly',
+ 'jerky',
+ 'jetty',
+ 'jewel',
+ 'jiffy',
+ 'joint',
+ 'joist',
+ 'joker',
+ 'jolly',
+ 'joust',
+ 'judge',
+ 'juice',
+ 'juicy',
+ 'jumbo',
+ 'jumpy',
+ 'junta',
+ 'junto',
+ 'juror',
+ 'kappa',
+ 'karma',
+ 'kayak',
+ 'kebab',
+ 'khaki',
+ 'kinky',
+ 'kiosk',
+ 'kitty',
+ 'knack',
+ 'knave',
+ 'knead',
+ 'kneed',
+ 'kneel',
+ 'knelt',
+ 'knife',
+ 'knock',
+ 'knoll',
+ 'known',
+ 'koala',
+ 'krill',
+ 'label',
+ 'labor',
+ 'laden',
+ 'ladle',
+ 'lager',
+ 'lance',
+ 'lanky',
+ 'lapel',
+ 'lapse',
+ 'large',
+ 'larva',
+ 'lasso',
+ 'latch',
+ 'later',
+ 'lathe',
+ 'latte',
+ 'laugh',
+ 'layer',
+ 'leach',
+ 'leafy',
+ 'leaky',
+ 'leant',
+ 'leapt',
+ 'learn',
+ 'lease',
+ 'leash',
+ 'least',
+ 'leave',
+ 'ledge',
+ 'leech',
+ 'leery',
+ 'lefty',
+ 'legal',
+ 'leggy',
+ 'lemon',
+ 'lemur',
+ 'leper',
+ 'level',
+ 'lever',
+ 'libel',
+ 'liege',
+ 'light',
+ 'liken',
+ 'lilac',
+ 'limbo',
+ 'limit',
+ 'linen',
+ 'liner',
+ 'lingo',
+ 'lipid',
+ 'lithe',
+ 'liver',
+ 'livid',
+ 'llama',
+ 'loamy',
+ 'loath',
+ 'lobby',
+ 'local',
+ 'locus',
+ 'lodge',
+ 'lofty',
+ 'logic',
+ 'login',
+ 'loopy',
+ 'loose',
+ 'lorry',
+ 'loser',
+ 'louse',
+ 'lousy',
+ 'lover',
+ 'lower',
+ 'lowly',
+ 'loyal',
+ 'lucid',
+ 'lucky',
+ 'lumen',
+ 'lumpy',
+ 'lunar',
+ 'lunch',
+ 'lunge',
+ 'lupus',
+ 'lurch',
+ 'lurid',
+ 'lusty',
+ 'lying',
+ 'lymph',
+ 'lynch',
+ 'lyric',
+ 'macaw',
+ 'macho',
+ 'macro',
+ 'madam',
+ 'madly',
+ 'mafia',
+ 'magic',
+ 'magma',
+ 'maize',
+ 'major',
+ 'maker',
+ 'mambo',
+ 'mamma',
+ 'mammy',
+ 'manga',
+ 'mange',
+ 'mango',
+ 'mangy',
+ 'mania',
+ 'manic',
+ 'manly',
+ 'manor',
+ 'maple',
+ 'march',
+ 'marry',
+ 'marsh',
+ 'mason',
+ 'masse',
+ 'match',
+ 'matey',
+ 'mauve',
+ 'maxim',
+ 'maybe',
+ 'mayor',
+ 'mealy',
+ 'meant',
+ 'meaty',
+ 'mecca',
+ 'medal',
+ 'media',
+ 'medic',
+ 'melee',
+ 'melon',
+ 'mercy',
+ 'merge',
+ 'merit',
+ 'merry',
+ 'metal',
+ 'meter',
+ 'metro',
+ 'micro',
+ 'midge',
+ 'midst',
+ 'might',
+ 'milky',
+ 'mimic',
+ 'mince',
+ 'miner',
+ 'minim',
+ 'minor',
+ 'minty',
+ 'minus',
+ 'mirth',
+ 'miser',
+ 'missy',
+ 'mocha',
+ 'modal',
+ 'model',
+ 'modem',
+ 'mogul',
+ 'moist',
+ 'molar',
+ 'moldy',
+ 'money',
+ 'month',
+ 'moody',
+ 'moose',
+ 'moral',
+ 'moron',
+ 'morph',
+ 'mossy',
+ 'motel',
+ 'motif',
+ 'motor',
+ 'motto',
+ 'moult',
+ 'mound',
+ 'mount',
+ 'mourn',
+ 'mouse',
+ 'mouth',
+ 'mover',
+ 'movie',
+ 'mower',
+ 'mucky',
+ 'mucus',
+ 'muddy',
+ 'mulch',
+ 'mummy',
+ 'munch',
+ 'mural',
+ 'murky',
+ 'mushy',
+ 'music',
+ 'musky',
+ 'musty',
+ 'myrrh',
+ 'nadir',
+ 'naive',
+ 'nanny',
+ 'nasal',
+ 'nasty',
+ 'natal',
+ 'naval',
+ 'navel',
+ 'needy',
+ 'neigh',
+ 'nerdy',
+ 'nerve',
+ 'never',
+ 'newer',
+ 'newly',
+ 'nicer',
+ 'niche',
+ 'niece',
+ 'night',
+ 'ninja',
+ 'ninny',
+ 'ninth',
+ 'noble',
+ 'nobly',
+ 'noise',
+ 'noisy',
+ 'nomad',
+ 'noose',
+ 'north',
+ 'nosey',
+ 'notch',
+ 'novel',
+ 'nudge',
+ 'nurse',
+ 'nutty',
+ 'nylon',
+ 'nymph',
+ 'oaken',
+ 'obese',
+ 'occur',
+ 'ocean',
+ 'octal',
+ 'octet',
+ 'odder',
+ 'oddly',
+ 'offal',
+ 'offer',
+ 'often',
+ 'olden',
+ 'older',
+ 'olive',
+ 'ombre',
+ 'omega',
+ 'onion',
+ 'onset',
+ 'opera',
+ 'opine',
+ 'opium',
+ 'optic',
+ 'orbit',
+ 'order',
+ 'organ',
+ 'other',
+ 'otter',
+ 'ought',
+ 'ounce',
+ 'outdo',
+ 'outer',
+ 'outgo',
+ 'ovary',
+ 'ovate',
+ 'overt',
+ 'ovine',
+ 'ovoid',
+ 'owing',
+ 'owner',
+ 'oxide',
+ 'ozone',
+ 'paddy',
+ 'pagan',
+ 'paint',
+ 'paler',
+ 'palsy',
+ 'panel',
+ 'panic',
+ 'pansy',
+ 'papal',
+ 'paper',
+ 'parer',
+ 'parka',
+ 'parry',
+ 'parse',
+ 'party',
+ 'pasta',
+ 'paste',
+ 'pasty',
+ 'patch',
+ 'patio',
+ 'patsy',
+ 'patty',
+ 'pause',
+ 'payee',
+ 'payer',
+ 'peace',
+ 'peach',
+ 'pearl',
+ 'pecan',
+ 'pedal',
+ 'penal',
+ 'pence',
+ 'penne',
+ 'penny',
+ 'perch',
+ 'peril',
+ 'perky',
+ 'pesky',
+ 'pesto',
+ 'petal',
+ 'petty',
+ 'phase',
+ 'phone',
+ 'phony',
+ 'photo',
+ 'piano',
+ 'picky',
+ 'piece',
+ 'piety',
+ 'piggy',
+ 'pilot',
+ 'pinch',
+ 'piney',
+ 'pinky',
+ 'pinto',
+ 'piper',
+ 'pique',
+ 'pitch',
+ 'pithy',
+ 'pivot',
+ 'pixel',
+ 'pixie',
+ 'pizza',
+ 'place',
+ 'plaid',
+ 'plain',
+ 'plait',
+ 'plane',
+ 'plank',
+ 'plant',
+ 'plate',
+ 'plaza',
+ 'plead',
+ 'pleat',
+ 'plied',
+ 'plier',
+ 'pluck',
+ 'plumb',
+ 'plume',
+ 'plump',
+ 'plunk',
+ 'plush',
+ 'poesy',
+ 'point',
+ 'poise',
+ 'poker',
+ 'polar',
+ 'polka',
+ 'polyp',
+ 'pooch',
+ 'poppy',
+ 'porch',
+ 'poser',
+ 'posit',
+ 'posse',
+ 'pouch',
+ 'pound',
+ 'pouty',
+ 'power',
+ 'prank',
+ 'prawn',
+ 'preen',
+ 'press',
+ 'price',
+ 'prick',
+ 'pride',
+ 'pried',
+ 'prime',
+ 'primo',
+ 'print',
+ 'prior',
+ 'prism',
+ 'privy',
+ 'prize',
+ 'probe',
+ 'prone',
+ 'prong',
+ 'proof',
+ 'prose',
+ 'proud',
+ 'prove',
+ 'prowl',
+ 'proxy',
+ 'prude',
+ 'prune',
+ 'psalm',
+ 'pubic',
+ 'pudgy',
+ 'puffy',
+ 'pulpy',
+ 'pulse',
+ 'punch',
+ 'pupal',
+ 'pupil',
+ 'puppy',
+ 'puree',
+ 'purer',
+ 'purge',
+ 'purse',
+ 'pushy',
+ 'putty',
+ 'pygmy',
+ 'quack',
+ 'quail',
+ 'quake',
+ 'qualm',
+ 'quark',
+ 'quart',
+ 'quash',
+ 'quasi',
+ 'queen',
+ 'queer',
+ 'quell',
+ 'query',
+ 'quest',
+ 'queue',
+ 'quick',
+ 'quiet',
+ 'quill',
+ 'quilt',
+ 'quirk',
+ 'quite',
+ 'quota',
+ 'quote',
+ 'quoth',
+ 'rabbi',
+ 'rabid',
+ 'racer',
+ 'radar',
+ 'radii',
+ 'radio',
+ 'rainy',
+ 'raise',
+ 'rajah',
+ 'rally',
+ 'ralph',
+ 'ramen',
+ 'ranch',
+ 'randy',
+ 'range',
+ 'rapid',
+ 'rarer',
+ 'raspy',
+ 'ratio',
+ 'ratty',
+ 'raven',
+ 'rayon',
+ 'razor',
+ 'reach',
+ 'react',
+ 'ready',
+ 'realm',
+ 'rearm',
+ 'rebar',
+ 'rebel',
+ 'rebus',
+ 'rebut',
+ 'recap',
+ 'recur',
+ 'recut',
+ 'reedy',
+ 'refer',
+ 'refit',
+ 'regal',
+ 'rehab',
+ 'reign',
+ 'relax',
+ 'relay',
+ 'relic',
+ 'remit',
+ 'renal',
+ 'renew',
+ 'repay',
+ 'repel',
+ 'reply',
+ 'rerun',
+ 'reset',
+ 'resin',
+ 'retch',
+ 'retro',
+ 'retry',
+ 'reuse',
+ 'revel',
+ 'revue',
+ 'rhino',
+ 'rhyme',
+ 'rider',
+ 'ridge',
+ 'rifle',
+ 'right',
+ 'rigid',
+ 'rigor',
+ 'rinse',
+ 'ripen',
+ 'riper',
+ 'risen',
+ 'riser',
+ 'risky',
+ 'rival',
+ 'river',
+ 'rivet',
+ 'roach',
+ 'roast',
+ 'robin',
+ 'robot',
+ 'rocky',
+ 'rodeo',
+ 'roger',
+ 'rogue',
+ 'roomy',
+ 'roost',
+ 'rotor',
+ 'rouge',
+ 'rough',
+ 'round',
+ 'rouse',
+ 'route',
+ 'rover',
+ 'rowdy',
+ 'rower',
+ 'royal',
+ 'ruddy',
+ 'ruder',
+ 'rugby',
+ 'ruler',
+ 'rumba',
+ 'rumor',
+ 'rupee',
+ 'rural',
+ 'rusty',
+ 'sadly',
+ 'safer',
+ 'saint',
+ 'salad',
+ 'sally',
+ 'salon',
+ 'salsa',
+ 'salty',
+ 'salve',
+ 'salvo',
+ 'sandy',
+ 'saner',
+ 'sappy',
+ 'sassy',
+ 'satin',
+ 'satyr',
+ 'sauce',
+ 'saucy',
+ 'sauna',
+ 'saute',
+ 'savor',
+ 'savoy',
+ 'savvy',
+ 'scald',
+ 'scale',
+ 'scalp',
+ 'scaly',
+ 'scamp',
+ 'scant',
+ 'scare',
+ 'scarf',
+ 'scary',
+ 'scene',
+ 'scent',
+ 'scion',
+ 'scoff',
+ 'scold',
+ 'scone',
+ 'scoop',
+ 'scope',
+ 'score',
+ 'scorn',
+ 'scour',
+ 'scout',
+ 'scowl',
+ 'scram',
+ 'scrap',
+ 'scree',
+ 'screw',
+ 'scrub',
+ 'scrum',
+ 'scuba',
+ 'sedan',
+ 'seedy',
+ 'segue',
+ 'seize',
+ 'semen',
+ 'sense',
+ 'sepia',
+ 'serif',
+ 'serum',
+ 'serve',
+ 'setup',
+ 'seven',
+ 'sever',
+ 'sewer',
+ 'shack',
+ 'shade',
+ 'shady',
+ 'shaft',
+ 'shake',
+ 'shaky',
+ 'shale',
+ 'shall',
+ 'shalt',
+ 'shame',
+ 'shank',
+ 'shape',
+ 'shard',
+ 'share',
+ 'shark',
+ 'sharp',
+ 'shave',
+ 'shawl',
+ 'shear',
+ 'sheen',
+ 'sheep',
+ 'sheer',
+ 'sheet',
+ 'sheik',
+ 'shelf',
+ 'shell',
+ 'shied',
+ 'shift',
+ 'shine',
+ 'shiny',
+ 'shire',
+ 'shirk',
+ 'shirt',
+ 'shoal',
+ 'shock',
+ 'shone',
+ 'shook',
+ 'shoot',
+ 'shore',
+ 'shorn',
+ 'short',
+ 'shout',
+ 'shove',
+ 'shown',
+ 'showy',
+ 'shrew',
+ 'shrub',
+ 'shrug',
+ 'shuck',
+ 'shunt',
+ 'shush',
+ 'shyly',
+ 'siege',
+ 'sieve',
+ 'sight',
+ 'sigma',
+ 'silky',
+ 'silly',
+ 'since',
+ 'sinew',
+ 'singe',
+ 'siren',
+ 'sissy',
+ 'sixth',
+ 'sixty',
+ 'skate',
+ 'skier',
+ 'skiff',
+ 'skill',
+ 'skimp',
+ 'skirt',
+ 'skulk',
+ 'skull',
+ 'skunk',
+ 'slack',
+ 'slain',
+ 'slang',
+ 'slant',
+ 'slash',
+ 'slate',
+ 'slave',
+ 'sleek',
+ 'sleep',
+ 'sleet',
+ 'slept',
+ 'slice',
+ 'slick',
+ 'slide',
+ 'slime',
+ 'slimy',
+ 'sling',
+ 'slink',
+ 'sloop',
+ 'slope',
+ 'slosh',
+ 'sloth',
+ 'slump',
+ 'slung',
+ 'slunk',
+ 'slurp',
+ 'slush',
+ 'slyly',
+ 'smack',
+ 'small',
+ 'smart',
+ 'smash',
+ 'smear',
+ 'smell',
+ 'smelt',
+ 'smile',
+ 'smirk',
+ 'smite',
+ 'smith',
+ 'smock',
+ 'smoke',
+ 'smoky',
+ 'smote',
+ 'snack',
+ 'snail',
+ 'snake',
+ 'snaky',
+ 'snare',
+ 'snarl',
+ 'sneak',
+ 'sneer',
+ 'snide',
+ 'sniff',
+ 'snipe',
+ 'snoop',
+ 'snore',
+ 'snort',
+ 'snout',
+ 'snowy',
+ 'snuck',
+ 'snuff',
+ 'soapy',
+ 'sober',
+ 'soggy',
+ 'solar',
+ 'solid',
+ 'solve',
+ 'sonar',
+ 'sonic',
+ 'sooth',
+ 'sooty',
+ 'sorry',
+ 'sound',
+ 'south',
+ 'sower',
+ 'space',
+ 'spade',
+ 'spank',
+ 'spare',
+ 'spark',
+ 'spasm',
+ 'spawn',
+ 'speak',
+ 'spear',
+ 'speck',
+ 'speed',
+ 'spell',
+ 'spelt',
+ 'spend',
+ 'spent',
+ 'sperm',
+ 'spice',
+ 'spicy',
+ 'spied',
+ 'spiel',
+ 'spike',
+ 'spiky',
+ 'spill',
+ 'spilt',
+ 'spine',
+ 'spiny',
+ 'spire',
+ 'spite',
+ 'splat',
+ 'split',
+ 'spoil',
+ 'spoke',
+ 'spoof',
+ 'spook',
+ 'spool',
+ 'spoon',
+ 'spore',
+ 'sport',
+ 'spout',
+ 'spray',
+ 'spree',
+ 'sprig',
+ 'spunk',
+ 'spurn',
+ 'spurt',
+ 'squad',
+ 'squat',
+ 'squib',
+ 'stack',
+ 'staff',
+ 'stage',
+ 'staid',
+ 'stain',
+ 'stair',
+ 'stake',
+ 'stale',
+ 'stalk',
+ 'stall',
+ 'stamp',
+ 'stand',
+ 'stank',
+ 'stare',
+ 'stark',
+ 'start',
+ 'stash',
+ 'state',
+ 'stave',
+ 'stead',
+ 'steak',
+ 'steal',
+ 'steam',
+ 'steed',
+ 'steel',
+ 'steep',
+ 'steer',
+ 'stein',
+ 'stern',
+ 'stick',
+ 'stiff',
+ 'still',
+ 'stilt',
+ 'sting',
+ 'stink',
+ 'stint',
+ 'stock',
+ 'stoic',
+ 'stoke',
+ 'stole',
+ 'stomp',
+ 'stone',
+ 'stony',
+ 'stood',
+ 'stool',
+ 'stoop',
+ 'store',
+ 'stork',
+ 'storm',
+ 'story',
+ 'stout',
+ 'stove',
+ 'strap',
+ 'straw',
+ 'stray',
+ 'strip',
+ 'strut',
+ 'stuck',
+ 'study',
+ 'stuff',
+ 'stump',
+ 'stung',
+ 'stunk',
+ 'stunt',
+ 'style',
+ 'suave',
+ 'sugar',
+ 'suing',
+ 'suite',
+ 'sulky',
+ 'sully',
+ 'sumac',
+ 'sunny',
+ 'super',
+ 'surer',
+ 'surge',
+ 'surly',
+ 'sushi',
+ 'swami',
+ 'swamp',
+ 'swarm',
+ 'swash',
+ 'swath',
+ 'swear',
+ 'sweat',
+ 'sweep',
+ 'sweet',
+ 'swell',
+ 'swept',
+ 'swift',
+ 'swill',
+ 'swine',
+ 'swing',
+ 'swirl',
+ 'swish',
+ 'swoon',
+ 'swoop',
+ 'sword',
+ 'swore',
+ 'sworn',
+ 'swung',
+ 'synod',
+ 'syrup',
+ 'tabby',
+ 'table',
+ 'taboo',
+ 'tacit',
+ 'tacky',
+ 'taffy',
+ 'taint',
+ 'taken',
+ 'taker',
+ 'tally',
+ 'talon',
+ 'tamer',
+ 'tango',
+ 'tangy',
+ 'taper',
+ 'tapir',
+ 'tardy',
+ 'tarot',
+ 'taste',
+ 'tasty',
+ 'tatty',
+ 'taunt',
+ 'tawny',
+ 'teach',
+ 'teary',
+ 'tease',
+ 'teddy',
+ 'teeth',
+ 'tempo',
+ 'tenet',
+ 'tenor',
+ 'tense',
+ 'tenth',
+ 'tepee',
+ 'tepid',
+ 'terra',
+ 'terse',
+ 'testy',
+ 'thank',
+ 'theft',
+ 'their',
+ 'theme',
+ 'there',
+ 'these',
+ 'theta',
+ 'thick',
+ 'thief',
+ 'thigh',
+ 'thing',
+ 'think',
+ 'third',
+ 'thong',
+ 'thorn',
+ 'those',
+ 'three',
+ 'threw',
+ 'throb',
+ 'throw',
+ 'thrum',
+ 'thumb',
+ 'thump',
+ 'thyme',
+ 'tiara',
+ 'tibia',
+ 'tidal',
+ 'tiger',
+ 'tight',
+ 'tilde',
+ 'timer',
+ 'timid',
+ 'tipsy',
+ 'titan',
+ 'tithe',
+ 'title',
+ 'toast',
+ 'today',
+ 'toddy',
+ 'token',
+ 'tonal',
+ 'tonga',
+ 'tonic',
+ 'tooth',
+ 'topaz',
+ 'topic',
+ 'torch',
+ 'torso',
+ 'torus',
+ 'total',
+ 'totem',
+ 'touch',
+ 'tough',
+ 'towel',
+ 'tower',
+ 'toxic',
+ 'toxin',
+ 'trace',
+ 'track',
+ 'tract',
+ 'trade',
+ 'trail',
+ 'train',
+ 'trait',
+ 'tramp',
+ 'trash',
+ 'trawl',
+ 'tread',
+ 'treat',
+ 'trend',
+ 'triad',
+ 'trial',
+ 'tribe',
+ 'trice',
+ 'trick',
+ 'tried',
+ 'tripe',
+ 'trite',
+ 'troll',
+ 'troop',
+ 'trope',
+ 'trout',
+ 'trove',
+ 'truce',
+ 'truck',
+ 'truer',
+ 'truly',
+ 'trump',
+ 'trunk',
+ 'truss',
+ 'trust',
+ 'truth',
+ 'tryst',
+ 'tubal',
+ 'tuber',
+ 'tulip',
+ 'tulle',
+ 'tumor',
+ 'tunic',
+ 'turbo',
+ 'tutor',
+ 'twang',
+ 'tweak',
+ 'tweed',
+ 'tweet',
+ 'twice',
+ 'twine',
+ 'twirl',
+ 'twist',
+ 'twixt',
+ 'tying',
+ 'udder',
+ 'ulcer',
+ 'ultra',
+ 'umbra',
+ 'uncle',
+ 'uncut',
+ 'under',
+ 'undid',
+ 'undue',
+ 'unfed',
+ 'unfit',
+ 'unify',
+ 'union',
+ 'unite',
+ 'unity',
+ 'unlit',
+ 'unmet',
+ 'unset',
+ 'untie',
+ 'until',
+ 'unwed',
+ 'unzip',
+ 'upper',
+ 'upset',
+ 'urban',
+ 'urine',
+ 'usage',
+ 'usher',
+ 'using',
+ 'usual',
+ 'usurp',
+ 'utile',
+ 'utter',
+ 'vague',
+ 'valet',
+ 'valid',
+ 'valor',
+ 'value',
+ 'valve',
+ 'vapid',
+ 'vapor',
+ 'vault',
+ 'vaunt',
+ 'vegan',
+ 'venom',
+ 'venue',
+ 'verge',
+ 'verse',
+ 'verso',
+ 'verve',
+ 'vicar',
+ 'video',
+ 'vigil',
+ 'vigor',
+ 'villa',
+ 'vinyl',
+ 'viola',
+ 'viper',
+ 'viral',
+ 'virus',
+ 'visit',
+ 'visor',
+ 'vista',
+ 'vital',
+ 'vivid',
+ 'vixen',
+ 'vocal',
+ 'vodka',
+ 'vogue',
+ 'voice',
+ 'voila',
+ 'vomit',
+ 'voter',
+ 'vouch',
+ 'vowel',
+ 'vying',
+ 'wacky',
+ 'wafer',
+ 'wager',
+ 'wagon',
+ 'waist',
+ 'waive',
+ 'waltz',
+ 'warty',
+ 'waste',
+ 'watch',
+ 'water',
+ 'waver',
+ 'waxen',
+ 'weary',
+ 'weave',
+ 'wedge',
+ 'weedy',
+ 'weigh',
+ 'weird',
+ 'welch',
+ 'welsh',
+ 'wench',
+ 'whack',
+ 'whale',
+ 'wharf',
+ 'wheat',
+ 'wheel',
+ 'whelp',
+ 'where',
+ 'which',
+ 'whiff',
+ 'while',
+ 'whine',
+ 'whiny',
+ 'whirl',
+ 'whisk',
+ 'white',
+ 'whole',
+ 'whoop',
+ 'whose',
+ 'widen',
+ 'wider',
+ 'widow',
+ 'width',
+ 'wield',
+ 'wight',
+ 'willy',
+ 'wimpy',
+ 'wince',
+ 'winch',
+ 'windy',
+ 'wiser',
+ 'wispy',
+ 'witch',
+ 'witty',
+ 'woken',
+ 'woman',
+ 'women',
+ 'woody',
+ 'wooer',
+ 'wooly',
+ 'woozy',
+ 'wordy',
+ 'world',
+ 'worry',
+ 'worse',
+ 'worst',
+ 'worth',
+ 'would',
+ 'wound',
+ 'woven',
+ 'wrack',
+ 'wrath',
+ 'wreak',
+ 'wreck',
+ 'wrest',
+ 'wring',
+ 'wrist',
+ 'write',
+ 'wrong',
+ 'wrote',
+ 'wrung',
+ 'wryly',
+ 'yacht',
+ 'yearn',
+ 'yeast',
+ 'yield',
+ 'young',
+ 'youth',
+ 'zebra',
+ 'zesty',
+ 'zonal'
+];
+
+/** The list of valid guesses, of which the list of possible words is a subset */
+export const allowed = new Set([
+ ...words,
+ 'aahed',
+ 'aalii',
+ 'aargh',
+ 'aarti',
+ 'abaca',
+ 'abaci',
+ 'abacs',
+ 'abaft',
+ 'abaka',
+ 'abamp',
+ 'aband',
+ 'abash',
+ 'abask',
+ 'abaya',
+ 'abbas',
+ 'abbed',
+ 'abbes',
+ 'abcee',
+ 'abeam',
+ 'abear',
+ 'abele',
+ 'abers',
+ 'abets',
+ 'abies',
+ 'abler',
+ 'ables',
+ 'ablet',
+ 'ablow',
+ 'abmho',
+ 'abohm',
+ 'aboil',
+ 'aboma',
+ 'aboon',
+ 'abord',
+ 'abore',
+ 'abram',
+ 'abray',
+ 'abrim',
+ 'abrin',
+ 'abris',
+ 'absey',
+ 'absit',
+ 'abuna',
+ 'abune',
+ 'abuts',
+ 'abuzz',
+ 'abyes',
+ 'abysm',
+ 'acais',
+ 'acari',
+ 'accas',
+ 'accoy',
+ 'acerb',
+ 'acers',
+ 'aceta',
+ 'achar',
+ 'ached',
+ 'aches',
+ 'achoo',
+ 'acids',
+ 'acidy',
+ 'acing',
+ 'acini',
+ 'ackee',
+ 'acker',
+ 'acmes',
+ 'acmic',
+ 'acned',
+ 'acnes',
+ 'acock',
+ 'acold',
+ 'acred',
+ 'acres',
+ 'acros',
+ 'acted',
+ 'actin',
+ 'acton',
+ 'acyls',
+ 'adaws',
+ 'adays',
+ 'adbot',
+ 'addax',
+ 'added',
+ 'adder',
+ 'addio',
+ 'addle',
+ 'adeem',
+ 'adhan',
+ 'adieu',
+ 'adios',
+ 'adits',
+ 'adman',
+ 'admen',
+ 'admix',
+ 'adobo',
+ 'adown',
+ 'adoze',
+ 'adrad',
+ 'adred',
+ 'adsum',
+ 'aduki',
+ 'adunc',
+ 'adust',
+ 'advew',
+ 'adyta',
+ 'adzed',
+ 'adzes',
+ 'aecia',
+ 'aedes',
+ 'aegis',
+ 'aeons',
+ 'aerie',
+ 'aeros',
+ 'aesir',
+ 'afald',
+ 'afara',
+ 'afars',
+ 'afear',
+ 'aflaj',
+ 'afore',
+ 'afrit',
+ 'afros',
+ 'agama',
+ 'agami',
+ 'agars',
+ 'agast',
+ 'agave',
+ 'agaze',
+ 'agene',
+ 'agers',
+ 'agger',
+ 'aggie',
+ 'aggri',
+ 'aggro',
+ 'aggry',
+ 'aghas',
+ 'agila',
+ 'agios',
+ 'agism',
+ 'agist',
+ 'agita',
+ 'aglee',
+ 'aglet',
+ 'agley',
+ 'agloo',
+ 'aglus',
+ 'agmas',
+ 'agoge',
+ 'agone',
+ 'agons',
+ 'agood',
+ 'agria',
+ 'agrin',
+ 'agros',
+ 'agued',
+ 'agues',
+ 'aguna',
+ 'aguti',
+ 'aheap',
+ 'ahent',
+ 'ahigh',
+ 'ahind',
+ 'ahing',
+ 'ahint',
+ 'ahold',
+ 'ahull',
+ 'ahuru',
+ 'aidas',
+ 'aided',
+ 'aides',
+ 'aidoi',
+ 'aidos',
+ 'aiery',
+ 'aigas',
+ 'aight',
+ 'ailed',
+ 'aimed',
+ 'aimer',
+ 'ainee',
+ 'ainga',
+ 'aioli',
+ 'aired',
+ 'airer',
+ 'airns',
+ 'airth',
+ 'airts',
+ 'aitch',
+ 'aitus',
+ 'aiver',
+ 'aiyee',
+ 'aizle',
+ 'ajies',
+ 'ajiva',
+ 'ajuga',
+ 'ajwan',
+ 'akees',
+ 'akela',
+ 'akene',
+ 'aking',
+ 'akita',
+ 'akkas',
+ 'alaap',
+ 'alack',
+ 'alamo',
+ 'aland',
+ 'alane',
+ 'alang',
+ 'alans',
+ 'alant',
+ 'alapa',
+ 'alaps',
+ 'alary',
+ 'alate',
+ 'alays',
+ 'albas',
+ 'albee',
+ 'alcid',
+ 'alcos',
+ 'aldea',
+ 'alder',
+ 'aldol',
+ 'aleck',
+ 'alecs',
+ 'alefs',
+ 'aleft',
+ 'aleph',
+ 'alews',
+ 'aleye',
+ 'alfas',
+ 'algal',
+ 'algas',
+ 'algid',
+ 'algin',
+ 'algor',
+ 'algum',
+ 'alias',
+ 'alifs',
+ 'aline',
+ 'alist',
+ 'aliya',
+ 'alkie',
+ 'alkos',
+ 'alkyd',
+ 'alkyl',
+ 'allee',
+ 'allel',
+ 'allis',
+ 'allod',
+ 'allyl',
+ 'almah',
+ 'almas',
+ 'almeh',
+ 'almes',
+ 'almud',
+ 'almug',
+ 'alods',
+ 'aloed',
+ 'aloes',
+ 'aloha',
+ 'aloin',
+ 'aloos',
+ 'alowe',
+ 'altho',
+ 'altos',
+ 'alula',
+ 'alums',
+ 'alure',
+ 'alvar',
+ 'alway',
+ 'amahs',
+ 'amain',
+ 'amate',
+ 'amaut',
+ 'amban',
+ 'ambit',
+ 'ambos',
+ 'ambry',
+ 'ameba',
+ 'ameer',
+ 'amene',
+ 'amens',
+ 'ament',
+ 'amias',
+ 'amice',
+ 'amici',
+ 'amide',
+ 'amido',
+ 'amids',
+ 'amies',
+ 'amiga',
+ 'amigo',
+ 'amine',
+ 'amino',
+ 'amins',
+ 'amirs',
+ 'amlas',
+ 'amman',
+ 'ammon',
+ 'ammos',
+ 'amnia',
+ 'amnic',
+ 'amnio',
+ 'amoks',
+ 'amole',
+ 'amort',
+ 'amour',
+ 'amove',
+ 'amowt',
+ 'amped',
+ 'ampul',
+ 'amrit',
+ 'amuck',
+ 'amyls',
+ 'anana',
+ 'anata',
+ 'ancho',
+ 'ancle',
+ 'ancon',
+ 'andro',
+ 'anear',
+ 'anele',
+ 'anent',
+ 'angas',
+ 'anglo',
+ 'anigh',
+ 'anile',
+ 'anils',
+ 'anima',
+ 'animi',
+ 'anion',
+ 'anise',
+ 'anker',
+ 'ankhs',
+ 'ankus',
+ 'anlas',
+ 'annal',
+ 'annas',
+ 'annat',
+ 'anoas',
+ 'anole',
+ 'anomy',
+ 'ansae',
+ 'antae',
+ 'antar',
+ 'antas',
+ 'anted',
+ 'antes',
+ 'antis',
+ 'antra',
+ 'antre',
+ 'antsy',
+ 'anura',
+ 'anyon',
+ 'apace',
+ 'apage',
+ 'apaid',
+ 'apayd',
+ 'apays',
+ 'apeak',
+ 'apeek',
+ 'apers',
+ 'apert',
+ 'apery',
+ 'apgar',
+ 'aphis',
+ 'apian',
+ 'apiol',
+ 'apish',
+ 'apism',
+ 'apode',
+ 'apods',
+ 'apoop',
+ 'aport',
+ 'appal',
+ 'appay',
+ 'appel',
+ 'appro',
+ 'appui',
+ 'appuy',
+ 'apres',
+ 'apses',
+ 'apsis',
+ 'apsos',
+ 'apted',
+ 'apter',
+ 'aquae',
+ 'aquas',
+ 'araba',
+ 'araks',
+ 'arame',
+ 'arars',
+ 'arbas',
+ 'arced',
+ 'archi',
+ 'arcos',
+ 'arcus',
+ 'ardeb',
+ 'ardri',
+ 'aread',
+ 'areae',
+ 'areal',
+ 'arear',
+ 'areas',
+ 'areca',
+ 'aredd',
+ 'arede',
+ 'arefy',
+ 'areic',
+ 'arene',
+ 'arepa',
+ 'arere',
+ 'arete',
+ 'arets',
+ 'arett',
+ 'argal',
+ 'argan',
+ 'argil',
+ 'argle',
+ 'argol',
+ 'argon',
+ 'argot',
+ 'argus',
+ 'arhat',
+ 'arias',
+ 'ariel',
+ 'ariki',
+ 'arils',
+ 'ariot',
+ 'arish',
+ 'arked',
+ 'arled',
+ 'arles',
+ 'armed',
+ 'armer',
+ 'armet',
+ 'armil',
+ 'arnas',
+ 'arnut',
+ 'aroba',
+ 'aroha',
+ 'aroid',
+ 'arpas',
+ 'arpen',
+ 'arrah',
+ 'arras',
+ 'arret',
+ 'arris',
+ 'arroz',
+ 'arsed',
+ 'arses',
+ 'arsey',
+ 'arsis',
+ 'artal',
+ 'artel',
+ 'artic',
+ 'artis',
+ 'aruhe',
+ 'arums',
+ 'arval',
+ 'arvee',
+ 'arvos',
+ 'aryls',
+ 'asana',
+ 'ascon',
+ 'ascus',
+ 'asdic',
+ 'ashed',
+ 'ashes',
+ 'ashet',
+ 'asked',
+ 'asker',
+ 'askoi',
+ 'askos',
+ 'aspen',
+ 'asper',
+ 'aspic',
+ 'aspie',
+ 'aspis',
+ 'aspro',
+ 'assai',
+ 'assam',
+ 'asses',
+ 'assez',
+ 'assot',
+ 'aster',
+ 'astir',
+ 'astun',
+ 'asura',
+ 'asway',
+ 'aswim',
+ 'asyla',
+ 'ataps',
+ 'ataxy',
+ 'atigi',
+ 'atilt',
+ 'atimy',
+ 'atlas',
+ 'atman',
+ 'atmas',
+ 'atmos',
+ 'atocs',
+ 'atoke',
+ 'atoks',
+ 'atoms',
+ 'atomy',
+ 'atony',
+ 'atopy',
+ 'atria',
+ 'atrip',
+ 'attap',
+ 'attar',
+ 'atuas',
+ 'audad',
+ 'auger',
+ 'aught',
+ 'aulas',
+ 'aulic',
+ 'auloi',
+ 'aulos',
+ 'aumil',
+ 'aunes',
+ 'aunts',
+ 'aurae',
+ 'aural',
+ 'aurar',
+ 'auras',
+ 'aurei',
+ 'aures',
+ 'auric',
+ 'auris',
+ 'aurum',
+ 'autos',
+ 'auxin',
+ 'avale',
+ 'avant',
+ 'avast',
+ 'avels',
+ 'avens',
+ 'avers',
+ 'avgas',
+ 'avine',
+ 'avion',
+ 'avise',
+ 'aviso',
+ 'avize',
+ 'avows',
+ 'avyze',
+ 'awarn',
+ 'awato',
+ 'awave',
+ 'aways',
+ 'awdls',
+ 'aweel',
+ 'aweto',
+ 'awing',
+ 'awmry',
+ 'awned',
+ 'awner',
+ 'awols',
+ 'awork',
+ 'axels',
+ 'axile',
+ 'axils',
+ 'axing',
+ 'axite',
+ 'axled',
+ 'axles',
+ 'axman',
+ 'axmen',
+ 'axoid',
+ 'axone',
+ 'axons',
+ 'ayahs',
+ 'ayaya',
+ 'ayelp',
+ 'aygre',
+ 'ayins',
+ 'ayont',
+ 'ayres',
+ 'ayrie',
+ 'azans',
+ 'azide',
+ 'azido',
+ 'azine',
+ 'azlon',
+ 'azoic',
+ 'azole',
+ 'azons',
+ 'azote',
+ 'azoth',
+ 'azuki',
+ 'azurn',
+ 'azury',
+ 'azygy',
+ 'azyme',
+ 'azyms',
+ 'baaed',
+ 'baals',
+ 'babas',
+ 'babel',
+ 'babes',
+ 'babka',
+ 'baboo',
+ 'babul',
+ 'babus',
+ 'bacca',
+ 'bacco',
+ 'baccy',
+ 'bacha',
+ 'bachs',
+ 'backs',
+ 'baddy',
+ 'baels',
+ 'baffs',
+ 'baffy',
+ 'bafts',
+ 'baghs',
+ 'bagie',
+ 'bahts',
+ 'bahus',
+ 'bahut',
+ 'bails',
+ 'bairn',
+ 'baisa',
+ 'baith',
+ 'baits',
+ 'baiza',
+ 'baize',
+ 'bajan',
+ 'bajra',
+ 'bajri',
+ 'bajus',
+ 'baked',
+ 'baken',
+ 'bakes',
+ 'bakra',
+ 'balas',
+ 'balds',
+ 'baldy',
+ 'baled',
+ 'bales',
+ 'balks',
+ 'balky',
+ 'balls',
+ 'bally',
+ 'balms',
+ 'baloo',
+ 'balsa',
+ 'balti',
+ 'balun',
+ 'balus',
+ 'bambi',
+ 'banak',
+ 'banco',
+ 'bancs',
+ 'banda',
+ 'bandh',
+ 'bands',
+ 'bandy',
+ 'baned',
+ 'banes',
+ 'bangs',
+ 'bania',
+ 'banks',
+ 'banns',
+ 'bants',
+ 'bantu',
+ 'banty',
+ 'banya',
+ 'bapus',
+ 'barbe',
+ 'barbs',
+ 'barby',
+ 'barca',
+ 'barde',
+ 'bardo',
+ 'bards',
+ 'bardy',
+ 'bared',
+ 'barer',
+ 'bares',
+ 'barfi',
+ 'barfs',
+ 'baric',
+ 'barks',
+ 'barky',
+ 'barms',
+ 'barmy',
+ 'barns',
+ 'barny',
+ 'barps',
+ 'barra',
+ 'barre',
+ 'barro',
+ 'barry',
+ 'barye',
+ 'basan',
+ 'based',
+ 'basen',
+ 'baser',
+ 'bases',
+ 'basho',
+ 'basij',
+ 'basks',
+ 'bason',
+ 'basse',
+ 'bassi',
+ 'basso',
+ 'bassy',
+ 'basta',
+ 'basti',
+ 'basto',
+ 'basts',
+ 'bated',
+ 'bates',
+ 'baths',
+ 'batik',
+ 'batta',
+ 'batts',
+ 'battu',
+ 'bauds',
+ 'bauks',
+ 'baulk',
+ 'baurs',
+ 'bavin',
+ 'bawds',
+ 'bawks',
+ 'bawls',
+ 'bawns',
+ 'bawrs',
+ 'bawty',
+ 'bayed',
+ 'bayer',
+ 'bayes',
+ 'bayle',
+ 'bayts',
+ 'bazar',
+ 'bazoo',
+ 'beads',
+ 'beaks',
+ 'beaky',
+ 'beals',
+ 'beams',
+ 'beamy',
+ 'beano',
+ 'beans',
+ 'beany',
+ 'beare',
+ 'bears',
+ 'beath',
+ 'beats',
+ 'beaty',
+ 'beaus',
+ 'beaut',
+ 'beaux',
+ 'bebop',
+ 'becap',
+ 'becke',
+ 'becks',
+ 'bedad',
+ 'bedel',
+ 'bedes',
+ 'bedew',
+ 'bedim',
+ 'bedye',
+ 'beedi',
+ 'beefs',
+ 'beeps',
+ 'beers',
+ 'beery',
+ 'beets',
+ 'befog',
+ 'begad',
+ 'begar',
+ 'begem',
+ 'begot',
+ 'begum',
+ 'beige',
+ 'beigy',
+ 'beins',
+ 'bekah',
+ 'belah',
+ 'belar',
+ 'belay',
+ 'belee',
+ 'belga',
+ 'bells',
+ 'belon',
+ 'belts',
+ 'bemad',
+ 'bemas',
+ 'bemix',
+ 'bemud',
+ 'bends',
+ 'bendy',
+ 'benes',
+ 'benet',
+ 'benga',
+ 'benis',
+ 'benne',
+ 'benni',
+ 'benny',
+ 'bento',
+ 'bents',
+ 'benty',
+ 'bepat',
+ 'beray',
+ 'beres',
+ 'bergs',
+ 'berko',
+ 'berks',
+ 'berme',
+ 'berms',
+ 'berob',
+ 'beryl',
+ 'besat',
+ 'besaw',
+ 'besee',
+ 'beses',
+ 'besit',
+ 'besom',
+ 'besot',
+ 'besti',
+ 'bests',
+ 'betas',
+ 'beted',
+ 'betes',
+ 'beths',
+ 'betid',
+ 'beton',
+ 'betta',
+ 'betty',
+ 'bever',
+ 'bevor',
+ 'bevue',
+ 'bevvy',
+ 'bewet',
+ 'bewig',
+ 'bezes',
+ 'bezil',
+ 'bezzy',
+ 'bhais',
+ 'bhaji',
+ 'bhang',
+ 'bhats',
+ 'bhels',
+ 'bhoot',
+ 'bhuna',
+ 'bhuts',
+ 'biach',
+ 'biali',
+ 'bialy',
+ 'bibbs',
+ 'bibes',
+ 'biccy',
+ 'bices',
+ 'bided',
+ 'bider',
+ 'bides',
+ 'bidet',
+ 'bidis',
+ 'bidon',
+ 'bield',
+ 'biers',
+ 'biffo',
+ 'biffs',
+ 'biffy',
+ 'bifid',
+ 'bigae',
+ 'biggs',
+ 'biggy',
+ 'bigha',
+ 'bight',
+ 'bigly',
+ 'bigos',
+ 'bijou',
+ 'biked',
+ 'biker',
+ 'bikes',
+ 'bikie',
+ 'bilbo',
+ 'bilby',
+ 'biled',
+ 'biles',
+ 'bilgy',
+ 'bilks',
+ 'bills',
+ 'bimah',
+ 'bimas',
+ 'bimbo',
+ 'binal',
+ 'bindi',
+ 'binds',
+ 'biner',
+ 'bines',
+ 'bings',
+ 'bingy',
+ 'binit',
+ 'binks',
+ 'bints',
+ 'biogs',
+ 'biont',
+ 'biota',
+ 'biped',
+ 'bipod',
+ 'birds',
+ 'birks',
+ 'birle',
+ 'birls',
+ 'biros',
+ 'birrs',
+ 'birse',
+ 'birsy',
+ 'bises',
+ 'bisks',
+ 'bisom',
+ 'bitch',
+ 'biter',
+ 'bites',
+ 'bitos',
+ 'bitou',
+ 'bitsy',
+ 'bitte',
+ 'bitts',
+ 'bivia',
+ 'bivvy',
+ 'bizes',
+ 'bizzo',
+ 'bizzy',
+ 'blabs',
+ 'blads',
+ 'blady',
+ 'blaer',
+ 'blaes',
+ 'blaff',
+ 'blags',
+ 'blahs',
+ 'blain',
+ 'blams',
+ 'blart',
+ 'blase',
+ 'blash',
+ 'blate',
+ 'blats',
+ 'blatt',
+ 'blaud',
+ 'blawn',
+ 'blaws',
+ 'blays',
+ 'blear',
+ 'blebs',
+ 'blech',
+ 'blees',
+ 'blent',
+ 'blert',
+ 'blest',
+ 'blets',
+ 'bleys',
+ 'blimy',
+ 'bling',
+ 'blini',
+ 'blins',
+ 'bliny',
+ 'blips',
+ 'blist',
+ 'blite',
+ 'blits',
+ 'blive',
+ 'blobs',
+ 'blocs',
+ 'blogs',
+ 'blook',
+ 'bloop',
+ 'blore',
+ 'blots',
+ 'blows',
+ 'blowy',
+ 'blubs',
+ 'blude',
+ 'bluds',
+ 'bludy',
+ 'blued',
+ 'blues',
+ 'bluet',
+ 'bluey',
+ 'bluid',
+ 'blume',
+ 'blunk',
+ 'blurs',
+ 'blype',
+ 'boabs',
+ 'boaks',
+ 'boars',
+ 'boart',
+ 'boats',
+ 'bobac',
+ 'bobak',
+ 'bobas',
+ 'bobol',
+ 'bobos',
+ 'bocca',
+ 'bocce',
+ 'bocci',
+ 'boche',
+ 'bocks',
+ 'boded',
+ 'bodes',
+ 'bodge',
+ 'bodhi',
+ 'bodle',
+ 'boeps',
+ 'boets',
+ 'boeuf',
+ 'boffo',
+ 'boffs',
+ 'bogan',
+ 'bogey',
+ 'boggy',
+ 'bogie',
+ 'bogle',
+ 'bogue',
+ 'bogus',
+ 'bohea',
+ 'bohos',
+ 'boils',
+ 'boing',
+ 'boink',
+ 'boite',
+ 'boked',
+ 'bokeh',
+ 'bokes',
+ 'bokos',
+ 'bolar',
+ 'bolas',
+ 'bolds',
+ 'boles',
+ 'bolix',
+ 'bolls',
+ 'bolos',
+ 'bolts',
+ 'bolus',
+ 'bomas',
+ 'bombe',
+ 'bombo',
+ 'bombs',
+ 'bonce',
+ 'bonds',
+ 'boned',
+ 'boner',
+ 'bones',
+ 'bongs',
+ 'bonie',
+ 'bonks',
+ 'bonne',
+ 'bonny',
+ 'bonza',
+ 'bonze',
+ 'booai',
+ 'booay',
+ 'boobs',
+ 'boody',
+ 'booed',
+ 'boofy',
+ 'boogy',
+ 'boohs',
+ 'books',
+ 'booky',
+ 'bools',
+ 'booms',
+ 'boomy',
+ 'boong',
+ 'boons',
+ 'boord',
+ 'boors',
+ 'boose',
+ 'boots',
+ 'boppy',
+ 'borak',
+ 'boral',
+ 'boras',
+ 'borde',
+ 'bords',
+ 'bored',
+ 'boree',
+ 'borel',
+ 'borer',
+ 'bores',
+ 'borgo',
+ 'boric',
+ 'borks',
+ 'borms',
+ 'borna',
+ 'boron',
+ 'borts',
+ 'borty',
+ 'bortz',
+ 'bosie',
+ 'bosks',
+ 'bosky',
+ 'boson',
+ 'bosun',
+ 'botas',
+ 'botel',
+ 'botes',
+ 'bothy',
+ 'botte',
+ 'botts',
+ 'botty',
+ 'bouge',
+ 'bouks',
+ 'boult',
+ 'bouns',
+ 'bourd',
+ 'bourg',
+ 'bourn',
+ 'bouse',
+ 'bousy',
+ 'bouts',
+ 'bovid',
+ 'bowat',
+ 'bowed',
+ 'bower',
+ 'bowes',
+ 'bowet',
+ 'bowie',
+ 'bowls',
+ 'bowne',
+ 'bowrs',
+ 'bowse',
+ 'boxed',
+ 'boxen',
+ 'boxes',
+ 'boxla',
+ 'boxty',
+ 'boyar',
+ 'boyau',
+ 'boyed',
+ 'boyfs',
+ 'boygs',
+ 'boyla',
+ 'boyos',
+ 'boysy',
+ 'bozos',
+ 'braai',
+ 'brach',
+ 'brack',
+ 'bract',
+ 'brads',
+ 'braes',
+ 'brags',
+ 'brail',
+ 'braks',
+ 'braky',
+ 'brame',
+ 'brane',
+ 'brank',
+ 'brans',
+ 'brant',
+ 'brast',
+ 'brats',
+ 'brava',
+ 'bravi',
+ 'braws',
+ 'braxy',
+ 'brays',
+ 'braza',
+ 'braze',
+ 'bream',
+ 'brede',
+ 'breds',
+ 'breem',
+ 'breer',
+ 'brees',
+ 'breid',
+ 'breis',
+ 'breme',
+ 'brens',
+ 'brent',
+ 'brere',
+ 'brers',
+ 'breve',
+ 'brews',
+ 'breys',
+ 'brier',
+ 'bries',
+ 'brigs',
+ 'briki',
+ 'briks',
+ 'brill',
+ 'brims',
+ 'brins',
+ 'brios',
+ 'brise',
+ 'briss',
+ 'brith',
+ 'brits',
+ 'britt',
+ 'brize',
+ 'broch',
+ 'brock',
+ 'brods',
+ 'brogh',
+ 'brogs',
+ 'brome',
+ 'bromo',
+ 'bronc',
+ 'brond',
+ 'brool',
+ 'broos',
+ 'brose',
+ 'brosy',
+ 'brows',
+ 'brugh',
+ 'bruin',
+ 'bruit',
+ 'brule',
+ 'brume',
+ 'brung',
+ 'brusk',
+ 'brust',
+ 'bruts',
+ 'buats',
+ 'buaze',
+ 'bubal',
+ 'bubas',
+ 'bubba',
+ 'bubbe',
+ 'bubby',
+ 'bubus',
+ 'buchu',
+ 'bucko',
+ 'bucks',
+ 'bucku',
+ 'budas',
+ 'budis',
+ 'budos',
+ 'buffa',
+ 'buffe',
+ 'buffi',
+ 'buffo',
+ 'buffs',
+ 'buffy',
+ 'bufos',
+ 'bufty',
+ 'buhls',
+ 'buhrs',
+ 'buiks',
+ 'buist',
+ 'bukes',
+ 'bulbs',
+ 'bulgy',
+ 'bulks',
+ 'bulla',
+ 'bulls',
+ 'bulse',
+ 'bumbo',
+ 'bumfs',
+ 'bumph',
+ 'bumps',
+ 'bumpy',
+ 'bunas',
+ 'bunce',
+ 'bunco',
+ 'bunde',
+ 'bundh',
+ 'bunds',
+ 'bundt',
+ 'bundu',
+ 'bundy',
+ 'bungs',
+ 'bungy',
+ 'bunia',
+ 'bunje',
+ 'bunjy',
+ 'bunko',
+ 'bunks',
+ 'bunns',
+ 'bunts',
+ 'bunty',
+ 'bunya',
+ 'buoys',
+ 'buppy',
+ 'buran',
+ 'buras',
+ 'burbs',
+ 'burds',
+ 'buret',
+ 'burfi',
+ 'burgh',
+ 'burgs',
+ 'burin',
+ 'burka',
+ 'burke',
+ 'burks',
+ 'burls',
+ 'burns',
+ 'buroo',
+ 'burps',
+ 'burqa',
+ 'burro',
+ 'burrs',
+ 'burry',
+ 'bursa',
+ 'burse',
+ 'busby',
+ 'buses',
+ 'busks',
+ 'busky',
+ 'bussu',
+ 'busti',
+ 'busts',
+ 'busty',
+ 'buteo',
+ 'butes',
+ 'butle',
+ 'butoh',
+ 'butts',
+ 'butty',
+ 'butut',
+ 'butyl',
+ 'buzzy',
+ 'bwana',
+ 'bwazi',
+ 'byded',
+ 'bydes',
+ 'byked',
+ 'bykes',
+ 'byres',
+ 'byrls',
+ 'byssi',
+ 'bytes',
+ 'byway',
+ 'caaed',
+ 'cabas',
+ 'caber',
+ 'cabob',
+ 'caboc',
+ 'cabre',
+ 'cacas',
+ 'cacks',
+ 'cacky',
+ 'cadee',
+ 'cades',
+ 'cadge',
+ 'cadgy',
+ 'cadie',
+ 'cadis',
+ 'cadre',
+ 'caeca',
+ 'caese',
+ 'cafes',
+ 'caffs',
+ 'caged',
+ 'cager',
+ 'cages',
+ 'cagot',
+ 'cahow',
+ 'caids',
+ 'cains',
+ 'caird',
+ 'cajon',
+ 'cajun',
+ 'caked',
+ 'cakes',
+ 'cakey',
+ 'calfs',
+ 'calid',
+ 'calif',
+ 'calix',
+ 'calks',
+ 'calla',
+ 'calls',
+ 'calms',
+ 'calmy',
+ 'calos',
+ 'calpa',
+ 'calps',
+ 'calve',
+ 'calyx',
+ 'caman',
+ 'camas',
+ 'cames',
+ 'camis',
+ 'camos',
+ 'campi',
+ 'campo',
+ 'camps',
+ 'campy',
+ 'camus',
+ 'caned',
+ 'caneh',
+ 'caner',
+ 'canes',
+ 'cangs',
+ 'canid',
+ 'canna',
+ 'canns',
+ 'canso',
+ 'canst',
+ 'canto',
+ 'cants',
+ 'canty',
+ 'capas',
+ 'caped',
+ 'capes',
+ 'capex',
+ 'caphs',
+ 'capiz',
+ 'caple',
+ 'capon',
+ 'capos',
+ 'capot',
+ 'capri',
+ 'capul',
+ 'carap',
+ 'carbo',
+ 'carbs',
+ 'carby',
+ 'cardi',
+ 'cards',
+ 'cardy',
+ 'cared',
+ 'carer',
+ 'cares',
+ 'caret',
+ 'carex',
+ 'carks',
+ 'carle',
+ 'carls',
+ 'carns',
+ 'carny',
+ 'carob',
+ 'carom',
+ 'caron',
+ 'carpi',
+ 'carps',
+ 'carrs',
+ 'carse',
+ 'carta',
+ 'carte',
+ 'carts',
+ 'carvy',
+ 'casas',
+ 'casco',
+ 'cased',
+ 'cases',
+ 'casks',
+ 'casky',
+ 'casts',
+ 'casus',
+ 'cates',
+ 'cauda',
+ 'cauks',
+ 'cauld',
+ 'cauls',
+ 'caums',
+ 'caups',
+ 'cauri',
+ 'causa',
+ 'cavas',
+ 'caved',
+ 'cavel',
+ 'caver',
+ 'caves',
+ 'cavie',
+ 'cawed',
+ 'cawks',
+ 'caxon',
+ 'ceaze',
+ 'cebid',
+ 'cecal',
+ 'cecum',
+ 'ceded',
+ 'ceder',
+ 'cedes',
+ 'cedis',
+ 'ceiba',
+ 'ceili',
+ 'ceils',
+ 'celeb',
+ 'cella',
+ 'celli',
+ 'cells',
+ 'celom',
+ 'celts',
+ 'cense',
+ 'cento',
+ 'cents',
+ 'centu',
+ 'ceorl',
+ 'cepes',
+ 'cerci',
+ 'cered',
+ 'ceres',
+ 'cerge',
+ 'ceria',
+ 'ceric',
+ 'cerne',
+ 'ceroc',
+ 'ceros',
+ 'certs',
+ 'certy',
+ 'cesse',
+ 'cesta',
+ 'cesti',
+ 'cetes',
+ 'cetyl',
+ 'cezve',
+ 'chace',
+ 'chack',
+ 'chaco',
+ 'chado',
+ 'chads',
+ 'chaft',
+ 'chais',
+ 'chals',
+ 'chams',
+ 'chana',
+ 'chang',
+ 'chank',
+ 'chape',
+ 'chaps',
+ 'chapt',
+ 'chara',
+ 'chare',
+ 'chark',
+ 'charr',
+ 'chars',
+ 'chary',
+ 'chats',
+ 'chave',
+ 'chavs',
+ 'chawk',
+ 'chaws',
+ 'chaya',
+ 'chays',
+ 'cheep',
+ 'chefs',
+ 'cheka',
+ 'chela',
+ 'chelp',
+ 'chemo',
+ 'chems',
+ 'chere',
+ 'chert',
+ 'cheth',
+ 'chevy',
+ 'chews',
+ 'chewy',
+ 'chiao',
+ 'chias',
+ 'chibs',
+ 'chica',
+ 'chich',
+ 'chico',
+ 'chics',
+ 'chiel',
+ 'chiks',
+ 'chile',
+ 'chimb',
+ 'chimo',
+ 'chimp',
+ 'chine',
+ 'ching',
+ 'chink',
+ 'chino',
+ 'chins',
+ 'chips',
+ 'chirk',
+ 'chirl',
+ 'chirm',
+ 'chiro',
+ 'chirr',
+ 'chirt',
+ 'chiru',
+ 'chits',
+ 'chive',
+ 'chivs',
+ 'chivy',
+ 'chizz',
+ 'choco',
+ 'chocs',
+ 'chode',
+ 'chogs',
+ 'choil',
+ 'choko',
+ 'choky',
+ 'chola',
+ 'choli',
+ 'cholo',
+ 'chomp',
+ 'chons',
+ 'choof',
+ 'chook',
+ 'choom',
+ 'choon',
+ 'chops',
+ 'chota',
+ 'chott',
+ 'chout',
+ 'choux',
+ 'chowk',
+ 'chows',
+ 'chubs',
+ 'chufa',
+ 'chuff',
+ 'chugs',
+ 'chums',
+ 'churl',
+ 'churr',
+ 'chuse',
+ 'chuts',
+ 'chyle',
+ 'chyme',
+ 'chynd',
+ 'cibol',
+ 'cided',
+ 'cides',
+ 'ciels',
+ 'ciggy',
+ 'cilia',
+ 'cills',
+ 'cimar',
+ 'cimex',
+ 'cinct',
+ 'cines',
+ 'cinqs',
+ 'cions',
+ 'cippi',
+ 'circs',
+ 'cires',
+ 'cirls',
+ 'cirri',
+ 'cisco',
+ 'cissy',
+ 'cists',
+ 'cital',
+ 'cited',
+ 'citer',
+ 'cites',
+ 'cives',
+ 'civet',
+ 'civie',
+ 'civvy',
+ 'clach',
+ 'clade',
+ 'clads',
+ 'claes',
+ 'clags',
+ 'clame',
+ 'clams',
+ 'clans',
+ 'claps',
+ 'clapt',
+ 'claro',
+ 'clart',
+ 'clary',
+ 'clast',
+ 'clats',
+ 'claut',
+ 'clave',
+ 'clavi',
+ 'claws',
+ 'clays',
+ 'cleck',
+ 'cleek',
+ 'cleep',
+ 'clefs',
+ 'clegs',
+ 'cleik',
+ 'clems',
+ 'clepe',
+ 'clept',
+ 'cleve',
+ 'clews',
+ 'clied',
+ 'clies',
+ 'clift',
+ 'clime',
+ 'cline',
+ 'clint',
+ 'clipe',
+ 'clips',
+ 'clipt',
+ 'clits',
+ 'cloam',
+ 'clods',
+ 'cloff',
+ 'clogs',
+ 'cloke',
+ 'clomb',
+ 'clomp',
+ 'clonk',
+ 'clons',
+ 'cloop',
+ 'cloot',
+ 'clops',
+ 'clote',
+ 'clots',
+ 'clour',
+ 'clous',
+ 'clows',
+ 'cloye',
+ 'cloys',
+ 'cloze',
+ 'clubs',
+ 'clues',
+ 'cluey',
+ 'clunk',
+ 'clype',
+ 'cnida',
+ 'coact',
+ 'coady',
+ 'coala',
+ 'coals',
+ 'coaly',
+ 'coapt',
+ 'coarb',
+ 'coate',
+ 'coati',
+ 'coats',
+ 'cobbs',
+ 'cobby',
+ 'cobia',
+ 'coble',
+ 'cobza',
+ 'cocas',
+ 'cocci',
+ 'cocco',
+ 'cocks',
+ 'cocky',
+ 'cocos',
+ 'codas',
+ 'codec',
+ 'coded',
+ 'coden',
+ 'coder',
+ 'codes',
+ 'codex',
+ 'codon',
+ 'coeds',
+ 'coffs',
+ 'cogie',
+ 'cogon',
+ 'cogue',
+ 'cohab',
+ 'cohen',
+ 'cohoe',
+ 'cohog',
+ 'cohos',
+ 'coifs',
+ 'coign',
+ 'coils',
+ 'coins',
+ 'coirs',
+ 'coits',
+ 'coked',
+ 'cokes',
+ 'colas',
+ 'colby',
+ 'colds',
+ 'coled',
+ 'coles',
+ 'coley',
+ 'colic',
+ 'colin',
+ 'colls',
+ 'colly',
+ 'colog',
+ 'colts',
+ 'colza',
+ 'comae',
+ 'comal',
+ 'comas',
+ 'combe',
+ 'combi',
+ 'combo',
+ 'combs',
+ 'comby',
+ 'comer',
+ 'comes',
+ 'comix',
+ 'commo',
+ 'comms',
+ 'commy',
+ 'compo',
+ 'comps',
+ 'compt',
+ 'comte',
+ 'comus',
+ 'coned',
+ 'cones',
+ 'coney',
+ 'confs',
+ 'conga',
+ 'conge',
+ 'congo',
+ 'conia',
+ 'conin',
+ 'conks',
+ 'conky',
+ 'conne',
+ 'conns',
+ 'conte',
+ 'conto',
+ 'conus',
+ 'convo',
+ 'cooch',
+ 'cooed',
+ 'cooee',
+ 'cooer',
+ 'cooey',
+ 'coofs',
+ 'cooks',
+ 'cooky',
+ 'cools',
+ 'cooly',
+ 'coomb',
+ 'cooms',
+ 'coomy',
+ 'coons',
+ 'coops',
+ 'coopt',
+ 'coost',
+ 'coots',
+ 'cooze',
+ 'copal',
+ 'copay',
+ 'coped',
+ 'copen',
+ 'coper',
+ 'copes',
+ 'coppy',
+ 'copra',
+ 'copsy',
+ 'coqui',
+ 'coram',
+ 'corbe',
+ 'corby',
+ 'cords',
+ 'cored',
+ 'cores',
+ 'corey',
+ 'corgi',
+ 'coria',
+ 'corks',
+ 'corky',
+ 'corms',
+ 'corni',
+ 'corno',
+ 'corns',
+ 'cornu',
+ 'corps',
+ 'corse',
+ 'corso',
+ 'cosec',
+ 'cosed',
+ 'coses',
+ 'coset',
+ 'cosey',
+ 'cosie',
+ 'costa',
+ 'coste',
+ 'costs',
+ 'cotan',
+ 'coted',
+ 'cotes',
+ 'coths',
+ 'cotta',
+ 'cotts',
+ 'coude',
+ 'coups',
+ 'courb',
+ 'courd',
+ 'coure',
+ 'cours',
+ 'couta',
+ 'couth',
+ 'coved',
+ 'coves',
+ 'covin',
+ 'cowal',
+ 'cowan',
+ 'cowed',
+ 'cowks',
+ 'cowls',
+ 'cowps',
+ 'cowry',
+ 'coxae',
+ 'coxal',
+ 'coxed',
+ 'coxes',
+ 'coxib',
+ 'coyau',
+ 'coyed',
+ 'coyer',
+ 'coypu',
+ 'cozed',
+ 'cozen',
+ 'cozes',
+ 'cozey',
+ 'cozie',
+ 'craal',
+ 'crabs',
+ 'crags',
+ 'craic',
+ 'craig',
+ 'crake',
+ 'crame',
+ 'crams',
+ 'crans',
+ 'crape',
+ 'craps',
+ 'crapy',
+ 'crare',
+ 'craws',
+ 'crays',
+ 'creds',
+ 'creel',
+ 'crees',
+ 'crems',
+ 'crena',
+ 'creps',
+ 'crepy',
+ 'crewe',
+ 'crews',
+ 'crias',
+ 'cribs',
+ 'cries',
+ 'crims',
+ 'crine',
+ 'crios',
+ 'cripe',
+ 'crips',
+ 'crise',
+ 'crith',
+ 'crits',
+ 'croci',
+ 'crocs',
+ 'croft',
+ 'crogs',
+ 'cromb',
+ 'crome',
+ 'cronk',
+ 'crons',
+ 'crool',
+ 'croon',
+ 'crops',
+ 'crore',
+ 'crost',
+ 'crout',
+ 'crows',
+ 'croze',
+ 'cruck',
+ 'crudo',
+ 'cruds',
+ 'crudy',
+ 'crues',
+ 'cruet',
+ 'cruft',
+ 'crunk',
+ 'cruor',
+ 'crura',
+ 'cruse',
+ 'crusy',
+ 'cruve',
+ 'crwth',
+ 'cryer',
+ 'ctene',
+ 'cubby',
+ 'cubeb',
+ 'cubed',
+ 'cuber',
+ 'cubes',
+ 'cubit',
+ 'cuddy',
+ 'cuffo',
+ 'cuffs',
+ 'cuifs',
+ 'cuing',
+ 'cuish',
+ 'cuits',
+ 'cukes',
+ 'culch',
+ 'culet',
+ 'culex',
+ 'culls',
+ 'cully',
+ 'culms',
+ 'culpa',
+ 'culti',
+ 'cults',
+ 'culty',
+ 'cumec',
+ 'cundy',
+ 'cunei',
+ 'cunit',
+ 'cunts',
+ 'cupel',
+ 'cupid',
+ 'cuppa',
+ 'cuppy',
+ 'curat',
+ 'curbs',
+ 'curch',
+ 'curds',
+ 'curdy',
+ 'cured',
+ 'curer',
+ 'cures',
+ 'curet',
+ 'curfs',
+ 'curia',
+ 'curie',
+ 'curli',
+ 'curls',
+ 'curns',
+ 'curny',
+ 'currs',
+ 'cursi',
+ 'curst',
+ 'cusec',
+ 'cushy',
+ 'cusks',
+ 'cusps',
+ 'cuspy',
+ 'cusso',
+ 'cusum',
+ 'cutch',
+ 'cuter',
+ 'cutes',
+ 'cutey',
+ 'cutin',
+ 'cutis',
+ 'cutto',
+ 'cutty',
+ 'cutup',
+ 'cuvee',
+ 'cuzes',
+ 'cwtch',
+ 'cyano',
+ 'cyans',
+ 'cycad',
+ 'cycas',
+ 'cyclo',
+ 'cyder',
+ 'cylix',
+ 'cymae',
+ 'cymar',
+ 'cymas',
+ 'cymes',
+ 'cymol',
+ 'cysts',
+ 'cytes',
+ 'cyton',
+ 'czars',
+ 'daals',
+ 'dabba',
+ 'daces',
+ 'dacha',
+ 'dacks',
+ 'dadah',
+ 'dadas',
+ 'dados',
+ 'daffs',
+ 'daffy',
+ 'dagga',
+ 'daggy',
+ 'dagos',
+ 'dahls',
+ 'daiko',
+ 'daine',
+ 'daint',
+ 'daker',
+ 'daled',
+ 'dales',
+ 'dalis',
+ 'dalle',
+ 'dalts',
+ 'daman',
+ 'damar',
+ 'dames',
+ 'damme',
+ 'damns',
+ 'damps',
+ 'dampy',
+ 'dancy',
+ 'dangs',
+ 'danio',
+ 'danks',
+ 'danny',
+ 'dants',
+ 'daraf',
+ 'darbs',
+ 'darcy',
+ 'dared',
+ 'darer',
+ 'dares',
+ 'darga',
+ 'dargs',
+ 'daric',
+ 'daris',
+ 'darks',
+ 'darky',
+ 'darns',
+ 'darre',
+ 'darts',
+ 'darzi',
+ 'dashi',
+ 'dashy',
+ 'datal',
+ 'dated',
+ 'dater',
+ 'dates',
+ 'datos',
+ 'datto',
+ 'daube',
+ 'daubs',
+ 'dauby',
+ 'dauds',
+ 'dault',
+ 'daurs',
+ 'dauts',
+ 'daven',
+ 'davit',
+ 'dawah',
+ 'dawds',
+ 'dawed',
+ 'dawen',
+ 'dawks',
+ 'dawns',
+ 'dawts',
+ 'dayan',
+ 'daych',
+ 'daynt',
+ 'dazed',
+ 'dazer',
+ 'dazes',
+ 'deads',
+ 'deair',
+ 'deals',
+ 'deans',
+ 'deare',
+ 'dearn',
+ 'dears',
+ 'deary',
+ 'deash',
+ 'deave',
+ 'deaws',
+ 'deawy',
+ 'debag',
+ 'debby',
+ 'debel',
+ 'debes',
+ 'debts',
+ 'debud',
+ 'debur',
+ 'debus',
+ 'debye',
+ 'decad',
+ 'decaf',
+ 'decan',
+ 'decko',
+ 'decks',
+ 'decos',
+ 'dedal',
+ 'deeds',
+ 'deedy',
+ 'deely',
+ 'deems',
+ 'deens',
+ 'deeps',
+ 'deere',
+ 'deers',
+ 'deets',
+ 'deeve',
+ 'deevs',
+ 'defat',
+ 'deffo',
+ 'defis',
+ 'defog',
+ 'degas',
+ 'degum',
+ 'degus',
+ 'deice',
+ 'deids',
+ 'deify',
+ 'deils',
+ 'deism',
+ 'deist',
+ 'deked',
+ 'dekes',
+ 'dekko',
+ 'deled',
+ 'deles',
+ 'delfs',
+ 'delft',
+ 'delis',
+ 'dells',
+ 'delly',
+ 'delos',
+ 'delph',
+ 'delts',
+ 'deman',
+ 'demes',
+ 'demic',
+ 'demit',
+ 'demob',
+ 'demoi',
+ 'demos',
+ 'dempt',
+ 'denar',
+ 'denay',
+ 'dench',
+ 'denes',
+ 'denet',
+ 'denis',
+ 'dents',
+ 'deoxy',
+ 'derat',
+ 'deray',
+ 'dered',
+ 'deres',
+ 'derig',
+ 'derma',
+ 'derms',
+ 'derns',
+ 'derny',
+ 'deros',
+ 'derro',
+ 'derry',
+ 'derth',
+ 'dervs',
+ 'desex',
+ 'deshi',
+ 'desis',
+ 'desks',
+ 'desse',
+ 'devas',
+ 'devel',
+ 'devis',
+ 'devon',
+ 'devos',
+ 'devot',
+ 'dewan',
+ 'dewar',
+ 'dewax',
+ 'dewed',
+ 'dexes',
+ 'dexie',
+ 'dhaba',
+ 'dhaks',
+ 'dhals',
+ 'dhikr',
+ 'dhobi',
+ 'dhole',
+ 'dholl',
+ 'dhols',
+ 'dhoti',
+ 'dhows',
+ 'dhuti',
+ 'diact',
+ 'dials',
+ 'diane',
+ 'diazo',
+ 'dibbs',
+ 'diced',
+ 'dicer',
+ 'dices',
+ 'dicht',
+ 'dicks',
+ 'dicky',
+ 'dicot',
+ 'dicta',
+ 'dicts',
+ 'dicty',
+ 'diddy',
+ 'didie',
+ 'didos',
+ 'didst',
+ 'diebs',
+ 'diels',
+ 'diene',
+ 'diets',
+ 'diffs',
+ 'dight',
+ 'dikas',
+ 'diked',
+ 'diker',
+ 'dikes',
+ 'dikey',
+ 'dildo',
+ 'dilli',
+ 'dills',
+ 'dimbo',
+ 'dimer',
+ 'dimes',
+ 'dimps',
+ 'dinar',
+ 'dined',
+ 'dines',
+ 'dinge',
+ 'dings',
+ 'dinic',
+ 'dinks',
+ 'dinky',
+ 'dinna',
+ 'dinos',
+ 'dints',
+ 'diols',
+ 'diota',
+ 'dippy',
+ 'dipso',
+ 'diram',
+ 'direr',
+ 'dirke',
+ 'dirks',
+ 'dirls',
+ 'dirts',
+ 'disas',
+ 'disci',
+ 'discs',
+ 'dishy',
+ 'disks',
+ 'disme',
+ 'dital',
+ 'ditas',
+ 'dited',
+ 'dites',
+ 'ditsy',
+ 'ditts',
+ 'ditzy',
+ 'divan',
+ 'divas',
+ 'dived',
+ 'dives',
+ 'divis',
+ 'divna',
+ 'divos',
+ 'divot',
+ 'divvy',
+ 'diwan',
+ 'dixie',
+ 'dixit',
+ 'diyas',
+ 'dizen',
+ 'djinn',
+ 'djins',
+ 'doabs',
+ 'doats',
+ 'dobby',
+ 'dobes',
+ 'dobie',
+ 'dobla',
+ 'dobra',
+ 'dobro',
+ 'docht',
+ 'docks',
+ 'docos',
+ 'docus',
+ 'doddy',
+ 'dodos',
+ 'doeks',
+ 'doers',
+ 'doest',
+ 'doeth',
+ 'doffs',
+ 'dogan',
+ 'doges',
+ 'dogey',
+ 'doggo',
+ 'doggy',
+ 'dogie',
+ 'dohyo',
+ 'doilt',
+ 'doily',
+ 'doits',
+ 'dojos',
+ 'dolce',
+ 'dolci',
+ 'doled',
+ 'doles',
+ 'dolia',
+ 'dolls',
+ 'dolma',
+ 'dolor',
+ 'dolos',
+ 'dolts',
+ 'domal',
+ 'domed',
+ 'domes',
+ 'domic',
+ 'donah',
+ 'donas',
+ 'donee',
+ 'doner',
+ 'donga',
+ 'dongs',
+ 'donko',
+ 'donna',
+ 'donne',
+ 'donny',
+ 'donsy',
+ 'doobs',
+ 'dooce',
+ 'doody',
+ 'dooks',
+ 'doole',
+ 'dools',
+ 'dooly',
+ 'dooms',
+ 'doomy',
+ 'doona',
+ 'doorn',
+ 'doors',
+ 'doozy',
+ 'dopas',
+ 'doped',
+ 'doper',
+ 'dopes',
+ 'dorad',
+ 'dorba',
+ 'dorbs',
+ 'doree',
+ 'dores',
+ 'doric',
+ 'doris',
+ 'dorks',
+ 'dorky',
+ 'dorms',
+ 'dormy',
+ 'dorps',
+ 'dorrs',
+ 'dorsa',
+ 'dorse',
+ 'dorts',
+ 'dorty',
+ 'dosai',
+ 'dosas',
+ 'dosed',
+ 'doseh',
+ 'doser',
+ 'doses',
+ 'dosha',
+ 'dotal',
+ 'doted',
+ 'doter',
+ 'dotes',
+ 'dotty',
+ 'douar',
+ 'douce',
+ 'doucs',
+ 'douks',
+ 'doula',
+ 'douma',
+ 'doums',
+ 'doups',
+ 'doura',
+ 'douse',
+ 'douts',
+ 'doved',
+ 'doven',
+ 'dover',
+ 'doves',
+ 'dovie',
+ 'dowar',
+ 'dowds',
+ 'dowed',
+ 'dower',
+ 'dowie',
+ 'dowle',
+ 'dowls',
+ 'dowly',
+ 'downa',
+ 'downs',
+ 'dowps',
+ 'dowse',
+ 'dowts',
+ 'doxed',
+ 'doxes',
+ 'doxie',
+ 'doyen',
+ 'doyly',
+ 'dozed',
+ 'dozer',
+ 'dozes',
+ 'drabs',
+ 'drack',
+ 'draco',
+ 'draff',
+ 'drags',
+ 'drail',
+ 'drams',
+ 'drant',
+ 'draps',
+ 'drats',
+ 'drave',
+ 'draws',
+ 'drays',
+ 'drear',
+ 'dreck',
+ 'dreed',
+ 'dreer',
+ 'drees',
+ 'dregs',
+ 'dreks',
+ 'drent',
+ 'drere',
+ 'drest',
+ 'dreys',
+ 'dribs',
+ 'drice',
+ 'dries',
+ 'drily',
+ 'drips',
+ 'dript',
+ 'droid',
+ 'droil',
+ 'droke',
+ 'drole',
+ 'drome',
+ 'drony',
+ 'droob',
+ 'droog',
+ 'drook',
+ 'drops',
+ 'dropt',
+ 'drouk',
+ 'drows',
+ 'drubs',
+ 'drugs',
+ 'drums',
+ 'drupe',
+ 'druse',
+ 'drusy',
+ 'druxy',
+ 'dryad',
+ 'dryas',
+ 'dsobo',
+ 'dsomo',
+ 'duads',
+ 'duals',
+ 'duans',
+ 'duars',
+ 'dubbo',
+ 'ducal',
+ 'ducat',
+ 'duces',
+ 'ducks',
+ 'ducky',
+ 'ducts',
+ 'duddy',
+ 'duded',
+ 'dudes',
+ 'duels',
+ 'duets',
+ 'duett',
+ 'duffs',
+ 'dufus',
+ 'duing',
+ 'duits',
+ 'dukas',
+ 'duked',
+ 'dukes',
+ 'dukka',
+ 'dulce',
+ 'dules',
+ 'dulia',
+ 'dulls',
+ 'dulse',
+ 'dumas',
+ 'dumbo',
+ 'dumbs',
+ 'dumka',
+ 'dumky',
+ 'dumps',
+ 'dunam',
+ 'dunch',
+ 'dunes',
+ 'dungs',
+ 'dungy',
+ 'dunks',
+ 'dunno',
+ 'dunny',
+ 'dunsh',
+ 'dunts',
+ 'duomi',
+ 'duomo',
+ 'duped',
+ 'duper',
+ 'dupes',
+ 'duple',
+ 'duply',
+ 'duppy',
+ 'dural',
+ 'duras',
+ 'dured',
+ 'dures',
+ 'durgy',
+ 'durns',
+ 'duroc',
+ 'duros',
+ 'duroy',
+ 'durra',
+ 'durrs',
+ 'durry',
+ 'durst',
+ 'durum',
+ 'durzi',
+ 'dusks',
+ 'dusts',
+ 'duxes',
+ 'dwaal',
+ 'dwale',
+ 'dwalm',
+ 'dwams',
+ 'dwang',
+ 'dwaum',
+ 'dweeb',
+ 'dwile',
+ 'dwine',
+ 'dyads',
+ 'dyers',
+ 'dyked',
+ 'dykes',
+ 'dykey',
+ 'dykon',
+ 'dynel',
+ 'dynes',
+ 'dzhos',
+ 'eagre',
+ 'ealed',
+ 'eales',
+ 'eaned',
+ 'eards',
+ 'eared',
+ 'earls',
+ 'earns',
+ 'earnt',
+ 'earst',
+ 'eased',
+ 'easer',
+ 'eases',
+ 'easle',
+ 'easts',
+ 'eathe',
+ 'eaved',
+ 'eaves',
+ 'ebbed',
+ 'ebbet',
+ 'ebons',
+ 'ebook',
+ 'ecads',
+ 'eched',
+ 'eches',
+ 'echos',
+ 'ecrus',
+ 'edema',
+ 'edged',
+ 'edger',
+ 'edges',
+ 'edile',
+ 'edits',
+ 'educe',
+ 'educt',
+ 'eejit',
+ 'eensy',
+ 'eeven',
+ 'eevns',
+ 'effed',
+ 'egads',
+ 'egers',
+ 'egest',
+ 'eggar',
+ 'egged',
+ 'egger',
+ 'egmas',
+ 'ehing',
+ 'eider',
+ 'eidos',
+ 'eigne',
+ 'eiked',
+ 'eikon',
+ 'eilds',
+ 'eisel',
+ 'ejido',
+ 'ekkas',
+ 'elain',
+ 'eland',
+ 'elans',
+ 'elchi',
+ 'eldin',
+ 'elemi',
+ 'elfed',
+ 'eliad',
+ 'elint',
+ 'elmen',
+ 'eloge',
+ 'elogy',
+ 'eloin',
+ 'elops',
+ 'elpee',
+ 'elsin',
+ 'elute',
+ 'elvan',
+ 'elven',
+ 'elver',
+ 'elves',
+ 'emacs',
+ 'embar',
+ 'embay',
+ 'embog',
+ 'embow',
+ 'embox',
+ 'embus',
+ 'emeer',
+ 'emend',
+ 'emerg',
+ 'emery',
+ 'emeus',
+ 'emics',
+ 'emirs',
+ 'emits',
+ 'emmas',
+ 'emmer',
+ 'emmet',
+ 'emmew',
+ 'emmys',
+ 'emoji',
+ 'emong',
+ 'emote',
+ 'emove',
+ 'empts',
+ 'emule',
+ 'emure',
+ 'emyde',
+ 'emyds',
+ 'enarm',
+ 'enate',
+ 'ended',
+ 'ender',
+ 'endew',
+ 'endue',
+ 'enews',
+ 'enfix',
+ 'eniac',
+ 'enlit',
+ 'enmew',
+ 'ennog',
+ 'enoki',
+ 'enols',
+ 'enorm',
+ 'enows',
+ 'enrol',
+ 'ensew',
+ 'ensky',
+ 'entia',
+ 'enure',
+ 'enurn',
+ 'envoi',
+ 'enzym',
+ 'eorls',
+ 'eosin',
+ 'epact',
+ 'epees',
+ 'ephah',
+ 'ephas',
+ 'ephod',
+ 'ephor',
+ 'epics',
+ 'epode',
+ 'epopt',
+ 'epris',
+ 'eques',
+ 'equid',
+ 'erbia',
+ 'erevs',
+ 'ergon',
+ 'ergos',
+ 'ergot',
+ 'erhus',
+ 'erica',
+ 'erick',
+ 'erics',
+ 'ering',
+ 'erned',
+ 'ernes',
+ 'erose',
+ 'erred',
+ 'erses',
+ 'eruct',
+ 'erugo',
+ 'eruvs',
+ 'erven',
+ 'ervil',
+ 'escar',
+ 'escot',
+ 'esile',
+ 'eskar',
+ 'esker',
+ 'esnes',
+ 'esses',
+ 'estoc',
+ 'estop',
+ 'estro',
+ 'etage',
+ 'etape',
+ 'etats',
+ 'etens',
+ 'ethal',
+ 'ethne',
+ 'ethyl',
+ 'etics',
+ 'etnas',
+ 'ettin',
+ 'ettle',
+ 'etuis',
+ 'etwee',
+ 'etyma',
+ 'eughs',
+ 'euked',
+ 'eupad',
+ 'euros',
+ 'eusol',
+ 'evens',
+ 'evert',
+ 'evets',
+ 'evhoe',
+ 'evils',
+ 'evite',
+ 'evohe',
+ 'ewers',
+ 'ewest',
+ 'ewhow',
+ 'ewked',
+ 'exams',
+ 'exeat',
+ 'execs',
+ 'exeem',
+ 'exeme',
+ 'exfil',
+ 'exies',
+ 'exine',
+ 'exing',
+ 'exits',
+ 'exode',
+ 'exome',
+ 'exons',
+ 'expat',
+ 'expos',
+ 'exude',
+ 'exuls',
+ 'exurb',
+ 'eyass',
+ 'eyers',
+ 'eyots',
+ 'eyras',
+ 'eyres',
+ 'eyrie',
+ 'eyrir',
+ 'ezine',
+ 'fabby',
+ 'faced',
+ 'facer',
+ 'faces',
+ 'facia',
+ 'facta',
+ 'facts',
+ 'faddy',
+ 'faded',
+ 'fader',
+ 'fades',
+ 'fadge',
+ 'fados',
+ 'faena',
+ 'faery',
+ 'faffs',
+ 'faffy',
+ 'faggy',
+ 'fagin',
+ 'fagot',
+ 'faiks',
+ 'fails',
+ 'faine',
+ 'fains',
+ 'fairs',
+ 'faked',
+ 'faker',
+ 'fakes',
+ 'fakey',
+ 'fakie',
+ 'fakir',
+ 'falaj',
+ 'falls',
+ 'famed',
+ 'fames',
+ 'fanal',
+ 'fands',
+ 'fanes',
+ 'fanga',
+ 'fango',
+ 'fangs',
+ 'fanks',
+ 'fanon',
+ 'fanos',
+ 'fanum',
+ 'faqir',
+ 'farad',
+ 'farci',
+ 'farcy',
+ 'fards',
+ 'fared',
+ 'farer',
+ 'fares',
+ 'farle',
+ 'farls',
+ 'farms',
+ 'faros',
+ 'farro',
+ 'farse',
+ 'farts',
+ 'fasci',
+ 'fasti',
+ 'fasts',
+ 'fated',
+ 'fates',
+ 'fatly',
+ 'fatso',
+ 'fatwa',
+ 'faugh',
+ 'fauld',
+ 'fauns',
+ 'faurd',
+ 'fauts',
+ 'fauve',
+ 'favas',
+ 'favel',
+ 'faver',
+ 'faves',
+ 'favus',
+ 'fawns',
+ 'fawny',
+ 'faxed',
+ 'faxes',
+ 'fayed',
+ 'fayer',
+ 'fayne',
+ 'fayre',
+ 'fazed',
+ 'fazes',
+ 'feals',
+ 'feare',
+ 'fears',
+ 'feart',
+ 'fease',
+ 'feats',
+ 'feaze',
+ 'feces',
+ 'fecht',
+ 'fecit',
+ 'fecks',
+ 'fedex',
+ 'feebs',
+ 'feeds',
+ 'feels',
+ 'feens',
+ 'feers',
+ 'feese',
+ 'feeze',
+ 'fehme',
+ 'feint',
+ 'feist',
+ 'felch',
+ 'felid',
+ 'fells',
+ 'felly',
+ 'felts',
+ 'felty',
+ 'femal',
+ 'femes',
+ 'femmy',
+ 'fends',
+ 'fendy',
+ 'fenis',
+ 'fenks',
+ 'fenny',
+ 'fents',
+ 'feods',
+ 'feoff',
+ 'ferer',
+ 'feres',
+ 'feria',
+ 'ferly',
+ 'fermi',
+ 'ferms',
+ 'ferns',
+ 'ferny',
+ 'fesse',
+ 'festa',
+ 'fests',
+ 'festy',
+ 'fetas',
+ 'feted',
+ 'fetes',
+ 'fetor',
+ 'fetta',
+ 'fetts',
+ 'fetwa',
+ 'feuar',
+ 'feuds',
+ 'feued',
+ 'feyed',
+ 'feyer',
+ 'feyly',
+ 'fezes',
+ 'fezzy',
+ 'fiars',
+ 'fiats',
+ 'fibro',
+ 'fices',
+ 'fiche',
+ 'fichu',
+ 'ficin',
+ 'ficos',
+ 'fides',
+ 'fidge',
+ 'fidos',
+ 'fiefs',
+ 'fient',
+ 'fiere',
+ 'fiers',
+ 'fiest',
+ 'fifed',
+ 'fifer',
+ 'fifes',
+ 'fifis',
+ 'figgy',
+ 'figos',
+ 'fiked',
+ 'fikes',
+ 'filar',
+ 'filch',
+ 'filed',
+ 'files',
+ 'filii',
+ 'filks',
+ 'fille',
+ 'fillo',
+ 'fills',
+ 'filmi',
+ 'films',
+ 'filos',
+ 'filum',
+ 'finca',
+ 'finds',
+ 'fined',
+ 'fines',
+ 'finis',
+ 'finks',
+ 'finny',
+ 'finos',
+ 'fiord',
+ 'fiqhs',
+ 'fique',
+ 'fired',
+ 'firer',
+ 'fires',
+ 'firie',
+ 'firks',
+ 'firms',
+ 'firns',
+ 'firry',
+ 'firth',
+ 'fiscs',
+ 'fisks',
+ 'fists',
+ 'fisty',
+ 'fitch',
+ 'fitly',
+ 'fitna',
+ 'fitte',
+ 'fitts',
+ 'fiver',
+ 'fives',
+ 'fixed',
+ 'fixes',
+ 'fixit',
+ 'fjeld',
+ 'flabs',
+ 'flaff',
+ 'flags',
+ 'flaks',
+ 'flamm',
+ 'flams',
+ 'flamy',
+ 'flane',
+ 'flans',
+ 'flaps',
+ 'flary',
+ 'flats',
+ 'flava',
+ 'flawn',
+ 'flaws',
+ 'flawy',
+ 'flaxy',
+ 'flays',
+ 'fleam',
+ 'fleas',
+ 'fleek',
+ 'fleer',
+ 'flees',
+ 'flegs',
+ 'fleme',
+ 'fleur',
+ 'flews',
+ 'flexi',
+ 'flexo',
+ 'fleys',
+ 'flics',
+ 'flied',
+ 'flies',
+ 'flimp',
+ 'flims',
+ 'flips',
+ 'flirs',
+ 'flisk',
+ 'flite',
+ 'flits',
+ 'flitt',
+ 'flobs',
+ 'flocs',
+ 'floes',
+ 'flogs',
+ 'flong',
+ 'flops',
+ 'flors',
+ 'flory',
+ 'flosh',
+ 'flota',
+ 'flote',
+ 'flows',
+ 'flubs',
+ 'flued',
+ 'flues',
+ 'fluey',
+ 'fluky',
+ 'flump',
+ 'fluor',
+ 'flurr',
+ 'fluty',
+ 'fluyt',
+ 'flyby',
+ 'flype',
+ 'flyte',
+ 'foals',
+ 'foams',
+ 'foehn',
+ 'fogey',
+ 'fogie',
+ 'fogle',
+ 'fogou',
+ 'fohns',
+ 'foids',
+ 'foils',
+ 'foins',
+ 'folds',
+ 'foley',
+ 'folia',
+ 'folic',
+ 'folie',
+ 'folks',
+ 'folky',
+ 'fomes',
+ 'fonda',
+ 'fonds',
+ 'fondu',
+ 'fones',
+ 'fonly',
+ 'fonts',
+ 'foods',
+ 'foody',
+ 'fools',
+ 'foots',
+ 'footy',
+ 'foram',
+ 'forbs',
+ 'forby',
+ 'fordo',
+ 'fords',
+ 'forel',
+ 'fores',
+ 'forex',
+ 'forks',
+ 'forky',
+ 'forme',
+ 'forms',
+ 'forts',
+ 'forza',
+ 'forze',
+ 'fossa',
+ 'fosse',
+ 'fouat',
+ 'fouds',
+ 'fouer',
+ 'fouet',
+ 'foule',
+ 'fouls',
+ 'fount',
+ 'fours',
+ 'fouth',
+ 'fovea',
+ 'fowls',
+ 'fowth',
+ 'foxed',
+ 'foxes',
+ 'foxie',
+ 'foyle',
+ 'foyne',
+ 'frabs',
+ 'frack',
+ 'fract',
+ 'frags',
+ 'fraim',
+ 'franc',
+ 'frape',
+ 'fraps',
+ 'frass',
+ 'frate',
+ 'frati',
+ 'frats',
+ 'fraus',
+ 'frays',
+ 'frees',
+ 'freet',
+ 'freit',
+ 'fremd',
+ 'frena',
+ 'freon',
+ 'frere',
+ 'frets',
+ 'fribs',
+ 'frier',
+ 'fries',
+ 'frigs',
+ 'frise',
+ 'frist',
+ 'frith',
+ 'frits',
+ 'fritt',
+ 'frize',
+ 'frizz',
+ 'froes',
+ 'frogs',
+ 'frons',
+ 'frore',
+ 'frorn',
+ 'frory',
+ 'frosh',
+ 'frows',
+ 'frowy',
+ 'frugs',
+ 'frump',
+ 'frush',
+ 'frust',
+ 'fryer',
+ 'fubar',
+ 'fubby',
+ 'fubsy',
+ 'fucks',
+ 'fucus',
+ 'fuddy',
+ 'fudgy',
+ 'fuels',
+ 'fuero',
+ 'fuffs',
+ 'fuffy',
+ 'fugal',
+ 'fuggy',
+ 'fugie',
+ 'fugio',
+ 'fugle',
+ 'fugly',
+ 'fugus',
+ 'fujis',
+ 'fulls',
+ 'fumed',
+ 'fumer',
+ 'fumes',
+ 'fumet',
+ 'fundi',
+ 'funds',
+ 'fundy',
+ 'fungo',
+ 'fungs',
+ 'funks',
+ 'fural',
+ 'furan',
+ 'furca',
+ 'furls',
+ 'furol',
+ 'furrs',
+ 'furth',
+ 'furze',
+ 'furzy',
+ 'fused',
+ 'fusee',
+ 'fusel',
+ 'fuses',
+ 'fusil',
+ 'fusks',
+ 'fusts',
+ 'fusty',
+ 'futon',
+ 'fuzed',
+ 'fuzee',
+ 'fuzes',
+ 'fuzil',
+ 'fyces',
+ 'fyked',
+ 'fykes',
+ 'fyles',
+ 'fyrds',
+ 'fytte',
+ 'gabba',
+ 'gabby',
+ 'gable',
+ 'gaddi',
+ 'gades',
+ 'gadge',
+ 'gadid',
+ 'gadis',
+ 'gadje',
+ 'gadjo',
+ 'gadso',
+ 'gaffs',
+ 'gaged',
+ 'gager',
+ 'gages',
+ 'gaids',
+ 'gains',
+ 'gairs',
+ 'gaita',
+ 'gaits',
+ 'gaitt',
+ 'gajos',
+ 'galah',
+ 'galas',
+ 'galax',
+ 'galea',
+ 'galed',
+ 'gales',
+ 'galls',
+ 'gally',
+ 'galop',
+ 'galut',
+ 'galvo',
+ 'gamas',
+ 'gamay',
+ 'gamba',
+ 'gambe',
+ 'gambo',
+ 'gambs',
+ 'gamed',
+ 'games',
+ 'gamey',
+ 'gamic',
+ 'gamin',
+ 'gamme',
+ 'gammy',
+ 'gamps',
+ 'ganch',
+ 'gandy',
+ 'ganef',
+ 'ganev',
+ 'gangs',
+ 'ganja',
+ 'ganof',
+ 'gants',
+ 'gaols',
+ 'gaped',
+ 'gaper',
+ 'gapes',
+ 'gapos',
+ 'gappy',
+ 'garbe',
+ 'garbo',
+ 'garbs',
+ 'garda',
+ 'gares',
+ 'garis',
+ 'garms',
+ 'garni',
+ 'garre',
+ 'garth',
+ 'garum',
+ 'gases',
+ 'gasps',
+ 'gaspy',
+ 'gasts',
+ 'gatch',
+ 'gated',
+ 'gater',
+ 'gates',
+ 'gaths',
+ 'gator',
+ 'gauch',
+ 'gaucy',
+ 'gauds',
+ 'gauje',
+ 'gault',
+ 'gaums',
+ 'gaumy',
+ 'gaups',
+ 'gaurs',
+ 'gauss',
+ 'gauzy',
+ 'gavot',
+ 'gawcy',
+ 'gawds',
+ 'gawks',
+ 'gawps',
+ 'gawsy',
+ 'gayal',
+ 'gazal',
+ 'gazar',
+ 'gazed',
+ 'gazes',
+ 'gazon',
+ 'gazoo',
+ 'geals',
+ 'geans',
+ 'geare',
+ 'gears',
+ 'geats',
+ 'gebur',
+ 'gecks',
+ 'geeks',
+ 'geeps',
+ 'geest',
+ 'geist',
+ 'geits',
+ 'gelds',
+ 'gelee',
+ 'gelid',
+ 'gelly',
+ 'gelts',
+ 'gemel',
+ 'gemma',
+ 'gemmy',
+ 'gemot',
+ 'genal',
+ 'genas',
+ 'genes',
+ 'genet',
+ 'genic',
+ 'genii',
+ 'genip',
+ 'genny',
+ 'genoa',
+ 'genom',
+ 'genro',
+ 'gents',
+ 'genty',
+ 'genua',
+ 'genus',
+ 'geode',
+ 'geoid',
+ 'gerah',
+ 'gerbe',
+ 'geres',
+ 'gerle',
+ 'germs',
+ 'germy',
+ 'gerne',
+ 'gesse',
+ 'gesso',
+ 'geste',
+ 'gests',
+ 'getas',
+ 'getup',
+ 'geums',
+ 'geyan',
+ 'geyer',
+ 'ghast',
+ 'ghats',
+ 'ghaut',
+ 'ghazi',
+ 'ghees',
+ 'ghest',
+ 'ghyll',
+ 'gibed',
+ 'gibel',
+ 'giber',
+ 'gibes',
+ 'gibli',
+ 'gibus',
+ 'gifts',
+ 'gigas',
+ 'gighe',
+ 'gigot',
+ 'gigue',
+ 'gilas',
+ 'gilds',
+ 'gilet',
+ 'gills',
+ 'gilly',
+ 'gilpy',
+ 'gilts',
+ 'gimel',
+ 'gimme',
+ 'gimps',
+ 'gimpy',
+ 'ginch',
+ 'ginge',
+ 'gings',
+ 'ginks',
+ 'ginny',
+ 'ginzo',
+ 'gipon',
+ 'gippo',
+ 'gippy',
+ 'girds',
+ 'girls',
+ 'girns',
+ 'giron',
+ 'giros',
+ 'girrs',
+ 'girsh',
+ 'girts',
+ 'gismo',
+ 'gisms',
+ 'gists',
+ 'gitch',
+ 'gites',
+ 'giust',
+ 'gived',
+ 'gives',
+ 'gizmo',
+ 'glace',
+ 'glads',
+ 'glady',
+ 'glaik',
+ 'glair',
+ 'glams',
+ 'glans',
+ 'glary',
+ 'glaum',
+ 'glaur',
+ 'glazy',
+ 'gleba',
+ 'glebe',
+ 'gleby',
+ 'glede',
+ 'gleds',
+ 'gleed',
+ 'gleek',
+ 'glees',
+ 'gleet',
+ 'gleis',
+ 'glens',
+ 'glent',
+ 'gleys',
+ 'glial',
+ 'glias',
+ 'glibs',
+ 'gliff',
+ 'glift',
+ 'glike',
+ 'glime',
+ 'glims',
+ 'glisk',
+ 'glits',
+ 'glitz',
+ 'gloam',
+ 'globi',
+ 'globs',
+ 'globy',
+ 'glode',
+ 'glogg',
+ 'gloms',
+ 'gloop',
+ 'glops',
+ 'glost',
+ 'glout',
+ 'glows',
+ 'gloze',
+ 'glued',
+ 'gluer',
+ 'glues',
+ 'gluey',
+ 'glugs',
+ 'glume',
+ 'glums',
+ 'gluon',
+ 'glute',
+ 'gluts',
+ 'gnarl',
+ 'gnarr',
+ 'gnars',
+ 'gnats',
+ 'gnawn',
+ 'gnaws',
+ 'gnows',
+ 'goads',
+ 'goafs',
+ 'goals',
+ 'goary',
+ 'goats',
+ 'goaty',
+ 'goban',
+ 'gobar',
+ 'gobbi',
+ 'gobbo',
+ 'gobby',
+ 'gobis',
+ 'gobos',
+ 'godet',
+ 'godso',
+ 'goels',
+ 'goers',
+ 'goest',
+ 'goeth',
+ 'goety',
+ 'gofer',
+ 'goffs',
+ 'gogga',
+ 'gogos',
+ 'goier',
+ 'gojis',
+ 'golds',
+ 'goldy',
+ 'goles',
+ 'golfs',
+ 'golpe',
+ 'golps',
+ 'gombo',
+ 'gomer',
+ 'gompa',
+ 'gonch',
+ 'gonef',
+ 'gongs',
+ 'gonia',
+ 'gonif',
+ 'gonks',
+ 'gonna',
+ 'gonof',
+ 'gonys',
+ 'gonzo',
+ 'gooby',
+ 'goods',
+ 'goofs',
+ 'googs',
+ 'gooks',
+ 'gooky',
+ 'goold',
+ 'gools',
+ 'gooly',
+ 'goons',
+ 'goony',
+ 'goops',
+ 'goopy',
+ 'goors',
+ 'goory',
+ 'goosy',
+ 'gopak',
+ 'gopik',
+ 'goral',
+ 'goras',
+ 'gored',
+ 'gores',
+ 'goris',
+ 'gorms',
+ 'gormy',
+ 'gorps',
+ 'gorse',
+ 'gorsy',
+ 'gosht',
+ 'gosse',
+ 'gotch',
+ 'goths',
+ 'gothy',
+ 'gotta',
+ 'gouch',
+ 'gouks',
+ 'goura',
+ 'gouts',
+ 'gouty',
+ 'gowan',
+ 'gowds',
+ 'gowfs',
+ 'gowks',
+ 'gowls',
+ 'gowns',
+ 'goxes',
+ 'goyim',
+ 'goyle',
+ 'graal',
+ 'grabs',
+ 'grads',
+ 'graff',
+ 'graip',
+ 'grama',
+ 'grame',
+ 'gramp',
+ 'grams',
+ 'grana',
+ 'grans',
+ 'grapy',
+ 'gravs',
+ 'grays',
+ 'grebe',
+ 'grebo',
+ 'grece',
+ 'greek',
+ 'grees',
+ 'grege',
+ 'grego',
+ 'grein',
+ 'grens',
+ 'grese',
+ 'greve',
+ 'grews',
+ 'greys',
+ 'grice',
+ 'gride',
+ 'grids',
+ 'griff',
+ 'grift',
+ 'grigs',
+ 'grike',
+ 'grins',
+ 'griot',
+ 'grips',
+ 'gript',
+ 'gripy',
+ 'grise',
+ 'grist',
+ 'grisy',
+ 'grith',
+ 'grits',
+ 'grize',
+ 'groat',
+ 'grody',
+ 'grogs',
+ 'groks',
+ 'groma',
+ 'grone',
+ 'groof',
+ 'grosz',
+ 'grots',
+ 'grouf',
+ 'grovy',
+ 'grows',
+ 'grrls',
+ 'grrrl',
+ 'grubs',
+ 'grued',
+ 'grues',
+ 'grufe',
+ 'grume',
+ 'grump',
+ 'grund',
+ 'gryce',
+ 'gryde',
+ 'gryke',
+ 'grype',
+ 'grypt',
+ 'guaco',
+ 'guana',
+ 'guano',
+ 'guans',
+ 'guars',
+ 'gucks',
+ 'gucky',
+ 'gudes',
+ 'guffs',
+ 'gugas',
+ 'guids',
+ 'guimp',
+ 'guiro',
+ 'gulag',
+ 'gular',
+ 'gulas',
+ 'gules',
+ 'gulet',
+ 'gulfs',
+ 'gulfy',
+ 'gulls',
+ 'gulph',
+ 'gulps',
+ 'gulpy',
+ 'gumma',
+ 'gummi',
+ 'gumps',
+ 'gundy',
+ 'gunge',
+ 'gungy',
+ 'gunks',
+ 'gunky',
+ 'gunny',
+ 'guqin',
+ 'gurdy',
+ 'gurge',
+ 'gurls',
+ 'gurly',
+ 'gurns',
+ 'gurry',
+ 'gursh',
+ 'gurus',
+ 'gushy',
+ 'gusla',
+ 'gusle',
+ 'gusli',
+ 'gussy',
+ 'gusts',
+ 'gutsy',
+ 'gutta',
+ 'gutty',
+ 'guyed',
+ 'guyle',
+ 'guyot',
+ 'guyse',
+ 'gwine',
+ 'gyals',
+ 'gyans',
+ 'gybed',
+ 'gybes',
+ 'gyeld',
+ 'gymps',
+ 'gynae',
+ 'gynie',
+ 'gynny',
+ 'gynos',
+ 'gyoza',
+ 'gypos',
+ 'gyppo',
+ 'gyppy',
+ 'gyral',
+ 'gyred',
+ 'gyres',
+ 'gyron',
+ 'gyros',
+ 'gyrus',
+ 'gytes',
+ 'gyved',
+ 'gyves',
+ 'haafs',
+ 'haars',
+ 'hable',
+ 'habus',
+ 'hacek',
+ 'hacks',
+ 'hadal',
+ 'haded',
+ 'hades',
+ 'hadji',
+ 'hadst',
+ 'haems',
+ 'haets',
+ 'haffs',
+ 'hafiz',
+ 'hafts',
+ 'haggs',
+ 'hahas',
+ 'haick',
+ 'haika',
+ 'haiks',
+ 'haiku',
+ 'hails',
+ 'haily',
+ 'hains',
+ 'haint',
+ 'hairs',
+ 'haith',
+ 'hajes',
+ 'hajis',
+ 'hajji',
+ 'hakam',
+ 'hakas',
+ 'hakea',
+ 'hakes',
+ 'hakim',
+ 'hakus',
+ 'halal',
+ 'haled',
+ 'haler',
+ 'hales',
+ 'halfa',
+ 'halfs',
+ 'halid',
+ 'hallo',
+ 'halls',
+ 'halma',
+ 'halms',
+ 'halon',
+ 'halos',
+ 'halse',
+ 'halts',
+ 'halva',
+ 'halwa',
+ 'hamal',
+ 'hamba',
+ 'hamed',
+ 'hames',
+ 'hammy',
+ 'hamza',
+ 'hanap',
+ 'hance',
+ 'hanch',
+ 'hands',
+ 'hangi',
+ 'hangs',
+ 'hanks',
+ 'hanky',
+ 'hansa',
+ 'hanse',
+ 'hants',
+ 'haole',
+ 'haoma',
+ 'hapax',
+ 'haply',
+ 'happi',
+ 'hapus',
+ 'haram',
+ 'hards',
+ 'hared',
+ 'hares',
+ 'harim',
+ 'harks',
+ 'harls',
+ 'harms',
+ 'harns',
+ 'haros',
+ 'harps',
+ 'harts',
+ 'hashy',
+ 'hasks',
+ 'hasps',
+ 'hasta',
+ 'hated',
+ 'hates',
+ 'hatha',
+ 'hauds',
+ 'haufs',
+ 'haugh',
+ 'hauld',
+ 'haulm',
+ 'hauls',
+ 'hault',
+ 'hauns',
+ 'hause',
+ 'haver',
+ 'haves',
+ 'hawed',
+ 'hawks',
+ 'hawms',
+ 'hawse',
+ 'hayed',
+ 'hayer',
+ 'hayey',
+ 'hayle',
+ 'hazan',
+ 'hazed',
+ 'hazer',
+ 'hazes',
+ 'heads',
+ 'heald',
+ 'heals',
+ 'heame',
+ 'heaps',
+ 'heapy',
+ 'heare',
+ 'hears',
+ 'heast',
+ 'heats',
+ 'heben',
+ 'hebes',
+ 'hecht',
+ 'hecks',
+ 'heder',
+ 'hedgy',
+ 'heeds',
+ 'heedy',
+ 'heels',
+ 'heeze',
+ 'hefte',
+ 'hefts',
+ 'heids',
+ 'heigh',
+ 'heils',
+ 'heirs',
+ 'hejab',
+ 'hejra',
+ 'heled',
+ 'heles',
+ 'helio',
+ 'hells',
+ 'helms',
+ 'helos',
+ 'helot',
+ 'helps',
+ 'helve',
+ 'hemal',
+ 'hemes',
+ 'hemic',
+ 'hemin',
+ 'hemps',
+ 'hempy',
+ 'hench',
+ 'hends',
+ 'henge',
+ 'henna',
+ 'henny',
+ 'henry',
+ 'hents',
+ 'hepar',
+ 'herbs',
+ 'herby',
+ 'herds',
+ 'heres',
+ 'herls',
+ 'herma',
+ 'herms',
+ 'herns',
+ 'heros',
+ 'herry',
+ 'herse',
+ 'hertz',
+ 'herye',
+ 'hesps',
+ 'hests',
+ 'hetes',
+ 'heths',
+ 'heuch',
+ 'heugh',
+ 'hevea',
+ 'hewed',
+ 'hewer',
+ 'hewgh',
+ 'hexad',
+ 'hexed',
+ 'hexer',
+ 'hexes',
+ 'hexyl',
+ 'heyed',
+ 'hiant',
+ 'hicks',
+ 'hided',
+ 'hider',
+ 'hides',
+ 'hiems',
+ 'highs',
+ 'hight',
+ 'hijab',
+ 'hijra',
+ 'hiked',
+ 'hiker',
+ 'hikes',
+ 'hikoi',
+ 'hilar',
+ 'hilch',
+ 'hillo',
+ 'hills',
+ 'hilts',
+ 'hilum',
+ 'hilus',
+ 'himbo',
+ 'hinau',
+ 'hinds',
+ 'hings',
+ 'hinky',
+ 'hinny',
+ 'hints',
+ 'hiois',
+ 'hiply',
+ 'hired',
+ 'hiree',
+ 'hirer',
+ 'hires',
+ 'hissy',
+ 'hists',
+ 'hithe',
+ 'hived',
+ 'hiver',
+ 'hives',
+ 'hizen',
+ 'hoaed',
+ 'hoagy',
+ 'hoars',
+ 'hoary',
+ 'hoast',
+ 'hobos',
+ 'hocks',
+ 'hocus',
+ 'hodad',
+ 'hodja',
+ 'hoers',
+ 'hogan',
+ 'hogen',
+ 'hoggs',
+ 'hoghs',
+ 'hohed',
+ 'hoick',
+ 'hoied',
+ 'hoiks',
+ 'hoing',
+ 'hoise',
+ 'hokas',
+ 'hoked',
+ 'hokes',
+ 'hokey',
+ 'hokis',
+ 'hokku',
+ 'hokum',
+ 'holds',
+ 'holed',
+ 'holes',
+ 'holey',
+ 'holks',
+ 'holla',
+ 'hollo',
+ 'holme',
+ 'holms',
+ 'holon',
+ 'holos',
+ 'holts',
+ 'homas',
+ 'homed',
+ 'homes',
+ 'homey',
+ 'homie',
+ 'homme',
+ 'homos',
+ 'honan',
+ 'honda',
+ 'honds',
+ 'honed',
+ 'honer',
+ 'hones',
+ 'hongi',
+ 'hongs',
+ 'honks',
+ 'honky',
+ 'hooch',
+ 'hoods',
+ 'hoody',
+ 'hooey',
+ 'hoofs',
+ 'hooka',
+ 'hooks',
+ 'hooky',
+ 'hooly',
+ 'hoons',
+ 'hoops',
+ 'hoord',
+ 'hoors',
+ 'hoosh',
+ 'hoots',
+ 'hooty',
+ 'hoove',
+ 'hopak',
+ 'hoped',
+ 'hoper',
+ 'hopes',
+ 'hoppy',
+ 'horah',
+ 'horal',
+ 'horas',
+ 'horis',
+ 'horks',
+ 'horme',
+ 'horns',
+ 'horst',
+ 'horsy',
+ 'hosed',
+ 'hosel',
+ 'hosen',
+ 'hoser',
+ 'hoses',
+ 'hosey',
+ 'hosta',
+ 'hosts',
+ 'hotch',
+ 'hoten',
+ 'hotty',
+ 'houff',
+ 'houfs',
+ 'hough',
+ 'houri',
+ 'hours',
+ 'houts',
+ 'hovea',
+ 'hoved',
+ 'hoven',
+ 'hoves',
+ 'howbe',
+ 'howes',
+ 'howff',
+ 'howfs',
+ 'howks',
+ 'howls',
+ 'howre',
+ 'howso',
+ 'hoxed',
+ 'hoxes',
+ 'hoyas',
+ 'hoyed',
+ 'hoyle',
+ 'hubby',
+ 'hucks',
+ 'hudna',
+ 'hudud',
+ 'huers',
+ 'huffs',
+ 'huffy',
+ 'huger',
+ 'huggy',
+ 'huhus',
+ 'huias',
+ 'hulas',
+ 'hules',
+ 'hulks',
+ 'hulky',
+ 'hullo',
+ 'hulls',
+ 'hully',
+ 'humas',
+ 'humfs',
+ 'humic',
+ 'humps',
+ 'humpy',
+ 'hunks',
+ 'hunts',
+ 'hurds',
+ 'hurls',
+ 'hurly',
+ 'hurra',
+ 'hurst',
+ 'hurts',
+ 'hushy',
+ 'husks',
+ 'husos',
+ 'hutia',
+ 'huzza',
+ 'huzzy',
+ 'hwyls',
+ 'hydra',
+ 'hyens',
+ 'hygge',
+ 'hying',
+ 'hykes',
+ 'hylas',
+ 'hyleg',
+ 'hyles',
+ 'hylic',
+ 'hymns',
+ 'hynde',
+ 'hyoid',
+ 'hyped',
+ 'hypes',
+ 'hypha',
+ 'hyphy',
+ 'hypos',
+ 'hyrax',
+ 'hyson',
+ 'hythe',
+ 'iambi',
+ 'iambs',
+ 'ibrik',
+ 'icers',
+ 'iched',
+ 'iches',
+ 'ichor',
+ 'icier',
+ 'icker',
+ 'ickle',
+ 'icons',
+ 'ictal',
+ 'ictic',
+ 'ictus',
+ 'idant',
+ 'ideas',
+ 'idees',
+ 'ident',
+ 'idled',
+ 'idles',
+ 'idola',
+ 'idols',
+ 'idyls',
+ 'iftar',
+ 'igapo',
+ 'igged',
+ 'iglus',
+ 'ihram',
+ 'ikans',
+ 'ikats',
+ 'ikons',
+ 'ileac',
+ 'ileal',
+ 'ileum',
+ 'ileus',
+ 'iliad',
+ 'ilial',
+ 'ilium',
+ 'iller',
+ 'illth',
+ 'imago',
+ 'imams',
+ 'imari',
+ 'imaum',
+ 'imbar',
+ 'imbed',
+ 'imide',
+ 'imido',
+ 'imids',
+ 'imine',
+ 'imino',
+ 'immew',
+ 'immit',
+ 'immix',
+ 'imped',
+ 'impis',
+ 'impot',
+ 'impro',
+ 'imshi',
+ 'imshy',
+ 'inapt',
+ 'inarm',
+ 'inbye',
+ 'incel',
+ 'incle',
+ 'incog',
+ 'incus',
+ 'incut',
+ 'indew',
+ 'india',
+ 'indie',
+ 'indol',
+ 'indow',
+ 'indri',
+ 'indue',
+ 'inerm',
+ 'infix',
+ 'infos',
+ 'infra',
+ 'ingan',
+ 'ingle',
+ 'inion',
+ 'inked',
+ 'inker',
+ 'inkle',
+ 'inned',
+ 'innit',
+ 'inorb',
+ 'inrun',
+ 'inset',
+ 'inspo',
+ 'intel',
+ 'intil',
+ 'intis',
+ 'intra',
+ 'inula',
+ 'inure',
+ 'inurn',
+ 'inust',
+ 'invar',
+ 'inwit',
+ 'iodic',
+ 'iodid',
+ 'iodin',
+ 'iotas',
+ 'ippon',
+ 'irade',
+ 'irids',
+ 'iring',
+ 'irked',
+ 'iroko',
+ 'irone',
+ 'irons',
+ 'isbas',
+ 'ishes',
+ 'isled',
+ 'isles',
+ 'isnae',
+ 'issei',
+ 'istle',
+ 'items',
+ 'ither',
+ 'ivied',
+ 'ivies',
+ 'ixias',
+ 'ixnay',
+ 'ixora',
+ 'ixtle',
+ 'izard',
+ 'izars',
+ 'izzat',
+ 'jaaps',
+ 'jabot',
+ 'jacal',
+ 'jacks',
+ 'jacky',
+ 'jaded',
+ 'jades',
+ 'jafas',
+ 'jaffa',
+ 'jagas',
+ 'jager',
+ 'jaggs',
+ 'jaggy',
+ 'jagir',
+ 'jagra',
+ 'jails',
+ 'jaker',
+ 'jakes',
+ 'jakey',
+ 'jalap',
+ 'jalop',
+ 'jambe',
+ 'jambo',
+ 'jambs',
+ 'jambu',
+ 'james',
+ 'jammy',
+ 'jamon',
+ 'janes',
+ 'janns',
+ 'janny',
+ 'janty',
+ 'japan',
+ 'japed',
+ 'japer',
+ 'japes',
+ 'jarks',
+ 'jarls',
+ 'jarps',
+ 'jarta',
+ 'jarul',
+ 'jasey',
+ 'jaspe',
+ 'jasps',
+ 'jatos',
+ 'jauks',
+ 'jaups',
+ 'javas',
+ 'javel',
+ 'jawan',
+ 'jawed',
+ 'jaxie',
+ 'jeans',
+ 'jeats',
+ 'jebel',
+ 'jedis',
+ 'jeels',
+ 'jeely',
+ 'jeeps',
+ 'jeers',
+ 'jeeze',
+ 'jefes',
+ 'jeffs',
+ 'jehad',
+ 'jehus',
+ 'jelab',
+ 'jello',
+ 'jells',
+ 'jembe',
+ 'jemmy',
+ 'jenny',
+ 'jeons',
+ 'jerid',
+ 'jerks',
+ 'jerry',
+ 'jesse',
+ 'jests',
+ 'jesus',
+ 'jetes',
+ 'jeton',
+ 'jeune',
+ 'jewed',
+ 'jewie',
+ 'jhala',
+ 'jiaos',
+ 'jibba',
+ 'jibbs',
+ 'jibed',
+ 'jiber',
+ 'jibes',
+ 'jiffs',
+ 'jiggy',
+ 'jigot',
+ 'jihad',
+ 'jills',
+ 'jilts',
+ 'jimmy',
+ 'jimpy',
+ 'jingo',
+ 'jinks',
+ 'jinne',
+ 'jinni',
+ 'jinns',
+ 'jirds',
+ 'jirga',
+ 'jirre',
+ 'jisms',
+ 'jived',
+ 'jiver',
+ 'jives',
+ 'jivey',
+ 'jnana',
+ 'jobed',
+ 'jobes',
+ 'jocko',
+ 'jocks',
+ 'jocky',
+ 'jocos',
+ 'jodel',
+ 'joeys',
+ 'johns',
+ 'joins',
+ 'joked',
+ 'jokes',
+ 'jokey',
+ 'jokol',
+ 'joled',
+ 'joles',
+ 'jolls',
+ 'jolts',
+ 'jolty',
+ 'jomon',
+ 'jomos',
+ 'jones',
+ 'jongs',
+ 'jonty',
+ 'jooks',
+ 'joram',
+ 'jorum',
+ 'jotas',
+ 'jotty',
+ 'jotun',
+ 'joual',
+ 'jougs',
+ 'jouks',
+ 'joule',
+ 'jours',
+ 'jowar',
+ 'jowed',
+ 'jowls',
+ 'jowly',
+ 'joyed',
+ 'jubas',
+ 'jubes',
+ 'jucos',
+ 'judas',
+ 'judgy',
+ 'judos',
+ 'jugal',
+ 'jugum',
+ 'jujus',
+ 'juked',
+ 'jukes',
+ 'jukus',
+ 'julep',
+ 'jumar',
+ 'jumby',
+ 'jumps',
+ 'junco',
+ 'junks',
+ 'junky',
+ 'jupes',
+ 'jupon',
+ 'jural',
+ 'jurat',
+ 'jurel',
+ 'jures',
+ 'justs',
+ 'jutes',
+ 'jutty',
+ 'juves',
+ 'juvie',
+ 'kaama',
+ 'kabab',
+ 'kabar',
+ 'kabob',
+ 'kacha',
+ 'kacks',
+ 'kadai',
+ 'kades',
+ 'kadis',
+ 'kafir',
+ 'kagos',
+ 'kagus',
+ 'kahal',
+ 'kaiak',
+ 'kaids',
+ 'kaies',
+ 'kaifs',
+ 'kaika',
+ 'kaiks',
+ 'kails',
+ 'kaims',
+ 'kaing',
+ 'kains',
+ 'kakas',
+ 'kakis',
+ 'kalam',
+ 'kales',
+ 'kalif',
+ 'kalis',
+ 'kalpa',
+ 'kamas',
+ 'kames',
+ 'kamik',
+ 'kamis',
+ 'kamme',
+ 'kanae',
+ 'kanas',
+ 'kandy',
+ 'kaneh',
+ 'kanes',
+ 'kanga',
+ 'kangs',
+ 'kanji',
+ 'kants',
+ 'kanzu',
+ 'kaons',
+ 'kapas',
+ 'kaphs',
+ 'kapok',
+ 'kapow',
+ 'kapus',
+ 'kaput',
+ 'karas',
+ 'karat',
+ 'karks',
+ 'karns',
+ 'karoo',
+ 'karos',
+ 'karri',
+ 'karst',
+ 'karsy',
+ 'karts',
+ 'karzy',
+ 'kasha',
+ 'kasme',
+ 'katal',
+ 'katas',
+ 'katis',
+ 'katti',
+ 'kaugh',
+ 'kauri',
+ 'kauru',
+ 'kaury',
+ 'kaval',
+ 'kavas',
+ 'kawas',
+ 'kawau',
+ 'kawed',
+ 'kayle',
+ 'kayos',
+ 'kazis',
+ 'kazoo',
+ 'kbars',
+ 'kebar',
+ 'kebob',
+ 'kecks',
+ 'kedge',
+ 'kedgy',
+ 'keech',
+ 'keefs',
+ 'keeks',
+ 'keels',
+ 'keema',
+ 'keeno',
+ 'keens',
+ 'keeps',
+ 'keets',
+ 'keeve',
+ 'kefir',
+ 'kehua',
+ 'keirs',
+ 'kelep',
+ 'kelim',
+ 'kells',
+ 'kelly',
+ 'kelps',
+ 'kelpy',
+ 'kelts',
+ 'kelty',
+ 'kembo',
+ 'kembs',
+ 'kemps',
+ 'kempt',
+ 'kempy',
+ 'kenaf',
+ 'kench',
+ 'kendo',
+ 'kenos',
+ 'kente',
+ 'kents',
+ 'kepis',
+ 'kerbs',
+ 'kerel',
+ 'kerfs',
+ 'kerky',
+ 'kerma',
+ 'kerne',
+ 'kerns',
+ 'keros',
+ 'kerry',
+ 'kerve',
+ 'kesar',
+ 'kests',
+ 'ketas',
+ 'ketch',
+ 'ketes',
+ 'ketol',
+ 'kevel',
+ 'kevil',
+ 'kexes',
+ 'keyed',
+ 'keyer',
+ 'khadi',
+ 'khafs',
+ 'khans',
+ 'khaph',
+ 'khats',
+ 'khaya',
+ 'khazi',
+ 'kheda',
+ 'kheth',
+ 'khets',
+ 'khoja',
+ 'khors',
+ 'khoum',
+ 'khuds',
+ 'kiaat',
+ 'kiack',
+ 'kiang',
+ 'kibbe',
+ 'kibbi',
+ 'kibei',
+ 'kibes',
+ 'kibla',
+ 'kicks',
+ 'kicky',
+ 'kiddo',
+ 'kiddy',
+ 'kidel',
+ 'kidge',
+ 'kiefs',
+ 'kiers',
+ 'kieve',
+ 'kievs',
+ 'kight',
+ 'kikes',
+ 'kikoi',
+ 'kiley',
+ 'kilim',
+ 'kills',
+ 'kilns',
+ 'kilos',
+ 'kilps',
+ 'kilts',
+ 'kilty',
+ 'kimbo',
+ 'kinas',
+ 'kinda',
+ 'kinds',
+ 'kindy',
+ 'kines',
+ 'kings',
+ 'kinin',
+ 'kinks',
+ 'kinos',
+ 'kiore',
+ 'kipes',
+ 'kippa',
+ 'kipps',
+ 'kirby',
+ 'kirks',
+ 'kirns',
+ 'kirri',
+ 'kisan',
+ 'kissy',
+ 'kists',
+ 'kited',
+ 'kiter',
+ 'kites',
+ 'kithe',
+ 'kiths',
+ 'kitul',
+ 'kivas',
+ 'kiwis',
+ 'klang',
+ 'klaps',
+ 'klett',
+ 'klick',
+ 'klieg',
+ 'kliks',
+ 'klong',
+ 'kloof',
+ 'kluge',
+ 'klutz',
+ 'knags',
+ 'knaps',
+ 'knarl',
+ 'knars',
+ 'knaur',
+ 'knawe',
+ 'knees',
+ 'knell',
+ 'knish',
+ 'knits',
+ 'knive',
+ 'knobs',
+ 'knops',
+ 'knosp',
+ 'knots',
+ 'knout',
+ 'knowe',
+ 'knows',
+ 'knubs',
+ 'knurl',
+ 'knurr',
+ 'knurs',
+ 'knuts',
+ 'koans',
+ 'koaps',
+ 'koban',
+ 'kobos',
+ 'koels',
+ 'koffs',
+ 'kofta',
+ 'kogal',
+ 'kohas',
+ 'kohen',
+ 'kohls',
+ 'koine',
+ 'kojis',
+ 'kokam',
+ 'kokas',
+ 'koker',
+ 'kokra',
+ 'kokum',
+ 'kolas',
+ 'kolos',
+ 'kombu',
+ 'konbu',
+ 'kondo',
+ 'konks',
+ 'kooks',
+ 'kooky',
+ 'koori',
+ 'kopek',
+ 'kophs',
+ 'kopje',
+ 'koppa',
+ 'korai',
+ 'koras',
+ 'korat',
+ 'kores',
+ 'korma',
+ 'koros',
+ 'korun',
+ 'korus',
+ 'koses',
+ 'kotch',
+ 'kotos',
+ 'kotow',
+ 'koura',
+ 'kraal',
+ 'krabs',
+ 'kraft',
+ 'krais',
+ 'krait',
+ 'krang',
+ 'krans',
+ 'kranz',
+ 'kraut',
+ 'krays',
+ 'kreep',
+ 'kreng',
+ 'krewe',
+ 'krona',
+ 'krone',
+ 'kroon',
+ 'krubi',
+ 'krunk',
+ 'ksars',
+ 'kubie',
+ 'kudos',
+ 'kudus',
+ 'kudzu',
+ 'kufis',
+ 'kugel',
+ 'kuias',
+ 'kukri',
+ 'kukus',
+ 'kulak',
+ 'kulan',
+ 'kulas',
+ 'kulfi',
+ 'kumis',
+ 'kumys',
+ 'kuris',
+ 'kurre',
+ 'kurta',
+ 'kurus',
+ 'kusso',
+ 'kutas',
+ 'kutch',
+ 'kutis',
+ 'kutus',
+ 'kuzus',
+ 'kvass',
+ 'kvell',
+ 'kwela',
+ 'kyack',
+ 'kyaks',
+ 'kyang',
+ 'kyars',
+ 'kyats',
+ 'kybos',
+ 'kydst',
+ 'kyles',
+ 'kylie',
+ 'kylin',
+ 'kylix',
+ 'kyloe',
+ 'kynde',
+ 'kynds',
+ 'kypes',
+ 'kyrie',
+ 'kytes',
+ 'kythe',
+ 'laari',
+ 'labda',
+ 'labia',
+ 'labis',
+ 'labra',
+ 'laced',
+ 'lacer',
+ 'laces',
+ 'lacet',
+ 'lacey',
+ 'lacks',
+ 'laddy',
+ 'laded',
+ 'lader',
+ 'lades',
+ 'laers',
+ 'laevo',
+ 'lagan',
+ 'lahal',
+ 'lahar',
+ 'laich',
+ 'laics',
+ 'laids',
+ 'laigh',
+ 'laika',
+ 'laiks',
+ 'laird',
+ 'lairs',
+ 'lairy',
+ 'laith',
+ 'laity',
+ 'laked',
+ 'laker',
+ 'lakes',
+ 'lakhs',
+ 'lakin',
+ 'laksa',
+ 'laldy',
+ 'lalls',
+ 'lamas',
+ 'lambs',
+ 'lamby',
+ 'lamed',
+ 'lamer',
+ 'lames',
+ 'lamia',
+ 'lammy',
+ 'lamps',
+ 'lanai',
+ 'lanas',
+ 'lanch',
+ 'lande',
+ 'lands',
+ 'lanes',
+ 'lanks',
+ 'lants',
+ 'lapin',
+ 'lapis',
+ 'lapje',
+ 'larch',
+ 'lards',
+ 'lardy',
+ 'laree',
+ 'lares',
+ 'largo',
+ 'laris',
+ 'larks',
+ 'larky',
+ 'larns',
+ 'larnt',
+ 'larum',
+ 'lased',
+ 'laser',
+ 'lases',
+ 'lassi',
+ 'lassu',
+ 'lassy',
+ 'lasts',
+ 'latah',
+ 'lated',
+ 'laten',
+ 'latex',
+ 'lathi',
+ 'laths',
+ 'lathy',
+ 'latke',
+ 'latus',
+ 'lauan',
+ 'lauch',
+ 'lauds',
+ 'laufs',
+ 'laund',
+ 'laura',
+ 'laval',
+ 'lavas',
+ 'laved',
+ 'laver',
+ 'laves',
+ 'lavra',
+ 'lavvy',
+ 'lawed',
+ 'lawer',
+ 'lawin',
+ 'lawks',
+ 'lawns',
+ 'lawny',
+ 'laxed',
+ 'laxer',
+ 'laxes',
+ 'laxly',
+ 'layed',
+ 'layin',
+ 'layup',
+ 'lazar',
+ 'lazed',
+ 'lazes',
+ 'lazos',
+ 'lazzi',
+ 'lazzo',
+ 'leads',
+ 'leady',
+ 'leafs',
+ 'leaks',
+ 'leams',
+ 'leans',
+ 'leany',
+ 'leaps',
+ 'leare',
+ 'lears',
+ 'leary',
+ 'leats',
+ 'leavy',
+ 'leaze',
+ 'leben',
+ 'leccy',
+ 'ledes',
+ 'ledgy',
+ 'ledum',
+ 'leear',
+ 'leeks',
+ 'leeps',
+ 'leers',
+ 'leese',
+ 'leets',
+ 'leeze',
+ 'lefte',
+ 'lefts',
+ 'leger',
+ 'leges',
+ 'legge',
+ 'leggo',
+ 'legit',
+ 'lehrs',
+ 'lehua',
+ 'leirs',
+ 'leish',
+ 'leman',
+ 'lemed',
+ 'lemel',
+ 'lemes',
+ 'lemma',
+ 'lemme',
+ 'lends',
+ 'lenes',
+ 'lengs',
+ 'lenis',
+ 'lenos',
+ 'lense',
+ 'lenti',
+ 'lento',
+ 'leone',
+ 'lepid',
+ 'lepra',
+ 'lepta',
+ 'lered',
+ 'leres',
+ 'lerps',
+ 'lesbo',
+ 'leses',
+ 'lests',
+ 'letch',
+ 'lethe',
+ 'letup',
+ 'leuch',
+ 'leuco',
+ 'leuds',
+ 'leugh',
+ 'levas',
+ 'levee',
+ 'leves',
+ 'levin',
+ 'levis',
+ 'lewis',
+ 'lexes',
+ 'lexis',
+ 'lezes',
+ 'lezza',
+ 'lezzy',
+ 'liana',
+ 'liane',
+ 'liang',
+ 'liard',
+ 'liars',
+ 'liart',
+ 'liber',
+ 'libra',
+ 'libri',
+ 'lichi',
+ 'licht',
+ 'licit',
+ 'licks',
+ 'lidar',
+ 'lidos',
+ 'liefs',
+ 'liens',
+ 'liers',
+ 'lieus',
+ 'lieve',
+ 'lifer',
+ 'lifes',
+ 'lifts',
+ 'ligan',
+ 'liger',
+ 'ligge',
+ 'ligne',
+ 'liked',
+ 'liker',
+ 'likes',
+ 'likin',
+ 'lills',
+ 'lilos',
+ 'lilts',
+ 'liman',
+ 'limas',
+ 'limax',
+ 'limba',
+ 'limbi',
+ 'limbs',
+ 'limby',
+ 'limed',
+ 'limen',
+ 'limes',
+ 'limey',
+ 'limma',
+ 'limns',
+ 'limos',
+ 'limpa',
+ 'limps',
+ 'linac',
+ 'linch',
+ 'linds',
+ 'lindy',
+ 'lined',
+ 'lines',
+ 'liney',
+ 'linga',
+ 'lings',
+ 'lingy',
+ 'linin',
+ 'links',
+ 'linky',
+ 'linns',
+ 'linny',
+ 'linos',
+ 'lints',
+ 'linty',
+ 'linum',
+ 'linux',
+ 'lions',
+ 'lipas',
+ 'lipes',
+ 'lipin',
+ 'lipos',
+ 'lippy',
+ 'liras',
+ 'lirks',
+ 'lirot',
+ 'lisks',
+ 'lisle',
+ 'lisps',
+ 'lists',
+ 'litai',
+ 'litas',
+ 'lited',
+ 'liter',
+ 'lites',
+ 'litho',
+ 'liths',
+ 'litre',
+ 'lived',
+ 'liven',
+ 'lives',
+ 'livor',
+ 'livre',
+ 'llano',
+ 'loach',
+ 'loads',
+ 'loafs',
+ 'loams',
+ 'loans',
+ 'loast',
+ 'loave',
+ 'lobar',
+ 'lobed',
+ 'lobes',
+ 'lobos',
+ 'lobus',
+ 'loche',
+ 'lochs',
+ 'locie',
+ 'locis',
+ 'locks',
+ 'locos',
+ 'locum',
+ 'loden',
+ 'lodes',
+ 'loess',
+ 'lofts',
+ 'logan',
+ 'loges',
+ 'loggy',
+ 'logia',
+ 'logie',
+ 'logoi',
+ 'logon',
+ 'logos',
+ 'lohan',
+ 'loids',
+ 'loins',
+ 'loipe',
+ 'loirs',
+ 'lokes',
+ 'lolls',
+ 'lolly',
+ 'lolog',
+ 'lomas',
+ 'lomed',
+ 'lomes',
+ 'loner',
+ 'longa',
+ 'longe',
+ 'longs',
+ 'looby',
+ 'looed',
+ 'looey',
+ 'loofa',
+ 'loofs',
+ 'looie',
+ 'looks',
+ 'looky',
+ 'looms',
+ 'loons',
+ 'loony',
+ 'loops',
+ 'loord',
+ 'loots',
+ 'loped',
+ 'loper',
+ 'lopes',
+ 'loppy',
+ 'loral',
+ 'loran',
+ 'lords',
+ 'lordy',
+ 'lorel',
+ 'lores',
+ 'loric',
+ 'loris',
+ 'losed',
+ 'losel',
+ 'losen',
+ 'loses',
+ 'lossy',
+ 'lotah',
+ 'lotas',
+ 'lotes',
+ 'lotic',
+ 'lotos',
+ 'lotsa',
+ 'lotta',
+ 'lotte',
+ 'lotto',
+ 'lotus',
+ 'loued',
+ 'lough',
+ 'louie',
+ 'louis',
+ 'louma',
+ 'lound',
+ 'louns',
+ 'loupe',
+ 'loups',
+ 'loure',
+ 'lours',
+ 'loury',
+ 'louts',
+ 'lovat',
+ 'loved',
+ 'loves',
+ 'lovey',
+ 'lovie',
+ 'lowan',
+ 'lowed',
+ 'lowes',
+ 'lownd',
+ 'lowne',
+ 'lowns',
+ 'lowps',
+ 'lowry',
+ 'lowse',
+ 'lowts',
+ 'loxed',
+ 'loxes',
+ 'lozen',
+ 'luach',
+ 'luaus',
+ 'lubed',
+ 'lubes',
+ 'lubra',
+ 'luces',
+ 'lucks',
+ 'lucre',
+ 'ludes',
+ 'ludic',
+ 'ludos',
+ 'luffa',
+ 'luffs',
+ 'luged',
+ 'luger',
+ 'luges',
+ 'lulls',
+ 'lulus',
+ 'lumas',
+ 'lumbi',
+ 'lumme',
+ 'lummy',
+ 'lumps',
+ 'lunas',
+ 'lunes',
+ 'lunet',
+ 'lungi',
+ 'lungs',
+ 'lunks',
+ 'lunts',
+ 'lupin',
+ 'lured',
+ 'lurer',
+ 'lures',
+ 'lurex',
+ 'lurgi',
+ 'lurgy',
+ 'lurks',
+ 'lurry',
+ 'lurve',
+ 'luser',
+ 'lushy',
+ 'lusks',
+ 'lusts',
+ 'lusus',
+ 'lutea',
+ 'luted',
+ 'luter',
+ 'lutes',
+ 'luvvy',
+ 'luxed',
+ 'luxer',
+ 'luxes',
+ 'lweis',
+ 'lyams',
+ 'lyard',
+ 'lyart',
+ 'lyase',
+ 'lycea',
+ 'lycee',
+ 'lycra',
+ 'lymes',
+ 'lynes',
+ 'lyres',
+ 'lysed',
+ 'lyses',
+ 'lysin',
+ 'lysis',
+ 'lysol',
+ 'lyssa',
+ 'lyted',
+ 'lytes',
+ 'lythe',
+ 'lytic',
+ 'lytta',
+ 'maaed',
+ 'maare',
+ 'maars',
+ 'mabes',
+ 'macas',
+ 'maced',
+ 'macer',
+ 'maces',
+ 'mache',
+ 'machi',
+ 'machs',
+ 'macks',
+ 'macle',
+ 'macon',
+ 'madge',
+ 'madid',
+ 'madre',
+ 'maerl',
+ 'mafic',
+ 'mages',
+ 'maggs',
+ 'magot',
+ 'magus',
+ 'mahoe',
+ 'mahua',
+ 'mahwa',
+ 'maids',
+ 'maiko',
+ 'maiks',
+ 'maile',
+ 'maill',
+ 'mails',
+ 'maims',
+ 'mains',
+ 'maire',
+ 'mairs',
+ 'maise',
+ 'maist',
+ 'makar',
+ 'makes',
+ 'makis',
+ 'makos',
+ 'malam',
+ 'malar',
+ 'malas',
+ 'malax',
+ 'males',
+ 'malic',
+ 'malik',
+ 'malis',
+ 'malls',
+ 'malms',
+ 'malmy',
+ 'malts',
+ 'malty',
+ 'malus',
+ 'malva',
+ 'malwa',
+ 'mamas',
+ 'mamba',
+ 'mamee',
+ 'mamey',
+ 'mamie',
+ 'manas',
+ 'manat',
+ 'mandi',
+ 'maneb',
+ 'maned',
+ 'maneh',
+ 'manes',
+ 'manet',
+ 'mangs',
+ 'manis',
+ 'manky',
+ 'manna',
+ 'manos',
+ 'manse',
+ 'manta',
+ 'manto',
+ 'manty',
+ 'manul',
+ 'manus',
+ 'mapau',
+ 'maqui',
+ 'marae',
+ 'marah',
+ 'maras',
+ 'marcs',
+ 'mardy',
+ 'mares',
+ 'marge',
+ 'margs',
+ 'maria',
+ 'marid',
+ 'marka',
+ 'marks',
+ 'marle',
+ 'marls',
+ 'marly',
+ 'marms',
+ 'maron',
+ 'maror',
+ 'marra',
+ 'marri',
+ 'marse',
+ 'marts',
+ 'marvy',
+ 'masas',
+ 'mased',
+ 'maser',
+ 'mases',
+ 'mashy',
+ 'masks',
+ 'massa',
+ 'massy',
+ 'masts',
+ 'masty',
+ 'masus',
+ 'matai',
+ 'mated',
+ 'mater',
+ 'mates',
+ 'maths',
+ 'matin',
+ 'matlo',
+ 'matte',
+ 'matts',
+ 'matza',
+ 'matzo',
+ 'mauby',
+ 'mauds',
+ 'mauls',
+ 'maund',
+ 'mauri',
+ 'mausy',
+ 'mauts',
+ 'mauzy',
+ 'maven',
+ 'mavie',
+ 'mavin',
+ 'mavis',
+ 'mawed',
+ 'mawks',
+ 'mawky',
+ 'mawns',
+ 'mawrs',
+ 'maxed',
+ 'maxes',
+ 'maxis',
+ 'mayan',
+ 'mayas',
+ 'mayed',
+ 'mayos',
+ 'mayst',
+ 'mazed',
+ 'mazer',
+ 'mazes',
+ 'mazey',
+ 'mazut',
+ 'mbira',
+ 'meads',
+ 'meals',
+ 'meane',
+ 'means',
+ 'meany',
+ 'meare',
+ 'mease',
+ 'meath',
+ 'meats',
+ 'mebos',
+ 'mechs',
+ 'mecks',
+ 'medii',
+ 'medle',
+ 'meeds',
+ 'meers',
+ 'meets',
+ 'meffs',
+ 'meins',
+ 'meint',
+ 'meiny',
+ 'meith',
+ 'mekka',
+ 'melas',
+ 'melba',
+ 'melds',
+ 'melic',
+ 'melik',
+ 'mells',
+ 'melts',
+ 'melty',
+ 'memes',
+ 'memos',
+ 'menad',
+ 'mends',
+ 'mened',
+ 'menes',
+ 'menge',
+ 'mengs',
+ 'mensa',
+ 'mense',
+ 'mensh',
+ 'menta',
+ 'mento',
+ 'menus',
+ 'meous',
+ 'meows',
+ 'merch',
+ 'mercs',
+ 'merde',
+ 'mered',
+ 'merel',
+ 'merer',
+ 'meres',
+ 'meril',
+ 'meris',
+ 'merks',
+ 'merle',
+ 'merls',
+ 'merse',
+ 'mesal',
+ 'mesas',
+ 'mesel',
+ 'meses',
+ 'meshy',
+ 'mesic',
+ 'mesne',
+ 'meson',
+ 'messy',
+ 'mesto',
+ 'meted',
+ 'metes',
+ 'metho',
+ 'meths',
+ 'metic',
+ 'metif',
+ 'metis',
+ 'metol',
+ 'metre',
+ 'meuse',
+ 'meved',
+ 'meves',
+ 'mewed',
+ 'mewls',
+ 'meynt',
+ 'mezes',
+ 'mezze',
+ 'mezzo',
+ 'mhorr',
+ 'miaou',
+ 'miaow',
+ 'miasm',
+ 'miaul',
+ 'micas',
+ 'miche',
+ 'micht',
+ 'micks',
+ 'micky',
+ 'micos',
+ 'micra',
+ 'middy',
+ 'midgy',
+ 'midis',
+ 'miens',
+ 'mieve',
+ 'miffs',
+ 'miffy',
+ 'mifty',
+ 'miggs',
+ 'mihas',
+ 'mihis',
+ 'miked',
+ 'mikes',
+ 'mikra',
+ 'mikva',
+ 'milch',
+ 'milds',
+ 'miler',
+ 'miles',
+ 'milfs',
+ 'milia',
+ 'milko',
+ 'milks',
+ 'mille',
+ 'mills',
+ 'milor',
+ 'milos',
+ 'milpa',
+ 'milts',
+ 'milty',
+ 'miltz',
+ 'mimed',
+ 'mimeo',
+ 'mimer',
+ 'mimes',
+ 'mimsy',
+ 'minae',
+ 'minar',
+ 'minas',
+ 'mincy',
+ 'minds',
+ 'mined',
+ 'mines',
+ 'minge',
+ 'mings',
+ 'mingy',
+ 'minis',
+ 'minke',
+ 'minks',
+ 'minny',
+ 'minos',
+ 'mints',
+ 'mired',
+ 'mires',
+ 'mirex',
+ 'mirid',
+ 'mirin',
+ 'mirks',
+ 'mirky',
+ 'mirly',
+ 'miros',
+ 'mirvs',
+ 'mirza',
+ 'misch',
+ 'misdo',
+ 'mises',
+ 'misgo',
+ 'misos',
+ 'missa',
+ 'mists',
+ 'misty',
+ 'mitch',
+ 'miter',
+ 'mites',
+ 'mitis',
+ 'mitre',
+ 'mitts',
+ 'mixed',
+ 'mixen',
+ 'mixer',
+ 'mixes',
+ 'mixte',
+ 'mixup',
+ 'mizen',
+ 'mizzy',
+ 'mneme',
+ 'moans',
+ 'moats',
+ 'mobby',
+ 'mobes',
+ 'mobey',
+ 'mobie',
+ 'moble',
+ 'mochi',
+ 'mochs',
+ 'mochy',
+ 'mocks',
+ 'moder',
+ 'modes',
+ 'modge',
+ 'modii',
+ 'modus',
+ 'moers',
+ 'mofos',
+ 'moggy',
+ 'mohel',
+ 'mohos',
+ 'mohrs',
+ 'mohua',
+ 'mohur',
+ 'moile',
+ 'moils',
+ 'moira',
+ 'moire',
+ 'moits',
+ 'mojos',
+ 'mokes',
+ 'mokis',
+ 'mokos',
+ 'molal',
+ 'molas',
+ 'molds',
+ 'moled',
+ 'moles',
+ 'molla',
+ 'molls',
+ 'molly',
+ 'molto',
+ 'molts',
+ 'molys',
+ 'momes',
+ 'momma',
+ 'mommy',
+ 'momus',
+ 'monad',
+ 'monal',
+ 'monas',
+ 'monde',
+ 'mondo',
+ 'moner',
+ 'mongo',
+ 'mongs',
+ 'monic',
+ 'monie',
+ 'monks',
+ 'monos',
+ 'monte',
+ 'monty',
+ 'moobs',
+ 'mooch',
+ 'moods',
+ 'mooed',
+ 'mooks',
+ 'moola',
+ 'mooli',
+ 'mools',
+ 'mooly',
+ 'moong',
+ 'moons',
+ 'moony',
+ 'moops',
+ 'moors',
+ 'moory',
+ 'moots',
+ 'moove',
+ 'moped',
+ 'moper',
+ 'mopes',
+ 'mopey',
+ 'moppy',
+ 'mopsy',
+ 'mopus',
+ 'morae',
+ 'moras',
+ 'morat',
+ 'moray',
+ 'morel',
+ 'mores',
+ 'moria',
+ 'morne',
+ 'morns',
+ 'morra',
+ 'morro',
+ 'morse',
+ 'morts',
+ 'mosed',
+ 'moses',
+ 'mosey',
+ 'mosks',
+ 'mosso',
+ 'moste',
+ 'mosts',
+ 'moted',
+ 'moten',
+ 'motes',
+ 'motet',
+ 'motey',
+ 'moths',
+ 'mothy',
+ 'motis',
+ 'motte',
+ 'motts',
+ 'motty',
+ 'motus',
+ 'motza',
+ 'mouch',
+ 'moues',
+ 'mould',
+ 'mouls',
+ 'moups',
+ 'moust',
+ 'mousy',
+ 'moved',
+ 'moves',
+ 'mowas',
+ 'mowed',
+ 'mowra',
+ 'moxas',
+ 'moxie',
+ 'moyas',
+ 'moyle',
+ 'moyls',
+ 'mozed',
+ 'mozes',
+ 'mozos',
+ 'mpret',
+ 'mucho',
+ 'mucic',
+ 'mucid',
+ 'mucin',
+ 'mucks',
+ 'mucor',
+ 'mucro',
+ 'mudge',
+ 'mudir',
+ 'mudra',
+ 'muffs',
+ 'mufti',
+ 'mugga',
+ 'muggs',
+ 'muggy',
+ 'muhly',
+ 'muids',
+ 'muils',
+ 'muirs',
+ 'muist',
+ 'mujik',
+ 'mulct',
+ 'muled',
+ 'mules',
+ 'muley',
+ 'mulga',
+ 'mulie',
+ 'mulla',
+ 'mulls',
+ 'mulse',
+ 'mulsh',
+ 'mumms',
+ 'mumps',
+ 'mumsy',
+ 'mumus',
+ 'munga',
+ 'munge',
+ 'mungo',
+ 'mungs',
+ 'munis',
+ 'munts',
+ 'muntu',
+ 'muons',
+ 'muras',
+ 'mured',
+ 'mures',
+ 'murex',
+ 'murid',
+ 'murks',
+ 'murls',
+ 'murly',
+ 'murra',
+ 'murre',
+ 'murri',
+ 'murrs',
+ 'murry',
+ 'murti',
+ 'murva',
+ 'musar',
+ 'musca',
+ 'mused',
+ 'muser',
+ 'muses',
+ 'muset',
+ 'musha',
+ 'musit',
+ 'musks',
+ 'musos',
+ 'musse',
+ 'mussy',
+ 'musth',
+ 'musts',
+ 'mutch',
+ 'muted',
+ 'muter',
+ 'mutes',
+ 'mutha',
+ 'mutis',
+ 'muton',
+ 'mutts',
+ 'muxed',
+ 'muxes',
+ 'muzak',
+ 'muzzy',
+ 'mvule',
+ 'myall',
+ 'mylar',
+ 'mynah',
+ 'mynas',
+ 'myoid',
+ 'myoma',
+ 'myope',
+ 'myops',
+ 'myopy',
+ 'mysid',
+ 'mythi',
+ 'myths',
+ 'mythy',
+ 'myxos',
+ 'mzees',
+ 'naams',
+ 'naans',
+ 'nabes',
+ 'nabis',
+ 'nabks',
+ 'nabla',
+ 'nabob',
+ 'nache',
+ 'nacho',
+ 'nacre',
+ 'nadas',
+ 'naeve',
+ 'naevi',
+ 'naffs',
+ 'nagas',
+ 'naggy',
+ 'nagor',
+ 'nahal',
+ 'naiad',
+ 'naifs',
+ 'naiks',
+ 'nails',
+ 'naira',
+ 'nairu',
+ 'naked',
+ 'naker',
+ 'nakfa',
+ 'nalas',
+ 'naled',
+ 'nalla',
+ 'named',
+ 'namer',
+ 'names',
+ 'namma',
+ 'namus',
+ 'nanas',
+ 'nance',
+ 'nancy',
+ 'nandu',
+ 'nanna',
+ 'nanos',
+ 'nanua',
+ 'napas',
+ 'naped',
+ 'napes',
+ 'napoo',
+ 'nappa',
+ 'nappe',
+ 'nappy',
+ 'naras',
+ 'narco',
+ 'narcs',
+ 'nards',
+ 'nares',
+ 'naric',
+ 'naris',
+ 'narks',
+ 'narky',
+ 'narre',
+ 'nashi',
+ 'natch',
+ 'nates',
+ 'natis',
+ 'natty',
+ 'nauch',
+ 'naunt',
+ 'navar',
+ 'naves',
+ 'navew',
+ 'navvy',
+ 'nawab',
+ 'nazes',
+ 'nazir',
+ 'nazis',
+ 'nduja',
+ 'neafe',
+ 'neals',
+ 'neaps',
+ 'nears',
+ 'neath',
+ 'neats',
+ 'nebek',
+ 'nebel',
+ 'necks',
+ 'neddy',
+ 'needs',
+ 'neeld',
+ 'neele',
+ 'neemb',
+ 'neems',
+ 'neeps',
+ 'neese',
+ 'neeze',
+ 'negro',
+ 'negus',
+ 'neifs',
+ 'neist',
+ 'neive',
+ 'nelis',
+ 'nelly',
+ 'nemas',
+ 'nemns',
+ 'nempt',
+ 'nenes',
+ 'neons',
+ 'neper',
+ 'nepit',
+ 'neral',
+ 'nerds',
+ 'nerka',
+ 'nerks',
+ 'nerol',
+ 'nerts',
+ 'nertz',
+ 'nervy',
+ 'nests',
+ 'netes',
+ 'netop',
+ 'netts',
+ 'netty',
+ 'neuks',
+ 'neume',
+ 'neums',
+ 'nevel',
+ 'neves',
+ 'nevus',
+ 'newbs',
+ 'newed',
+ 'newel',
+ 'newie',
+ 'newsy',
+ 'newts',
+ 'nexts',
+ 'nexus',
+ 'ngaio',
+ 'ngana',
+ 'ngati',
+ 'ngoma',
+ 'ngwee',
+ 'nicad',
+ 'nicht',
+ 'nicks',
+ 'nicol',
+ 'nidal',
+ 'nided',
+ 'nides',
+ 'nidor',
+ 'nidus',
+ 'niefs',
+ 'nieve',
+ 'nifes',
+ 'niffs',
+ 'niffy',
+ 'nifty',
+ 'niger',
+ 'nighs',
+ 'nihil',
+ 'nikab',
+ 'nikah',
+ 'nikau',
+ 'nills',
+ 'nimbi',
+ 'nimbs',
+ 'nimps',
+ 'niner',
+ 'nines',
+ 'ninon',
+ 'nipas',
+ 'nippy',
+ 'niqab',
+ 'nirls',
+ 'nirly',
+ 'nisei',
+ 'nisse',
+ 'nisus',
+ 'niter',
+ 'nites',
+ 'nitid',
+ 'niton',
+ 'nitre',
+ 'nitro',
+ 'nitry',
+ 'nitty',
+ 'nival',
+ 'nixed',
+ 'nixer',
+ 'nixes',
+ 'nixie',
+ 'nizam',
+ 'nkosi',
+ 'noahs',
+ 'nobby',
+ 'nocks',
+ 'nodal',
+ 'noddy',
+ 'nodes',
+ 'nodus',
+ 'noels',
+ 'noggs',
+ 'nohow',
+ 'noils',
+ 'noily',
+ 'noint',
+ 'noirs',
+ 'noles',
+ 'nolls',
+ 'nolos',
+ 'nomas',
+ 'nomen',
+ 'nomes',
+ 'nomic',
+ 'nomoi',
+ 'nomos',
+ 'nonas',
+ 'nonce',
+ 'nones',
+ 'nonet',
+ 'nongs',
+ 'nonis',
+ 'nonny',
+ 'nonyl',
+ 'noobs',
+ 'nooit',
+ 'nooks',
+ 'nooky',
+ 'noons',
+ 'noops',
+ 'nopal',
+ 'noria',
+ 'noris',
+ 'norks',
+ 'norma',
+ 'norms',
+ 'nosed',
+ 'noser',
+ 'noses',
+ 'notal',
+ 'noted',
+ 'noter',
+ 'notes',
+ 'notum',
+ 'nould',
+ 'noule',
+ 'nouls',
+ 'nouns',
+ 'nouny',
+ 'noups',
+ 'novae',
+ 'novas',
+ 'novum',
+ 'noway',
+ 'nowed',
+ 'nowls',
+ 'nowts',
+ 'nowty',
+ 'noxal',
+ 'noxes',
+ 'noyau',
+ 'noyed',
+ 'noyes',
+ 'nubby',
+ 'nubia',
+ 'nucha',
+ 'nuddy',
+ 'nuder',
+ 'nudes',
+ 'nudie',
+ 'nudzh',
+ 'nuffs',
+ 'nugae',
+ 'nuked',
+ 'nukes',
+ 'nulla',
+ 'nulls',
+ 'numbs',
+ 'numen',
+ 'nummy',
+ 'nunny',
+ 'nurds',
+ 'nurdy',
+ 'nurls',
+ 'nurrs',
+ 'nutso',
+ 'nutsy',
+ 'nyaff',
+ 'nyala',
+ 'nying',
+ 'nyssa',
+ 'oaked',
+ 'oaker',
+ 'oakum',
+ 'oared',
+ 'oases',
+ 'oasis',
+ 'oasts',
+ 'oaten',
+ 'oater',
+ 'oaths',
+ 'oaves',
+ 'obang',
+ 'obeah',
+ 'obeli',
+ 'obeys',
+ 'obias',
+ 'obied',
+ 'obiit',
+ 'obits',
+ 'objet',
+ 'oboes',
+ 'obole',
+ 'oboli',
+ 'obols',
+ 'occam',
+ 'ocher',
+ 'oches',
+ 'ochre',
+ 'ochry',
+ 'ocker',
+ 'ocrea',
+ 'octad',
+ 'octan',
+ 'octas',
+ 'octyl',
+ 'oculi',
+ 'odahs',
+ 'odals',
+ 'odeon',
+ 'odeum',
+ 'odism',
+ 'odist',
+ 'odium',
+ 'odors',
+ 'odour',
+ 'odyle',
+ 'odyls',
+ 'ofays',
+ 'offed',
+ 'offie',
+ 'oflag',
+ 'ofter',
+ 'ogams',
+ 'ogeed',
+ 'ogees',
+ 'oggin',
+ 'ogham',
+ 'ogive',
+ 'ogled',
+ 'ogler',
+ 'ogles',
+ 'ogmic',
+ 'ogres',
+ 'ohias',
+ 'ohing',
+ 'ohmic',
+ 'ohone',
+ 'oidia',
+ 'oiled',
+ 'oiler',
+ 'oinks',
+ 'oints',
+ 'ojime',
+ 'okapi',
+ 'okays',
+ 'okehs',
+ 'okras',
+ 'oktas',
+ 'oldie',
+ 'oleic',
+ 'olein',
+ 'olent',
+ 'oleos',
+ 'oleum',
+ 'olios',
+ 'ollas',
+ 'ollav',
+ 'oller',
+ 'ollie',
+ 'ology',
+ 'olpae',
+ 'olpes',
+ 'omasa',
+ 'omber',
+ 'ombus',
+ 'omens',
+ 'omers',
+ 'omits',
+ 'omlah',
+ 'omovs',
+ 'omrah',
+ 'oncer',
+ 'onces',
+ 'oncet',
+ 'oncus',
+ 'onely',
+ 'oners',
+ 'onery',
+ 'onium',
+ 'onkus',
+ 'onlay',
+ 'onned',
+ 'ontic',
+ 'oobit',
+ 'oohed',
+ 'oomph',
+ 'oonts',
+ 'ooped',
+ 'oorie',
+ 'ooses',
+ 'ootid',
+ 'oozed',
+ 'oozes',
+ 'opahs',
+ 'opals',
+ 'opens',
+ 'opepe',
+ 'oping',
+ 'oppos',
+ 'opsin',
+ 'opted',
+ 'opter',
+ 'orach',
+ 'oracy',
+ 'orals',
+ 'orang',
+ 'orant',
+ 'orate',
+ 'orbed',
+ 'orcas',
+ 'orcin',
+ 'ordos',
+ 'oread',
+ 'orfes',
+ 'orgia',
+ 'orgic',
+ 'orgue',
+ 'oribi',
+ 'oriel',
+ 'orixa',
+ 'orles',
+ 'orlon',
+ 'orlop',
+ 'ormer',
+ 'ornis',
+ 'orpin',
+ 'orris',
+ 'ortho',
+ 'orval',
+ 'orzos',
+ 'oscar',
+ 'oshac',
+ 'osier',
+ 'osmic',
+ 'osmol',
+ 'ossia',
+ 'ostia',
+ 'otaku',
+ 'otary',
+ 'ottar',
+ 'ottos',
+ 'oubit',
+ 'oucht',
+ 'ouens',
+ 'ouija',
+ 'oulks',
+ 'oumas',
+ 'oundy',
+ 'oupas',
+ 'ouped',
+ 'ouphe',
+ 'ouphs',
+ 'ourie',
+ 'ousel',
+ 'ousts',
+ 'outby',
+ 'outed',
+ 'outre',
+ 'outro',
+ 'outta',
+ 'ouzel',
+ 'ouzos',
+ 'ovals',
+ 'ovels',
+ 'ovens',
+ 'overs',
+ 'ovist',
+ 'ovoli',
+ 'ovolo',
+ 'ovule',
+ 'owche',
+ 'owies',
+ 'owled',
+ 'owler',
+ 'owlet',
+ 'owned',
+ 'owres',
+ 'owrie',
+ 'owsen',
+ 'oxbow',
+ 'oxers',
+ 'oxeye',
+ 'oxids',
+ 'oxies',
+ 'oxime',
+ 'oxims',
+ 'oxlip',
+ 'oxter',
+ 'oyers',
+ 'ozeki',
+ 'ozzie',
+ 'paals',
+ 'paans',
+ 'pacas',
+ 'paced',
+ 'pacer',
+ 'paces',
+ 'pacey',
+ 'pacha',
+ 'packs',
+ 'pacos',
+ 'pacta',
+ 'pacts',
+ 'padis',
+ 'padle',
+ 'padma',
+ 'padre',
+ 'padri',
+ 'paean',
+ 'paedo',
+ 'paeon',
+ 'paged',
+ 'pager',
+ 'pages',
+ 'pagle',
+ 'pagod',
+ 'pagri',
+ 'paiks',
+ 'pails',
+ 'pains',
+ 'paire',
+ 'pairs',
+ 'paisa',
+ 'paise',
+ 'pakka',
+ 'palas',
+ 'palay',
+ 'palea',
+ 'paled',
+ 'pales',
+ 'palet',
+ 'palis',
+ 'palki',
+ 'palla',
+ 'palls',
+ 'pally',
+ 'palms',
+ 'palmy',
+ 'palpi',
+ 'palps',
+ 'palsa',
+ 'pampa',
+ 'panax',
+ 'pance',
+ 'panda',
+ 'pands',
+ 'pandy',
+ 'paned',
+ 'panes',
+ 'panga',
+ 'pangs',
+ 'panim',
+ 'panko',
+ 'panne',
+ 'panni',
+ 'panto',
+ 'pants',
+ 'panty',
+ 'paoli',
+ 'paolo',
+ 'papas',
+ 'papaw',
+ 'papes',
+ 'pappi',
+ 'pappy',
+ 'parae',
+ 'paras',
+ 'parch',
+ 'pardi',
+ 'pards',
+ 'pardy',
+ 'pared',
+ 'paren',
+ 'pareo',
+ 'pares',
+ 'pareu',
+ 'parev',
+ 'parge',
+ 'pargo',
+ 'paris',
+ 'parki',
+ 'parks',
+ 'parky',
+ 'parle',
+ 'parly',
+ 'parma',
+ 'parol',
+ 'parps',
+ 'parra',
+ 'parrs',
+ 'parti',
+ 'parts',
+ 'parve',
+ 'parvo',
+ 'paseo',
+ 'pases',
+ 'pasha',
+ 'pashm',
+ 'paska',
+ 'paspy',
+ 'passe',
+ 'pasts',
+ 'pated',
+ 'paten',
+ 'pater',
+ 'pates',
+ 'paths',
+ 'patin',
+ 'patka',
+ 'patly',
+ 'patte',
+ 'patus',
+ 'pauas',
+ 'pauls',
+ 'pavan',
+ 'paved',
+ 'paven',
+ 'paver',
+ 'paves',
+ 'pavid',
+ 'pavin',
+ 'pavis',
+ 'pawas',
+ 'pawaw',
+ 'pawed',
+ 'pawer',
+ 'pawks',
+ 'pawky',
+ 'pawls',
+ 'pawns',
+ 'paxes',
+ 'payed',
+ 'payor',
+ 'paysd',
+ 'peage',
+ 'peags',
+ 'peaks',
+ 'peaky',
+ 'peals',
+ 'peans',
+ 'peare',
+ 'pears',
+ 'peart',
+ 'pease',
+ 'peats',
+ 'peaty',
+ 'peavy',
+ 'peaze',
+ 'pebas',
+ 'pechs',
+ 'pecke',
+ 'pecks',
+ 'pecky',
+ 'pedes',
+ 'pedis',
+ 'pedro',
+ 'peece',
+ 'peeks',
+ 'peels',
+ 'peens',
+ 'peeoy',
+ 'peepe',
+ 'peeps',
+ 'peers',
+ 'peery',
+ 'peeve',
+ 'peggy',
+ 'peghs',
+ 'peins',
+ 'peise',
+ 'peize',
+ 'pekan',
+ 'pekes',
+ 'pekin',
+ 'pekoe',
+ 'pelas',
+ 'pelau',
+ 'peles',
+ 'pelfs',
+ 'pells',
+ 'pelma',
+ 'pelon',
+ 'pelta',
+ 'pelts',
+ 'pends',
+ 'pendu',
+ 'pened',
+ 'penes',
+ 'pengo',
+ 'penie',
+ 'penis',
+ 'penks',
+ 'penna',
+ 'penni',
+ 'pents',
+ 'peons',
+ 'peony',
+ 'pepla',
+ 'pepos',
+ 'peppy',
+ 'pepsi',
+ 'perai',
+ 'perce',
+ 'percs',
+ 'perdu',
+ 'perdy',
+ 'perea',
+ 'peres',
+ 'peris',
+ 'perks',
+ 'perms',
+ 'perns',
+ 'perog',
+ 'perps',
+ 'perry',
+ 'perse',
+ 'perst',
+ 'perts',
+ 'perve',
+ 'pervo',
+ 'pervs',
+ 'pervy',
+ 'pesos',
+ 'pests',
+ 'pesty',
+ 'petar',
+ 'peter',
+ 'petit',
+ 'petre',
+ 'petri',
+ 'petti',
+ 'petto',
+ 'pewee',
+ 'pewit',
+ 'peyse',
+ 'phage',
+ 'phang',
+ 'phare',
+ 'pharm',
+ 'pheer',
+ 'phene',
+ 'pheon',
+ 'phese',
+ 'phial',
+ 'phish',
+ 'phizz',
+ 'phlox',
+ 'phoca',
+ 'phono',
+ 'phons',
+ 'phots',
+ 'phpht',
+ 'phuts',
+ 'phyla',
+ 'phyle',
+ 'piani',
+ 'pians',
+ 'pibal',
+ 'pical',
+ 'picas',
+ 'piccy',
+ 'picks',
+ 'picot',
+ 'picra',
+ 'picul',
+ 'piend',
+ 'piers',
+ 'piert',
+ 'pieta',
+ 'piets',
+ 'piezo',
+ 'pight',
+ 'pigmy',
+ 'piing',
+ 'pikas',
+ 'pikau',
+ 'piked',
+ 'piker',
+ 'pikes',
+ 'pikey',
+ 'pikis',
+ 'pikul',
+ 'pilae',
+ 'pilaf',
+ 'pilao',
+ 'pilar',
+ 'pilau',
+ 'pilaw',
+ 'pilch',
+ 'pilea',
+ 'piled',
+ 'pilei',
+ 'piler',
+ 'piles',
+ 'pilis',
+ 'pills',
+ 'pilow',
+ 'pilum',
+ 'pilus',
+ 'pimas',
+ 'pimps',
+ 'pinas',
+ 'pined',
+ 'pines',
+ 'pingo',
+ 'pings',
+ 'pinko',
+ 'pinks',
+ 'pinna',
+ 'pinny',
+ 'pinon',
+ 'pinot',
+ 'pinta',
+ 'pints',
+ 'pinup',
+ 'pions',
+ 'piony',
+ 'pious',
+ 'pioye',
+ 'pioys',
+ 'pipal',
+ 'pipas',
+ 'piped',
+ 'pipes',
+ 'pipet',
+ 'pipis',
+ 'pipit',
+ 'pippy',
+ 'pipul',
+ 'pirai',
+ 'pirls',
+ 'pirns',
+ 'pirog',
+ 'pisco',
+ 'pises',
+ 'pisky',
+ 'pisos',
+ 'pissy',
+ 'piste',
+ 'pitas',
+ 'piths',
+ 'piton',
+ 'pitot',
+ 'pitta',
+ 'piums',
+ 'pixes',
+ 'pized',
+ 'pizes',
+ 'plaas',
+ 'plack',
+ 'plage',
+ 'plans',
+ 'plaps',
+ 'plash',
+ 'plasm',
+ 'plast',
+ 'plats',
+ 'platt',
+ 'platy',
+ 'playa',
+ 'plays',
+ 'pleas',
+ 'plebe',
+ 'plebs',
+ 'plena',
+ 'pleon',
+ 'plesh',
+ 'plews',
+ 'plica',
+ 'plies',
+ 'plims',
+ 'pling',
+ 'plink',
+ 'ploat',
+ 'plods',
+ 'plong',
+ 'plonk',
+ 'plook',
+ 'plops',
+ 'plots',
+ 'plotz',
+ 'plouk',
+ 'plows',
+ 'ploye',
+ 'ploys',
+ 'plues',
+ 'pluff',
+ 'plugs',
+ 'plums',
+ 'plumy',
+ 'pluot',
+ 'pluto',
+ 'plyer',
+ 'poach',
+ 'poaka',
+ 'poake',
+ 'poboy',
+ 'pocks',
+ 'pocky',
+ 'podal',
+ 'poddy',
+ 'podex',
+ 'podge',
+ 'podgy',
+ 'podia',
+ 'poems',
+ 'poeps',
+ 'poets',
+ 'pogey',
+ 'pogge',
+ 'pogos',
+ 'pohed',
+ 'poilu',
+ 'poind',
+ 'pokal',
+ 'poked',
+ 'pokes',
+ 'pokey',
+ 'pokie',
+ 'poled',
+ 'poler',
+ 'poles',
+ 'poley',
+ 'polio',
+ 'polis',
+ 'polje',
+ 'polks',
+ 'polls',
+ 'polly',
+ 'polos',
+ 'polts',
+ 'polys',
+ 'pombe',
+ 'pomes',
+ 'pommy',
+ 'pomos',
+ 'pomps',
+ 'ponce',
+ 'poncy',
+ 'ponds',
+ 'pones',
+ 'poney',
+ 'ponga',
+ 'pongo',
+ 'pongs',
+ 'pongy',
+ 'ponks',
+ 'ponts',
+ 'ponty',
+ 'ponzu',
+ 'poods',
+ 'pooed',
+ 'poofs',
+ 'poofy',
+ 'poohs',
+ 'pooja',
+ 'pooka',
+ 'pooks',
+ 'pools',
+ 'poons',
+ 'poops',
+ 'poopy',
+ 'poori',
+ 'poort',
+ 'poots',
+ 'poove',
+ 'poovy',
+ 'popes',
+ 'poppa',
+ 'popsy',
+ 'porae',
+ 'poral',
+ 'pored',
+ 'porer',
+ 'pores',
+ 'porge',
+ 'porgy',
+ 'porin',
+ 'porks',
+ 'porky',
+ 'porno',
+ 'porns',
+ 'porny',
+ 'porta',
+ 'ports',
+ 'porty',
+ 'posed',
+ 'poses',
+ 'posey',
+ 'posho',
+ 'posts',
+ 'potae',
+ 'potch',
+ 'poted',
+ 'potes',
+ 'potin',
+ 'potoo',
+ 'potsy',
+ 'potto',
+ 'potts',
+ 'potty',
+ 'pouff',
+ 'poufs',
+ 'pouke',
+ 'pouks',
+ 'poule',
+ 'poulp',
+ 'poult',
+ 'poupe',
+ 'poupt',
+ 'pours',
+ 'pouts',
+ 'powan',
+ 'powin',
+ 'pownd',
+ 'powns',
+ 'powny',
+ 'powre',
+ 'poxed',
+ 'poxes',
+ 'poynt',
+ 'poyou',
+ 'poyse',
+ 'pozzy',
+ 'praam',
+ 'prads',
+ 'prahu',
+ 'prams',
+ 'prana',
+ 'prang',
+ 'praos',
+ 'prase',
+ 'prate',
+ 'prats',
+ 'pratt',
+ 'praty',
+ 'praus',
+ 'prays',
+ 'predy',
+ 'preed',
+ 'prees',
+ 'preif',
+ 'prems',
+ 'premy',
+ 'prent',
+ 'preon',
+ 'preop',
+ 'preps',
+ 'presa',
+ 'prese',
+ 'prest',
+ 'preve',
+ 'prexy',
+ 'preys',
+ 'prial',
+ 'pricy',
+ 'prief',
+ 'prier',
+ 'pries',
+ 'prigs',
+ 'prill',
+ 'prima',
+ 'primi',
+ 'primp',
+ 'prims',
+ 'primy',
+ 'prink',
+ 'prion',
+ 'prise',
+ 'priss',
+ 'proas',
+ 'probs',
+ 'prods',
+ 'proem',
+ 'profs',
+ 'progs',
+ 'proin',
+ 'proke',
+ 'prole',
+ 'proll',
+ 'promo',
+ 'proms',
+ 'pronk',
+ 'props',
+ 'prore',
+ 'proso',
+ 'pross',
+ 'prost',
+ 'prosy',
+ 'proto',
+ 'proul',
+ 'prows',
+ 'proyn',
+ 'prunt',
+ 'pruta',
+ 'pryer',
+ 'pryse',
+ 'pseud',
+ 'pshaw',
+ 'psion',
+ 'psoae',
+ 'psoai',
+ 'psoas',
+ 'psora',
+ 'psych',
+ 'psyop',
+ 'pubco',
+ 'pubes',
+ 'pubis',
+ 'pucan',
+ 'pucer',
+ 'puces',
+ 'pucka',
+ 'pucks',
+ 'puddy',
+ 'pudge',
+ 'pudic',
+ 'pudor',
+ 'pudsy',
+ 'pudus',
+ 'puers',
+ 'puffa',
+ 'puffs',
+ 'puggy',
+ 'pugil',
+ 'puhas',
+ 'pujah',
+ 'pujas',
+ 'pukas',
+ 'puked',
+ 'puker',
+ 'pukes',
+ 'pukey',
+ 'pukka',
+ 'pukus',
+ 'pulao',
+ 'pulas',
+ 'puled',
+ 'puler',
+ 'pules',
+ 'pulik',
+ 'pulis',
+ 'pulka',
+ 'pulks',
+ 'pulli',
+ 'pulls',
+ 'pully',
+ 'pulmo',
+ 'pulps',
+ 'pulus',
+ 'pumas',
+ 'pumie',
+ 'pumps',
+ 'punas',
+ 'punce',
+ 'punga',
+ 'pungs',
+ 'punji',
+ 'punka',
+ 'punks',
+ 'punky',
+ 'punny',
+ 'punto',
+ 'punts',
+ 'punty',
+ 'pupae',
+ 'pupas',
+ 'pupus',
+ 'purda',
+ 'pured',
+ 'pures',
+ 'purin',
+ 'puris',
+ 'purls',
+ 'purpy',
+ 'purrs',
+ 'pursy',
+ 'purty',
+ 'puses',
+ 'pusle',
+ 'pussy',
+ 'putid',
+ 'puton',
+ 'putti',
+ 'putto',
+ 'putts',
+ 'puzel',
+ 'pwned',
+ 'pyats',
+ 'pyets',
+ 'pygal',
+ 'pyins',
+ 'pylon',
+ 'pyned',
+ 'pynes',
+ 'pyoid',
+ 'pyots',
+ 'pyral',
+ 'pyran',
+ 'pyres',
+ 'pyrex',
+ 'pyric',
+ 'pyros',
+ 'pyxed',
+ 'pyxes',
+ 'pyxie',
+ 'pyxis',
+ 'pzazz',
+ 'qadis',
+ 'qaids',
+ 'qajaq',
+ 'qanat',
+ 'qapik',
+ 'qibla',
+ 'qophs',
+ 'qorma',
+ 'quads',
+ 'quaff',
+ 'quags',
+ 'quair',
+ 'quais',
+ 'quaky',
+ 'quale',
+ 'quant',
+ 'quare',
+ 'quass',
+ 'quate',
+ 'quats',
+ 'quayd',
+ 'quays',
+ 'qubit',
+ 'quean',
+ 'queme',
+ 'quena',
+ 'quern',
+ 'queyn',
+ 'queys',
+ 'quich',
+ 'quids',
+ 'quiff',
+ 'quims',
+ 'quina',
+ 'quine',
+ 'quino',
+ 'quins',
+ 'quint',
+ 'quipo',
+ 'quips',
+ 'quipu',
+ 'quire',
+ 'quirt',
+ 'quist',
+ 'quits',
+ 'quoad',
+ 'quods',
+ 'quoif',
+ 'quoin',
+ 'quoit',
+ 'quoll',
+ 'quonk',
+ 'quops',
+ 'qursh',
+ 'quyte',
+ 'rabat',
+ 'rabic',
+ 'rabis',
+ 'raced',
+ 'races',
+ 'rache',
+ 'racks',
+ 'racon',
+ 'radge',
+ 'radix',
+ 'radon',
+ 'raffs',
+ 'rafts',
+ 'ragas',
+ 'ragde',
+ 'raged',
+ 'ragee',
+ 'rager',
+ 'rages',
+ 'ragga',
+ 'raggs',
+ 'raggy',
+ 'ragis',
+ 'ragus',
+ 'rahed',
+ 'rahui',
+ 'raias',
+ 'raids',
+ 'raiks',
+ 'raile',
+ 'rails',
+ 'raine',
+ 'rains',
+ 'raird',
+ 'raita',
+ 'raits',
+ 'rajas',
+ 'rajes',
+ 'raked',
+ 'rakee',
+ 'raker',
+ 'rakes',
+ 'rakia',
+ 'rakis',
+ 'rakus',
+ 'rales',
+ 'ramal',
+ 'ramee',
+ 'ramet',
+ 'ramie',
+ 'ramin',
+ 'ramis',
+ 'rammy',
+ 'ramps',
+ 'ramus',
+ 'ranas',
+ 'rance',
+ 'rands',
+ 'ranee',
+ 'ranga',
+ 'rangi',
+ 'rangs',
+ 'rangy',
+ 'ranid',
+ 'ranis',
+ 'ranke',
+ 'ranks',
+ 'rants',
+ 'raped',
+ 'raper',
+ 'rapes',
+ 'raphe',
+ 'rappe',
+ 'rared',
+ 'raree',
+ 'rares',
+ 'rarks',
+ 'rased',
+ 'raser',
+ 'rases',
+ 'rasps',
+ 'rasse',
+ 'rasta',
+ 'ratal',
+ 'ratan',
+ 'ratas',
+ 'ratch',
+ 'rated',
+ 'ratel',
+ 'rater',
+ 'rates',
+ 'ratha',
+ 'rathe',
+ 'raths',
+ 'ratoo',
+ 'ratos',
+ 'ratus',
+ 'rauns',
+ 'raupo',
+ 'raved',
+ 'ravel',
+ 'raver',
+ 'raves',
+ 'ravey',
+ 'ravin',
+ 'rawer',
+ 'rawin',
+ 'rawly',
+ 'rawns',
+ 'raxed',
+ 'raxes',
+ 'rayah',
+ 'rayas',
+ 'rayed',
+ 'rayle',
+ 'rayne',
+ 'razed',
+ 'razee',
+ 'razer',
+ 'razes',
+ 'razoo',
+ 'readd',
+ 'reads',
+ 'reais',
+ 'reaks',
+ 'realo',
+ 'reals',
+ 'reame',
+ 'reams',
+ 'reamy',
+ 'reans',
+ 'reaps',
+ 'rears',
+ 'reast',
+ 'reata',
+ 'reate',
+ 'reave',
+ 'rebbe',
+ 'rebec',
+ 'rebid',
+ 'rebit',
+ 'rebop',
+ 'rebuy',
+ 'recal',
+ 'recce',
+ 'recco',
+ 'reccy',
+ 'recit',
+ 'recks',
+ 'recon',
+ 'recta',
+ 'recti',
+ 'recto',
+ 'redan',
+ 'redds',
+ 'reddy',
+ 'reded',
+ 'redes',
+ 'redia',
+ 'redid',
+ 'redip',
+ 'redly',
+ 'redon',
+ 'redos',
+ 'redox',
+ 'redry',
+ 'redub',
+ 'redux',
+ 'redye',
+ 'reech',
+ 'reede',
+ 'reeds',
+ 'reefs',
+ 'reefy',
+ 'reeks',
+ 'reeky',
+ 'reels',
+ 'reens',
+ 'reest',
+ 'reeve',
+ 'refed',
+ 'refel',
+ 'reffo',
+ 'refis',
+ 'refix',
+ 'refly',
+ 'refry',
+ 'regar',
+ 'reges',
+ 'reggo',
+ 'regie',
+ 'regma',
+ 'regna',
+ 'regos',
+ 'regur',
+ 'rehem',
+ 'reifs',
+ 'reify',
+ 'reiki',
+ 'reiks',
+ 'reink',
+ 'reins',
+ 'reird',
+ 'reist',
+ 'reive',
+ 'rejig',
+ 'rejon',
+ 'reked',
+ 'rekes',
+ 'rekey',
+ 'relet',
+ 'relie',
+ 'relit',
+ 'rello',
+ 'reman',
+ 'remap',
+ 'remen',
+ 'remet',
+ 'remex',
+ 'remix',
+ 'renay',
+ 'rends',
+ 'reney',
+ 'renga',
+ 'renig',
+ 'renin',
+ 'renne',
+ 'renos',
+ 'rente',
+ 'rents',
+ 'reoil',
+ 'reorg',
+ 'repeg',
+ 'repin',
+ 'repla',
+ 'repos',
+ 'repot',
+ 'repps',
+ 'repro',
+ 'reran',
+ 'rerig',
+ 'resat',
+ 'resaw',
+ 'resay',
+ 'resee',
+ 'reses',
+ 'resew',
+ 'resid',
+ 'resit',
+ 'resod',
+ 'resow',
+ 'resto',
+ 'rests',
+ 'resty',
+ 'resus',
+ 'retag',
+ 'retax',
+ 'retem',
+ 'retia',
+ 'retie',
+ 'retox',
+ 'revet',
+ 'revie',
+ 'rewan',
+ 'rewax',
+ 'rewed',
+ 'rewet',
+ 'rewin',
+ 'rewon',
+ 'rewth',
+ 'rexes',
+ 'rezes',
+ 'rheas',
+ 'rheme',
+ 'rheum',
+ 'rhies',
+ 'rhime',
+ 'rhine',
+ 'rhody',
+ 'rhomb',
+ 'rhone',
+ 'rhumb',
+ 'rhyne',
+ 'rhyta',
+ 'riads',
+ 'rials',
+ 'riant',
+ 'riata',
+ 'ribas',
+ 'ribby',
+ 'ribes',
+ 'riced',
+ 'ricer',
+ 'rices',
+ 'ricey',
+ 'richt',
+ 'ricin',
+ 'ricks',
+ 'rides',
+ 'ridgy',
+ 'ridic',
+ 'riels',
+ 'riems',
+ 'rieve',
+ 'rifer',
+ 'riffs',
+ 'rifte',
+ 'rifts',
+ 'rifty',
+ 'riggs',
+ 'rigol',
+ 'riled',
+ 'riles',
+ 'riley',
+ 'rille',
+ 'rills',
+ 'rimae',
+ 'rimed',
+ 'rimer',
+ 'rimes',
+ 'rimus',
+ 'rinds',
+ 'rindy',
+ 'rines',
+ 'rings',
+ 'rinks',
+ 'rioja',
+ 'riots',
+ 'riped',
+ 'ripes',
+ 'ripps',
+ 'rises',
+ 'rishi',
+ 'risks',
+ 'risps',
+ 'risus',
+ 'rites',
+ 'ritts',
+ 'ritzy',
+ 'rivas',
+ 'rived',
+ 'rivel',
+ 'riven',
+ 'rives',
+ 'riyal',
+ 'rizas',
+ 'roads',
+ 'roams',
+ 'roans',
+ 'roars',
+ 'roary',
+ 'roate',
+ 'robed',
+ 'robes',
+ 'roble',
+ 'rocks',
+ 'roded',
+ 'rodes',
+ 'roguy',
+ 'rohes',
+ 'roids',
+ 'roils',
+ 'roily',
+ 'roins',
+ 'roist',
+ 'rojak',
+ 'rojis',
+ 'roked',
+ 'roker',
+ 'rokes',
+ 'rolag',
+ 'roles',
+ 'rolfs',
+ 'rolls',
+ 'romal',
+ 'roman',
+ 'romeo',
+ 'romps',
+ 'ronde',
+ 'rondo',
+ 'roneo',
+ 'rones',
+ 'ronin',
+ 'ronne',
+ 'ronte',
+ 'ronts',
+ 'roods',
+ 'roofs',
+ 'roofy',
+ 'rooks',
+ 'rooky',
+ 'rooms',
+ 'roons',
+ 'roops',
+ 'roopy',
+ 'roosa',
+ 'roose',
+ 'roots',
+ 'rooty',
+ 'roped',
+ 'roper',
+ 'ropes',
+ 'ropey',
+ 'roque',
+ 'roral',
+ 'rores',
+ 'roric',
+ 'rorid',
+ 'rorie',
+ 'rorts',
+ 'rorty',
+ 'rosed',
+ 'roses',
+ 'roset',
+ 'roshi',
+ 'rosin',
+ 'rosit',
+ 'rosti',
+ 'rosts',
+ 'rotal',
+ 'rotan',
+ 'rotas',
+ 'rotch',
+ 'roted',
+ 'rotes',
+ 'rotis',
+ 'rotls',
+ 'roton',
+ 'rotos',
+ 'rotte',
+ 'rouen',
+ 'roues',
+ 'roule',
+ 'rouls',
+ 'roums',
+ 'roups',
+ 'roupy',
+ 'roust',
+ 'routh',
+ 'routs',
+ 'roved',
+ 'roven',
+ 'roves',
+ 'rowan',
+ 'rowed',
+ 'rowel',
+ 'rowen',
+ 'rowie',
+ 'rowme',
+ 'rownd',
+ 'rowth',
+ 'rowts',
+ 'royne',
+ 'royst',
+ 'rozet',
+ 'rozit',
+ 'ruana',
+ 'rubai',
+ 'rubby',
+ 'rubel',
+ 'rubes',
+ 'rubin',
+ 'ruble',
+ 'rubli',
+ 'rubus',
+ 'ruche',
+ 'rucks',
+ 'rudas',
+ 'rudds',
+ 'rudes',
+ 'rudie',
+ 'rudis',
+ 'rueda',
+ 'ruers',
+ 'ruffe',
+ 'ruffs',
+ 'rugae',
+ 'rugal',
+ 'ruggy',
+ 'ruing',
+ 'ruins',
+ 'rukhs',
+ 'ruled',
+ 'rules',
+ 'rumal',
+ 'rumbo',
+ 'rumen',
+ 'rumes',
+ 'rumly',
+ 'rummy',
+ 'rumpo',
+ 'rumps',
+ 'rumpy',
+ 'runch',
+ 'runds',
+ 'runed',
+ 'runes',
+ 'rungs',
+ 'runic',
+ 'runny',
+ 'runts',
+ 'runty',
+ 'rupia',
+ 'rurps',
+ 'rurus',
+ 'rusas',
+ 'ruses',
+ 'rushy',
+ 'rusks',
+ 'rusma',
+ 'russe',
+ 'rusts',
+ 'ruths',
+ 'rutin',
+ 'rutty',
+ 'ryals',
+ 'rybat',
+ 'ryked',
+ 'rykes',
+ 'rymme',
+ 'rynds',
+ 'ryots',
+ 'ryper',
+ 'saags',
+ 'sabal',
+ 'sabed',
+ 'saber',
+ 'sabes',
+ 'sabha',
+ 'sabin',
+ 'sabir',
+ 'sable',
+ 'sabot',
+ 'sabra',
+ 'sabre',
+ 'sacks',
+ 'sacra',
+ 'saddo',
+ 'sades',
+ 'sadhe',
+ 'sadhu',
+ 'sadis',
+ 'sados',
+ 'sadza',
+ 'safed',
+ 'safes',
+ 'sagas',
+ 'sager',
+ 'sages',
+ 'saggy',
+ 'sagos',
+ 'sagum',
+ 'saheb',
+ 'sahib',
+ 'saice',
+ 'saick',
+ 'saics',
+ 'saids',
+ 'saiga',
+ 'sails',
+ 'saims',
+ 'saine',
+ 'sains',
+ 'sairs',
+ 'saist',
+ 'saith',
+ 'sajou',
+ 'sakai',
+ 'saker',
+ 'sakes',
+ 'sakia',
+ 'sakis',
+ 'sakti',
+ 'salal',
+ 'salat',
+ 'salep',
+ 'sales',
+ 'salet',
+ 'salic',
+ 'salix',
+ 'salle',
+ 'salmi',
+ 'salol',
+ 'salop',
+ 'salpa',
+ 'salps',
+ 'salse',
+ 'salto',
+ 'salts',
+ 'salue',
+ 'salut',
+ 'saman',
+ 'samas',
+ 'samba',
+ 'sambo',
+ 'samek',
+ 'samel',
+ 'samen',
+ 'sames',
+ 'samey',
+ 'samfu',
+ 'sammy',
+ 'sampi',
+ 'samps',
+ 'sands',
+ 'saned',
+ 'sanes',
+ 'sanga',
+ 'sangh',
+ 'sango',
+ 'sangs',
+ 'sanko',
+ 'sansa',
+ 'santo',
+ 'sants',
+ 'saola',
+ 'sapan',
+ 'sapid',
+ 'sapor',
+ 'saran',
+ 'sards',
+ 'sared',
+ 'saree',
+ 'sarge',
+ 'sargo',
+ 'sarin',
+ 'saris',
+ 'sarks',
+ 'sarky',
+ 'sarod',
+ 'saros',
+ 'sarus',
+ 'saser',
+ 'sasin',
+ 'sasse',
+ 'satai',
+ 'satay',
+ 'sated',
+ 'satem',
+ 'sates',
+ 'satis',
+ 'sauba',
+ 'sauch',
+ 'saugh',
+ 'sauls',
+ 'sault',
+ 'saunt',
+ 'saury',
+ 'sauts',
+ 'saved',
+ 'saver',
+ 'saves',
+ 'savey',
+ 'savin',
+ 'sawah',
+ 'sawed',
+ 'sawer',
+ 'saxes',
+ 'sayed',
+ 'sayer',
+ 'sayid',
+ 'sayne',
+ 'sayon',
+ 'sayst',
+ 'sazes',
+ 'scabs',
+ 'scads',
+ 'scaff',
+ 'scags',
+ 'scail',
+ 'scala',
+ 'scall',
+ 'scams',
+ 'scand',
+ 'scans',
+ 'scapa',
+ 'scape',
+ 'scapi',
+ 'scarp',
+ 'scars',
+ 'scart',
+ 'scath',
+ 'scats',
+ 'scatt',
+ 'scaud',
+ 'scaup',
+ 'scaur',
+ 'scaws',
+ 'sceat',
+ 'scena',
+ 'scend',
+ 'schav',
+ 'schmo',
+ 'schul',
+ 'schwa',
+ 'sclim',
+ 'scody',
+ 'scogs',
+ 'scoog',
+ 'scoot',
+ 'scopa',
+ 'scops',
+ 'scots',
+ 'scoug',
+ 'scoup',
+ 'scowp',
+ 'scows',
+ 'scrab',
+ 'scrae',
+ 'scrag',
+ 'scran',
+ 'scrat',
+ 'scraw',
+ 'scray',
+ 'scrim',
+ 'scrip',
+ 'scrob',
+ 'scrod',
+ 'scrog',
+ 'scrow',
+ 'scudi',
+ 'scudo',
+ 'scuds',
+ 'scuff',
+ 'scuft',
+ 'scugs',
+ 'sculk',
+ 'scull',
+ 'sculp',
+ 'sculs',
+ 'scums',
+ 'scups',
+ 'scurf',
+ 'scurs',
+ 'scuse',
+ 'scuta',
+ 'scute',
+ 'scuts',
+ 'scuzz',
+ 'scyes',
+ 'sdayn',
+ 'sdein',
+ 'seals',
+ 'seame',
+ 'seams',
+ 'seamy',
+ 'seans',
+ 'seare',
+ 'sears',
+ 'sease',
+ 'seats',
+ 'seaze',
+ 'sebum',
+ 'secco',
+ 'sechs',
+ 'sects',
+ 'seder',
+ 'sedes',
+ 'sedge',
+ 'sedgy',
+ 'sedum',
+ 'seeds',
+ 'seeks',
+ 'seeld',
+ 'seels',
+ 'seely',
+ 'seems',
+ 'seeps',
+ 'seepy',
+ 'seers',
+ 'sefer',
+ 'segar',
+ 'segni',
+ 'segno',
+ 'segol',
+ 'segos',
+ 'sehri',
+ 'seifs',
+ 'seils',
+ 'seine',
+ 'seirs',
+ 'seise',
+ 'seism',
+ 'seity',
+ 'seiza',
+ 'sekos',
+ 'sekts',
+ 'selah',
+ 'seles',
+ 'selfs',
+ 'sella',
+ 'selle',
+ 'sells',
+ 'selva',
+ 'semee',
+ 'semes',
+ 'semie',
+ 'semis',
+ 'senas',
+ 'sends',
+ 'senes',
+ 'sengi',
+ 'senna',
+ 'senor',
+ 'sensa',
+ 'sensi',
+ 'sente',
+ 'senti',
+ 'sents',
+ 'senvy',
+ 'senza',
+ 'sepad',
+ 'sepal',
+ 'sepic',
+ 'sepoy',
+ 'septa',
+ 'septs',
+ 'serac',
+ 'serai',
+ 'seral',
+ 'sered',
+ 'serer',
+ 'seres',
+ 'serfs',
+ 'serge',
+ 'seric',
+ 'serin',
+ 'serks',
+ 'seron',
+ 'serow',
+ 'serra',
+ 'serre',
+ 'serrs',
+ 'serry',
+ 'servo',
+ 'sesey',
+ 'sessa',
+ 'setae',
+ 'setal',
+ 'seton',
+ 'setts',
+ 'sewan',
+ 'sewar',
+ 'sewed',
+ 'sewel',
+ 'sewen',
+ 'sewin',
+ 'sexed',
+ 'sexer',
+ 'sexes',
+ 'sexto',
+ 'sexts',
+ 'seyen',
+ 'shads',
+ 'shags',
+ 'shahs',
+ 'shako',
+ 'shakt',
+ 'shalm',
+ 'shaly',
+ 'shama',
+ 'shams',
+ 'shand',
+ 'shans',
+ 'shaps',
+ 'sharn',
+ 'shash',
+ 'shaul',
+ 'shawm',
+ 'shawn',
+ 'shaws',
+ 'shaya',
+ 'shays',
+ 'shchi',
+ 'sheaf',
+ 'sheal',
+ 'sheas',
+ 'sheds',
+ 'sheel',
+ 'shend',
+ 'shent',
+ 'sheol',
+ 'sherd',
+ 'shere',
+ 'shero',
+ 'shets',
+ 'sheva',
+ 'shewn',
+ 'shews',
+ 'shiai',
+ 'shiel',
+ 'shier',
+ 'shies',
+ 'shill',
+ 'shily',
+ 'shims',
+ 'shins',
+ 'ships',
+ 'shirr',
+ 'shirs',
+ 'shish',
+ 'shiso',
+ 'shist',
+ 'shite',
+ 'shits',
+ 'shiur',
+ 'shiva',
+ 'shive',
+ 'shivs',
+ 'shlep',
+ 'shlub',
+ 'shmek',
+ 'shmoe',
+ 'shoat',
+ 'shoed',
+ 'shoer',
+ 'shoes',
+ 'shogi',
+ 'shogs',
+ 'shoji',
+ 'shojo',
+ 'shola',
+ 'shool',
+ 'shoon',
+ 'shoos',
+ 'shope',
+ 'shops',
+ 'shorl',
+ 'shote',
+ 'shots',
+ 'shott',
+ 'showd',
+ 'shows',
+ 'shoyu',
+ 'shred',
+ 'shris',
+ 'shrow',
+ 'shtik',
+ 'shtum',
+ 'shtup',
+ 'shule',
+ 'shuln',
+ 'shuls',
+ 'shuns',
+ 'shura',
+ 'shute',
+ 'shuts',
+ 'shwas',
+ 'shyer',
+ 'sials',
+ 'sibbs',
+ 'sibyl',
+ 'sices',
+ 'sicht',
+ 'sicko',
+ 'sicks',
+ 'sicky',
+ 'sidas',
+ 'sided',
+ 'sider',
+ 'sides',
+ 'sidha',
+ 'sidhe',
+ 'sidle',
+ 'sield',
+ 'siens',
+ 'sient',
+ 'sieth',
+ 'sieur',
+ 'sifts',
+ 'sighs',
+ 'sigil',
+ 'sigla',
+ 'signa',
+ 'signs',
+ 'sijos',
+ 'sikas',
+ 'siker',
+ 'sikes',
+ 'silds',
+ 'siled',
+ 'silen',
+ 'siler',
+ 'siles',
+ 'silex',
+ 'silks',
+ 'sills',
+ 'silos',
+ 'silts',
+ 'silty',
+ 'silva',
+ 'simar',
+ 'simas',
+ 'simba',
+ 'simis',
+ 'simps',
+ 'simul',
+ 'sinds',
+ 'sined',
+ 'sines',
+ 'sings',
+ 'sinhs',
+ 'sinks',
+ 'sinky',
+ 'sinus',
+ 'siped',
+ 'sipes',
+ 'sippy',
+ 'sired',
+ 'siree',
+ 'sires',
+ 'sirih',
+ 'siris',
+ 'siroc',
+ 'sirra',
+ 'sirup',
+ 'sisal',
+ 'sises',
+ 'sista',
+ 'sists',
+ 'sitar',
+ 'sited',
+ 'sites',
+ 'sithe',
+ 'sitka',
+ 'situp',
+ 'situs',
+ 'siver',
+ 'sixer',
+ 'sixes',
+ 'sixmo',
+ 'sixte',
+ 'sizar',
+ 'sized',
+ 'sizel',
+ 'sizer',
+ 'sizes',
+ 'skags',
+ 'skail',
+ 'skald',
+ 'skank',
+ 'skart',
+ 'skats',
+ 'skatt',
+ 'skaws',
+ 'skean',
+ 'skear',
+ 'skeds',
+ 'skeed',
+ 'skeef',
+ 'skeen',
+ 'skeer',
+ 'skees',
+ 'skeet',
+ 'skegg',
+ 'skegs',
+ 'skein',
+ 'skelf',
+ 'skell',
+ 'skelm',
+ 'skelp',
+ 'skene',
+ 'skens',
+ 'skeos',
+ 'skeps',
+ 'skers',
+ 'skets',
+ 'skews',
+ 'skids',
+ 'skied',
+ 'skies',
+ 'skiey',
+ 'skimo',
+ 'skims',
+ 'skink',
+ 'skins',
+ 'skint',
+ 'skios',
+ 'skips',
+ 'skirl',
+ 'skirr',
+ 'skite',
+ 'skits',
+ 'skive',
+ 'skivy',
+ 'sklim',
+ 'skoal',
+ 'skody',
+ 'skoff',
+ 'skogs',
+ 'skols',
+ 'skool',
+ 'skort',
+ 'skosh',
+ 'skran',
+ 'skrik',
+ 'skuas',
+ 'skugs',
+ 'skyed',
+ 'skyer',
+ 'skyey',
+ 'skyfs',
+ 'skyre',
+ 'skyrs',
+ 'skyte',
+ 'slabs',
+ 'slade',
+ 'slaes',
+ 'slags',
+ 'slaid',
+ 'slake',
+ 'slams',
+ 'slane',
+ 'slank',
+ 'slaps',
+ 'slart',
+ 'slats',
+ 'slaty',
+ 'slaws',
+ 'slays',
+ 'slebs',
+ 'sleds',
+ 'sleer',
+ 'slews',
+ 'sleys',
+ 'slier',
+ 'slily',
+ 'slims',
+ 'slipe',
+ 'slips',
+ 'slipt',
+ 'slish',
+ 'slits',
+ 'slive',
+ 'sloan',
+ 'slobs',
+ 'sloes',
+ 'slogs',
+ 'sloid',
+ 'slojd',
+ 'slomo',
+ 'sloom',
+ 'sloot',
+ 'slops',
+ 'slopy',
+ 'slorm',
+ 'slots',
+ 'slove',
+ 'slows',
+ 'sloyd',
+ 'slubb',
+ 'slubs',
+ 'slued',
+ 'slues',
+ 'sluff',
+ 'slugs',
+ 'sluit',
+ 'slums',
+ 'slurb',
+ 'slurs',
+ 'sluse',
+ 'sluts',
+ 'slyer',
+ 'slype',
+ 'smaak',
+ 'smaik',
+ 'smalm',
+ 'smalt',
+ 'smarm',
+ 'smaze',
+ 'smeek',
+ 'smees',
+ 'smeik',
+ 'smeke',
+ 'smerk',
+ 'smews',
+ 'smirr',
+ 'smirs',
+ 'smits',
+ 'smogs',
+ 'smoko',
+ 'smolt',
+ 'smoor',
+ 'smoot',
+ 'smore',
+ 'smorg',
+ 'smout',
+ 'smowt',
+ 'smugs',
+ 'smurs',
+ 'smush',
+ 'smuts',
+ 'snabs',
+ 'snafu',
+ 'snags',
+ 'snaps',
+ 'snarf',
+ 'snark',
+ 'snars',
+ 'snary',
+ 'snash',
+ 'snath',
+ 'snaws',
+ 'snead',
+ 'sneap',
+ 'snebs',
+ 'sneck',
+ 'sneds',
+ 'sneed',
+ 'snees',
+ 'snell',
+ 'snibs',
+ 'snick',
+ 'snies',
+ 'snift',
+ 'snigs',
+ 'snips',
+ 'snipy',
+ 'snirt',
+ 'snits',
+ 'snobs',
+ 'snods',
+ 'snoek',
+ 'snoep',
+ 'snogs',
+ 'snoke',
+ 'snood',
+ 'snook',
+ 'snool',
+ 'snoot',
+ 'snots',
+ 'snowk',
+ 'snows',
+ 'snubs',
+ 'snugs',
+ 'snush',
+ 'snyes',
+ 'soaks',
+ 'soaps',
+ 'soare',
+ 'soars',
+ 'soave',
+ 'sobas',
+ 'socas',
+ 'soces',
+ 'socko',
+ 'socks',
+ 'socle',
+ 'sodas',
+ 'soddy',
+ 'sodic',
+ 'sodom',
+ 'sofar',
+ 'sofas',
+ 'softa',
+ 'softs',
+ 'softy',
+ 'soger',
+ 'sohur',
+ 'soils',
+ 'soily',
+ 'sojas',
+ 'sojus',
+ 'sokah',
+ 'soken',
+ 'sokes',
+ 'sokol',
+ 'solah',
+ 'solan',
+ 'solas',
+ 'solde',
+ 'soldi',
+ 'soldo',
+ 'solds',
+ 'soled',
+ 'solei',
+ 'soler',
+ 'soles',
+ 'solon',
+ 'solos',
+ 'solum',
+ 'solus',
+ 'soman',
+ 'somas',
+ 'sonce',
+ 'sonde',
+ 'sones',
+ 'songs',
+ 'sonly',
+ 'sonne',
+ 'sonny',
+ 'sonse',
+ 'sonsy',
+ 'sooey',
+ 'sooks',
+ 'sooky',
+ 'soole',
+ 'sools',
+ 'sooms',
+ 'soops',
+ 'soote',
+ 'soots',
+ 'sophs',
+ 'sophy',
+ 'sopor',
+ 'soppy',
+ 'sopra',
+ 'soral',
+ 'soras',
+ 'sorbo',
+ 'sorbs',
+ 'sorda',
+ 'sordo',
+ 'sords',
+ 'sored',
+ 'soree',
+ 'sorel',
+ 'sorer',
+ 'sores',
+ 'sorex',
+ 'sorgo',
+ 'sorns',
+ 'sorra',
+ 'sorta',
+ 'sorts',
+ 'sorus',
+ 'soths',
+ 'sotol',
+ 'souce',
+ 'souct',
+ 'sough',
+ 'souks',
+ 'souls',
+ 'soums',
+ 'soups',
+ 'soupy',
+ 'sours',
+ 'souse',
+ 'souts',
+ 'sowar',
+ 'sowce',
+ 'sowed',
+ 'sowff',
+ 'sowfs',
+ 'sowle',
+ 'sowls',
+ 'sowms',
+ 'sownd',
+ 'sowne',
+ 'sowps',
+ 'sowse',
+ 'sowth',
+ 'soyas',
+ 'soyle',
+ 'soyuz',
+ 'sozin',
+ 'spacy',
+ 'spado',
+ 'spaed',
+ 'spaer',
+ 'spaes',
+ 'spags',
+ 'spahi',
+ 'spail',
+ 'spain',
+ 'spait',
+ 'spake',
+ 'spald',
+ 'spale',
+ 'spall',
+ 'spalt',
+ 'spams',
+ 'spane',
+ 'spang',
+ 'spans',
+ 'spard',
+ 'spars',
+ 'spart',
+ 'spate',
+ 'spats',
+ 'spaul',
+ 'spawl',
+ 'spaws',
+ 'spayd',
+ 'spays',
+ 'spaza',
+ 'spazz',
+ 'speal',
+ 'spean',
+ 'speat',
+ 'specs',
+ 'spect',
+ 'speel',
+ 'speer',
+ 'speil',
+ 'speir',
+ 'speks',
+ 'speld',
+ 'spelk',
+ 'speos',
+ 'spets',
+ 'speug',
+ 'spews',
+ 'spewy',
+ 'spial',
+ 'spica',
+ 'spick',
+ 'spics',
+ 'spide',
+ 'spier',
+ 'spies',
+ 'spiff',
+ 'spifs',
+ 'spiks',
+ 'spile',
+ 'spims',
+ 'spina',
+ 'spink',
+ 'spins',
+ 'spirt',
+ 'spiry',
+ 'spits',
+ 'spitz',
+ 'spivs',
+ 'splay',
+ 'splog',
+ 'spode',
+ 'spods',
+ 'spoom',
+ 'spoor',
+ 'spoot',
+ 'spork',
+ 'sposh',
+ 'spots',
+ 'sprad',
+ 'sprag',
+ 'sprat',
+ 'spred',
+ 'sprew',
+ 'sprit',
+ 'sprod',
+ 'sprog',
+ 'sprue',
+ 'sprug',
+ 'spuds',
+ 'spued',
+ 'spuer',
+ 'spues',
+ 'spugs',
+ 'spule',
+ 'spume',
+ 'spumy',
+ 'spurs',
+ 'sputa',
+ 'spyal',
+ 'spyre',
+ 'squab',
+ 'squaw',
+ 'squeg',
+ 'squid',
+ 'squit',
+ 'squiz',
+ 'stabs',
+ 'stade',
+ 'stags',
+ 'stagy',
+ 'staig',
+ 'stane',
+ 'stang',
+ 'staph',
+ 'staps',
+ 'starn',
+ 'starr',
+ 'stars',
+ 'stats',
+ 'staun',
+ 'staws',
+ 'stays',
+ 'stean',
+ 'stear',
+ 'stedd',
+ 'stede',
+ 'steds',
+ 'steek',
+ 'steem',
+ 'steen',
+ 'steil',
+ 'stela',
+ 'stele',
+ 'stell',
+ 'steme',
+ 'stems',
+ 'stend',
+ 'steno',
+ 'stens',
+ 'stent',
+ 'steps',
+ 'stept',
+ 'stere',
+ 'stets',
+ 'stews',
+ 'stewy',
+ 'steys',
+ 'stich',
+ 'stied',
+ 'sties',
+ 'stilb',
+ 'stile',
+ 'stime',
+ 'stims',
+ 'stimy',
+ 'stipa',
+ 'stipe',
+ 'stire',
+ 'stirk',
+ 'stirp',
+ 'stirs',
+ 'stive',
+ 'stivy',
+ 'stoae',
+ 'stoai',
+ 'stoas',
+ 'stoat',
+ 'stobs',
+ 'stoep',
+ 'stogy',
+ 'stoit',
+ 'stoln',
+ 'stoma',
+ 'stond',
+ 'stong',
+ 'stonk',
+ 'stonn',
+ 'stook',
+ 'stoor',
+ 'stope',
+ 'stops',
+ 'stopt',
+ 'stoss',
+ 'stots',
+ 'stott',
+ 'stoun',
+ 'stoup',
+ 'stour',
+ 'stown',
+ 'stowp',
+ 'stows',
+ 'strad',
+ 'strae',
+ 'strag',
+ 'strak',
+ 'strep',
+ 'strew',
+ 'stria',
+ 'strig',
+ 'strim',
+ 'strop',
+ 'strow',
+ 'stroy',
+ 'strum',
+ 'stubs',
+ 'stude',
+ 'studs',
+ 'stull',
+ 'stulm',
+ 'stumm',
+ 'stums',
+ 'stuns',
+ 'stupa',
+ 'stupe',
+ 'sture',
+ 'sturt',
+ 'styed',
+ 'styes',
+ 'styli',
+ 'stylo',
+ 'styme',
+ 'stymy',
+ 'styre',
+ 'styte',
+ 'subah',
+ 'subas',
+ 'subby',
+ 'suber',
+ 'subha',
+ 'succi',
+ 'sucks',
+ 'sucky',
+ 'sucre',
+ 'sudds',
+ 'sudor',
+ 'sudsy',
+ 'suede',
+ 'suent',
+ 'suers',
+ 'suete',
+ 'suets',
+ 'suety',
+ 'sugan',
+ 'sughs',
+ 'sugos',
+ 'suhur',
+ 'suids',
+ 'suint',
+ 'suits',
+ 'sujee',
+ 'sukhs',
+ 'sukuk',
+ 'sulci',
+ 'sulfa',
+ 'sulfo',
+ 'sulks',
+ 'sulph',
+ 'sulus',
+ 'sumis',
+ 'summa',
+ 'sumos',
+ 'sumph',
+ 'sumps',
+ 'sunis',
+ 'sunks',
+ 'sunna',
+ 'sunns',
+ 'sunup',
+ 'supes',
+ 'supra',
+ 'surah',
+ 'sural',
+ 'suras',
+ 'surat',
+ 'surds',
+ 'sured',
+ 'sures',
+ 'surfs',
+ 'surfy',
+ 'surgy',
+ 'surra',
+ 'sused',
+ 'suses',
+ 'susus',
+ 'sutor',
+ 'sutra',
+ 'sutta',
+ 'swabs',
+ 'swack',
+ 'swads',
+ 'swage',
+ 'swags',
+ 'swail',
+ 'swain',
+ 'swale',
+ 'swaly',
+ 'swamy',
+ 'swang',
+ 'swank',
+ 'swans',
+ 'swaps',
+ 'swapt',
+ 'sward',
+ 'sware',
+ 'swarf',
+ 'swart',
+ 'swats',
+ 'swayl',
+ 'sways',
+ 'sweal',
+ 'swede',
+ 'sweed',
+ 'sweel',
+ 'sweer',
+ 'swees',
+ 'sweir',
+ 'swelt',
+ 'swerf',
+ 'sweys',
+ 'swies',
+ 'swigs',
+ 'swile',
+ 'swims',
+ 'swink',
+ 'swipe',
+ 'swire',
+ 'swiss',
+ 'swith',
+ 'swits',
+ 'swive',
+ 'swizz',
+ 'swobs',
+ 'swole',
+ 'swoln',
+ 'swops',
+ 'swopt',
+ 'swots',
+ 'swoun',
+ 'sybbe',
+ 'sybil',
+ 'syboe',
+ 'sybow',
+ 'sycee',
+ 'syces',
+ 'sycon',
+ 'syens',
+ 'syker',
+ 'sykes',
+ 'sylis',
+ 'sylph',
+ 'sylva',
+ 'symar',
+ 'synch',
+ 'syncs',
+ 'synds',
+ 'syned',
+ 'synes',
+ 'synth',
+ 'syped',
+ 'sypes',
+ 'syphs',
+ 'syrah',
+ 'syren',
+ 'sysop',
+ 'sythe',
+ 'syver',
+ 'taals',
+ 'taata',
+ 'taber',
+ 'tabes',
+ 'tabid',
+ 'tabis',
+ 'tabla',
+ 'tabor',
+ 'tabun',
+ 'tabus',
+ 'tacan',
+ 'taces',
+ 'tacet',
+ 'tache',
+ 'tacho',
+ 'tachs',
+ 'tacks',
+ 'tacos',
+ 'tacts',
+ 'taels',
+ 'tafia',
+ 'taggy',
+ 'tagma',
+ 'tahas',
+ 'tahrs',
+ 'taiga',
+ 'taigs',
+ 'taiko',
+ 'tails',
+ 'tains',
+ 'taira',
+ 'taish',
+ 'taits',
+ 'tajes',
+ 'takas',
+ 'takes',
+ 'takhi',
+ 'takin',
+ 'takis',
+ 'takky',
+ 'talak',
+ 'talaq',
+ 'talar',
+ 'talas',
+ 'talcs',
+ 'talcy',
+ 'talea',
+ 'taler',
+ 'tales',
+ 'talks',
+ 'talky',
+ 'talls',
+ 'talma',
+ 'talpa',
+ 'taluk',
+ 'talus',
+ 'tamal',
+ 'tamed',
+ 'tames',
+ 'tamin',
+ 'tamis',
+ 'tammy',
+ 'tamps',
+ 'tanas',
+ 'tanga',
+ 'tangi',
+ 'tangs',
+ 'tanhs',
+ 'tanka',
+ 'tanks',
+ 'tanky',
+ 'tanna',
+ 'tansy',
+ 'tanti',
+ 'tanto',
+ 'tanty',
+ 'tapas',
+ 'taped',
+ 'tapen',
+ 'tapes',
+ 'tapet',
+ 'tapis',
+ 'tappa',
+ 'tapus',
+ 'taras',
+ 'tardo',
+ 'tared',
+ 'tares',
+ 'targa',
+ 'targe',
+ 'tarns',
+ 'taroc',
+ 'tarok',
+ 'taros',
+ 'tarps',
+ 'tarre',
+ 'tarry',
+ 'tarsi',
+ 'tarts',
+ 'tarty',
+ 'tasar',
+ 'tased',
+ 'taser',
+ 'tases',
+ 'tasks',
+ 'tassa',
+ 'tasse',
+ 'tasso',
+ 'tatar',
+ 'tater',
+ 'tates',
+ 'taths',
+ 'tatie',
+ 'tatou',
+ 'tatts',
+ 'tatus',
+ 'taube',
+ 'tauld',
+ 'tauon',
+ 'taupe',
+ 'tauts',
+ 'tavah',
+ 'tavas',
+ 'taver',
+ 'tawai',
+ 'tawas',
+ 'tawed',
+ 'tawer',
+ 'tawie',
+ 'tawse',
+ 'tawts',
+ 'taxed',
+ 'taxer',
+ 'taxes',
+ 'taxis',
+ 'taxol',
+ 'taxon',
+ 'taxor',
+ 'taxus',
+ 'tayra',
+ 'tazza',
+ 'tazze',
+ 'teade',
+ 'teads',
+ 'teaed',
+ 'teaks',
+ 'teals',
+ 'teams',
+ 'tears',
+ 'teats',
+ 'teaze',
+ 'techs',
+ 'techy',
+ 'tecta',
+ 'teels',
+ 'teems',
+ 'teend',
+ 'teene',
+ 'teens',
+ 'teeny',
+ 'teers',
+ 'teffs',
+ 'teggs',
+ 'tegua',
+ 'tegus',
+ 'tehrs',
+ 'teiid',
+ 'teils',
+ 'teind',
+ 'teins',
+ 'telae',
+ 'telco',
+ 'teles',
+ 'telex',
+ 'telia',
+ 'telic',
+ 'tells',
+ 'telly',
+ 'teloi',
+ 'telos',
+ 'temed',
+ 'temes',
+ 'tempi',
+ 'temps',
+ 'tempt',
+ 'temse',
+ 'tench',
+ 'tends',
+ 'tendu',
+ 'tenes',
+ 'tenge',
+ 'tenia',
+ 'tenne',
+ 'tenno',
+ 'tenny',
+ 'tenon',
+ 'tents',
+ 'tenty',
+ 'tenue',
+ 'tepal',
+ 'tepas',
+ 'tepoy',
+ 'terai',
+ 'teras',
+ 'terce',
+ 'terek',
+ 'teres',
+ 'terfe',
+ 'terfs',
+ 'terga',
+ 'terms',
+ 'terne',
+ 'terns',
+ 'terry',
+ 'terts',
+ 'tesla',
+ 'testa',
+ 'teste',
+ 'tests',
+ 'tetes',
+ 'teths',
+ 'tetra',
+ 'tetri',
+ 'teuch',
+ 'teugh',
+ 'tewed',
+ 'tewel',
+ 'tewit',
+ 'texas',
+ 'texes',
+ 'texts',
+ 'thack',
+ 'thagi',
+ 'thaim',
+ 'thale',
+ 'thali',
+ 'thana',
+ 'thane',
+ 'thang',
+ 'thans',
+ 'thanx',
+ 'tharm',
+ 'thars',
+ 'thaws',
+ 'thawy',
+ 'thebe',
+ 'theca',
+ 'theed',
+ 'theek',
+ 'thees',
+ 'thegn',
+ 'theic',
+ 'thein',
+ 'thelf',
+ 'thema',
+ 'thens',
+ 'theow',
+ 'therm',
+ 'thesp',
+ 'thete',
+ 'thews',
+ 'thewy',
+ 'thigs',
+ 'thilk',
+ 'thill',
+ 'thine',
+ 'thins',
+ 'thiol',
+ 'thirl',
+ 'thoft',
+ 'thole',
+ 'tholi',
+ 'thoro',
+ 'thorp',
+ 'thous',
+ 'thowl',
+ 'thrae',
+ 'thraw',
+ 'thrid',
+ 'thrip',
+ 'throe',
+ 'thuds',
+ 'thugs',
+ 'thuja',
+ 'thunk',
+ 'thurl',
+ 'thuya',
+ 'thymi',
+ 'thymy',
+ 'tians',
+ 'tiars',
+ 'tical',
+ 'ticca',
+ 'ticed',
+ 'tices',
+ 'tichy',
+ 'ticks',
+ 'ticky',
+ 'tiddy',
+ 'tided',
+ 'tides',
+ 'tiers',
+ 'tiffs',
+ 'tifos',
+ 'tifts',
+ 'tiges',
+ 'tigon',
+ 'tikas',
+ 'tikes',
+ 'tikis',
+ 'tikka',
+ 'tilak',
+ 'tiled',
+ 'tiler',
+ 'tiles',
+ 'tills',
+ 'tilly',
+ 'tilth',
+ 'tilts',
+ 'timbo',
+ 'timed',
+ 'times',
+ 'timon',
+ 'timps',
+ 'tinas',
+ 'tinct',
+ 'tinds',
+ 'tinea',
+ 'tined',
+ 'tines',
+ 'tinge',
+ 'tings',
+ 'tinks',
+ 'tinny',
+ 'tints',
+ 'tinty',
+ 'tipis',
+ 'tippy',
+ 'tired',
+ 'tires',
+ 'tirls',
+ 'tiros',
+ 'tirrs',
+ 'titch',
+ 'titer',
+ 'titis',
+ 'titre',
+ 'titty',
+ 'titup',
+ 'tiyin',
+ 'tiyns',
+ 'tizes',
+ 'tizzy',
+ 'toads',
+ 'toady',
+ 'toaze',
+ 'tocks',
+ 'tocky',
+ 'tocos',
+ 'todde',
+ 'toeas',
+ 'toffs',
+ 'toffy',
+ 'tofts',
+ 'tofus',
+ 'togae',
+ 'togas',
+ 'toged',
+ 'toges',
+ 'togue',
+ 'tohos',
+ 'toile',
+ 'toils',
+ 'toing',
+ 'toise',
+ 'toits',
+ 'tokay',
+ 'toked',
+ 'toker',
+ 'tokes',
+ 'tokos',
+ 'tolan',
+ 'tolar',
+ 'tolas',
+ 'toled',
+ 'toles',
+ 'tolls',
+ 'tolly',
+ 'tolts',
+ 'tolus',
+ 'tolyl',
+ 'toman',
+ 'tombs',
+ 'tomes',
+ 'tomia',
+ 'tommy',
+ 'tomos',
+ 'tondi',
+ 'tondo',
+ 'toned',
+ 'toner',
+ 'tones',
+ 'toney',
+ 'tongs',
+ 'tonka',
+ 'tonks',
+ 'tonne',
+ 'tonus',
+ 'tools',
+ 'tooms',
+ 'toons',
+ 'toots',
+ 'toped',
+ 'topee',
+ 'topek',
+ 'toper',
+ 'topes',
+ 'tophe',
+ 'tophi',
+ 'tophs',
+ 'topis',
+ 'topoi',
+ 'topos',
+ 'toppy',
+ 'toque',
+ 'torah',
+ 'toran',
+ 'toras',
+ 'torcs',
+ 'tores',
+ 'toric',
+ 'torii',
+ 'toros',
+ 'torot',
+ 'torrs',
+ 'torse',
+ 'torsi',
+ 'torsk',
+ 'torta',
+ 'torte',
+ 'torts',
+ 'tosas',
+ 'tosed',
+ 'toses',
+ 'toshy',
+ 'tossy',
+ 'toted',
+ 'toter',
+ 'totes',
+ 'totty',
+ 'touks',
+ 'touns',
+ 'tours',
+ 'touse',
+ 'tousy',
+ 'touts',
+ 'touze',
+ 'touzy',
+ 'towed',
+ 'towie',
+ 'towns',
+ 'towny',
+ 'towse',
+ 'towsy',
+ 'towts',
+ 'towze',
+ 'towzy',
+ 'toyed',
+ 'toyer',
+ 'toyon',
+ 'toyos',
+ 'tozed',
+ 'tozes',
+ 'tozie',
+ 'trabs',
+ 'trads',
+ 'tragi',
+ 'traik',
+ 'trams',
+ 'trank',
+ 'tranq',
+ 'trans',
+ 'trant',
+ 'trape',
+ 'traps',
+ 'trapt',
+ 'trass',
+ 'trats',
+ 'tratt',
+ 'trave',
+ 'trayf',
+ 'trays',
+ 'treck',
+ 'treed',
+ 'treen',
+ 'trees',
+ 'trefa',
+ 'treif',
+ 'treks',
+ 'trema',
+ 'trems',
+ 'tress',
+ 'trest',
+ 'trets',
+ 'trews',
+ 'treyf',
+ 'treys',
+ 'triac',
+ 'tride',
+ 'trier',
+ 'tries',
+ 'triff',
+ 'trigo',
+ 'trigs',
+ 'trike',
+ 'trild',
+ 'trill',
+ 'trims',
+ 'trine',
+ 'trins',
+ 'triol',
+ 'trior',
+ 'trios',
+ 'trips',
+ 'tripy',
+ 'trist',
+ 'troad',
+ 'troak',
+ 'troat',
+ 'trock',
+ 'trode',
+ 'trods',
+ 'trogs',
+ 'trois',
+ 'troke',
+ 'tromp',
+ 'trona',
+ 'tronc',
+ 'trone',
+ 'tronk',
+ 'trons',
+ 'trooz',
+ 'troth',
+ 'trots',
+ 'trows',
+ 'troys',
+ 'trued',
+ 'trues',
+ 'trugo',
+ 'trugs',
+ 'trull',
+ 'tryer',
+ 'tryke',
+ 'tryma',
+ 'tryps',
+ 'tsade',
+ 'tsadi',
+ 'tsars',
+ 'tsked',
+ 'tsuba',
+ 'tsubo',
+ 'tuans',
+ 'tuart',
+ 'tuath',
+ 'tubae',
+ 'tubar',
+ 'tubas',
+ 'tubby',
+ 'tubed',
+ 'tubes',
+ 'tucks',
+ 'tufas',
+ 'tuffe',
+ 'tuffs',
+ 'tufts',
+ 'tufty',
+ 'tugra',
+ 'tuile',
+ 'tuina',
+ 'tuism',
+ 'tuktu',
+ 'tules',
+ 'tulpa',
+ 'tulsi',
+ 'tumid',
+ 'tummy',
+ 'tumps',
+ 'tumpy',
+ 'tunas',
+ 'tunds',
+ 'tuned',
+ 'tuner',
+ 'tunes',
+ 'tungs',
+ 'tunny',
+ 'tupek',
+ 'tupik',
+ 'tuple',
+ 'tuque',
+ 'turds',
+ 'turfs',
+ 'turfy',
+ 'turks',
+ 'turme',
+ 'turms',
+ 'turns',
+ 'turnt',
+ 'turps',
+ 'turrs',
+ 'tushy',
+ 'tusks',
+ 'tusky',
+ 'tutee',
+ 'tutti',
+ 'tutty',
+ 'tutus',
+ 'tuxes',
+ 'tuyer',
+ 'twaes',
+ 'twain',
+ 'twals',
+ 'twank',
+ 'twats',
+ 'tways',
+ 'tweel',
+ 'tween',
+ 'tweep',
+ 'tweer',
+ 'twerk',
+ 'twerp',
+ 'twier',
+ 'twigs',
+ 'twill',
+ 'twilt',
+ 'twink',
+ 'twins',
+ 'twiny',
+ 'twire',
+ 'twirp',
+ 'twite',
+ 'twits',
+ 'twoer',
+ 'twyer',
+ 'tyees',
+ 'tyers',
+ 'tyiyn',
+ 'tykes',
+ 'tyler',
+ 'tymps',
+ 'tynde',
+ 'tyned',
+ 'tynes',
+ 'typal',
+ 'typed',
+ 'types',
+ 'typey',
+ 'typic',
+ 'typos',
+ 'typps',
+ 'typto',
+ 'tyran',
+ 'tyred',
+ 'tyres',
+ 'tyros',
+ 'tythe',
+ 'tzars',
+ 'udals',
+ 'udons',
+ 'ugali',
+ 'ugged',
+ 'uhlan',
+ 'uhuru',
+ 'ukase',
+ 'ulama',
+ 'ulans',
+ 'ulema',
+ 'ulmin',
+ 'ulnad',
+ 'ulnae',
+ 'ulnar',
+ 'ulnas',
+ 'ulpan',
+ 'ulvas',
+ 'ulyie',
+ 'ulzie',
+ 'umami',
+ 'umbel',
+ 'umber',
+ 'umble',
+ 'umbos',
+ 'umbre',
+ 'umiac',
+ 'umiak',
+ 'umiaq',
+ 'ummah',
+ 'ummas',
+ 'ummed',
+ 'umped',
+ 'umphs',
+ 'umpie',
+ 'umpty',
+ 'umrah',
+ 'umras',
+ 'unais',
+ 'unapt',
+ 'unarm',
+ 'unary',
+ 'unaus',
+ 'unbag',
+ 'unban',
+ 'unbar',
+ 'unbed',
+ 'unbid',
+ 'unbox',
+ 'uncap',
+ 'unces',
+ 'uncia',
+ 'uncos',
+ 'uncoy',
+ 'uncus',
+ 'undam',
+ 'undee',
+ 'undos',
+ 'undug',
+ 'uneth',
+ 'unfix',
+ 'ungag',
+ 'unget',
+ 'ungod',
+ 'ungot',
+ 'ungum',
+ 'unhat',
+ 'unhip',
+ 'unica',
+ 'units',
+ 'unjam',
+ 'unked',
+ 'unket',
+ 'unkid',
+ 'unlaw',
+ 'unlay',
+ 'unled',
+ 'unlet',
+ 'unlid',
+ 'unman',
+ 'unmew',
+ 'unmix',
+ 'unpay',
+ 'unpeg',
+ 'unpen',
+ 'unpin',
+ 'unred',
+ 'unrid',
+ 'unrig',
+ 'unrip',
+ 'unsaw',
+ 'unsay',
+ 'unsee',
+ 'unsew',
+ 'unsex',
+ 'unsod',
+ 'untax',
+ 'untin',
+ 'unwet',
+ 'unwit',
+ 'unwon',
+ 'upbow',
+ 'upbye',
+ 'updos',
+ 'updry',
+ 'upend',
+ 'upjet',
+ 'uplay',
+ 'upled',
+ 'uplit',
+ 'upped',
+ 'upran',
+ 'uprun',
+ 'upsee',
+ 'upsey',
+ 'uptak',
+ 'upter',
+ 'uptie',
+ 'uraei',
+ 'urali',
+ 'uraos',
+ 'urare',
+ 'urari',
+ 'urase',
+ 'urate',
+ 'urbex',
+ 'urbia',
+ 'urdee',
+ 'ureal',
+ 'ureas',
+ 'uredo',
+ 'ureic',
+ 'urena',
+ 'urent',
+ 'urged',
+ 'urger',
+ 'urges',
+ 'urial',
+ 'urite',
+ 'urman',
+ 'urnal',
+ 'urned',
+ 'urped',
+ 'ursae',
+ 'ursid',
+ 'urson',
+ 'urubu',
+ 'urvas',
+ 'users',
+ 'usnea',
+ 'usque',
+ 'usure',
+ 'usury',
+ 'uteri',
+ 'uveal',
+ 'uveas',
+ 'uvula',
+ 'vacua',
+ 'vaded',
+ 'vades',
+ 'vagal',
+ 'vagus',
+ 'vails',
+ 'vaire',
+ 'vairs',
+ 'vairy',
+ 'vakas',
+ 'vakil',
+ 'vales',
+ 'valis',
+ 'valse',
+ 'vamps',
+ 'vampy',
+ 'vanda',
+ 'vaned',
+ 'vanes',
+ 'vangs',
+ 'vants',
+ 'vaped',
+ 'vaper',
+ 'vapes',
+ 'varan',
+ 'varas',
+ 'vardy',
+ 'varec',
+ 'vares',
+ 'varia',
+ 'varix',
+ 'varna',
+ 'varus',
+ 'varve',
+ 'vasal',
+ 'vases',
+ 'vasts',
+ 'vasty',
+ 'vatic',
+ 'vatus',
+ 'vauch',
+ 'vaute',
+ 'vauts',
+ 'vawte',
+ 'vaxes',
+ 'veale',
+ 'veals',
+ 'vealy',
+ 'veena',
+ 'veeps',
+ 'veers',
+ 'veery',
+ 'vegas',
+ 'veges',
+ 'vegie',
+ 'vegos',
+ 'vehme',
+ 'veils',
+ 'veily',
+ 'veins',
+ 'veiny',
+ 'velar',
+ 'velds',
+ 'veldt',
+ 'veles',
+ 'vells',
+ 'velum',
+ 'venae',
+ 'venal',
+ 'vends',
+ 'vendu',
+ 'veney',
+ 'venge',
+ 'venin',
+ 'vents',
+ 'venus',
+ 'verbs',
+ 'verra',
+ 'verry',
+ 'verst',
+ 'verts',
+ 'vertu',
+ 'vespa',
+ 'vesta',
+ 'vests',
+ 'vetch',
+ 'vexed',
+ 'vexer',
+ 'vexes',
+ 'vexil',
+ 'vezir',
+ 'vials',
+ 'viand',
+ 'vibes',
+ 'vibex',
+ 'vibey',
+ 'viced',
+ 'vices',
+ 'vichy',
+ 'viers',
+ 'views',
+ 'viewy',
+ 'vifda',
+ 'viffs',
+ 'vigas',
+ 'vigia',
+ 'vilde',
+ 'viler',
+ 'villi',
+ 'vills',
+ 'vimen',
+ 'vinal',
+ 'vinas',
+ 'vinca',
+ 'vined',
+ 'viner',
+ 'vines',
+ 'vinew',
+ 'vinic',
+ 'vinos',
+ 'vints',
+ 'viold',
+ 'viols',
+ 'vired',
+ 'vireo',
+ 'vires',
+ 'virga',
+ 'virge',
+ 'virid',
+ 'virls',
+ 'virtu',
+ 'visas',
+ 'vised',
+ 'vises',
+ 'visie',
+ 'visne',
+ 'vison',
+ 'visto',
+ 'vitae',
+ 'vitas',
+ 'vitex',
+ 'vitro',
+ 'vitta',
+ 'vivas',
+ 'vivat',
+ 'vivda',
+ 'viver',
+ 'vives',
+ 'vizir',
+ 'vizor',
+ 'vleis',
+ 'vlies',
+ 'vlogs',
+ 'voars',
+ 'vocab',
+ 'voces',
+ 'voddy',
+ 'vodou',
+ 'vodun',
+ 'voema',
+ 'vogie',
+ 'voids',
+ 'voile',
+ 'voips',
+ 'volae',
+ 'volar',
+ 'voled',
+ 'voles',
+ 'volet',
+ 'volks',
+ 'volta',
+ 'volte',
+ 'volti',
+ 'volts',
+ 'volva',
+ 'volve',
+ 'vomer',
+ 'voted',
+ 'votes',
+ 'vouge',
+ 'voulu',
+ 'vowed',
+ 'vower',
+ 'voxel',
+ 'vozhd',
+ 'vraic',
+ 'vrils',
+ 'vroom',
+ 'vrous',
+ 'vrouw',
+ 'vrows',
+ 'vuggs',
+ 'vuggy',
+ 'vughs',
+ 'vughy',
+ 'vulgo',
+ 'vulns',
+ 'vulva',
+ 'vutty',
+ 'waacs',
+ 'wacke',
+ 'wacko',
+ 'wacks',
+ 'wadds',
+ 'waddy',
+ 'waded',
+ 'wader',
+ 'wades',
+ 'wadge',
+ 'wadis',
+ 'wadts',
+ 'waffs',
+ 'wafts',
+ 'waged',
+ 'wages',
+ 'wagga',
+ 'wagyu',
+ 'wahoo',
+ 'waide',
+ 'waifs',
+ 'waift',
+ 'wails',
+ 'wains',
+ 'wairs',
+ 'waite',
+ 'waits',
+ 'wakas',
+ 'waked',
+ 'waken',
+ 'waker',
+ 'wakes',
+ 'wakfs',
+ 'waldo',
+ 'walds',
+ 'waled',
+ 'waler',
+ 'wales',
+ 'walie',
+ 'walis',
+ 'walks',
+ 'walla',
+ 'walls',
+ 'wally',
+ 'walty',
+ 'wamed',
+ 'wames',
+ 'wamus',
+ 'wands',
+ 'waned',
+ 'wanes',
+ 'waney',
+ 'wangs',
+ 'wanks',
+ 'wanky',
+ 'wanle',
+ 'wanly',
+ 'wanna',
+ 'wants',
+ 'wanty',
+ 'wanze',
+ 'waqfs',
+ 'warbs',
+ 'warby',
+ 'wards',
+ 'wared',
+ 'wares',
+ 'warez',
+ 'warks',
+ 'warms',
+ 'warns',
+ 'warps',
+ 'warre',
+ 'warst',
+ 'warts',
+ 'wases',
+ 'washy',
+ 'wasms',
+ 'wasps',
+ 'waspy',
+ 'wasts',
+ 'watap',
+ 'watts',
+ 'wauff',
+ 'waugh',
+ 'wauks',
+ 'waulk',
+ 'wauls',
+ 'waurs',
+ 'waved',
+ 'waves',
+ 'wavey',
+ 'wawas',
+ 'wawes',
+ 'wawls',
+ 'waxed',
+ 'waxer',
+ 'waxes',
+ 'wayed',
+ 'wazir',
+ 'wazoo',
+ 'weald',
+ 'weals',
+ 'weamb',
+ 'weans',
+ 'wears',
+ 'webby',
+ 'weber',
+ 'wecht',
+ 'wedel',
+ 'wedgy',
+ 'weeds',
+ 'weeke',
+ 'weeks',
+ 'weels',
+ 'weems',
+ 'weens',
+ 'weeny',
+ 'weeps',
+ 'weepy',
+ 'weest',
+ 'weete',
+ 'weets',
+ 'wefte',
+ 'wefts',
+ 'weids',
+ 'weils',
+ 'weirs',
+ 'weise',
+ 'weize',
+ 'wekas',
+ 'welds',
+ 'welke',
+ 'welks',
+ 'welkt',
+ 'wells',
+ 'welly',
+ 'welts',
+ 'wembs',
+ 'wends',
+ 'wenge',
+ 'wenny',
+ 'wents',
+ 'weros',
+ 'wersh',
+ 'wests',
+ 'wetas',
+ 'wetly',
+ 'wexed',
+ 'wexes',
+ 'whamo',
+ 'whams',
+ 'whang',
+ 'whaps',
+ 'whare',
+ 'whata',
+ 'whats',
+ 'whaup',
+ 'whaur',
+ 'wheal',
+ 'whear',
+ 'wheen',
+ 'wheep',
+ 'wheft',
+ 'whelk',
+ 'whelm',
+ 'whens',
+ 'whets',
+ 'whews',
+ 'wheys',
+ 'whids',
+ 'whift',
+ 'whigs',
+ 'whilk',
+ 'whims',
+ 'whins',
+ 'whios',
+ 'whips',
+ 'whipt',
+ 'whirr',
+ 'whirs',
+ 'whish',
+ 'whiss',
+ 'whist',
+ 'whits',
+ 'whity',
+ 'whizz',
+ 'whomp',
+ 'whoof',
+ 'whoot',
+ 'whops',
+ 'whore',
+ 'whorl',
+ 'whort',
+ 'whoso',
+ 'whows',
+ 'whump',
+ 'whups',
+ 'whyda',
+ 'wicca',
+ 'wicks',
+ 'wicky',
+ 'widdy',
+ 'wides',
+ 'wiels',
+ 'wifed',
+ 'wifes',
+ 'wifey',
+ 'wifie',
+ 'wifty',
+ 'wigan',
+ 'wigga',
+ 'wiggy',
+ 'wikis',
+ 'wilco',
+ 'wilds',
+ 'wiled',
+ 'wiles',
+ 'wilga',
+ 'wilis',
+ 'wilja',
+ 'wills',
+ 'wilts',
+ 'wimps',
+ 'winds',
+ 'wined',
+ 'wines',
+ 'winey',
+ 'winge',
+ 'wings',
+ 'wingy',
+ 'winks',
+ 'winna',
+ 'winns',
+ 'winos',
+ 'winze',
+ 'wiped',
+ 'wiper',
+ 'wipes',
+ 'wired',
+ 'wirer',
+ 'wires',
+ 'wirra',
+ 'wised',
+ 'wises',
+ 'wisha',
+ 'wisht',
+ 'wisps',
+ 'wists',
+ 'witan',
+ 'wited',
+ 'wites',
+ 'withe',
+ 'withs',
+ 'withy',
+ 'wived',
+ 'wiver',
+ 'wives',
+ 'wizen',
+ 'wizes',
+ 'woads',
+ 'woald',
+ 'wocks',
+ 'wodge',
+ 'woful',
+ 'wojus',
+ 'woker',
+ 'wokka',
+ 'wolds',
+ 'wolfs',
+ 'wolly',
+ 'wolve',
+ 'wombs',
+ 'womby',
+ 'womyn',
+ 'wonga',
+ 'wongi',
+ 'wonks',
+ 'wonky',
+ 'wonts',
+ 'woods',
+ 'wooed',
+ 'woofs',
+ 'woofy',
+ 'woold',
+ 'wools',
+ 'woons',
+ 'woops',
+ 'woopy',
+ 'woose',
+ 'woosh',
+ 'wootz',
+ 'words',
+ 'works',
+ 'worms',
+ 'wormy',
+ 'worts',
+ 'wowed',
+ 'wowee',
+ 'woxen',
+ 'wrang',
+ 'wraps',
+ 'wrapt',
+ 'wrast',
+ 'wrate',
+ 'wrawl',
+ 'wrens',
+ 'wrick',
+ 'wried',
+ 'wrier',
+ 'wries',
+ 'writs',
+ 'wroke',
+ 'wroot',
+ 'wroth',
+ 'wryer',
+ 'wuddy',
+ 'wudus',
+ 'wulls',
+ 'wurst',
+ 'wuses',
+ 'wushu',
+ 'wussy',
+ 'wuxia',
+ 'wyled',
+ 'wyles',
+ 'wynds',
+ 'wynns',
+ 'wyted',
+ 'wytes',
+ 'xebec',
+ 'xenia',
+ 'xenic',
+ 'xenon',
+ 'xeric',
+ 'xerox',
+ 'xerus',
+ 'xoana',
+ 'xrays',
+ 'xylan',
+ 'xylem',
+ 'xylic',
+ 'xylol',
+ 'xylyl',
+ 'xysti',
+ 'xysts',
+ 'yaars',
+ 'yabas',
+ 'yabba',
+ 'yabby',
+ 'yacca',
+ 'yacka',
+ 'yacks',
+ 'yaffs',
+ 'yager',
+ 'yages',
+ 'yagis',
+ 'yahoo',
+ 'yaird',
+ 'yakka',
+ 'yakow',
+ 'yales',
+ 'yamen',
+ 'yampy',
+ 'yamun',
+ 'yangs',
+ 'yanks',
+ 'yapok',
+ 'yapon',
+ 'yapps',
+ 'yappy',
+ 'yarak',
+ 'yarco',
+ 'yards',
+ 'yarer',
+ 'yarfa',
+ 'yarks',
+ 'yarns',
+ 'yarrs',
+ 'yarta',
+ 'yarto',
+ 'yates',
+ 'yauds',
+ 'yauld',
+ 'yaups',
+ 'yawed',
+ 'yawey',
+ 'yawls',
+ 'yawns',
+ 'yawny',
+ 'yawps',
+ 'ybore',
+ 'yclad',
+ 'ycled',
+ 'ycond',
+ 'ydrad',
+ 'ydred',
+ 'yeads',
+ 'yeahs',
+ 'yealm',
+ 'yeans',
+ 'yeard',
+ 'years',
+ 'yecch',
+ 'yechs',
+ 'yechy',
+ 'yedes',
+ 'yeeds',
+ 'yeesh',
+ 'yeggs',
+ 'yelks',
+ 'yells',
+ 'yelms',
+ 'yelps',
+ 'yelts',
+ 'yenta',
+ 'yente',
+ 'yerba',
+ 'yerds',
+ 'yerks',
+ 'yeses',
+ 'yesks',
+ 'yests',
+ 'yesty',
+ 'yetis',
+ 'yetts',
+ 'yeuks',
+ 'yeuky',
+ 'yeven',
+ 'yeves',
+ 'yewen',
+ 'yexed',
+ 'yexes',
+ 'yfere',
+ 'yiked',
+ 'yikes',
+ 'yills',
+ 'yince',
+ 'yipes',
+ 'yippy',
+ 'yirds',
+ 'yirks',
+ 'yirrs',
+ 'yirth',
+ 'yites',
+ 'yitie',
+ 'ylems',
+ 'ylike',
+ 'ylkes',
+ 'ymolt',
+ 'ympes',
+ 'yobbo',
+ 'yobby',
+ 'yocks',
+ 'yodel',
+ 'yodhs',
+ 'yodle',
+ 'yogas',
+ 'yogee',
+ 'yoghs',
+ 'yogic',
+ 'yogin',
+ 'yogis',
+ 'yoick',
+ 'yojan',
+ 'yoked',
+ 'yokel',
+ 'yoker',
+ 'yokes',
+ 'yokul',
+ 'yolks',
+ 'yolky',
+ 'yomim',
+ 'yomps',
+ 'yonic',
+ 'yonis',
+ 'yonks',
+ 'yoofs',
+ 'yoops',
+ 'yores',
+ 'yorks',
+ 'yorps',
+ 'youks',
+ 'yourn',
+ 'yours',
+ 'yourt',
+ 'youse',
+ 'yowed',
+ 'yowes',
+ 'yowie',
+ 'yowls',
+ 'yowza',
+ 'yrapt',
+ 'yrent',
+ 'yrivd',
+ 'yrneh',
+ 'ysame',
+ 'ytost',
+ 'yuans',
+ 'yucas',
+ 'yucca',
+ 'yucch',
+ 'yucko',
+ 'yucks',
+ 'yucky',
+ 'yufts',
+ 'yugas',
+ 'yuked',
+ 'yukes',
+ 'yukky',
+ 'yukos',
+ 'yulan',
+ 'yules',
+ 'yummo',
+ 'yummy',
+ 'yumps',
+ 'yupon',
+ 'yuppy',
+ 'yurta',
+ 'yurts',
+ 'yuzus',
+ 'zabra',
+ 'zacks',
+ 'zaida',
+ 'zaidy',
+ 'zaire',
+ 'zakat',
+ 'zaman',
+ 'zambo',
+ 'zamia',
+ 'zanja',
+ 'zante',
+ 'zanza',
+ 'zanze',
+ 'zappy',
+ 'zarfs',
+ 'zaris',
+ 'zatis',
+ 'zaxes',
+ 'zayin',
+ 'zazen',
+ 'zeals',
+ 'zebec',
+ 'zebub',
+ 'zebus',
+ 'zedas',
+ 'zeins',
+ 'zendo',
+ 'zerda',
+ 'zerks',
+ 'zeros',
+ 'zests',
+ 'zetas',
+ 'zexes',
+ 'zezes',
+ 'zhomo',
+ 'zibet',
+ 'ziffs',
+ 'zigan',
+ 'zilas',
+ 'zilch',
+ 'zilla',
+ 'zills',
+ 'zimbi',
+ 'zimbs',
+ 'zinco',
+ 'zincs',
+ 'zincy',
+ 'zineb',
+ 'zines',
+ 'zings',
+ 'zingy',
+ 'zinke',
+ 'zinky',
+ 'zippo',
+ 'zippy',
+ 'ziram',
+ 'zitis',
+ 'zizel',
+ 'zizit',
+ 'zlote',
+ 'zloty',
+ 'zoaea',
+ 'zobos',
+ 'zobus',
+ 'zocco',
+ 'zoeae',
+ 'zoeal',
+ 'zoeas',
+ 'zoism',
+ 'zoist',
+ 'zombi',
+ 'zonae',
+ 'zonda',
+ 'zoned',
+ 'zoner',
+ 'zones',
+ 'zonks',
+ 'zooea',
+ 'zooey',
+ 'zooid',
+ 'zooks',
+ 'zooms',
+ 'zoons',
+ 'zooty',
+ 'zoppa',
+ 'zoppo',
+ 'zoril',
+ 'zoris',
+ 'zorro',
+ 'zouks',
+ 'zowee',
+ 'zowie',
+ 'zulus',
+ 'zupan',
+ 'zupas',
+ 'zuppa',
+ 'zurfs',
+ 'zuzim',
+ 'zygal',
+ 'zygon',
+ 'zymes',
+ 'zymic'
+]);
diff --git a/js/svelte/spa-ssr/static/favicon.png b/js/svelte/spa-ssr/static/favicon.png
new file mode 100644
index 0000000..825b9e6
Binary files /dev/null and b/js/svelte/spa-ssr/static/favicon.png differ
diff --git a/js/svelte/spa-ssr/static/robots.txt b/js/svelte/spa-ssr/static/robots.txt
new file mode 100644
index 0000000..e9e57dc
--- /dev/null
+++ b/js/svelte/spa-ssr/static/robots.txt
@@ -0,0 +1,3 @@
+# https://www.robotstxt.org/robotstxt.html
+User-agent: *
+Disallow:
diff --git a/js/svelte/spa-ssr/svelte.config.js b/js/svelte/spa-ssr/svelte.config.js
new file mode 100644
index 0000000..37d06a3
--- /dev/null
+++ b/js/svelte/spa-ssr/svelte.config.js
@@ -0,0 +1,13 @@
+import adapter from '@sveltejs/adapter-node';
+
+/** @type {import('@sveltejs/kit').Config} */
+const config = {
+ kit: {
+ // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
+ // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
+ // See https://kit.svelte.dev/docs/adapters for more information about adapters.
+ adapter: adapter()
+ }
+};
+
+export default config;
diff --git a/js/svelte/spa-ssr/vite.config.js b/js/svelte/spa-ssr/vite.config.js
new file mode 100644
index 0000000..bbf8c7d
--- /dev/null
+++ b/js/svelte/spa-ssr/vite.config.js
@@ -0,0 +1,6 @@
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+
+export default defineConfig({
+ plugins: [sveltekit()]
+});